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