@webstudio-is/css-data 0.83.0 → 0.85.0

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/lib/html.js CHANGED
@@ -1,181 +1,208 @@
1
- const displayBlock = {
1
+ const display = (value) => ({
2
2
  property: "display",
3
- value: { type: "keyword", value: "block" }
4
- };
5
- const mt1em = {
3
+ value: { type: "keyword", value }
4
+ });
5
+ const marginTop = (value, unit) => ({
6
6
  property: "marginTop",
7
- value: { type: "unit", value: 1, unit: "em" }
8
- };
9
- const mb1em = {
7
+ value: { type: "unit", value, unit: unit ?? "number" }
8
+ });
9
+ const marginRight = (value, unit) => ({
10
+ property: "marginRight",
11
+ value: { type: "unit", value, unit: unit ?? "number" }
12
+ });
13
+ const marginBottom = (value, unit) => ({
10
14
  property: "marginBottom",
11
- value: { type: "unit", value: 1, unit: "em" }
12
- };
13
- const ml40px = {
15
+ value: { type: "unit", value, unit: unit ?? "number" }
16
+ });
17
+ const marginLeft = (value, unit) => ({
14
18
  property: "marginLeft",
15
- value: { type: "unit", value: 40, unit: "px" }
16
- };
17
- const mr40px = {
18
- property: "marginRight",
19
- value: { type: "unit", value: 40, unit: "px" }
20
- };
21
- const pl40px = {
22
- property: "paddingLeft",
23
- value: { type: "unit", value: 40, unit: "px" }
24
- };
25
- const fontWeightBold = {
26
- property: "fontWeight",
27
- value: { type: "keyword", value: "bold" }
28
- };
29
- const fontStyleItalic = {
30
- property: "fontStyle",
31
- value: { type: "keyword", value: "italic" }
32
- };
33
- const pt1px = {
19
+ value: { type: "unit", value, unit: unit ?? "number" }
20
+ });
21
+ const paddingTop = (value, unit) => ({
34
22
  property: "paddingTop",
35
- value: { type: "unit", value: 1, unit: "px" }
36
- };
37
- const pr1px = {
23
+ value: { type: "unit", value, unit }
24
+ });
25
+ const paddingRight = (value, unit) => ({
38
26
  property: "paddingRight",
39
- value: { type: "unit", value: 1, unit: "px" }
40
- };
41
- const pb1px = {
27
+ value: { type: "unit", value, unit }
28
+ });
29
+ const paddingBottom = (value, unit) => ({
42
30
  property: "paddingBottom",
43
- value: { type: "unit", value: 1, unit: "px" }
44
- };
45
- const pl1px = {
31
+ value: { type: "unit", value, unit }
32
+ });
33
+ const paddingLeft = (value, unit) => ({
46
34
  property: "paddingLeft",
47
- value: { type: "unit", value: 1, unit: "px" }
48
- };
49
- const article = [displayBlock];
50
- const body = [
51
- displayBlock,
35
+ value: { type: "unit", value, unit }
36
+ });
37
+ const color = (value) => ({
38
+ property: "color",
39
+ value: { type: "keyword", value }
40
+ });
41
+ const fontSize = (value, unit) => ({
42
+ property: "fontSize",
43
+ value: { type: "unit", value, unit }
44
+ });
45
+ const fontWeight = (value) => ({
46
+ property: "fontWeight",
47
+ value: { type: "keyword", value }
48
+ });
49
+ const fontStyle = (value) => ({
50
+ property: "fontStyle",
51
+ value: { type: "keyword", value }
52
+ });
53
+ const textAlign = (value) => ({
54
+ property: "textAlign",
55
+ value: { type: "keyword", value }
56
+ });
57
+ const verticalAlign = (value) => ({
58
+ property: "verticalAlign",
59
+ value: { type: "keyword", value }
60
+ });
61
+ const whiteSpace = (value) => ({
62
+ property: "whiteSpace",
63
+ value: { type: "keyword", value }
64
+ });
65
+ const cursor = (value) => ({
66
+ property: "cursor",
67
+ value: { type: "keyword", value }
68
+ });
69
+ const borderWidth = (value, unit) => [
52
70
  {
53
- property: "marginTop",
54
- value: { type: "unit", value: 8, unit: "px" }
71
+ property: "borderTopWidth",
72
+ value: { type: "unit", value, unit }
55
73
  },
56
74
  {
57
- property: "marginRight",
58
- value: { type: "unit", value: 8, unit: "px" }
75
+ property: "borderRightWidth",
76
+ value: { type: "unit", value, unit }
59
77
  },
60
78
  {
61
- property: "marginBottom",
62
- value: { type: "unit", value: 8, unit: "px" }
79
+ property: "borderBottomWidth",
80
+ value: { type: "unit", value, unit }
63
81
  },
64
82
  {
65
- property: "marginLeft",
66
- value: { type: "unit", value: 8, unit: "px" }
83
+ property: "borderLeftWidth",
84
+ value: { type: "unit", value, unit }
67
85
  }
68
86
  ];
69
- const p = [displayBlock, mt1em, mb1em];
70
- const dd = [displayBlock, ml40px];
71
- const blockquote = [displayBlock, mt1em, mb1em, ml40px, mr40px];
72
- const address = [displayBlock, fontStyleItalic];
73
- const h1 = [
74
- displayBlock,
75
- fontWeightBold,
87
+ const borderStyle = (value) => [
76
88
  {
77
- property: "fontSize",
78
- value: { type: "unit", value: 2, unit: "em" }
79
- },
80
- {
81
- property: "marginTop",
82
- value: { type: "unit", value: 0.67, unit: "em" }
89
+ property: "borderTopStyle",
90
+ value: { type: "keyword", value }
83
91
  },
84
92
  {
85
- property: "marginBottom",
86
- value: { type: "unit", value: 0.67, unit: "em" }
87
- }
88
- ];
89
- const h2 = [
90
- displayBlock,
91
- fontWeightBold,
92
- {
93
- property: "fontSize",
94
- value: { type: "unit", value: 1.5, unit: "em" }
93
+ property: "borderRightStyle",
94
+ value: { type: "keyword", value }
95
95
  },
96
96
  {
97
- property: "marginTop",
98
- value: { type: "unit", value: 0.83, unit: "em" }
97
+ property: "borderBottomStyle",
98
+ value: { type: "keyword", value }
99
99
  },
100
100
  {
101
- property: "marginBottom",
102
- value: { type: "unit", value: 0.83, unit: "em" }
101
+ property: "borderLeftStyle",
102
+ value: { type: "keyword", value }
103
103
  }
104
104
  ];
105
- const h3 = [
106
- displayBlock,
107
- fontWeightBold,
105
+ const borderColor = (value) => [
108
106
  {
109
- property: "fontSize",
110
- value: { type: "unit", value: 1.17, unit: "em" }
107
+ property: "borderTopColor",
108
+ value: { type: "keyword", value }
111
109
  },
112
110
  {
113
- property: "marginTop",
114
- value: { type: "unit", value: 1, unit: "em" }
111
+ property: "borderRightColor",
112
+ value: { type: "keyword", value }
115
113
  },
116
114
  {
117
- property: "marginBottom",
118
- value: { type: "unit", value: 1, unit: "em" }
119
- }
120
- ];
121
- const h4 = [
122
- displayBlock,
123
- fontWeightBold,
124
- {
125
- property: "marginTop",
126
- value: { type: "unit", value: 1.33, unit: "em" }
115
+ property: "borderBottomColor",
116
+ value: { type: "keyword", value }
127
117
  },
128
118
  {
129
- property: "marginBottom",
130
- value: { type: "unit", value: 1.33, unit: "em" }
119
+ property: "borderLeftColor",
120
+ value: { type: "keyword", value }
131
121
  }
132
122
  ];
123
+ const appearance = (value) => ({
124
+ property: "appearance",
125
+ value: { type: "keyword", value }
126
+ });
127
+ const userSelect = (value) => ({
128
+ property: "userSelect",
129
+ value: { type: "keyword", value }
130
+ });
131
+ const boxSizing = (value) => ({
132
+ property: "boxSizing",
133
+ value: { type: "keyword", value }
134
+ });
135
+ const article = [display("block")];
136
+ const body = [
137
+ display("block"),
138
+ marginTop(8, "px"),
139
+ marginRight(8, "px"),
140
+ marginBottom(8, "px"),
141
+ marginLeft(8, "px")
142
+ ];
143
+ const p = [
144
+ display("block"),
145
+ marginTop(1, "em"),
146
+ marginBottom(1, "em")
147
+ ];
148
+ const dd = [display("block"), marginLeft(40, "px")];
149
+ const blockquote = [
150
+ display("block"),
151
+ marginTop(1, "em"),
152
+ marginBottom(1, "em"),
153
+ marginLeft(40, "px"),
154
+ marginRight(40, "px")
155
+ ];
156
+ const address = [display("block"), fontStyle("italic")];
157
+ const h1 = [
158
+ display("block"),
159
+ fontWeight("bold"),
160
+ fontSize(2, "em"),
161
+ marginTop(0.67, "em"),
162
+ marginBottom(0.67, "em")
163
+ ];
164
+ const h2 = [
165
+ display("block"),
166
+ fontWeight("bold"),
167
+ fontSize(1.5, "em"),
168
+ marginTop(0.83, "em"),
169
+ marginBottom(0.83, "em")
170
+ ];
171
+ const h3 = [
172
+ display("block"),
173
+ fontWeight("bold"),
174
+ fontSize(1.17, "em"),
175
+ marginTop(1, "em"),
176
+ marginBottom(1, "em")
177
+ ];
178
+ const h4 = [
179
+ display("block"),
180
+ fontWeight("bold"),
181
+ marginTop(1.33, "em"),
182
+ marginBottom(1.33, "em")
183
+ ];
133
184
  const h5 = [
134
- displayBlock,
135
- fontWeightBold,
136
- {
137
- property: "fontSize",
138
- value: { type: "unit", value: 0.83, unit: "em" }
139
- },
140
- {
141
- property: "marginTop",
142
- value: { type: "unit", value: 1.67, unit: "em" }
143
- },
144
- {
145
- property: "marginBottom",
146
- value: { type: "unit", value: 1.67, unit: "em" }
147
- }
185
+ display("block"),
186
+ fontWeight("bold"),
187
+ fontSize(0.83, "em"),
188
+ marginTop(1.67, "em"),
189
+ marginBottom(1.67, "em")
148
190
  ];
149
191
  const h6 = [
150
- displayBlock,
151
- fontWeightBold,
152
- {
153
- property: "fontSize",
154
- value: { type: "unit", value: 0.67, unit: "em" }
155
- },
156
- {
157
- property: "marginTop",
158
- value: { type: "unit", value: 2.33, unit: "em" }
159
- },
160
- {
161
- property: "marginBottom",
162
- value: { type: "unit", value: 2.33, unit: "em" }
163
- }
192
+ display("block"),
193
+ fontWeight("bold"),
194
+ fontSize(0.67, "em"),
195
+ marginTop(2.33, "em"),
196
+ marginBottom(2.33, "em")
164
197
  ];
165
198
  const pre = [
166
- displayBlock,
167
- {
168
- property: "whiteSpace",
169
- value: { type: "keyword", value: "pre" }
170
- },
171
- mt1em,
172
- mb1em
199
+ display("block"),
200
+ whiteSpace("pre"),
201
+ marginTop(1, "em"),
202
+ marginBottom(1, "em")
173
203
  ];
174
204
  const table = [
175
- {
176
- property: "display",
177
- value: { type: "keyword", value: "table" }
178
- },
205
+ display("table"),
179
206
  {
180
207
  property: "borderSpacing",
181
208
  value: { type: "unit", value: 2, unit: "px" }
@@ -184,115 +211,50 @@ const table = [
184
211
  property: "borderCollapse",
185
212
  value: { type: "keyword", value: "separate" }
186
213
  },
214
+ boxSizing("border-box"),
187
215
  {
188
- property: "boxSizing",
189
- value: { type: "keyword", value: "border-box" }
190
- },
191
- {
192
- property: "borderSpacing",
216
+ property: "textIndent",
193
217
  value: { type: "unit", value: 0, unit: "number" }
194
218
  }
195
219
  ];
196
- const caption = [
197
- {
198
- property: "display",
199
- value: { type: "keyword", value: "table" }
200
- },
201
- {
202
- property: "textAlign",
203
- value: { type: "keyword", value: "center" }
204
- }
205
- ];
206
- const tr = [
207
- {
208
- property: "display",
209
- value: { type: "keyword", value: "table-row" }
210
- },
211
- {
212
- property: "verticalAlign",
213
- value: { type: "keyword", value: "inherit" }
214
- }
215
- ];
216
- const col = [
217
- {
218
- property: "display",
219
- value: { type: "keyword", value: "table-column" }
220
- }
221
- ];
222
- const colgroup = [
223
- {
224
- property: "display",
225
- value: { type: "keyword", value: "table-column-group" }
226
- }
227
- ];
220
+ const caption = [display("table-caption"), textAlign("center")];
221
+ const tr = [display("table-row"), verticalAlign("inherit")];
222
+ const col = [display("table-column")];
223
+ const colgroup = [display("table-column-group")];
228
224
  const tbody = [
229
- {
230
- property: "display",
231
- value: { type: "keyword", value: "table-row-group" }
232
- },
233
- {
234
- property: "verticalAlign",
235
- value: { type: "keyword", value: "middle" }
236
- }
225
+ display("table-row-group"),
226
+ verticalAlign("middle")
237
227
  ];
238
228
  const thead = [
239
- {
240
- property: "display",
241
- value: { type: "keyword", value: "table-header-group" }
242
- },
243
- {
244
- property: "verticalAlign",
245
- value: { type: "keyword", value: "middle" }
246
- }
229
+ display("table-header-group"),
230
+ verticalAlign("middle")
247
231
  ];
248
232
  const tfoot = [
249
- {
250
- property: "display",
251
- value: { type: "keyword", value: "table-footer-group" }
252
- },
253
- {
254
- property: "verticalAlign",
255
- value: { type: "keyword", value: "middle" }
256
- }
233
+ display("table-footer-group"),
234
+ verticalAlign("middle")
257
235
  ];
258
236
  const td = [
259
- {
260
- property: "display",
261
- value: { type: "keyword", value: "table-cell" }
262
- },
263
- {
264
- property: "verticalAlign",
265
- value: { type: "keyword", value: "inherit" }
266
- },
267
- {
268
- property: "textAlign",
269
- value: { type: "keyword", value: "unset" }
270
- },
271
- pt1px,
272
- pr1px,
273
- pb1px,
274
- pl1px
237
+ display("table-cell"),
238
+ verticalAlign("inherit"),
239
+ paddingTop(1, "px"),
240
+ paddingRight(1, "px"),
241
+ paddingBottom(1, "px"),
242
+ paddingLeft(1, "px")
275
243
  ];
276
244
  const th = [
277
- {
278
- property: "display",
279
- value: { type: "keyword", value: "table-cell" }
280
- },
281
- {
282
- property: "verticalAlign",
283
- value: { type: "keyword", value: "inherit" }
284
- },
285
- fontWeightBold,
286
- pt1px,
287
- pr1px,
288
- pb1px,
289
- pl1px
245
+ display("table-cell"),
246
+ verticalAlign("inherit"),
247
+ fontWeight("bold"),
248
+ paddingTop(1, "px"),
249
+ paddingRight(1, "px"),
250
+ paddingBottom(1, "px"),
251
+ paddingLeft(1, "px")
290
252
  ];
291
253
  const b = [
292
254
  // in firefox defined as bolder
293
- fontWeightBold
255
+ fontWeight("bold")
294
256
  ];
295
- const i = [fontStyleItalic];
257
+ const i = [fontStyle("italic")];
296
258
  const code = [
297
259
  {
298
260
  property: "fontFamily",
@@ -306,11 +268,8 @@ const mark = [
306
268
  // in firefox defined as Mark
307
269
  value: { type: "keyword", value: "yellow" }
308
270
  },
309
- {
310
- property: "color",
311
- // in firefox defined as MarkText
312
- value: { type: "keyword", value: "black" }
313
- }
271
+ // in firefox defined as MarkText
272
+ color("black")
314
273
  ];
315
274
  const u = [
316
275
  {
@@ -325,20 +284,14 @@ const s = [
325
284
  }
326
285
  ];
327
286
  const sub = [
328
- {
329
- property: "verticalAlign",
330
- value: { type: "keyword", value: "sub" }
331
- },
287
+ verticalAlign("sub"),
332
288
  {
333
289
  property: "fontSize",
334
290
  value: { type: "keyword", value: "smaller" }
335
291
  }
336
292
  ];
337
293
  const sup = [
338
- {
339
- property: "verticalAlign",
340
- value: { type: "keyword", value: "super" }
341
- },
294
+ verticalAlign("super"),
342
295
  {
343
296
  property: "fontSize",
344
297
  value: { type: "keyword", value: "smaller" }
@@ -349,10 +302,7 @@ const a = [
349
302
  property: "textDecorationLine",
350
303
  value: { type: "keyword", value: "underline" }
351
304
  },
352
- {
353
- property: "cursor",
354
- value: { type: "keyword", value: "pointer" }
355
- },
305
+ cursor("pointer"),
356
306
  {
357
307
  property: "color",
358
308
  value: { type: "rgb", r: 0, g: 0, b: 238, alpha: 1 }
@@ -361,80 +311,32 @@ const a = [
361
311
  // and modeling var-like defaults is too complex
362
312
  ];
363
313
  const ul = [
364
- displayBlock,
314
+ display("block"),
365
315
  {
366
316
  property: "listStyleType",
367
317
  value: { type: "keyword", value: "disc" }
368
318
  },
369
- mt1em,
370
- mb1em,
371
- pl40px
319
+ marginTop(1, "em"),
320
+ marginBottom(1, "em"),
321
+ paddingLeft(40, "px")
372
322
  ];
373
323
  const ol = [
374
- displayBlock,
324
+ display("block"),
375
325
  {
376
326
  property: "listStyleType",
377
327
  value: { type: "keyword", value: "decimal" }
378
328
  },
379
- mt1em,
380
- mb1em,
381
- pl40px
382
- ];
383
- const li = [
384
- {
385
- property: "display",
386
- value: { type: "keyword", value: "list-item" }
387
- },
388
- {
389
- property: "textAlign",
390
- value: { type: "keyword", value: "match-parent" }
391
- }
329
+ marginTop(1, "em"),
330
+ marginBottom(1, "em"),
331
+ paddingLeft(40, "px")
392
332
  ];
333
+ const li = [display("list-item"), textAlign("match-parent")];
393
334
  const hr = [
394
- {
395
- property: "color",
396
- value: { type: "keyword", value: "gray" }
397
- },
398
- {
399
- property: "borderTopWidth",
400
- value: { type: "unit", value: 1, unit: "px" }
401
- },
402
- {
403
- property: "borderRightWidth",
404
- value: { type: "unit", value: 1, unit: "px" }
405
- },
406
- {
407
- property: "borderBottomWidth",
408
- value: { type: "unit", value: 1, unit: "px" }
409
- },
410
- {
411
- property: "borderLeftWidth",
412
- value: { type: "unit", value: 1, unit: "px" }
413
- },
414
- {
415
- property: "borderTopStyle",
416
- value: { type: "keyword", value: "inset" }
417
- },
418
- {
419
- property: "borderRightStyle",
420
- value: { type: "keyword", value: "inset" }
421
- },
422
- {
423
- property: "borderBottomStyle",
424
- value: { type: "keyword", value: "inset" }
425
- },
426
- {
427
- property: "borderLeftStyle",
428
- value: { type: "keyword", value: "inset" }
429
- },
430
- {
431
- property: "marginTop",
432
- value: { type: "unit", value: 0.5, unit: "em" }
433
- },
434
- {
435
- property: "marginBottom",
436
- value: { type: "unit", value: 0.5, unit: "em" }
437
- },
335
+ color("gray"),
336
+ ...borderWidth(1, "px"),
337
+ ...borderStyle("inset"),
338
+ marginTop(0.5, "em"),
339
+ marginBottom(0.5, "em"),
438
340
  {
439
341
  property: "marginLeft",
440
342
  value: { type: "keyword", value: "auto" }
@@ -449,7 +351,142 @@ const hr = [
449
351
  value: { type: "keyword", value: "hidden" }
450
352
  },
451
353
  /* This is not really per spec but all browsers define it */
452
- displayBlock
354
+ display("block")
355
+ ];
356
+ const formControlReset = [
357
+ // in firefox defined as FieldText
358
+ color("initial"),
359
+ { property: "letterSpacing", value: { type: "keyword", value: "normal" } },
360
+ { property: "wordSpacing", value: { type: "keyword", value: "normal" } },
361
+ { property: "lineHeight", value: { type: "keyword", value: "normal" } },
362
+ { property: "textTransform", value: { type: "keyword", value: "none" } },
363
+ { property: "textIndent", value: { type: "unit", value: 0, unit: "number" } },
364
+ { property: "textShadow", value: { type: "keyword", value: "none" } },
365
+ display("inline-block"),
366
+ textAlign("start")
367
+ ];
368
+ const legend = [
369
+ display("block"),
370
+ paddingLeft(2, "px"),
371
+ paddingRight(2, "px")
372
+ ];
373
+ const fieldset = [
374
+ display("block"),
375
+ marginLeft(2, "px"),
376
+ marginRight(2, "px"),
377
+ paddingTop(0.35, "em"),
378
+ paddingBottom(0.625, "em"),
379
+ paddingLeft(0.75, "em"),
380
+ paddingRight(0.75, "em"),
381
+ ...borderWidth(2, "px"),
382
+ // in browsers defined as groove
383
+ ...borderStyle("solid"),
384
+ ...borderColor("ThreeDFace"),
385
+ { property: "minWidth", value: { type: "keyword", value: "min-content" } }
386
+ ];
387
+ const label = [cursor("default")];
388
+ const input = [
389
+ appearance("auto"),
390
+ paddingTop(1, "px"),
391
+ paddingRight(1, "px"),
392
+ paddingBottom(1, "px"),
393
+ paddingLeft(1, "px"),
394
+ ...borderWidth(2, "px"),
395
+ // in browsers defined as inset
396
+ ...borderStyle("solid"),
397
+ // in firefox defined as Field
398
+ { property: "backgroundColor", value: { type: "keyword", value: "white" } },
399
+ cursor("text")
400
+ ];
401
+ const textarea = [
402
+ ...formControlReset,
403
+ appearance("auto"),
404
+ marginTop(1, "px"),
405
+ marginBottom(1, "px"),
406
+ // in firefox 2px
407
+ ...borderWidth(1, "px"),
408
+ // in browsers defined as inset
409
+ ...borderStyle("solid"),
410
+ paddingTop(2, "px"),
411
+ paddingRight(2, "px"),
412
+ paddingBottom(2, "px"),
413
+ paddingLeft(2, "px"),
414
+ // in firefox defined as Field
415
+ { property: "backgroundColor", value: { type: "keyword", value: "white" } },
416
+ verticalAlign("text-bottom"),
417
+ cursor("text"),
418
+ { property: "resize", value: { type: "keyword", value: "both" } },
419
+ whiteSpace("pre-wrap"),
420
+ {
421
+ property: "wordWrap",
422
+ value: { type: "keyword", value: "break-word" }
423
+ }
424
+ ];
425
+ const select = [
426
+ ...formControlReset,
427
+ display("inline-block"),
428
+ marginTop(0),
429
+ marginRight(0),
430
+ marginBottom(0),
431
+ marginLeft(0),
432
+ paddingTop(1, "px"),
433
+ paddingBottom(1, "px"),
434
+ paddingRight(4, "px"),
435
+ paddingLeft(4, "px"),
436
+ ...borderWidth(2, "px"),
437
+ // in browsers defined as inset
438
+ ...borderStyle("solid"),
439
+ whiteSpace("nowrap"),
440
+ {
441
+ property: "wordWrap",
442
+ value: { type: "keyword", value: "normal" }
443
+ },
444
+ cursor("default"),
445
+ boxSizing("border-box"),
446
+ userSelect("none"),
447
+ {
448
+ property: "overflow",
449
+ value: { type: "keyword", value: "clip" }
450
+ },
451
+ verticalAlign("baseline"),
452
+ appearance("auto")
453
+ ];
454
+ const option = [
455
+ display("block"),
456
+ { property: "float", value: { type: "keyword", value: "none" } },
457
+ { property: "position", value: { type: "keyword", value: "static" } },
458
+ { property: "minHeight", value: { type: "unit", value: 1, unit: "em" } },
459
+ paddingTop(2, "px"),
460
+ paddingBottom(2, "px"),
461
+ paddingRight(2, "px"),
462
+ paddingLeft(4, "px"),
463
+ userSelect("none"),
464
+ whiteSpace("nowrap"),
465
+ {
466
+ property: "wordWrap",
467
+ value: { type: "keyword", value: "normal" }
468
+ }
469
+ ];
470
+ const button = [
471
+ ...formControlReset,
472
+ appearance("auto"),
473
+ // in firefox defined as 1px 8px
474
+ paddingTop(2, "px"),
475
+ paddingBottom(3, "px"),
476
+ paddingLeft(6, "px"),
477
+ paddingRight(6, "px"),
478
+ ...borderWidth(2, "px"),
479
+ // in browsers defined as outset
480
+ ...borderStyle("solid"),
481
+ cursor("default"),
482
+ boxSizing("border-box"),
483
+ userSelect("none"),
484
+ textAlign("center"),
485
+ {
486
+ property: "backgroundColor",
487
+ // in browsers defined as ButtonFace
488
+ value: { type: "keyword", value: "lightgray" }
489
+ }
453
490
  ];
454
491
  export {
455
492
  a,
@@ -459,6 +496,7 @@ export {
459
496
  b,
460
497
  blockquote,
461
498
  body,
499
+ button,
462
500
  caption,
463
501
  i as cite,
464
502
  code,
@@ -472,6 +510,7 @@ export {
472
510
  p as dl,
473
511
  article as dt,
474
512
  i as em,
513
+ fieldset,
475
514
  article as figcaption,
476
515
  blockquote as figure,
477
516
  article as footer,
@@ -487,18 +526,23 @@ export {
487
526
  hr,
488
527
  article as html,
489
528
  i,
529
+ input,
490
530
  u as ins,
491
531
  code as kbd,
532
+ label,
533
+ legend,
492
534
  li,
493
535
  article as main,
494
536
  mark,
495
537
  article as nav,
496
538
  ol,
539
+ option,
497
540
  p,
498
541
  pre,
499
542
  s,
500
543
  code as samp,
501
544
  article as section,
545
+ select,
502
546
  b as strong,
503
547
  sub,
504
548
  article as summary,
@@ -506,6 +550,7 @@ export {
506
550
  table,
507
551
  tbody,
508
552
  td,
553
+ textarea,
509
554
  tfoot,
510
555
  th,
511
556
  thead,