@tamagui/dom 0.0.0-bootstrap.0 → 3.0.0-beta.643.1

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.
Files changed (93) hide show
  1. package/dist/cjs/events.cjs +17 -0
  2. package/dist/cjs/events.native.cjs +19 -0
  3. package/dist/cjs/events.native.js +21 -0
  4. package/dist/cjs/events.native.js.map +1 -0
  5. package/dist/cjs/index.cjs +26 -0
  6. package/dist/cjs/index.native.cjs +28 -0
  7. package/dist/cjs/index.native.js +30 -0
  8. package/dist/cjs/index.native.js.map +1 -0
  9. package/dist/cjs/props.cjs +17 -0
  10. package/dist/cjs/props.native.cjs +19 -0
  11. package/dist/cjs/props.native.js +21 -0
  12. package/dist/cjs/props.native.js.map +1 -0
  13. package/dist/cjs/tables/attributes.cjs +850 -0
  14. package/dist/cjs/tables/attributes.native.cjs +862 -0
  15. package/dist/cjs/tables/attributes.native.js +864 -0
  16. package/dist/cjs/tables/attributes.native.js.map +1 -0
  17. package/dist/cjs/tables/compatibility.cjs +338 -0
  18. package/dist/cjs/tables/compatibility.native.cjs +340 -0
  19. package/dist/cjs/tables/compatibility.native.js +342 -0
  20. package/dist/cjs/tables/compatibility.native.js.map +1 -0
  21. package/dist/cjs/tables/events.cjs +169 -0
  22. package/dist/cjs/tables/events.native.cjs +175 -0
  23. package/dist/cjs/tables/events.native.js +177 -0
  24. package/dist/cjs/tables/events.native.js.map +1 -0
  25. package/dist/cjs/tables/nativeBacking.cjs +133 -0
  26. package/dist/cjs/tables/nativeBacking.native.cjs +135 -0
  27. package/dist/cjs/tables/nativeBacking.native.js +137 -0
  28. package/dist/cjs/tables/nativeBacking.native.js.map +1 -0
  29. package/dist/cjs/tables/tags.cjs +576 -0
  30. package/dist/cjs/tables/tags.native.cjs +578 -0
  31. package/dist/cjs/tables/tags.native.js +580 -0
  32. package/dist/cjs/tables/tags.native.js.map +1 -0
  33. package/dist/cjs/tables/types.cjs +17 -0
  34. package/dist/cjs/tables/types.native.cjs +19 -0
  35. package/dist/cjs/tables/types.native.js +21 -0
  36. package/dist/cjs/tables/types.native.js.map +1 -0
  37. package/dist/esm/events.mjs +0 -0
  38. package/dist/esm/events.native.js +0 -0
  39. package/dist/esm/index.mjs +15 -0
  40. package/dist/esm/index.native.js +15 -0
  41. package/dist/esm/props.mjs +0 -0
  42. package/dist/esm/props.native.js +0 -0
  43. package/dist/esm/tables/attributes.mjs +821 -0
  44. package/dist/esm/tables/attributes.mjs.map +1 -0
  45. package/dist/esm/tables/attributes.native.js +831 -0
  46. package/dist/esm/tables/attributes.native.js.map +1 -0
  47. package/dist/esm/tables/compatibility.mjs +314 -0
  48. package/dist/esm/tables/compatibility.mjs.map +1 -0
  49. package/dist/esm/tables/compatibility.native.js +314 -0
  50. package/dist/esm/tables/compatibility.native.js.map +1 -0
  51. package/dist/esm/tables/events.mjs +145 -0
  52. package/dist/esm/tables/events.mjs.map +1 -0
  53. package/dist/esm/tables/events.native.js +149 -0
  54. package/dist/esm/tables/events.native.js.map +1 -0
  55. package/dist/esm/tables/nativeBacking.mjs +106 -0
  56. package/dist/esm/tables/nativeBacking.mjs.map +1 -0
  57. package/dist/esm/tables/nativeBacking.native.js +106 -0
  58. package/dist/esm/tables/nativeBacking.native.js.map +1 -0
  59. package/dist/esm/tables/tags.mjs +550 -0
  60. package/dist/esm/tables/tags.mjs.map +1 -0
  61. package/dist/esm/tables/tags.native.js +550 -0
  62. package/dist/esm/tables/tags.native.js.map +1 -0
  63. package/dist/esm/tables/types.mjs +0 -0
  64. package/dist/esm/tables/types.native.js +0 -0
  65. package/package.json +57 -7
  66. package/src/events.ts +58 -0
  67. package/src/index.ts +19 -0
  68. package/src/props.ts +699 -0
  69. package/src/tables/attributes.ts +863 -0
  70. package/src/tables/compatibility.ts +360 -0
  71. package/src/tables/events.ts +176 -0
  72. package/src/tables/nativeBacking.ts +132 -0
  73. package/src/tables/tags.ts +557 -0
  74. package/src/tables/types.ts +202 -0
  75. package/types/events.d.ts +58 -0
  76. package/types/events.d.ts.map +11 -0
  77. package/types/index.d.ts +20 -0
  78. package/types/index.d.ts.map +11 -0
  79. package/types/props.d.ts +499 -0
  80. package/types/props.d.ts.map +11 -0
  81. package/types/tables/attributes.d.ts +21 -0
  82. package/types/tables/attributes.d.ts.map +11 -0
  83. package/types/tables/compatibility.d.ts +28 -0
  84. package/types/tables/compatibility.d.ts.map +11 -0
  85. package/types/tables/events.d.ts +5 -0
  86. package/types/tables/events.d.ts.map +11 -0
  87. package/types/tables/nativeBacking.d.ts +28 -0
  88. package/types/tables/nativeBacking.d.ts.map +11 -0
  89. package/types/tables/tags.d.ts +36 -0
  90. package/types/tables/tags.d.ts.map +11 -0
  91. package/types/tables/types.d.ts +135 -0
  92. package/types/tables/types.d.ts.map +11 -0
  93. package/README.md +0 -1
