@iamproperty/components 7.0.0 → 7.1.0--beta2
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/css/components/actionbar.css.map +1 -1
- package/assets/css/components/actionbar.global.css.map +1 -1
- package/assets/css/components/address-lookup.css.map +1 -1
- package/assets/css/components/applied-filters.css.map +1 -1
- package/assets/css/components/barchart.component.css +1 -1
- package/assets/css/components/barchart.component.css.map +1 -1
- package/assets/css/components/card.component.css +1 -1
- package/assets/css/components/card.component.css.map +1 -1
- package/assets/css/components/card.module.css.map +1 -1
- package/assets/css/components/carousel.component.css +1 -1
- package/assets/css/components/carousel.component.css.map +1 -1
- package/assets/css/components/carousel.config.css.map +1 -1
- package/assets/css/components/charts.config.css.map +1 -1
- package/assets/css/components/charts.css +1 -1
- package/assets/css/components/charts.css.map +1 -1
- package/assets/css/components/charts.module.css +1 -1
- package/assets/css/components/charts.module.css.map +1 -1
- package/assets/css/components/collapsible-side.css.map +1 -1
- package/assets/css/components/fileupload.css.map +1 -1
- package/assets/css/components/filter-card.component.css.map +1 -1
- package/assets/css/components/header.css.map +1 -1
- package/assets/css/components/inline-edit.css.map +1 -1
- package/assets/css/components/inline-edit.preload.css.map +1 -1
- package/assets/css/components/marketing.css.map +1 -1
- package/assets/css/components/multi-step.component.css.map +1 -1
- package/assets/css/components/multiselect.css +1 -1
- package/assets/css/components/multiselect.css.map +1 -1
- package/assets/css/components/multiselect.preload.css.map +1 -1
- package/assets/css/components/nav.css +1 -1
- package/assets/css/components/nav.css.map +1 -1
- package/assets/css/components/nav.docs.css.map +1 -1
- package/assets/css/components/nav.global.css +1 -1
- package/assets/css/components/nav.global.css.map +1 -1
- package/assets/css/components/nav.old.css +1 -1
- package/assets/css/components/nav.old.css.map +1 -1
- package/assets/css/components/nav.preload.css.map +1 -1
- package/assets/css/components/notification.css.map +1 -1
- package/assets/css/components/notification.global.css.map +1 -1
- package/assets/css/components/pagination.css.map +1 -1
- package/assets/css/components/property-searchbar.css +1 -1
- package/assets/css/components/property-searchbar.css.map +1 -1
- package/assets/css/components/record-card.component.css.map +1 -1
- package/assets/css/components/slider.css.map +1 -1
- package/assets/css/components/snapshot.css.map +1 -1
- package/assets/css/components/stepper.css.map +1 -1
- package/assets/css/components/table.css +1 -1
- package/assets/css/components/table.css.map +1 -1
- package/assets/css/components/table.global.css +1 -1
- package/assets/css/components/table.global.css.map +1 -1
- package/assets/css/components/tabs.css.map +1 -1
- package/assets/css/components/testimonial.css.map +1 -1
- package/assets/css/components/timeline.css +1 -1
- package/assets/css/components/timeline.css.map +1 -1
- package/assets/css/components/video-card.component.css.map +1 -1
- package/assets/css/core.min.css +1 -1
- package/assets/css/core.min.css.map +1 -1
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/js/components/_global.js +8 -8
- package/assets/js/components/accordion/accordion.component.js +13 -10
- package/assets/js/components/accordion/accordion.component.min.js +4 -4
- package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
- package/assets/js/components/actionbar/actionbar.component.js +97 -83
- package/assets/js/components/actionbar/actionbar.component.min.js +5 -5
- package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.js +30 -26
- package/assets/js/components/address-lookup/address-lookup.component.min.js +4 -4
- package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.js +10 -6
- package/assets/js/components/applied-filters/applied-filters.component.min.js +3 -3
- package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
- package/assets/js/components/barchart/barchart.component.js +8 -7
- package/assets/js/components/barchart/barchart.component.min.js +4 -4
- package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
- package/assets/js/components/card/card.component.js +27 -12
- package/assets/js/components/card/card.component.min.js +3 -3
- package/assets/js/components/card/card.component.min.js.map +1 -1
- package/assets/js/components/carousel/carousel.component.js +18 -12
- package/assets/js/components/carousel/carousel.component.min.js +4 -4
- package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
- package/assets/js/components/chart/chart.component.js +9 -8
- package/assets/js/components/collapsible-side/collapsible-side.component.js +20 -8
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
- package/assets/js/components/fileupload/fileupload.component.js +11 -7
- package/assets/js/components/fileupload/fileupload.component.min.js +2 -2
- package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
- package/assets/js/components/filter-card/filter-card.component.js +19 -9
- package/assets/js/components/filter-card/filter-card.component.min.js +2 -2
- package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
- package/assets/js/components/filterlist/filterlist.component.js +10 -6
- package/assets/js/components/filterlist/filterlist.component.min.js +3 -3
- package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
- package/assets/js/components/header/header.component.js +8 -4
- package/assets/js/components/header/header.component.min.js +1 -1
- package/assets/js/components/header/header.component.min.js.map +1 -1
- package/assets/js/components/inline-edit/inline-edit.component.js +43 -23
- package/assets/js/components/inline-edit/inline-edit.component.min.js +4 -4
- package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
- package/assets/js/components/marketing/marketing.component.js +11 -5
- package/assets/js/components/marketing/marketing.component.min.js +1 -1
- package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
- package/assets/js/components/multi-step/multi-step.component.js +22 -19
- package/assets/js/components/multiselect/multiselect.component.js +62 -45
- package/assets/js/components/multiselect/multiselect.component.min.js +5 -5
- package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
- package/assets/js/components/nav/nav.component.js +57 -38
- package/assets/js/components/nav/nav.component.min.js +5 -5
- package/assets/js/components/nav/nav.component.min.js.map +1 -1
- package/assets/js/components/notification/notification.component.js +9 -5
- package/assets/js/components/notification/notification.component.min.js +5 -5
- package/assets/js/components/notification/notification.component.min.js.map +1 -1
- package/assets/js/components/pagination/pagination.component.js +18 -14
- package/assets/js/components/pagination/pagination.component.min.js +2 -2
- package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
- package/assets/js/components/record-card/record-card.component.js +10 -8
- package/assets/js/components/record-card/record-card.component.min.js +2 -2
- package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
- package/assets/js/components/search/search.component.js +22 -17
- package/assets/js/components/search/search.component.min.js +4 -4
- package/assets/js/components/search/search.component.min.js.map +1 -1
- package/assets/js/components/slider/slider.component.js +25 -21
- package/assets/js/components/slider/slider.component.min.js +3 -3
- package/assets/js/components/slider/slider.component.min.js.map +1 -1
- package/assets/js/components/table/table.component.js +30 -24
- package/assets/js/components/table/table.component.min.js +7 -7
- package/assets/js/components/table/table.component.min.js.map +1 -1
- package/assets/js/components/tabs/tabs.component.js +10 -6
- package/assets/js/components/tabs/tabs.component.min.js +3 -3
- package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
- package/assets/js/components/video-card/video-card.component.js +45 -33
- package/assets/js/components/video-card/video-card.component.min.js +3 -3
- package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
- package/assets/js/components.bundle.js +1 -1
- package/assets/js/components.bundle.js.map +1 -1
- package/assets/js/components.js +35 -8
- package/assets/js/modules/applied-filters.js +20 -20
- package/assets/js/modules/carousel.js +65 -60
- package/assets/js/modules/chart.js +184 -134
- package/assets/js/modules/chart.module.js +74 -63
- package/assets/js/modules/data-layer.js +17 -17
- package/assets/js/modules/dialogs.js +47 -38
- package/assets/js/modules/drawer.js +1 -1
- package/assets/js/modules/dynamicEvents.js +24 -24
- package/assets/js/modules/file-upload.js +8 -9
- package/assets/js/modules/fileupload.js +5 -5
- package/assets/js/modules/filterlist.js +4 -4
- package/assets/js/modules/form.js +22 -18
- package/assets/js/modules/helpers.js +54 -44
- package/assets/js/modules/inputs.js +25 -21
- package/assets/js/modules/nav.js +3 -1
- package/assets/js/modules/notification.js +6 -6
- package/assets/js/modules/orderablelist.js +12 -12
- package/assets/js/modules/pagination.js +5 -5
- package/assets/js/modules/table.js +242 -181
- package/assets/js/modules/tabs.js +71 -60
- package/assets/js/modules/testimonial.js +11 -12
- package/assets/js/scripts.bundle.js +1 -1
- package/assets/js/scripts.bundle.js.map +1 -1
- package/assets/js/scripts.bundle.min.js +1 -1
- package/assets/js/scripts.bundle.min.js.map +1 -1
- package/assets/js/scripts.js +1 -1
- package/assets/js/tests/chart.spec.js +5 -5
- package/assets/js/tests/filterlist.spec.js +2 -2
- package/assets/js/tests/slider.spec.js +2 -2
- package/assets/js/tests/table.spec.js +2 -2
- package/assets/js/vendor/hibp.js +4 -4
- package/assets/sass/_components.scss +28 -40
- package/assets/sass/_corefiles.scss +22 -29
- package/assets/sass/_elements.scss +19 -19
- package/assets/sass/_fonts.scss +10 -7
- package/assets/sass/_func.scss +14 -14
- package/assets/sass/_functions/functions.scss +115 -90
- package/assets/sass/_functions/mixins.scss +72 -112
- package/assets/sass/_functions/utilities.scss +447 -393
- package/assets/sass/_functions/variables.scss +1357 -1371
- package/assets/sass/_print.scss +18 -16
- package/assets/sass/_tests/colours.spec.scss +15 -14
- package/assets/sass/_tests/func.spec.scss +1 -2
- package/assets/sass/_tests/mixins.spec.scss +9 -14
- package/assets/sass/_tests/typography.spec.scss +1 -2
- package/assets/sass/_utilities.scss +8 -12
- package/assets/sass/components/actionbar.global.scss +45 -64
- package/assets/sass/components/actionbar.scss +58 -84
- package/assets/sass/components/address-lookup.scss +9 -11
- package/assets/sass/components/applied-filters.scss +3 -7
- package/assets/sass/components/barchart.component.scss +68 -99
- package/assets/sass/components/card.component.scss +35 -50
- package/assets/sass/components/card.module.scss +34 -37
- package/assets/sass/components/carousel.component.scss +198 -177
- package/assets/sass/components/carousel.config.scss +13 -19
- package/assets/sass/components/charts.config.scss +16 -23
- package/assets/sass/components/charts.module.scss +139 -178
- package/assets/sass/components/charts.scss +173 -232
- package/assets/sass/components/collapsible-side.scss +65 -98
- package/assets/sass/components/fileupload.scss +17 -23
- package/assets/sass/components/filter-card.component.scss +21 -28
- package/assets/sass/components/header.scss +24 -37
- package/assets/sass/components/inline-edit.preload.scss +24 -45
- package/assets/sass/components/inline-edit.scss +4 -5
- package/assets/sass/components/marketing.scss +19 -14
- package/assets/sass/components/multi-step.component.scss +36 -42
- package/assets/sass/components/multiselect.preload.scss +9 -12
- package/assets/sass/components/multiselect.scss +20 -24
- package/assets/sass/components/nav.docs.scss +7 -15
- package/assets/sass/components/nav.global.scss +123 -177
- package/assets/sass/components/nav.old.scss +64 -135
- package/assets/sass/components/nav.preload.scss +11 -12
- package/assets/sass/components/nav.scss +126 -173
- package/assets/sass/components/notification.global.scss +2 -3
- package/assets/sass/components/notification.scss +17 -32
- package/assets/sass/components/pagination.scss +32 -44
- package/assets/sass/components/property-searchbar.scss +2 -6
- package/assets/sass/components/record-card.component.scss +42 -55
- package/assets/sass/components/slider.scss +38 -35
- package/assets/sass/components/snapshot.scss +4 -10
- package/assets/sass/components/stepper.scss +14 -22
- package/assets/sass/components/table.global.scss +130 -171
- package/assets/sass/components/table.scss +17 -27
- package/assets/sass/components/tabs.scss +23 -32
- package/assets/sass/components/testimonial.scss +6 -14
- package/assets/sass/components/timeline.scss +8 -12
- package/assets/sass/components/video-card.component.scss +9 -14
- package/assets/sass/components.reset.scss +5 -5
- package/assets/sass/core.scss +3 -3
- package/assets/sass/elements/admin-panel.scss +41 -45
- package/assets/sass/elements/badge-tag.scss +16 -26
- package/assets/sass/elements/brand.scss +13 -16
- package/assets/sass/elements/buttons.scss +80 -106
- package/assets/sass/elements/container.scss +24 -133
- package/assets/sass/elements/details.scss +30 -50
- package/assets/sass/elements/dialog.scss +4 -6
- package/assets/sass/elements/forms.scss +421 -437
- package/assets/sass/elements/icons.scss +3 -4
- package/assets/sass/elements/links.scss +17 -25
- package/assets/sass/elements/lists.scss +30 -47
- package/assets/sass/elements/media.scss +1 -4
- package/assets/sass/elements/modal.scss +54 -80
- package/assets/sass/elements/popover.scss +28 -45
- package/assets/sass/elements/progress.scss +30 -40
- package/assets/sass/elements/table.element.scss +10 -15
- package/assets/sass/elements/tooltips.scss +27 -49
- package/assets/sass/elements/type.scss +47 -53
- package/assets/sass/email.scss +7 -9
- package/assets/sass/error.scss +23 -20
- package/assets/sass/foundations/bs_grid.scss +0 -1
- package/assets/sass/foundations/grid.scss +120 -122
- package/assets/sass/foundations/reboot.scss +27 -35
- package/assets/sass/foundations/root.scss +21 -31
- package/assets/sass/helpers/dynamic.scss +5 -5
- package/assets/sass/helpers/line-clamp.scss +1 -2
- package/assets/sass/helpers/max-height.scss +28 -36
- package/assets/sass/helpers/wider-colours.scss +2 -5
- package/assets/sass/main.scss +4 -4
- package/assets/sass/templates/auth.scss +11 -18
- package/assets/sass/templates/form.scss +16 -29
- package/assets/ts/components/_global.ts +14 -17
- package/assets/ts/components/accordion/accordion.component.ts +23 -19
- package/assets/ts/components/actionbar/README.md +8 -7
- package/assets/ts/components/actionbar/actionbar.component.ts +170 -220
- package/assets/ts/components/address-lookup/address-lookup.component.ts +94 -130
- package/assets/ts/components/applied-filters/README.md +1 -1
- package/assets/ts/components/applied-filters/applied-filters.component.ts +16 -15
- package/assets/ts/components/barchart/barchart.component.ts +29 -26
- package/assets/ts/components/card/card.component.ts +56 -57
- package/assets/ts/components/carousel/README.md +8 -9
- package/assets/ts/components/carousel/carousel.component.ts +30 -33
- package/assets/ts/components/chart/README.md +1 -3
- package/assets/ts/components/chart/chart.component.ts +24 -36
- package/assets/ts/components/collapsible-side/README.md +1 -1
- package/assets/ts/components/collapsible-side/collapsible-side.component.ts +44 -57
- package/assets/ts/components/fileupload/README.md +3 -3
- package/assets/ts/components/fileupload/fileupload.component.ts +23 -28
- package/assets/ts/components/filter-card/filter-card.component.ts +32 -33
- package/assets/ts/components/filterlist/README.md +3 -3
- package/assets/ts/components/filterlist/filterlist.component.ts +18 -16
- package/assets/ts/components/header/README.md +8 -9
- package/assets/ts/components/header/header.component.ts +15 -16
- package/assets/ts/components/inline-edit/README.md +1 -0
- package/assets/ts/components/inline-edit/inline-edit.component.ts +71 -71
- package/assets/ts/components/marketing/marketing.component.ts +17 -16
- package/assets/ts/components/multi-step/multi-step.component.ts +114 -156
- package/assets/ts/components/multiselect/README.md +5 -5
- package/assets/ts/components/multiselect/multiselect.component.ts +116 -133
- package/assets/ts/components/nav/README.md +13 -13
- package/assets/ts/components/nav/nav.component.ts +171 -167
- package/assets/ts/components/notification/README.md +9 -9
- package/assets/ts/components/notification/notification.component.ts +33 -32
- package/assets/ts/components/pagination/README.md +12 -12
- package/assets/ts/components/pagination/pagination.component.ts +51 -69
- package/assets/ts/components/record-card/record-card.component.ts +24 -34
- package/assets/ts/components/search/README.md +6 -7
- package/assets/ts/components/search/search.component.ts +75 -91
- package/assets/ts/components/slider/slider.component.ts +62 -77
- package/assets/ts/components/table/README.md +8 -8
- package/assets/ts/components/table/table.component.ts +97 -134
- package/assets/ts/components/tabs/README.md +4 -4
- package/assets/ts/components/tabs/tabs.component.ts +16 -14
- package/assets/ts/components/video-card/video-card.component.ts +89 -93
- package/assets/ts/components.ts +44 -20
- package/assets/ts/html.d.ts +1 -7
- package/assets/ts/modules/applied-filters.ts +104 -135
- package/assets/ts/modules/card.module.ts +13 -18
- package/assets/ts/modules/carousel.ts +194 -195
- package/assets/ts/modules/chart.module.ts +201 -246
- package/assets/ts/modules/chart.ts +454 -472
- package/assets/ts/modules/data-layer.md +35 -31
- package/assets/ts/modules/data-layer.ts +18 -18
- package/assets/ts/modules/dialogs.ts +113 -117
- package/assets/ts/modules/drawer.ts +7 -9
- package/assets/ts/modules/dynamicEvents.ts +67 -100
- package/assets/ts/modules/file-upload.ts +43 -40
- package/assets/ts/modules/fileupload.ts +38 -60
- package/assets/ts/modules/filterlist.ts +14 -20
- package/assets/ts/modules/form.ts +126 -128
- package/assets/ts/modules/helpers.ts +114 -120
- package/assets/ts/modules/inputs.ts +88 -120
- package/assets/ts/modules/nav.ts +19 -18
- package/assets/ts/modules/notification.ts +28 -32
- package/assets/ts/modules/orderablelist.ts +90 -82
- package/assets/ts/modules/pagination.ts +14 -19
- package/assets/ts/modules/table.ts +516 -599
- package/assets/ts/modules/tabs.ts +120 -145
- package/assets/ts/modules/testimonial.ts +59 -64
- package/assets/ts/scripts.ts +7 -9
- package/assets/ts/tests/chart.spec.ts +11 -20
- package/assets/ts/tests/data-layer.spec.js +3 -4
- package/assets/ts/tests/filterlist.spec.ts +3 -6
- package/assets/ts/tests/slider.spec.ts +9 -15
- package/assets/ts/tests/table.spec.ts +7 -24
- package/assets/ts/vendor/hibp.ts +43 -43
- package/dist/components.es.js +280 -270
- package/dist/components.umd.js +67 -67
- package/dist/style.css +1 -1
- package/package.json +14 -4
- package/src/components/Accordion/Accordion.spec.js +25 -31
- package/src/components/Accordion/Accordion.vue +16 -19
- package/src/components/Accordion/AccordionItem.vue +39 -37
- package/src/components/Accordion/README.md +10 -12
- package/src/components/Actionbar/Actionbar.vue +15 -18
- package/src/components/Actionbar/README.md +8 -7
- package/src/components/AddressLookup/AddressLookup.vue +14 -16
- package/src/components/AppliedFilters/AppliedFilters.vue +14 -16
- package/src/components/Banner/Banner.spec.js +13 -15
- package/src/components/Banner/Banner.vue +19 -19
- package/src/components/Banner/README.md +8 -10
- package/src/components/BarChart/BarChart.vue +14 -16
- package/src/components/Card/Card.vue +13 -16
- package/src/components/Card/README.md +8 -8
- package/src/components/Carousel/Carousel.vue +15 -18
- package/src/components/Carousel/README.md +7 -7
- package/src/components/Chart/Chart.spec.js +64 -87
- package/src/components/Chart/Chart.vue +41 -40
- package/src/components/Chart/README.md +8 -9
- package/src/components/CollapsibleSideMenu/CollapsibleSideMenu.vue +8 -10
- package/src/components/CollapsibleSideMenu/README.md +1 -1
- package/src/components/FileUpload/FileUpload.vue +35 -40
- package/src/components/FileUpload/README.md +3 -3
- package/src/components/FilterCard/FilterCard.vue +14 -16
- package/src/components/Filterlist/Filterlist.vue +7 -9
- package/src/components/Filterlist/README.md +3 -3
- package/src/components/Header/Header.vue +23 -26
- package/src/components/Header/README.md +8 -9
- package/src/components/InlineEdit/InlineEdit.vue +26 -32
- package/src/components/Input/Input.vue +323 -233
- package/src/components/Input/README.md +11 -11
- package/src/components/Marketing/Marketing.vue +24 -27
- package/src/components/Marketing/README.md +7 -7
- package/src/components/MultiStep/MultiStep.vue +13 -15
- package/src/components/Multiselect/Multiselect.vue +14 -17
- package/src/components/Nav/Nav.vue +15 -29
- package/src/components/Nav/README.md +12 -12
- package/src/components/Nav-old/Nav.vue +88 -93
- package/src/components/Nav-old/README.md +11 -12
- package/src/components/NoteFeed/NoteFeed.vue +59 -56
- package/src/components/NoteFeed/README.md +6 -6
- package/src/components/Notification/Notification.vue +11 -15
- package/src/components/Notification/README.md +9 -9
- package/src/components/Pagination/Pagination.vue +14 -24
- package/src/components/Pagination/README.md +12 -12
- package/src/components/PropertySearchbar/PropertySearchbar.vue +191 -160
- package/src/components/PropertySearchbar/README.md +14 -15
- package/src/components/RecordCard/RecordCard.vue +14 -16
- package/src/components/Search/README.md +1 -1
- package/src/components/Search/Search.vue +13 -16
- package/src/components/Slider/Slider.vue +13 -16
- package/src/components/Snapshot/README.md +9 -10
- package/src/components/Snapshot/Snapshot.vue +15 -17
- package/src/components/Stepper/README.md +12 -13
- package/src/components/Stepper/Step.vue +22 -18
- package/src/components/Stepper/Stepper.spec.js +41 -46
- package/src/components/Stepper/Stepper.vue +17 -18
- package/src/components/Table/README.md +12 -11
- package/src/components/Table/Table.spec.js +17 -28
- package/src/components/Table/Table.vue +49 -48
- package/src/components/Tabs/README.md +8 -8
- package/src/components/Tabs/Tab.vue +21 -21
- package/src/components/Tabs/Tabs.vue +14 -17
- package/src/components/Testimonial/README.md +11 -12
- package/src/components/Testimonial/Testimonial.spec.js +22 -26
- package/src/components/Testimonial/Testimonial.vue +31 -25
- package/src/components/Timeline/README.md +3 -3
- package/src/components/Timeline/Timeline.spec.js +9 -11
- package/src/components/Timeline/Timeline.vue +10 -10
- package/src/components/VideoCard/VideoCard.vue +14 -16
- package/src/foundations/Logo/Logo.spec.js +30 -30
- package/src/foundations/Logo/Logo.vue +28 -28
- package/src/foundations/Logo/README.md +5 -4
- package/src/helpers/strings.js +11 -8
- package/src/index.js +27 -28
- package/src/vue-shim.d.ts +4 -4
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
|
-
import { getSwipeDirection } from './helpers'
|
|
3
|
-
|
|
4
|
-
export const createTabsLinks = function(tabsElement: Element) {
|
|
2
|
+
import { getSwipeDirection } from './helpers';
|
|
5
3
|
|
|
4
|
+
export const createTabsLinks = function (tabsElement: Element) {
|
|
6
5
|
const details = tabsElement.querySelectorAll(':scope > details');
|
|
7
6
|
const detailsORLinks = tabsElement.querySelectorAll(':scope > details, :scope > a');
|
|
8
|
-
|
|
7
|
+
const summaries = tabsElement.querySelectorAll(':scope > details > summary');
|
|
9
8
|
let tabLinks = tabsElement.querySelector(':scope > .tabs__links');
|
|
10
9
|
|
|
11
|
-
if(tabsElement.shadowRoot && tabsElement.shadowRoot.querySelector('.tabs__links'))
|
|
10
|
+
if (tabsElement.shadowRoot && tabsElement.shadowRoot.querySelector('.tabs__links'))
|
|
12
11
|
tabLinks = tabsElement.shadowRoot.querySelector('.tabs__links');
|
|
13
12
|
|
|
14
|
-
if(!tabLinks){
|
|
13
|
+
if (!tabLinks) {
|
|
15
14
|
tabLinks = document.createElement('div');
|
|
16
15
|
tabLinks.classList.add('tabs__links');
|
|
17
16
|
|
|
18
|
-
|
|
17
|
+
const tabLinksWrapper = document.createElement('div');
|
|
19
18
|
tabLinksWrapper.classList.add('tabs__links__wrapper');
|
|
20
|
-
|
|
19
|
+
|
|
21
20
|
tabLinksWrapper.prepend(tabLinks);
|
|
22
21
|
tabsElement.prepend(tabLinksWrapper);
|
|
23
22
|
}
|
|
@@ -25,236 +24,212 @@ export const createTabsLinks = function(tabsElement: Element) {
|
|
|
25
24
|
// Create the tab buttons from the summary titles
|
|
26
25
|
let tabindex = 0;
|
|
27
26
|
detailsORLinks.forEach((element, index) => {
|
|
28
|
-
|
|
29
27
|
let button = document.createElement('button');
|
|
30
|
-
|
|
31
|
-
if(element.matches('details')){
|
|
32
28
|
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
if (element.matches('details')) {
|
|
30
|
+
const summary = element.querySelector(':scope > summary');
|
|
31
|
+
const isDisabled = summary.classList.contains('disabled');
|
|
35
32
|
|
|
36
33
|
summary.classList.add('visually-hidden');
|
|
37
34
|
|
|
38
|
-
if (element.hasAttribute('id'))
|
|
39
|
-
button.setAttribute('data-id',`${element.getAttribute('id')}`);
|
|
35
|
+
if (element.hasAttribute('id')) button.setAttribute('data-id', `${element.getAttribute('id')}`);
|
|
40
36
|
|
|
41
37
|
if (element.hasAttribute('open')) {
|
|
42
|
-
button.setAttribute('aria-pressed',true);
|
|
38
|
+
button.setAttribute('aria-pressed', true);
|
|
43
39
|
}
|
|
44
40
|
button.innerHTML = `${summary.innerText}`;
|
|
45
41
|
button.classList.add('link');
|
|
46
|
-
button.setAttribute('data-index',tabindex);
|
|
47
|
-
element.setAttribute('tabindex','-1');
|
|
42
|
+
button.setAttribute('data-index', tabindex);
|
|
43
|
+
element.setAttribute('tabindex', '-1');
|
|
48
44
|
|
|
49
45
|
if (isDisabled) {
|
|
50
|
-
button.classList.add('disabled')
|
|
46
|
+
button.classList.add('disabled');
|
|
51
47
|
}
|
|
52
48
|
|
|
53
49
|
tabindex++;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
button = element;
|
|
50
|
+
} else if (element.matches('a')) {
|
|
51
|
+
button = element;
|
|
58
52
|
}
|
|
59
53
|
|
|
60
54
|
button.classList.add('link');
|
|
61
55
|
tabLinks.appendChild(button);
|
|
62
56
|
});
|
|
57
|
+
};
|
|
63
58
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
let details = tabsElement.querySelectorAll(':scope > details');
|
|
69
|
-
let summaries = tabsElement.querySelectorAll(':scope > details > summary');
|
|
59
|
+
export const setTabsEventHandlers = function (tabsElement: Element) {
|
|
60
|
+
const details = tabsElement.querySelectorAll(':scope > details');
|
|
61
|
+
const summaries = tabsElement.querySelectorAll(':scope > details > summary');
|
|
70
62
|
let buttonWrapper = tabsElement.querySelector(':scope .tabs__links');
|
|
71
63
|
let buttons = tabsElement.querySelectorAll(':scope .tabs__links > button');
|
|
72
64
|
|
|
73
65
|
let nextButton = tabsElement.querySelector(':scope .tabs__next');
|
|
74
66
|
|
|
75
67
|
var scrollTimeout;
|
|
76
|
-
|
|
77
|
-
|
|
68
|
+
window.isClicked = false;
|
|
69
|
+
window.isScrolling = false;
|
|
78
70
|
|
|
79
|
-
if(tabsElement.shadowRoot){
|
|
71
|
+
if (tabsElement.shadowRoot) {
|
|
80
72
|
buttons = tabsElement.shadowRoot.querySelectorAll('.tabs__links > button');
|
|
81
73
|
buttonWrapper = tabsElement.shadowRoot.querySelector('.tabs__links');
|
|
82
74
|
nextButton = tabsElement.shadowRoot.querySelector(':scope .tabs__next');
|
|
83
75
|
}
|
|
84
76
|
|
|
85
|
-
buttonWrapper.addEventListener('scroll', function(e){
|
|
86
|
-
|
|
87
|
-
if(isClicked){
|
|
88
|
-
isClicked = false;
|
|
89
|
-
return false;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
clearTimeout(scrollTimeout);
|
|
93
|
-
let buttonToClick = buttons[0];
|
|
94
|
-
|
|
95
|
-
scrollTimeout = setTimeout(function(){
|
|
96
|
-
|
|
97
|
-
let closestOffset = Math.abs(buttonToClick.getBoundingClientRect().left);
|
|
98
|
-
|
|
99
|
-
buttons.forEach((button) => {
|
|
100
|
-
|
|
101
|
-
if(Math.abs(button.getBoundingClientRect().left) < closestOffset){
|
|
102
|
-
closestOffset = Math.abs(button.getBoundingClientRect().left);
|
|
103
|
-
buttonToClick = button;
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
isScrolled = true;
|
|
108
|
-
buttonToClick.click();
|
|
109
|
-
buttonToClick.focus();
|
|
110
|
-
|
|
111
|
-
}, 100);
|
|
112
|
-
|
|
113
|
-
}, false);
|
|
114
|
-
|
|
115
|
-
|
|
116
77
|
// Set the on click for the tab buttons, these will open the details box it matches too
|
|
117
78
|
buttons.forEach((button) => {
|
|
118
|
-
|
|
119
|
-
button.addEventListener("click", (e) => {
|
|
79
|
+
button.addEventListener('click', (e) => {
|
|
120
80
|
e.preventDefault();
|
|
121
81
|
|
|
122
|
-
|
|
82
|
+
if (window.isScrolling) return;
|
|
123
83
|
|
|
124
|
-
if (
|
|
125
|
-
|
|
84
|
+
if (!window.triggered) window.isClicked = true;
|
|
85
|
+
|
|
86
|
+
if (button.classList.contains('disabled')) return false;
|
|
126
87
|
|
|
127
88
|
buttons.forEach((buttonLoopItem) => {
|
|
128
|
-
|
|
89
|
+
const buttonPressed = buttonLoopItem == button ? true : false;
|
|
129
90
|
buttonLoopItem.setAttribute('aria-pressed', buttonPressed);
|
|
130
91
|
});
|
|
131
92
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
behavior: 'smooth'
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
isScrolled = false;
|
|
93
|
+
buttonWrapper.scroll({
|
|
94
|
+
top: 0,
|
|
95
|
+
left: button.offsetLeft,
|
|
96
|
+
behavior: 'smooth',
|
|
97
|
+
});
|
|
141
98
|
|
|
142
99
|
details.forEach((detail, detailsIndex) => {
|
|
143
|
-
|
|
100
|
+
const detailsOpen = button.getAttribute('data-index') == detailsIndex ? true : false;
|
|
144
101
|
|
|
145
|
-
if(detailsOpen)
|
|
146
|
-
|
|
147
|
-
else
|
|
148
|
-
detail.removeAttribute('open')
|
|
102
|
+
if (detailsOpen) detail.setAttribute('open', detailsOpen);
|
|
103
|
+
else detail.removeAttribute('open');
|
|
149
104
|
});
|
|
150
|
-
|
|
151
|
-
if(button.matches(':last-child')){
|
|
152
|
-
nextButton.setAttribute('disabled','disabled');
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
105
|
+
|
|
106
|
+
if (button.matches(':last-child')) {
|
|
107
|
+
nextButton.setAttribute('disabled', 'disabled');
|
|
108
|
+
} else {
|
|
155
109
|
nextButton.removeAttribute('disabled');
|
|
156
110
|
}
|
|
157
111
|
|
|
158
112
|
// Data layer Open Event
|
|
159
113
|
window.dataLayer = window.dataLayer || [];
|
|
160
114
|
window.dataLayer.push({
|
|
161
|
-
|
|
162
|
-
|
|
115
|
+
event: 'openTab',
|
|
116
|
+
tabTitle: button.textContent,
|
|
163
117
|
});
|
|
164
118
|
});
|
|
119
|
+
});
|
|
165
120
|
|
|
121
|
+
buttonWrapper.addEventListener('scroll', (event) => {
|
|
122
|
+
if (window.isScrolling) return;
|
|
123
|
+
|
|
124
|
+
clearTimeout(scrollTimeout);
|
|
125
|
+
window.isScrolling = true;
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
buttonWrapper.addEventListener('scrollend', (event) => {
|
|
129
|
+
window.isScrolling = false;
|
|
130
|
+
clearTimeout(scrollTimeout);
|
|
131
|
+
|
|
132
|
+
scrollTimeout = setTimeout(function () {
|
|
133
|
+
if (window.isClicked) {
|
|
134
|
+
window.isClicked = false;
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
let buttonToClick = buttons[0];
|
|
139
|
+
let closestOffset = Math.abs(buttonToClick.getBoundingClientRect().left);
|
|
140
|
+
|
|
141
|
+
buttons.forEach((button) => {
|
|
142
|
+
if (Math.abs(button.getBoundingClientRect().left) < closestOffset) {
|
|
143
|
+
closestOffset = Math.abs(button.getBoundingClientRect().left);
|
|
144
|
+
buttonToClick = button;
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
window.triggered = true;
|
|
149
|
+
buttonToClick.focus();
|
|
150
|
+
buttonToClick.click();
|
|
151
|
+
window.triggered = false;
|
|
152
|
+
}, 200);
|
|
166
153
|
});
|
|
167
|
-
|
|
168
|
-
// Make sure we dont loose existing summary functionality
|
|
169
|
-
summaries.forEach((summary, index) => {
|
|
170
|
-
summary.addEventListener("click", (e) => {
|
|
171
154
|
|
|
155
|
+
// Make sure we dont loose existing summary functionality
|
|
156
|
+
summaries.forEach((summary, index) => {
|
|
157
|
+
summary.addEventListener('click', (e) => {
|
|
172
158
|
e.preventDefault();
|
|
173
159
|
buttons[index].click();
|
|
174
160
|
});
|
|
175
161
|
});
|
|
176
162
|
|
|
177
|
-
nextButton.addEventListener(
|
|
163
|
+
nextButton.addEventListener('click', (e) => {
|
|
178
164
|
e.preventDefault();
|
|
179
165
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
if(nextTab)
|
|
183
|
-
nextTab.click();
|
|
166
|
+
const currentTab = buttonWrapper.querySelector('[aria-pressed="true"]');
|
|
167
|
+
const nextTab = currentTab.nextSibling;
|
|
168
|
+
if (nextTab) nextTab.click();
|
|
184
169
|
});
|
|
185
170
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
var touchendX = 0;
|
|
192
|
-
var touchendY = 0;
|
|
171
|
+
if (tabsElement.classList.contains('tabs--guided')) {
|
|
172
|
+
let touchstartX = 0;
|
|
173
|
+
let touchstartY = 0;
|
|
174
|
+
let touchendX = 0;
|
|
175
|
+
let touchendY = 0;
|
|
193
176
|
|
|
194
177
|
details.forEach((detail) => {
|
|
195
|
-
|
|
196
|
-
detail.addEventListener("touchstart", (event) => {
|
|
178
|
+
detail.addEventListener('touchstart', (event) => {
|
|
197
179
|
event.stopPropagation();
|
|
198
180
|
|
|
199
181
|
touchstartX = event.changedTouches[0].screenX;
|
|
200
182
|
touchstartY = event.changedTouches[0].screenY;
|
|
201
183
|
});
|
|
202
184
|
|
|
203
|
-
detail.addEventListener(
|
|
204
|
-
|
|
185
|
+
detail.addEventListener('touchend', (event) => {
|
|
205
186
|
event.stopPropagation();
|
|
206
187
|
touchendX = event.changedTouches[0].screenX;
|
|
207
188
|
touchendY = event.changedTouches[0].screenY;
|
|
208
|
-
|
|
209
|
-
|
|
189
|
+
const direction = getSwipeDirection(touchstartX, touchstartY, touchendX, touchendY);
|
|
190
|
+
const currentTab = buttonWrapper.querySelector('[aria-pressed="true"]');
|
|
191
|
+
const nextTab = currentTab.nextSibling;
|
|
192
|
+
const prevTab = currentTab.previousSibling;
|
|
210
193
|
|
|
211
194
|
switch (direction) {
|
|
212
195
|
case 'left':
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
if(nextTab)
|
|
216
|
-
nextTab.click();
|
|
217
|
-
|
|
196
|
+
if (nextTab) nextTab.click();
|
|
197
|
+
|
|
218
198
|
break;
|
|
219
199
|
case 'right':
|
|
220
|
-
|
|
221
|
-
let prevTab = currentTab.previousSibling;
|
|
222
|
-
if(prevTab)
|
|
223
|
-
prevTab.click();
|
|
200
|
+
if (prevTab) prevTab.click();
|
|
224
201
|
|
|
225
|
-
|
|
202
|
+
break;
|
|
226
203
|
}
|
|
227
204
|
});
|
|
228
205
|
});
|
|
229
206
|
}
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
export const openFirstTab = function(tabsElement: Element){
|
|
233
|
-
|
|
234
|
-
if(!tabsElement.querySelector(':scope > details'))
|
|
235
|
-
return false;
|
|
236
|
-
|
|
237
|
-
let details = tabsElement.querySelectorAll(':scope > details');
|
|
238
|
-
let buttons = tabsElement.shadowRoot.querySelectorAll('.tabs__links > button');
|
|
207
|
+
};
|
|
239
208
|
|
|
209
|
+
export const openFirstTab = function (tabsElement: Element): boolean | void {
|
|
210
|
+
if (!tabsElement.querySelector(':scope > details')) return false;
|
|
240
211
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
212
|
+
const details = tabsElement.querySelectorAll(':scope > details');
|
|
213
|
+
const buttons = tabsElement.shadowRoot.querySelectorAll('.tabs__links > button');
|
|
214
|
+
|
|
215
|
+
if (
|
|
216
|
+
location.hash &&
|
|
217
|
+
tabsElement.shadowRoot.querySelector(`.tabs__links [data-id="${location.hash.replace('#', '')}"]`)
|
|
218
|
+
) {
|
|
219
|
+
tabsElement.shadowRoot
|
|
220
|
+
.querySelector(`[data-id="${location.hash.replace('#', '')}"]`)
|
|
221
|
+
.setAttribute('aria-pressed', true);
|
|
222
|
+
tabsElement.querySelector(`details[id="${location.hash.replace('#', '')}"]`).setAttribute('open', true);
|
|
223
|
+
} else if (!tabsElement.querySelector(`details[open]`)) {
|
|
224
|
+
details[0].setAttribute('open', true);
|
|
225
|
+
buttons[0].setAttribute('aria-pressed', true);
|
|
250
226
|
}
|
|
227
|
+
};
|
|
251
228
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
const tabs = function(tabsElement: Element){
|
|
229
|
+
const tabs = function (tabsElement: Element): void {
|
|
255
230
|
createTabsLinks(tabsElement);
|
|
256
231
|
setTabsEventHandlers(tabsElement);
|
|
257
232
|
openFirstTab(tabsElement);
|
|
258
|
-
}
|
|
233
|
+
};
|
|
259
234
|
|
|
260
|
-
export default tabs
|
|
235
|
+
export default tabs;
|
|
@@ -1,84 +1,79 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var scrollTimeout;
|
|
1
|
+
function testimonial(testimonialElement): boolean | void {
|
|
2
|
+
let scrollTimeout;
|
|
5
3
|
const imagesCarousel = testimonialElement.querySelector('.testimonial__images');
|
|
6
4
|
const itemCount = imagesCarousel.querySelectorAll('img').length;
|
|
7
5
|
|
|
8
6
|
// If we only have 1 item lets not bother doing anything else
|
|
9
|
-
if(itemCount == 1){
|
|
7
|
+
if (itemCount == 1) {
|
|
10
8
|
return false;
|
|
11
9
|
}
|
|
12
10
|
|
|
13
|
-
testimonialElement.classList.add('testimonial--multi')
|
|
11
|
+
testimonialElement.classList.add('testimonial--multi');
|
|
14
12
|
|
|
15
13
|
// Set where the buttons go to
|
|
16
|
-
const setButtons = function(scrollTo){
|
|
17
|
-
|
|
14
|
+
const setButtons = function (scrollTo): void {
|
|
18
15
|
const nextButton = testimonialElement.querySelector('.btn-next');
|
|
19
16
|
const prevButton = testimonialElement.querySelector('.btn-prev');
|
|
20
17
|
|
|
21
|
-
nextButton.setAttribute('data-go',scrollTo+1);
|
|
22
|
-
prevButton.setAttribute('data-go',scrollTo-1);
|
|
23
|
-
nextButton.removeAttribute('disabled')
|
|
24
|
-
prevButton.removeAttribute('disabled')
|
|
18
|
+
nextButton.setAttribute('data-go', scrollTo + 1);
|
|
19
|
+
prevButton.setAttribute('data-go', scrollTo - 1);
|
|
20
|
+
nextButton.removeAttribute('disabled');
|
|
21
|
+
prevButton.removeAttribute('disabled');
|
|
25
22
|
|
|
26
|
-
if(scrollTo == 1)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
nextButton.setAttribute('disabled',true);
|
|
30
|
-
}
|
|
23
|
+
if (scrollTo == 1) prevButton.setAttribute('disabled', true);
|
|
24
|
+
else if (scrollTo == itemCount) nextButton.setAttribute('disabled', true);
|
|
25
|
+
};
|
|
31
26
|
|
|
32
27
|
// On scroll we need to make sure the buttons get corrected and the next testimonial is shown
|
|
33
|
-
imagesCarousel.addEventListener(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
scrollTo = Math.round((scrollDown / scrollHeight) * itemCount) + 1;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
28
|
+
imagesCarousel.addEventListener(
|
|
29
|
+
'scroll',
|
|
30
|
+
function () {
|
|
31
|
+
clearTimeout(scrollTimeout);
|
|
32
|
+
scrollTimeout = setTimeout(function () {
|
|
33
|
+
const scrollWidth = imagesCarousel.scrollWidth;
|
|
34
|
+
const scrollHeight = imagesCarousel.scrollHeight;
|
|
35
|
+
const scrollLeft = imagesCarousel.scrollLeft;
|
|
36
|
+
const scrollDown = imagesCarousel.scrollTop;
|
|
37
|
+
let scrollTo = Math.round((scrollLeft / scrollWidth) * itemCount) + 1;
|
|
38
|
+
|
|
39
|
+
// Change in scroll direction
|
|
40
|
+
if (scrollLeft == 0 && scrollDown != 0) scrollTo = Math.round((scrollDown / scrollHeight) * itemCount) + 1;
|
|
41
|
+
|
|
42
|
+
testimonialElement.setAttribute('data-show', scrollTo);
|
|
43
|
+
setButtons(scrollTo);
|
|
44
|
+
}, 300);
|
|
45
|
+
},
|
|
46
|
+
false
|
|
47
|
+
);
|
|
52
48
|
|
|
53
49
|
// when the buttons are used we need to make sure the carousel scrolls to the correct place
|
|
54
|
-
testimonialElement.addEventListener(
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
break;
|
|
50
|
+
testimonialElement.addEventListener(
|
|
51
|
+
'click',
|
|
52
|
+
function (e) {
|
|
53
|
+
for (let target = e.target; target && target != this; target = target.parentNode) {
|
|
54
|
+
if (target.matches('[data-go]')) {
|
|
55
|
+
const scrollTo = parseInt(target.getAttribute('data-go'));
|
|
56
|
+
let scrollDown = 0;
|
|
57
|
+
let scrollLeft = 0;
|
|
58
|
+
const scrollWidth = imagesCarousel.scrollWidth;
|
|
59
|
+
const scrollHeight = imagesCarousel.scrollHeight;
|
|
60
|
+
|
|
61
|
+
if (scrollWidth > scrollHeight) scrollLeft = Math.floor(scrollWidth * ((scrollTo - 1) / itemCount));
|
|
62
|
+
else scrollDown = Math.floor(scrollHeight * ((scrollTo - 1) / itemCount));
|
|
63
|
+
|
|
64
|
+
// Trigger the scroll
|
|
65
|
+
imagesCarousel.scroll({
|
|
66
|
+
top: scrollDown,
|
|
67
|
+
left: scrollLeft,
|
|
68
|
+
behavior: 'smooth',
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
79
73
|
}
|
|
80
|
-
}
|
|
81
|
-
|
|
74
|
+
},
|
|
75
|
+
false
|
|
76
|
+
);
|
|
82
77
|
}
|
|
83
78
|
|
|
84
|
-
export default testimonial
|
|
79
|
+
export default testimonial;
|
package/assets/ts/scripts.ts
CHANGED
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
// Modules
|
|
3
|
-
import * as helpers from '../js/modules/helpers'
|
|
4
|
-
import extendDialogs from '../js/modules/dialogs'
|
|
5
|
-
import createDataLayer from '../js/modules/data-layer'
|
|
3
|
+
import * as helpers from '../js/modules/helpers';
|
|
4
|
+
import extendDialogs from '../js/modules/dialogs';
|
|
5
|
+
import createDataLayer from '../js/modules/data-layer';
|
|
6
6
|
import extendInputs from '../js/modules/inputs';
|
|
7
|
-
import createDynamicEvents from '../js/modules/dynamicEvents'
|
|
7
|
+
import createDynamicEvents from '../js/modules/dynamicEvents';
|
|
8
8
|
|
|
9
9
|
// Attach classes to dom elements
|
|
10
|
-
document.addEventListener(
|
|
11
|
-
|
|
10
|
+
document.addEventListener('DOMContentLoaded', function () {
|
|
12
11
|
createDataLayer();
|
|
13
12
|
createDynamicEvents();
|
|
14
|
-
|
|
13
|
+
|
|
15
14
|
// Global stuff
|
|
16
15
|
helpers.addBodyClasses(document.body);
|
|
17
16
|
helpers.addGlobalEvents(document.body);
|
|
18
|
-
|
|
17
|
+
|
|
19
18
|
extendDialogs(document.body);
|
|
20
19
|
extendInputs(document.body);
|
|
21
|
-
|
|
22
20
|
});
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
|
-
import '@testing-library/jest-dom'
|
|
3
|
-
import {getChartData} from
|
|
2
|
+
import '@testing-library/jest-dom';
|
|
3
|
+
import { getChartData } from '../modules/chart.module';
|
|
4
4
|
import puppeteer from 'puppeteer';
|
|
5
|
-
import
|
|
5
|
+
import 'expect-puppeteer';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
import iamBarChart from "../components/barchart/barchart.component";
|
|
7
|
+
import iamBarChart from '../components/barchart/barchart.component';
|
|
9
8
|
|
|
10
9
|
describe('The bar chart component', () => {
|
|
10
|
+
if (!window.customElements.get(`iam-barchart`)) window.customElements.define(`iam-barchart`, iamBarChart);
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
window.customElements.define(`iam-barchart`, iamBarChart);
|
|
14
|
-
|
|
15
|
-
document.body.innerHTML = `
|
|
12
|
+
document.body.innerHTML = `
|
|
16
13
|
<iam-barchart>
|
|
17
14
|
<table>
|
|
18
15
|
<thead>
|
|
@@ -39,39 +36,33 @@ document.body.innerHTML = `
|
|
|
39
36
|
</iam-barchart>`;
|
|
40
37
|
|
|
41
38
|
test('should create the min attribute as 0', () => {
|
|
42
|
-
|
|
43
39
|
let component = document.querySelector('iam-barchart');
|
|
44
|
-
let {min} = getChartData(component);
|
|
40
|
+
let { min } = getChartData(component);
|
|
45
41
|
|
|
46
42
|
expect(min).toEqual(0);
|
|
47
43
|
});
|
|
48
44
|
|
|
49
45
|
test('should equal the largest single value', () => {
|
|
50
|
-
|
|
51
46
|
let component = document.querySelector('iam-barchart');
|
|
52
|
-
let {max} = getChartData(component);
|
|
47
|
+
let { max } = getChartData(component);
|
|
53
48
|
|
|
54
49
|
expect(max).toEqual(300);
|
|
55
50
|
});
|
|
56
51
|
|
|
57
52
|
test('should equal the largest single value', () => {
|
|
58
|
-
|
|
59
53
|
let component = document.querySelector('iam-barchart');
|
|
60
|
-
let {max} = getChartData(component);
|
|
54
|
+
let { max } = getChartData(component);
|
|
61
55
|
|
|
62
56
|
expect(max).toEqual(300);
|
|
63
57
|
});
|
|
64
58
|
|
|
65
59
|
test('should have the class of .chart--fit-content added as there is less than 10 bars', () => {
|
|
66
|
-
|
|
67
60
|
let component = document.querySelector('iam-barchart');
|
|
68
|
-
expect(component.classList).toContain(
|
|
61
|
+
expect(component.classList).toContain('chart--fit-content');
|
|
69
62
|
});
|
|
70
63
|
|
|
71
64
|
test('should have the class of .chart--no-scale added as there is less than 5 bars', () => {
|
|
72
|
-
|
|
73
65
|
let component = document.querySelector('iam-barchart');
|
|
74
|
-
expect(component.classList).toContain(
|
|
66
|
+
expect(component.classList).toContain('chart--no-scale');
|
|
75
67
|
});
|
|
76
|
-
|
|
77
68
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
|
-
import '@testing-library/jest-dom'
|
|
3
|
-
import createDataLayer from
|
|
2
|
+
import '@testing-library/jest-dom';
|
|
3
|
+
import createDataLayer from '../modules/data-layer';
|
|
4
4
|
|
|
5
5
|
describe('createDataLayer', () => {
|
|
6
6
|
// Mocking the window object for testing
|
|
@@ -62,8 +62,7 @@ describe('createDataLayer', () => {
|
|
|
62
62
|
detailsTitle: 'Summary Text',
|
|
63
63
|
},
|
|
64
64
|
]);
|
|
65
|
-
|
|
66
65
|
});
|
|
67
66
|
|
|
68
67
|
// More test cases for other scenarios can be added here...
|
|
69
|
-
});
|
|
68
|
+
});
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
|
-
import '@testing-library/jest-dom'
|
|
3
|
-
import { filterTheList } from
|
|
4
|
-
|
|
2
|
+
import '@testing-library/jest-dom';
|
|
3
|
+
import { filterTheList } from '../modules/filterlist';
|
|
5
4
|
|
|
6
5
|
const listHTML = `
|
|
7
6
|
<li class="lead text-primary pb-1">Olivia Anderson</li>
|
|
@@ -15,14 +14,12 @@ const listHTML = `
|
|
|
15
14
|
`;
|
|
16
15
|
|
|
17
16
|
describe('addDataAttributes', () => {
|
|
18
|
-
|
|
19
17
|
let list = document.createElement('div');
|
|
20
18
|
list.innerHTML = listHTML;
|
|
21
19
|
|
|
22
|
-
filterTheList(list,
|
|
20
|
+
filterTheList(list, 'Lucas');
|
|
23
21
|
|
|
24
22
|
test('should add a class of d-none to each item except the one containing Lucas Myers', () => {
|
|
25
|
-
|
|
26
23
|
expect(list.querySelectorAll('li:not(.d-none)').length).toEqual(1);
|
|
27
24
|
expect(list.querySelector('li:not(.d-none)').textContent).toEqual('Lucas Myers');
|
|
28
25
|
});
|