mypgs 1.3.3 → 1.3.6
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/AI_GUIDELINES.md +1 -1
- package/assets/javascript/patterns/_header.js +77 -79
- package/assets/scss/base/_body.scss +2 -0
- package/assets/scss/base/_color.scss +2 -0
- package/assets/scss/base/_general.scss +2 -0
- package/assets/scss/base/_heading.scss +2 -0
- package/assets/scss/base/_variables.scss +2 -0
- package/assets/scss/components/_accordion.scss +2 -0
- package/assets/scss/components/_button.scss +2 -0
- package/assets/scss/components/_form.scss +2 -0
- package/assets/scss/components/_logo.scss +2 -0
- package/assets/scss/components/_menu.scss +2 -0
- package/assets/scss/components/_modals.scss +2 -0
- package/assets/scss/components/_notification.scss +2 -0
- package/assets/scss/components/_searchbar.scss +2 -0
- package/assets/scss/components/_slides.scss +2 -0
- package/assets/scss/components/_stepTabs.scss +2 -0
- package/assets/scss/components/_steps.scss +2 -0
- package/assets/scss/index.scss +32 -32
- package/assets/scss/layout/_flex.scss +2 -0
- package/assets/scss/layout/_grid.scss +2 -0
- package/assets/scss/layout/_layout.scss +2 -0
- package/assets/scss/layout/_pageShell.scss +2 -0
- package/assets/scss/mixin/_mx-base.scss +5 -2
- package/assets/scss/mixin/_mx-card.scss +5 -1
- package/assets/scss/mixin/_mx-form-addon.scss +4 -1
- package/assets/scss/mixin/_mx-form.scss +21 -6
- package/assets/scss/mixin/_mx-responsive.scss +3 -1
- package/assets/scss/mixin/_settings.scss +31 -0
- package/assets/scss/mixin/mixin.scss +11 -35
- package/assets/scss/patterns/_cookieConsent.scss +3 -1
- package/assets/scss/patterns/_footer.scss +2 -0
- package/assets/scss/patterns/_header.scss +12 -4
- package/dist/css/index.css +86 -115
- package/dist/css/index.css.map +1 -1
- package/dist/css/index.min.css +1 -1
- package/dist/javascript/index.js +77 -91
- package/dist/javascript/index.js.map +1 -1
- package/dist/javascript/index.min.js +1 -1
- package/package.json +1 -1
- package/templates/components/searchbar.html +1 -1
- package/templates/patterns/header.html +2 -2
package/dist/javascript/index.js
CHANGED
|
@@ -46,19 +46,6 @@ _pgs_js__WEBPACK_IMPORTED_MODULE_0__.pgs.registerModules({
|
|
|
46
46
|
scrollHorizontal: _functions_scrollY_js__WEBPACK_IMPORTED_MODULE_10__.PGS_scrollHorizontal,
|
|
47
47
|
});
|
|
48
48
|
|
|
49
|
-
// pgs.registerImport({
|
|
50
|
-
// PGS_accordion,
|
|
51
|
-
// PGS_dropdown,
|
|
52
|
-
// PGS_menu,
|
|
53
|
-
// PGS_modal,
|
|
54
|
-
// PGS_notification,
|
|
55
|
-
// PGS_slides,
|
|
56
|
-
// PGS_stepTabs,
|
|
57
|
-
// PGS_steps,
|
|
58
|
-
// PGS_formValidate,
|
|
59
|
-
// PGS_scrollHorizontal,
|
|
60
|
-
// });
|
|
61
|
-
|
|
62
49
|
|
|
63
50
|
|
|
64
51
|
/***/ },
|
|
@@ -2362,108 +2349,112 @@ if (document.readyState === 'loading') {
|
|
|
2362
2349
|
|
|
2363
2350
|
//# HEADER
|
|
2364
2351
|
const header = pgs(document).querySelector("header");
|
|
2365
|
-
const headerElements = pgs(header).querySelectorAll("header-element");
|
|
2366
|
-
headerElements.forEach(element => PGS_header(element));
|
|
2367
2352
|
|
|
2368
2353
|
//= HEADER
|
|
2369
|
-
function PGS_header(selectHeader) {
|
|
2354
|
+
function PGS_header(selectHeader = document) {
|
|
2355
|
+
|
|
2356
|
+
if (!header) return;
|
|
2370
2357
|
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2358
|
+
const headerElements = pgs(header).querySelectorAll("header-element");
|
|
2359
|
+
|
|
2360
|
+
if (!headerElements.length) return;
|
|
2374
2361
|
|
|
2375
|
-
|
|
2376
|
-
let menuAttivate = false;
|
|
2377
|
-
let childsWidthSAVE;
|
|
2362
|
+
headerElements.forEach(selectHeader => {
|
|
2378
2363
|
|
|
2379
|
-
|
|
2364
|
+
//== ACTIVE MOBILE
|
|
2365
|
+
let menuAttivate = false;
|
|
2366
|
+
let childsWidthSAVE;
|
|
2380
2367
|
|
|
2381
|
-
|
|
2382
|
-
let style = window.getComputedStyle(headerElement);
|
|
2383
|
-
let padding = parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);
|
|
2384
|
-
let gap = parseFloat(style.gap);
|
|
2385
|
-
let headerElementWidth = parseInt(headerElement.offsetWidth - padding);
|
|
2386
|
-
let childsWidth;
|
|
2368
|
+
function mobileActive(headerElement) {
|
|
2387
2369
|
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
let
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
Array.from(headerElement.children)
|
|
2395
|
-
.filter(el => !pgs(el).contains("header-element-onlyMobile"))
|
|
2396
|
-
.forEach(child => {
|
|
2397
|
-
if (pgs(child).contains("header-element-hamburger")) return;
|
|
2398
|
-
childs.push(...child.children);
|
|
2399
|
-
});
|
|
2370
|
+
//=== header
|
|
2371
|
+
let style = window.getComputedStyle(headerElement);
|
|
2372
|
+
let padding = parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);
|
|
2373
|
+
let gap = parseFloat(style.gap);
|
|
2374
|
+
let headerElementWidth = parseInt(headerElement.offsetWidth - padding);
|
|
2375
|
+
let childsWidth;
|
|
2400
2376
|
|
|
2401
|
-
|
|
2402
|
-
|
|
2377
|
+
if (menuAttivate) {
|
|
2378
|
+
childsWidth = childsWidthSAVE;
|
|
2379
|
+
} else {
|
|
2380
|
+
let childs = [];
|
|
2381
|
+
|
|
2382
|
+
// Esclude l'area mobile dedicata e l'hamburger, poi misura i figli sempre visibili su desktop.
|
|
2383
|
+
Array.from(headerElement.children)
|
|
2384
|
+
.filter(el => !pgs(el).contains("header-element-onlyMobile"))
|
|
2385
|
+
.forEach(child => {
|
|
2386
|
+
if (pgs(child).contains("header-element-hamburger")) return;
|
|
2387
|
+
childs.push(...child.children);
|
|
2388
|
+
});
|
|
2403
2389
|
|
|
2404
|
-
|
|
2405
|
-
|
|
2390
|
+
gap = Math.round(gap * (childs.length - 1));
|
|
2391
|
+
let childsReduce = childs.reduce((totalWidth, child) => totalWidth + child.offsetWidth, 0) - 2;
|
|
2406
2392
|
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2393
|
+
childsWidth = childsReduce + gap;
|
|
2394
|
+
}
|
|
2395
|
+
|
|
2396
|
+
//===set data
|
|
2397
|
+
if (window.innerWidth < 600) {
|
|
2398
|
+
pgs(header).state.add("mobileActive");
|
|
2399
|
+
pgs(selectHeader).state.add("mobileActive");
|
|
2400
|
+
} else if (headerElementWidth < childsWidth) {
|
|
2401
|
+
pgs(header).state.add("mobileActive");
|
|
2402
|
+
pgs(headerElement).state.add("mobileActive");
|
|
2403
|
+
menuAttivate = true;
|
|
2404
|
+
childsWidthSAVE = childsWidth;
|
|
2405
|
+
} else {
|
|
2406
|
+
pgs(header).state.remove("mobileActive");
|
|
2407
|
+
pgs(headerElement).state.remove("mobileActive");
|
|
2408
|
+
}
|
|
2419
2409
|
}
|
|
2420
|
-
}
|
|
2421
2410
|
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2411
|
+
//== observer (throttled to avoid ResizeObserver loop warnings)
|
|
2412
|
+
let resizeRafId = 0;
|
|
2413
|
+
const scheduleMobileActive = () => {
|
|
2414
|
+
if (resizeRafId) return;
|
|
2415
|
+
resizeRafId = requestAnimationFrame(() => {
|
|
2416
|
+
resizeRafId = 0;
|
|
2417
|
+
mobileActive(selectHeader);
|
|
2418
|
+
});
|
|
2419
|
+
};
|
|
2431
2420
|
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2421
|
+
let observer = new ResizeObserver(scheduleMobileActive);
|
|
2422
|
+
observer.observe(selectHeader);
|
|
2423
|
+
scheduleMobileActive();
|
|
2424
|
+
});
|
|
2435
2425
|
|
|
2426
|
+
// Ripristina la posizione dell'header quando si esce dalla modalità mobile
|
|
2427
|
+
window.addEventListener("resize", () => {
|
|
2428
|
+
if (window.innerWidth > 768) header.style.transform = "translateY(0)";
|
|
2429
|
+
});
|
|
2436
2430
|
}
|
|
2437
|
-
|
|
2438
|
-
|
|
2431
|
+
PGS_header();
|
|
2439
2432
|
|
|
2440
2433
|
|
|
2441
2434
|
//= HEADER HEIGHT
|
|
2442
|
-
const body = document.querySelector("body");
|
|
2443
2435
|
function headerHeight() {
|
|
2444
|
-
|
|
2436
|
+
if (!header) return;
|
|
2445
2437
|
const wordPressBar = window.getComputedStyle(document.documentElement).marginTop ?? 0;
|
|
2438
|
+
const headerHeight = header.offsetHeight
|
|
2446
2439
|
|
|
2447
|
-
const
|
|
2448
|
-
|
|
2449
|
-
.reduce((sum, h) => sum + h);
|
|
2450
|
-
|
|
2451
|
-
const height = totalHeight + parseInt(wordPressBar);
|
|
2452
|
-
|
|
2453
|
-
body.style.setProperty('--heightOfHeader', `${height}px`);
|
|
2440
|
+
const body = document.querySelector("body");
|
|
2441
|
+
const height = headerHeight + parseInt(wordPressBar);
|
|
2454
2442
|
const scrollHeight = document.querySelector("header").getAttribute("data-header-scroll") === "true" ? 0 : height;
|
|
2443
|
+
body.style.setProperty('--heightOfHeader', `${height}px`);
|
|
2455
2444
|
body.style.setProperty('--heightOfHeaderScroll', `${scrollHeight}px`);
|
|
2456
|
-
|
|
2457
2445
|
}
|
|
2458
2446
|
headerHeight()
|
|
2459
2447
|
window.addEventListener("resize", headerHeight);
|
|
2460
2448
|
window.addEventListener("scroll", headerHeight);
|
|
2461
2449
|
|
|
2462
2450
|
|
|
2451
|
+
|
|
2452
|
+
|
|
2463
2453
|
//= SCROLL
|
|
2464
2454
|
// Nasconde l'header quando si scorre verso il basso e lo mostra quando si scorre verso l'alto su dispositivi con larghezza fino a 900px.
|
|
2465
2455
|
let lastScrollY = window.scrollY;
|
|
2466
2456
|
window.addEventListener("scroll", () => {
|
|
2457
|
+
if (!header) return;
|
|
2467
2458
|
let currentScrollY = window.scrollY;
|
|
2468
2459
|
|
|
2469
2460
|
if (window.innerHeight <= 900) {
|
|
@@ -2484,16 +2475,11 @@ window.addEventListener("scroll", () => {
|
|
|
2484
2475
|
|
|
2485
2476
|
});
|
|
2486
2477
|
|
|
2487
|
-
// Ripristina la posizione dell'header quando si esce dalla modalità mobile
|
|
2488
|
-
window.addEventListener("resize", () => {
|
|
2489
|
-
if (window.innerWidth > 768) header.style.transform = "translateY(0)";
|
|
2490
|
-
});
|
|
2491
2478
|
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
}
|
|
2479
|
+
|
|
2480
|
+
|
|
2481
|
+
|
|
2482
|
+
|
|
2497
2483
|
|
|
2498
2484
|
/***/ }
|
|
2499
2485
|
|