@anyblades/blades 3.0.0 → 3.1.0-alpha.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 (51) hide show
  1. package/.prettierignore +3 -0
  2. package/README.md +35 -12
  3. package/css/blades.css +1 -33
  4. package/css/blades.min.css +1 -1
  5. package/css/pico.conditional.css +1 -33
  6. package/css/pico.conditional.min.css +1 -1
  7. package/css/pico.css +1 -33
  8. package/css/pico.layered.css +3158 -0
  9. package/css/pico.layered.min.css +107 -0
  10. package/css/pico.min.css +1 -1
  11. package/package.json +17 -6
  12. package/src/pico/_index.css +4 -4
  13. package/src/pico/_utilities.css +0 -21
  14. package/src/pico/components/_accordion.css +74 -0
  15. package/src/pico/components/_card.css +31 -0
  16. package/src/pico/components/_dropdown.css +179 -0
  17. package/src/pico/components/_group.css +167 -0
  18. package/src/pico/components/_index.css +9 -0
  19. package/src/pico/components/_loading.css +31 -0
  20. package/src/pico/components/_modal.css +144 -0
  21. package/src/pico/components/_nav.css +108 -0
  22. package/src/pico/components/_progress.css +67 -0
  23. package/src/pico/components/_tooltip.css +167 -0
  24. package/src/pico/content/_button.css +205 -0
  25. package/src/pico/content/_code.css +61 -0
  26. package/src/pico/content/_embedded-content.css +37 -0
  27. package/src/pico/content/_figure.css +12 -0
  28. package/src/pico/content/_index.css +8 -0
  29. package/src/pico/content/_link.css +81 -0
  30. package/src/pico/content/_misc.css +19 -0
  31. package/src/pico/content/_table.css +30 -0
  32. package/src/pico/content/_typography.css +156 -0
  33. package/src/pico/forms/_basics.css +335 -0
  34. package/src/pico/forms/_checkbox-radio-switch.css +148 -0
  35. package/src/pico/forms/_index.css +7 -0
  36. package/src/pico/forms/_input-color.css +17 -0
  37. package/src/pico/forms/_input-datetime.css +48 -0
  38. package/src/pico/forms/_input-file.css +26 -0
  39. package/src/pico/forms/_input-range.css +109 -0
  40. package/src/pico/forms/_input-search.css +58 -0
  41. package/src/pico/layout/_container.css +39 -0
  42. package/src/pico/layout/_document.css +36 -0
  43. package/src/pico/layout/_grid.css +19 -0
  44. package/src/pico/layout/_index.css +6 -0
  45. package/src/pico/layout/_landmarks.css +17 -0
  46. package/src/pico/layout/_overflow-auto.css +6 -0
  47. package/src/pico/layout/_section.css +6 -0
  48. package/src/pico/_components.css +0 -974
  49. package/src/pico/_content.css +0 -608
  50. package/src/pico/_forms.css +0 -747
  51. package/src/pico/_layout.css +0 -128
