@semanticus/semanticus-css 2.2.0 → 3.0.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/README.md +21 -20
- package/dist/semanticus-no-utilities.css +1 -1
- package/dist/semanticus-semantics.css +1 -1
- package/dist/semanticus-utilities.css +1 -1
- package/dist/semanticus.css +2 -2
- package/dist/semanticus.palette.amber.css +1 -1
- package/dist/semanticus.palette.azure.css +1 -1
- package/dist/semanticus.palette.blue.css +1 -1
- package/dist/semanticus.palette.cyan.css +1 -1
- package/dist/semanticus.palette.fuchsia.css +1 -1
- package/dist/semanticus.palette.green.css +1 -1
- package/dist/semanticus.palette.grey.css +1 -1
- package/dist/semanticus.palette.indigo.css +1 -1
- package/dist/semanticus.palette.jade.css +1 -1
- package/dist/semanticus.palette.lime.css +1 -1
- package/dist/semanticus.palette.orange.css +1 -1
- package/dist/semanticus.palette.pink.css +1 -1
- package/dist/semanticus.palette.pumpkin.css +1 -1
- package/dist/semanticus.palette.purple.css +1 -1
- package/dist/semanticus.palette.red.css +1 -1
- package/dist/semanticus.palette.sand.css +1 -1
- package/dist/semanticus.palette.slate.css +1 -1
- package/dist/semanticus.palette.violet.css +1 -1
- package/dist/semanticus.palette.yellow.css +1 -1
- package/dist/semanticus.palette.zinc.css +1 -1
- package/dist/semanticus.size.pico.css +1 -1
- package/package.json +1 -1
- package/src/components/_card.css +55 -46
- package/src/components/_icons.css +2 -2
- package/src/components/_pane.css +15 -8
- package/src/components/_sidebar.css +6 -6
- package/src/components/_variables.css +28 -0
- package/src/components/modules.css +2 -0
- package/src/index.css +1 -1
- package/src/palettes/amber.css +22 -26
- package/src/palettes/azure.css +22 -26
- package/src/palettes/blue.css +22 -26
- package/src/palettes/cyan.css +22 -26
- package/src/palettes/fuchsia.css +25 -26
- package/src/palettes/green.css +22 -26
- package/src/palettes/grey.css +22 -26
- package/src/palettes/indigo.css +22 -26
- package/src/palettes/jade.css +22 -26
- package/src/palettes/lime.css +22 -26
- package/src/palettes/orange.css +22 -26
- package/src/palettes/pink.css +22 -26
- package/src/palettes/pumpkin.css +25 -26
- package/src/palettes/purple.css +22 -26
- package/src/palettes/red.css +22 -26
- package/src/palettes/sand.css +22 -26
- package/src/palettes/slate.css +22 -26
- package/src/palettes/violet.css +22 -26
- package/src/palettes/yellow.css +22 -26
- package/src/palettes/zinc.css +22 -26
- package/src/semantics/attributes/_aria-busy.css +1 -10
- package/src/semantics/attributes/_aria-disabled.css +2 -23
- package/src/semantics/attributes/_disabled.css +3 -0
- package/src/semantics/attributes/_popover.css +4 -3
- package/src/semantics/attributes/_role-group-search.css +135 -0
- package/src/semantics/attributes/_role-list.css +23 -0
- package/src/semantics/attributes/_role-status-alert.css +28 -22
- package/src/semantics/attributes/_role-tooltip.css +11 -8
- package/src/semantics/elements/_address.css +2 -2
- package/src/semantics/elements/_aside.css +1 -2
- package/src/semantics/elements/_blockquote.css +6 -6
- package/src/semantics/elements/_body.css +0 -2
- package/src/semantics/elements/_buttons.css +100 -0
- package/src/semantics/elements/_code.css +18 -8
- package/src/semantics/elements/_del.css +1 -1
- package/src/semantics/elements/_details.css +147 -162
- package/src/semantics/elements/_dialog.css +24 -17
- package/src/semantics/elements/_fieldset.css +27 -0
- package/src/semantics/elements/_figure.css +1 -1
- package/src/semantics/elements/_footer.css +0 -1
- package/src/semantics/elements/_header.css +0 -1
- package/src/semantics/elements/_headings.css +86 -9
- package/src/semantics/elements/_hgroup.css +2 -2
- package/src/semantics/elements/_hr.css +2 -2
- package/src/semantics/elements/_inputs.css +14 -0
- package/src/semantics/elements/_ins.css +1 -1
- package/src/semantics/elements/_label.css +4 -0
- package/src/semantics/elements/_links.css +39 -27
- package/src/semantics/elements/_lists.css +10 -8
- package/src/semantics/elements/_mark.css +2 -2
- package/src/semantics/elements/_nav.css +31 -7
- package/src/semantics/elements/_p.css +2 -2
- package/src/semantics/elements/_progress.css +18 -11
- package/src/semantics/elements/{_document.css → _root.css} +12 -9
- package/src/semantics/elements/_section.css +0 -1
- package/src/semantics/elements/_small.css +27 -0
- package/src/semantics/elements/_table.css +20 -6
- package/src/semantics/elements/inputs/_checkbox-radio.css +30 -0
- package/src/semantics/elements/inputs/_checkbox.css +19 -0
- package/src/semantics/elements/{_type-color.css → inputs/_color.css} +5 -3
- package/src/semantics/elements/inputs/_common.css +87 -0
- package/src/semantics/elements/inputs/_date.css +53 -0
- package/src/semantics/elements/inputs/_file.css +35 -0
- package/src/semantics/elements/inputs/_input.css +47 -0
- package/src/semantics/elements/inputs/_radio.css +11 -0
- package/src/semantics/elements/inputs/_range.css +69 -0
- package/src/semantics/elements/inputs/_search.css +48 -0
- package/src/semantics/elements/inputs/_select.css +32 -0
- package/src/semantics/elements/inputs/_switch.css +46 -0
- package/src/semantics/elements/inputs/_textarea.css +30 -0
- package/src/semantics/modules.css +9 -13
- package/src/sizes/pico.css +24 -23
- package/src/utilities/_grid.css +917 -179
- package/src/utilities/_variables.css +21 -14
- package/src/utilities/borders/_border-radius.css +9 -9
- package/src/utilities/borders/_border-style.css +10 -10
- package/src/utilities/colors/_bg-colors.css +22 -38
- package/src/utilities/colors/_border-colors.css +20 -26
- package/src/utilities/colors/_subtle-colors.css +55 -61
- package/src/utilities/colors/_text-bg-colors.css +35 -35
- package/src/utilities/colors/_text-colors.css +24 -46
- package/src/utilities/effects/_focus-ring.css +14 -11
- package/src/utilities/layout/_misc.css +4 -3
- package/src/utilities/sizing/_width.css +48 -0
- package/src/utilities/spacing/_gap.css +0 -43
- package/src/utilities/spacing/_margin.css +0 -1
- package/src/utilities/spacing/_padding.css +0 -1
- package/src/utilities/typography/_font-sizes.css +6 -6
- package/src/variables/_all.css +3 -4
- package/src/variables/_theme.css +394 -237
- package/src/variants/_intent.css +8 -0
- package/src/variants/_variables.css +109 -9
- package/src/variants/intent/_common.css +33 -0
- package/src/variants/intent/_contrast.css +30 -31
- package/src/variants/intent/_danger.css +7 -30
- package/src/variants/intent/_info.css +7 -30
- package/src/variants/intent/_primary.css +7 -30
- package/src/variants/intent/_secondary.css +7 -30
- package/src/variants/intent/_success.css +7 -30
- package/src/variants/intent/_warning.css +7 -30
- package/src/variants/modifiers/_ghost.css +52 -152
- package/src/variants/modifiers/_striped.css +6 -5
- package/src/variants/modifiers/_subtle.css +55 -113
- package/src/variants/modules.css +1 -7
- package/src/semantics/attributes/_role-group.css +0 -126
- package/src/semantics/attributes/_role-search.css +0 -14
- package/src/semantics/elements/_article.css +0 -3
- package/src/semantics/elements/_button.css +0 -124
- package/src/semantics/elements/_input.css +0 -302
- package/src/semantics/elements/_main.css +0 -3
- package/src/semantics/elements/_type-checkbox-radio.css +0 -139
- package/src/semantics/elements/_type-date.css +0 -37
- package/src/semantics/elements/_type-file.css +0 -23
- package/src/semantics/elements/_type-range.css +0 -87
- package/src/semantics/elements/_type-search.css +0 -30
- package/src/variables/_elements.css +0 -195
|
@@ -2,10 +2,10 @@ table {
|
|
|
2
2
|
border-collapse: collapse;
|
|
3
3
|
border-color: currentcolor; /* modern-normalize */
|
|
4
4
|
border-spacing: 0;
|
|
5
|
-
color: var(--color
|
|
5
|
+
color: var(--typography-color);
|
|
6
6
|
font-style: normal;
|
|
7
7
|
font-weight: var(--font-weight);
|
|
8
|
-
margin-bottom: var(--typography-
|
|
8
|
+
margin-bottom: var(--typography-margin-block);
|
|
9
9
|
margin-top: 0;
|
|
10
10
|
text-indent: 0;
|
|
11
11
|
width: 100%;
|
|
@@ -14,18 +14,32 @@ table {
|
|
|
14
14
|
th,
|
|
15
15
|
td {
|
|
16
16
|
padding: calc(var(--spacing) / 2) var(--spacing);
|
|
17
|
-
border-bottom: var(--border-
|
|
18
|
-
background-color: var(--color
|
|
19
|
-
color: var(--color
|
|
17
|
+
border-bottom: var(--border-width) solid var(--border-color);
|
|
18
|
+
background-color: var(--background-color);
|
|
19
|
+
color: var(--typography-color);
|
|
20
20
|
font-weight: var(--font-weight);
|
|
21
21
|
text-align: left;
|
|
22
22
|
text-align: start;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
+
thead {
|
|
26
|
+
& th,
|
|
27
|
+
& td {
|
|
28
|
+
--font-weight: var(--table-header-font-weight);
|
|
29
|
+
--border-width: var(--table-header-border-width);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
25
33
|
tfoot {
|
|
26
34
|
& th,
|
|
27
35
|
& td {
|
|
28
|
-
|
|
36
|
+
--font-weight: var(--table-header-font-weight);
|
|
37
|
+
--border-width: var(--table-header-border-width);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
& th,
|
|
41
|
+
& td {
|
|
42
|
+
border-top: var(--border-width) solid var(--border-color);
|
|
29
43
|
border-bottom: 0;
|
|
30
44
|
}
|
|
31
45
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* See ./_common.css for shared styles */
|
|
2
|
+
|
|
3
|
+
[type="checkbox"],
|
|
4
|
+
[type="radio"] {
|
|
5
|
+
--_inputs-border-width: var(--input-checkbox-border-width);
|
|
6
|
+
|
|
7
|
+
padding: 0;
|
|
8
|
+
appearance: none;
|
|
9
|
+
width: 1.25em;
|
|
10
|
+
height: 1.25em;
|
|
11
|
+
margin-top: -0.125em;
|
|
12
|
+
margin-inline-end: 0.5em;
|
|
13
|
+
vertical-align: middle;
|
|
14
|
+
cursor: pointer;
|
|
15
|
+
accent-color: var(--_inputs-accent-color);
|
|
16
|
+
|
|
17
|
+
&:is(:checked, :checked:active, :checked:focus) {
|
|
18
|
+
--_inputs-border-color: var(--_inputs-accent-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
& ~ label {
|
|
22
|
+
display: inline-block;
|
|
23
|
+
margin-bottom: 0;
|
|
24
|
+
cursor: pointer;
|
|
25
|
+
|
|
26
|
+
&:not(:last-of-type) {
|
|
27
|
+
margin-inline-end: 1em;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/* See ./_common.css for shared styles */
|
|
2
|
+
|
|
3
|
+
[type="checkbox"] {
|
|
4
|
+
&:is(:checked, :checked:active, :checked:focus) {
|
|
5
|
+
--_inputs-background-color: var(--_inputs-accent-color);
|
|
6
|
+
|
|
7
|
+
background-image: var(--icon-checkbox);
|
|
8
|
+
background-position: center;
|
|
9
|
+
background-size: 0.75em auto;
|
|
10
|
+
background-repeat: no-repeat;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&:indeterminate {
|
|
14
|
+
background-image: var(--icon-minus);
|
|
15
|
+
background-position: center;
|
|
16
|
+
background-size: 0.75em auto;
|
|
17
|
+
background-repeat: no-repeat;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
/* See ./_common.css for shared styles */
|
|
2
|
+
|
|
3
|
+
[type="color"] {
|
|
2
4
|
&::-webkit-color-swatch-wrapper {
|
|
3
5
|
padding: 0;
|
|
4
6
|
}
|
|
@@ -9,11 +11,11 @@
|
|
|
9
11
|
|
|
10
12
|
&::-webkit-color-swatch {
|
|
11
13
|
border: 0;
|
|
12
|
-
border-radius: calc(var(--radius) * 0.5);
|
|
14
|
+
border-radius: calc(var(--_inputs-border-radius) * 0.5);
|
|
13
15
|
}
|
|
14
16
|
|
|
15
17
|
&::-moz-color-swatch {
|
|
16
18
|
border: 0;
|
|
17
|
-
border-radius: calc(var(--radius) * 0.5);
|
|
19
|
+
border-radius: calc(var(--_inputs-border-radius) * 0.5);
|
|
18
20
|
}
|
|
19
21
|
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
input,
|
|
2
|
+
optgroup,
|
|
3
|
+
select,
|
|
4
|
+
textarea {
|
|
5
|
+
margin: 0;
|
|
6
|
+
font-size: 1rem;
|
|
7
|
+
line-height: var(--line-height);
|
|
8
|
+
font-family: inherit;
|
|
9
|
+
letter-spacing: inherit;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
:where(input, select, textarea) {
|
|
13
|
+
--_inputs-color: var(--inputs-color);
|
|
14
|
+
--_inputs-background-color: var(--inputs-background-color);
|
|
15
|
+
--_inputs-border-color: var(--inputs-border-color);
|
|
16
|
+
--_inputs-accent-color: var(--inputs-accent-color);
|
|
17
|
+
--_inputs-accent-color-muted: var(--inputs-accent-color-muted);
|
|
18
|
+
--_inputs-border-width: var(--border-width);
|
|
19
|
+
--_inputs-border-radius: var(--border-radius);
|
|
20
|
+
--_inputs-outline-color: var(--primary-outline-color);
|
|
21
|
+
|
|
22
|
+
/* Non button inputs */
|
|
23
|
+
&:not([type="button"], [type="submit"], [type="reset"], [type="file"]) {
|
|
24
|
+
padding: var(--inputs-padding-block) var(--inputs-padding-inline);
|
|
25
|
+
border: var(--_inputs-border-width) solid var(--_inputs-border-color);
|
|
26
|
+
border-radius: var(--_inputs-border-radius);
|
|
27
|
+
background-color: var(--_inputs-background-color);
|
|
28
|
+
color: var(--_inputs-color);
|
|
29
|
+
font-weight: var(--font-weight);
|
|
30
|
+
transition:
|
|
31
|
+
background-color var(--transition),
|
|
32
|
+
border-color var(--transition),
|
|
33
|
+
color var(--transition);
|
|
34
|
+
|
|
35
|
+
&:is(:active, :focus, :focus-visible) {
|
|
36
|
+
--_inputs-background-color: var(--inputs-background-color-focus);
|
|
37
|
+
|
|
38
|
+
outline-offset: 0;
|
|
39
|
+
outline: var(--outline-width) solid var(--_inputs-outline-color);
|
|
40
|
+
box-shadow: 0 0 0 var(--focus-ring-width) var(--_inputs-outline-color);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
&[aria-invalid="false"] {
|
|
45
|
+
--_inputs-border-color: var(--success-background-color);
|
|
46
|
+
--_inputs-accent-color: var(--success-background-color);
|
|
47
|
+
--_inputs-outline-color: var(--success-outline-color);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&[aria-invalid="true"] {
|
|
51
|
+
--_inputs-border-color: var(--danger-background-color);
|
|
52
|
+
--_inputs-accent-color: var(--danger-background-color);
|
|
53
|
+
--_inputs-outline-color: var(--danger-outline-color);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
&:not([type="checkbox"], [type="radio"]) {
|
|
57
|
+
width: 100%;
|
|
58
|
+
margin-bottom: var(--spacing);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
label > & {
|
|
62
|
+
margin-top: calc(var(--spacing) * 0.25);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
&::placeholder {
|
|
66
|
+
color: var(--inputs-placeholder-color);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
::-webkit-inner-spin-button,
|
|
71
|
+
::-webkit-outer-spin-button {
|
|
72
|
+
height: auto;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
::-webkit-file-upload-button {
|
|
76
|
+
appearance: auto;
|
|
77
|
+
font: inherit;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
::-moz-focus-inner {
|
|
81
|
+
padding: 0;
|
|
82
|
+
border-style: none;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
:-moz-ui-invalid {
|
|
86
|
+
box-shadow: none;
|
|
87
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/* See ./_common.css for shared styles */
|
|
2
|
+
|
|
3
|
+
[type="date"],
|
|
4
|
+
[type="datetime-local"],
|
|
5
|
+
[type="month"],
|
|
6
|
+
[type="time"],
|
|
7
|
+
[type="week"] {
|
|
8
|
+
background-image: var(--icon-date);
|
|
9
|
+
background-position: center right var(--icons-background-position-gap);
|
|
10
|
+
background-size: var(--icons-width) auto;
|
|
11
|
+
background-repeat: no-repeat;
|
|
12
|
+
padding-right: calc(
|
|
13
|
+
var(--icons-width) + var(--icons-background-position-gap)
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
&::-webkit-calendar-picker-indicator {
|
|
17
|
+
width: var(--icons-width);
|
|
18
|
+
margin-right: calc(
|
|
19
|
+
(var(--icons-width) + (var(--_inputs-border-width) * 2)) * -1
|
|
20
|
+
);
|
|
21
|
+
margin-left: var(--icons-background-position-gap);
|
|
22
|
+
|
|
23
|
+
/* Attempt at hidding the native icon, without hiding the outline in the process */
|
|
24
|
+
background: transparent;
|
|
25
|
+
color: transparent;
|
|
26
|
+
|
|
27
|
+
&:is(:active, :focus) {
|
|
28
|
+
outline: var(--outline-width) solid var(--_inputs-outline-color);
|
|
29
|
+
outline-offset: 2px;
|
|
30
|
+
border-radius: var(--_inputs-border-radius);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&[dir="rtl"],
|
|
35
|
+
[dir="rtl"] & {
|
|
36
|
+
text-align: right;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
[type="time"] {
|
|
41
|
+
background-image: var(--icon-time);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@-moz-document url-prefix() {
|
|
45
|
+
[type="date"],
|
|
46
|
+
[type="datetime-local"],
|
|
47
|
+
[type="month"],
|
|
48
|
+
[type="time"],
|
|
49
|
+
[type="week"] {
|
|
50
|
+
padding-right: var(--inputs-padding-inline);
|
|
51
|
+
background-image: none;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/* See ./_common.css for shared styles */
|
|
2
|
+
|
|
3
|
+
[type="file"] {
|
|
4
|
+
margin-left: calc(var(--focus-ring-width) * -1);
|
|
5
|
+
padding: calc(var(--inputs-padding-block) * 0.5) 0;
|
|
6
|
+
padding-left: var(--outline-width);
|
|
7
|
+
border: 0;
|
|
8
|
+
border-radius: 0;
|
|
9
|
+
background: none;
|
|
10
|
+
|
|
11
|
+
&:is(:active, :focus, :focus-visible) {
|
|
12
|
+
outline: none; /* We are outlining the file-selector-button instead */
|
|
13
|
+
box-shadow: none;
|
|
14
|
+
|
|
15
|
+
&::file-selector-button {
|
|
16
|
+
outline: var(--outline-width) solid var(--_buttons-outline-color);
|
|
17
|
+
box-shadow: 0 0 0 var(--focus-ring-width) var(--_buttons-outline-color);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&::file-selector-button {
|
|
22
|
+
margin-left: var(--focus-ring-width);
|
|
23
|
+
margin-right: calc(var(--spacing) / 2);
|
|
24
|
+
padding: calc(var(--inputs-padding-block) * 0.5)
|
|
25
|
+
var(--inputs-padding-inline);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&[aria-invalid="false"] {
|
|
29
|
+
color: var(--success-color);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&[aria-invalid="true"] {
|
|
33
|
+
color: var(--danger-color);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/* See ./_common.css for shared styles */
|
|
2
|
+
|
|
3
|
+
input {
|
|
4
|
+
overflow: visible;
|
|
5
|
+
|
|
6
|
+
&:not([type="checkbox"], [type="radio"], [type="range"]) {
|
|
7
|
+
height: calc(
|
|
8
|
+
1rem * var(--line-height) + var(--inputs-padding-block) * 2 +
|
|
9
|
+
var(--_inputs-border-width) * 2
|
|
10
|
+
);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&:not(
|
|
14
|
+
[type="checkbox"],
|
|
15
|
+
[type="radio"],
|
|
16
|
+
[type="range"],
|
|
17
|
+
[type="date"],
|
|
18
|
+
[type="datetime-local"],
|
|
19
|
+
[type="month"],
|
|
20
|
+
[type="time"],
|
|
21
|
+
[type="week"],
|
|
22
|
+
[type="search"]
|
|
23
|
+
) {
|
|
24
|
+
&[aria-invalid] {
|
|
25
|
+
background-position: center right var(--icons-background-position-gap);
|
|
26
|
+
background-repeat: no-repeat;
|
|
27
|
+
background-size: var(--icons-width) auto;
|
|
28
|
+
padding-inline-end: calc(
|
|
29
|
+
var(--inputs-padding-inline) + var(--icons-width) +
|
|
30
|
+
var(--icons-background-position-gap)
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
&[aria-invalid="false"] {
|
|
34
|
+
background-image: var(--icon-valid);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&[aria-invalid="true"] {
|
|
38
|
+
background-image: var(--icon-invalid);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
&[dir="rtl"],
|
|
43
|
+
[dir="rtl"] & {
|
|
44
|
+
background-position: center left var(--icons-background-position-gap);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/* See ./_common.css and ./_checkbox-radio.css for shared styles */
|
|
2
|
+
|
|
3
|
+
[type="radio"] {
|
|
4
|
+
--_inputs-border-radius: 50%;
|
|
5
|
+
|
|
6
|
+
&:is(:checked, :checked:active, :checked:focus) {
|
|
7
|
+
--_inputs-background-color: var(--input-radio-background-color);
|
|
8
|
+
|
|
9
|
+
border-width: 0.35em;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/* See ./_common.css for shared styles */
|
|
2
|
+
|
|
3
|
+
[type="range"] {
|
|
4
|
+
--_input-range-thumb-size: var(--input-range-thumb-size);
|
|
5
|
+
--_input-range-thumb-background-color: var(--_inputs-accent-color);
|
|
6
|
+
--_input-range-thumb-border-color: var(--input-range-thumb-border-color);
|
|
7
|
+
--_input-range-thumb-border-width: var(--input-range-thumb-border-width);
|
|
8
|
+
--_input-range-thumb-margin-top: var(--input-range-thumb-margin-top);
|
|
9
|
+
--_input-range-track-height: var(--input-range-track-height);
|
|
10
|
+
--_input-range-track-background-color: var(
|
|
11
|
+
--input-range-track-background-color
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
accent-color: var(--_inputs-accent-color);
|
|
15
|
+
appearance: none;
|
|
16
|
+
width: 100%;
|
|
17
|
+
height: var(--_input-range-thumb-size);
|
|
18
|
+
background: none;
|
|
19
|
+
padding: 0;
|
|
20
|
+
border-width: 0;
|
|
21
|
+
|
|
22
|
+
&::-webkit-slider-runnable-track {
|
|
23
|
+
width: 100%;
|
|
24
|
+
height: var(--_input-range-track-height);
|
|
25
|
+
border-radius: var(--_inputs-border-radius);
|
|
26
|
+
background-color: var(--_input-range-track-background-color);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&::-moz-range-track {
|
|
30
|
+
width: 100%;
|
|
31
|
+
height: var(--_input-range-track-height);
|
|
32
|
+
border-radius: var(--_inputs-border-radius);
|
|
33
|
+
background-color: var(--_input-range-track-background-color);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&::-moz-range-thumb,
|
|
37
|
+
&::-webkit-slider-thumb {
|
|
38
|
+
appearance: none;
|
|
39
|
+
width: var(--_input-range-thumb-size);
|
|
40
|
+
height: var(--_input-range-thumb-size);
|
|
41
|
+
margin-top: var(--_input-range-thumb-margin-top);
|
|
42
|
+
border: var(--_input-range-thumb-border-width) solid
|
|
43
|
+
var(--_input-range-thumb-border-color);
|
|
44
|
+
border-radius: 50%;
|
|
45
|
+
background-color: var(--_input-range-thumb-background-color);
|
|
46
|
+
cursor: pointer;
|
|
47
|
+
transition: transform var(--transition);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&:is(:active, :focus, :focus-visible) {
|
|
51
|
+
--_input-range-thumb-border-color: var(--_inputs-outline-color);
|
|
52
|
+
|
|
53
|
+
outline: none !important; /* We are outlining the file-selector-button instead */
|
|
54
|
+
box-shadow: none !important;
|
|
55
|
+
|
|
56
|
+
&::-moz-range-thumb,
|
|
57
|
+
&::-webkit-slider-thumb {
|
|
58
|
+
outline: var(--outline-width) solid var(--_inputs-outline-color);
|
|
59
|
+
outline-offset: calc((var(--focus-ring-width) * -1));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
&:active {
|
|
64
|
+
&::-moz-range-thumb,
|
|
65
|
+
&::-webkit-slider-thumb {
|
|
66
|
+
transform: scale(1.25);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/* See ./_common.css for shared styles */
|
|
2
|
+
|
|
3
|
+
input[type="search"] {
|
|
4
|
+
--_inputs-border-radius: var(--input-search-border-radius);
|
|
5
|
+
|
|
6
|
+
appearance: none;
|
|
7
|
+
|
|
8
|
+
&::-webkit-search-decoration {
|
|
9
|
+
appearance: none;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
background-image: var(--icon-search);
|
|
13
|
+
background-position: left var(--icons-background-position-gap) center;
|
|
14
|
+
background-repeat: no-repeat;
|
|
15
|
+
background-size: var(--icons-width) auto;
|
|
16
|
+
padding-inline-start: calc(
|
|
17
|
+
var(--inputs-padding-inline) + var(--icons-width) +
|
|
18
|
+
var(--icons-background-position-gap)
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
&[aria-invalid] {
|
|
22
|
+
padding-inline-end: calc(
|
|
23
|
+
var(--inputs-padding-inline) + var(--icons-width) +
|
|
24
|
+
var(--icons-background-position-gap)
|
|
25
|
+
);
|
|
26
|
+
background-position:
|
|
27
|
+
left var(--icons-background-position-gap) center,
|
|
28
|
+
right var(--icons-background-position-gap) center;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&[aria-invalid="false"] {
|
|
32
|
+
background-image: var(--icon-search), var(--icon-valid);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&[aria-invalid="true"] {
|
|
36
|
+
background-image: var(--icon-search), var(--icon-invalid);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
[dir="rtl"] & {
|
|
40
|
+
background-position: right var(--icons-background-position-gap) center;
|
|
41
|
+
|
|
42
|
+
&[aria-invalid] {
|
|
43
|
+
background-position:
|
|
44
|
+
right var(--icons-background-position-gap) center,
|
|
45
|
+
left var(--icons-background-position-gap) center;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/* See ./_common.css for shared styles */
|
|
2
|
+
|
|
3
|
+
select {
|
|
4
|
+
text-transform: none;
|
|
5
|
+
appearance: none;
|
|
6
|
+
|
|
7
|
+
&:not([multiple], [size]) {
|
|
8
|
+
background-image: var(--icon-chevron);
|
|
9
|
+
background-position: center right var(--icons-background-position-gap);
|
|
10
|
+
background-repeat: no-repeat;
|
|
11
|
+
background-size: var(--icons-width) auto;
|
|
12
|
+
padding-inline-end: calc(
|
|
13
|
+
var(--inputs-padding-inline) + var(--icons-width) +
|
|
14
|
+
var(--icons-background-position-gap)
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
&[multiple] option:checked {
|
|
19
|
+
background: var(--inputs-border-color);
|
|
20
|
+
color: var(--inputs-color);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&[dir="rtl"],
|
|
24
|
+
[dir="rtl"] & {
|
|
25
|
+
background-position: center left var(--icons-background-position-gap);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&:invalid {
|
|
29
|
+
color: var(--inputs-placeholder-color);
|
|
30
|
+
opacity: 1;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/* See ./_common.css for shared styles */
|
|
2
|
+
|
|
3
|
+
[type="checkbox"][role="switch"] {
|
|
4
|
+
--_inputs-border-width: var(--input-switch-border-width);
|
|
5
|
+
--_inputs-background-color: var(--_inputs-accent-color-muted);
|
|
6
|
+
--_input-switch-thumb-background-color: var(
|
|
7
|
+
--input-switch-thumb-background-color
|
|
8
|
+
);
|
|
9
|
+
--_inputs-border-radius: var(--input-switch-border-radius);
|
|
10
|
+
|
|
11
|
+
width: 2.25em;
|
|
12
|
+
height: 1.25em;
|
|
13
|
+
line-height: 1.25em;
|
|
14
|
+
|
|
15
|
+
&:before {
|
|
16
|
+
display: block;
|
|
17
|
+
aspect-ratio: 1;
|
|
18
|
+
height: 100%;
|
|
19
|
+
border-radius: 50%;
|
|
20
|
+
background-color: var(--_input-switch-thumb-background-color);
|
|
21
|
+
content: "";
|
|
22
|
+
transition: margin 0.1s ease-in-out;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&:not(:checked) {
|
|
26
|
+
&:not([aria-invalid]) {
|
|
27
|
+
--_inputs-border-color: var(--_inputs-accent-color-muted);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&:focus {
|
|
31
|
+
--_inputs-background-color: var(--_inputs-accent-color-muted);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&:checked {
|
|
36
|
+
background-image: none;
|
|
37
|
+
|
|
38
|
+
&::before {
|
|
39
|
+
margin-inline-start: calc(2.25em - 1.25em);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&[disabled] {
|
|
44
|
+
--_inputs-background-color: var(--_inputs-border-color);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* See ./_common.css for shared styles */
|
|
2
|
+
|
|
3
|
+
textarea {
|
|
4
|
+
overflow: auto;
|
|
5
|
+
display: block;
|
|
6
|
+
resize: vertical;
|
|
7
|
+
|
|
8
|
+
&[aria-invalid] {
|
|
9
|
+
background-position: top right var(--icons-background-position-gap);
|
|
10
|
+
background-repeat: no-repeat;
|
|
11
|
+
background-size: var(--icons-width)
|
|
12
|
+
calc(
|
|
13
|
+
var(--icons-width) * var(--line-height) +
|
|
14
|
+
var(--inputs-padding-block) * 2 + var(--_inputs-border-width) * 2
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
&[aria-invalid="false"] {
|
|
18
|
+
background-image: var(--icon-valid);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&[aria-invalid="true"] {
|
|
22
|
+
background-image: var(--icon-invalid);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&[dir="rtl"],
|
|
27
|
+
[dir="rtl"] & {
|
|
28
|
+
background-position: top left var(--icons-background-position-gap);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -1,36 +1,38 @@
|
|
|
1
|
+
@import "./elements/_root.css";
|
|
2
|
+
|
|
1
3
|
@import "./attributes/_aria-busy.css";
|
|
2
4
|
@import "./attributes/_aria-disabled.css";
|
|
5
|
+
@import "./attributes/_disabled.css";
|
|
3
6
|
@import "./attributes/_hidden.css";
|
|
4
7
|
@import "./attributes/_popover.css";
|
|
5
|
-
@import "./attributes/_role-group.css";
|
|
6
|
-
@import "./attributes/_role-
|
|
8
|
+
@import "./attributes/_role-group-search.css";
|
|
9
|
+
@import "./attributes/_role-list.css";
|
|
7
10
|
@import "./attributes/_role-status-alert.css";
|
|
8
11
|
@import "./attributes/_role-tooltip.css";
|
|
9
12
|
|
|
10
13
|
@import "./elements/_abbr.css";
|
|
11
14
|
@import "./elements/_address.css";
|
|
12
|
-
@import "./elements/_article.css";
|
|
13
15
|
@import "./elements/_aside.css";
|
|
14
16
|
@import "./elements/_blockquote.css";
|
|
15
17
|
@import "./elements/_body.css";
|
|
16
|
-
@import "./elements/
|
|
18
|
+
@import "./elements/_buttons.css";
|
|
17
19
|
@import "./elements/_code.css";
|
|
18
20
|
@import "./elements/_del.css";
|
|
19
21
|
@import "./elements/_details.css";
|
|
20
22
|
@import "./elements/_dialog.css";
|
|
21
|
-
@import "./elements/_document.css";
|
|
22
23
|
@import "./elements/_embedded.css";
|
|
24
|
+
@import "./elements/_fieldset.css";
|
|
23
25
|
@import "./elements/_figure.css";
|
|
24
26
|
@import "./elements/_footer.css";
|
|
25
27
|
@import "./elements/_header.css";
|
|
26
28
|
@import "./elements/_headings.css";
|
|
27
29
|
@import "./elements/_hgroup.css";
|
|
28
30
|
@import "./elements/_hr.css";
|
|
29
|
-
@import "./elements/
|
|
31
|
+
@import "./elements/_inputs.css";
|
|
30
32
|
@import "./elements/_ins.css";
|
|
33
|
+
@import "./elements/_label.css";
|
|
31
34
|
@import "./elements/_links.css";
|
|
32
35
|
@import "./elements/_lists.css";
|
|
33
|
-
@import "./elements/_main.css";
|
|
34
36
|
@import "./elements/_mark.css";
|
|
35
37
|
@import "./elements/_nav.css";
|
|
36
38
|
@import "./elements/_p.css";
|
|
@@ -41,9 +43,3 @@
|
|
|
41
43
|
@import "./elements/_sub.css";
|
|
42
44
|
@import "./elements/_sup.css";
|
|
43
45
|
@import "./elements/_table.css";
|
|
44
|
-
@import "./elements/_type-checkbox-radio.css";
|
|
45
|
-
@import "./elements/_type-color.css";
|
|
46
|
-
@import "./elements/_type-date.css";
|
|
47
|
-
@import "./elements/_type-file.css";
|
|
48
|
-
@import "./elements/_type-range.css";
|
|
49
|
-
@import "./elements/_type-search.css";
|