@tamagui/static 1.0.1-beta.69 → 1.0.1-beta.70

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/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@tamagui/static",
3
- "version": "1.0.1-beta.69",
3
+ "version": "1.0.1-beta.70",
4
4
  "source": "src/index.ts",
5
5
  "types": "./types/index.d.ts",
6
6
  "main": "dist/cjs",
7
7
  "module": "dist/esm",
8
8
  "module:jsx": "dist/jsx",
9
9
  "files": [
10
+ "patches",
10
11
  "src",
11
12
  "types",
12
13
  "dist"
@@ -37,11 +38,11 @@
37
38
  "@babel/parser": "^7.15.7",
38
39
  "@babel/traverse": "^7.15.4",
39
40
  "@expo/match-media": "^0.3.0",
40
- "@tamagui/build": "^1.0.1-beta.69",
41
- "@tamagui/core-node": "^1.0.1-beta.69",
42
- "@tamagui/fake-react-native": "^1.0.1-beta.69",
43
- "@tamagui/helpers": "^1.0.1-beta.69",
44
- "@tamagui/proxy-worm": "^1.0.1-beta.69",
41
+ "@tamagui/build": "^1.0.1-beta.70",
42
+ "@tamagui/core-node": "^1.0.1-beta.70",
43
+ "@tamagui/fake-react-native": "^1.0.1-beta.70",
44
+ "@tamagui/helpers": "^1.0.1-beta.70",
45
+ "@tamagui/proxy-worm": "^1.0.1-beta.70",
45
46
  "babel-literal-to-ast": "^2.1.0",
46
47
  "esbuild": "^0.14.36",
47
48
  "esbuild-register": "^3.3.2",
@@ -49,13 +50,13 @@
49
50
  "fs-extra": "^9.1.0",
50
51
  "invariant": "^2.2.4",
51
52
  "lodash": "^4.17.21",
52
- "tamagui": "^1.0.1-beta.69"
53
+ "tamagui": "^1.0.1-beta.70"
53
54
  },