@@ -0,0 +1,179 @@
1
+ /**
2
+ * Dropdown (details.dropdown)
3
+ */
4
+ details.dropdown {
5
+ position: relative;
6
+ border-bottom: none;
7
+ }
8
+ details.dropdown > summary::after,
9
+ details.dropdown > button::after,
10
+ details.dropdown > a::after {
11
+ display: block;
12
+ width: 1rem;
13
+ height: calc(1rem * var(--pico-line-height, 1.5));
14
+ margin-inline-start: 0.25rem;
15
+ float: right;
16
+ transform: rotate(0deg) translateX(0.2rem);
17
+ background-image: var(--pico-icon-chevron);
18
+ background-position: right center;
19
+ background-size: 1rem auto;
20
+ background-repeat: no-repeat;
21
+ content: "";
22
+ }
23
+
24
+ nav details.dropdown {
25
+ margin-bottom: 0;
26
+ }
27
+
28
+ details.dropdown > summary:not([role]) {
29
+ height: calc(
30
+ 1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 +
31
+ var(--pico-border-width) * 2
32
+ );
33
+ padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);
34
+ border: var(--pico-border-width) solid var(--pico-form-element-border-color);
35
+ border-radius: var(--pico-border-radius);
36
+ background-color: var(--pico-form-element-background-color);
37
+ color: var(--pico-form-element-placeholder-color);
38
+ line-height: inherit;
39
+ cursor: pointer;
40
+ -webkit-user-select: none;
41
+ -moz-user-select: none;
42
+ user-select: none;
43
+ transition:
44
+ background-color var(--pico-transition),
45
+ border-color var(--pico-transition),
46
+ color var(--pico-transition),
47
+ box-shadow var(--pico-transition);
48
+ }
49
+ details.dropdown > summary:not([role]):active,
50
+ details.dropdown > summary:not([role]):focus {
51
+ border-color: var(--pico-form-element-active-border-color);
52
+ background-color: var(--pico-form-element-active-background-color);
53
+ }
54
+ details.dropdown > summary:not([role]):focus {
55
+ box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color);
56
+ }
57
+ details.dropdown > summary:not([role]):focus-visible {
58
+ outline: none;
59
+ }
60
+ details.dropdown > summary:not([role])[aria-invalid="false"] {
61
+ --pico-form-element-border-color: var(--pico-form-element-valid-border-color);
62
+ --pico-form-element-active-border-color: var(--pico-form-element-valid-focus-color);
63
+ --pico-form-element-focus-color: var(--pico-form-element-valid-focus-color);
64
+ }
65
+ details.dropdown > summary:not([role])[aria-invalid="true"] {
66
+ --pico-form-element-border-color: var(--pico-form-element-invalid-border-color);
67
+ --pico-form-element-active-border-color: var(--pico-form-element-invalid-focus-color);
68
+ --pico-form-element-focus-color: var(--pico-form-element-invalid-focus-color);
69
+ }
70
+
71
+ nav details.dropdown {
72
+ display: inline-block;
73
+ margin: calc(var(--pico-nav-element-spacing-vertical) * -1) 0;
74
+ }
75
+ nav details.dropdown > summary::after {
76
+ transform: rotate(0deg) translateX(0rem);
77
+ }
78
+ nav details.dropdown > summary:not([role]) {
79
+ height: calc(1rem * var(--pico-line-height) + var(--pico-nav-link-spacing-vertical) * 2);
80
+ padding: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2)
81
+ var(--pico-nav-link-spacing-horizontal);
82
+ }
83
+ nav details.dropdown > summary:not([role]):focus-visible {
84
+ box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
85
+ }
86
+
87
+ details.dropdown > summary + ul {
88
+ display: flex;
89
+ z-index: 99;
90
+ position: absolute;
91
+ left: 0;
92
+ flex-direction: column;
93
+ width: 100%;
94
+ min-width: -moz-fit-content;
95
+ min-width: fit-content;
96
+ margin: 0;
97
+ margin-top: var(--pico-outline-width);
98
+ padding: 0;
99
+ border: var(--pico-border-width) solid var(--pico-dropdown-border-color);
100
+ border-radius: var(--pico-border-radius);
101
+ background-color: var(--pico-dropdown-background-color);
102
+ box-shadow: var(--pico-dropdown-box-shadow);
103
+ color: var(--pico-dropdown-color);
104
+ white-space: nowrap;
105
+ opacity: 0;
106
+ transition:
107
+ opacity var(--pico-transition),
108
+ transform 0s ease-in-out 1s;
109
+ }
110
+ details.dropdown > summary + ul[dir="rtl"] {
111
+ right: 0;
112
+ left: auto;
113
+ }
114
+ details.dropdown > summary + ul li {
115
+ width: 100%;
116
+ margin-bottom: 0;
117
+ padding: calc(var(--pico-form-element-spacing-vertical) * 0.5)
118
+ var(--pico-form-element-spacing-horizontal);
119
+ list-style: none;
120
+ }
121
+ details.dropdown > summary + ul li:first-of-type {
122
+ margin-top: calc(var(--pico-form-element-spacing-vertical) * 0.5);
123
+ }
124
+ details.dropdown > summary + ul li:last-of-type {
125
+ margin-bottom: calc(var(--pico-form-element-spacing-vertical) * 0.5);
126
+ }
127
+ details.dropdown > summary + ul li a {
128
+ display: block;
129
+ margin: calc(var(--pico-form-element-spacing-vertical) * -0.5)
130
+ calc(var(--pico-form-element-spacing-horizontal) * -1);
131
+ padding: calc(var(--pico-form-element-spacing-vertical) * 0.5)
132
+ var(--pico-form-element-spacing-horizontal);
133
+ overflow: hidden;
134
+ border-radius: 0;
135
+ color: var(--pico-dropdown-color);
136
+ text-decoration: none;
137
+ text-overflow: ellipsis;
138
+ }
139
+ details.dropdown > summary + ul li a:hover,
140
+ details.dropdown > summary + ul li a:focus,
141
+ details.dropdown > summary + ul li a:active,
142
+ details.dropdown > summary + ul li a:focus-visible,
143
+ details.dropdown > summary + ul li a[aria-current]:not([aria-current="false"]) {
144
+ background-color: var(--pico-dropdown-hover-background-color);
145
+ }
146
+ details.dropdown > summary + ul li label {
147
+ width: 100%;
148
+ }
149
+ details.dropdown > summary + ul li:has(label):hover {
150
+ background-color: var(--pico-dropdown-hover-background-color);
151
+ }
152
+
153
+ details.dropdown[open] > summary {
154
+ margin-bottom: 0;
155
+ }
156
+
157
+ details.dropdown[open] > summary + ul {
158
+ transform: scaleY(1);
159
+ opacity: 1;
160
+ transition:
161
+ opacity var(--pico-transition),
162
+ transform 0s ease-in-out 0s;
163
+ }
164
+
165
+ details.dropdown[open] > summary::before {
166
+ display: block;
167
+ z-index: 1;
168
+ position: fixed;
169
+ width: 100vw;
170
+ height: 100vh;
171
+ inset: 0;
172
+ background: none;
173
+ content: "";
174
+ cursor: default;
175
+ }
176
+
177
+ label > details.dropdown {
178
+ margin-top: calc(var(--pico-spacing) * 0.25);
179
+ }
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Group ([role="group"], [role="search"])
3
+ */
4
+ [role="search"],
5
+ [role="group"] {
6
+ display: inline-flex;
7
+ position: relative;
8
+ width: 100%;
9
+ margin-bottom: var(--pico-spacing);
10
+ border-radius: var(--pico-border-radius);
11
+ box-shadow: var(--pico-group-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
12
+ vertical-align: middle;
13
+ transition: box-shadow var(--pico-transition);
14
+ }
15
+ [role="search"] > *,
16
+ [role="search"] input:not([type="checkbox"], [type="radio"]),
17
+ [role="search"] select,
18
+ [role="group"] > *,
19
+ [role="group"] input:not([type="checkbox"], [type="radio"]),
20
+ [role="group"] select {
21
+ position: relative;
22
+ flex: 1 1 auto;
23
+ margin-bottom: 0;
24
+ }
25
+ [role="search"] > *:not(:first-child),
26
+ [role="search"] input:not([type="checkbox"], [type="radio"]):not(:first-child),
27
+ [role="search"] select:not(:first-child),
28
+ [role="group"] > *:not(:first-child),
29
+ [role="group"] input:not([type="checkbox"], [type="radio"]):not(:first-child),
30
+ [role="group"] select:not(:first-child) {
31
+ margin-left: 0;
32
+ border-top-left-radius: 0;
33
+ border-bottom-left-radius: 0;
34
+ }
35
+ [role="search"] > *:not(:last-child),
36
+ [role="search"] input:not([type="checkbox"], [type="radio"]):not(:last-child),
37
+ [role="search"] select:not(:last-child),
38
+ [role="group"] > *:not(:last-child),
39
+ [role="group"] input:not([type="checkbox"], [type="radio"]):not(:last-child),
40
+ [role="group"] select:not(:last-child) {
41
+ border-top-right-radius: 0;
42
+ border-bottom-right-radius: 0;
43
+ }
44
+ [role="search"] > *:focus,
45
+ [role="search"] input:not([type="checkbox"], [type="radio"]):focus,
46
+ [role="search"] select:focus,
47
+ [role="group"] > *:focus,
48
+ [role="group"] input:not([type="checkbox"], [type="radio"]):focus,
49
+ [role="group"] select:focus {
50
+ z-index: 2;
51
+ }
52
+ [role="search"] button:not(:first-child),
53
+ [role="search"] [type="submit"]:not(:first-child),
54
+ [role="search"] [type="reset"]:not(:first-child),
55
+ [role="search"] [type="button"]:not(:first-child),
56
+ [role="search"] [role="button"]:not(:first-child),
57
+ [role="search"] input:not([type="checkbox"], [type="radio"]):not(:first-child),
58
+ [role="search"] select:not(:first-child),
59
+ [role="group"] button:not(:first-child),
60
+ [role="group"] [type="submit"]:not(:first-child),
61
+ [role="group"] [type="reset"]:not(:first-child),
62
+ [role="group"] [type="button"]:not(:first-child),
63
+ [role="group"] [role="button"]:not(:first-child),
64
+ [role="group"] input:not([type="checkbox"], [type="radio"]):not(:first-child),
65
+ [role="group"] select:not(:first-child) {
66
+ margin-left: calc(var(--pico-border-width) * -1);
67
+ }
68
+ [role="search"] button,
69
+ [role="search"] [type="submit"],
70
+ [role="search"] [type="reset"],
71
+ [role="search"] [type="button"],
72
+ [role="search"] [role="button"],
73
+ [role="group"] button,
74
+ [role="group"] [type="submit"],
75
+ [role="group"] [type="reset"],
76
+ [role="group"] [type="button"],
77
+ [role="group"] [role="button"] {
78
+ width: auto;
79
+ }
80
+ @supports selector(:has(*)) {
81
+ [role="search"]:has(
82
+ button:focus,
83
+ [type="submit"]:focus,
84
+ [type="button"]:focus,
85
+ [role="button"]:focus
86
+ ),
87
+ [role="group"]:has(
88
+ button:focus,
89
+ [type="submit"]:focus,
90
+ [type="button"]:focus,
91
+ [role="button"]:focus
92
+ ) {
93
+ --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-button);
94
+ }
95
+ [role="search"]:has(
96
+ button:focus,
97
+ [type="submit"]:focus,
98
+ [type="button"]:focus,
99
+ [role="button"]:focus
100
+ )
101
+ input:not([type="checkbox"], [type="radio"]),
102
+ [role="search"]:has(
103
+ button:focus,
104
+ [type="submit"]:focus,
105
+ [type="button"]:focus,
106
+ [role="button"]:focus
107
+ )
108
+ select,
109
+ [role="group"]:has(
110
+ button:focus,
111
+ [type="submit"]:focus,
112
+ [type="button"]:focus,
113
+ [role="button"]:focus
114
+ )
115
+ input:not([type="checkbox"], [type="radio"]),
116
+ [role="group"]:has(
117
+ button:focus,
118
+ [type="submit"]:focus,
119
+ [type="button"]:focus,
120
+ [role="button"]:focus
121
+ )
122
+ select {
123
+ border-color: transparent;
124
+ }
125
+ [role="search"]:has(input:not([type="submit"], [type="button"]):focus, select:focus),
126
+ [role="group"]:has(input:not([type="submit"], [type="button"]):focus, select:focus) {
127
+ --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-input);
128
+ }
129
+ [role="search"]:has(input:not([type="submit"], [type="button"]):focus, select:focus) button,
130
+ [role="search"]:has(input:not([type="submit"], [type="button"]):focus, select:focus)
131
+ [type="submit"],
132
+ [role="search"]:has(input:not([type="submit"], [type="button"]):focus, select:focus)
133
+ [type="button"],
134
+ [role="search"]:has(input:not([type="submit"], [type="button"]):focus, select:focus)
135
+ [role="button"],
136
+ [role="group"]:has(input:not([type="submit"], [type="button"]):focus, select:focus) button,
137
+ [role="group"]:has(input:not([type="submit"], [type="button"]):focus, select:focus)
138
+ [type="submit"],
139
+ [role="group"]:has(input:not([type="submit"], [type="button"]):focus, select:focus)
140
+ [type="button"],
141
+ [role="group"]:has(input:not([type="submit"], [type="button"]):focus, select:focus)
142
+ [role="button"] {
143
+ --pico-button-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-border);
144
+ --pico-button-hover-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-hover-border);
145
+ }
146
+ [role="search"] button:focus,
147
+ [role="search"] [type="submit"]:focus,
148
+ [role="search"] [type="reset"]:focus,
149
+ [role="search"] [type="button"]:focus,
150
+ [role="search"] [role="button"]:focus,
151
+ [role="group"] button:focus,
152
+ [role="group"] [type="submit"]:focus,
153
+ [role="group"] [type="reset"]:focus,
154
+ [role="group"] [type="button"]:focus,
155
+ [role="group"] [role="button"]:focus {
156
+ box-shadow: none;
157
+ }
158
+ }
159
+
160
+ [role="search"] > *:first-child {
161
+ border-top-left-radius: 5rem;
162
+ border-bottom-left-radius: 5rem;
163
+ }
164
+ [role="search"] > *:last-child {
165
+ border-top-right-radius: 5rem;
166
+ border-bottom-right-radius: 5rem;
167
+ }
@@ -0,0 +1,9 @@
1
+ @import "./_accordion";
2
+ @import "./_card";
3
+ @import "./_dropdown";
4
+ @import "./_group";
5
+ @import "./_loading";
6
+ @import "./_modal";
7
+ @import "./_nav";
8
+ @import "./_progress";
9
+ @import "./_tooltip";
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Loading ([aria-busy=true])
3
+ */
4
+ [aria-busy="true"]:not(input, select, textarea, html, form) {
5
+ white-space: nowrap;
6
+ }
7
+ [aria-busy="true"]:not(input, select, textarea, html, form)::before {
8
+ display: inline-block;
9
+ width: 1em;
10
+ height: 1em;
11
+ background-image: var(--pico-icon-loading);
12
+ background-size: 1em auto;
13
+ background-repeat: no-repeat;
14
+ content: "";
15
+ vertical-align: -0.125em;
16
+ }
17
+ [aria-busy="true"]:not(input, select, textarea, html, form):not(:empty)::before {
18
+ margin-inline-end: calc(var(--pico-spacing) * 0.5);
19
+ }
20
+ [aria-busy="true"]:not(input, select, textarea, html, form):empty {
21
+ text-align: center;
22
+ }
23
+
24
+ button[aria-busy="true"],
25
+ [type="submit"][aria-busy="true"],
26
+ [type="button"][aria-busy="true"],
27
+ [type="reset"][aria-busy="true"],
28
+ [role="button"][aria-busy="true"],
29
+ a[aria-busy="true"] {
30
+ pointer-events: none;
31
+ }
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Modal (<dialog>)
3
+ */
4
+ :scope,
5
+ :host {
6
+ --pico-scrollbar-width: 0px;
7
+ }
8
+
9
+ dialog {
10
+ display: flex;
11
+ z-index: 999;
12
+ position: fixed;
13
+ top: 0;
14
+ right: 0;
15
+ bottom: 0;
16
+ left: 0;
17
+ align-items: center;
18
+ justify-content: center;
19
+ width: inherit;
20
+ min-width: 100%;
21
+ height: inherit;
22
+ min-height: 100%;
23
+ padding: 0;
24
+ border: 0;
25
+ -webkit-backdrop-filter: var(--pico-modal-overlay-backdrop-filter);
26
+ backdrop-filter: var(--pico-modal-overlay-backdrop-filter);
27
+ background-color: var(--pico-modal-overlay-background-color);
28
+ color: var(--pico-color);
29
+ }
30
+ dialog > article {
31
+ width: 100%;
32
+ max-height: calc(100vh - var(--pico-spacing) * 2);
33
+ margin: var(--pico-spacing);
34
+ overflow: auto;
35
+ }
36
+ @media (min-width: 576px) {
37
+ dialog > article {
38
+ max-width: 510px;
39
+ }
40
+ }
41
+ @media (min-width: 768px) {
42
+ dialog > article {
43
+ max-width: 700px;
44
+ }
45
+ }
46
+ dialog > article > header > * {
47
+ margin-bottom: 0;
48
+ }
49
+ dialog > article > header .close,
50
+ dialog > article > header :is(a, button)[rel="prev"] {
51
+ margin: 0;
52
+ margin-left: var(--pico-spacing);
53
+ padding: 0;
54
+ float: right;
55
+ }
56
+ dialog > article > footer {
57
+ text-align: end;
58
+ }
59
+ dialog > article > footer button,
60
+ dialog > article > footer [role="button"] {
61
+ margin-bottom: 0;
62
+ }
63
+ dialog > article > footer button:not(:first-of-type),
64
+ dialog > article > footer [role="button"]:not(:first-of-type) {
65
+ margin-left: calc(var(--pico-spacing) * 0.5);
66
+ }
67
+ dialog > article .close,
68
+ dialog > article :is(a, button)[rel="prev"] {
69
+ display: block;
70
+ width: 1rem;
71
+ height: 1rem;
72
+ margin-top: calc(var(--pico-spacing) * -1);
73
+ margin-bottom: var(--pico-spacing);
74
+ margin-left: auto;
75
+ border: none;
76
+ background-image: var(--pico-icon-close);
77
+ background-position: center;
78
+ background-size: auto 1rem;
79
+ background-repeat: no-repeat;
80
+ background-color: transparent;
81
+ opacity: 0.5;
82
+ transition: opacity var(--pico-transition);
83
+ }
84
+ dialog > article .close:is([aria-current]:not([aria-current="false"]), :hover, :active, :focus),
85
+ dialog
86
+ > article
87
+ :is(a, button)[rel="prev"]:is(
88
+ [aria-current]:not([aria-current="false"]),
89
+ :hover,
90
+ :active,
91
+ :focus
92
+ ) {
93
+ opacity: 1;
94
+ }
95
+ dialog:not([open]),
96
+ dialog[open="false"] {
97
+ display: none;
98
+ }
99
+
100
+ .modal-is-open {
101
+ padding-right: var(--pico-scrollbar-width, 0px);
102
+ overflow: hidden;
103
+ pointer-events: none;
104
+ touch-action: none;
105
+ }
106
+ .modal-is-open dialog {
107
+ pointer-events: auto;
108
+ touch-action: auto;
109
+ }
110
+
111
+ :where(.modal-is-opening, .modal-is-closing) dialog,
112
+ :where(.modal-is-opening, .modal-is-closing) dialog > article {
113
+ animation-duration: 0.2s;
114
+ animation-timing-function: ease-in-out;
115
+ animation-fill-mode: both;
116
+ }
117
+ :where(.modal-is-opening, .modal-is-closing) dialog {
118
+ animation-duration: 0.8s;
119
+ animation-name: modal-overlay;
120
+ }
121
+ :where(.modal-is-opening, .modal-is-closing) dialog > article {
122
+ animation-delay: 0.2s;
123
+ animation-name: modal;
124
+ }
125
+
126
+ .modal-is-closing dialog,
127
+ .modal-is-closing dialog > article {
128
+ animation-delay: 0s;
129
+ animation-direction: reverse;
130
+ }
131
+
132
+ @keyframes modal-overlay {
133
+ from {
134
+ -webkit-backdrop-filter: none;
135
+ backdrop-filter: none;
136
+ background-color: transparent;
137
+ }
138
+ }
139
+ @keyframes modal {
140
+ from {
141
+ transform: translateY(-100%);
142
+ opacity: 0;
143
+ }
144
+ }
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Nav
3
+ */
4
+ :where(nav li)::before {
5
+ float: left;
6
+ content: "​";
7
+ }
8
+
9
+ nav,
10
+ nav ul {
11
+ display: flex;
12
+ }
13
+
14
+ nav {
15
+ justify-content: space-between;
16
+ overflow: visible;
17
+ }
18
+ nav ol,
19
+ nav ul {
20
+ align-items: center;
21
+ margin-bottom: 0;
22
+ padding: 0;
23
+ list-style: none;
24
+ }
25
+ nav ol:first-of-type,
26
+ nav ul:first-of-type {
27
+ margin-left: calc(var(--pico-nav-element-spacing-horizontal) * -1);
28
+ }
29
+ nav ol:last-of-type,
30
+ nav ul:last-of-type {
31
+ margin-right: calc(var(--pico-nav-element-spacing-horizontal) * -1);
32
+ }
33
+ nav li {
34
+ display: inline-block;
35
+ margin: 0;
36
+ padding: var(--pico-nav-element-spacing-vertical) var(--pico-nav-element-spacing-horizontal);
37
+ }
38
+ nav li :where(a, [role="link"]) {
39
+ display: inline-block;
40
+ margin: calc(var(--pico-nav-link-spacing-vertical) * -1)
41
+ calc(var(--pico-nav-link-spacing-horizontal) * -1);
42
+ padding: var(--pico-nav-link-spacing-vertical) var(--pico-nav-link-spacing-horizontal);
43
+ border-radius: var(--pico-border-radius);
44
+ }
45
+ nav li :where(a, [role="link"]):not(:hover) {
46
+ text-decoration: none;
47
+ }
48
+ nav li button,
49
+ nav li [role="button"],
50
+ nav li [type="button"],
51
+ nav li input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]),
52
+ nav li select {
53
+ height: auto;
54
+ margin-right: inherit;
55
+ margin-bottom: 0;
56
+ margin-left: inherit;
57
+ padding: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2)
58
+ var(--pico-nav-link-spacing-horizontal);
59
+ }
60
+ nav[aria-label="breadcrumb"] {
61
+ align-items: center;
62
+ justify-content: start;
63
+ }
64
+ nav[aria-label="breadcrumb"] ul li:not(:first-child) {
65
+ margin-inline-start: var(--pico-nav-link-spacing-horizontal);
66
+ }
67
+ nav[aria-label="breadcrumb"] ul li a {
68
+ margin: calc(var(--pico-nav-link-spacing-vertical) * -1) 0;
69
+ margin-inline-start: calc(var(--pico-nav-link-spacing-horizontal) * -1);
70
+ }
71
+ nav[aria-label="breadcrumb"] ul li:not(:last-child)::after {
72
+ display: inline-block;
73
+ position: absolute;
74
+ width: calc(var(--pico-nav-link-spacing-horizontal) * 4);
75
+ margin: 0 calc(var(--pico-nav-link-spacing-horizontal) * -1);
76
+ content: var(--pico-nav-breadcrumb-divider);
77
+ color: var(--pico-muted-color);
78
+ text-align: center;
79
+ text-decoration: none;
80
+ white-space: nowrap;
81
+ }
82
+ nav[aria-label="breadcrumb"] a[aria-current]:not([aria-current="false"]) {
83
+ background-color: transparent;
84
+ color: inherit;
85
+ text-decoration: none;
86
+ pointer-events: none;
87
+ }
88
+
89
+ aside nav,
90
+ aside ol,
91
+ aside ul,
92
+ aside li {
93
+ display: block;
94
+ }
95
+ aside li {
96
+ padding: calc(var(--pico-nav-element-spacing-vertical) * 0.5)
97
+ var(--pico-nav-element-spacing-horizontal);
98
+ }
99
+ aside li a {
100
+ display: block;
101
+ }
102
+ aside li [role="button"] {
103
+ margin: inherit;
104
+ }
105
+
106
+ [dir="rtl"] nav[aria-label="breadcrumb"] ul li:not(:last-child)::after {
107
+ content: "\\";
108
+ }
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Progress
3
+ */
4
+ progress {
5
+ display: inline-block;
6
+ vertical-align: baseline;
7
+ }
8
+
9
+ progress {
10
+ -webkit-appearance: none;
11
+ -moz-appearance: none;
12
+ display: inline-block;
13
+ appearance: none;
14
+ width: 100%;
15
+ height: 0.5rem;
16
+ margin-bottom: calc(var(--pico-spacing) * 0.5);
17
+ overflow: hidden;
18
+ border: 0;
19
+ border-radius: var(--pico-border-radius);
20
+ background-color: var(--pico-progress-background-color);
21
+ color: var(--pico-progress-color);
22
+ }
23
+ progress::-webkit-progress-bar {
24
+ border-radius: var(--pico-border-radius);
25
+ background: none;
26
+ }
27
+ progress[value]::-webkit-progress-value {
28
+ background-color: var(--pico-progress-color);
29
+ -webkit-transition: inline-size var(--pico-transition);
30
+ transition: inline-size var(--pico-transition);
31
+ }
32
+ progress::-moz-progress-bar {
33
+ background-color: var(--pico-progress-color);
34
+ }
35
+ @media (prefers-reduced-motion: no-preference) {
36
+ progress:indeterminate {
37
+ background: var(--pico-progress-background-color)
38
+ linear-gradient(
39
+ to right,
40
+ var(--pico-progress-color) 30%,
41
+ var(--pico-progress-background-color) 30%
42
+ )
43
+ top left/150% 150% no-repeat;
44
+ animation: progress-indeterminate 1s linear infinite;
45
+ }
46
+ progress:indeterminate[value]::-webkit-progress-value {
47
+ background-color: transparent;
48
+ }
49
+ progress:indeterminate::-moz-progress-bar {
50
+ background-color: transparent;
51
+ }
52
+ }
53
+
54
+ @media (prefers-reduced-motion: no-preference) {
55
+ [dir="rtl"] progress:indeterminate {
56
+ animation-direction: reverse;
57
+ }
58
+ }
59
+
60
+ @keyframes progress-indeterminate {
61
+ 0% {
62
+ background-position: 200% 0;
63
+ }
64
+ 100% {
65
+ background-position: -200% 0;
66
+ }
67
+ }