mypgs 1.0.0 → 1.1.5

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 (59) hide show
  1. package/README.md +124 -11
  2. package/assets/javascript/_pgs.js +18 -3
  3. package/assets/javascript/components/_dropdown.js +3 -2
  4. package/assets/javascript/components/_slides.js +3 -3
  5. package/assets/javascript/components/_stepTabs.js +157 -0
  6. package/assets/javascript/index.js +1 -1
  7. package/assets/javascript/pgs.d.ts +47 -16
  8. package/assets/scss/base/_body.scss +3 -2
  9. package/assets/scss/base/_general.scss +46 -43
  10. package/assets/scss/base/_heading.scss +17 -15
  11. package/assets/scss/components/_accordion.scss +1 -0
  12. package/assets/scss/components/_dropdown.scss +19 -26
  13. package/assets/scss/components/_notification.scss +4 -4
  14. package/assets/scss/components/_searchbar.scss +2 -2
  15. package/assets/scss/components/_slides.scss +5 -4
  16. package/assets/scss/components/_stepTabs.scss +58 -0
  17. package/assets/scss/components/_steps.scss +4 -3
  18. package/assets/scss/components/_table.scss +1 -1
  19. package/assets/scss/components/_tooltip.scss +11 -6
  20. package/assets/scss/index.scss +29 -32
  21. package/assets/scss/layout/_gap.scss +3 -0
  22. package/assets/scss/mixin/_mx-button.scss +64 -41
  23. package/assets/scss/mixin/_mx-menu.scss +1 -1
  24. package/dist/css/index.css +2149 -1729
  25. package/dist/css/index.css.map +1 -1
  26. package/dist/css/index.min.css +1 -1
  27. package/dist/index.d.ts +45 -15
  28. package/dist/javascript/index.js +139 -100
  29. package/dist/javascript/index.js.map +1 -1
  30. package/dist/javascript/index.min.js +1 -1
  31. package/package.json +2 -2
  32. package/pgs-html-suggestions.vsix +0 -0
  33. package/templates/components/md-accordion.html +23 -0
  34. package/templates/components/md-breadcumbs.html +8 -8
  35. package/templates/components/md-button.html +29 -0
  36. package/templates/components/md-card.html +23 -0
  37. package/templates/components/md-dropdown.html +16 -0
  38. package/templates/components/md-form.html +26 -0
  39. package/templates/components/md-logo.html +7 -0
  40. package/templates/components/md-menu.html +39 -5
  41. package/templates/components/md-modal.html +19 -0
  42. package/templates/components/md-notification.html +4 -1
  43. package/templates/components/md-searchbar.html +6 -1
  44. package/templates/components/md-slides.html +33 -0
  45. package/templates/components/md-stepTabs.html +36 -0
  46. package/templates/components/md-steps.html +25 -0
  47. package/templates/components/md-table.html +24 -0
  48. package/templates/components/md-tooltip.html +1 -0
  49. package/templates/demo.css +51 -0
  50. package/templates/demo.html +24 -0
  51. package/templates/demo.js +141 -0
  52. package/templates/layout/md-body.html +1 -1
  53. package/templates/layout/md-cookieConsent.html +2 -2
  54. package/templates/layout/md-footer.html +21 -2
  55. package/templates/layout/md-header.html +22 -2
  56. package/templates/layout/md-pageShell.html +22 -0
  57. package/templates/layout/md-section.html +25 -0
  58. package/assets/javascript/components/_tabs.js +0 -134
  59. package/assets/scss/components/_tabs.scss +0 -69
