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.
Files changed (42) hide show
  1. package/AI_GUIDELINES.md +1 -1
  2. package/assets/javascript/patterns/_header.js +77 -79
  3. package/assets/scss/base/_body.scss +2 -0
  4. package/assets/scss/base/_color.scss +2 -0
  5. package/assets/scss/base/_general.scss +2 -0
  6. package/assets/scss/base/_heading.scss +2 -0
  7. package/assets/scss/base/_variables.scss +2 -0
  8. package/assets/scss/components/_accordion.scss +2 -0
  9. package/assets/scss/components/_button.scss +2 -0
  10. package/assets/scss/components/_form.scss +2 -0
  11. package/assets/scss/components/_logo.scss +2 -0
  12. package/assets/scss/components/_menu.scss +2 -0
  13. package/assets/scss/components/_modals.scss +2 -0
  14. package/assets/scss/components/_notification.scss +2 -0
  15. package/assets/scss/components/_searchbar.scss +2 -0
  16. package/assets/scss/components/_slides.scss +2 -0
  17. package/assets/scss/components/_stepTabs.scss +2 -0
  18. package/assets/scss/components/_steps.scss +2 -0
  19. package/assets/scss/index.scss +32 -32
  20. package/assets/scss/layout/_flex.scss +2 -0
  21. package/assets/scss/layout/_grid.scss +2 -0
  22. package/assets/scss/layout/_layout.scss +2 -0
  23. package/assets/scss/layout/_pageShell.scss +2 -0
  24. package/assets/scss/mixin/_mx-base.scss +5 -2
  25. package/assets/scss/mixin/_mx-card.scss +5 -1
  26. package/assets/scss/mixin/_mx-form-addon.scss +4 -1
  27. package/assets/scss/mixin/_mx-form.scss +21 -6
  28. package/assets/scss/mixin/_mx-responsive.scss +3 -1
  29. package/assets/scss/mixin/_settings.scss +31 -0
  30. package/assets/scss/mixin/mixin.scss +11 -35
  31. package/assets/scss/patterns/_cookieConsent.scss +3 -1
  32. package/assets/scss/patterns/_footer.scss +2 -0
  33. package/assets/scss/patterns/_header.scss +12 -4
  34. package/dist/css/index.css +86 -115
  35. package/dist/css/index.css.map +1 -1
  36. package/dist/css/index.min.css +1 -1
  37. package/dist/javascript/index.js +77 -91
  38. package/dist/javascript/index.js.map +1 -1
  39. package/dist/javascript/index.min.js +1 -1
  40. package/package.json +1 -1
  41. package/templates/components/searchbar.html +1 -1
  42. package/templates/patterns/header.html +2 -2
@@ -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
- //= INIT
2372
- if (selectHeader.getAttribute("data-initialize") == "true") return;
2373
- selectHeader.setAttribute("data-initialize", "true");
2358
+ const headerElements = pgs(header).querySelectorAll("header-element");
2359
+
2360
+ if (!headerElements.length) return;
2374
2361
 
2375
- //= ACTIVE MOBILE
2376
- let menuAttivate = false;
2377
- let childsWidthSAVE;
2362
+ headerElements.forEach(selectHeader => {
2378
2363
 
2379
- function mobileActive(headerElement) {
2364
+ //== ACTIVE MOBILE
2365
+ let menuAttivate = false;
2366
+ let childsWidthSAVE;
2380
2367
 
2381
- //=== header
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
- if (menuAttivate) {
2389
- childsWidth = childsWidthSAVE;
2390
- } else {
2391
- let childs = [];
2392
-
2393
- // Esclude l'area mobile dedicata e l'hamburger, poi misura i figli sempre visibili su desktop.
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
- gap = Math.round(gap * (childs.length - 1));
2402
- let childsReduce = childs.reduce((totalWidth, child) => totalWidth + child.offsetWidth, 0) - 2;
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
- childsWidth = childsReduce + gap;
2405
- }
2390
+ gap = Math.round(gap * (childs.length - 1));
2391
+ let childsReduce = childs.reduce((totalWidth, child) => totalWidth + child.offsetWidth, 0) - 2;
2406
2392
 
2407
- //===set data
2408
- if (window.innerWidth < 600) {
2409
- header.setAttribute("data-header-mobileActive", "true");
2410
- selectHeader.setAttribute("data-header-mobileActive", "true");
2411
- } else if (headerElementWidth < childsWidth) {
2412
- header.setAttribute("data-header-mobileActive", "true");
2413
- headerElement.setAttribute("data-header-mobileActive", "true");
2414
- menuAttivate = true;
2415
- childsWidthSAVE = childsWidth;
2416
- } else {
2417
- header.setAttribute("data-header-mobileActive", "false");
2418
- headerElement.setAttribute("data-header-mobileActive", "false");
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
- //== observer (throttled to avoid ResizeObserver loop warnings)
2423
- let resizeRafId = 0;
2424
- const scheduleMobileActive = () => {
2425
- if (resizeRafId) return;
2426
- resizeRafId = requestAnimationFrame(() => {
2427
- resizeRafId = 0;
2428
- mobileActive(selectHeader);
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
- let observer = new ResizeObserver(scheduleMobileActive);
2433
- observer.observe(selectHeader);
2434
- scheduleMobileActive();
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
- const headerElements = document.querySelectorAll("header > [data-initialize=true]");
2436
+ if (!header) return;
2445
2437
  const wordPressBar = window.getComputedStyle(document.documentElement).marginTop ?? 0;
2438
+ const headerHeight = header.offsetHeight
2446
2439
 
2447
- const totalHeight = Array.from(headerElements)
2448
- .map(el => el.offsetHeight)
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
- // MOBILE ACTIVE
2493
- if (window.innerWidth < 600) {
2494
- document.querySelector("header").setAttribute("data-header-mobileActive", "true");
2495
- document.querySelector("[pgs~=header-element]").setAttribute("data-header-mobileActive", "true");
2496
- }
2479
+
2480
+
2481
+
2482
+
2497
2483
 
2498
2484
  /***/ }
2499
2485