@semanticus/semanticus-css 0.5.1 → 0.8.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 +8 -10
- package/dist/semanticus-semantics.css +11 -1
- package/dist/semanticus.css +13 -1
- package/dist/semanticus.palette.amber.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 -0
- package/package.json +3 -7
- package/src/index.css +11 -4
- package/src/palettes/amber.css +3 -3
- package/src/palettes/blue.css +3 -3
- package/src/palettes/cyan.css +3 -3
- package/src/palettes/fuchsia.css +3 -3
- package/src/palettes/green.css +3 -3
- package/src/palettes/grey.css +3 -3
- package/src/palettes/indigo.css +3 -3
- package/src/palettes/jade.css +3 -3
- package/src/palettes/lime.css +3 -3
- package/src/palettes/orange.css +3 -3
- package/src/palettes/pink.css +3 -3
- package/src/palettes/pumpkin.css +3 -3
- package/src/palettes/purple.css +3 -3
- package/src/palettes/red.css +3 -3
- package/src/palettes/sand.css +3 -3
- package/src/palettes/slate.css +3 -3
- package/src/palettes/violet.css +3 -3
- package/src/palettes/yellow.css +3 -3
- package/src/palettes/zinc.css +3 -3
- package/src/semantics/_aside.css +2 -2
- package/src/semantics/_details.css +1 -1
- package/src/semantics/_input.css +2 -2
- package/src/semantics/_links.css +1 -1
- package/src/semantics/_progress.css +1 -1
- package/src/semantics/_typography.css +18 -9
- package/src/semantics/index.css +9 -4
- package/src/sizes/pico.css +95 -0
- package/src/utilities/_variables.css +19 -214
- package/src/utilities/borders/_border-radius.css +24 -0
- package/src/utilities/borders/_border-width.css +8 -0
- package/src/utilities/colors/_background-colors.css +90 -51
- package/src/utilities/colors/_border-colors.css +14 -14
- package/src/utilities/colors/_text-colors.css +172 -82
- package/src/utilities/effects/_shadows.css +10 -10
- package/src/utilities/layout/_flexbox.css +16 -1
- package/src/utilities/layout/_misc.css +2 -2
- package/src/utilities/modules.css +6 -0
- package/src/utilities/spacing/_gap.css +63 -0
- package/src/utilities/spacing/_margin.css +145 -0
- package/src/utilities/spacing/_padding.css +145 -0
- package/src/utilities/typography/_font-sizes.css +0 -15
- package/src/variables/_all.css +15 -754
- package/src/variables/_breakpoints.css +10 -0
- package/src/variables/_colors.css +366 -0
- package/src/variables/_components.css +318 -0
- package/src/variables/_elements.css +199 -0
- package/src/variables/_icons.css +43 -0
- package/src/variables/{_shared.css → _layout.css} +71 -64
- package/src/variants/_contrast.css +1 -1
- package/src/variants/_ghost.css +8 -8
- package/src/variants/_secondary.css +1 -1
- package/src/variants/modules.css +0 -1
- package/dist/semanticus-utilities.css +0 -7
- package/dist/semanticus-variants.css +0 -1
- package/dist/semanticus.size.slim.css +0 -1
- package/src/sizes/slim.css +0 -41
- package/src/utilities/index.css +0 -14
- package/src/variants/_frame.css +0 -15
- package/src/variants/index.css +0 -9
package/src/palettes/red.css
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
:root:not([data-theme="dark"]),
|
|
9
9
|
:host(:not([data-theme="dark"])) {
|
|
10
10
|
--color-text-selection: rgba(240, 96, 72, 0.25);
|
|
11
|
-
--color-primary:
|
|
11
|
+
--color-primary-rgb: 197, 47, 33;
|
|
12
12
|
--color-primary-bg: #c52f21;
|
|
13
13
|
--color-primary-border: var(--color-primary-bg);
|
|
14
14
|
--color-primary-underline: rgba(197, 47, 33, 0.5);
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
:root:not([data-theme]),
|
|
27
27
|
:host(:not([data-theme])) {
|
|
28
28
|
--color-text-selection: rgba(243, 143, 121, 0.1875);
|
|
29
|
-
--color-primary:
|
|
29
|
+
--color-primary-rgb: 243, 143, 121;
|
|
30
30
|
--color-primary-bg: #c52f21;
|
|
31
31
|
--color-primary-border: var(--color-primary-bg);
|
|
32
32
|
--color-primary-underline: rgba(243, 143, 121, 0.5);
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
|
|
43
43
|
[data-theme="dark"] {
|
|
44
44
|
--color-text-selection: rgba(243, 143, 121, 0.1875);
|
|
45
|
-
--color-primary:
|
|
45
|
+
--color-primary-rgb: 243, 143, 121;
|
|
46
46
|
--color-primary-bg: #c52f21;
|
|
47
47
|
--color-primary-border: var(--color-primary-bg);
|
|
48
48
|
--color-primary-underline: rgba(243, 143, 121, 0.5);
|
package/src/palettes/sand.css
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
:root:not([data-theme="dark"]),
|
|
9
9
|
:host(:not([data-theme="dark"])) {
|
|
10
10
|
--color-text-selection: rgba(181, 157, 119, 0.25);
|
|
11
|
-
--color-primary:
|
|
11
|
+
--color-primary-rgb: 107, 87, 51;
|
|
12
12
|
--color-primary-bg: #e6d5b8;
|
|
13
13
|
--color-primary-border: var(--color-primary-bg);
|
|
14
14
|
--color-primary-underline: rgba(107, 87, 51, 0.5);
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
:root:not([data-theme]),
|
|
27
27
|
:host(:not([data-theme])) {
|
|
28
28
|
--color-text-selection: rgba(201, 178, 140, 0.1875);
|
|
29
|
-
--color-primary:
|
|
29
|
+
--color-primary-rgb: 201, 178, 140;
|
|
30
30
|
--color-primary-bg: #e6d5b8;
|
|
31
31
|
--color-primary-border: var(--color-primary-bg);
|
|
32
32
|
--color-primary-underline: rgba(201, 178, 140, 0.5);
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
|
|
43
43
|
[data-theme="dark"] {
|
|
44
44
|
--color-text-selection: rgba(201, 178, 140, 0.1875);
|
|
45
|
-
--color-primary:
|
|
45
|
+
--color-primary-rgb: 201, 178, 140;
|
|
46
46
|
--color-primary-bg: #e6d5b8;
|
|
47
47
|
--color-primary-border: var(--color-primary-bg);
|
|
48
48
|
--color-primary-underline: rgba(201, 178, 140, 0.5);
|
package/src/palettes/slate.css
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
:root:not([data-theme="dark"]),
|
|
9
9
|
:host(:not([data-theme="dark"])) {
|
|
10
10
|
--color-text-selection: rgba(130, 146, 170, 0.25);
|
|
11
|
-
--color-primary:
|
|
11
|
+
--color-primary-rgb: 72, 83, 107;
|
|
12
12
|
--color-primary-bg: #48536b;
|
|
13
13
|
--color-primary-border: var(--color-primary-bg);
|
|
14
14
|
--color-primary-underline: rgba(72, 83, 107, 0.5);
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
:root:not([data-theme]),
|
|
27
27
|
:host(:not([data-theme])) {
|
|
28
28
|
--color-text-selection: rgba(159, 176, 200, 0.1875);
|
|
29
|
-
--color-primary:
|
|
29
|
+
--color-primary-rgb: 159, 176, 200;
|
|
30
30
|
--color-primary-bg: #48536b;
|
|
31
31
|
--color-primary-border: var(--color-primary-bg);
|
|
32
32
|
--color-primary-underline: rgba(159, 176, 200, 0.5);
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
|
|
43
43
|
[data-theme="dark"] {
|
|
44
44
|
--color-text-selection: rgba(159, 176, 200, 0.1875);
|
|
45
|
-
--color-primary:
|
|
45
|
+
--color-primary-rgb: 159, 176, 200;
|
|
46
46
|
--color-primary-bg: #48536b;
|
|
47
47
|
--color-primary-border: var(--color-primary-bg);
|
|
48
48
|
--color-primary-underline: rgba(159, 176, 200, 0.5);
|
package/src/palettes/violet.css
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
:root:not([data-theme="dark"]),
|
|
9
9
|
:host(:not([data-theme="dark"])) {
|
|
10
10
|
--color-text-selection: rgba(167, 128, 212, 0.25);
|
|
11
|
-
--color-primary:
|
|
11
|
+
--color-primary-rgb: 117, 64, 191;
|
|
12
12
|
--color-primary-bg: #7540bf;
|
|
13
13
|
--color-primary-border: var(--color-primary-bg);
|
|
14
14
|
--color-primary-underline: rgba(117, 64, 191, 0.5);
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
:root:not([data-theme]),
|
|
27
27
|
:host(:not([data-theme])) {
|
|
28
28
|
--color-text-selection: rgba(189, 159, 223, 0.1875);
|
|
29
|
-
--color-primary:
|
|
29
|
+
--color-primary-rgb: 189, 159, 223;
|
|
30
30
|
--color-primary-bg: #7540bf;
|
|
31
31
|
--color-primary-border: var(--color-primary-bg);
|
|
32
32
|
--color-primary-underline: rgba(189, 159, 223, 0.5);
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
|
|
43
43
|
[data-theme="dark"] {
|
|
44
44
|
--color-text-selection: rgba(189, 159, 223, 0.1875);
|
|
45
|
-
--color-primary:
|
|
45
|
+
--color-primary-rgb: 189, 159, 223;
|
|
46
46
|
--color-primary-bg: #7540bf;
|
|
47
47
|
--color-primary-border: var(--color-primary-bg);
|
|
48
48
|
--color-primary-underline: rgba(189, 159, 223, 0.5);
|
package/src/palettes/yellow.css
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
:root:not([data-theme="dark"]),
|
|
9
9
|
:host(:not([data-theme="dark"])) {
|
|
10
10
|
--color-text-selection: rgba(209, 188, 0, 0.25);
|
|
11
|
-
--color-primary:
|
|
11
|
+
--color-primary-rgb: 138, 122, 0;
|
|
12
12
|
--color-primary-bg: #fcf19c;
|
|
13
13
|
--color-primary-border: var(--color-primary-bg);
|
|
14
14
|
--color-primary-underline: rgba(138, 122, 0, 0.5);
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
:root:not([data-theme]),
|
|
27
27
|
:host(:not([data-theme])) {
|
|
28
28
|
--color-text-selection: rgba(233, 212, 0, 0.1875);
|
|
29
|
-
--color-primary:
|
|
29
|
+
--color-primary-rgb: 233, 212, 0;
|
|
30
30
|
--color-primary-bg: #fcf19c;
|
|
31
31
|
--color-primary-border: var(--color-primary-bg);
|
|
32
32
|
--color-primary-underline: rgba(233, 212, 0, 0.5);
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
|
|
43
43
|
[data-theme="dark"] {
|
|
44
44
|
--color-text-selection: rgba(233, 212, 0, 0.1875);
|
|
45
|
-
--color-primary:
|
|
45
|
+
--color-primary-rgb: 233, 212, 0;
|
|
46
46
|
--color-primary-bg: #fcf19c;
|
|
47
47
|
--color-primary-border: var(--color-primary-bg);
|
|
48
48
|
--color-primary-underline: rgba(233, 212, 0, 0.5);
|
package/src/palettes/zinc.css
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
:root:not([data-theme="dark"]),
|
|
9
9
|
:host(:not([data-theme="dark"])) {
|
|
10
10
|
--color-text-selection: rgba(127, 139, 158, 0.25);
|
|
11
|
-
--color-primary:
|
|
11
|
+
--color-primary-rgb: 82, 95, 122;
|
|
12
12
|
--color-primary-bg: #525f7a;
|
|
13
13
|
--color-primary-border: var(--color-primary-bg);
|
|
14
14
|
--color-primary-underline: rgba(82, 95, 122, 0.5);
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
:root:not([data-theme]),
|
|
27
27
|
:host(:not([data-theme])) {
|
|
28
28
|
--color-text-selection: rgba(155, 168, 189, 0.1875);
|
|
29
|
-
--color-primary:
|
|
29
|
+
--color-primary-rgb: 155, 168, 189;
|
|
30
30
|
--color-primary-bg: #525f7a;
|
|
31
31
|
--color-primary-border: var(--color-primary-bg);
|
|
32
32
|
--color-primary-underline: rgba(155, 168, 189, 0.5);
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
|
|
43
43
|
[data-theme="dark"] {
|
|
44
44
|
--color-text-selection: rgba(155, 168, 189, 0.1875);
|
|
45
|
-
--color-primary:
|
|
45
|
+
--color-primary-rgb: 155, 168, 189;
|
|
46
46
|
--color-primary-bg: #525f7a;
|
|
47
47
|
--color-primary-border: var(--color-primary-bg);
|
|
48
48
|
--color-primary-underline: rgba(155, 168, 189, 0.5);
|
package/src/semantics/_aside.css
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Aside its width changes according to breakpoints
|
|
3
|
-
* its height grows to fill the available space,
|
|
2
|
+
* Aside its width changes according to certain breakpoints,
|
|
3
|
+
* and its height grows to fill the available space,
|
|
4
4
|
* and stacks its children in a column with space between them (like a <nav> would).
|
|
5
5
|
* In case of a single child, this child will fill the entire height.
|
|
6
6
|
*/
|
|
@@ -53,7 +53,7 @@ details {
|
|
|
53
53
|
&:focus-visible:not([role]) {
|
|
54
54
|
outline: var(--outline-width) solid var(--color-primary-focus);
|
|
55
55
|
outline-offset: calc(var(--spacing, 1rem) * 0.5);
|
|
56
|
-
color: var(--color-primary);
|
|
56
|
+
color: rgb(var(--color-primary-rgb));
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
&[role=button] {
|
package/src/semantics/_input.css
CHANGED
|
@@ -294,11 +294,11 @@ textarea {
|
|
|
294
294
|
}
|
|
295
295
|
|
|
296
296
|
:where(input, select, textarea, fieldset)[aria-invalid=false] + small {
|
|
297
|
-
color: rgb(var(--success-rgb));
|
|
297
|
+
color: rgb(var(--color-success-rgb));
|
|
298
298
|
}
|
|
299
299
|
|
|
300
300
|
:where(input, select, textarea, fieldset)[aria-invalid=true] + small {
|
|
301
|
-
color: rgb(var(--danger-rgb));
|
|
301
|
+
color: rgb(var(--color-danger-rgb));
|
|
302
302
|
}
|
|
303
303
|
|
|
304
304
|
label > :where(input, select, textarea) {
|
package/src/semantics/_links.css
CHANGED
|
@@ -15,7 +15,7 @@ progress {
|
|
|
15
15
|
background-color: var(--progress-bg);
|
|
16
16
|
color: var(--progress-fill);
|
|
17
17
|
vertical-align: baseline;
|
|
18
|
-
accent-color: var(--color-primary);
|
|
18
|
+
accent-color: rgb(var(--color-primary-rgb));
|
|
19
19
|
|
|
20
20
|
&::-webkit-progress-bar {
|
|
21
21
|
border-radius: var(--border-radius);
|
|
@@ -52,12 +52,21 @@ h6 {
|
|
|
52
52
|
font-family: var(--font-family);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
55
|
+
/* Headings - progressive lightness using color-mix */
|
|
56
|
+
h1 { --color-text: var(--color-heading-base); }
|
|
57
|
+
h2 { --color-text: color-mix(in srgb, var(--color-heading-base), white 12%); }
|
|
58
|
+
h3 { --color-text: color-mix(in srgb, var(--color-heading-base), white 22%); }
|
|
59
|
+
h4 { --color-text: color-mix(in srgb, var(--color-heading-base), white 32%); }
|
|
60
|
+
h5 { --color-text: color-mix(in srgb, var(--color-heading-base), white 45%); }
|
|
61
|
+
h6 { --color-text: color-mix(in srgb, var(--color-heading-base), white 55%); }
|
|
62
|
+
|
|
63
|
+
/* Dark mode headings - base is lightest, mix in black for lower levels */
|
|
64
|
+
[data-theme="dark"] h1 { --color-text: var(--color-heading-base); }
|
|
65
|
+
[data-theme="dark"] h2 { --color-text: color-mix(in srgb, var(--color-heading-base), black 8%); }
|
|
66
|
+
[data-theme="dark"] h3 { --color-text: color-mix(in srgb, var(--color-heading-base), black 18%); }
|
|
67
|
+
[data-theme="dark"] h4 { --color-text: color-mix(in srgb, var(--color-heading-base), black 28%); }
|
|
68
|
+
[data-theme="dark"] h5 { --color-text: color-mix(in srgb, var(--color-heading-base), black 38%); }
|
|
69
|
+
[data-theme="dark"] h6 { --color-text: color-mix(in srgb, var(--color-heading-base), black 48%); }
|
|
61
70
|
|
|
62
71
|
:where(article, address, blockquote, dl, figure, form, ol, p, pre, table, ul, hr) ~ :is(h1, h2, h3, h4, h5, h6) {
|
|
63
72
|
margin-top: var(--typography-spacing-top);
|
|
@@ -75,7 +84,7 @@ hgroup {
|
|
|
75
84
|
margin-bottom: 0;
|
|
76
85
|
|
|
77
86
|
&:not(:first-child):last-child {
|
|
78
|
-
|
|
87
|
+
color: color-mix(in srgb, var(--color-text), rgb(128, 128, 128) 70%);
|
|
79
88
|
--font-weight: unset;
|
|
80
89
|
font-size: 1rem;
|
|
81
90
|
}
|
|
@@ -124,12 +133,12 @@ abbr[title] {
|
|
|
124
133
|
}
|
|
125
134
|
|
|
126
135
|
ins {
|
|
127
|
-
color: rgb(var(--success-rgb));
|
|
136
|
+
color: rgb(var(--color-success-rgb));
|
|
128
137
|
text-decoration: none;
|
|
129
138
|
}
|
|
130
139
|
|
|
131
140
|
del {
|
|
132
|
-
color: rgb(var(--danger-rgb));
|
|
141
|
+
color: rgb(var(--color-danger-rgb));
|
|
133
142
|
}
|
|
134
143
|
|
|
135
144
|
::selection {
|
package/src/semantics/index.css
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
* Semanticus CSS Semantics
|
|
3
|
-
*
|
|
4
|
-
*
|
|
1
|
+
/*!
|
|
2
|
+
* Semanticus CSS Semantics Bundle v0.8.0 (https://semanticus.design/)
|
|
3
|
+
*
|
|
4
|
+
* Semantic-first HTML styling (no variants or utility classes)
|
|
5
|
+
*
|
|
6
|
+
* Adapted from Pico CSS (https://picocss.com)
|
|
7
|
+
* Original work: Copyright (c) 2019-2024 Pico CSS
|
|
8
|
+
* Modifications: Copyright (c) 2026 Joao Goncalves
|
|
9
|
+
* Licensed under MIT (https://github.com/semanticus/semanticus-css/blob/main/LICENSE)
|
|
5
10
|
*/
|
|
6
11
|
|
|
7
12
|
/* Variables */
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/* Shared variables */
|
|
2
|
+
@import '../variables/_breakpoints.css';
|
|
3
|
+
|
|
4
|
+
:root,
|
|
5
|
+
:host {
|
|
6
|
+
/* Font Families */
|
|
7
|
+
--font-family-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
8
|
+
--font-family-sans-serif: system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, Helvetica, Arial, "Helvetica Neue", sans-serif, var(--font-family-emoji);
|
|
9
|
+
--font-family-monospace: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace, var(--font-family-emoji);
|
|
10
|
+
--font-family: var(--font-family-sans-serif);
|
|
11
|
+
|
|
12
|
+
/* Typography – base defaults inherited by all elements */
|
|
13
|
+
--line-height: 1.5;
|
|
14
|
+
--font-weight: 400;
|
|
15
|
+
--font-size: 100%; /* Root font-size; overridden per breakpoint below and per element in §6 */
|
|
16
|
+
--text-underline-offset: 0.1rem;
|
|
17
|
+
|
|
18
|
+
/* Borders & Effects – global defaults for border-radius, border-width, outline, and transition */
|
|
19
|
+
--border-radius: 0.25rem;
|
|
20
|
+
--border-width: 0.0625rem; /* 1px – base border width used by forms, tables, etc. */
|
|
21
|
+
--outline-width: 0.125rem; /* 2px – focus-ring width */
|
|
22
|
+
--transition: 0.2s ease-in-out; /* Default transition timing for interactive state changes */
|
|
23
|
+
|
|
24
|
+
/* Spacing – shared base unit used for padding, margins, and gaps throughout the layout */
|
|
25
|
+
--spacing: 1rem;
|
|
26
|
+
--responsive-multiplier: 1; /* Multiplier applied to spacing for responsive adjustments at wider breakpoints */
|
|
27
|
+
--typography-spacing-vertical: 1rem; /* Vertical margin below typographic elements (p, lists, etc.) */
|
|
28
|
+
--block-spacing-vertical: var(--spacing); /* Vertical padding inside block-level components (cards, modals, etc.) */
|
|
29
|
+
--block-spacing-horizontal: var(--spacing); /* Horizontal padding inside block-level components */
|
|
30
|
+
--grid-column-gap: var(--spacing); /* Column gap in CSS Grid layouts */
|
|
31
|
+
--grid-row-gap: var(--spacing); /* Row gap in CSS Grid layouts */
|
|
32
|
+
--form-element-spacing-vertical: 0.75rem; /* Vertical padding inside form inputs, selects, and textareas */
|
|
33
|
+
--form-element-spacing-horizontal: 1rem; /* Horizontal padding inside form inputs, selects, and textareas */
|
|
34
|
+
|
|
35
|
+
/* Shadows – used by [role="group"] and [role="search"] button/input combos */
|
|
36
|
+
--group-shadow: 0 0 0 rgba(0, 0, 0, 0); /* Default (no shadow) */
|
|
37
|
+
--group-shadow-focus-with-button: 0 0 0 var(--outline-width) var(--color-primary-focus); /* Focus ring when a button inside the group is focused */
|
|
38
|
+
--group-shadow-focus-with-input: 0 0 0 0.0625rem var(--form-border-color); /* Focus ring when an input inside the group is focused */
|
|
39
|
+
|
|
40
|
+
/* Modal – backdrop overlay settings */
|
|
41
|
+
--modal-overlay-backdrop-filter: blur(0.375rem); /* Applies a blur behind the modal overlay */
|
|
42
|
+
|
|
43
|
+
/* Navigation – spacing and breadcrumb configuration */
|
|
44
|
+
--nav-link-spacing-vertical: 0.5rem; /* Vertical padding inside nav links */
|
|
45
|
+
--nav-link-spacing-horizontal: 0.5rem; /* Horizontal padding inside nav links */
|
|
46
|
+
--nav-breadcrumb-divider: ">"; /* Character displayed between breadcrumb items */
|
|
47
|
+
|
|
48
|
+
--sidebar-width: 25%; /* Sidebar width */
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* Responsive Font Sizes – progressively increase root font-size at wider viewports */
|
|
52
|
+
@media (--breakpoint-sm) {
|
|
53
|
+
:root,
|
|
54
|
+
:host {
|
|
55
|
+
--font-size: 106.25%;
|
|
56
|
+
--sidebar-width: max(25%, 150px);
|
|
57
|
+
--responsive-multiplier: 1.25;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@media (--breakpoint-md) {
|
|
62
|
+
:root,
|
|
63
|
+
:host {
|
|
64
|
+
--font-size: 112.5%;
|
|
65
|
+
--sidebar-width: max(22%, 180px);
|
|
66
|
+
--responsive-multiplier: 1.5;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@media (--breakpoint-lg) {
|
|
71
|
+
:root,
|
|
72
|
+
:host {
|
|
73
|
+
--font-size: 118.75%;
|
|
74
|
+
--sidebar-width: max(20%, 200px);
|
|
75
|
+
--responsive-multiplier: 1.75;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@media (--breakpoint-xl) {
|
|
80
|
+
:root,
|
|
81
|
+
:host {
|
|
82
|
+
--font-size: 125%;
|
|
83
|
+
--sidebar-width: max(18%, 220px);
|
|
84
|
+
--responsive-multiplier: 2;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
@media (--breakpoint-xxl) {
|
|
89
|
+
:root,
|
|
90
|
+
:host {
|
|
91
|
+
--font-size: 131.25%;
|
|
92
|
+
--sidebar-width: clamp(240px, 16%, 300px);
|
|
93
|
+
--responsive-multiplier: 2.25;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -4,9 +4,6 @@
|
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
/* Shared variables */
|
|
8
|
-
@import '../variables/_shared.css';
|
|
9
|
-
|
|
10
7
|
/* ==========================================================================
|
|
11
8
|
Theme-independent variables
|
|
12
9
|
========================================================================== */
|
|
@@ -18,232 +15,40 @@
|
|
|
18
15
|
|
|
19
16
|
/* Borders & radii */
|
|
20
17
|
--border-style: solid;
|
|
21
|
-
--border-radius-
|
|
22
|
-
--border-radius-
|
|
23
|
-
--border-radius-
|
|
24
|
-
--border-radius-
|
|
18
|
+
--border-radius-default: var(--border-radius);
|
|
19
|
+
--border-radius-sm: var(--border-radius-default);
|
|
20
|
+
--border-radius-lg: calc(var(--border-radius-default) * 2);
|
|
21
|
+
--border-radius-xl: calc(var(--border-radius-default) * 4);
|
|
22
|
+
--border-radius-xxl: calc(var(--border-radius-default) * 8);
|
|
25
23
|
--border-radius-pill: 50rem;
|
|
26
24
|
|
|
27
25
|
/* Border-width scale */
|
|
28
|
-
--border-width-
|
|
29
|
-
--border-width-
|
|
30
|
-
--border-width-
|
|
31
|
-
--border-width-
|
|
32
|
-
--border-width-
|
|
26
|
+
--border-width-default: var(--border-width);
|
|
27
|
+
--border-width-0: 0;
|
|
28
|
+
--border-width-1: var(--border-width-default);
|
|
29
|
+
--border-width-2: calc(var(--border-width-default) * 2);
|
|
30
|
+
--border-width-3: calc(var(--border-width-default) * 3);
|
|
31
|
+
--border-width-4: calc(var(--border-width-default) * 4);
|
|
32
|
+
--border-width-5: calc(var(--border-width-default) * 5);
|
|
33
33
|
|
|
34
34
|
/* Spacing scale */
|
|
35
|
+
--spacer-default: var(--spacing);
|
|
35
36
|
--spacer-0: 0;
|
|
36
|
-
--spacer-1: calc(var(--
|
|
37
|
-
--spacer-2: calc(var(--
|
|
38
|
-
--spacer-3: var(--
|
|
39
|
-
--spacer-4: calc(var(--
|
|
40
|
-
--spacer-5: calc(var(--
|
|
41
|
-
|
|
42
|
-
/* Font-size scale */
|
|
43
|
-
--fs-1: calc(1.375rem + 1.5vw);
|
|
44
|
-
--fs-2: calc(1.325rem + 0.9vw);
|
|
45
|
-
--fs-3: calc(1.3rem + 0.6vw);
|
|
46
|
-
--fs-4: calc(1.275rem + 0.3vw);
|
|
47
|
-
--fs-5: 1.25rem;
|
|
48
|
-
--fs-6: 1rem;
|
|
37
|
+
--spacer-1: calc(var(--spacer-default) * 0.25);
|
|
38
|
+
--spacer-2: calc(var(--spacer-default) * 0.5);
|
|
39
|
+
--spacer-3: var(--spacer-default);
|
|
40
|
+
--spacer-4: calc(var(--spacer-default) * 1.5);
|
|
41
|
+
--spacer-5: calc(var(--spacer-default) * 3);
|
|
49
42
|
|
|
50
43
|
/* Focus ring */
|
|
51
44
|
--focus-ring-width: var(--outline-width);
|
|
52
45
|
--focus-ring-opacity: 0.25;
|
|
53
46
|
|
|
54
47
|
/* Auto-switching mappings (resolved at computed-value time via Semanticus CSS) */
|
|
55
|
-
--emphasis-color: var(--color-contrast);
|
|
48
|
+
--emphasis-color: rgb(var(--color-contrast-rgb));
|
|
56
49
|
--secondary-color: var(--color-text-muted);
|
|
57
50
|
--border-color: var(--color-border-muted);
|
|
58
|
-
--box-shadow: var(--shadow-md);
|
|
59
|
-
--box-shadow-sm: var(--shadow-sm);
|
|
60
|
-
--box-shadow-lg: var(--shadow-lg);
|
|
61
51
|
--focus-ring-color: var(--color-primary-focus);
|
|
62
52
|
|
|
63
|
-
/* Status inverse colors (readable text on status-colored backgrounds) */
|
|
64
|
-
--color-success-inverse: #fff;
|
|
65
|
-
--color-info-inverse: #fff;
|
|
66
|
-
--color-warning-inverse: #000;
|
|
67
|
-
--color-danger-inverse: #fff;
|
|
68
|
-
|
|
69
53
|
--max-z-index: 1050;
|
|
70
54
|
}
|
|
71
|
-
|
|
72
|
-
/* ==========================================================================
|
|
73
|
-
Light theme (default)
|
|
74
|
-
========================================================================== */
|
|
75
|
-
|
|
76
|
-
[data-theme="light"],
|
|
77
|
-
:root:not([data-theme="dark"]),
|
|
78
|
-
:host(:not([data-theme="dark"])) {
|
|
79
|
-
/* RGB channels */
|
|
80
|
-
--primary-rgb: 1, 114, 173;
|
|
81
|
-
--secondary-rgb: 93, 107, 137;
|
|
82
|
-
--contrast-rgb: 24, 28, 37;
|
|
83
|
-
|
|
84
|
-
/* Text emphasis (darker/hover shades in light) */
|
|
85
|
-
--primary-text-emphasis: #015887;
|
|
86
|
-
--secondary-text-emphasis: #48536b;
|
|
87
|
-
--success-text-emphasis: #20603b;
|
|
88
|
-
--info-text-emphasis: #025d5d;
|
|
89
|
-
--warning-text-emphasis: #694d00;
|
|
90
|
-
--danger-text-emphasis: #9b2318;
|
|
91
|
-
--contrast-text-emphasis: #495057;
|
|
92
|
-
|
|
93
|
-
/* Subtle backgrounds (low opacity) */
|
|
94
|
-
--primary-bg-subtle: rgba(1, 114, 173, 0.1);
|
|
95
|
-
--secondary-bg-subtle: rgba(93, 107, 137, 0.1);
|
|
96
|
-
--success-bg-subtle: rgba(43, 122, 76, 0.1);
|
|
97
|
-
--info-bg-subtle: rgba(4, 120, 120, 0.1);
|
|
98
|
-
--warning-bg-subtle: rgba(255, 191, 0, 0.1);
|
|
99
|
-
--danger-bg-subtle: rgba(197, 47, 33, 0.1);
|
|
100
|
-
--contrast-bg-subtle: #ced4da;
|
|
101
|
-
|
|
102
|
-
/* Subtle borders (medium opacity) */
|
|
103
|
-
--primary-border-subtle: rgba(1, 114, 173, 0.35);
|
|
104
|
-
--secondary-border-subtle: rgba(93, 107, 137, 0.35);
|
|
105
|
-
--success-border-subtle: rgba(43, 122, 76, 0.35);
|
|
106
|
-
--info-border-subtle: rgba(4, 120, 120, 0.35);
|
|
107
|
-
--warning-border-subtle: rgba(255, 191, 0, 0.35);
|
|
108
|
-
--danger-border-subtle: rgba(197, 47, 33, 0.35);
|
|
109
|
-
--contrast-border-subtle: #adb5bd;
|
|
110
|
-
|
|
111
|
-
/* Body & emphasis RGB */
|
|
112
|
-
--body-color-rgb: 55, 60, 68;
|
|
113
|
-
--body-bg-rgb: 255, 255, 255;
|
|
114
|
-
--emphasis-color-rgb: 24, 28, 37;
|
|
115
|
-
|
|
116
|
-
/* Secondary surfaces */
|
|
117
|
-
--secondary-bg-rgb: 233, 236, 239;
|
|
118
|
-
|
|
119
|
-
/* Link RGB */
|
|
120
|
-
--link-color-rgb: 1, 114, 173;
|
|
121
|
-
--link-hover-color-rgb: 1, 88, 135;
|
|
122
|
-
|
|
123
|
-
/* Link hover RGB (per-variant) */
|
|
124
|
-
--secondary-hover-color-rgb: 72, 83, 107;
|
|
125
|
-
--success-hover-color-rgb: 32, 96, 59;
|
|
126
|
-
--info-hover-color-rgb: 2, 93, 93;
|
|
127
|
-
--warning-hover-color-rgb: 232, 174, 1;
|
|
128
|
-
--danger-hover-color-rgb: 155, 35, 24;
|
|
129
|
-
--contrast-hover-color-rgb: 249, 250, 251;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
/* ==========================================================================
|
|
133
|
-
Dark theme (system preference)
|
|
134
|
-
========================================================================== */
|
|
135
|
-
|
|
136
|
-
@media (prefers-color-scheme: dark) {
|
|
137
|
-
:root:not([data-theme]),
|
|
138
|
-
:host(:not([data-theme])) {
|
|
139
|
-
/* RGB channels */
|
|
140
|
-
--primary-rgb: 1, 170, 255;
|
|
141
|
-
--secondary-rgb: 150, 158, 175;
|
|
142
|
-
--contrast-rgb: 248, 249, 250;
|
|
143
|
-
|
|
144
|
-
/* Text emphasis (lighter/hover shades in dark) */
|
|
145
|
-
--primary-text-emphasis: #79c0ff;
|
|
146
|
-
--secondary-text-emphasis: #b3b9c5;
|
|
147
|
-
--success-text-emphasis: #93deb5;
|
|
148
|
-
--info-text-emphasis: #25dddd;
|
|
149
|
-
--warning-text-emphasis: #e8ae01;
|
|
150
|
-
--danger-text-emphasis: #f5b7a8;
|
|
151
|
-
--contrast-text-emphasis: #f8f9fa;
|
|
152
|
-
|
|
153
|
-
/* Subtle backgrounds */
|
|
154
|
-
--primary-bg-subtle: rgba(1, 170, 255, 0.15);
|
|
155
|
-
--secondary-bg-subtle: rgba(150, 158, 175, 0.15);
|
|
156
|
-
--success-bg-subtle: rgba(110, 213, 157, 0.15);
|
|
157
|
-
--info-bg-subtle: rgba(10, 194, 194, 0.15);
|
|
158
|
-
--warning-bg-subtle: rgba(255, 191, 0, 0.15);
|
|
159
|
-
--danger-bg-subtle: rgba(243, 143, 121, 0.15);
|
|
160
|
-
--contrast-bg-subtle: #2a3140;
|
|
161
|
-
|
|
162
|
-
/* Subtle borders */
|
|
163
|
-
--primary-border-subtle: rgba(1, 170, 255, 0.35);
|
|
164
|
-
--secondary-border-subtle: rgba(150, 158, 175, 0.35);
|
|
165
|
-
--success-border-subtle: rgba(110, 213, 157, 0.35);
|
|
166
|
-
--info-border-subtle: rgba(10, 194, 194, 0.35);
|
|
167
|
-
--warning-border-subtle: rgba(255, 191, 0, 0.35);
|
|
168
|
-
--danger-border-subtle: rgba(243, 143, 121, 0.35);
|
|
169
|
-
--contrast-border-subtle: #2a3140;
|
|
170
|
-
|
|
171
|
-
/* Body & emphasis RGB */
|
|
172
|
-
--body-color-rgb: 194, 199, 208;
|
|
173
|
-
--body-bg-rgb: 19, 23, 31;
|
|
174
|
-
--emphasis-color-rgb: 223, 227, 235;
|
|
175
|
-
|
|
176
|
-
/* Secondary surfaces */
|
|
177
|
-
--secondary-bg-rgb: 42, 49, 64;
|
|
178
|
-
|
|
179
|
-
/* Link RGB */
|
|
180
|
-
--link-color-rgb: 1, 170, 255;
|
|
181
|
-
--link-hover-color-rgb: 121, 192, 255;
|
|
182
|
-
|
|
183
|
-
/* Link hover RGB (per-variant) */
|
|
184
|
-
--secondary-hover-color-rgb: 179, 185, 197;
|
|
185
|
-
--success-hover-color-rgb: 147, 222, 181;
|
|
186
|
-
--info-hover-color-rgb: 37, 221, 221;
|
|
187
|
-
--warning-hover-color-rgb: 232, 174, 1;
|
|
188
|
-
--danger-hover-color-rgb: 245, 183, 168;
|
|
189
|
-
--contrast-hover-color-rgb: 255, 255, 255;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
/* ==========================================================================
|
|
194
|
-
Dark theme (explicit)
|
|
195
|
-
========================================================================== */
|
|
196
|
-
|
|
197
|
-
[data-theme="dark"] {
|
|
198
|
-
/* RGB channels */
|
|
199
|
-
--primary-rgb: 1, 170, 255;
|
|
200
|
-
--secondary-rgb: 150, 158, 175;
|
|
201
|
-
--contrast-rgb: 248, 249, 250;
|
|
202
|
-
|
|
203
|
-
/* Text emphasis (lighter/hover shades in dark) */
|
|
204
|
-
--primary-text-emphasis: #79c0ff;
|
|
205
|
-
--secondary-text-emphasis: #b3b9c5;
|
|
206
|
-
--success-text-emphasis: #93deb5;
|
|
207
|
-
--info-text-emphasis: #25dddd;
|
|
208
|
-
--warning-text-emphasis: #e8ae01;
|
|
209
|
-
--danger-text-emphasis: #f5b7a8;
|
|
210
|
-
--contrast-text-emphasis: #f8f9fa;
|
|
211
|
-
|
|
212
|
-
/* Subtle backgrounds */
|
|
213
|
-
--primary-bg-subtle: rgba(1, 170, 255, 0.15);
|
|
214
|
-
--secondary-bg-subtle: rgba(150, 158, 175, 0.15);
|
|
215
|
-
--success-bg-subtle: rgba(110, 213, 157, 0.15);
|
|
216
|
-
--info-bg-subtle: rgba(10, 194, 194, 0.15);
|
|
217
|
-
--warning-bg-subtle: rgba(255, 191, 0, 0.15);
|
|
218
|
-
--danger-bg-subtle: rgba(243, 143, 121, 0.15);
|
|
219
|
-
--contrast-bg-subtle: #2a3140;
|
|
220
|
-
|
|
221
|
-
/* Subtle borders */
|
|
222
|
-
--primary-border-subtle: rgba(1, 170, 255, 0.35);
|
|
223
|
-
--secondary-border-subtle: rgba(150, 158, 175, 0.35);
|
|
224
|
-
--success-border-subtle: rgba(110, 213, 157, 0.35);
|
|
225
|
-
--info-border-subtle: rgba(10, 194, 194, 0.35);
|
|
226
|
-
--warning-border-subtle: rgba(255, 191, 0, 0.35);
|
|
227
|
-
--danger-border-subtle: rgba(243, 143, 121, 0.35);
|
|
228
|
-
--contrast-border-subtle: #2a3140;
|
|
229
|
-
|
|
230
|
-
/* Body & emphasis RGB */
|
|
231
|
-
--body-color-rgb: 194, 199, 208;
|
|
232
|
-
--body-bg-rgb: 19, 23, 31;
|
|
233
|
-
--emphasis-color-rgb: 223, 227, 235;
|
|
234
|
-
|
|
235
|
-
/* Secondary surfaces */
|
|
236
|
-
--secondary-bg-rgb: 42, 49, 64;
|
|
237
|
-
|
|
238
|
-
/* Link RGB */
|
|
239
|
-
--link-color-rgb: 1, 170, 255;
|
|
240
|
-
--link-hover-color-rgb: 121, 192, 255;
|
|
241
|
-
|
|
242
|
-
/* Link hover RGB (per-variant) */
|
|
243
|
-
--secondary-hover-color-rgb: 179, 185, 197;
|
|
244
|
-
--success-hover-color-rgb: 147, 222, 181;
|
|
245
|
-
--info-hover-color-rgb: 37, 221, 221;
|
|
246
|
-
--warning-hover-color-rgb: 232, 174, 1;
|
|
247
|
-
--danger-hover-color-rgb: 245, 183, 168;
|
|
248
|
-
--contrast-hover-color-rgb: 255, 255, 255;
|
|
249
|
-
}
|