css-zero 3.0.1 → 4.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +807 -0
- data/LICENSE.txt +21 -0
- data/app/assets/stylesheets/css-zero/animations.css +50 -50
- data/app/assets/stylesheets/css-zero/effects.css +14 -7
- data/app/assets/stylesheets/css-zero/filters.css +33 -41
- data/app/assets/stylesheets/css-zero/reset.css +19 -17
- data/app/assets/stylesheets/css-zero/transitions.css +12 -0
- data/app/assets/stylesheets/css-zero/typography.css +5 -2
- data/app/assets/stylesheets/css-zero/utilities.css +20 -23
- data/lib/css_zero/version.rb +1 -1
- data/lib/generators/css_zero/add/USAGE +1 -1
- data/lib/generators/css_zero/add/resources.yml +17 -13
- data/lib/generators/css_zero/add/templates/app/assets/images/{menu.svg → panel-left.svg} +1 -1
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/accordion.css +16 -6
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/alert.css +1 -1
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/autoanimate.css +2 -1
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/avatar.css +11 -11
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/badge.css +2 -3
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/button.css +19 -9
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/card.css +1 -1
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/carousel.css +2 -2
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/combobox.css +21 -17
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/command.css +8 -15
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/datepicker.css +27 -19
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/dialog.css +14 -9
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/dropzone.css +1 -1
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/flash.css +49 -30
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/group.css +4 -0
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/icons.css +2 -2
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/input.css +1 -1
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/input_clearable.css +1 -1
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/keyboard.css +21 -0
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/layouts.css +7 -1
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/lexxy.css +46 -0
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/lightbox.css +2 -2
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/list.css +1 -1
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/menu.css +5 -3
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/pagination.css +17 -0
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/popover.css +51 -5
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/progress.css +8 -8
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/separator.css +4 -4
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/sheet.css +18 -12
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/sidebar_menu.css +3 -1
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/switch.css +17 -7
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/tabs.css +24 -8
- data/lib/generators/css_zero/add/templates/app/javascript/controllers/autosave_controller.js +1 -1
- data/lib/generators/css_zero/add/templates/app/javascript/controllers/chart_controller.js +22 -5
- data/lib/generators/css_zero/add/templates/app/javascript/controllers/combobox_controller.js +4 -4
- data/lib/generators/css_zero/add/templates/app/javascript/controllers/command_controller.js +5 -0
- data/lib/generators/css_zero/add/templates/app/javascript/controllers/dialog_controller.js +3 -5
- data/lib/generators/css_zero/add/templates/app/javascript/controllers/dropzone_controller.js +2 -2
- data/lib/generators/css_zero/add/templates/app/javascript/controllers/flash_controller.js +1 -1
- data/lib/generators/css_zero/add/templates/app/javascript/controllers/form_controller.js +4 -0
- data/lib/generators/css_zero/add/templates/app/javascript/controllers/interest_controller.js +27 -0
- data/lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js +2 -2
- data/lib/generators/css_zero/add/templates/app/javascript/controllers/sound_controller.js +70 -0
- data/lib/generators/css_zero/add/templates/app/javascript/controllers/toggle_class_controller.js +17 -0
- data/lib/generators/css_zero/authentication/templates/app/views/passwords/edit.html.erb.tt +1 -1
- data/lib/generators/css_zero/authentication/templates/app/views/passwords/new.html.erb.tt +1 -1
- data/lib/generators/css_zero/authentication/templates/app/views/sessions/new.html.erb.tt +2 -2
- data/lib/generators/css_zero/install/templates/app/assets/stylesheets/base.css +2 -3
- data/lib/generators/css_zero/install/templates/app/views/layouts/application.html.erb +2 -2
- data/lib/generators/css_zero/scaffold/templates/index.html.erb.tt +1 -1
- data/lib/generators/css_zero/scaffold/templates/partial.html.erb.tt +2 -2
- metadata +26 -7
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/prose.css +0 -140
- data/lib/generators/css_zero/add/templates/app/assets/stylesheets/trix.css +0 -210
- data/lib/generators/css_zero/add/templates/app/javascript/controllers/popover_controller.js +0 -55
|
@@ -1,47 +1,66 @@
|
|
|
1
1
|
.flash {
|
|
2
|
-
animation:
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
animation: flash-in-out 5s both;
|
|
3
|
+
animation-timing-function: var(--ease-bounce-2);
|
|
4
|
+
background-color: var(--color-surface);
|
|
5
|
+
border-radius: var(--rounded-lg);
|
|
6
|
+
border-width: var(--border);
|
|
7
|
+
box-shadow: var(--shadow-md);
|
|
8
|
+
color: var(--color-text);
|
|
9
|
+
font-size: var(--text-sm);
|
|
10
|
+
inline-size: var(--size-full);
|
|
11
|
+
margin: var(--flash-position, var(--size-6)) auto auto;
|
|
12
|
+
max-inline-size: calc(100% - 2rem);
|
|
8
13
|
|
|
9
14
|
&:is(:hover, :focus-within) {
|
|
10
15
|
animation-play-state: paused;
|
|
11
16
|
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.flash__content {
|
|
15
|
-
align-items: center;
|
|
16
|
-
column-gap: var(--size-2);
|
|
17
|
-
display: flex;
|
|
18
|
-
font-size: var(--text-fluid-base);
|
|
19
|
-
justify-content: center;
|
|
20
|
-
line-height: var(--leading-none);
|
|
21
|
-
min-block-size: var(--size-11);
|
|
22
|
-
padding: var(--size-1) var(--size-4);
|
|
23
|
-
text-align: center;
|
|
24
|
-
}
|
|
25
17
|
|
|
26
|
-
|
|
27
|
-
|
|
18
|
+
@media (width >= 40rem) {
|
|
19
|
+
max-inline-size: var(--flash-size, var(--max-i-sm));
|
|
20
|
+
}
|
|
28
21
|
}
|
|
29
22
|
|
|
30
|
-
.
|
|
31
|
-
|
|
23
|
+
.flash__content {
|
|
24
|
+
padding: var(--size-4);
|
|
32
25
|
}
|
|
33
26
|
|
|
34
27
|
.flash--extended {
|
|
35
28
|
animation-duration: 12s;
|
|
36
|
-
animation-name:
|
|
29
|
+
animation-name: flash-in-out-extended;
|
|
37
30
|
}
|
|
38
31
|
|
|
39
|
-
@keyframes
|
|
40
|
-
0
|
|
41
|
-
|
|
32
|
+
@keyframes flash-in-out {
|
|
33
|
+
0% {
|
|
34
|
+
opacity: 0;
|
|
35
|
+
transform: translateY(-100%);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
8%, 92% {
|
|
39
|
+
opacity: 1;
|
|
40
|
+
transform: translateY(0);
|
|
41
|
+
animation-timing-function: ease-out;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
100% {
|
|
45
|
+
opacity: 0;
|
|
46
|
+
transform: translateY(-100%);
|
|
47
|
+
}
|
|
42
48
|
}
|
|
43
49
|
|
|
44
|
-
@keyframes
|
|
45
|
-
0
|
|
46
|
-
|
|
50
|
+
@keyframes flash-in-out-extended {
|
|
51
|
+
0% {
|
|
52
|
+
opacity: 0;
|
|
53
|
+
transform: translateY(-100%);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
3.3%, 96.7% {
|
|
57
|
+
opacity: 1;
|
|
58
|
+
transform: translateY(0);
|
|
59
|
+
animation-timing-function: ease-out;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
100% {
|
|
63
|
+
opacity: 0;
|
|
64
|
+
transform: translateY(-100%);
|
|
65
|
+
}
|
|
47
66
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
align-items: stretch;
|
|
3
3
|
display: flex;
|
|
4
4
|
flex-direction: row;
|
|
5
|
+
inline-size: fit-content;
|
|
5
6
|
|
|
6
7
|
> :not(:first-child) {
|
|
7
8
|
border-end-start-radius: 0;
|
|
@@ -15,6 +16,7 @@
|
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
> :focus-visible {
|
|
19
|
+
position: relative;
|
|
18
20
|
z-index: 1;
|
|
19
21
|
}
|
|
20
22
|
}
|
|
@@ -23,6 +25,7 @@
|
|
|
23
25
|
align-items: stretch;
|
|
24
26
|
display: flex;
|
|
25
27
|
flex-direction: column;
|
|
28
|
+
inline-size: fit-content;
|
|
26
29
|
|
|
27
30
|
> :not(:first-child) {
|
|
28
31
|
border-block-start: 0;
|
|
@@ -36,6 +39,7 @@
|
|
|
36
39
|
}
|
|
37
40
|
|
|
38
41
|
> :focus-visible {
|
|
42
|
+
position: relative;
|
|
39
43
|
z-index: 1;
|
|
40
44
|
}
|
|
41
45
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
mask-image: var(--svg);
|
|
8
8
|
mask-position: center;
|
|
9
9
|
mask-repeat: no-repeat;
|
|
10
|
-
mask-size: var(--icon-size,
|
|
10
|
+
mask-size: var(--icon-size, 1rem);
|
|
11
11
|
pointer-events: none;
|
|
12
12
|
user-select: none;
|
|
13
13
|
}
|
|
@@ -35,9 +35,9 @@ img.icon {
|
|
|
35
35
|
.icon--copy { --svg: url("copy.svg"); }
|
|
36
36
|
.icon--download { --svg: url("download.svg"); }
|
|
37
37
|
.icon--ellipsis { --svg: url("ellipsis.svg"); }
|
|
38
|
-
.icon--menu { --svg: url("menu.svg"); }
|
|
39
38
|
.icon--minus { --svg: url("minus.svg"); }
|
|
40
39
|
.icon--moon { --svg: url("moon.svg"); }
|
|
40
|
+
.icon--panel-left { --svg: url("panel-left.svg"); }
|
|
41
41
|
.icon--search { --svg: url("search.svg"); }
|
|
42
42
|
.icon--share { --svg: url("share.svg"); }
|
|
43
43
|
.icon--sun { --svg: url("sun.svg"); }
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
box-shadow: var(--input-box-shadow, var(--shadow-xs));
|
|
9
9
|
font-size: var(--input-font-size, var(--text-sm));
|
|
10
10
|
inline-size: var(--input-inline-size, var(--size-full));
|
|
11
|
-
padding: var(--input-padding, .
|
|
11
|
+
padding: var(--input-padding, .25rem .625rem);
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
&:is([type="checkbox"], [type="radio"]) {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
.kbd {
|
|
2
|
+
align-items: center;
|
|
3
|
+
background-color: var(--kbd-background, var(--color-secondary));
|
|
4
|
+
border-radius: var(--kbd-radius, var(--rounded-md));
|
|
5
|
+
color: var(--kbd-color, var(--color-text-subtle));
|
|
6
|
+
display: inline-flex;
|
|
7
|
+
font-family: inherit;
|
|
8
|
+
font-size: var(--kbd-font-size, var(--text-xs));
|
|
9
|
+
font-weight: var(--font-medium);
|
|
10
|
+
column-gap: var(--size-1);
|
|
11
|
+
justify-content: center;
|
|
12
|
+
padding-inline: var(--kbd-padding, var(--size-1));
|
|
13
|
+
pointer-events: none;
|
|
14
|
+
user-select: none;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.kbd--tooltip {
|
|
18
|
+
--kbd-background: rgb(from var(--color-text-reversed) r g b / .2);
|
|
19
|
+
--kbd-color: var(--color-text-reversed);
|
|
20
|
+
}
|
|
21
|
+
|
|
@@ -5,6 +5,12 @@
|
|
|
5
5
|
grid-template-columns: var(--sidebar-width, 0) 1fr;
|
|
6
6
|
grid-template-rows: auto 1fr;
|
|
7
7
|
|
|
8
|
+
&.closed {
|
|
9
|
+
--sidebar-border-width: 0;
|
|
10
|
+
--sidebar-padding: 0;
|
|
11
|
+
--sidebar-width: 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
8
14
|
@media (width >= 48rem) {
|
|
9
15
|
--sidebar-border-width: var(--border);
|
|
10
16
|
--sidebar-padding: var(--size-2);
|
|
@@ -58,8 +64,8 @@
|
|
|
58
64
|
#main {
|
|
59
65
|
display: flex;
|
|
60
66
|
flex-direction: column;
|
|
61
|
-
gap: var(--size-4);
|
|
62
67
|
grid-area: main;
|
|
63
68
|
overflow: auto;
|
|
64
69
|
padding: var(--size-4);
|
|
70
|
+
row-gap: var(--size-4);
|
|
65
71
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
@import url("https://esm.sh/@37signals/lexxy@0.9.24/dist/stylesheets/lexxy.css");
|
|
2
|
+
|
|
3
|
+
:root {
|
|
4
|
+
--lexxy-color-ink: var(--color-text);
|
|
5
|
+
--lexxy-color-ink-medium: var(--color-text-subtle);
|
|
6
|
+
--lexxy-color-ink-light: var(--color-border-dark);
|
|
7
|
+
--lexxy-color-ink-lighter: var(--color-border);
|
|
8
|
+
--lexxy-color-ink-lightest: var(--color-border-light);
|
|
9
|
+
--lexxy-color-ink-inverted: var(--color-text-reversed);
|
|
10
|
+
--lexxy-color-accent-dark: var(--color-link);
|
|
11
|
+
--lexxy-color-accent-medium: var(--lexxy-color-accent-dark);
|
|
12
|
+
--lexxy-color-accent-light: var(--color-border-light);
|
|
13
|
+
--lexxy-color-accent-lightest: var(--lexxy-color-accent-light);
|
|
14
|
+
--lexxy-font-base: var(--font-system-ui);
|
|
15
|
+
--lexxy-font-mono: var(--font-monospace-code);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
:where(lexxy-toolbar) {
|
|
19
|
+
background: var(--lexxy-color-canvas);
|
|
20
|
+
border-color: var(--lexxy-color-ink-lighter);
|
|
21
|
+
border-start-end-radius: .35rem;
|
|
22
|
+
border-start-start-radius: .35rem;
|
|
23
|
+
font-size: var(--text-base);
|
|
24
|
+
line-height: var(--leading-none);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.lexxy-editor__content {
|
|
28
|
+
outline: 0;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.lexxy-editor__toolbar-button::after {
|
|
32
|
+
box-sizing: content-box;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.lexxy-code-language-picker {
|
|
36
|
+
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 19.5c-.7 0-1.3-.3-1.7-.8l-9.8-11.1c-.7-.8-.6-1.9.2-2.6.8-.6 1.9-.6 2.5.2l8.6 9.8c0 .1.2.1.4 0l8.6-9.8c.7-.8 1.8-.9 2.6-.2s.9 1.8.2 2.6l-9.8 11.1c-.4.5-1.1.8-1.7.8z' fill='%23808080'/%3E%3C/svg%3E");
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.lexxy--borderless {
|
|
40
|
+
lexxy-toolbar { border-radius: 0; }
|
|
41
|
+
lexxy-editor { border-block-end: 0; border-inline: 0; border-radius: 0; }
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.lexxy--sticky-toolbar {
|
|
45
|
+
lexxy-toolbar { inset-block-start: 0; position: sticky; z-index: 10; }
|
|
46
|
+
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
.list-row {
|
|
8
8
|
background-color: var(--item-background, transparent);
|
|
9
9
|
border: 1px solid var(--item-border-color, var(--color-border));
|
|
10
|
-
border-radius: var(--rounded-
|
|
10
|
+
border-radius: var(--rounded-xl);
|
|
11
11
|
font-size: var(--text-sm);
|
|
12
12
|
padding: var(--size-4);
|
|
13
13
|
}
|
|
@@ -7,9 +7,10 @@
|
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
.menu__header {
|
|
10
|
-
|
|
10
|
+
color: var(--color-text-subtle);
|
|
11
|
+
font-size: var(--text-xs);
|
|
11
12
|
font-weight: var(--font-medium);
|
|
12
|
-
padding: var(--size-
|
|
13
|
+
padding: var(--size-1) var(--size-1_5);
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
.menu__group {
|
|
@@ -28,7 +29,8 @@
|
|
|
28
29
|
--btn-font-weight: var(--font-normal);
|
|
29
30
|
--btn-justify-content: start;
|
|
30
31
|
--btn-outline-size: 0;
|
|
31
|
-
--btn-padding: var(--size-
|
|
32
|
+
--btn-padding: var(--size-1) var(--size-1_5);
|
|
33
|
+
--btn-radius: var(--rounded-md);
|
|
32
34
|
|
|
33
35
|
&:focus-visible {
|
|
34
36
|
--btn-background: var(--color-border-light);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
.pagination {
|
|
2
|
+
align-items: center;
|
|
3
|
+
column-gap: var(--size-1);
|
|
4
|
+
display: flex;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.pagination__button {
|
|
8
|
+
--btn-background: transparent;
|
|
9
|
+
--btn-border-color: transparent;
|
|
10
|
+
--btn-box-shadow: none;
|
|
11
|
+
--btn-cursor: pointer;
|
|
12
|
+
|
|
13
|
+
&[aria-current="page"] {
|
|
14
|
+
--btn-border-color: var(--color-border);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
.popover {
|
|
2
2
|
background-color: var(--color-surface);
|
|
3
|
-
border-radius: var(--rounded-
|
|
3
|
+
border-radius: var(--rounded-lg);
|
|
4
4
|
border-width: var(--border);
|
|
5
5
|
box-shadow: var(--shadow-md);
|
|
6
6
|
color: var(--color-text);
|
|
7
7
|
inline-size: var(--popover-size, max-content);
|
|
8
8
|
|
|
9
|
+
/* Anchor position */
|
|
10
|
+
position-area: var(--popover-position, block-end);
|
|
11
|
+
position-try-fallbacks: var(--popover-position-try-fallbacks, flip-block);
|
|
12
|
+
margin-block: var(--popover-margin-block, .25rem 0);
|
|
13
|
+
|
|
9
14
|
/* Setup transition */
|
|
10
15
|
transition-behavior: allow-discrete;
|
|
11
|
-
transition-duration: var(--time-
|
|
12
|
-
transition-property: display,
|
|
16
|
+
transition-duration: var(--time-300);
|
|
17
|
+
transition-property: display, opacity, overlay, transform;
|
|
18
|
+
transition-timing-function: var(--ease-spring-2);
|
|
13
19
|
|
|
14
20
|
/* Exit stage to */
|
|
15
|
-
opacity: 0;
|
|
16
|
-
transform: var(--scale-95);
|
|
21
|
+
opacity: 0; transform: var(--scale-95);
|
|
17
22
|
|
|
18
23
|
/* On stage */
|
|
19
24
|
&:popover-open {
|
|
@@ -26,4 +31,45 @@
|
|
|
26
31
|
opacity: 0; transform: var(--scale-95);
|
|
27
32
|
}
|
|
28
33
|
}
|
|
34
|
+
|
|
35
|
+
@supports (-webkit-hyphens: none) {
|
|
36
|
+
transition-behavior: normal;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.popover--unanchored {
|
|
41
|
+
--popover-position: none;
|
|
42
|
+
--popover-position-try-fallbacks: none;
|
|
43
|
+
--popover-margin-block: 0;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.popover--block-end-center {
|
|
47
|
+
--popover-position: block-end;
|
|
48
|
+
--popover-margin-block: .25rem 0;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.popover--block-end-start {
|
|
52
|
+
--popover-position: block-end span-inline-end;
|
|
53
|
+
--popover-margin-block: .25rem 0;
|
|
29
54
|
}
|
|
55
|
+
|
|
56
|
+
.popover--block-end-end {
|
|
57
|
+
--popover-position: block-end span-inline-start;
|
|
58
|
+
--popover-margin-block: .25rem 0;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.popover--block-start-center {
|
|
62
|
+
--popover-position: block-start;
|
|
63
|
+
--popover-margin-block: 0 .25rem;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.popover--block-start-start {
|
|
67
|
+
--popover-position: block-start span-inline-end;
|
|
68
|
+
--popover-margin-block: 0 .25rem;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.popover--block-start-end {
|
|
72
|
+
--popover-position: block-start span-inline-start;
|
|
73
|
+
--popover-margin-block: 0 .25rem;
|
|
74
|
+
}
|
|
75
|
+
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
.progress {
|
|
2
|
-
--progress: var(--color-primary);
|
|
3
|
-
--
|
|
2
|
+
--progress-bar-color: rgb(from var(--color-primary) r g b / .2);
|
|
3
|
+
--progress-value-color: var(--color-primary);
|
|
4
4
|
|
|
5
|
-
background-color: var(--
|
|
5
|
+
background-color: var(--progress-bar-color);
|
|
6
6
|
block-size: var(--size-2);
|
|
7
7
|
border-radius: var(--rounded-full);
|
|
8
8
|
inline-size: var(--size-full);
|
|
9
9
|
overflow: hidden;
|
|
10
10
|
|
|
11
11
|
&:indeterminate {
|
|
12
|
-
animation: progress-loading 2s infinite;
|
|
13
|
-
background: linear-gradient(to right, var(--
|
|
12
|
+
animation: progress-loading 2s linear infinite;
|
|
13
|
+
background: linear-gradient(to right, var(--progress-bar-color) 45%, var(--progress-value-color) 0%, var(--progress-value-color) 55%, var(--progress-bar-color) 0%);
|
|
14
14
|
background-position: right;
|
|
15
15
|
background-size: 225% 100%;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
/* Safari/Chromium */
|
|
19
19
|
&::-webkit-progress-bar {
|
|
20
|
-
background-color: var(--
|
|
20
|
+
background-color: var(--progress-bar-color);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
&::-webkit-progress-value {
|
|
24
|
-
background-color: var(--progress);
|
|
24
|
+
background-color: var(--progress-value-color);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
&:indeterminate::-webkit-progress-bar {
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
|
|
31
31
|
/* Firefox */
|
|
32
32
|
&::-moz-progress-bar {
|
|
33
|
-
background-color: var(--progress);
|
|
33
|
+
background-color: var(--progress-value-color);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
&:indeterminate::-moz-progress-bar {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
.separator {
|
|
2
|
-
background-color: var(--color-border
|
|
2
|
+
background-color: var(--sep-color, var(--color-border));
|
|
3
3
|
block-size: 1px;
|
|
4
4
|
flex-shrink: 0;
|
|
5
|
-
inline-size: var(--size-full);
|
|
5
|
+
inline-size: var(--sep-size, var(--size-full));
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
.separator-vertical {
|
|
9
|
-
background-color: var(--color-border
|
|
10
|
-
block-size: var(--size-full);
|
|
9
|
+
background-color: var(--sep-color, var(--color-border));
|
|
10
|
+
block-size: var(--sep-size, var(--size-full));
|
|
11
11
|
flex-shrink: 0;
|
|
12
12
|
inline-size: 1px;
|
|
13
13
|
}
|
|
@@ -5,36 +5,42 @@
|
|
|
5
5
|
box-shadow: var(--shadow-lg);
|
|
6
6
|
color: var(--color-text);
|
|
7
7
|
inline-size: var(--sheet-size, var(--size-3-4));
|
|
8
|
-
margin-inline: var(--sheet-margin);
|
|
9
|
-
max-block-size:
|
|
8
|
+
margin-inline: var(--sheet-margin-inline);
|
|
9
|
+
max-block-size: none;
|
|
10
10
|
|
|
11
11
|
&::backdrop {
|
|
12
|
-
|
|
12
|
+
backdrop-filter: var(--blur-xs);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
/* Setup transition */
|
|
16
16
|
transition-behavior: allow-discrete;
|
|
17
17
|
transition-duration: var(--time-300);
|
|
18
|
-
transition-property: display, overlay, transform;
|
|
18
|
+
transition-property: display, overlay, opacity, transform;
|
|
19
|
+
transition-timing-function: var(--ease-spring-2);
|
|
19
20
|
|
|
20
21
|
&::backdrop {
|
|
21
22
|
transition-behavior: allow-discrete;
|
|
22
23
|
transition-duration: var(--time-150);
|
|
23
24
|
transition-property: display, overlay, opacity;
|
|
25
|
+
transition-timing-function: var(--ease-out-3);
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
/* Exit stage to */
|
|
27
|
-
& { transform: var(--sheet-transform); }
|
|
29
|
+
& { opacity: 0; transform: var(--sheet-transform); }
|
|
28
30
|
&::backdrop { opacity: 0; }
|
|
29
31
|
|
|
30
32
|
/* On stage */
|
|
31
|
-
&[open] { transform: translateX(0); }
|
|
33
|
+
&[open] { opacity: 1; transform: translateX(0); }
|
|
32
34
|
&[open]::backdrop { opacity: 1; }
|
|
33
35
|
|
|
34
36
|
/* Enter stage from */
|
|
35
37
|
@starting-style {
|
|
36
|
-
&[open] { transform: var(--sheet-transform); }
|
|
37
|
-
&[open]::backdrop { opacity: 0;}
|
|
38
|
+
&[open] { opacity: 0; transform: var(--sheet-transform); }
|
|
39
|
+
&[open]::backdrop { opacity: 0; }
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@supports (-webkit-hyphens: none) {
|
|
43
|
+
transition-behavior: normal;
|
|
38
44
|
}
|
|
39
45
|
|
|
40
46
|
@media (width >= 40rem) {
|
|
@@ -44,14 +50,14 @@
|
|
|
44
50
|
|
|
45
51
|
.sheet--left {
|
|
46
52
|
--sheet-border: 0 1px;
|
|
47
|
-
--sheet-margin: 0 auto;
|
|
48
|
-
--sheet-transform: translateX(-
|
|
53
|
+
--sheet-margin-inline: 0 auto;
|
|
54
|
+
--sheet-transform: translateX(-2.5rem);
|
|
49
55
|
}
|
|
50
56
|
|
|
51
57
|
.sheet--right {
|
|
52
58
|
--sheet-border: 1px 0;
|
|
53
|
-
--sheet-margin: auto 0;
|
|
54
|
-
--sheet-transform: translateX(
|
|
59
|
+
--sheet-margin-inline: auto 0;
|
|
60
|
+
--sheet-transform: translateX(2.5rem);
|
|
55
61
|
}
|
|
56
62
|
|
|
57
63
|
.sheet__content {
|
|
@@ -33,7 +33,9 @@
|
|
|
33
33
|
mask-image: url("chevron-right.svg");
|
|
34
34
|
mask-size: cover;
|
|
35
35
|
min-inline-size: var(--size-4);
|
|
36
|
-
transition:
|
|
36
|
+
transition-duration: var(--time-300);
|
|
37
|
+
transition-property: transform;
|
|
38
|
+
transition-timing-function: var(--ease-spring-2);
|
|
37
39
|
}
|
|
38
40
|
|
|
39
41
|
details[open] > &::after {
|
|
@@ -1,29 +1,39 @@
|
|
|
1
1
|
.switch {
|
|
2
|
+
--switch-size: var(--size-4);
|
|
3
|
+
--switch-block-size: calc(var(--switch-size) + var(--border) * 2);
|
|
4
|
+
--switch-inline-size: calc(var(--switch-size) * 2);
|
|
5
|
+
|
|
6
|
+
align-items: center;
|
|
2
7
|
appearance: none;
|
|
3
8
|
background-color: var(--color-border);
|
|
4
9
|
border-color: transparent;
|
|
5
10
|
border-radius: var(--rounded-full);
|
|
6
|
-
border-width: var(--border
|
|
7
|
-
block-size: var(--size
|
|
8
|
-
|
|
9
|
-
|
|
11
|
+
border-width: var(--border);
|
|
12
|
+
block-size: var(--switch-block-size);
|
|
13
|
+
display: inline-flex;
|
|
14
|
+
inline-size: var(--switch-inline-size);
|
|
15
|
+
transition-duration: var(--time-150);
|
|
16
|
+
transition-property: background-color;
|
|
17
|
+
transition-timing-function: var(--ease-out-3);
|
|
10
18
|
|
|
11
19
|
&:checked {
|
|
12
20
|
background-color: var(--color-primary);
|
|
13
21
|
}
|
|
14
22
|
|
|
15
23
|
&:checked::before {
|
|
16
|
-
|
|
24
|
+
translate: calc(100% - var(--border) * 2);
|
|
17
25
|
}
|
|
18
26
|
|
|
19
27
|
&::before {
|
|
20
28
|
aspect-ratio: var(--aspect-square);
|
|
21
29
|
background-color: var(--color-text-reversed);
|
|
22
|
-
block-size: var(--size
|
|
30
|
+
block-size: var(--switch-size);
|
|
23
31
|
border-radius: var(--rounded-full);
|
|
24
32
|
content: "";
|
|
25
33
|
display: block;
|
|
26
|
-
transition:
|
|
34
|
+
transition-duration: var(--time-300);
|
|
35
|
+
transition-property: translate;
|
|
36
|
+
transition-timing-function: var(--ease-spring-2);
|
|
27
37
|
}
|
|
28
38
|
|
|
29
39
|
&:focus-visible {
|
|
@@ -5,13 +5,28 @@
|
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
.tabs__list {
|
|
8
|
+
align-self: start;
|
|
8
9
|
background-color: var(--color-border-light);
|
|
9
|
-
block-size: var(--size-
|
|
10
|
-
border-radius: var(--rounded-
|
|
10
|
+
block-size: var(--size-8);
|
|
11
|
+
border-radius: var(--rounded-lg);
|
|
11
12
|
color: var(--color-text-subtle);
|
|
12
|
-
column-gap: var(--size-
|
|
13
|
+
column-gap: var(--size-1);
|
|
13
14
|
display: inline-flex;
|
|
14
15
|
padding: var(--size-1);
|
|
16
|
+
position: relative;
|
|
17
|
+
|
|
18
|
+
&::before {
|
|
19
|
+
background-color: var(--color-bg);
|
|
20
|
+
border-radius: var(--rounded-lg);
|
|
21
|
+
box-shadow: var(--shadow-sm);
|
|
22
|
+
content: "";
|
|
23
|
+
inset: anchor(top) anchor(right) anchor(bottom) anchor(left);
|
|
24
|
+
position: absolute;
|
|
25
|
+
position-anchor: --tabs-selected;
|
|
26
|
+
transition-duration: var(--time-300);
|
|
27
|
+
transition-property: inset;
|
|
28
|
+
transition-timing-function: var(--ease-spring-2);
|
|
29
|
+
}
|
|
15
30
|
}
|
|
16
31
|
|
|
17
32
|
.tabs__button {
|
|
@@ -19,11 +34,12 @@
|
|
|
19
34
|
--btn-border-color: transparent;
|
|
20
35
|
--btn-box-shadow: none;
|
|
21
36
|
--btn-hover-color: transparent;
|
|
22
|
-
--btn-inline-size: var(--size-full);
|
|
23
37
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
38
|
+
&[aria-selected="true"] {
|
|
39
|
+
anchor-name: --tabs-selected;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
&[aria-current="page"] {
|
|
43
|
+
anchor-name: --tabs-selected;
|
|
28
44
|
}
|
|
29
45
|
}
|