@iamproperty/components 2.7.9 → 3.0.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/README.md +16 -137
- package/assets/css/core.min.css +1 -1
- package/assets/css/core.min.css.map +1 -1
- package/assets/css/email.min.css +1 -1
- package/assets/css/email.min.css.map +1 -1
- package/assets/css/error.min.css +1 -1
- package/assets/css/error.min.css.map +1 -1
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/favicons/manifest.json +32 -0
- package/assets/js/main.js +57 -78
- package/assets/js/modules/accordion.js +32 -36
- package/assets/js/modules/alert.js +56 -56
- package/assets/js/modules/carousel.js +101 -101
- package/assets/js/modules/chart.js +218 -217
- package/assets/js/modules/drawer.js +15 -15
- package/assets/js/modules/form.js +158 -158
- package/assets/js/modules/helpers.js +119 -119
- package/assets/js/modules/modal.js +89 -89
- package/assets/js/modules/nav.js +28 -27
- package/assets/js/modules/table.js +585 -585
- package/assets/js/modules/testimonial.js +82 -82
- package/assets/js/modules/youtubevideo.js +145 -145
- package/assets/js/scripts.bundle.js +174 -102
- package/assets/js/scripts.bundle.js.map +1 -1
- package/assets/js/scripts.bundle.min.js +2 -2
- package/assets/js/scripts.bundle.min.js.map +1 -1
- package/assets/sass/_components.scss +14 -14
- package/assets/sass/_corefiles.scss +40 -40
- package/assets/sass/_fonts.scss +16 -16
- package/assets/sass/_forms.scss +9 -9
- package/assets/sass/_func.scss +12 -10
- package/assets/sass/_functions/functions.scss +141 -141
- package/assets/sass/_functions/mixins.scss +170 -170
- package/assets/sass/_functions/utilities.scss +250 -250
- package/assets/sass/_functions/variables.scss +467 -462
- package/assets/sass/_print.scss +61 -61
- package/assets/sass/_tests/colours.spec.scss +45 -0
- package/assets/sass/_tests/func.spec.scss +233 -0
- package/assets/sass/_tests/mixins.spec.scss +194 -0
- package/assets/sass/_tests/sass.spec.js +9 -0
- package/assets/sass/_tests/typography.spec.scss +36 -0
- package/assets/sass/components/accordion.scss +197 -197
- package/assets/sass/components/alert.scss +98 -98
- package/assets/sass/components/cardDeck.scss +107 -107
- package/assets/sass/components/carousel.scss +234 -234
- package/assets/sass/components/charts.scss +569 -569
- package/assets/sass/components/drawer.scss +46 -46
- package/assets/sass/components/header.scss +63 -63
- package/assets/sass/components/modal.scss +136 -136
- package/assets/sass/components/nav.scss +919 -820
- package/assets/sass/components/property-searchbar.scss +143 -143
- package/assets/sass/components/snapshot.scss +70 -70
- package/assets/sass/components/stepper.scss +164 -164
- package/assets/sass/components/tabs.scss +87 -87
- package/assets/sass/components/testimonial.scss +132 -132
- package/assets/sass/components/timeline.scss +95 -95
- package/assets/sass/core.scss +6 -6
- package/assets/sass/elements/buttons.scss +209 -209
- package/assets/sass/elements/card.scss +177 -177
- package/assets/sass/elements/container.scss +225 -225
- package/assets/sass/elements/forms.scss +194 -194
- package/assets/sass/elements/links.scss +96 -96
- package/assets/sass/elements/lists.scss +112 -112
- package/assets/sass/elements/panel.scss +161 -161
- package/assets/sass/elements/tables.scss +290 -290
- package/assets/sass/elements/tooltips.scss +84 -84
- package/assets/sass/elements/type.scss +136 -136
- package/assets/sass/email.scss +65 -65
- package/assets/sass/error.scss +4 -4
- package/assets/sass/foundations/brand.scss +72 -72
- package/assets/sass/foundations/circles.scss +74 -74
- package/assets/sass/foundations/icons.scss +72 -72
- package/assets/sass/foundations/media.scss +50 -50
- package/assets/sass/foundations/reboot.scss +130 -130
- package/assets/sass/foundations/root.scss +106 -104
- package/assets/sass/main.scss +7 -7
- package/assets/svg/icons.svg +598 -588
- package/assets/svg/logo.svg +42 -42
- package/assets/ts/main.js +57 -0
- package/assets/ts/main.js.map +1 -0
- package/assets/ts/main.ts +68 -0
- package/assets/ts/modules/accordion.js +33 -0
- package/assets/ts/modules/accordion.js.map +1 -0
- package/assets/ts/modules/accordion.ts +43 -0
- package/dist/components.es.js +2504 -0
- package/dist/components.umd.js +56 -3760
- package/dist/style.css +1 -0
- package/package.json +108 -103
- package/src/components/Accordion/Accordion.screenshot.vue +57 -0
- package/src/components/Accordion/Accordion.spec.js +63 -0
- package/src/components/Accordion/Accordion.vue +22 -22
- package/src/components/Accordion/AccordionItem.vue +52 -52
- package/src/components/Accordion/README.md +34 -34
- package/src/components/Accordion/__screenshots__/win32/laptop/Accordion.png +0 -0
- package/src/components/Accordion/__screenshots__/win32/mobile/Accordion.png +0 -0
- package/src/components/Accordion/__screenshots__/win32/tablet/Accordion.png +0 -0
- package/src/components/Alert/Alert.spec.js +49 -0
- package/src/components/Alert/Alert.vue +39 -39
- package/src/components/Alert/README.md +28 -28
- package/src/components/Banner/Banner.spec.js +28 -0
- package/src/components/Banner/Banner.vue +38 -38
- package/src/components/Banner/README.md +23 -23
- package/src/components/CardDeck/CardDeck.spec.js +99 -0
- package/src/components/CardDeck/CardDeck.vue +77 -77
- package/src/components/CardDeck/README.md +24 -24
- package/src/components/Carousel/Carousel.spec.js +45 -0
- package/src/components/Carousel/Carousel.vue +85 -85
- package/src/components/Carousel/README.md +19 -19
- package/src/components/Chart/Chart.spec.js +201 -0
- package/src/components/Chart/Chart.vue +88 -88
- package/src/components/Chart/README.md +17 -17
- package/src/components/Drawer/Drawer.vue +53 -53
- package/src/components/Drawer/README.md +22 -22
- package/src/components/Header/Header.spec.js +33 -0
- package/src/components/Header/Header.vue +38 -38
- package/src/components/Header/README.md +27 -27
- package/src/components/Modal/Modal.spec.js +22 -0
- package/src/components/Modal/Modal.vue +43 -43
- package/src/components/Modal/README.md +19 -19
- package/src/components/Nav/Nav.spec.js +35 -0
- package/src/components/Nav/Nav.vue +215 -189
- package/src/components/Nav/README.md +22 -22
- package/src/components/NoteFeed/NoteFeed.vue +79 -79
- package/src/components/NoteFeed/README.md +16 -16
- package/src/components/PropertySearchbar/PropertySearchbar.vue +204 -204
- package/src/components/PropertySearchbar/README.md +25 -25
- package/src/components/Snapshot/README.md +20 -20
- package/src/components/Snapshot/Snapshot.vue +32 -32
- package/src/components/Stepper/README.md +32 -32
- package/src/components/Stepper/Step.vue +28 -28
- package/src/components/Stepper/Stepper.spec.js +99 -0
- package/src/components/Stepper/Stepper.vue +33 -33
- package/src/components/Tabs/README.md +27 -27
- package/src/components/Tabs/Tab.vue +32 -26
- package/src/components/Tabs/Tabs.vue +77 -75
- package/src/components/Testimonial/README.md +25 -25
- package/src/components/Testimonial/Testimonial.spec.js +57 -0
- package/src/components/Testimonial/Testimonial.vue +60 -60
- package/src/components/Timeline/README.md +18 -18
- package/src/components/Timeline/Timeline.spec.js +17 -0
- package/src/components/Timeline/Timeline.vue +24 -24
- package/src/elements/Card/Card.vue +113 -113
- package/src/elements/Card/README.md +24 -24
- package/src/elements/FileUploads/FileUploads.vue +48 -48
- package/src/elements/FileUploads/README.md +24 -24
- package/src/elements/Input/Input.vue +268 -268
- package/src/elements/Input/README.md +19 -19
- package/src/elements/Table/README.md +62 -62
- package/src/elements/Table/Table.spec.js +90 -0
- package/src/elements/Table/Table.vue +129 -129
- package/src/foundations/Icon/Icon.spec.js +24 -0
- package/src/foundations/Icon/Icon.vue +24 -24
- package/src/foundations/Icon/README.md +11 -11
- package/src/foundations/Logo/Logo.spec.js +56 -0
- package/src/foundations/Logo/Logo.vue +39 -39
- package/src/foundations/Logo/README.md +20 -20
- package/src/foundations/YoutubeVideo/README.md +11 -11
- package/src/foundations/YoutubeVideo/YoutubeVideo.vue +24 -24
- package/src/helpers/strings.js +12 -12
- package/src/index.js +27 -27
- package/src/vue-shim.d.ts +6 -0
- package/assets/.DS_Store +0 -0
- package/dist/components.common.js +0 -3749
- package/dist/components.common.js.map +0 -1
- package/dist/components.css +0 -2
- package/dist/components.css.map +0 -1
- package/dist/components.umd.js.map +0 -1
- package/dist/components.umd.min.js +0 -2
- package/dist/components.umd.min.js.map +0 -1
- package/dist/demo.html +0 -1
- package/src/.DS_Store +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Bootstrap
|
|
2
|
+
* Bootstrap v3.0.0
|
|
3
3
|
* Copyright 2011-2022 [object Object]
|
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
*/
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
factory();
|
|
9
9
|
})((function () { 'use strict';
|
|
10
10
|
|
|
11
|
-
/**
|
|
12
|
-
* Global helper functions to help maintain and enhance framework elements.
|
|
13
|
-
* @module Helpers
|
|
11
|
+
/**
|
|
12
|
+
* Global helper functions to help maintain and enhance framework elements.
|
|
13
|
+
* @module Helpers
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
-
/**
|
|
17
|
-
* Add global classes used by the CSS and later JavaScript.
|
|
18
|
-
* @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.
|
|
16
|
+
/**
|
|
17
|
+
* Add global classes used by the CSS and later JavaScript.
|
|
18
|
+
* @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.
|
|
19
19
|
*/
|
|
20
20
|
var addBodyClasses = body => {
|
|
21
21
|
body.classList.add("js-enabled");
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
|
|
27
27
|
return null;
|
|
28
28
|
};
|
|
29
|
-
/**
|
|
30
|
-
* Add global events.
|
|
31
|
-
* @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.
|
|
29
|
+
/**
|
|
30
|
+
* Add global events.
|
|
31
|
+
* @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.
|
|
32
32
|
*/
|
|
33
33
|
|
|
34
34
|
var addGlobalEvents = body => {
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
}, false);
|
|
41
41
|
return null;
|
|
42
42
|
};
|
|
43
|
-
/**
|
|
44
|
-
* Check if an element contains certain elements that needs enhancing with the JavaScript helpers, it is recommended to do this on the page body after the dom is loaded. Elements that are loaded via ajax should also run this function.
|
|
45
|
-
* @param {HTMLElement} element Dom element, this doesn't have to be the body but it is recommended.
|
|
43
|
+
/**
|
|
44
|
+
* Check if an element contains certain elements that needs enhancing with the JavaScript helpers, it is recommended to do this on the page body after the dom is loaded. Elements that are loaded via ajax should also run this function.
|
|
45
|
+
* @param {HTMLElement} element Dom element, this doesn't have to be the body but it is recommended.
|
|
46
46
|
*/
|
|
47
47
|
|
|
48
48
|
var checkElements = element => {
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
tableWrap(table);
|
|
53
53
|
});
|
|
54
54
|
};
|
|
55
|
-
/**
|
|
56
|
-
* Wrap tables with a table wrapper div to help maintain its responsive design.
|
|
57
|
-
* @param {HTMLElement} table Dom table element
|
|
55
|
+
/**
|
|
56
|
+
* Wrap tables with a table wrapper div to help maintain its responsive design.
|
|
57
|
+
* @param {HTMLElement} table Dom table element
|
|
58
58
|
*/
|
|
59
59
|
|
|
60
60
|
var tableWrap = table => {
|
|
@@ -63,9 +63,9 @@
|
|
|
63
63
|
table.outerHTML = "<div class=\"table__wrapper\">".concat(tableHTML, "</div>");
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
|
-
/**
|
|
67
|
-
* Creates data attributes to be used by the CSS for mobile views.
|
|
68
|
-
* @param {HTMLElement} table Dom table element
|
|
66
|
+
/**
|
|
67
|
+
* Creates data attributes to be used by the CSS for mobile views.
|
|
68
|
+
* @param {HTMLElement} table Dom table element
|
|
69
69
|
*/
|
|
70
70
|
|
|
71
71
|
var tableStacked = table => {
|
|
@@ -102,13 +102,16 @@
|
|
|
102
102
|
if (window.matchMedia('(min-width: 62em)').matches) detail.removeAttribute('open');
|
|
103
103
|
}, false);
|
|
104
104
|
});
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
105
|
+
|
|
106
|
+
if ('IntersectionObserver' in window) {
|
|
107
|
+
var observer = new IntersectionObserver(_ref => {
|
|
108
|
+
var [e] = _ref;
|
|
109
|
+
return e.target.classList.toggle("is-stuck", e.intersectionRatio < 1);
|
|
110
|
+
}, {
|
|
111
|
+
threshold: [1]
|
|
112
|
+
});
|
|
113
|
+
observer.observe(element);
|
|
114
|
+
}
|
|
112
115
|
};
|
|
113
116
|
|
|
114
117
|
function table(tableElement) {
|
|
@@ -373,7 +376,7 @@
|
|
|
373
376
|
});
|
|
374
377
|
};
|
|
375
378
|
|
|
376
|
-
if (tableElement.getAttribute('data-reorder')) {
|
|
379
|
+
if (tableElement.getAttribute('data-reorder') && tableElement.getAttribute('data-reorder') != "false") {
|
|
377
380
|
// Add column heading
|
|
378
381
|
var orderHeading = document.createElement('th');
|
|
379
382
|
orderHeading.innerHTML = 'Order';
|
|
@@ -529,35 +532,36 @@
|
|
|
529
532
|
}
|
|
530
533
|
};
|
|
531
534
|
|
|
532
|
-
function accordion(accordionElement) {
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
535
|
+
function accordion(accordionElement) {
|
|
536
|
+
// Fetch all the details element.
|
|
537
|
+
if (!accordionElement.classList.contains('accordion--keep-open')) {
|
|
538
|
+
var details_1 = accordionElement.querySelectorAll(":scope > details");
|
|
539
|
+
// Add the onclick listeners.
|
|
540
|
+
details_1.forEach(function (targetDetail) {
|
|
541
|
+
targetDetail.addEventListener("click", function () {
|
|
542
|
+
// Close all the details that are not targetDetail.
|
|
543
|
+
details_1.forEach(function (detail) {
|
|
544
|
+
if (detail !== targetDetail) {
|
|
545
|
+
detail.removeAttribute("open");
|
|
546
|
+
}
|
|
547
|
+
});
|
|
548
|
+
});
|
|
549
|
+
});
|
|
550
|
+
}
|
|
551
|
+
if (window.location.hash && document.querySelector(window.location.hash + ':not([open]) summary')) {
|
|
552
|
+
var detail = document.querySelector(window.location.hash + ' summary');
|
|
553
|
+
if (detail instanceof HTMLElement) {
|
|
554
|
+
detail.click();
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
window.addEventListener('hashchange', function () {
|
|
558
|
+
if (window.location.hash && document.querySelector(window.location.hash + ' summary')) {
|
|
559
|
+
var detail = document.querySelector(window.location.hash + ' summary');
|
|
560
|
+
if (detail instanceof HTMLElement) {
|
|
561
|
+
detail.click();
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
});
|
|
561
565
|
}
|
|
562
566
|
|
|
563
567
|
function testimonial(testimonialElement) {
|
|
@@ -795,11 +799,11 @@
|
|
|
795
799
|
}, false);
|
|
796
800
|
}
|
|
797
801
|
|
|
798
|
-
/**
|
|
799
|
-
* Integrate YouTube videos as a way of hosting videos without the overhead and worry surrounding hosting vides. i.e. file sizes, performance and accessibility.
|
|
802
|
+
/**
|
|
803
|
+
* Integrate YouTube videos as a way of hosting videos without the overhead and worry surrounding hosting vides. i.e. file sizes, performance and accessibility.
|
|
800
804
|
*/
|
|
801
805
|
class youtubeVideo {
|
|
802
|
-
/** @param {
|
|
806
|
+
/** @param {Element} embed dom element */
|
|
803
807
|
constructor(embed) {
|
|
804
808
|
var createEmbed = this.createEmbed; // If the scripts is already loaded then lets just create the embed
|
|
805
809
|
|
|
@@ -818,10 +822,10 @@
|
|
|
818
822
|
this.loadScripts(embed, this.createEmbed);
|
|
819
823
|
}
|
|
820
824
|
}
|
|
821
|
-
/**
|
|
822
|
-
* Load the YouTube scripts before trying to create the embed
|
|
823
|
-
* @param {HTMLElement} embed dom element
|
|
824
|
-
* @param {Function} createEmbed function to create the embed after script loaded.
|
|
825
|
+
/**
|
|
826
|
+
* Load the YouTube scripts before trying to create the embed
|
|
827
|
+
* @param {HTMLElement} embed dom element
|
|
828
|
+
* @param {Function} createEmbed function to create the embed after script loaded.
|
|
825
829
|
*/
|
|
826
830
|
|
|
827
831
|
|
|
@@ -859,9 +863,9 @@
|
|
|
859
863
|
image.src = "https://youtube.com/favicon.ico";
|
|
860
864
|
});
|
|
861
865
|
}
|
|
862
|
-
/**
|
|
863
|
-
* Create the YouTube embed after the user has clicked on it.
|
|
864
|
-
* @param {HTMLElement} embed dom element
|
|
866
|
+
/**
|
|
867
|
+
* Create the YouTube embed after the user has clicked on it.
|
|
868
|
+
* @param {HTMLElement} embed dom element
|
|
865
869
|
*/
|
|
866
870
|
|
|
867
871
|
|
|
@@ -875,7 +879,7 @@
|
|
|
875
879
|
var randLetter = String.fromCharCode(65 + Math.floor(Math.random() * 26));
|
|
876
880
|
link_id = randLetter + Date.now();
|
|
877
881
|
target.setAttribute('id', link_id);
|
|
878
|
-
} // This function creates an <iframe> (and YouTube player) after the API code downloads.
|
|
882
|
+
} // This function creates an <iframe> (and YouTube player) after the API code downloads.
|
|
879
883
|
|
|
880
884
|
|
|
881
885
|
function onYouTubeIframeAPIReady() {
|
|
@@ -918,50 +922,118 @@
|
|
|
918
922
|
|
|
919
923
|
}
|
|
920
924
|
|
|
921
|
-
|
|
925
|
+
var modal = element => {
|
|
926
|
+
var links = element.querySelectorAll('.modal__outer a, .modal__outer button');
|
|
927
|
+
var firstLink = links[0];
|
|
928
|
+
var lastLink = links[links.length - 1];
|
|
929
|
+
var modalID = element.getAttribute('id');
|
|
922
930
|
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
931
|
+
var closeModal = function closeModal() {
|
|
932
|
+
var button = document.querySelector('[href="' + window.location.hash + '"]');
|
|
933
|
+
button.focus();
|
|
934
|
+
window.location.hash = "close";
|
|
935
|
+
history.replaceState("", document.title, window.location.pathname + window.location.search); // If there is more than one video lets make sure there is only one playing at a time.
|
|
928
936
|
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
}); // Advanced tables
|
|
937
|
+
if (typeof window.player != "undefined" && typeof window.player.pauseVideo == "function") window.player.pauseVideo();
|
|
938
|
+
}; // Trap the tab focus inside
|
|
932
939
|
|
|
933
|
-
Array.from(document.querySelectorAll('.table__wrapper')).forEach((arrayElement, index) => {
|
|
934
|
-
table(arrayElement);
|
|
935
|
-
}); // Accordions
|
|
936
940
|
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
941
|
+
element.addEventListener('keydown', function (e) {
|
|
942
|
+
if (e.key === "Tab" && e.shiftKey && document.activeElement == firstLink) {
|
|
943
|
+
e.preventDefault();
|
|
944
|
+
lastLink.focus();
|
|
945
|
+
} else if (e.key === "Tab" && !e.shiftKey && document.activeElement == lastLink) {
|
|
946
|
+
e.preventDefault();
|
|
947
|
+
firstLink.focus();
|
|
948
|
+
}
|
|
949
|
+
}); // ESC will close the open modal
|
|
940
950
|
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
});
|
|
951
|
+
document.addEventListener("keydown", function (e) {
|
|
952
|
+
if (e.key === "Escape" && document.querySelector('.modal:target')) closeModal();
|
|
953
|
+
});
|
|
954
|
+
element.addEventListener('click', function (e) {
|
|
955
|
+
for (var target = e.target; target && target != this; target = target.parentNode) {
|
|
956
|
+
// Close links will close the model by default but we want to remove the hash link also
|
|
957
|
+
if (target.matches('[href="#close"]')) {
|
|
958
|
+
e.preventDefault();
|
|
959
|
+
closeModal();
|
|
960
|
+
break;
|
|
961
|
+
} // Dock the modal to the right or left to make the content behind readable
|
|
962
|
+
else if (target.matches('.modal__dock--right')) {
|
|
963
|
+
e.preventDefault();
|
|
964
|
+
if (!element.classList.contains('modal--left')) element.classList.add('modal--right');
|
|
965
|
+
element.classList.remove('modal--left');
|
|
966
|
+
break;
|
|
967
|
+
} else if (target.matches('.modal__dock--left')) {
|
|
968
|
+
e.preventDefault();
|
|
969
|
+
if (!element.classList.contains('modal--right')) element.classList.add('modal--left');
|
|
970
|
+
element.classList.remove('modal--right');
|
|
971
|
+
break;
|
|
972
|
+
}
|
|
973
|
+
}
|
|
974
|
+
});
|
|
944
975
|
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
976
|
+
function locationHashChanged() {
|
|
977
|
+
if (location.hash === '#' + modalID) {
|
|
978
|
+
console.log("Modal is now open");
|
|
979
|
+
var videoButton = document.querySelector('.modal:target .modal__inner > .youtube-embed:first-child:last-child a');
|
|
980
|
+
console.log(videoButton);
|
|
948
981
|
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
982
|
+
if (videoButton) {
|
|
983
|
+
videoButton.click();
|
|
984
|
+
}
|
|
985
|
+
}
|
|
986
|
+
}
|
|
952
987
|
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
}); // YouTube videos
|
|
988
|
+
window.onhashchange = locationHashChanged;
|
|
989
|
+
};
|
|
956
990
|
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
991
|
+
// @ts-nocheck
|
|
992
|
+
// Attach classes to dom elements
|
|
993
|
+
document.addEventListener("DOMContentLoaded", function () {
|
|
994
|
+
addBodyClasses(document.body);
|
|
995
|
+
addGlobalEvents();
|
|
996
|
+
checkElements(document.body);
|
|
997
|
+
console.log('test.js');
|
|
998
|
+
// ANav
|
|
999
|
+
Array.from(document.querySelectorAll('.nav')).forEach(function (arrayElement) {
|
|
1000
|
+
navbar(arrayElement);
|
|
1001
|
+
});
|
|
1002
|
+
// Advanced tables
|
|
1003
|
+
Array.from(document.querySelectorAll('.table__wrapper')).forEach(function (arrayElement) {
|
|
1004
|
+
table(arrayElement);
|
|
1005
|
+
});
|
|
1006
|
+
// Accordions
|
|
1007
|
+
Array.from(document.querySelectorAll('.accordion')).forEach(function (arrayElement) {
|
|
1008
|
+
accordion(arrayElement);
|
|
1009
|
+
});
|
|
1010
|
+
// Testimonial
|
|
1011
|
+
Array.from(document.querySelectorAll('.testimonial')).forEach(function (arrayElement) {
|
|
1012
|
+
testimonial(arrayElement);
|
|
1013
|
+
});
|
|
1014
|
+
// Carousel
|
|
1015
|
+
Array.from(document.querySelectorAll('.carousel')).forEach(function (arrayElement) {
|
|
1016
|
+
carousel(arrayElement);
|
|
1017
|
+
});
|
|
1018
|
+
// Form
|
|
1019
|
+
Array.from(document.querySelectorAll('form')).forEach(function (arrayElement) {
|
|
1020
|
+
form(arrayElement);
|
|
1021
|
+
});
|
|
1022
|
+
// Modal
|
|
1023
|
+
Array.from(document.querySelectorAll('.modal')).forEach(function (arrayElement) {
|
|
1024
|
+
modal(arrayElement);
|
|
1025
|
+
});
|
|
1026
|
+
// YouTube videos
|
|
1027
|
+
Array.from(document.querySelectorAll('.youtube-embed')).forEach(function (arrayElement) {
|
|
1028
|
+
new youtubeVideo(arrayElement);
|
|
1029
|
+
});
|
|
1030
|
+
window.addEventListener('hashchange', function () {
|
|
1031
|
+
var hash = location.hash.replace('#', '');
|
|
1032
|
+
var label = document.querySelector("label[for=\"".concat(hash, "\"]"));
|
|
1033
|
+
if (label instanceof HTMLElement) {
|
|
1034
|
+
label.click();
|
|
1035
|
+
}
|
|
1036
|
+
}, false);
|
|
965
1037
|
});
|
|
966
1038
|
|
|
967
1039
|
}));
|