mypgs 1.0.0 → 1.1.2
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/assets/javascript/_pgs.js +18 -3
- package/assets/javascript/components/_slides.js +3 -3
- package/assets/javascript/components/_stepTabs.js +157 -0
- package/assets/javascript/index.js +1 -1
- package/assets/scss/base/_body.scss +3 -2
- package/assets/scss/base/_general.scss +46 -43
- package/assets/scss/base/_heading.scss +17 -15
- package/assets/scss/components/_accordion.scss +1 -0
- package/assets/scss/components/_notification.scss +4 -4
- package/assets/scss/components/_searchbar.scss +2 -2
- package/assets/scss/components/_slides.scss +5 -4
- package/assets/scss/components/_stepTabs.scss +58 -0
- package/assets/scss/components/_steps.scss +4 -3
- package/assets/scss/components/_table.scss +1 -1
- package/assets/scss/components/_tooltip.scss +2 -5
- package/assets/scss/index.scss +29 -32
- package/assets/scss/layout/_gap.scss +3 -0
- package/assets/scss/mixin/_mx-button.scss +55 -32
- package/assets/scss/mixin/_mx-menu.scss +1 -1
- package/dist/css/index.css +2113 -1691
- package/dist/css/index.css.map +1 -1
- package/dist/css/index.min.css +1 -1
- package/dist/javascript/index.js +135 -97
- package/dist/javascript/index.js.map +1 -1
- package/dist/javascript/index.min.js +1 -1
- package/package.json +2 -2
- package/templates/components/md-accordion.html +23 -0
- package/templates/components/md-breadcumbs.html +8 -8
- package/templates/components/md-button.html +23 -0
- package/templates/components/md-card.html +21 -0
- package/templates/components/md-dropdown.html +16 -0
- package/templates/components/md-form.html +26 -0
- package/templates/components/md-logo.html +7 -0
- package/templates/components/md-menu.html +39 -5
- package/templates/components/md-modal.html +19 -0
- package/templates/components/md-notification.html +4 -1
- package/templates/components/md-searchbar.html +6 -1
- package/templates/components/md-slides.html +33 -0
- package/templates/components/md-stepTabs.html +36 -0
- package/templates/components/md-steps.html +25 -0
- package/templates/components/md-table.html +24 -0
- package/templates/demo.css +47 -0
- package/templates/demo.html +24 -0
- package/templates/demo.js +141 -0
- package/templates/layout/md-body.html +1 -1
- package/templates/layout/md-cookieConsent.html +2 -2
- package/templates/layout/md-footer.html +21 -2
- package/templates/layout/md-header.html +22 -2
- package/templates/layout/md-pageShell.html +22 -0
- package/templates/layout/md-section.html +25 -0
- package/assets/javascript/components/_tabs.js +0 -134
- package/assets/scss/components/_tabs.scss +0 -69
|
@@ -138,15 +138,30 @@ export function pgs(root) {
|
|
|
138
138
|
return api;
|
|
139
139
|
};
|
|
140
140
|
|
|
141
|
-
api.toggle = function (value) {
|
|
141
|
+
api.toggle = function (value, force) {
|
|
142
142
|
const v = String(value).trim();
|
|
143
143
|
if (!v) return false;
|
|
144
|
-
|
|
145
144
|
const current = read();
|
|
146
|
-
|
|
145
|
+
const exists = current.includes(v);
|
|
146
|
+
|
|
147
|
+
if (force !== undefined) {
|
|
148
|
+
if (force && !exists) {
|
|
149
|
+
current.push(v);
|
|
150
|
+
write(current);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
if (!force && exists) {
|
|
154
|
+
write(current.filter(x => x !== v));
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
return !!force;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
if (exists) {
|
|
147
161
|
write(current.filter(x => x !== v));
|
|
148
162
|
return false;
|
|
149
163
|
}
|
|
164
|
+
|
|
150
165
|
current.push(v);
|
|
151
166
|
write(current);
|
|
152
167
|
return true;
|
|
@@ -30,8 +30,8 @@ class PGS_Slides {
|
|
|
30
30
|
|
|
31
31
|
//== PULSANTI
|
|
32
32
|
if (!pgs(EL).querySelector('slides-prec') && !pgs(EL).querySelector('slides-next')) {
|
|
33
|
-
EL.insertAdjacentHTML("afterbegin", `<button pgs="slides-prec
|
|
34
|
-
EL.insertAdjacentHTML("beforeend", `<button pgs="slides-next
|
|
33
|
+
EL.insertAdjacentHTML("afterbegin", `<button pgs="slides-prec buttonIcon" type="button" class="precButton" aria-label="slide precedente"> <span> <i class="fa-solid fa-arrow-left"></i></span></button>`);
|
|
34
|
+
EL.insertAdjacentHTML("beforeend", `<button pgs="slides-next buttonIcon" type="button" class="nextButton" aria-label="prossima slide"> <span> <i class="fa-solid fa-arrow-right"></i></span></button>`);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
//== DOTS
|
|
@@ -89,7 +89,7 @@ class PGS_Slides {
|
|
|
89
89
|
const isView = visiblePercent >= 0.98;
|
|
90
90
|
|
|
91
91
|
//== SCROLL ANIMATION
|
|
92
|
-
if (!pgs(LI.target).option.contains('notScrollAnimation')) {
|
|
92
|
+
if (!pgs(LI.target).option.contains('notScrollAnimation') && LI.target.firstElementChild) {
|
|
93
93
|
LI.target.firstElementChild.style.setProperty('--visible-percent', `${visiblePercent}`);
|
|
94
94
|
};
|
|
95
95
|
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
const API = new WeakMap();
|
|
2
|
+
PGS_stepTabs()
|
|
3
|
+
|
|
4
|
+
export function PGS_stepTabs() {
|
|
5
|
+
pgs(document).querySelectorAll("stepTabs").forEach(tabsWizard => {
|
|
6
|
+
if (tabsWizard.dataset.stepTabsInitialized === "true") return;
|
|
7
|
+
tabsWizard.dataset.stepTabsInitialized = "true";
|
|
8
|
+
|
|
9
|
+
//= SELECTOR
|
|
10
|
+
const prev = pgs(tabsWizard).querySelector("stepTabs-prev")
|
|
11
|
+
const next = pgs(tabsWizard).querySelector("stepTabs-next")
|
|
12
|
+
const restart = pgs(tabsWizard).querySelector("stepTabs-restart")
|
|
13
|
+
const dots = pgs(tabsWizard).querySelector("stepTabs-dots")
|
|
14
|
+
const tabsContainer = pgs(tabsWizard).querySelector("stepTabs-container");
|
|
15
|
+
const allTab = pgs(tabsContainer).querySelectorAll("tab");
|
|
16
|
+
|
|
17
|
+
//= SETTING
|
|
18
|
+
const total = allTab.length;
|
|
19
|
+
const defaultTabLocked = Array.from(allTab).filter(tab => pgs(tab).state.contains("is-locked"))
|
|
20
|
+
let current = 0;
|
|
21
|
+
if (prev) prev.disabled = true;
|
|
22
|
+
let isRendering = false;
|
|
23
|
+
|
|
24
|
+
if (!tabsContainer || total === 0) return;
|
|
25
|
+
|
|
26
|
+
//- CREAZIONE DOTS
|
|
27
|
+
const tabDots = [];
|
|
28
|
+
if (dots) {
|
|
29
|
+
dots.innerHTML = "";
|
|
30
|
+
|
|
31
|
+
allTab.forEach((tab, index) => {
|
|
32
|
+
const iconClass = tab.getAttribute("data-tab-icon") || "fa-circle";
|
|
33
|
+
const dot = document.createElement("button");
|
|
34
|
+
dot.type = "button";
|
|
35
|
+
pgs(dot).add("stepTabs-dots-dot");
|
|
36
|
+
dot.setAttribute("data-step", index);
|
|
37
|
+
dot.innerHTML = `<i class="fa-solid ${iconClass}"></i>`;
|
|
38
|
+
|
|
39
|
+
dot.addEventListener("click", () => {
|
|
40
|
+
if (pgs(dot).state.contains("is-completed")) {
|
|
41
|
+
goTo(index, true);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
dots.appendChild(dot);
|
|
46
|
+
tabDots.push(dot);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
//+ DOTS
|
|
51
|
+
function updateDots() {
|
|
52
|
+
tabDots.forEach((dot, i) => {
|
|
53
|
+
setState(dot, "is-active", i === current);
|
|
54
|
+
setState(dot, "is-completed", i < current);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
//+ STATE
|
|
59
|
+
function setState(element, state, active) {
|
|
60
|
+
if (!element) return;
|
|
61
|
+
const hasState = pgs(element).state.contains(state);
|
|
62
|
+
if (active === hasState) return;
|
|
63
|
+
pgs(element).state.toggle(state, active);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
//+ CONTROLS
|
|
67
|
+
function updateControls() {
|
|
68
|
+
const tab = allTab[current];
|
|
69
|
+
if (prev) prev.disabled = current === 0;
|
|
70
|
+
if (next) next.disabled = current === total - 1 || pgs(tab).state.contains("is-locked");
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
//+ Step
|
|
74
|
+
function goTo(index, scroll = true) {
|
|
75
|
+
current = Math.min(Math.max(index, 0), total - 1);
|
|
76
|
+
const tab = allTab[current]
|
|
77
|
+
|
|
78
|
+
isRendering = true;
|
|
79
|
+
allTab.forEach((tab, i) => setState(tab, "is-active", i === current));
|
|
80
|
+
updateControls();
|
|
81
|
+
updateDots();
|
|
82
|
+
isRendering = false;
|
|
83
|
+
|
|
84
|
+
if (scroll && !tabsWizard.closest("dialog")) {
|
|
85
|
+
tab?.focus();
|
|
86
|
+
tabsWizard?.scrollIntoView({ behavior: "smooth", block: "start" });
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
tabsWizard.dispatchEvent(new CustomEvent('stepTabs:change', { detail: { current, total } }));
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
//+ restart
|
|
93
|
+
function restartTab() {
|
|
94
|
+
goTo(0);
|
|
95
|
+
defaultTabLocked.forEach(tab => pgs(tab).state.add("is-locked"));
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
//= INIT
|
|
99
|
+
goTo(0, false);
|
|
100
|
+
|
|
101
|
+
//= data-tab-locked
|
|
102
|
+
const observer = new MutationObserver(() => {
|
|
103
|
+
if (isRendering) return;
|
|
104
|
+
updateControls();
|
|
105
|
+
});
|
|
106
|
+
allTab?.forEach(tabEl => observer.observe(tabEl, { attributes: true, attributeFilter: ["pgs-state"], }));
|
|
107
|
+
|
|
108
|
+
//= Click su Avanti/Indietro
|
|
109
|
+
prev?.addEventListener("click", e => goTo(current - 1));
|
|
110
|
+
next?.addEventListener("click", e => {
|
|
111
|
+
updateControls();
|
|
112
|
+
if (next.disabled) return;
|
|
113
|
+
goTo(current + 1);
|
|
114
|
+
});
|
|
115
|
+
restart?.addEventListener("click", e => restartTab(), { capture: true });
|
|
116
|
+
|
|
117
|
+
//-(API)
|
|
118
|
+
// tabsWizard.addEventListener("stepTabs:reset", () => restartTab());
|
|
119
|
+
API.set(tabsWizard, {
|
|
120
|
+
restart: restartTab,
|
|
121
|
+
goTo,
|
|
122
|
+
next: () => goTo(current + 1),
|
|
123
|
+
prev: () => goTo(current - 1),
|
|
124
|
+
toggleLock: (step, lock = true) => typeof step === "number" && allTab[step] && (pgs(allTab[step]).state.toggle("is-locked", lock), goTo(current)),
|
|
125
|
+
getCurrent: () => current,
|
|
126
|
+
getState: () => ({ current, total }),
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export function PGS_tabs_api(selector) {
|
|
132
|
+
return API.get(selector);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/*
|
|
136
|
+
/ EXAMPLE
|
|
137
|
+
// vai allo step 2
|
|
138
|
+
w.dispatchEvent(new CustomEvent("stepTabs:go", { detail: { step: 2 } }));
|
|
139
|
+
|
|
140
|
+
// next
|
|
141
|
+
w.dispatchEvent(new CustomEvent("stepTabs:next"));
|
|
142
|
+
|
|
143
|
+
// prev
|
|
144
|
+
w.dispatchEvent(new CustomEvent("stepTabs:prev"));
|
|
145
|
+
|
|
146
|
+
// reset a 0 senza relock
|
|
147
|
+
w.dispatchEvent(new CustomEvent("stepTabs:reset"));
|
|
148
|
+
|
|
149
|
+
// lock step 3
|
|
150
|
+
w.dispatchEvent(new CustomEvent("stepTabs:toggle-lock", { detail: { step: 3, lock: true } }));
|
|
151
|
+
|
|
152
|
+
// unlock step 3
|
|
153
|
+
w.dispatchEvent(new CustomEvent("stepTabs:toggle-lock", { detail: { step: 3, lock: false } }));
|
|
154
|
+
|
|
155
|
+
// leggi stato
|
|
156
|
+
w.dispatchEvent(new CustomEvent("stepTabs:get", { detail: { reply: (state) => console.log(state) } }));
|
|
157
|
+
*/
|
|
@@ -13,7 +13,7 @@ import "./components/_menu.js"
|
|
|
13
13
|
import "./components/_modals.js";
|
|
14
14
|
import "./components/_slides.js"
|
|
15
15
|
import "./components/_steps.js";
|
|
16
|
-
import "./components/
|
|
16
|
+
import "./components/_stepTabs.js";
|
|
17
17
|
|
|
18
18
|
//= patterns
|
|
19
19
|
import "./patterns/_header.js";
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
//== IMG
|
|
44
44
|
[pgs~="bodyImg"] {
|
|
45
45
|
i {
|
|
46
|
-
line-height: 1.2
|
|
46
|
+
line-height: 1.2;
|
|
47
47
|
font-size: var(--fa-size);
|
|
48
48
|
transition: color 300ms;
|
|
49
49
|
|
|
@@ -113,9 +113,10 @@
|
|
|
113
113
|
a {
|
|
114
114
|
text-decoration: none;
|
|
115
115
|
overflow-wrap: anywhere;
|
|
116
|
+
color: var(--color-black);
|
|
116
117
|
|
|
117
118
|
&:hover {
|
|
118
|
-
color: color-mix(in srgb, var(--color-link) 100%, var(--color-
|
|
119
|
+
color: color-mix(in srgb, var(--color-link) 100%, var(--color-white) 50%);
|
|
119
120
|
text-decoration: underline;
|
|
120
121
|
}
|
|
121
122
|
|
|
@@ -1,58 +1,61 @@
|
|
|
1
1
|
//# GENERAL
|
|
2
|
-
[pgs~=
|
|
3
|
-
[pgs~=cardImg] {
|
|
4
|
-
@include card();
|
|
2
|
+
[pgs~=initP] {
|
|
5
3
|
|
|
6
|
-
[pgs~=card
|
|
7
|
-
|
|
4
|
+
[pgs~=card],
|
|
5
|
+
[pgs~=cardImg] {
|
|
6
|
+
@include card();
|
|
7
|
+
|
|
8
|
+
[pgs~=card-img] {
|
|
9
|
+
@include card-insideImg();
|
|
10
|
+
}
|
|
8
11
|
}
|
|
9
|
-
}
|
|
10
12
|
|
|
11
|
-
[pgs~=boxtext] {
|
|
12
|
-
|
|
13
|
-
}
|
|
13
|
+
[pgs~=boxtext] {
|
|
14
|
+
@include boxtext();
|
|
15
|
+
}
|
|
14
16
|
|
|
15
|
-
[pgs~=darkmode] {
|
|
16
|
-
|
|
17
|
-
}
|
|
17
|
+
[pgs~=darkmode] {
|
|
18
|
+
color-scheme: dark;
|
|
19
|
+
}
|
|
18
20
|
|
|
19
|
-
[pgs~=lightmode] {
|
|
20
|
-
|
|
21
|
-
}
|
|
21
|
+
[pgs~=lightmode] {
|
|
22
|
+
color-scheme: light;
|
|
23
|
+
}
|
|
22
24
|
|
|
23
|
-
[pgs~=imgCover] {
|
|
24
|
-
|
|
25
|
-
}
|
|
25
|
+
[pgs~=imgCover] {
|
|
26
|
+
object-fit: cover;
|
|
27
|
+
}
|
|
26
28
|
|
|
27
|
-
[pgs~=imgContain] {
|
|
28
|
-
|
|
29
|
-
}
|
|
29
|
+
[pgs~=imgContain] {
|
|
30
|
+
object-fit: contain;
|
|
31
|
+
}
|
|
30
32
|
|
|
31
|
-
[pgs~=borderRadius] {
|
|
32
|
-
|
|
33
|
-
}
|
|
33
|
+
[pgs~=borderRadius] {
|
|
34
|
+
border-radius: var(--border-radius);
|
|
35
|
+
}
|
|
34
36
|
|
|
35
|
-
[pgs~=borderRadiusInput] {
|
|
36
|
-
|
|
37
|
-
}
|
|
37
|
+
[pgs~=borderRadiusInput] {
|
|
38
|
+
border-radius: var(--border-radius-input);
|
|
39
|
+
}
|
|
38
40
|
|
|
39
|
-
[pgs~=borderRadiusExternal] {
|
|
40
|
-
|
|
41
|
-
}
|
|
41
|
+
[pgs~=borderRadiusExternal] {
|
|
42
|
+
border-radius: var(--border-radius-external);
|
|
43
|
+
}
|
|
42
44
|
|
|
43
|
-
[pgs~=blur] {
|
|
44
|
-
|
|
45
|
-
}
|
|
45
|
+
[pgs~=blur] {
|
|
46
|
+
backdrop-filter: var(--blur);
|
|
47
|
+
}
|
|
46
48
|
|
|
47
|
-
[pgs~=appearanceNone] {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
49
|
+
[pgs~=appearanceNone] {
|
|
50
|
+
all: unset;
|
|
51
|
+
appearance: none;
|
|
52
|
+
}
|
|
51
53
|
|
|
52
|
-
[pgs~=pointer] {
|
|
53
|
-
|
|
54
|
-
}
|
|
54
|
+
[pgs~=pointer] {
|
|
55
|
+
cursor: pointer;
|
|
56
|
+
}
|
|
55
57
|
|
|
56
|
-
[pgs~=hidden] {
|
|
57
|
-
|
|
58
|
-
}
|
|
58
|
+
[pgs~=hidden] {
|
|
59
|
+
display: none !important;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
//# HEADING
|
|
2
|
-
[pgs~=
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
[pgs~=initP] {
|
|
3
|
+
[pgs~=h1] {
|
|
4
|
+
@include h1();
|
|
5
|
+
}
|
|
5
6
|
|
|
6
|
-
[pgs~=h2] {
|
|
7
|
-
|
|
8
|
-
}
|
|
7
|
+
[pgs~=h2] {
|
|
8
|
+
@include h2();
|
|
9
|
+
}
|
|
9
10
|
|
|
10
|
-
[pgs~=h3] {
|
|
11
|
-
|
|
12
|
-
}
|
|
11
|
+
[pgs~=h3] {
|
|
12
|
+
@include h3();
|
|
13
|
+
}
|
|
13
14
|
|
|
14
|
-
[pgs~=h4] {
|
|
15
|
-
|
|
16
|
-
}
|
|
15
|
+
[pgs~=h4] {
|
|
16
|
+
@include h4();
|
|
17
|
+
}
|
|
17
18
|
|
|
18
|
-
[pgs~=h5] {
|
|
19
|
-
|
|
20
|
-
}
|
|
19
|
+
[pgs~=h5] {
|
|
20
|
+
@include h5();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
line-height: inherit;
|
|
30
30
|
text-align: inherit;
|
|
31
31
|
border-radius: var(--border-radius-input);
|
|
32
|
+
align-items: center;
|
|
32
33
|
width: 100%;
|
|
33
34
|
$url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M371.515%20229.055L219.516%20373.033C211.797%20380.344%20201.891%20384%20192%20384S172.203%20380.344%20164.484%20373.033L12.485%20229.055C-3.546%20213.87%20-4.233%20188.561%2010.97%20172.532C26.157%20156.472%2051.485%20155.785%2067.516%20171.001L192%20288.921L316.484%20171.001C332.499%20155.754%20357.827%20156.441%20373.03%20172.532C388.233%20188.561%20387.546%20213.87%20371.515%20229.055Z'/%3E%3C/svg%3E");
|
|
34
35
|
|
|
@@ -161,25 +161,25 @@
|
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
[pgs-state
|
|
164
|
+
[pgs-state~="success"] {
|
|
165
165
|
--notification-background: var(--color-success-background);
|
|
166
166
|
--notification-background-timer: color-mix(in srgb, var(--color-success-background) 70%, var(--color-white) 30%);
|
|
167
167
|
--notification-shadow: var(--color-success);
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
-
[pgs-state
|
|
170
|
+
[pgs-state~="error"] {
|
|
171
171
|
--notification-background: var(--color-error-background);
|
|
172
172
|
--notification-background-timer: color-mix(in srgb, var(--color-error-background) 70%, var(--color-white) 30%);
|
|
173
173
|
--notification-shadow: var(--color-error);
|
|
174
174
|
}
|
|
175
175
|
|
|
176
|
-
[pgs-state
|
|
176
|
+
[pgs-state~="warning"] {
|
|
177
177
|
--notification-background: var(--color-warning-background);
|
|
178
178
|
--notification-background-timer: color-mix(in srgb, var(--color-warning-background) 70%, var(--color-white) 30%);
|
|
179
179
|
--notification-shadow: var(--color-warning);
|
|
180
180
|
}
|
|
181
181
|
|
|
182
|
-
[pgs-state
|
|
182
|
+
[pgs-state~="info"] {
|
|
183
183
|
--notification-background: var(--color-box);
|
|
184
184
|
}
|
|
185
185
|
}
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
width: 100%;
|
|
40
40
|
min-width: 21.4rem;
|
|
41
41
|
background-color: transparent;
|
|
42
|
-
color:
|
|
42
|
+
color: contrast-color(color-mix(in srgb, var(--button-background) 77%, black));
|
|
43
43
|
|
|
44
44
|
&::placeholder {
|
|
45
|
-
color:
|
|
45
|
+
color: contrast-color(color-mix(in srgb, var(--button-background) 77%, black));
|
|
46
46
|
opacity: .6;
|
|
47
47
|
}
|
|
48
48
|
|
|
@@ -43,13 +43,11 @@
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
// &:has([pgs~="slides-container"] .view) {
|
|
46
|
-
|
|
47
46
|
// &::before,
|
|
48
47
|
// &::after {
|
|
49
48
|
// opacity: 1;
|
|
50
49
|
// }
|
|
51
50
|
// }
|
|
52
|
-
|
|
53
51
|
&:has([pgs~="slides-container"] li:first-child.view) {
|
|
54
52
|
&::before {
|
|
55
53
|
opacity: 0;
|
|
@@ -114,8 +112,6 @@
|
|
|
114
112
|
position: absolute;
|
|
115
113
|
z-index: 4;
|
|
116
114
|
--button-background: var(--color-box);
|
|
117
|
-
padding: var(--gap-texts);
|
|
118
|
-
aspect-ratio: 1;
|
|
119
115
|
top: 50%;
|
|
120
116
|
translate: 0 -50%;
|
|
121
117
|
|
|
@@ -141,6 +137,11 @@
|
|
|
141
137
|
margin: 0;
|
|
142
138
|
}
|
|
143
139
|
}
|
|
140
|
+
|
|
141
|
+
//- mobile
|
|
142
|
+
@media (max-width: $mobile) {
|
|
143
|
+
display: none;
|
|
144
|
+
}
|
|
144
145
|
}
|
|
145
146
|
|
|
146
147
|
//= DOTS
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
[pgs~=stepTabs] {
|
|
2
|
+
[pgs~=stepTabs-container] {
|
|
3
|
+
[pgs~=tab] {
|
|
4
|
+
display: none;
|
|
5
|
+
|
|
6
|
+
&[pgs-state~=is-active] {
|
|
7
|
+
display: flex;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
[pgs~=stepTabs-next] {
|
|
13
|
+
--button-background: var(--color-primary);
|
|
14
|
+
--button-color: var(--color-whiteFixed);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
[pgs~=stepTabs-dots] {
|
|
18
|
+
display: flex;
|
|
19
|
+
gap: var(--gap-texts);
|
|
20
|
+
justify-content: space-between;
|
|
21
|
+
align-items: center;
|
|
22
|
+
position: relative;
|
|
23
|
+
margin-inline: 10%;
|
|
24
|
+
margin-block: var(--gap-texts);
|
|
25
|
+
isolation: isolate;
|
|
26
|
+
|
|
27
|
+
&::before {
|
|
28
|
+
content: "";
|
|
29
|
+
width: 100%;
|
|
30
|
+
border-bottom: var(--border-complete);
|
|
31
|
+
position: absolute;
|
|
32
|
+
top: 50%;
|
|
33
|
+
z-index: -1;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
[pgs~=stepTabs-dots-dot] {
|
|
37
|
+
@include button(false, true);
|
|
38
|
+
border-radius: 50%;
|
|
39
|
+
--fa-size: 1.8rem;
|
|
40
|
+
|
|
41
|
+
&[pgs-state~=is-completed] {
|
|
42
|
+
cursor: pointer;
|
|
43
|
+
background: var(--color-primary-soft);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&[pgs-state~=is-active] {
|
|
47
|
+
background: var(--color-primary);
|
|
48
|
+
scale: 1.2;
|
|
49
|
+
|
|
50
|
+
i {
|
|
51
|
+
--fa-primary-color: var(--color-whiteFixed);
|
|
52
|
+
--fa-secondary-color: var(--color-whiteFixed);
|
|
53
|
+
color: var(--color-whiteFixed);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -7,8 +7,9 @@ ol[pgs~="steps"] {
|
|
|
7
7
|
align-items: start;
|
|
8
8
|
position: relative;
|
|
9
9
|
--steps-circle-size: 50px;
|
|
10
|
-
--steps-
|
|
11
|
-
--steps-line-
|
|
10
|
+
--steps-circle-color: var(--color-primary-soft);
|
|
11
|
+
--steps-line-size: 2px;
|
|
12
|
+
--steps-line-color: var(--color-gray);
|
|
12
13
|
|
|
13
14
|
//== CONTENT
|
|
14
15
|
[pgs~=steps-step-content] {
|
|
@@ -23,7 +24,7 @@ ol[pgs~="steps"] {
|
|
|
23
24
|
[pgs~=steps-step-circle] {
|
|
24
25
|
min-width: var(--steps-circle-size);
|
|
25
26
|
aspect-ratio: 1;
|
|
26
|
-
background: var(--
|
|
27
|
+
background: var(--steps-circle-color);
|
|
27
28
|
display: flex;
|
|
28
29
|
align-items: center;
|
|
29
30
|
justify-content: center;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
--table-row-background-odd: var(--border-box);
|
|
10
10
|
--table-row-color: var(--color-black);
|
|
11
11
|
|
|
12
|
-
--table-row-hover-background: var(--color-secondary);
|
|
12
|
+
--table-row-hover-background: var(--color-secondary-soft);
|
|
13
13
|
--table-row-hover-color: var(--color-blackFixed);
|
|
14
14
|
|
|
15
15
|
width: 100%;
|
|
@@ -3,11 +3,8 @@
|
|
|
3
3
|
--dropdown-maxwidth: 400px;
|
|
4
4
|
|
|
5
5
|
[pgs~="tooltip-button"][pgs~="dropdown-button"] {
|
|
6
|
-
--button-background: var(--color-black);
|
|
7
|
-
|
|
8
|
-
i {
|
|
9
|
-
--fa-size: .9rem;
|
|
10
|
-
}
|
|
6
|
+
// --button-background: var(--color-black);
|
|
7
|
+
--fa-size: .9rem;
|
|
11
8
|
}
|
|
12
9
|
|
|
13
10
|
[pgs~="tooltip-content"][pgs~="dropdown-content"]:popover-open {
|
package/assets/scss/index.scss
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
//+ MIXIN
|
|
2
2
|
@import "./mixin/mixin.scss";
|
|
3
|
-
|
|
4
3
|
/*
|
|
5
4
|
|--------------------------------------------------------------------------
|
|
6
5
|
| Base
|
|
7
6
|
|--------------------------------------------------------------------------
|
|
8
7
|
*/
|
|
9
|
-
|
|
10
8
|
@import "base/variables";
|
|
11
9
|
@import "base/color";
|
|
12
10
|
@import "base/reset";
|
|
@@ -15,50 +13,49 @@
|
|
|
15
13
|
@import "base/heading";
|
|
16
14
|
@import "base/general";
|
|
17
15
|
|
|
18
|
-
|
|
19
16
|
/*
|
|
20
17
|
|--------------------------------------------------------------------------
|
|
21
18
|
| Layout
|
|
22
19
|
|--------------------------------------------------------------------------
|
|
23
20
|
*/
|
|
24
|
-
|
|
25
|
-
@import "layout/layout";
|
|
26
|
-
@import "layout/flex";
|
|
27
|
-
@import "layout/grid";
|
|
28
|
-
@import "layout/pageShell";
|
|
29
|
-
@import "layout/gap";
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
[pgs~=initP] {
|
|
22
|
+
@import "layout/layout";
|
|
23
|
+
@import "layout/flex";
|
|
24
|
+
@import "layout/grid";
|
|
25
|
+
@import "layout/pageShell";
|
|
26
|
+
@import "layout/gap";
|
|
27
|
+
}
|
|
32
28
|
|
|
33
29
|
/*
|
|
34
30
|
|--------------------------------------------------------------------------
|
|
35
31
|
| Components
|
|
36
32
|
|--------------------------------------------------------------------------
|
|
37
33
|
*/
|
|
38
|
-
|
|
39
|
-
@import "components/button";
|
|
40
|
-
@import "components/form";
|
|
41
|
-
@import "components/menu";
|
|
42
|
-
@import "components/accordion";
|
|
43
|
-
@import "components/breadcumbs";
|
|
44
|
-
@import "components/dropdown";
|
|
45
|
-
@import "components/modals";
|
|
46
|
-
@import "components/slides";
|
|
47
|
-
@import "components/steps";
|
|
48
|
-
@import "components/table";
|
|
49
|
-
@import "components/
|
|
50
|
-
@import "components/notification";
|
|
51
|
-
@import "components/tooltip";
|
|
52
|
-
@import "components/searchbar";
|
|
53
|
-
@import "components/logo";
|
|
54
|
-
|
|
34
|
+
[pgs~=initP] {
|
|
35
|
+
@import "components/button";
|
|
36
|
+
@import "components/form";
|
|
37
|
+
@import "components/menu";
|
|
38
|
+
@import "components/accordion";
|
|
39
|
+
@import "components/breadcumbs";
|
|
40
|
+
@import "components/dropdown";
|
|
41
|
+
@import "components/modals";
|
|
42
|
+
@import "components/slides";
|
|
43
|
+
@import "components/steps";
|
|
44
|
+
@import "components/table";
|
|
45
|
+
@import "components/stepTabs";
|
|
46
|
+
@import "components/notification";
|
|
47
|
+
@import "components/tooltip";
|
|
48
|
+
@import "components/searchbar";
|
|
49
|
+
@import "components/logo";
|
|
50
|
+
}
|
|
55
51
|
|
|
56
52
|
/*
|
|
57
53
|
|--------------------------------------------------------------------------
|
|
58
54
|
| Patterns
|
|
59
55
|
|--------------------------------------------------------------------------
|
|
60
56
|
*/
|
|
61
|
-
|
|
62
|
-
@import "patterns/header";
|
|
63
|
-
@import "patterns/footer";
|
|
64
|
-
@import "patterns/cookieConsent";
|
|
57
|
+
[pgs~=initP] {
|
|
58
|
+
@import "patterns/header";
|
|
59
|
+
@import "patterns/footer";
|
|
60
|
+
@import "patterns/cookieConsent";
|
|
61
|
+
}
|