package/dist/index.d.ts CHANGED
@@ -1,24 +1,54 @@
1
1
  declare global {
2
- interface PgsBag {
3
- add: (...values: string[]) => void;
4
- remove: (...values: string[]) => void;
5
- toggle: (value: string) => boolean;
6
- contains: (value: string) => boolean;
7
- value: string;
8
- querySelector: (value: string | string[]) => Element | null;
9
- querySelectorAll: (value: string | string[]) => NodeListOf<Element>;
2
+ type PgsSelectorValue = string | string[];
3
+ type PgsStateValue = string | string[];
4
+
5
+ interface PgsQueryableApi {
6
+ querySelector(value: PgsSelectorValue): Element | null;
7
+ querySelectorAll(value: PgsSelectorValue): NodeListOf<Element>;
8
+ }
9
+
10
+ interface PgsStateApi {
11
+ (...values: PgsStateValue[]): PgsStateApi;
12
+ add(...values: PgsStateValue[]): PgsStateApi;
13
+ remove(...values: PgsStateValue[]): PgsStateApi;
14
+ toggle(value: string, force?: boolean): boolean;
15
+ contains(value: string): boolean;
16
+ value: string | null;
17
+ }
18
+
19
+ interface PgsOptionApi {
20
+ contains(key: string): boolean;
21
+ getValueBrackets(key: string): string | undefined;
22
+ value: string | null;
10
23
  }
11
24
 
12
- interface Element {
13
- pgs: PgsBag;
25
+ interface PgsElementApi extends PgsQueryableApi {
26
+ (): PgsElementApi;
27
+ add(...values: string[]): PgsElementApi;
28
+ remove(...values: string[]): PgsElementApi;
29
+ toggle(value: string, force?: boolean): boolean;
30
+ contains(value: string): boolean;
31
+ value: string | null;
32
+ state: PgsStateApi;
33
+ option: PgsOptionApi;
34
+ modules: PgsOptionApi;
14
35
  }
15
36
 
16
- interface Document {
17
- pgs: {
18
- querySelector: (value: string | string[]) => Element | null;
19
- querySelectorAll: (value: string | string[]) => NodeListOf<Element>;
20
- };
37
+ interface PgsDocumentApi extends PgsQueryableApi {
38
+ (): PgsDocumentApi;
21
39
  }
40
+
41
+ type PgsApi = PgsElementApi | PgsDocumentApi;
42
+
43
+ interface PgsFunction {
44
+ (root: Document): PgsDocumentApi;
45
+ (root: Element): PgsElementApi;
46
+ (root: Document | Element): PgsApi;
47
+ }
48
+
49
+ interface PgsBag extends PgsElementApi {}
50
+
51
+ var pgs: PgsFunction;
22
52
  }
23
53
 
24
54
  export {};
@@ -152,15 +152,30 @@ function pgs(root) {
152
152
  return api;
153
153
  };
154
154
 
155
- api.toggle = function (value) {
155
+ api.toggle = function (value, force) {
156
156
  const v = String(value).trim();
157
157
  if (!v) return false;
158
-
159
158
  const current = read();
160
- if (current.includes(v)) {
159
+ const exists = current.includes(v);
160
+
161
+ if (force !== undefined) {
162
+ if (force && !exists) {
163
+ current.push(v);
164
+ write(current);
165
+ }
166
+
167
+ if (!force && exists) {
168
+ write(current.filter(x => x !== v));
169
+ }
170
+
171
+ return !!force;
172
+ }
173
+
174
+ if (exists) {
161
175
  write(current.filter(x => x !== v));
162
176
  return false;
163
177
  }
178
+
164
179
  current.push(v);
165
180
  write(current);
166
181
  return true;
@@ -547,9 +562,10 @@ function pgs_dropdown() {
547
562
  CSS.supports("position-anchor: --dropdown-anchor") &&
548
563
  CSS.supports("position-area: bottom") &&
549
564
  CSS.supports("top: anchor(bottom)");
565
+ const USE_FALLBACK_POSITIONING = pgs(DROPDOWN).contains("tooltip") || !HAS_ANCHOR_POSITIONING;
550
566
 
551
567
  const updatePopoverPosition = () => {
552
- if (HAS_ANCHOR_POSITIONING) return;
568
+ if (!USE_FALLBACK_POSITIONING) return;
553
569
 
554
570
  const buttonRect = BUTTON.getBoundingClientRect();
555
571
  const style = getComputedStyle(DROPDOWN);
@@ -584,7 +600,7 @@ function pgs_dropdown() {
584
600
  };
585
601
 
586
602
  BUTTON.addEventListener("click", e => {
587
- if (HAS_ANCHOR_POSITIONING) return;
603
+ if (!USE_FALLBACK_POSITIONING) return;
588
604
 
589
605
  e.preventDefault();
590
606
  if (CONTENT.matches(":popover-open")) {
@@ -1013,8 +1029,8 @@ class PGS_Slides {
1013
1029
 
1014
1030
  //== PULSANTI
1015
1031
  if (!pgs(EL).querySelector('slides-prec') && !pgs(EL).querySelector('slides-next')) {
1016
- EL.insertAdjacentHTML("afterbegin", `<button pgs="slides-prec button" type="button" class="precButton" aria-label="slide precedente"> <span> <i class="fa-solid fa-arrow-left"></i></span></button>`);
1017
- EL.insertAdjacentHTML("beforeend", `<button pgs="slides-next button" type="button" class="nextButton" aria-label="prossima slide"> <span> <i class="fa-solid fa-arrow-right"></i></span></button>`);
1032
+ 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>`);
1033
+ 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>`);
1018
1034
  }
1019
1035
 
1020
1036
  //== DOTS
@@ -1072,7 +1088,7 @@ class PGS_Slides {
1072
1088
  const isView = visiblePercent >= 0.98;
1073
1089
 
1074
1090
  //== SCROLL ANIMATION
1075
- if (!pgs(LI.target).option.contains('notScrollAnimation')) {
1091
+ if (!pgs(LI.target).option.contains('notScrollAnimation') && LI.target.firstElementChild) {
1076
1092
  LI.target.firstElementChild.style.setProperty('--visible-percent', `${visiblePercent}`);
1077
1093
  };
1078
1094
 
@@ -1168,82 +1184,42 @@ function PGS_slides_api(selector) {
1168
1184
 
1169
1185
  /***/ },
1170
1186
 
1171
- /***/ "./assets/javascript/components/_steps.js"
1172
- /*!************************************************!*\
1173
- !*** ./assets/javascript/components/_steps.js ***!
1174
- \************************************************/
1175
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1176
-
1177
- "use strict";
1178
- __webpack_require__.r(__webpack_exports__);
1179
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1180
- /* harmony export */ PGS_ol: () => (/* binding */ PGS_ol)
1181
- /* harmony export */ });
1182
-
1183
- function PGS_ol() {
1184
- pgs(document).querySelectorAll("steps").forEach(steps => {
1185
-
1186
- pgs(steps).querySelectorAll("steps-step").forEach((li, index) => {
1187
-
1188
- //= CIRCLE
1189
- let circleLi;
1190
- if (!pgs(li).querySelector("steps-step-circle")) {
1191
- circleLi = document.createElement("span");
1192
- pgs(circleLi).add("steps-step-circle")
1193
- circleLi.textContent = index + 1;
1194
- li.insertAdjacentElement("afterbegin", circleLi);
1195
- } else{
1196
- circleLi = pgs(li).querySelector("steps-step-circle");
1197
- }
1198
-
1199
- //= line
1200
- const line = document.createElement("span");
1201
- pgs(line).add("steps-step-line")
1202
- li.insertAdjacentElement("afterbegin", line);
1203
- });
1204
- });
1205
- }
1206
-
1207
- //# INIT PGS_ol
1208
- PGS_ol()
1209
-
1210
- /***/ },
1211
-
1212
- /***/ "./assets/javascript/components/_tabs.js"
1213
- /*!***********************************************!*\
1214
- !*** ./assets/javascript/components/_tabs.js ***!
1215
- \***********************************************/
1187
+ /***/ "./assets/javascript/components/_stepTabs.js"
1188
+ /*!***************************************************!*\
1189
+ !*** ./assets/javascript/components/_stepTabs.js ***!
1190
+ \***************************************************/
1216
1191
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1217
1192
 
1218
1193
  "use strict";
1219
1194
  __webpack_require__.r(__webpack_exports__);
1220
1195
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1221
- /* harmony export */ PGS_tabs: () => (/* binding */ PGS_tabs),
1196
+ /* harmony export */ PGS_stepTabs: () => (/* binding */ PGS_stepTabs),
1222
1197
  /* harmony export */ PGS_tabs_api: () => (/* binding */ PGS_tabs_api)
1223
1198
  /* harmony export */ });
1224
1199
  const API = new WeakMap();
1225
- PGS_tabs()
1200
+ PGS_stepTabs()
1226
1201
 
1227
- function PGS_tabs() {
1228
- pgs(document).querySelectorAll("tabs").forEach(tabsWizard => {
1229
-
1230
- //= INIT
1231
- // if (tabsWizard.getAttribute("data-initialize") == "true") return;
1232
- // tabsWizard.setAttribute("data-initialize", "true");
1202
+ function PGS_stepTabs() {
1203
+ pgs(document).querySelectorAll("stepTabs").forEach(tabsWizard => {
1204
+ if (tabsWizard.dataset.stepTabsInitialized === "true") return;
1205
+ tabsWizard.dataset.stepTabsInitialized = "true";
1233
1206
 
1234
1207
  //= SELECTOR
1235
- const prev = pgs(tabsWizard).querySelector("tabs-prev")
1236
- const next = pgs(tabsWizard).querySelector("tabs-next")
1237
- const restart = pgs(tabsWizard).querySelector("tabs-restart")
1238
- const dots = pgs(tabsWizard).querySelector("tabs-dots")
1239
- const tabsContainer = pgs(tabsWizard).querySelector("tabs-container");
1208
+ const prev = pgs(tabsWizard).querySelector("stepTabs-prev")
1209
+ const next = pgs(tabsWizard).querySelector("stepTabs-next")
1210
+ const restart = pgs(tabsWizard).querySelector("stepTabs-restart")
1211
+ const dots = pgs(tabsWizard).querySelector("stepTabs-dots")
1212
+ const tabsContainer = pgs(tabsWizard).querySelector("stepTabs-container");
1240
1213
  const allTab = pgs(tabsContainer).querySelectorAll("tab");
1241
1214
 
1242
1215
  //= SETTING
1243
1216
  const total = allTab.length;
1244
- const defaultTabLocked = Array.from(allTab).filter(tab => tab.getAttribute("data-tab-locked") === "true")
1217
+ const defaultTabLocked = Array.from(allTab).filter(tab => pgs(tab).state.contains("is-locked"))
1245
1218
  let current = 0;
1246
- prev.disabled = true;
1219
+ if (prev) prev.disabled = true;
1220
+ let isRendering = false;
1221
+
1222
+ if (!tabsContainer || total === 0) return;
1247
1223
 
1248
1224
  //- CREAZIONE DOTS
1249
1225
  const tabDots = [];
@@ -1251,17 +1227,15 @@ function PGS_tabs() {
1251
1227
  dots.innerHTML = "";
1252
1228
 
1253
1229
  allTab.forEach((tab, index) => {
1254
-
1255
- const iconClass = tab.getAttribute("data-tab-icon") || "fa-circle";
1256
-
1230
+ const iconClass = pgs(tab).option.getValueBrackets("tabIcon") || "fa-circle";
1257
1231
  const dot = document.createElement("button");
1258
1232
  dot.type = "button";
1259
- dot.className = "tab-dot";
1233
+ pgs(dot).add("stepTabs-dots-dot");
1260
1234
  dot.setAttribute("data-step", index);
1261
1235
  dot.innerHTML = `<i class="fa-solid ${iconClass}"></i>`;
1262
1236
 
1263
1237
  dot.addEventListener("click", () => {
1264
- if (dot.classList.contains("is-completed")) {
1238
+ if (pgs(dot).state.contains("is-completed")) {
1265
1239
  goTo(index, true);
1266
1240
  }
1267
1241
  });
@@ -1274,53 +1248,78 @@ function PGS_tabs() {
1274
1248
  //+ DOTS
1275
1249
  function updateDots() {
1276
1250
  tabDots.forEach((dot, i) => {
1277
- dot.classList.toggle("is-active", i === current);
1278
- dot.classList.toggle("is-completed", i < current);
1251
+ setState(dot, "is-active", i === current);
1252
+ setState(dot, "is-completed", i < current);
1279
1253
  });
1280
1254
  }
1281
1255
 
1256
+ //+ STATE
1257
+ function setState(element, state, active) {
1258
+ if (!element) return;
1259
+ const hasState = pgs(element).state.contains(state);
1260
+ if (active === hasState) return;
1261
+ pgs(element).state.toggle(state, active);
1262
+ }
1263
+
1264
+ //+ CONTROLS
1265
+ function updateControls() {
1266
+ const tab = allTab[current];
1267
+ if (prev) prev.disabled = current === 0;
1268
+ if (next) next.disabled = current === total - 1 || pgs(tab).state.contains("is-locked");
1269
+ }
1270
+
1282
1271
  //+ Step
1283
- function goTo(index) {
1272
+ function goTo(index, scroll = true) {
1284
1273
  current = Math.min(Math.max(index, 0), total - 1);
1285
1274
  const tab = allTab[current]
1286
1275
 
1287
- prev.disabled = (current === 0);
1288
- next.disabled = (current === total - 1 || tab.getAttribute("data-tab-locked") === "true");
1289
-
1290
- allTab.forEach((tab, i) => tab.classList.toggle("is-active", i === current));
1291
- tab?.focus();
1292
- tabsWizard?.scrollIntoView({ behavior: "smooth", block: "start" });
1276
+ isRendering = true;
1277
+ allTab.forEach((tab, i) => setState(tab, "is-active", i === current));
1278
+ updateControls();
1293
1279
  updateDots();
1294
- tabsWizard.dispatchEvent(new CustomEvent('tabs:change', { detail: { current, total } }));
1280
+ isRendering = false;
1281
+
1282
+ if (scroll && !tabsWizard.closest("dialog")) {
1283
+ tab?.focus();
1284
+ tabsWizard?.scrollIntoView({ behavior: "smooth", block: "start" });
1285
+ }
1286
+
1287
+ tabsWizard.dispatchEvent(new CustomEvent('stepTabs:change', { detail: { current, total } }));
1295
1288
  }
1296
1289
 
1297
1290
  //+ restart
1298
1291
  function restartTab() {
1299
1292
  goTo(0);
1300
- defaultTabLocked.forEach(tab => tab.setAttribute("data-tab-locked", "true"));
1293
+ defaultTabLocked.forEach(tab => pgs(tab).state.add("is-locked"));
1301
1294
  }
1302
1295
 
1303
1296
  //= INIT
1304
- goTo(0);
1297
+ goTo(0, false);
1305
1298
 
1306
1299
  //= data-tab-locked
1307
- const observer = new MutationObserver(() => goTo(current));
1308
- allTab?.forEach(tabEl => observer.observe(tabEl, { attributes: true, attributeFilter: ["data-tab-locked"], }));
1309
-
1300
+ const observer = new MutationObserver(() => {
1301
+ if (isRendering) return;
1302
+ updateControls();
1303
+ });
1304
+ allTab?.forEach(tabEl => observer.observe(tabEl, { attributes: true, attributeFilter: ["pgs-state"], }));
1310
1305
 
1311
1306
  //= Click su Avanti/Indietro
1312
1307
  prev?.addEventListener("click", e => goTo(current - 1));
1313
- next?.addEventListener("click", e => goTo(current + 1));
1308
+ next?.addEventListener("click", e => {
1309
+ updateControls();
1310
+ if (next.disabled) return;
1311
+ goTo(current + 1);
1312
+ });
1314
1313
  restart?.addEventListener("click", e => restartTab(), { capture: true });
1315
1314
 
1316
1315
  //-(API)
1317
- // tabsWizard.addEventListener("tabs:reset", () => restartTab());
1316
+ // tabsWizard.addEventListener("stepTabs:reset", () => restartTab());
1318
1317
  API.set(tabsWizard, {
1319
1318
  restart: restartTab,
1320
1319
  goTo,
1321
1320
  next: () => goTo(current + 1),
1322
1321
  prev: () => goTo(current - 1),
1323
- toggleLock: (step, lock = true) => typeof step === "number" && allTab[step] && (allTab[step].setAttribute("data-tab-locked", lock.toString()), goTo(current)),
1322
+ toggleLock: (step, lock = true) => typeof step === "number" && allTab[step] && (pgs(allTab[step]).state.toggle("is-locked", lock), goTo(current)),
1324
1323
  getCurrent: () => current,
1325
1324
  getState: () => ({ current, total }),
1326
1325
  });
@@ -1331,32 +1330,72 @@ function PGS_tabs_api(selector) {
1331
1330
  return API.get(selector);
1332
1331
  }
1333
1332
 
1334
-
1335
1333
  /*
1336
1334
  / EXAMPLE
1337
1335
  // vai allo step 2
1338
- w.dispatchEvent(new CustomEvent("tabs:go", { detail: { step: 2 } }));
1336
+ w.dispatchEvent(new CustomEvent("stepTabs:go", { detail: { step: 2 } }));
1339
1337
 
1340
1338
  // next
1341
- w.dispatchEvent(new CustomEvent("tabs:next"));
1339
+ w.dispatchEvent(new CustomEvent("stepTabs:next"));
1342
1340
 
1343
1341
  // prev
1344
- w.dispatchEvent(new CustomEvent("tabs:prev"));
1342
+ w.dispatchEvent(new CustomEvent("stepTabs:prev"));
1345
1343
 
1346
1344
  // reset a 0 senza relock
1347
- w.dispatchEvent(new CustomEvent("tabs:reset"));
1345
+ w.dispatchEvent(new CustomEvent("stepTabs:reset"));
1348
1346
 
1349
1347
  // lock step 3
1350
- w.dispatchEvent(new CustomEvent("tabs:toggle-lock", { detail: { step: 3, lock: true } }));
1348
+ w.dispatchEvent(new CustomEvent("stepTabs:toggle-lock", { detail: { step: 3, lock: true } }));
1351
1349
 
1352
1350
  // unlock step 3
1353
- w.dispatchEvent(new CustomEvent("tabs:toggle-lock", { detail: { step: 3, lock: false } }));
1351
+ w.dispatchEvent(new CustomEvent("stepTabs:toggle-lock", { detail: { step: 3, lock: false } }));
1354
1352
 
1355
1353
  // leggi stato
1356
- w.dispatchEvent(new CustomEvent("tabs:get", { detail: { reply: (state) => console.log(state) } }));
1354
+ w.dispatchEvent(new CustomEvent("stepTabs:get", { detail: { reply: (state) => console.log(state) } }));
1357
1355
  */
1358
1356
 
1359
1357
 
1358
+ /***/ },
1359
+
1360
+ /***/ "./assets/javascript/components/_steps.js"
1361
+ /*!************************************************!*\
1362
+ !*** ./assets/javascript/components/_steps.js ***!
1363
+ \************************************************/
1364
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1365
+
1366
+ "use strict";
1367
+ __webpack_require__.r(__webpack_exports__);
1368
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1369
+ /* harmony export */ PGS_ol: () => (/* binding */ PGS_ol)
1370
+ /* harmony export */ });
1371
+
1372
+ function PGS_ol() {
1373
+ pgs(document).querySelectorAll("steps").forEach(steps => {
1374
+
1375
+ pgs(steps).querySelectorAll("steps-step").forEach((li, index) => {
1376
+
1377
+ //= CIRCLE
1378
+ let circleLi;
1379
+ if (!pgs(li).querySelector("steps-step-circle")) {
1380
+ circleLi = document.createElement("span");
1381
+ pgs(circleLi).add("steps-step-circle")
1382
+ circleLi.textContent = index + 1;
1383
+ li.insertAdjacentElement("afterbegin", circleLi);
1384
+ } else{
1385
+ circleLi = pgs(li).querySelector("steps-step-circle");
1386
+ }
1387
+
1388
+ //= line
1389
+ const line = document.createElement("span");
1390
+ pgs(line).add("steps-step-line")
1391
+ li.insertAdjacentElement("afterbegin", line);
1392
+ });
1393
+ });
1394
+ }
1395
+
1396
+ //# INIT PGS_ol
1397
+ PGS_ol()
1398
+
1360
1399
  /***/ },
1361
1400
 
1362
1401
  /***/ "./assets/javascript/functions/_notifications.js"
@@ -2002,7 +2041,7 @@ __webpack_require__.r(__webpack_exports__);
2002
2041
  /* harmony import */ var _components_modals_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/_modals.js */ "./assets/javascript/components/_modals.js");
2003
2042
  /* harmony import */ var _components_slides_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/_slides.js */ "./assets/javascript/components/_slides.js");
2004
2043
  /* harmony import */ var _components_steps_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/_steps.js */ "./assets/javascript/components/_steps.js");
2005
- /* harmony import */ var _components_tabs_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/_tabs.js */ "./assets/javascript/components/_tabs.js");
2044
+ /* harmony import */ var _components_stepTabs_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/_stepTabs.js */ "./assets/javascript/components/_stepTabs.js");
2006
2045
  /* harmony import */ var _patterns_header_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./patterns/_header.js */ "./assets/javascript/patterns/_header.js");
2007
2046
  /* harmony import */ var _patterns_cookieConsent_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./patterns/_cookieConsent.js */ "./assets/javascript/patterns/_cookieConsent.js");
2008
2047
  /* harmony import */ var _patterns_cookieConsent_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_patterns_cookieConsent_js__WEBPACK_IMPORTED_MODULE_12__);