@@ -0,0 +1,862 @@
1
+ "use strict";
2
+
3
+
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all) __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true
12
+ });
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ }
21
+ return to;
22
+ };
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var attributes_exports = {};
25
+ __export(attributes_exports, {
26
+ ARIA_ROLES: () => ARIA_ROLES,
27
+ ATTRIBUTES: () => ATTRIBUTES,
28
+ ATTRIBUTE_NAMES: () => ATTRIBUTE_NAMES,
29
+ AUTO_COMPLETE_VALUES: () => AUTO_COMPLETE_VALUES,
30
+ FRONTEND_PROPS: () => FRONTEND_PROPS,
31
+ HTML_INPUT_TYPES: () => HTML_INPUT_TYPES,
32
+ NATIVE_INPUT_TYPES: () => NATIVE_INPUT_TYPES
33
+ });
34
+ module.exports = __toCommonJS(attributes_exports);
35
+ var TEXT_ENTRY = ["input", "textarea"];
36
+ var ANCHOR = ["a"];
37
+ var IMAGE = ["img"];
38
+ var ARIA_ROLES = [
39
+ "alert",
40
+ "alertdialog",
41
+ "application",
42
+ "article",
43
+ "banner",
44
+ "blockquote",
45
+ "button",
46
+ "caption",
47
+ "cell",
48
+ "checkbox",
49
+ "code",
50
+ "columnheader",
51
+ "combobox",
52
+ "complementary",
53
+ "contentinfo",
54
+ "definition",
55
+ "deletion",
56
+ "dialog",
57
+ "document",
58
+ "emphasis",
59
+ "feed",
60
+ "figure",
61
+ "form",
62
+ "grid",
63
+ "gridcell",
64
+ "group",
65
+ "heading",
66
+ "img",
67
+ "input",
68
+ "insertion",
69
+ "link",
70
+ "list",
71
+ "listbox",
72
+ "listitem",
73
+ "log",
74
+ "main",
75
+ "marquee",
76
+ "math",
77
+ "menu",
78
+ "menubar",
79
+ "menuitem",
80
+ "menuitemcheckbox",
81
+ "menuitemradio",
82
+ "meter",
83
+ "navigation",
84
+ "none",
85
+ "note",
86
+ "option",
87
+ "paragraph",
88
+ "progressbar",
89
+ "radio",
90
+ "radiogroup",
91
+ "region",
92
+ "row",
93
+ "rowgroup",
94
+ "rowheader",
95
+ "scrollbar",
96
+ "search",
97
+ "searchbox",
98
+ "separator",
99
+ "slider",
100
+ "spinbutton",
101
+ "status",
102
+ "strong",
103
+ "subscript",
104
+ "superscript",
105
+ "switch",
106
+ "tab",
107
+ "table",
108
+ "tablist",
109
+ "tabpanel",
110
+ "term",
111
+ "textbox",
112
+ "time",
113
+ "timer",
114
+ "toolbar",
115
+ "tooltip",
116
+ "tree",
117
+ "treegrid",
118
+ "treeitem"
119
+ ];
120
+ var AUTO_COMPLETE_VALUES = [
121
+ "additional-name",
122
+ "address-line1",
123
+ "address-line2",
124
+ "birthdate-day",
125
+ "birthdate-full",
126
+ "birthdate-month",
127
+ "birthdate-year",
128
+ "cc-csc",
129
+ "cc-exp",
130
+ "cc-exp-day",
131
+ "cc-exp-month",
132
+ "cc-exp-year",
133
+ "cc-number",
134
+ "cc-name",
135
+ "cc-given-name",
136
+ "cc-middle-name",
137
+ "cc-family-name",
138
+ "cc-type",
139
+ "country",
140
+ "current-password",
141
+ "email",
142
+ "family-name",
143
+ "gender",
144
+ "given-name",
145
+ "honorific-prefix",
146
+ "honorific-suffix",
147
+ "name",
148
+ "name-family",
149
+ "name-given",
150
+ "name-middle",
151
+ "name-middle-initial",
152
+ "name-prefix",
153
+ "name-suffix",
154
+ "new-password",
155
+ "nickname",
156
+ "on",
157
+ "one-time-code",
158
+ "organization",
159
+ "organization-title",
160
+ "password",
161
+ "password-new",
162
+ "postal-address",
163
+ "postal-address-country",
164
+ "postal-address-extended",
165
+ "postal-address-extended-postal-code",
166
+ "postal-address-locality",
167
+ "postal-address-region",
168
+ "postal-code",
169
+ "street-address",
170
+ "sms-otp",
171
+ "tel",
172
+ "tel-country-code",
173
+ "tel-national",
174
+ "tel-device",
175
+ "url",
176
+ "username",
177
+ "username-new",
178
+ "off"
179
+ ];
180
+ var HTML_INPUT_TYPES = [
181
+ "checkbox",
182
+ "color",
183
+ "date",
184
+ "datetime-local",
185
+ "email",
186
+ "file",
187
+ "hidden",
188
+ "month",
189
+ "number",
190
+ "password",
191
+ "radio",
192
+ "range",
193
+ "search",
194
+ "submit",
195
+ "tel",
196
+ "text",
197
+ "time",
198
+ "url",
199
+ "week"
200
+ ];
201
+ var NATIVE_INPUT_TYPES = [
202
+ "email",
203
+ "number",
204
+ "password",
205
+ "search",
206
+ "tel",
207
+ "text",
208
+ "url"
209
+ ];
210
+ var ariaState = function(name, nativeProp) {
211
+ return {
212
+ group: "aria",
213
+ tags: "*",
214
+ type: "boolean",
215
+ nativeProp,
216
+ web: "host",
217
+ native: nativeProp ? "polyfill" : "none"
218
+ };
219
+ };
220
+ var ariaRef = function() {
221
+ return {
222
+ group: "aria",
223
+ tags: "*",
224
+ type: "string",
225
+ nativeProp: null,
226
+ web: "host",
227
+ native: "none"
228
+ };
229
+ };
230
+ var ariaNumber = function() {
231
+ var nativeProp = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
232
+ return {
233
+ group: "aria",
234
+ tags: "*",
235
+ type: "number",
236
+ nativeProp,
237
+ web: "host",
238
+ native: nativeProp ? "polyfill" : "none"
239
+ };
240
+ };
241
+ var ariaText = function() {
242
+ var nativeProp = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
243
+ return {
244
+ group: "aria",
245
+ tags: "*",
246
+ type: "string",
247
+ nativeProp,
248
+ web: "host",
249
+ native: nativeProp ? "polyfill" : "none"
250
+ };
251
+ };
252
+ var ATTRIBUTES = {
253
+ "aria-activedescendant": ariaRef(),
254
+ "aria-atomic": ariaState("aria-atomic", null),
255
+ "aria-autocomplete": {
256
+ group: "aria",
257
+ tags: "*",
258
+ type: `'none' | 'inline' | 'list' | 'both'`,
259
+ nativeProp: null,
260
+ web: "host",
261
+ native: "none"
262
+ },
263
+ "aria-busy": ariaState("aria-busy", "accessibilityState.busy"),
264
+ "aria-checked": {
265
+ group: "aria",
266
+ tags: "*",
267
+ type: `boolean | 'mixed'`,
268
+ nativeProp: "accessibilityState.checked",
269
+ web: "host",
270
+ native: "polyfill"
271
+ },
272
+ "aria-colcount": ariaNumber(),
273
+ "aria-colindex": ariaNumber(),
274
+ "aria-colindextext": ariaText(),
275
+ "aria-colspan": ariaNumber(),
276
+ "aria-controls": ariaRef(),
277
+ "aria-current": {
278
+ group: "aria",
279
+ tags: "*",
280
+ type: `boolean | 'page' | 'step' | 'location' | 'date' | 'time'`,
281
+ nativeProp: null,
282
+ web: "host",
283
+ native: "none"
284
+ },
285
+ "aria-describedby": {
286
+ ...ariaRef(),
287
+ note: "react native has no described-by relationship; put the description in aria-label instead"
288
+ },
289
+ "aria-details": ariaRef(),
290
+ "aria-disabled": ariaState("aria-disabled", "accessibilityState.disabled"),
291
+ "aria-errormessage": ariaRef(),
292
+ "aria-expanded": ariaState("aria-expanded", "accessibilityState.expanded"),
293
+ "aria-flowto": ariaRef(),
294
+ "aria-haspopup": {
295
+ group: "aria",
296
+ tags: "*",
297
+ type: `'menu' | 'listbox' | 'tree' | 'grid' | 'dialog'`,
298
+ nativeProp: null,
299
+ web: "host",
300
+ native: "none"
301
+ },
302
+ "aria-hidden": {
303
+ group: "aria",
304
+ tags: "*",
305
+ type: "boolean",
306
+ nativeProp: "accessibilityElementsHidden",
307
+ web: "host",
308
+ native: "polyfill",
309
+ note: "also sets importantForAccessibility on android so descendants are hidden"
310
+ },
311
+ "aria-invalid": {
312
+ group: "aria",
313
+ tags: "*",
314
+ type: `boolean | 'grammar' | 'spelling'`,
315
+ nativeProp: null,
316
+ web: "host",
317
+ native: "none"
318
+ },
319
+ "aria-keyshortcuts": ariaText(),
320
+ "aria-label": ariaText("accessibilityLabel"),
321
+ "aria-labelledby": {
322
+ group: "aria",
323
+ tags: "*",
324
+ type: "string",
325
+ nativeProp: "accessibilityLabelledBy",
326
+ web: "host",
327
+ native: "polyfill"
328
+ },
329
+ "aria-level": ariaNumber(),
330
+ "aria-live": {
331
+ group: "aria",
332
+ tags: "*",
333
+ type: `'off' | 'assertive' | 'polite'`,
334
+ nativeProp: "accessibilityLiveRegion",
335
+ web: "host",
336
+ native: "polyfill"
337
+ },
338
+ "aria-modal": ariaState("aria-modal", "accessibilityViewIsModal"),
339
+ "aria-multiline": ariaState("aria-multiline", null),
340
+ "aria-multiselectable": ariaState("aria-multiselectable", null),
341
+ "aria-orientation": {
342
+ group: "aria",
343
+ tags: "*",
344
+ type: `'horizontal' | 'vertical'`,
345
+ nativeProp: null,
346
+ web: "host",
347
+ native: "none"
348
+ },
349
+ "aria-owns": ariaRef(),
350
+ "aria-placeholder": ariaText(),
351
+ "aria-posinset": ariaNumber(),
352
+ "aria-pressed": {
353
+ group: "aria",
354
+ tags: "*",
355
+ type: `boolean | 'mixed'`,
356
+ nativeProp: null,
357
+ web: "host",
358
+ native: "none"
359
+ },
360
+ "aria-readonly": ariaState("aria-readonly", null),
361
+ "aria-required": ariaState("aria-required", null),
362
+ "aria-roledescription": ariaText(),
363
+ "aria-rowcount": ariaNumber(),
364
+ "aria-rowindex": ariaNumber(),
365
+ "aria-rowindextext": ariaText(),
366
+ "aria-rowspan": ariaNumber(),
367
+ "aria-selected": ariaState("aria-selected", "accessibilityState.selected"),
368
+ "aria-setsize": ariaNumber(),
369
+ "aria-sort": {
370
+ group: "aria",
371
+ tags: "*",
372
+ type: `'none' | 'ascending' | 'descending' | 'other'`,
373
+ nativeProp: null,
374
+ web: "host",
375
+ native: "none"
376
+ },
377
+ "aria-valuemax": ariaNumber("accessibilityValue.max"),
378
+ "aria-valuemin": ariaNumber("accessibilityValue.min"),
379
+ "aria-valuenow": ariaNumber("accessibilityValue.now"),
380
+ "aria-valuetext": ariaText("accessibilityValue.text"),
381
+ autoFocus: {
382
+ group: "global",
383
+ tags: "*",
384
+ type: "boolean",
385
+ nativeProp: null,
386
+ web: "host",
387
+ native: "none",
388
+ note: "focus a native element through a ref in an effect instead"
389
+ },
390
+ dir: {
391
+ group: "global",
392
+ tags: "*",
393
+ type: `'auto' | 'ltr' | 'rtl'`,
394
+ nativeProp: "writingDirection",
395
+ web: "host",
396
+ native: "polyfill"
397
+ },
398
+ elementTiming: {
399
+ group: "global",
400
+ tags: "*",
401
+ type: "string",
402
+ nativeProp: null,
403
+ web: "host",
404
+ native: "none",
405
+ note: "element timing is a browser performance api"
406
+ },
407
+ hidden: {
408
+ group: "global",
409
+ tags: "*",
410
+ type: `true | 'hidden' | 'until-found'`,
411
+ nativeProp: "style.display",
412
+ web: "host",
413
+ native: "polyfill",
414
+ note: "native applies display none and has no until-found reveal"
415
+ },
416
+ id: {
417
+ group: "global",
418
+ tags: "*",
419
+ type: "string",
420
+ nativeProp: "id",
421
+ web: "host",
422
+ native: "polyfill"
423
+ },
424
+ inert: {
425
+ group: "global",
426
+ tags: "*",
427
+ type: "boolean",
428
+ nativeProp: null,
429
+ web: "host",
430
+ native: "none"
431
+ },
432
+ lang: {
433
+ group: "global",
434
+ tags: "*",
435
+ type: "string",
436
+ nativeProp: null,
437
+ web: "host",
438
+ native: "none"
439
+ },
440
+ role: {
441
+ group: "global",
442
+ tags: "*",
443
+ type: "AriaRole",
444
+ nativeProp: "role",
445
+ web: "host",
446
+ native: "polyfill"
447
+ },
448
+ tabIndex: {
449
+ group: "global",
450
+ tags: "*",
451
+ type: "0 | -1",
452
+ nativeProp: "focusable",
453
+ web: "host",
454
+ native: "polyfill"
455
+ },
456
+ suppressHydrationWarning: {
457
+ group: "react",
458
+ tags: "*",
459
+ type: "boolean",
460
+ nativeProp: null,
461
+ web: "host",
462
+ native: "none"
463
+ },
464
+ children: {
465
+ group: "react",
466
+ tags: "*",
467
+ nativeProp: "children",
468
+ web: "host",
469
+ native: "host",
470
+ note: "the content model in the tag table decides the type: no children on a void tag, text only inside an option"
471
+ },
472
+ style: {
473
+ group: "frontend",
474
+ tags: "*",
475
+ nativeProp: "style",
476
+ web: "host",
477
+ native: "host",
478
+ note: "each frontend supplies its own style contract: tamagui style props, className, or style() handles"
479
+ },
480
+ "data-*": {
481
+ group: "data",
482
+ tags: "*",
483
+ type: "string | number | boolean",
484
+ nativeProp: null,
485
+ web: "host",
486
+ native: "none",
487
+ note: "data-testid is the one exception and reaches testID on native"
488
+ },
489
+ "data-testid": {
490
+ group: "data",
491
+ tags: "*",
492
+ type: "string",
493
+ nativeProp: "testID",
494
+ web: "host",
495
+ native: "polyfill"
496
+ },
497
+ autoCapitalize: {
498
+ group: "element",
499
+ tags: TEXT_ENTRY,
500
+ type: `'none' | 'sentences' | 'words' | 'characters'`,
501
+ nativeProp: "autoCapitalize",
502
+ web: "host",
503
+ native: "host"
504
+ },
505
+ autoComplete: {
506
+ group: "element",
507
+ tags: [
508
+ "input",
509
+ "select",
510
+ "textarea"
511
+ ],
512
+ type: "AutoComplete",
513
+ nativeProp: "autoComplete",
514
+ web: "host",
515
+ native: "host"
516
+ },
517
+ enterKeyHint: {
518
+ group: "element",
519
+ tags: TEXT_ENTRY,
520
+ type: `'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'`,
521
+ nativeProp: "enterKeyHint",
522
+ web: "host",
523
+ native: "host"
524
+ },
525
+ inputMode: {
526
+ group: "element",
527
+ tags: TEXT_ENTRY,
528
+ type: `'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'`,
529
+ nativeProp: "inputMode",
530
+ web: "host",
531
+ native: "host"
532
+ },
533
+ spellCheck: {
534
+ group: "element",
535
+ tags: TEXT_ENTRY,
536
+ type: "boolean",
537
+ nativeProp: "spellCheck",
538
+ web: "host",
539
+ native: "host",
540
+ note: "ios only on native"
541
+ },
542
+ download: {
543
+ group: "element",
544
+ tags: ANCHOR,
545
+ type: "string",
546
+ nativeProp: null,
547
+ web: "host",
548
+ native: "none"
549
+ },
550
+ href: {
551
+ group: "element",
552
+ tags: ANCHOR,
553
+ type: "string",
554
+ nativeProp: null,
555
+ web: "host",
556
+ native: "none",
557
+ note: "native has no navigation; handle onClick and call your router or Linking"
558
+ },
559
+ referrerPolicy: {
560
+ group: "element",
561
+ tags: ["a", "img"],
562
+ type: `'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url'`,
563
+ nativeProp: "referrerPolicy",
564
+ web: "host",
565
+ native: "host",
566
+ note: "native honours it for image requests only"
567
+ },
568
+ rel: {
569
+ group: "element",
570
+ tags: ANCHOR,
571
+ type: "string",
572
+ nativeProp: null,
573
+ web: "host",
574
+ native: "none"
575
+ },
576
+ target: {
577
+ group: "element",
578
+ tags: ANCHOR,
579
+ type: `'_self' | '_blank' | '_parent' | '_top'`,
580
+ nativeProp: null,
581
+ web: "host",
582
+ native: "none"
583
+ },
584
+ disabled: {
585
+ group: "element",
586
+ tags: [
587
+ "button",
588
+ "input",
589
+ "optgroup",
590
+ "option",
591
+ "textarea"
592
+ ],
593
+ type: "boolean",
594
+ nativeProp: "disabled",
595
+ web: "host",
596
+ native: "polyfill",
597
+ note: "native also clears focusable, and editable on a text-entry control"
598
+ },
599
+ type: {
600
+ group: "element",
601
+ tags: ["button", "input"],
602
+ perTag: {
603
+ button: { type: `'button' | 'submit'` },
604
+ input: {
605
+ type: "InputType",
606
+ note: "on native the type selects the keyboard and secure entry rather than reaching one prop, and the types with no text-entry control are a build error"
607
+ }
608
+ },
609
+ nativeProp: null,
610
+ web: "host",
611
+ native: "polyfill"
612
+ },
613
+ alt: {
614
+ group: "element",
615
+ tags: IMAGE,
616
+ type: "string",
617
+ nativeProp: "alt",
618
+ web: "host",
619
+ native: "host"
620
+ },
621
+ crossOrigin: {
622
+ group: "element",
623
+ tags: IMAGE,
624
+ type: `'anonymous' | 'use-credentials'`,
625
+ nativeProp: "crossOrigin",
626
+ web: "host",
627
+ native: "host"
628
+ },
629
+ decoding: {
630
+ group: "element",
631
+ tags: IMAGE,
632
+ type: `'async' | 'auto' | 'sync'`,
633
+ nativeProp: null,
634
+ web: "host",
635
+ native: "none"
636
+ },
637
+ draggable: {
638
+ group: "element",
639
+ tags: IMAGE,
640
+ type: "boolean",
641
+ nativeProp: null,
642
+ web: "host",
643
+ native: "none"
644
+ },
645
+ fetchPriority: {
646
+ group: "element",
647
+ tags: IMAGE,
648
+ type: `'high' | 'low' | 'auto'`,
649
+ nativeProp: null,
650
+ web: "host",
651
+ native: "none"
652
+ },
653
+ height: {
654
+ group: "element",
655
+ tags: IMAGE,
656
+ type: "number",
657
+ nativeProp: "height",
658
+ web: "host",
659
+ native: "host"
660
+ },
661
+ loading: {
662
+ group: "element",
663
+ tags: IMAGE,
664
+ type: `'eager' | 'lazy'`,
665
+ nativeProp: null,
666
+ web: "host",
667
+ native: "none"
668
+ },
669
+ src: {
670
+ group: "element",
671
+ tags: IMAGE,
672
+ type: "string",
673
+ nativeProp: "src",
674
+ web: "host",
675
+ native: "host"
676
+ },
677
+ srcSet: {
678
+ group: "element",
679
+ tags: IMAGE,
680
+ type: "string",
681
+ nativeProp: "srcSet",
682
+ web: "host",
683
+ native: "host"
684
+ },
685
+ width: {
686
+ group: "element",
687
+ tags: IMAGE,
688
+ type: "number",
689
+ nativeProp: "width",
690
+ web: "host",
691
+ native: "host"
692
+ },
693
+ checked: {
694
+ group: "element",
695
+ tags: ["input"],
696
+ type: `boolean | 'mixed'`,
697
+ nativeProp: null,
698
+ web: "host",
699
+ native: "none",
700
+ note: "checkbox and radio inputs have no native rendering"
701
+ },
702
+ defaultChecked: {
703
+ group: "element",
704
+ tags: ["input"],
705
+ type: "boolean",
706
+ nativeProp: null,
707
+ web: "host",
708
+ native: "none",
709
+ note: "checkbox and radio inputs have no native rendering"
710
+ },
711
+ defaultValue: {
712
+ group: "element",
713
+ tags: [
714
+ "input",
715
+ "select",
716
+ "textarea"
717
+ ],
718
+ type: "string",
719
+ perTag: { select: { type: "string | readonly string[]" } },
720
+ nativeProp: "defaultValue",
721
+ web: "host",
722
+ native: "host"
723
+ },
724
+ for: {
725
+ group: "element",
726
+ tags: ["label"],
727
+ type: "string",
728
+ nativeProp: null,
729
+ web: "host",
730
+ native: "none",
731
+ note: "native has no label association; wrap the control or drive it from your own state"
732
+ },
733
+ label: {
734
+ group: "element",
735
+ tags: ["optgroup", "option"],
736
+ type: "string",
737
+ nativeProp: null,
738
+ web: "host",
739
+ native: "none"
740
+ },
741
+ max: {
742
+ group: "element",
743
+ tags: ["input"],
744
+ type: "string | number",
745
+ nativeProp: null,
746
+ web: "host",
747
+ native: "none"
748
+ },
749
+ maxLength: {
750
+ group: "element",
751
+ tags: TEXT_ENTRY,
752
+ type: "number",
753
+ nativeProp: "maxLength",
754
+ web: "host",
755
+ native: "host"
756
+ },
757
+ min: {
758
+ group: "element",
759
+ tags: ["input"],
760
+ type: "string | number",
761
+ nativeProp: null,
762
+ web: "host",
763
+ native: "none"
764
+ },
765
+ minLength: {
766
+ group: "element",
767
+ tags: TEXT_ENTRY,
768
+ type: "number",
769
+ nativeProp: null,
770
+ web: "host",
771
+ native: "none"
772
+ },
773
+ multiple: {
774
+ group: "element",
775
+ tags: ["input", "select"],
776
+ type: "boolean",
777
+ nativeProp: null,
778
+ web: "host",
779
+ native: "none"
780
+ },
781
+ name: {
782
+ group: "element",
783
+ tags: [
784
+ "input",
785
+ "select",
786
+ "textarea"
787
+ ],
788
+ type: "string",
789
+ nativeProp: null,
790
+ web: "host",
791
+ native: "none",
792
+ note: "form field names only matter to a form submission, which native does not have"
793
+ },
794
+ placeholder: {
795
+ group: "element",
796
+ tags: TEXT_ENTRY,
797
+ type: "string",
798
+ nativeProp: "placeholder",
799
+ web: "host",
800
+ native: "host"
801
+ },
802
+ readOnly: {
803
+ group: "element",
804
+ tags: TEXT_ENTRY,
805
+ type: "boolean",
806
+ nativeProp: "editable",
807
+ web: "host",
808
+ native: "polyfill"
809
+ },
810
+ required: {
811
+ group: "element",
812
+ tags: [
813
+ "input",
814
+ "select",
815
+ "textarea"
816
+ ],
817
+ type: "boolean",
818
+ nativeProp: null,
819
+ web: "host",
820
+ native: "none",
821
+ note: "native has no form validation"
822
+ },
823
+ rows: {
824
+ group: "element",
825
+ tags: ["textarea"],
826
+ type: "number",
827
+ nativeProp: "numberOfLines",
828
+ web: "host",
829
+ native: "polyfill"
830
+ },
831
+ step: {
832
+ group: "element",
833
+ tags: ["input"],
834
+ type: `number | 'any'`,
835
+ nativeProp: null,
836
+ web: "host",
837
+ native: "none"
838
+ },
839
+ value: {
840
+ group: "element",
841
+ tags: [
842
+ "input",
843
+ "li",
844
+ "option",
845
+ "select",
846
+ "textarea"
847
+ ],
848
+ type: "string",
849
+ perTag: {
850
+ li: {
851
+ type: "number",
852
+ note: "the list counter is not rendered on either platform, matching the list-style reset"
853
+ },
854
+ select: { type: "string | readonly string[]" }
855
+ },
856
+ nativeProp: "value",
857
+ web: "host",
858
+ native: "polyfill"
859
+ }
860
+ };
861
+ var ATTRIBUTE_NAMES = Object.keys(ATTRIBUTES);
862
+ var FRONTEND_PROPS = ["style"];