@semanticus/semanticus-css 3.1.0 → 3.1.3
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 +7 -7
- package/dist/semanticus-no-utilities.css +1 -16
- package/dist/semanticus-semantics.css +1 -1
- package/dist/semanticus.css +2 -17
- package/package.json +1 -1
- package/src/components/_content-grid.css +1 -1
- package/src/components/_sidebar.css +16 -11
- package/src/index.css +1 -1
- package/src/semantics/elements/_details.css +20 -12
- package/src/variables/_theme.css +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semanticus/semanticus-css",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.3",
|
|
4
4
|
"description": "lightweight CSS framework that prioritizes semantic HTML and ARIA-focused accessibility, with a small set of atomic utilities",
|
|
5
5
|
"author": "Joao Goncalves",
|
|
6
6
|
"style": "./dist/semanticus.css",
|
|
@@ -1,26 +1,30 @@
|
|
|
1
|
-
|
|
1
|
+
/* Preventing scrollbars on the page while the sidebar is open */
|
|
2
|
+
body:has(.sidebar:popover-open) {
|
|
3
|
+
overflow-x: hidden;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.sidebar {
|
|
2
7
|
z-index: 1020;
|
|
3
8
|
position: sticky !important;
|
|
4
|
-
top: 0;
|
|
5
9
|
max-height: 100svh;
|
|
6
10
|
align-self: stretch;
|
|
7
11
|
display: flex;
|
|
8
12
|
flex-direction: column;
|
|
9
|
-
|
|
10
|
-
/* Opening animation using @starting-style (Chrome 117+, Firefox 129+, Safari 17.4+) */
|
|
11
|
-
/* Gracefully degrades to instant appearance in unsupported browsers */
|
|
12
|
-
transition:
|
|
13
|
-
opacity 0.2s ease-in-out,
|
|
14
|
-
transform 0.2s ease-in-out;
|
|
13
|
+
top: 0; /* for position sticky to take effect */
|
|
15
14
|
|
|
16
15
|
&:popover-open {
|
|
17
16
|
margin: 0;
|
|
18
17
|
display: flex !important;
|
|
19
18
|
width: 100%;
|
|
20
19
|
box-shadow: var(--menu-box-shadow);
|
|
21
|
-
background-color: var(--background-color);
|
|
22
20
|
left: 0;
|
|
23
21
|
bottom: 0;
|
|
22
|
+
opacity: 1;
|
|
23
|
+
transform: translateX(0);
|
|
24
|
+
transition:
|
|
25
|
+
opacity 0.3s,
|
|
26
|
+
transform 0.3s,
|
|
27
|
+
display 0.3s allow-discrete;
|
|
24
28
|
|
|
25
29
|
&[data-placement="right"] {
|
|
26
30
|
left: unset;
|
|
@@ -38,7 +42,7 @@ aside.sidebar {
|
|
|
38
42
|
}
|
|
39
43
|
|
|
40
44
|
@starting-style {
|
|
41
|
-
|
|
45
|
+
.sidebar:popover-open {
|
|
42
46
|
opacity: 0;
|
|
43
47
|
transform: translateX(-20px);
|
|
44
48
|
|
|
@@ -47,8 +51,9 @@ aside.sidebar {
|
|
|
47
51
|
}
|
|
48
52
|
}
|
|
49
53
|
|
|
50
|
-
|
|
54
|
+
.sidebar:popover-open::backdrop {
|
|
51
55
|
backdrop-filter: none;
|
|
52
56
|
background-color: transparent;
|
|
53
57
|
}
|
|
54
58
|
}
|
|
59
|
+
|
package/src/index.css
CHANGED
|
@@ -3,7 +3,6 @@ summary {
|
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
details {
|
|
6
|
-
--_details-summary-background-color: var(--details-summary-background-color);
|
|
7
6
|
--_details-summary-color: var(--details-summary-color);
|
|
8
7
|
--_details-summary-color-focus: var(--primary-color-hover);
|
|
9
8
|
--_details-summary-color-open: var(--details-summary-color-open);
|
|
@@ -16,14 +15,14 @@ details {
|
|
|
16
15
|
list-style-type: none;
|
|
17
16
|
cursor: pointer;
|
|
18
17
|
transition: color var(--transition);
|
|
19
|
-
|
|
20
18
|
color: var(--_details-summary-color);
|
|
21
|
-
background-color: var(--_details-summary-background-color);
|
|
22
19
|
|
|
23
20
|
&:not([role]) {
|
|
24
|
-
&:focus {
|
|
21
|
+
&:is(:active, :focus) {
|
|
25
22
|
--_details-summary-color: var(--_details-summary-color-focus);
|
|
23
|
+
}
|
|
26
24
|
|
|
25
|
+
&:focus-visible {
|
|
27
26
|
outline: var(--outline-width) solid
|
|
28
27
|
var(--_details-summary-outline-color);
|
|
29
28
|
box-shadow: 0 0 0 var(--focus-ring-width)
|
|
@@ -99,14 +98,13 @@ details:has(> summary[aria-haspopup="menu"]) {
|
|
|
99
98
|
position: relative;
|
|
100
99
|
|
|
101
100
|
> summary[aria-haspopup="menu"] {
|
|
101
|
+
--_details-dropdown-background-color: var(
|
|
102
|
+
--details-dropdown-background-color
|
|
103
|
+
);
|
|
102
104
|
--_details-dropdown-color: var(--details-dropdown-color);
|
|
103
105
|
--_details-dropdown-border-color: var(--details-dropdown-border-color);
|
|
104
|
-
--_details-dropdown-padding-block: var(
|
|
105
|
-
|
|
106
|
-
);
|
|
107
|
-
--_details-dropdown-padding-inline: var(
|
|
108
|
-
--details-dropdown-padding-inline
|
|
109
|
-
);
|
|
106
|
+
--_details-dropdown-padding-block: var(--details-dropdown-padding-block);
|
|
107
|
+
--_details-dropdown-padding-inline: var(--details-dropdown-padding-inline);
|
|
110
108
|
--_details-summary-color: var(--_details-dropdown-color);
|
|
111
109
|
|
|
112
110
|
&::after {
|
|
@@ -117,6 +115,7 @@ details:has(> summary[aria-haspopup="menu"]) {
|
|
|
117
115
|
}
|
|
118
116
|
|
|
119
117
|
&:not([role]) {
|
|
118
|
+
background-color: var(--_details-dropdown-background-color);
|
|
120
119
|
border: var(--border-width) solid var(--_details-dropdown-border-color);
|
|
121
120
|
border-radius: var(--border-radius);
|
|
122
121
|
padding: var(--_details-dropdown-padding-block)
|
|
@@ -124,8 +123,8 @@ details:has(> summary[aria-haspopup="menu"]) {
|
|
|
124
123
|
display: flex;
|
|
125
124
|
align-items: center;
|
|
126
125
|
height: calc(
|
|
127
|
-
1rem * var(--line-height) + var(--_details-dropdown-padding-block) *
|
|
128
|
-
|
|
126
|
+
1rem * var(--line-height) + var(--_details-dropdown-padding-block) * 2 +
|
|
127
|
+
var(--border-width) * 2
|
|
129
128
|
);
|
|
130
129
|
line-height: inherit;
|
|
131
130
|
cursor: pointer;
|
|
@@ -135,6 +134,15 @@ details:has(> summary[aria-haspopup="menu"]) {
|
|
|
135
134
|
border-color var(--transition),
|
|
136
135
|
color var(--transition);
|
|
137
136
|
|
|
137
|
+
&:is(:active, :focus) {
|
|
138
|
+
--_details-summary-color: var(--details-summary-color);
|
|
139
|
+
|
|
140
|
+
outline: var(--outline-width) solid
|
|
141
|
+
var(--_details-summary-outline-color);
|
|
142
|
+
box-shadow: 0 0 0 var(--focus-ring-width)
|
|
143
|
+
var(--_details-summary-outline-color);
|
|
144
|
+
}
|
|
145
|
+
|
|
138
146
|
&[aria-invalid="false"] {
|
|
139
147
|
--_details-dropdown-border-color: var(--success-background-color);
|
|
140
148
|
--_details-summary-outline-color: var(--success-outline-color);
|
package/src/variables/_theme.css
CHANGED
|
@@ -245,12 +245,12 @@
|
|
|
245
245
|
|
|
246
246
|
/* --- Details --- */
|
|
247
247
|
/* Affects accordions and dropdowns */
|
|
248
|
-
--details-summary-background-color: var(--inputs-background-color);
|
|
249
248
|
--details-summary-color: var(--color);
|
|
250
249
|
--details-summary-color-open: var(--color-muted);
|
|
251
250
|
|
|
252
251
|
/* --- Dropdown styling applied to the summary element --- */
|
|
253
252
|
--details-dropdown-color: var(--inputs-placeholder-color);
|
|
253
|
+
--details-dropdown-background-color: var(--inputs-background-color);
|
|
254
254
|
--details-dropdown-border-color: var(--inputs-border-color);
|
|
255
255
|
--details-dropdown-padding-block: var(--inputs-padding-block);
|
|
256
256
|
--details-dropdown-padding-inline: var(--inputs-padding-inline);
|