@massimo-cassandro/minimo 0.1.11 → 0.2.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/package.json +8 -4
- package/src/{js → components}/dialog-content.js +1 -1
- package/src/{css → components/inner-nav}/inner-nav.css +2 -2
- package/src/{js → components/inner-nav}/inner-nav.js +8 -0
- package/src/components/modal-content/modal-content.js +1 -1
- package/src/components/modal-content/modal-content.module.css +4 -4
- package/src/components/recaptcha/recaptcha.css +4 -5
- package/src/components/recaptcha/recaptcha.minimo.tokens.jsonc +24 -0
- package/src/{css/spinners → components/spinner}/TODO spinner-circle.css +1 -1
- package/src/{css/spinners → components/spinner}/spinner-circle-basic.css +3 -2
- package/src/{css/spinners → components/spinner}/spinner-wrapper.css +1 -1
- package/src/components/spinner/spinner.minimo.tokens.jsonc +22 -0
- package/src/components/toast/toast.js +77 -0
- package/src/components/toast/toast.minimo.tokens.jsonc +29 -0
- package/src/components/toast/toast.module.css +59 -0
- package/src/css/alerts.css +23 -23
- package/src/css/anchors.css +17 -16
- package/src/css/buttons/btn-close.css +8 -7
- package/src/css/buttons/buttons.css +105 -90
- package/src/css/buttons/status-buttons.css +43 -43
- package/src/css/container.css +3 -12
- package/src/css/details.css +1 -1
- package/src/css/dialog-content.css +2 -2
- package/src/css/flex.css +9 -0
- package/src/css/forms/fieldset.css +75 -0
- package/src/css/forms/form-group.css +18 -0
- package/src/css/forms/form-utilities.css +32 -0
- package/src/css/forms/forms.css +37 -202
- package/src/css/forms/input-group.css +49 -0
- package/src/css/forms/validation.css +25 -0
- package/src/css/grid.css +25 -18
- package/src/css/headings.css +10 -9
- package/src/css/icons.css +1 -40
- package/src/css/layout-base.css +3 -3
- package/src/css/overlay.css +1 -2
- package/src/css/table.css +26 -19
- package/src/css/text.css +8 -7
- package/src/css/utilities.css +90 -29
- package/src/custom-media-default.css +20 -8
- package/src/custom-properties-default.css +212 -306
- package/src/design-tokens/alerts.minimo.tokens.jsonc +23 -0
- package/src/design-tokens/basic.minimo.tokens.jsonc +52 -0
- package/src/design-tokens/btn-close.minimo.tokens.jsonc +95 -0
- package/src/design-tokens/btn-primary.minimo.tokens.jsonc +100 -0
- package/src/design-tokens/btn-secondary.minimo.tokens.jsonc +33 -0
- package/src/design-tokens/btn.minimo.tokens.jsonc +200 -0
- package/src/design-tokens/color-accent.minimo.tokens.jsonc +13 -0
- package/src/design-tokens/color-neutral.minimo.tokens.jsonc +12 -0
- package/src/design-tokens/color-primary.minimo.tokens.jsonc +12 -0
- package/src/design-tokens/color-secondary.minimo.tokens.jsonc +12 -0
- package/src/design-tokens/flex-grid.minimo.tokens.jsonc +18 -0
- package/src/design-tokens/form.minimo.tokens.jsonc +295 -0
- package/src/design-tokens/gradients-shadowes.minimo.tokens.jsonc +4 -0
- package/src/design-tokens/headings.minimo.tokens.jsonc +57 -0
- package/src/design-tokens/link.minimo.tokens.jsonc +41 -0
- package/src/design-tokens/radius.minimo.tokens.jsonc +45 -0
- package/src/design-tokens/size.minimo.tokens.jsonc +101 -0
- package/src/design-tokens/status.minimo.tokens.jsonc +69 -0
- package/src/design-tokens/table.minimo.tokens.jsonc +66 -0
- package/src/design-tokens/typography.minimo.tokens.jsonc +120 -0
- package/src/design-tokens/utility.minimo.tokens.jsonc +8 -0
- package/src/design-tokens/z-index.minimo.tokens.jsonc +8 -0
- package/src/fonts-template.css +7 -0
- package/src/index-template.css +5 -10
- package/src/index.js +1 -0
- package/src/utilities/classnames.js +3 -0
- package/src/web-components/simple-datatable/icons/arrow-down.svg +1 -0
- package/src/web-components/simple-datatable/icons/arrow-up.svg +2 -0
- package/src/web-components/simple-datatable/icons/arrows-down-up.svg +1 -0
- package/src/web-components/simple-datatable/icons/caret-left.svg +1 -0
- package/src/web-components/simple-datatable/icons/caret-right.svg +1 -0
- package/src/web-components/simple-datatable/icons/check-bold.svg +1 -0
- package/src/web-components/simple-datatable/icons/x-bold.svg +1 -0
- package/src/web-components/simple-datatable/simple-datatable.js +219 -0
- package/src/web-components/simple-datatable/simple-datatable.minimo.tokens.jsonc +50 -0
- package/src/web-components/simple-datatable/simple-datatable.module.css +214 -0
- package/src/web-components/simple-datatable/src/parse-cols.js +117 -0
- package/src/components/init.js +0 -7
- package/src/css/forms/form-edit-info.css +0 -17
- /package/src/{js → components}/alert-autoclose.js +0 -0
- /package/src/{js → components}/create-blurhash-canvas.js +0 -0
- /package/src/{js → components}/dismiss-alerts.js +0 -0
- /package/src/{js → components}/forms.js +0 -0
- /package/src/{js → components}/img-viewer-dom-builder.js +0 -0
- /package/src/{js → components}/overlay.js +0 -0
- /package/src/{js → components}/print-icon.js +0 -0
- /package/src/{css/spinners → components/spinner}/TODO spinner-three-dots.css +0 -0
- /package/src/{css/spinners → components/spinner}/spinner-trailing-dots.css +0 -0
- /package/src/{js → components/spinner}/spinner.js +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@massimo-cassandro/minimo",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Light css framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"homepage": "https://github.com/massimo-cassandro/minimo#readme",
|
|
@@ -14,7 +14,9 @@
|
|
|
14
14
|
"scripts": {
|
|
15
15
|
"UPD-version": "npx update-version # --config=./dev-utilities.config.mjs",
|
|
16
16
|
"upd@m": "npx upd@m",
|
|
17
|
-
"npm-publish": "npm publish"
|
|
17
|
+
"npm-publish": "npm publish",
|
|
18
|
+
"build-tokens": "node ./utilities/build-tokens.mjs --config ./test/tokens-test/tokens-config.mjs",
|
|
19
|
+
"check unresolved props": "node ./utilities/check-unresolved-custom-props.mjs --config ./test/tokens-test/tokens-config.mjs"
|
|
18
20
|
},
|
|
19
21
|
"license": "MIT",
|
|
20
22
|
"author": "Massimo Cassandro",
|
|
@@ -23,9 +25,11 @@
|
|
|
23
25
|
},
|
|
24
26
|
"main": "./src/index.js",
|
|
25
27
|
"files": [
|
|
26
|
-
"src/**/*.{js,css,svg}"
|
|
28
|
+
"src/**/*.{js,mjs,css,svg,tokens.json,tokens.jsonc}"
|
|
27
29
|
],
|
|
28
30
|
"devDependencies": {
|
|
29
|
-
"@massimo-cassandro/dev-updater": "^2.1.0"
|
|
31
|
+
"@massimo-cassandro/dev-updater": "^2.1.0",
|
|
32
|
+
"@massimo-cassandro/stylelint-config": "^2.3.2",
|
|
33
|
+
"style-dictionary": "^5.4.0"
|
|
30
34
|
}
|
|
31
35
|
}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
// navigazione scheda / elenco
|
|
2
|
+
/*
|
|
3
|
+
<p class="inner-nav-main">...</p>
|
|
4
|
+
...
|
|
5
|
+
<p class="inner-nav"></p>
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import './inner-nav.css';
|
|
9
|
+
|
|
2
10
|
let nav_primary = document.querySelector('.inner-nav-main');
|
|
3
11
|
if (nav_primary) {
|
|
4
12
|
// nav_primary.classList.add('text-right', 'd-print-none');
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
.dialogInner {
|
|
53
53
|
width: 100%;
|
|
54
54
|
height: 100%;
|
|
55
|
-
padding-inline-end: var(--
|
|
55
|
+
padding-inline-end: var(--size-md);
|
|
56
56
|
overflow-x: hidden;
|
|
57
57
|
overflow-y: auto;
|
|
58
58
|
/* scrollbar-gutter: stable; */
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
|
|
61
61
|
/* stylelint-disable selector-class-pattern */
|
|
62
62
|
.padding-std & {
|
|
63
|
-
padding: var(--
|
|
63
|
+
padding: var(--size-md) 0;
|
|
64
64
|
}
|
|
65
65
|
.padding-none & {
|
|
66
66
|
padding: 0;
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
|
|
71
71
|
.modalSpinner {
|
|
72
72
|
position: relative;
|
|
73
|
-
padding-block-start: var(--
|
|
73
|
+
padding-block-start: var(--size-2xl);
|
|
74
74
|
|
|
75
75
|
.dialog.on & {
|
|
76
76
|
display: none;
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
--btn-hover-color: var(--secondary, #fff);
|
|
100
100
|
--btn-hover-bg-color: var(--secondary-fg, #000);
|
|
101
101
|
--icon-size: 2.5rem;
|
|
102
|
-
--btn-padding: var(--
|
|
102
|
+
--btn-padding: var(--size-xs, .5rem);
|
|
103
103
|
--icon-bars-thickness: 3px;
|
|
104
104
|
|
|
105
105
|
position: absolute;
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
inset: 0;
|
|
37
37
|
display: block;
|
|
38
38
|
content: '';
|
|
39
|
-
background-color: var(--recaptcha-alert-overlay,
|
|
39
|
+
background-color: var(--recaptcha-alert-overlay-color, rgb(0 0 0 / .5));
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
input, select, textarea {
|
|
@@ -49,12 +49,11 @@
|
|
|
49
49
|
top: 50%;
|
|
50
50
|
left: 50%;
|
|
51
51
|
display: block;
|
|
52
|
-
padding: var(--
|
|
53
|
-
color: var(--recaptcha-alert-
|
|
54
|
-
background-color: var(--recaptcha-alert-
|
|
52
|
+
padding: var(--size-xs);
|
|
53
|
+
color: var(--recaptcha-alert-foreground, #fff);
|
|
54
|
+
background-color: var(--recaptcha-alert-background-color, #000);
|
|
55
55
|
border: .5px solid currentColor;
|
|
56
56
|
border-radius: var(--radius-xs);
|
|
57
|
-
box-shadow: var(--box-shadow-base);
|
|
58
57
|
transform-origin: center;
|
|
59
58
|
translate: -50% -50%;
|
|
60
59
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"recaptcha": {
|
|
3
|
+
"alert": {
|
|
4
|
+
|
|
5
|
+
"overlay": {
|
|
6
|
+
"color": {
|
|
7
|
+
"$type": "color",
|
|
8
|
+
"$value": "rgb(0 0 0 / .5)"
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
|
|
12
|
+
"background": {
|
|
13
|
+
"color": {
|
|
14
|
+
"$type": "color",
|
|
15
|
+
"$value": "#000"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"foreground": {
|
|
19
|
+
"$type": "color",
|
|
20
|
+
"$value": "#fff"
|
|
21
|
+
},
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
.spinner {
|
|
2
|
-
display:
|
|
2
|
+
display: block;
|
|
3
3
|
width: var(--spinner-size);
|
|
4
4
|
aspect-ratio: 1;
|
|
5
|
+
margin: .5rem auto;
|
|
5
6
|
color: var(--spinner-color);
|
|
6
7
|
text-indent: -99999em;
|
|
7
|
-
border: var(--spinner-stroke) solid;
|
|
8
|
+
border: var(--spinner-stroke-width) solid;
|
|
8
9
|
border-color: currentColor currentColor transparent;
|
|
9
10
|
border-radius: 50%;
|
|
10
11
|
animation: spinner-border .7s linear infinite;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"spinner": {
|
|
3
|
+
|
|
4
|
+
"size": {
|
|
5
|
+
"$value": "{size.lg}",
|
|
6
|
+
"$type": "dimension"
|
|
7
|
+
},
|
|
8
|
+
|
|
9
|
+
"color": {
|
|
10
|
+
"$value": "{primary.base}",
|
|
11
|
+
"$type": "color"
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
"stroke": {
|
|
15
|
+
"width": {
|
|
16
|
+
"$value": "2px",
|
|
17
|
+
"$type": "dimension"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
// forked from https://github.com/argyleink/gui-challenges/tree/main/toast
|
|
2
|
+
// https://web.dev/articles/building/a-toast-component?hl=en
|
|
3
|
+
|
|
4
|
+
// TODO rivedere
|
|
5
|
+
|
|
6
|
+
import * as styles from './toast.module.css';
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
const init = () => {
|
|
10
|
+
const toastWrapper = document.createElement('section');
|
|
11
|
+
toastWrapper.classList.add(styles.toastWrapper);
|
|
12
|
+
|
|
13
|
+
// document.firstElementChild.insertBefore(toastWrapper, document.body);
|
|
14
|
+
document.body.append(toastWrapper);
|
|
15
|
+
return toastWrapper;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const createToast = text => {
|
|
19
|
+
const thisToast = document.createElement('output');
|
|
20
|
+
|
|
21
|
+
thisToast.innerHTML = text;
|
|
22
|
+
thisToast.classList.add(styles.toast);
|
|
23
|
+
thisToast.setAttribute('role', 'status');
|
|
24
|
+
thisToast.setAttribute('aria-live', 'polite');
|
|
25
|
+
|
|
26
|
+
return thisToast;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const addToast = toast => {
|
|
30
|
+
const { matches:motionOK } = window.matchMedia(
|
|
31
|
+
'(prefers-reduced-motion: no-preference)'
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
toastWrapper.children.length && motionOK
|
|
35
|
+
? flipToast(toast)
|
|
36
|
+
: toastWrapper.appendChild(toast);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const Toast = text => {
|
|
40
|
+
let toast = createToast(text);
|
|
41
|
+
addToast(toast);
|
|
42
|
+
|
|
43
|
+
return Promise.allSettled(
|
|
44
|
+
toast.getAnimations().map( animation => animation.finished )
|
|
45
|
+
).then(() => {
|
|
46
|
+
toastWrapper.removeChild(toast);
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
// https://aerotwist.com/blog/flip-your-animations/
|
|
51
|
+
const flipToast = toast => {
|
|
52
|
+
// FIRST
|
|
53
|
+
const first = toastWrapper.offsetHeight;
|
|
54
|
+
|
|
55
|
+
// add new child to change container size
|
|
56
|
+
toastWrapper.appendChild(toast);
|
|
57
|
+
|
|
58
|
+
// LAST
|
|
59
|
+
const last = toastWrapper.offsetHeight;
|
|
60
|
+
|
|
61
|
+
// INVERT
|
|
62
|
+
const invert = last - first;
|
|
63
|
+
|
|
64
|
+
// PLAY
|
|
65
|
+
const animation = toastWrapper.animate([
|
|
66
|
+
{ transform: `translateY(${invert}px)` },
|
|
67
|
+
{ transform: 'translateY(0)' }
|
|
68
|
+
], {
|
|
69
|
+
duration: 150,
|
|
70
|
+
easing: 'ease-out',
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
animation.startTime = document.timeline.currentTime;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const toastWrapper = init();
|
|
77
|
+
export { Toast };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"toast": {
|
|
3
|
+
|
|
4
|
+
"font": {
|
|
5
|
+
"size": {
|
|
6
|
+
"$value": "{font.size.sm}",
|
|
7
|
+
"$type": "dimension"
|
|
8
|
+
},
|
|
9
|
+
},
|
|
10
|
+
|
|
11
|
+
"border": {
|
|
12
|
+
"radius": {
|
|
13
|
+
"$value": "{radius.sm}",
|
|
14
|
+
"$type": "color"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"text": {
|
|
18
|
+
"color": {
|
|
19
|
+
"$value": "{text.color}",
|
|
20
|
+
"$type": "color"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"duration": {
|
|
24
|
+
"$value": "5s",
|
|
25
|
+
"$type": "duration"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* purgecss start ignore */
|
|
2
|
+
.toastWrapper {
|
|
3
|
+
position: fixed;
|
|
4
|
+
inset-block-end: 0;
|
|
5
|
+
inset-inline: 0;
|
|
6
|
+
z-index: 1;
|
|
7
|
+
|
|
8
|
+
display: grid;
|
|
9
|
+
gap: 1vh;
|
|
10
|
+
justify-content: center;
|
|
11
|
+
justify-items: stretch;
|
|
12
|
+
padding-block-end: 5vh;
|
|
13
|
+
|
|
14
|
+
/* optimizations */
|
|
15
|
+
pointer-events: none;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.toast {
|
|
19
|
+
--_bg-lightness: 90%;
|
|
20
|
+
--_travel-distance: 0;
|
|
21
|
+
|
|
22
|
+
max-inline-size: min(25ch, 90vw);
|
|
23
|
+
padding-block: .5ch;
|
|
24
|
+
padding-inline: 1ch;
|
|
25
|
+
|
|
26
|
+
/* font-family: system-ui, sans-serif; */
|
|
27
|
+
font-size: var(--toast-font-size);
|
|
28
|
+
color: var(--toast-text-color);
|
|
29
|
+
background: hsl(0 0% var(--_bg-lightness) / 90%);
|
|
30
|
+
border-radius: var(--toast-border-radius);
|
|
31
|
+
animation:
|
|
32
|
+
fade-in .3s ease,
|
|
33
|
+
slide-in .3s ease,
|
|
34
|
+
fade-out .3s ease var(--toast-duration);
|
|
35
|
+
|
|
36
|
+
will-change: transform;
|
|
37
|
+
|
|
38
|
+
@media (--dark) {
|
|
39
|
+
/* color: white; */
|
|
40
|
+
--_bg-lightness: 20%;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@media (--motionOK) {
|
|
44
|
+
--_travel-distance: 5vh;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
@keyframes fade-in {
|
|
49
|
+
from { opacity: 0; }
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@keyframes fade-out {
|
|
53
|
+
to { opacity: 0; }
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@keyframes slide-in {
|
|
57
|
+
from { transform: translateY(var(--_travel-distance, 10px)); }
|
|
58
|
+
}
|
|
59
|
+
/* purgecss end ignore */
|
package/src/css/alerts.css
CHANGED
|
@@ -25,44 +25,44 @@
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
27
|
/* alert-error / alert-danger (default) */
|
|
28
|
-
--
|
|
29
|
-
--
|
|
30
|
-
--
|
|
28
|
+
--_alert-bg-color: var(--status-danger-color);
|
|
29
|
+
--_alert-fg-color: var(--status-danger-fg);
|
|
30
|
+
--_alert-border-color: var(--status-danger-border-color);
|
|
31
31
|
|
|
32
32
|
position: relative;
|
|
33
33
|
|
|
34
34
|
&.alert-warning, &.alert-notice {
|
|
35
|
-
--
|
|
36
|
-
--
|
|
37
|
-
--
|
|
35
|
+
--_alert-bg-color: var(--status-warning-color);
|
|
36
|
+
--_alert-fg-color: var(--status-warning-fg);
|
|
37
|
+
--_alert-border-color: var(--status-warning-border-color);
|
|
38
38
|
}
|
|
39
39
|
&.alert-info {
|
|
40
|
-
--
|
|
41
|
-
--
|
|
42
|
-
--
|
|
40
|
+
--_alert-bg-color: var(--status-info-color);
|
|
41
|
+
--_alert-fg-color: var(--status-info-fg);
|
|
42
|
+
--_alert-border-color: var(--status-info-border-color);
|
|
43
43
|
}
|
|
44
44
|
&.alert-success {
|
|
45
|
-
--
|
|
46
|
-
--
|
|
47
|
-
--
|
|
45
|
+
--_alert-bg-color: var(--status-success-color);
|
|
46
|
+
--_alert-fg-color: var(--status-success-fg);
|
|
47
|
+
--_alert-border-color: var(--status-success-border-color);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
padding: var(--
|
|
51
|
-
margin: var(--
|
|
50
|
+
padding: var(--size-base) var(--size-xl) var(--size-base) var(--size-base);
|
|
51
|
+
margin: var(--size-base) 0;
|
|
52
52
|
font-size: var(--font-size-md);
|
|
53
53
|
font-weight: var(--font-weight-semibold);
|
|
54
|
-
color: var(--
|
|
55
|
-
background-color: var(--
|
|
56
|
-
border: 1px solid var(--
|
|
54
|
+
color: var(--_alert-fg-color);
|
|
55
|
+
background-color: color-mix(in srgb, var(--_alert-bg-color) 60%, transparent);
|
|
56
|
+
border: 1px solid var(--_alert-border-color);
|
|
57
57
|
border-radius: var(--alert-border-radius);
|
|
58
|
-
box-shadow: var(--alert-
|
|
58
|
+
box-shadow: var(--alert-drop-shadow);
|
|
59
59
|
|
|
60
60
|
h2 {
|
|
61
|
-
margin: 0 0 var(--
|
|
61
|
+
margin: 0 0 var(--size-xs);
|
|
62
62
|
font-size: var(--font-size-lg);
|
|
63
63
|
}
|
|
64
64
|
p {
|
|
65
|
-
margin-block-end: var(--
|
|
65
|
+
margin-block-end: var(--size-xs);
|
|
66
66
|
&:last-child {
|
|
67
67
|
margin-block-end: 0;
|
|
68
68
|
}
|
|
@@ -71,13 +71,13 @@
|
|
|
71
71
|
text-decoration: underline;
|
|
72
72
|
text-underline-offset: 3px;
|
|
73
73
|
&, &:visited {
|
|
74
|
-
color: var(--
|
|
74
|
+
color: var(--_alert-link-color);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
@media (
|
|
77
|
+
@media (hover: hover) {
|
|
78
78
|
&:hover {
|
|
79
79
|
text-decoration-thickness: 4px;
|
|
80
|
-
background-color: color-mix(in srgb, var(--body-
|
|
80
|
+
background-color: color-mix(in srgb, var(--body-background-color) 30%, transparent);
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
} */
|
package/src/css/anchors.css
CHANGED
|
@@ -9,32 +9,33 @@ a:link, .btn-link {
|
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
+
a:not(.btn) {
|
|
13
|
+
text-decoration: none;
|
|
14
|
+
&:link {
|
|
15
|
+
color: var(--link-color);
|
|
16
|
+
}
|
|
17
|
+
&:visited {
|
|
18
|
+
color: var(--link-visited-color);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
12
21
|
|
|
13
22
|
a:not(.btn), .btn-link {
|
|
14
23
|
&:focus, &:focus-visible {
|
|
15
24
|
outline: 1px solid color-mix(in srgb, var(--link-color) 60%, transparent);
|
|
16
25
|
outline-offset: 2px;
|
|
17
26
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
27
|
+
@media (hover: hover) {
|
|
28
|
+
&:hover {
|
|
29
|
+
text-decoration: underline;
|
|
30
|
+
text-underline-offset: 2px;
|
|
31
|
+
}
|
|
21
32
|
}
|
|
22
33
|
&:active {
|
|
23
|
-
/* TODO rivedere, sostituire con colori specifici da
|
|
34
|
+
/* TODO rivedere, sostituire con colori specifici da custom props */
|
|
24
35
|
/* stylelint-disable-next-line declaration-no-important */
|
|
25
|
-
color: var(--body-
|
|
26
|
-
background-color: var(--link-color);
|
|
36
|
+
color: var(--body-background-color) !important;
|
|
27
37
|
outline: 2px solid var(--link-color);
|
|
38
|
+
background-color: var(--link-color);
|
|
28
39
|
offset: 0;
|
|
29
40
|
}
|
|
30
41
|
}
|
|
31
|
-
|
|
32
|
-
a:not(.btn) {
|
|
33
|
-
text-decoration: none;
|
|
34
|
-
&:link {
|
|
35
|
-
color: var(--link-color);
|
|
36
|
-
}
|
|
37
|
-
&:visited {
|
|
38
|
-
color: var(--link-visited-color);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
.btn-close {
|
|
9
9
|
|
|
10
|
-
--
|
|
10
|
+
--_icon-bar-width: calc(var(--btn-close-size) - (var(--btn-close-padding) * 2) - (var(--btn-close-border-width) * 2));
|
|
11
11
|
|
|
12
12
|
position: relative;
|
|
13
13
|
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
padding: var(--btn-close-padding);
|
|
18
18
|
color: var(--btn-close-icon-color);
|
|
19
19
|
cursor: pointer;
|
|
20
|
-
background-color: var(--btn-close-background);
|
|
20
|
+
background-color: var(--btn-close-background-color);
|
|
21
21
|
border: var(--btn-close-border-width) solid var(--btn-close-border-color);
|
|
22
22
|
border-radius: var(--btn-close-border-radius);
|
|
23
23
|
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
top: 50%;
|
|
27
27
|
left: 0;
|
|
28
28
|
display: block;
|
|
29
|
-
width: var(--
|
|
29
|
+
width: var(--_icon-bar-width);
|
|
30
30
|
height: var(--btn-close-icon-bar-size);
|
|
31
31
|
content: '';
|
|
32
32
|
background: currentColor;
|
|
@@ -42,23 +42,24 @@
|
|
|
42
42
|
|
|
43
43
|
&:focus {
|
|
44
44
|
outline: var(--btn-close-focus-outline-width) solid var(--btn-close-focus-outline-color);
|
|
45
|
+
outline-offset: var(--btn-close-focus-outline-offset);
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
@media (hover: hover) {
|
|
48
49
|
&:hover {
|
|
49
50
|
|
|
50
|
-
background-color: var(--btn-close-hover-background);
|
|
51
|
+
background-color: var(--btn-close-hover-background-color);
|
|
51
52
|
|
|
52
53
|
&::before, &::after {
|
|
53
|
-
background-color: var(--btn-close-icon-
|
|
54
|
+
background-color: var(--btn-close-hover-icon-color);
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
&:active {
|
|
59
|
-
background-color: var(--btn-close-active-background);
|
|
60
|
+
background-color: var(--btn-close-active-background-color);
|
|
60
61
|
&::before, &::after {
|
|
61
|
-
background-color: var(--btn-close-icon-
|
|
62
|
+
background-color: var(--btn-close-active-icon-color);
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
}
|