54
55
  "devDependencies": {
55
56
  "@babel/plugin-syntax-typescript": "^7.14.5",
56
57
  "@babel/types": "^7.15.6",
57
58
  "@dish/babel-preset": "^0.0.6",
58
- "@tamagui/config-base": "^1.0.1-beta.69",
59
+ "@tamagui/config-base": "^1.0.1-beta.70",
59
60
  "@testing-library/jest-dom": "^5.16.4",
60
61
  "@testing-library/react": "^13.3.0",
61
62
  "@types/jest": "*",
@@ -0,0 +1,385 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _AccessibilityUtil = _interopRequireDefault(require("../AccessibilityUtil"));
7
+
8
+ var _StyleSheet2 = _interopRequireDefault(require("../../exports/StyleSheet"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
13
+
14
+ var emptyObject = {};
15
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
16
+ var isArray = Array.isArray;
17
+ var uppercasePattern = /[A-Z]/g;
18
+
19
+ function toHyphenLower(match) {
20
+ return '-' + match.toLowerCase();
21
+ }
22
+
23
+ function hyphenateString(str) {
24
+ return str.replace(uppercasePattern, toHyphenLower);
25
+ }
26
+
27
+ function processIDRefList(idRefList) {
28
+ return isArray(idRefList) ? idRefList.join(' ') : idRefList;
29
+ }
30
+
31
+ var pointerEventsStyles = _StyleSheet2.default.create({
32
+ auto: {
33
+ pointerEvents: 'auto'
34
+ },
35
+ 'box-none': {
36
+ pointerEvents: 'box-none'
37
+ },
38
+ 'box-only': {
39
+ pointerEvents: 'box-only'
40
+ },
41
+ none: {
42
+ pointerEvents: 'none'
43
+ }
44
+ });
45
+
46
+ var createDOMProps = function createDOMProps(elementType, props, options) {
47
+ if (!props) {
48
+ props = emptyObject;
49
+ }
50
+
51
+ var _props = props,
52
+ accessibilityActiveDescendant = _props.accessibilityActiveDescendant,
53
+ accessibilityAtomic = _props.accessibilityAtomic,
54
+ accessibilityAutoComplete = _props.accessibilityAutoComplete,
55
+ accessibilityBusy = _props.accessibilityBusy,
56
+ accessibilityChecked = _props.accessibilityChecked,
57
+ accessibilityColumnCount = _props.accessibilityColumnCount,
58
+ accessibilityColumnIndex = _props.accessibilityColumnIndex,
59
+ accessibilityColumnSpan = _props.accessibilityColumnSpan,
60
+ accessibilityControls = _props.accessibilityControls,
61
+ accessibilityCurrent = _props.accessibilityCurrent,
62
+ accessibilityDescribedBy = _props.accessibilityDescribedBy,
63
+ accessibilityDetails = _props.accessibilityDetails,
64
+ accessibilityDisabled = _props.accessibilityDisabled,
65
+ accessibilityErrorMessage = _props.accessibilityErrorMessage,
66
+ accessibilityExpanded = _props.accessibilityExpanded,
67
+ accessibilityFlowTo = _props.accessibilityFlowTo,
68
+ accessibilityHasPopup = _props.accessibilityHasPopup,
69
+ accessibilityHidden = _props.accessibilityHidden,
70
+ accessibilityInvalid = _props.accessibilityInvalid,
71
+ accessibilityKeyShortcuts = _props.accessibilityKeyShortcuts,
72
+ accessibilityLabel = _props.accessibilityLabel,
73
+ accessibilityLabelledBy = _props.accessibilityLabelledBy,
74
+ accessibilityLevel = _props.accessibilityLevel,
75
+ accessibilityLiveRegion = _props.accessibilityLiveRegion,
76
+ accessibilityModal = _props.accessibilityModal,
77
+ accessibilityMultiline = _props.accessibilityMultiline,
78
+ accessibilityMultiSelectable = _props.accessibilityMultiSelectable,
79
+ accessibilityOrientation = _props.accessibilityOrientation,
80
+ accessibilityOwns = _props.accessibilityOwns,
81
+ accessibilityPlaceholder = _props.accessibilityPlaceholder,
82
+ accessibilityPosInSet = _props.accessibilityPosInSet,
83
+ accessibilityPressed = _props.accessibilityPressed,
84
+ accessibilityReadOnly = _props.accessibilityReadOnly,
85
+ accessibilityRequired = _props.accessibilityRequired,
86
+ accessibilityRole = _props.accessibilityRole,
87
+ accessibilityRoleDescription = _props.accessibilityRoleDescription,
88
+ accessibilityRowCount = _props.accessibilityRowCount,
89
+ accessibilityRowIndex = _props.accessibilityRowIndex,
90
+ accessibilityRowSpan = _props.accessibilityRowSpan,
91
+ accessibilitySelected = _props.accessibilitySelected,
92
+ accessibilitySetSize = _props.accessibilitySetSize,
93
+ accessibilitySort = _props.accessibilitySort,
94
+ accessibilityValueMax = _props.accessibilityValueMax,
95
+ accessibilityValueMin = _props.accessibilityValueMin,
96
+ accessibilityValueNow = _props.accessibilityValueNow,
97
+ accessibilityValueText = _props.accessibilityValueText,
98
+ dataSet = _props.dataSet,
99
+ focusable = _props.focusable,
100
+ nativeID = _props.nativeID,
101
+ pointerEvents = _props.pointerEvents,
102
+ style = _props.style,
103
+ testID = _props.testID,
104
+ domProps = _objectWithoutPropertiesLoose(_props, ["accessibilityActiveDescendant", "accessibilityAtomic", "accessibilityAutoComplete", "accessibilityBusy", "accessibilityChecked", "accessibilityColumnCount", "accessibilityColumnIndex", "accessibilityColumnSpan", "accessibilityControls", "accessibilityCurrent", "accessibilityDescribedBy", "accessibilityDetails", "accessibilityDisabled", "accessibilityErrorMessage", "accessibilityExpanded", "accessibilityFlowTo", "accessibilityHasPopup", "accessibilityHidden", "accessibilityInvalid", "accessibilityKeyShortcuts", "accessibilityLabel", "accessibilityLabelledBy", "accessibilityLevel", "accessibilityLiveRegion", "accessibilityModal", "accessibilityMultiline", "accessibilityMultiSelectable", "accessibilityOrientation", "accessibilityOwns", "accessibilityPlaceholder", "accessibilityPosInSet", "accessibilityPressed", "accessibilityReadOnly", "accessibilityRequired", "accessibilityRole", "accessibilityRoleDescription", "accessibilityRowCount", "accessibilityRowIndex", "accessibilityRowSpan", "accessibilitySelected", "accessibilitySetSize", "accessibilitySort", "accessibilityValueMax", "accessibilityValueMin", "accessibilityValueNow", "accessibilityValueText", "dataSet", "focusable", "nativeID", "pointerEvents", "style", "testID"]);
105
+
106
+ var disabled = accessibilityDisabled;
107
+
108
+ var role = _AccessibilityUtil.default.propsToAriaRole(props); // ACCESSIBILITY
109
+
110
+
111
+ if (accessibilityActiveDescendant != null) {
112
+ domProps['aria-activedescendant'] = accessibilityActiveDescendant;
113
+ }
114
+
115
+ if (accessibilityAtomic != null) {
116
+ domProps['aria-atomic'] = accessibilityAtomic;
117
+ }
118
+
119
+ if (accessibilityAutoComplete != null) {
120
+ domProps['aria-autocomplete'] = accessibilityAutoComplete;
121
+ }
122
+
123
+ if (accessibilityBusy != null) {
124
+ domProps['aria-busy'] = accessibilityBusy;
125
+ }
126
+
127
+ if (accessibilityChecked != null) {
128
+ domProps['aria-checked'] = accessibilityChecked;
129
+ }
130
+
131
+ if (accessibilityColumnCount != null) {
132
+ domProps['aria-colcount'] = accessibilityColumnCount;
133
+ }
134
+
135
+ if (accessibilityColumnIndex != null) {
136
+ domProps['aria-colindex'] = accessibilityColumnIndex;
137
+ }
138
+
139
+ if (accessibilityColumnSpan != null) {
140
+ domProps['aria-colspan'] = accessibilityColumnSpan;
141
+ }
142
+
143
+ if (accessibilityControls != null) {
144
+ domProps['aria-controls'] = processIDRefList(accessibilityControls);
145
+ }
146
+
147
+ if (accessibilityCurrent != null) {
148
+ domProps['aria-current'] = accessibilityCurrent;
149
+ }
150
+
151
+ if (accessibilityDescribedBy != null) {
152
+ domProps['aria-describedby'] = processIDRefList(accessibilityDescribedBy);
153
+ }
154
+
155
+ if (accessibilityDetails != null) {
156
+ domProps['aria-details'] = accessibilityDetails;
157
+ }
158
+
159
+ if (disabled === true) {
160
+ domProps['aria-disabled'] = true; // Enhance with native semantics
161
+
162
+ if (elementType === 'button' || elementType === 'form' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {
163
+ domProps.disabled = true;
164
+ }
165
+ }
166
+
167
+ if (accessibilityErrorMessage != null) {
168
+ domProps['aria-errormessage'] = accessibilityErrorMessage;
169
+ }
170
+
171
+ if (accessibilityExpanded != null) {
172
+ domProps['aria-expanded'] = accessibilityExpanded;
173
+ }
174
+
175
+ if (accessibilityFlowTo != null) {
176
+ domProps['aria-flowto'] = processIDRefList(accessibilityFlowTo);
177
+ }
178
+
179
+ if (accessibilityHasPopup != null) {
180
+ domProps['aria-haspopup'] = accessibilityHasPopup;
181
+ }
182
+
183
+ if (accessibilityHidden === true) {
184
+ domProps['aria-hidden'] = accessibilityHidden;
185
+ }
186
+
187
+ if (accessibilityInvalid != null) {
188
+ domProps['aria-invalid'] = accessibilityInvalid;
189
+ }
190
+
191
+ if (accessibilityKeyShortcuts != null && Array.isArray(accessibilityKeyShortcuts)) {
192
+ domProps['aria-keyshortcuts'] = accessibilityKeyShortcuts.join(' ');
193
+ }
194
+
195
+ if (accessibilityLabel != null) {
196
+ domProps['aria-label'] = accessibilityLabel;
197
+ }
198
+
199
+ if (accessibilityLabelledBy != null) {
200
+ domProps['aria-labelledby'] = processIDRefList(accessibilityLabelledBy);
201
+ }
202
+
203
+ if (accessibilityLevel != null) {
204
+ domProps['aria-level'] = accessibilityLevel;
205
+ }
206
+
207
+ if (accessibilityLiveRegion != null) {
208
+ domProps['aria-live'] = accessibilityLiveRegion === 'none' ? 'off' : accessibilityLiveRegion;
209
+ }
210
+
211
+ if (accessibilityModal != null) {
212
+ domProps['aria-modal'] = accessibilityModal;
213
+ }
214
+
215
+ if (accessibilityMultiline != null) {
216
+ domProps['aria-multiline'] = accessibilityMultiline;
217
+ }
218
+
219
+ if (accessibilityMultiSelectable != null) {
220
+ domProps['aria-multiselectable'] = accessibilityMultiSelectable;
221
+ }
222
+
223
+ if (accessibilityOrientation != null) {
224
+ domProps['aria-orientation'] = accessibilityOrientation;
225
+ }
226
+
227
+ if (accessibilityOwns != null) {
228
+ domProps['aria-owns'] = processIDRefList(accessibilityOwns);
229
+ }
230
+
231
+ if (accessibilityPlaceholder != null) {
232
+ domProps['aria-placeholder'] = accessibilityPlaceholder;
233
+ }
234
+
235
+ if (accessibilityPosInSet != null) {
236
+ domProps['aria-posinset'] = accessibilityPosInSet;
237
+ }
238
+
239
+ if (accessibilityPressed != null) {
240
+ domProps['aria-pressed'] = accessibilityPressed;
241
+ }
242
+
243
+ if (accessibilityReadOnly != null) {
244
+ domProps['aria-readonly'] = accessibilityReadOnly; // Enhance with native semantics
245
+
246
+ if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {
247
+ domProps.readOnly = true;
248
+ }
249
+ }
250
+
251
+ if (accessibilityRequired != null) {
252
+ domProps['aria-required'] = accessibilityRequired; // Enhance with native semantics
253
+
254
+ if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {
255
+ domProps.required = true;
256
+ }
257
+ }
258
+
259
+ if (role != null) {
260
+ // 'presentation' synonym has wider browser support
261
+ domProps['role'] = role === 'none' ? 'presentation' : role;
262
+ }
263
+
264
+ if (accessibilityRoleDescription != null) {
265
+ domProps['aria-roledescription'] = accessibilityRoleDescription;
266
+ }
267
+
268
+ if (accessibilityRowCount != null) {
269
+ domProps['aria-rowcount'] = accessibilityRowCount;
270
+ }
271
+
272
+ if (accessibilityRowIndex != null) {
273
+ domProps['aria-rowindex'] = accessibilityRowIndex;
274
+ }
275
+
276
+ if (accessibilityRowSpan != null) {
277
+ domProps['aria-rowspan'] = accessibilityRowSpan;
278
+ }
279
+
280
+ if (accessibilitySelected != null) {
281
+ domProps['aria-selected'] = accessibilitySelected;
282
+ }
283
+
284
+ if (accessibilitySetSize != null) {
285
+ domProps['aria-setsize'] = accessibilitySetSize;
286
+ }
287
+
288
+ if (accessibilitySort != null) {
289
+ domProps['aria-sort'] = accessibilitySort;
290
+ }
291
+
292
+ if (accessibilityValueMax != null) {
293
+ domProps['aria-valuemax'] = accessibilityValueMax;
294
+ }
295
+
296
+ if (accessibilityValueMin != null) {
297
+ domProps['aria-valuemin'] = accessibilityValueMin;
298
+ }
299
+
300
+ if (accessibilityValueNow != null) {
301
+ domProps['aria-valuenow'] = accessibilityValueNow;
302
+ }
303
+
304
+ if (accessibilityValueText != null) {
305
+ domProps['aria-valuetext'] = accessibilityValueText;
306
+ } // "dataSet" replaced with "data-*"
307
+
308
+
309
+ const tmgCN = dataSet ? dataSet.className : undefined
310
+ const tmgID = dataSet ? dataSet.id : undefined
311
+ if (dataSet != null) {
312
+ for (var dataProp in dataSet) {
313
+ if (dataProp === 'className' || dataProp === 'id') continue
314
+ if (hasOwnProperty.call(dataSet, dataProp)) {
315
+ var dataName = hyphenateString(dataProp);
316
+ var dataValue = dataSet[dataProp];
317
+
318
+ if (dataValue != null) {
319
+ domProps["data-" + dataName] = dataValue;
320
+ }
321
+ }
322
+ }
323
+ } // FOCUS
324
+ // "focusable" indicates that an element may be a keyboard tab-stop.
325
+
326
+
327
+ if (focusable === false) {
328
+ domProps.tabIndex = '-1';
329
+ }
330
+
331
+ if ( // These native elements are keyboard focusable by default
332
+ elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {
333
+ if (focusable === false || accessibilityDisabled === true) {
334
+ domProps.tabIndex = '-1';
335
+ }
336
+ } else if ( // These roles are made keyboard focusable by default
337
+ role === 'button' || role === 'checkbox' || role === 'link' || role === 'radio' || role === 'textbox' || role === 'switch') {
338
+ if (focusable !== false) {
339
+ domProps.tabIndex = '0';
340
+ }
341
+ } else {
342
+ // Everything else must explicitly set the prop
343
+ if (focusable === true) {
344
+ domProps.tabIndex = '0';
345
+ }
346
+ } // Resolve styles
347
+
348
+ var _StyleSheet = (0, _StyleSheet2.default)([style, pointerEvents && pointerEventsStyles[pointerEvents]], {
349
+ writingDirection: options ? options.writingDirection : 'ltr'
350
+ }),
351
+ className = _StyleSheet[0],
352
+ inlineStyle = _StyleSheet[1];
353
+
354
+ // elementType = null on setNativeProps and overrides our classname
355
+ if (elementType != null && className) {
356
+ domProps.className = className;
357
+ }
358
+
359
+ if (inlineStyle) {
360
+ domProps.style = inlineStyle;
361
+ }
362
+
363
+ if (tmgCN) {
364
+ domProps.className = tmgCN
365
+ }
366
+
367
+ // Native element ID
368
+
369
+ if (tmgID) {
370
+ domProps.id = tmgID
371
+ } else if (nativeID != null) {
372
+ domProps.id = nativeID;
373
+ } // Automated test IDs
374
+
375
+
376
+ if (testID != null) {
377
+ domProps['data-testid'] = testID;
378
+ }
379
+
380
+ return domProps;
381
+ };
382
+
383
+ var _default = createDOMProps;
384
+ exports.default = _default;
385
+ module.exports = exports.default;
@@ -0,0 +1,379 @@
1
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
2
+
3
+ /**
4
+ * Copyright (c) Nicolas Gallagher.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ *
9
+ *
10
+ */
11
+ import AccessibilityUtil from '../AccessibilityUtil';
12
+ import StyleSheet from '../../exports/StyleSheet';
13
+ var emptyObject = {};
14
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
15
+ var isArray = Array.isArray;
16
+ var uppercasePattern = /[A-Z]/g;
17
+
18
+ function toHyphenLower(match) {
19
+ return '-' + match.toLowerCase();
20
+ }
21
+
22
+ function hyphenateString(str) {
23
+ return str.replace(uppercasePattern, toHyphenLower);
24
+ }
25
+
26
+ function processIDRefList(idRefList) {
27
+ return isArray(idRefList) ? idRefList.join(' ') : idRefList;
28
+ }
29
+
30
+ var pointerEventsStyles = StyleSheet.create({
31
+ auto: {
32
+ pointerEvents: 'auto'
33
+ },
34
+ 'box-none': {
35
+ pointerEvents: 'box-none'
36
+ },
37
+ 'box-only': {
38
+ pointerEvents: 'box-only'
39
+ },
40
+ none: {
41
+ pointerEvents: 'none'
42
+ }
43
+ });
44
+
45
+ var createDOMProps = function createDOMProps(elementType, props, options) {
46
+ if (!props) {
47
+ props = emptyObject;
48
+ }
49
+
50
+ var _props = props,
51
+ accessibilityActiveDescendant = _props.accessibilityActiveDescendant,
52
+ accessibilityAtomic = _props.accessibilityAtomic,
53
+ accessibilityAutoComplete = _props.accessibilityAutoComplete,
54
+ accessibilityBusy = _props.accessibilityBusy,
55
+ accessibilityChecked = _props.accessibilityChecked,
56
+ accessibilityColumnCount = _props.accessibilityColumnCount,
57
+ accessibilityColumnIndex = _props.accessibilityColumnIndex,
58
+ accessibilityColumnSpan = _props.accessibilityColumnSpan,
59
+ accessibilityControls = _props.accessibilityControls,
60
+ accessibilityCurrent = _props.accessibilityCurrent,
61
+ accessibilityDescribedBy = _props.accessibilityDescribedBy,
62
+ accessibilityDetails = _props.accessibilityDetails,
63
+ accessibilityDisabled = _props.accessibilityDisabled,
64
+ accessibilityErrorMessage = _props.accessibilityErrorMessage,
65
+ accessibilityExpanded = _props.accessibilityExpanded,
66
+ accessibilityFlowTo = _props.accessibilityFlowTo,
67
+ accessibilityHasPopup = _props.accessibilityHasPopup,
68
+ accessibilityHidden = _props.accessibilityHidden,
69
+ accessibilityInvalid = _props.accessibilityInvalid,
70
+ accessibilityKeyShortcuts = _props.accessibilityKeyShortcuts,
71
+ accessibilityLabel = _props.accessibilityLabel,
72
+ accessibilityLabelledBy = _props.accessibilityLabelledBy,
73
+ accessibilityLevel = _props.accessibilityLevel,
74
+ accessibilityLiveRegion = _props.accessibilityLiveRegion,
75
+ accessibilityModal = _props.accessibilityModal,
76
+ accessibilityMultiline = _props.accessibilityMultiline,
77
+ accessibilityMultiSelectable = _props.accessibilityMultiSelectable,
78
+ accessibilityOrientation = _props.accessibilityOrientation,
79
+ accessibilityOwns = _props.accessibilityOwns,
80
+ accessibilityPlaceholder = _props.accessibilityPlaceholder,
81
+ accessibilityPosInSet = _props.accessibilityPosInSet,
82
+ accessibilityPressed = _props.accessibilityPressed,
83
+ accessibilityReadOnly = _props.accessibilityReadOnly,
84
+ accessibilityRequired = _props.accessibilityRequired,
85
+ accessibilityRole = _props.accessibilityRole,
86
+ accessibilityRoleDescription = _props.accessibilityRoleDescription,
87
+ accessibilityRowCount = _props.accessibilityRowCount,
88
+ accessibilityRowIndex = _props.accessibilityRowIndex,
89
+ accessibilityRowSpan = _props.accessibilityRowSpan,
90
+ accessibilitySelected = _props.accessibilitySelected,
91
+ accessibilitySetSize = _props.accessibilitySetSize,
92
+ accessibilitySort = _props.accessibilitySort,
93
+ accessibilityValueMax = _props.accessibilityValueMax,
94
+ accessibilityValueMin = _props.accessibilityValueMin,
95
+ accessibilityValueNow = _props.accessibilityValueNow,
96
+ accessibilityValueText = _props.accessibilityValueText,
97
+ dataSet = _props.dataSet,
98
+ focusable = _props.focusable,
99
+ nativeID = _props.nativeID,
100
+ pointerEvents = _props.pointerEvents,
101
+ style = _props.style,
102
+ testID = _props.testID,
103
+ domProps = _objectWithoutPropertiesLoose(_props, ["accessibilityActiveDescendant", "accessibilityAtomic", "accessibilityAutoComplete", "accessibilityBusy", "accessibilityChecked", "accessibilityColumnCount", "accessibilityColumnIndex", "accessibilityColumnSpan", "accessibilityControls", "accessibilityCurrent", "accessibilityDescribedBy", "accessibilityDetails", "accessibilityDisabled", "accessibilityErrorMessage", "accessibilityExpanded", "accessibilityFlowTo", "accessibilityHasPopup", "accessibilityHidden", "accessibilityInvalid", "accessibilityKeyShortcuts", "accessibilityLabel", "accessibilityLabelledBy", "accessibilityLevel", "accessibilityLiveRegion", "accessibilityModal", "accessibilityMultiline", "accessibilityMultiSelectable", "accessibilityOrientation", "accessibilityOwns", "accessibilityPlaceholder", "accessibilityPosInSet", "accessibilityPressed", "accessibilityReadOnly", "accessibilityRequired", "accessibilityRole", "accessibilityRoleDescription", "accessibilityRowCount", "accessibilityRowIndex", "accessibilityRowSpan", "accessibilitySelected", "accessibilitySetSize", "accessibilitySort", "accessibilityValueMax", "accessibilityValueMin", "accessibilityValueNow", "accessibilityValueText", "dataSet", "focusable", "nativeID", "pointerEvents", "style", "testID"]);
104
+
105
+ var disabled = accessibilityDisabled;
106
+ var role = AccessibilityUtil.propsToAriaRole(props); // ACCESSIBILITY
107
+
108
+ if (accessibilityActiveDescendant != null) {
109
+ domProps['aria-activedescendant'] = accessibilityActiveDescendant;
110
+ }
111
+
112
+ if (accessibilityAtomic != null) {
113
+ domProps['aria-atomic'] = accessibilityAtomic;
114
+ }
115
+
116
+ if (accessibilityAutoComplete != null) {
117
+ domProps['aria-autocomplete'] = accessibilityAutoComplete;
118
+ }
119
+
120
+ if (accessibilityBusy != null) {
121
+ domProps['aria-busy'] = accessibilityBusy;
122
+ }
123
+
124
+ if (accessibilityChecked != null) {
125
+ domProps['aria-checked'] = accessibilityChecked;
126
+ }
127
+
128
+ if (accessibilityColumnCount != null) {
129
+ domProps['aria-colcount'] = accessibilityColumnCount;
130
+ }
131
+
132
+ if (accessibilityColumnIndex != null) {
133
+ domProps['aria-colindex'] = accessibilityColumnIndex;
134
+ }
135
+
136
+ if (accessibilityColumnSpan != null) {
137
+ domProps['aria-colspan'] = accessibilityColumnSpan;
138
+ }
139
+
140
+ if (accessibilityControls != null) {
141
+ domProps['aria-controls'] = processIDRefList(accessibilityControls);
142
+ }
143
+
144
+ if (accessibilityCurrent != null) {
145
+ domProps['aria-current'] = accessibilityCurrent;
146
+ }
147
+
148
+ if (accessibilityDescribedBy != null) {
149
+ domProps['aria-describedby'] = processIDRefList(accessibilityDescribedBy);
150
+ }
151
+
152
+ if (accessibilityDetails != null) {
153
+ domProps['aria-details'] = accessibilityDetails;
154
+ }
155
+
156
+ if (disabled === true) {
157
+ domProps['aria-disabled'] = true; // Enhance with native semantics
158
+
159
+ if (elementType === 'button' || elementType === 'form' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {
160
+ domProps.disabled = true;
161
+ }
162
+ }
163
+
164
+ if (accessibilityErrorMessage != null) {
165
+ domProps['aria-errormessage'] = accessibilityErrorMessage;
166
+ }
167
+
168
+ if (accessibilityExpanded != null) {
169
+ domProps['aria-expanded'] = accessibilityExpanded;
170
+ }
171
+
172
+ if (accessibilityFlowTo != null) {
173
+ domProps['aria-flowto'] = processIDRefList(accessibilityFlowTo);
174
+ }
175
+
176
+ if (accessibilityHasPopup != null) {
177
+ domProps['aria-haspopup'] = accessibilityHasPopup;
178
+ }
179
+
180
+ if (accessibilityHidden === true) {
181
+ domProps['aria-hidden'] = accessibilityHidden;
182
+ }
183
+
184
+ if (accessibilityInvalid != null) {
185
+ domProps['aria-invalid'] = accessibilityInvalid;
186
+ }
187
+
188
+ if (accessibilityKeyShortcuts != null && Array.isArray(accessibilityKeyShortcuts)) {
189
+ domProps['aria-keyshortcuts'] = accessibilityKeyShortcuts.join(' ');
190
+ }
191
+
192
+ if (accessibilityLabel != null) {
193
+ domProps['aria-label'] = accessibilityLabel;
194
+ }
195
+
196
+ if (accessibilityLabelledBy != null) {
197
+ domProps['aria-labelledby'] = processIDRefList(accessibilityLabelledBy);
198
+ }
199
+
200
+ if (accessibilityLevel != null) {
201
+ domProps['aria-level'] = accessibilityLevel;
202
+ }
203
+
204
+ if (accessibilityLiveRegion != null) {
205
+ domProps['aria-live'] = accessibilityLiveRegion === 'none' ? 'off' : accessibilityLiveRegion;
206
+ }
207
+
208
+ if (accessibilityModal != null) {
209
+ domProps['aria-modal'] = accessibilityModal;
210
+ }
211
+
212
+ if (accessibilityMultiline != null) {
213
+ domProps['aria-multiline'] = accessibilityMultiline;
214
+ }
215
+
216
+ if (accessibilityMultiSelectable != null) {
217
+ domProps['aria-multiselectable'] = accessibilityMultiSelectable;
218
+ }
219
+
220
+ if (accessibilityOrientation != null) {
221
+ domProps['aria-orientation'] = accessibilityOrientation;
222
+ }
223
+
224
+ if (accessibilityOwns != null) {
225
+ domProps['aria-owns'] = processIDRefList(accessibilityOwns);
226
+ }
227
+
228
+ if (accessibilityPlaceholder != null) {
229
+ domProps['aria-placeholder'] = accessibilityPlaceholder;
230
+ }
231
+
232
+ if (accessibilityPosInSet != null) {
233
+ domProps['aria-posinset'] = accessibilityPosInSet;
234
+ }
235
+
236
+ if (accessibilityPressed != null) {
237
+ domProps['aria-pressed'] = accessibilityPressed;
238
+ }
239
+
240
+ if (accessibilityReadOnly != null) {
241
+ domProps['aria-readonly'] = accessibilityReadOnly; // Enhance with native semantics
242
+
243
+ if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {
244
+ domProps.readOnly = true;
245
+ }
246
+ }
247
+
248
+ if (accessibilityRequired != null) {
249
+ domProps['aria-required'] = accessibilityRequired; // Enhance with native semantics
250
+
251
+ if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {
252
+ domProps.required = true;
253
+ }
254
+ }
255
+
256
+ if (role != null) {
257
+ // 'presentation' synonym has wider browser support
258
+ domProps['role'] = role === 'none' ? 'presentation' : role;
259
+ }
260
+
261
+ if (accessibilityRoleDescription != null) {
262
+ domProps['aria-roledescription'] = accessibilityRoleDescription;
263
+ }
264
+
265
+ if (accessibilityRowCount != null) {
266
+ domProps['aria-rowcount'] = accessibilityRowCount;
267
+ }
268
+
269
+ if (accessibilityRowIndex != null) {
270
+ domProps['aria-rowindex'] = accessibilityRowIndex;
271
+ }
272
+
273
+ if (accessibilityRowSpan != null) {
274
+ domProps['aria-rowspan'] = accessibilityRowSpan;
275
+ }
276
+
277
+ if (accessibilitySelected != null) {
278
+ domProps['aria-selected'] = accessibilitySelected;
279
+ }
280
+
281
+ if (accessibilitySetSize != null) {
282
+ domProps['aria-setsize'] = accessibilitySetSize;
283
+ }
284
+
285
+ if (accessibilitySort != null) {
286
+ domProps['aria-sort'] = accessibilitySort;
287
+ }
288
+
289
+ if (accessibilityValueMax != null) {
290
+ domProps['aria-valuemax'] = accessibilityValueMax;
291
+ }
292
+
293
+ if (accessibilityValueMin != null) {
294
+ domProps['aria-valuemin'] = accessibilityValueMin;
295
+ }
296
+
297
+ if (accessibilityValueNow != null) {
298
+ domProps['aria-valuenow'] = accessibilityValueNow;
299
+ }
300
+
301
+ if (accessibilityValueText != null) {
302
+ domProps['aria-valuetext'] = accessibilityValueText;
303
+ } // "dataSet" replaced with "data-*"
304
+
305
+
306
+ const tmgCN = dataSet ? dataSet.className : undefined
307
+ const tmgID = dataSet ? dataSet.id : undefined
308
+
309
+ if (dataSet != null) {
310
+ for (var dataProp in dataSet) {
311
+ if (dataProp === 'className' || dataProp === 'id') continue
312
+ if (hasOwnProperty.call(dataSet, dataProp)) {
313
+ var dataName = hyphenateString(dataProp);
314
+ var dataValue = dataSet[dataProp];
315
+
316
+ if (dataValue != null) {
317
+ domProps["data-" + dataName] = dataValue;
318
+ }
319
+ }
320
+ }
321
+ } // FOCUS
322
+ // "focusable" indicates that an element may be a keyboard tab-stop.
323
+
324
+
325
+ if (focusable === false) {
326
+ domProps.tabIndex = '-1';
327
+ }
328
+
329
+ if ( // These native elements are keyboard focusable by default
330
+ elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {
331
+ if (focusable === false || accessibilityDisabled === true) {
332
+ domProps.tabIndex = '-1';
333
+ }
334
+ } else if ( // These roles are made keyboard focusable by default
335
+ role === 'button' || role === 'checkbox' || role === 'link' || role === 'radio' || role === 'textbox' || role === 'switch') {
336
+ if (focusable !== false) {
337
+ domProps.tabIndex = '0';
338
+ }
339
+ } else {
340
+ // Everything else must explicitly set the prop
341
+ if (focusable === true) {
342
+ domProps.tabIndex = '0';
343
+ }
344
+ } // Resolve styles
345
+
346
+ var _StyleSheet = StyleSheet([style, pointerEvents && pointerEventsStyles[pointerEvents]], {
347
+ writingDirection: options ? options.writingDirection : 'ltr'
348
+ }),
349
+ className = _StyleSheet[0],
350
+ inlineStyle = _StyleSheet[1];
351
+
352
+ // elementType = null on setNativeProps and overrides our classname
353
+ if (elementType != null && className) {
354
+ domProps.className = className;
355
+ }
356
+
357
+ if (inlineStyle) {
358
+ domProps.style = inlineStyle;
359
+ }
360
+
361
+ if (tmgCN) {
362
+ domProps.className = tmgCN
363
+ }
364
+
365
+ if (tmgID) {
366
+ domProps.id = tmgID
367
+ } else if (nativeID != null) {
368
+ domProps.id = nativeID;
369
+ } // Automated test IDs
370
+
371
+
372
+ if (testID != null) {
373
+ domProps['data-testid'] = testID;
374
+ }
375
+
376
+ return domProps;
377
+ };
378
+
379
+ export default createDOMProps;