@iamproperty/components 7.7.1--beta14 → 7.7.1--beta16
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 +25 -2
- package/assets/css/components/actionbar.component.css +1 -1
- package/assets/css/components/actionbar.component.css.map +1 -1
- package/assets/css/components/address-lookup.component.css +1 -1
- package/assets/css/components/address-lookup.component.css.map +1 -1
- package/assets/css/components/advanced-select.component.css +1 -0
- package/assets/css/components/advanced-select.component.css.map +1 -0
- package/assets/css/components/applied-filters.css +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/bento-grid.global.css +1 -1
- package/assets/css/components/bento-grid.global.css.map +1 -1
- package/assets/css/components/button.component.css +1 -0
- package/assets/css/components/button.component.css.map +1 -0
- package/assets/css/components/calendar.component.css +1 -1
- package/assets/css/components/calendar.component.css.map +1 -1
- package/assets/css/components/calendar.config.css +1 -1
- package/assets/css/components/calendar.config.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 +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 +1 -1
- package/assets/css/components/carousel.config.css.map +1 -1
- package/assets/css/components/charts.config.css +1 -1
- package/assets/css/components/charts.config.css.map +1 -1
- package/assets/css/components/collapsible-side.css +1 -1
- package/assets/css/components/collapsible-side.css.map +1 -1
- package/assets/css/components/config.component.css +1 -1
- package/assets/css/components/config.component.css.map +1 -1
- package/assets/css/components/content.component.css +1 -1
- package/assets/css/components/content.component.css.map +1 -1
- package/assets/css/components/doughnutchart.component.css +1 -1
- package/assets/css/components/doughnutchart.component.css.map +1 -1
- package/assets/css/components/fileupload.css +1 -1
- package/assets/css/components/fileupload.css.map +1 -1
- package/assets/css/components/filter-card.component.css +1 -1
- package/assets/css/components/filter-card.component.css.map +1 -1
- package/assets/css/components/header.component.css +1 -1
- package/assets/css/components/header.component.css.map +1 -1
- package/assets/css/components/input.component.css +1 -1
- package/assets/css/components/input.component.css.map +1 -1
- package/assets/css/components/menu.component.css +1 -1
- package/assets/css/components/menu.component.css.map +1 -1
- package/assets/css/components/menu.global.css +1 -1
- package/assets/css/components/menu.global.css.map +1 -1
- package/assets/css/components/milestone.css +1 -1
- package/assets/css/components/milestone.css.map +1 -1
- package/assets/css/components/modal.component.css +1 -1
- package/assets/css/components/modal.component.css.map +1 -1
- package/assets/css/components/multi-step-modal.component.css +1 -1
- package/assets/css/components/multi-step-modal.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/nav.component.css +1 -1
- package/assets/css/components/nav.component.css.map +1 -1
- package/assets/css/components/nav.docs.css +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/notification.css +1 -1
- package/assets/css/components/notification.css.map +1 -1
- package/assets/css/components/pagination.css +1 -1
- package/assets/css/components/pagination.css.map +1 -1
- package/assets/css/components/password.component.css +1 -1
- package/assets/css/components/password.component.css.map +1 -1
- package/assets/css/components/popover.component.css +1 -1
- package/assets/css/components/popover.component.css.map +1 -1
- package/assets/css/components/rank.component.css +1 -1
- package/assets/css/components/rank.component.css.map +1 -1
- package/assets/css/components/rankings.component.css +1 -1
- package/assets/css/components/rankings.component.css.map +1 -1
- package/assets/css/components/rankings.global.css +1 -1
- package/assets/css/components/rankings.global.css.map +1 -1
- package/assets/css/components/record-card.component.css +1 -1
- package/assets/css/components/record-card.component.css.map +1 -1
- package/assets/css/components/search.component.css +1 -0
- package/assets/css/components/search.component.css.map +1 -0
- package/assets/css/components/slider.css +1 -1
- package/assets/css/components/slider.css.map +1 -1
- package/assets/css/components/split-button.component.css +1 -1
- package/assets/css/components/split-button.component.css.map +1 -1
- package/assets/css/components/std-nav-standalone.component.css +1 -0
- package/assets/css/components/std-nav-standalone.component.css.map +1 -0
- package/assets/css/components/table-basic.global.css +1 -1
- package/assets/css/components/table-basic.global.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.component.css +1 -1
- package/assets/css/components/tabs.component.css.map +1 -1
- package/assets/css/components/tabs.config.css +1 -1
- package/assets/css/components/tabs.config.css.map +1 -1
- package/assets/css/components/tag.component.css +1 -1
- package/assets/css/components/tag.component.css.map +1 -1
- package/assets/css/components/video-card.component.css +1 -1
- package/assets/css/components/video-card.component.css.map +1 -1
- package/assets/css/components/video-modal.component.css +1 -1
- package/assets/css/components/video-modal.component.css.map +1 -1
- package/assets/css/components/video.component.css +1 -1
- package/assets/css/components/video.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/elements/badge-tag.css +1 -1
- package/assets/css/elements/badge-tag.css.map +1 -1
- package/assets/css/elements/buttons--global.css +1 -1
- package/assets/css/elements/buttons--global.css.map +1 -1
- package/assets/css/elements/buttons--special.css +1 -1
- package/assets/css/elements/buttons--special.css.map +1 -1
- package/assets/css/elements/buttons.css +1 -1
- package/assets/css/elements/buttons.css.map +1 -1
- package/assets/css/elements/container.css +1 -1
- package/assets/css/elements/container.css.map +1 -1
- package/assets/css/elements/details.css +1 -1
- package/assets/css/elements/details.css.map +1 -1
- package/assets/css/elements/dialog.css +1 -1
- package/assets/css/elements/dialog.css.map +1 -1
- package/assets/css/elements/dropdown.css +1 -1
- package/assets/css/elements/dropdown.css.map +1 -1
- package/assets/css/elements/forms.css +1 -1
- package/assets/css/elements/forms.css.map +1 -1
- package/assets/css/elements/input.css +1 -1
- package/assets/css/elements/input.css.map +1 -1
- package/assets/css/elements/links--collapsible-side.css +1 -1
- package/assets/css/elements/links--collapsible-side.css.map +1 -1
- package/assets/css/elements/links--global.css +1 -1
- package/assets/css/elements/links--global.css.map +1 -1
- package/assets/css/elements/links.css +1 -1
- package/assets/css/elements/links.css.map +1 -1
- package/assets/css/elements/lists--tick-list.css +1 -1
- package/assets/css/elements/lists--tick-list.css.map +1 -1
- package/assets/css/elements/modal.css +1 -1
- package/assets/css/elements/modal.css.map +1 -1
- package/assets/css/elements/popover.css +1 -1
- package/assets/css/elements/popover.css.map +1 -1
- package/assets/css/elements/prefix.css +1 -1
- package/assets/css/elements/prefix.css.map +1 -1
- package/assets/css/elements/select.css +1 -0
- package/assets/css/elements/select.css.map +1 -0
- package/assets/css/elements/tooltips.css +1 -1
- package/assets/css/elements/tooltips.css.map +1 -1
- package/assets/css/elements/type.css +1 -1
- package/assets/css/elements/type.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/accordion/accordion.component.min.js +1 -1
- package/assets/js/components/actionbar/actionbar.component.js +5 -3
- package/assets/js/components/actionbar/actionbar.component.min.js +10 -8
- package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.js +12 -6
- package/assets/js/components/address-lookup/address-lookup.component.min.js +9 -7
- package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
- package/assets/js/components/advanced-select/advanced-select.component.js +8 -17
- package/assets/js/components/advanced-select/advanced-select.component.min.js +7 -17
- package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +3 -3
- package/assets/js/components/barchart/barchart.component.min.js +5 -5
- package/assets/js/components/bento-grid/bento-grid.component.min.js +2 -2
- package/assets/js/components/button/button.component.js +49 -0
- package/assets/js/components/button/button.component.min.js +13 -0
- package/assets/js/components/button/button.component.min.js.map +1 -0
- package/assets/js/components/calendar/calendar.component.min.js +5 -5
- package/assets/js/components/card/card.component.min.js +21 -19
- package/assets/js/components/card/card.component.min.js.map +1 -1
- package/assets/js/components/carousel/carousel.component.js +144 -52
- package/assets/js/components/carousel/carousel.component.min.js +15 -21
- package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +3 -3
- package/assets/js/components/config/config.component.min.js +8 -8
- package/assets/js/components/content/content.component.js +21 -5
- package/assets/js/components/content/content.component.min.js +5 -7
- package/assets/js/components/content/content.component.min.js.map +1 -1
- package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
- package/assets/js/components/doughnutchart/doughnutchart.component.min.js +7 -7
- package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -1
- package/assets/js/components/fileupload/fileupload.component.min.js +4 -4
- package/assets/js/components/filter-card/filter-card.component.min.js +20 -18
- package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
- package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
- package/assets/js/components/form/form.component.min.js +1 -1
- package/assets/js/components/header/header.component.min.js +2 -2
- package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
- package/assets/js/components/input/input.component.min.js +2 -2
- package/assets/js/components/input-range/input-range.component.min.js +1 -1
- package/assets/js/components/marketing/marketing.component.min.js +1 -1
- package/assets/js/components/menu/menu.component.js +1 -0
- package/assets/js/components/menu/menu.component.min.js +3 -3
- package/assets/js/components/menu/menu.component.min.js.map +1 -1
- package/assets/js/components/milestone/milestone.component.min.js +1 -1
- package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
- package/assets/js/components/modal/modal.component.min.js +4 -4
- package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
- package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +4 -4
- package/assets/js/components/multiselect/multiselect.component.min.js +4 -4
- package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
- package/assets/js/components/nav/nav.component.js +4 -3
- package/assets/js/components/nav/nav.component.min.js +6 -6
- package/assets/js/components/nav/nav.component.min.js.map +1 -1
- package/assets/js/components/notification/notification.component.min.js +2 -2
- package/assets/js/components/pagination/pagination.component.min.js +4 -4
- package/assets/js/components/password/password.component.min.js +5 -5
- package/assets/js/components/popover/popover.component.min.js +4 -4
- package/assets/js/components/rank/rank.component.min.js +1 -1
- package/assets/js/components/rankings/rankings.component.min.js +3 -3
- package/assets/js/components/rating/rating.component.min.js +1 -1
- package/assets/js/components/record-card/record-card.component.min.js +18 -16
- package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
- package/assets/js/components/search/search.component.js +9 -13
- package/assets/js/components/search/search.component.min.js +9 -18
- package/assets/js/components/search/search.component.min.js.map +1 -1
- package/assets/js/components/slider/slider.component.min.js +3 -3
- package/assets/js/components/split-button/split-button.component.js +1 -1
- package/assets/js/components/split-button/split-button.component.min.js +6 -6
- package/assets/js/components/split-button/split-button.component.min.js.map +1 -1
- package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +11 -9
- package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
- package/assets/js/components/std-nav/std-nav.component.js +179 -0
- package/assets/js/components/std-nav/std-nav.component.min.js +66 -0
- package/assets/js/components/std-nav/std-nav.component.min.js.map +1 -0
- package/assets/js/components/std-nav-standalone/std-nav-standalone.component.js +60 -0
- package/assets/js/components/std-nav-standalone/std-nav-standalone.component.min.js +20 -0
- package/assets/js/components/std-nav-standalone/std-nav-standalone.component.min.js.map +1 -0
- package/assets/js/components/table/table.component.min.js +6 -6
- package/assets/js/components/table/table.component.min.js.map +1 -1
- package/assets/js/components/table-ajax/table-ajax.component.min.js +7 -7
- package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
- package/assets/js/components/table-basic/table-basic.component.min.js +2 -2
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js +4 -4
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
- package/assets/js/components/table-submit/table-submit.component.min.js +6 -6
- package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
- package/assets/js/components/tabs/tabs.component.min.js +4 -4
- package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
- package/assets/js/components/tag/tag.component.min.js +3 -3
- package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
- package/assets/js/components/video/video.component.min.js +5 -5
- package/assets/js/components/video-card/video-card.component.min.js +18 -16
- package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
- package/assets/js/components/video-modal/video-modal.component.min.js +2 -2
- package/assets/js/components/word-count/word-count.component.min.js +1 -1
- package/assets/js/modules/advanced-select.js +30 -4
- package/assets/js/modules/card.module.js +16 -14
- package/assets/js/modules/carousel.js +11 -11
- package/assets/js/modules/nav.js +78 -0
- package/assets/js/modules/tabs.js +9 -1
- package/assets/js/scripts.bundle.js +1 -1
- package/assets/js/scripts.bundle.min.js +1 -1
- package/assets/sass/_corefiles.scss +1 -0
- package/assets/sass/_utilities.scss +1 -0
- package/assets/sass/components/actionbar.component.scss +15 -1
- package/assets/sass/components/address-lookup.component.scss +134 -2
- package/assets/sass/components/advanced-select.component.scss +59 -0
- package/assets/sass/components/bento-grid.global.scss +2 -2
- package/assets/sass/components/button.component.scss +5 -0
- package/assets/sass/components/calendar.component.scss +1 -1
- package/assets/sass/components/calendar.config.scss +1 -1
- package/assets/sass/components/card.component.scss +2 -2
- package/assets/sass/components/card.module.scss +8 -3
- package/assets/sass/components/carousel.component.scss +522 -519
- package/assets/sass/components/carousel.config.scss +4 -44
- package/assets/sass/components/charts.config.scss +1 -1
- package/assets/sass/components/config.component.scss +1 -1
- package/assets/sass/components/filter-card.component.scss +5 -5
- package/assets/sass/components/header.component.scss +1 -1
- package/assets/sass/components/menu.component.scss +21 -16
- package/assets/sass/components/menu.global.scss +7 -11
- package/assets/sass/components/milestone.scss +2 -2
- package/assets/sass/components/modal.component.scss +1 -0
- package/assets/sass/components/multiselect.scss +8 -0
- package/assets/sass/components/nav.component.scss +21 -10
- package/assets/sass/components/nav.docs.scss +1 -2
- package/assets/sass/components/nav.global.scss +174 -45
- package/assets/sass/components/pagination.scss +2 -2
- package/assets/sass/components/popover.component.scss +37 -2
- package/assets/sass/components/search.component.scss +2 -0
- package/assets/sass/components/split-button.component.scss +3 -1
- package/assets/sass/components/std-nav-standalone.component.scss +228 -0
- package/assets/sass/components/table-basic.global.scss +3 -3
- package/assets/sass/components/table.global.scss +1 -1
- package/assets/sass/components/tabs.config.scss +2 -2
- package/assets/sass/components/video.component.scss +1 -1
- package/assets/sass/elements/badge-tag.css +6 -2
- package/assets/sass/elements/buttons--global.css +4 -4
- package/assets/sass/elements/buttons--special.css +2 -53
- package/assets/sass/elements/container.scss +1 -1
- package/assets/sass/elements/details.css +3 -3
- package/assets/sass/elements/dialog.scss +9 -5
- package/assets/sass/elements/dropdown.css +188 -44
- package/assets/sass/elements/forms.scss +36 -522
- package/assets/sass/elements/input.scss +0 -7
- package/assets/sass/elements/links--collapsible-side.scss +1 -1
- package/assets/sass/elements/links--global.scss +5 -1
- package/assets/sass/elements/lists--tick-list.scss +2 -2
- package/assets/sass/elements/modal.scss +1 -1
- package/assets/sass/elements/popover.scss +1 -1
- package/assets/sass/elements/prefix.scss +1 -1
- package/assets/sass/elements/select.scss +238 -0
- package/assets/sass/elements/tooltips.scss +1 -1
- package/assets/sass/elements/type.css +10 -0
- package/assets/sass/email.scss +1 -1
- package/assets/sass/error.scss +0 -1
- package/assets/sass/foundations/colours.scss +0 -1
- package/assets/sass/foundations/debug.scss +6 -0
- package/assets/sass/foundations/reboot.scss +81 -1
- package/assets/sass/foundations/root.scss +20 -2
- package/assets/sass/main.scss +0 -1
- package/assets/sass/{_grid.scss → utilities/grid.scss} +120 -80
- package/assets/ts/components/actionbar/actionbar.component.ts +5 -3
- package/assets/ts/components/address-lookup/address-lookup.component.ts +18 -6
- package/assets/ts/components/advanced-select/advanced-select.component.ts +12 -17
- package/assets/ts/components/button/button.component.ts +66 -0
- package/assets/ts/components/carousel/carousel.component.ts +189 -58
- package/assets/ts/components/content/content.component.ts +33 -5
- package/assets/ts/components/menu/menu.component.ts +4 -0
- package/assets/ts/components/nav/nav.component.ts +5 -7
- package/assets/ts/components/search/search.component.ts +14 -13
- package/assets/ts/components/split-button/split-button.component.ts +1 -1
- package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +0 -1
- package/assets/ts/components/std-nav/std-nav.component.ts +235 -0
- package/assets/ts/components/std-nav-standalone/std-nav-standalone.component.ts +76 -0
- package/assets/ts/modules/advanced-select.ts +47 -7
- package/assets/ts/modules/card.module.ts +16 -14
- package/assets/ts/modules/carousel.ts +11 -11
- package/assets/ts/modules/nav.ts +91 -0
- package/assets/ts/modules/tabs.ts +10 -1
- package/dist/components.es.js +27 -27
- package/dist/components.umd.js +343 -272
- package/package.json +11 -10
- package/src/components/Button/Button.vue +20 -0
- package/src/components/STDNav/STDNav.vue +22 -0
- package/src/components/STDNavStandalone/STDNavStandalone.vue +22 -0
- package/assets/bootstrap/LICENSE +0 -22
- package/assets/bootstrap/README.md +0 -247
- package/assets/bootstrap/js/index.esm.js +0 -19
- package/assets/bootstrap/js/index.umd.js +0 -34
- package/assets/bootstrap/js/src/alert.js +0 -87
- package/assets/bootstrap/js/src/base-component.js +0 -85
- package/assets/bootstrap/js/src/button.js +0 -72
- package/assets/bootstrap/js/src/carousel.js +0 -475
- package/assets/bootstrap/js/src/collapse.js +0 -302
- package/assets/bootstrap/js/src/dom/data.js +0 -55
- package/assets/bootstrap/js/src/dom/event-handler.js +0 -320
- package/assets/bootstrap/js/src/dom/manipulator.js +0 -71
- package/assets/bootstrap/js/src/dom/selector-engine.js +0 -83
- package/assets/bootstrap/js/src/dropdown.js +0 -445
- package/assets/bootstrap/js/src/modal.js +0 -373
- package/assets/bootstrap/js/src/offcanvas.js +0 -283
- package/assets/bootstrap/js/src/popover.js +0 -97
- package/assets/bootstrap/js/src/scrollspy.js +0 -290
- package/assets/bootstrap/js/src/tab.js +0 -307
- package/assets/bootstrap/js/src/toast.js +0 -220
- package/assets/bootstrap/js/src/tooltip.js +0 -651
- package/assets/bootstrap/js/src/util/backdrop.js +0 -149
- package/assets/bootstrap/js/src/util/component-functions.js +0 -34
- package/assets/bootstrap/js/src/util/config.js +0 -66
- package/assets/bootstrap/js/src/util/focustrap.js +0 -115
- package/assets/bootstrap/js/src/util/index.js +0 -336
- package/assets/bootstrap/js/src/util/sanitizer.js +0 -118
- package/assets/bootstrap/js/src/util/scrollbar.js +0 -114
- package/assets/bootstrap/js/src/util/swipe.js +0 -146
- package/assets/bootstrap/js/src/util/template-factory.js +0 -160
- package/assets/bootstrap/package.json +0 -180
- package/assets/bootstrap/scss/_accordion.scss +0 -146
- package/assets/bootstrap/scss/_alert.scss +0 -71
- package/assets/bootstrap/scss/_badge.scss +0 -38
- package/assets/bootstrap/scss/_breadcrumb.scss +0 -40
- package/assets/bootstrap/scss/_button-group.scss +0 -142
- package/assets/bootstrap/scss/_buttons.scss +0 -186
- package/assets/bootstrap/scss/_card.scss +0 -234
- package/assets/bootstrap/scss/_carousel.scss +0 -229
- package/assets/bootstrap/scss/_close.scss +0 -40
- package/assets/bootstrap/scss/_containers.scss +0 -41
- package/assets/bootstrap/scss/_dropdown.scss +0 -248
- package/assets/bootstrap/scss/_forms.scss +0 -9
- package/assets/bootstrap/scss/_functions.scss +0 -302
- package/assets/bootstrap/scss/_grid.scss +0 -33
- package/assets/bootstrap/scss/_helpers.scss +0 -10
- package/assets/bootstrap/scss/_images.scss +0 -42
- package/assets/bootstrap/scss/_list-group.scss +0 -191
- package/assets/bootstrap/scss/_maps.scss +0 -54
- package/assets/bootstrap/scss/_mixins.scss +0 -43
- package/assets/bootstrap/scss/_modal.scss +0 -237
- package/assets/bootstrap/scss/_nav.scss +0 -172
- package/assets/bootstrap/scss/_navbar.scss +0 -276
- package/assets/bootstrap/scss/_offcanvas.scss +0 -143
- package/assets/bootstrap/scss/_pagination.scss +0 -109
- package/assets/bootstrap/scss/_placeholders.scss +0 -51
- package/assets/bootstrap/scss/_popover.scss +0 -196
- package/assets/bootstrap/scss/_progress.scss +0 -59
- package/assets/bootstrap/scss/_reboot.scss +0 -610
- package/assets/bootstrap/scss/_root.scss +0 -73
- package/assets/bootstrap/scss/_spinners.scss +0 -85
- package/assets/bootstrap/scss/_tables.scss +0 -164
- package/assets/bootstrap/scss/_toasts.scss +0 -70
- package/assets/bootstrap/scss/_tooltip.scss +0 -120
- package/assets/bootstrap/scss/_transitions.scss +0 -27
- package/assets/bootstrap/scss/_type.scss +0 -106
- package/assets/bootstrap/scss/_utilities.scss +0 -647
- package/assets/bootstrap/scss/_variables-dark.scss +0 -87
- package/assets/bootstrap/scss/_variables.scss +0 -1633
- package/assets/bootstrap/scss/bootstrap-grid.scss +0 -64
- package/assets/bootstrap/scss/bootstrap-reboot.scss +0 -9
- package/assets/bootstrap/scss/bootstrap-utilities.scss +0 -15
- package/assets/bootstrap/scss/bootstrap.scss +0 -51
- package/assets/bootstrap/scss/forms/_floating-labels.scss +0 -74
- package/assets/bootstrap/scss/forms/_form-check.scss +0 -175
- package/assets/bootstrap/scss/forms/_form-control.scss +0 -194
- package/assets/bootstrap/scss/forms/_form-range.scss +0 -91
- package/assets/bootstrap/scss/forms/_form-select.scss +0 -71
- package/assets/bootstrap/scss/forms/_form-text.scss +0 -11
- package/assets/bootstrap/scss/forms/_input-group.scss +0 -129
- package/assets/bootstrap/scss/forms/_labels.scss +0 -36
- package/assets/bootstrap/scss/forms/_validation.scss +0 -12
- package/assets/bootstrap/scss/helpers/_clearfix.scss +0 -3
- package/assets/bootstrap/scss/helpers/_color-bg.scss +0 -10
- package/assets/bootstrap/scss/helpers/_colored-links.scss +0 -12
- package/assets/bootstrap/scss/helpers/_focus-ring.scss +0 -5
- package/assets/bootstrap/scss/helpers/_icon-link.scss +0 -25
- package/assets/bootstrap/scss/helpers/_position.scss +0 -36
- package/assets/bootstrap/scss/helpers/_ratio.scss +0 -26
- package/assets/bootstrap/scss/helpers/_stacks.scss +0 -15
- package/assets/bootstrap/scss/helpers/_stretched-link.scss +0 -15
- package/assets/bootstrap/scss/helpers/_text-truncation.scss +0 -7
- package/assets/bootstrap/scss/helpers/_visually-hidden.scss +0 -8
- package/assets/bootstrap/scss/helpers/_vr.scss +0 -8
- package/assets/bootstrap/scss/mixins/_alert.scss +0 -15
- package/assets/bootstrap/scss/mixins/_backdrop.scss +0 -14
- package/assets/bootstrap/scss/mixins/_banner.scss +0 -9
- package/assets/bootstrap/scss/mixins/_border-radius.scss +0 -78
- package/assets/bootstrap/scss/mixins/_box-shadow.scss +0 -18
- package/assets/bootstrap/scss/mixins/_breakpoints.scss +0 -127
- package/assets/bootstrap/scss/mixins/_buttons.scss +0 -70
- package/assets/bootstrap/scss/mixins/_caret.scss +0 -64
- package/assets/bootstrap/scss/mixins/_clearfix.scss +0 -9
- package/assets/bootstrap/scss/mixins/_color-mode.scss +0 -21
- package/assets/bootstrap/scss/mixins/_color-scheme.scss +0 -7
- package/assets/bootstrap/scss/mixins/_container.scss +0 -11
- package/assets/bootstrap/scss/mixins/_deprecate.scss +0 -10
- package/assets/bootstrap/scss/mixins/_forms.scss +0 -152
- package/assets/bootstrap/scss/mixins/_gradients.scss +0 -47
- package/assets/bootstrap/scss/mixins/_grid.scss +0 -151
- package/assets/bootstrap/scss/mixins/_image.scss +0 -16
- package/assets/bootstrap/scss/mixins/_list-group.scss +0 -24
- package/assets/bootstrap/scss/mixins/_lists.scss +0 -7
- package/assets/bootstrap/scss/mixins/_pagination.scss +0 -10
- package/assets/bootstrap/scss/mixins/_reset-text.scss +0 -17
- package/assets/bootstrap/scss/mixins/_resize.scss +0 -6
- package/assets/bootstrap/scss/mixins/_table-variants.scss +0 -24
- package/assets/bootstrap/scss/mixins/_text-truncate.scss +0 -8
- package/assets/bootstrap/scss/mixins/_transition.scss +0 -26
- package/assets/bootstrap/scss/mixins/_utilities.scss +0 -97
- package/assets/bootstrap/scss/mixins/_visually-hidden.scss +0 -29
- package/assets/bootstrap/scss/utilities/_api.scss +0 -47
- package/assets/bootstrap/scss/vendor/_rfs.scss +0 -354
- package/assets/favicons/README.md +0 -21
- package/assets/ts/README.md +0 -12
- package/assets/ts/components/actionbar/README.md +0 -56
- package/assets/ts/components/applied-filters/README.md +0 -20
- package/assets/ts/components/bento-grid/README.md +0 -31
- package/assets/ts/components/carousel/README.md +0 -38
- package/assets/ts/components/chart/README.md +0 -35
- package/assets/ts/components/collapsible-side/README.md +0 -38
- package/assets/ts/components/filterlist/README.md +0 -32
- package/assets/ts/components/header/README.md +0 -38
- package/assets/ts/components/inline-edit/README.md +0 -31
- package/assets/ts/components/multiselect/README.md +0 -35
- package/assets/ts/components/nav/README.md +0 -57
- package/assets/ts/components/notification/README.md +0 -47
- package/assets/ts/components/pagination/README.md +0 -37
- package/assets/ts/components/search/README.md +0 -35
- package/assets/ts/components/slider/README.md +0 -26
- package/assets/ts/components/table/README.md +0 -40
- package/assets/ts/components/table-basic/README.md +0 -40
- package/assets/ts/components/tabs/README.md +0 -34
- package/src/components/Accordion/README.md +0 -31
- package/src/components/Actionbar/README.md +0 -41
- package/src/components/AppliedFilters/README.md +0 -5
- package/src/components/Banner/README.md +0 -22
- package/src/components/Card/README.md +0 -24
- package/src/components/Carousel/README.md +0 -20
- package/src/components/Chart/README.md +0 -17
- package/src/components/CollapsibleSideMenu/README.md +0 -23
- package/src/components/FileUpload/README.md +0 -13
- package/src/components/Filterlist/README.md +0 -17
- package/src/components/Header/README.md +0 -27
- package/src/components/InlineEdit/README.md +0 -7
- package/src/components/Input/README.md +0 -17
- package/src/components/Marketing/README.md +0 -20
- package/src/components/Multiselect/README.md +0 -12
- package/src/components/Nav/README.md +0 -42
- package/src/components/Nav-old/README.md +0 -22
- package/src/components/NoteFeed/README.md +0 -16
- package/src/components/Notification/README.md +0 -32
- package/src/components/Pagination/README.md +0 -22
- package/src/components/PropertySearchbar/README.md +0 -25
- package/src/components/Search/README.md +0 -11
- package/src/components/Slider/README.md +0 -11
- package/src/components/Snapshot/README.md +0 -20
- package/src/components/SplitButton/README.md +0 -19
- package/src/components/Stepper/README.md +0 -32
- package/src/components/Table/README.md +0 -49
- package/src/components/Tabs/README.md +0 -29
- package/src/components/Testimonial/README.md +0 -25
- package/src/components/Timeline/README.md +0 -18
- package/src/foundations/Logo/README.md +0 -21
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
function advancedSelect(advancedSelect, displayInputField, datalist, isSearch = false) {
|
|
2
|
+
var _a, _b, _c;
|
|
2
3
|
let currentFocus = -1;
|
|
3
4
|
const datalistWrapper = datalist.closest('.datalist__wrapper') ? datalist.closest('.datalist__wrapper') : datalist;
|
|
5
|
+
datalistWrapper.setAttribute('slot', 'datalist');
|
|
6
|
+
if (advancedSelect.querySelector('.suffix')) {
|
|
7
|
+
(_a = advancedSelect.querySelector('.suffix')) === null || _a === void 0 ? void 0 : _a.setAttribute('slot', 'suffix');
|
|
8
|
+
(_b = advancedSelect.shadowRoot.querySelector('.suffix')) === null || _b === void 0 ? void 0 : _b.innerHTML = '<slot name="suffix"></slot>';
|
|
9
|
+
(_c = advancedSelect.shadowRoot.querySelector('.suffix')) === null || _c === void 0 ? void 0 : _c.classList = "";
|
|
10
|
+
}
|
|
4
11
|
// Hide the default datalist
|
|
5
12
|
displayInputField.setAttribute('data-list', displayInputField.getAttribute('list'));
|
|
6
13
|
displayInputField.setAttribute('list', '');
|
|
@@ -8,6 +15,17 @@ function advancedSelect(advancedSelect, displayInputField, datalist, isSearch =
|
|
|
8
15
|
displayInputField.setAttribute('data-placeholder', displayInputField.getAttribute('placeholder'));
|
|
9
16
|
if (displayInputField.hasAttribute('placeholder'))
|
|
10
17
|
displayInputField.setAttribute('data-original-placeholder', displayInputField.getAttribute('placeholder'));
|
|
18
|
+
const checkIfEmpty = () => {
|
|
19
|
+
if (displayInputField.value == "") {
|
|
20
|
+
advancedSelect.classList.add('has-empty-input');
|
|
21
|
+
displayInputField.classList.add('empty');
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
advancedSelect.classList.remove('has-empty-input');
|
|
25
|
+
displayInputField.classList.remove('empty');
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
checkIfEmpty();
|
|
11
29
|
displayInputField.addEventListener('focus', function () {
|
|
12
30
|
if (displayInputField.value != "") {
|
|
13
31
|
displayInputField.setAttribute('placeholder', displayInputField.value);
|
|
@@ -47,6 +65,7 @@ function advancedSelect(advancedSelect, displayInputField, datalist, isSearch =
|
|
|
47
65
|
optionInner.classList.remove('active');
|
|
48
66
|
}
|
|
49
67
|
option.classList.add('active');
|
|
68
|
+
checkIfEmpty();
|
|
50
69
|
setTimeout(() => {
|
|
51
70
|
advancedSelect.dispatchEvent(new CustomEvent('update-value', {
|
|
52
71
|
detail: {
|
|
@@ -60,6 +79,7 @@ function advancedSelect(advancedSelect, displayInputField, datalist, isSearch =
|
|
|
60
79
|
displayInputField.addEventListener('input', function () {
|
|
61
80
|
displayInputField.removeAttribute('data-value');
|
|
62
81
|
currentFocus = -1;
|
|
82
|
+
checkIfEmpty();
|
|
63
83
|
if (advancedSelect.tagName != "IAM-ADDRESS-LOOKUP") {
|
|
64
84
|
const text = displayInputField.value.toUpperCase();
|
|
65
85
|
for (const option of datalist.options) {
|
|
@@ -111,9 +131,13 @@ function advancedSelect(advancedSelect, displayInputField, datalist, isSearch =
|
|
|
111
131
|
}
|
|
112
132
|
}
|
|
113
133
|
// Add the empty button
|
|
114
|
-
displayInputField
|
|
115
|
-
.closest('
|
|
116
|
-
|
|
134
|
+
if (displayInputField.closest('.input__wrapper')) {
|
|
135
|
+
displayInputField.closest('.input__wrapper').insertAdjacentHTML('beforeend', '<button class="clear-search btn btn-action" type="button"><i class="fa-light fa-times me-0"></i></button>');
|
|
136
|
+
}
|
|
137
|
+
else if (advancedSelect.shadowRoot.querySelector('.input__wrapper')) {
|
|
138
|
+
console.log(advancedSelect.shadowRoot.querySelector('.input__wrapper'));
|
|
139
|
+
advancedSelect.shadowRoot.querySelector('.input__wrapper').insertAdjacentHTML('beforeend', '<button class="clear-search btn btn-action" type="button"><i class="fa-light fa-times me-0"></i></button>');
|
|
140
|
+
}
|
|
117
141
|
const emptyField = () => {
|
|
118
142
|
const originalInput = advancedSelect.querySelector('input[type="hidden"]');
|
|
119
143
|
if (originalInput) {
|
|
@@ -125,6 +149,7 @@ function advancedSelect(advancedSelect, displayInputField, datalist, isSearch =
|
|
|
125
149
|
displayInputField.setAttribute('placeholder', displayInputField.getAttribute('data-original-placeholder'));
|
|
126
150
|
displayInputField.removeAttribute('data-value');
|
|
127
151
|
displayInputField.value = '';
|
|
152
|
+
displayInputField.classList.add('empty');
|
|
128
153
|
for (const optionInner of datalist.options) {
|
|
129
154
|
optionInner.classList.remove('active');
|
|
130
155
|
optionInner.classList.remove('hide');
|
|
@@ -139,8 +164,9 @@ function advancedSelect(advancedSelect, displayInputField, datalist, isSearch =
|
|
|
139
164
|
text: '',
|
|
140
165
|
},
|
|
141
166
|
}));
|
|
167
|
+
checkIfEmpty();
|
|
142
168
|
};
|
|
143
|
-
const closeBtn = advancedSelect.querySelector('.
|
|
169
|
+
const closeBtn = advancedSelect.querySelector('.clear-search') ? advancedSelect.querySelector('.clear-search') : advancedSelect.shadowRoot.querySelector('.clear-search');
|
|
144
170
|
closeBtn.addEventListener('click', function (e) {
|
|
145
171
|
emptyField();
|
|
146
172
|
});
|
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
export const cardHTML = `<div class="
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
<
|
|
6
|
-
<
|
|
7
|
-
<
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
<
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
<
|
|
1
|
+
export const cardHTML = `<div class="wrapper">
|
|
2
|
+
<div class="card__head" part="head">
|
|
3
|
+
<slot name="head"></slot>
|
|
4
|
+
</div>
|
|
5
|
+
<div class="card__badges"><slot name="badges"></slot></div>
|
|
6
|
+
<slot name="checkbox" class="activate-prevent-hover"></slot>
|
|
7
|
+
<div class="card__body" part="body">
|
|
8
|
+
<slot></slot>
|
|
9
|
+
<slot name="secondary" part="secondary"></slot>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="card__details" part="details">
|
|
12
|
+
<slot name="details"></slot>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="card__footer" part="footer">
|
|
15
|
+
<slot name="footer"></slot>
|
|
16
|
+
</div>
|
|
15
17
|
</div>`;
|
|
16
18
|
export const setupCard = (cardComponent) => {
|
|
17
19
|
var _a;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export const generateThumbnailList = function (carouselComponent) {
|
|
2
2
|
const thumbnailImages = [];
|
|
3
|
-
Array.from(carouselComponent.querySelectorAll(':scope > div')).forEach((slide, index) => {
|
|
3
|
+
Array.from(carouselComponent.querySelectorAll(':scope > :is(div,iam-card)')).forEach((slide, index) => {
|
|
4
4
|
if (slide.hasAttribute('data-thumbnail')) {
|
|
5
5
|
thumbnailImages[index] = slide.getAttribute('data-thumbnail');
|
|
6
6
|
}
|
|
@@ -8,7 +8,7 @@ export const generateThumbnailList = function (carouselComponent) {
|
|
|
8
8
|
return thumbnailImages;
|
|
9
9
|
};
|
|
10
10
|
export const generatePipsHTML = function (carouselComponent, thumbnailImages) {
|
|
11
|
-
const itemCount = carouselComponent.querySelectorAll(':scope > div').length;
|
|
11
|
+
const itemCount = carouselComponent.querySelectorAll(':scope > :is(div,iam-card)').length;
|
|
12
12
|
let pips = '';
|
|
13
13
|
for (let i = 1; i <= itemCount; i++) {
|
|
14
14
|
let pipContent = null;
|
|
@@ -40,9 +40,9 @@ export const carousel = function (carouselComponent) {
|
|
|
40
40
|
const carouselInner = carouselElement.querySelector('.carousel__inner');
|
|
41
41
|
const carouselControls = carouselElement.querySelector('.carousel__controls');
|
|
42
42
|
const carouselProgress = carouselElement.querySelector('.carousel__progress [type="range"]');
|
|
43
|
-
const itemCount = carouselComponent.querySelectorAll(':scope > div').length;
|
|
43
|
+
const itemCount = carouselComponent.querySelectorAll(':scope > :is(div,iam-card)').length;
|
|
44
44
|
let scrollArea = carouselInner.clientWidth;
|
|
45
|
-
let itemWidth = carouselComponent.querySelector(':scope > div').scrollWidth;
|
|
45
|
+
let itemWidth = carouselComponent.querySelector(':scope > :is(div,iam-card)').scrollWidth;
|
|
46
46
|
let visibleItems = Math.round(scrollArea / itemWidth);
|
|
47
47
|
carouselProgress.setAttribute('min', 1);
|
|
48
48
|
carouselProgress.setAttribute('step', visibleItems);
|
|
@@ -64,8 +64,8 @@ export const carousel = function (carouselComponent) {
|
|
|
64
64
|
const scrollWidth = carouselInner.scrollWidth;
|
|
65
65
|
const scrollLeft = carouselInner.scrollLeft;
|
|
66
66
|
let targetSlide = Math.round((scrollLeft / scrollWidth) * itemCount) + 1;
|
|
67
|
-
const itemWidth = carouselComponent.querySelector(':scope > div').scrollWidth;
|
|
68
|
-
const lastItemOffset = carouselComponent.querySelector(':scope > div:last-child').offsetLeft;
|
|
67
|
+
const itemWidth = carouselComponent.querySelector(':scope > :is(div,iam-card)').scrollWidth;
|
|
68
|
+
const lastItemOffset = carouselComponent.querySelector(':scope > :is(div,iam-card):last-child').offsetLeft;
|
|
69
69
|
//+60px here is to account for when the next offscreen slide is visible beneath the next arrow
|
|
70
70
|
const lastItemInView = carouselInner.scrollLeft + scrollArea + carouselInner.getBoundingClientRect().left >= lastItemOffset + 60;
|
|
71
71
|
const visibleItems = Math.round(scrollArea / itemWidth);
|
|
@@ -125,9 +125,9 @@ export const carousel = function (carouselComponent) {
|
|
|
125
125
|
carouselElement.addEventListener('click', function (e) {
|
|
126
126
|
const scrollArea = carouselInner.clientWidth;
|
|
127
127
|
//const scrollWidth = carouselInner.scrollWidth;
|
|
128
|
-
const itemWidth = carouselComponent.querySelector(':scope > div').scrollWidth;
|
|
128
|
+
const itemWidth = carouselComponent.querySelector(':scope > :is(div,iam-card)').scrollWidth;
|
|
129
129
|
const visibleItems = Math.round(scrollArea / itemWidth);
|
|
130
|
-
const lastItemOffset = carouselComponent.querySelector(':scope > div:last-child').offsetLeft;
|
|
130
|
+
const lastItemOffset = carouselComponent.querySelector(':scope > :is(div,iam-card):last-child').offsetLeft;
|
|
131
131
|
const lastItemInView = carouselInner.scrollLeft + scrollArea + carouselInner.getBoundingClientRect().left >= lastItemOffset + 60;
|
|
132
132
|
//Check if theres room for more slides than we have
|
|
133
133
|
const leftOverSpace = Math.ceil(itemCount / visibleItems) * visibleItems - itemCount;
|
|
@@ -164,7 +164,7 @@ export const carousel = function (carouselComponent) {
|
|
|
164
164
|
clearInterval(stepperInterval);
|
|
165
165
|
stepperInterval = setInterval(function () {
|
|
166
166
|
scrollArea = carouselInner.clientWidth;
|
|
167
|
-
itemWidth = carouselComponent.querySelector(':scope > div').scrollWidth;
|
|
167
|
+
itemWidth = carouselComponent.querySelector(':scope > :is(div,iam-card)').scrollWidth;
|
|
168
168
|
visibleItems = Math.round(scrollArea / itemWidth);
|
|
169
169
|
carouselProgress.setAttribute('step', visibleItems);
|
|
170
170
|
progressMax = getProgressMax(itemCount, visibleItems);
|
|
@@ -198,9 +198,9 @@ export const updateCarousel = function (carouselComponent) {
|
|
|
198
198
|
const carouselInner = carouselElement.querySelector('.carousel__inner');
|
|
199
199
|
const carouselControls = carouselElement.querySelector('.carousel__controls');
|
|
200
200
|
const carouselProgress = carouselElement.querySelector('.carousel__progress [type="range"]');
|
|
201
|
-
const itemCount = carouselComponent.querySelectorAll(':scope > div').length;
|
|
201
|
+
const itemCount = carouselComponent.querySelectorAll(':scope > :is(div,iam-card)').length;
|
|
202
202
|
let scrollArea = carouselInner.clientWidth;
|
|
203
|
-
let itemWidth = carouselComponent.querySelector(':scope > div').scrollWidth;
|
|
203
|
+
let itemWidth = carouselComponent.querySelector(':scope > :is(div,iam-card)').scrollWidth;
|
|
204
204
|
let visibleItems = Math.round(scrollArea / itemWidth);
|
|
205
205
|
carouselProgress.setAttribute('min', 1);
|
|
206
206
|
carouselProgress.setAttribute('step', visibleItems);
|
package/assets/js/modules/nav.js
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
1
10
|
const navbar = (element) => {
|
|
2
11
|
Array.from(element.querySelectorAll('details')).forEach((detail) => {
|
|
3
12
|
detail.addEventListener('mouseenter', function () {
|
|
@@ -16,4 +25,73 @@ const navbar = (element) => {
|
|
|
16
25
|
observer.observe(element);
|
|
17
26
|
}
|
|
18
27
|
};
|
|
28
|
+
export const populateNav = (data) => {
|
|
29
|
+
let html = ``;
|
|
30
|
+
data.forEach((feature) => {
|
|
31
|
+
if (feature.attributes.sections)
|
|
32
|
+
html += `<details name="megamenu"><summary>${feature.attributes.title}</summary><div data-title="${feature.attributes.title}">${populateSections(feature.attributes.sections)}</div></details>`;
|
|
33
|
+
else if (feature.attributes.links)
|
|
34
|
+
html += `<details name="megamenu"><summary>${feature.attributes.title}</summary><div data-title="${feature.attributes.title}">${populateLinks(feature.attributes.links)}</div></details>`;
|
|
35
|
+
else
|
|
36
|
+
html += `<a href="/">${feature.attributes.title}</a>`;
|
|
37
|
+
});
|
|
38
|
+
return html;
|
|
39
|
+
};
|
|
40
|
+
export const populateSections = (data) => {
|
|
41
|
+
let html = ``;
|
|
42
|
+
data.forEach((section) => {
|
|
43
|
+
html += `<span class="section ${section.class}">
|
|
44
|
+
<span class="lead text-heading d-block">${section.enabled == "false" && section.marketing ? section.marketing : section.title}</span>
|
|
45
|
+
${populateLinks(section.links)}
|
|
46
|
+
</span>`;
|
|
47
|
+
});
|
|
48
|
+
return html;
|
|
49
|
+
};
|
|
50
|
+
export const populateLinks = (data) => {
|
|
51
|
+
let html = ``;
|
|
52
|
+
data.forEach((link) => {
|
|
53
|
+
html += `
|
|
54
|
+
<a href="${link.url}">${link.title}</a>`;
|
|
55
|
+
});
|
|
56
|
+
return html;
|
|
57
|
+
};
|
|
58
|
+
export const loadNavData = (Cookies) => __awaiter(void 0, void 0, void 0, function* () {
|
|
59
|
+
const ajaxURL = '/nav.json';
|
|
60
|
+
// Setup controller vars if not already set
|
|
61
|
+
if (!window.controller)
|
|
62
|
+
window.controller = [];
|
|
63
|
+
// Abort if controller already present for this url
|
|
64
|
+
if (window.controller[ajaxURL])
|
|
65
|
+
window.controller[ajaxURL].abort();
|
|
66
|
+
// Create a new controller so it can be aborted if new fetch made
|
|
67
|
+
window.controller[ajaxURL] = new AbortController();
|
|
68
|
+
const { signal } = window.controller[ajaxURL];
|
|
69
|
+
try {
|
|
70
|
+
return yield fetch(ajaxURL, {
|
|
71
|
+
signal: signal,
|
|
72
|
+
method: 'get',
|
|
73
|
+
credentials: 'same-origin',
|
|
74
|
+
headers: new Headers({
|
|
75
|
+
'Content-Type': 'application/json',
|
|
76
|
+
Accept: 'application/json',
|
|
77
|
+
'X-Requested-With': 'XMLHttpRequest',
|
|
78
|
+
'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),
|
|
79
|
+
}),
|
|
80
|
+
})
|
|
81
|
+
.then((response) => response.json())
|
|
82
|
+
.then((response) => {
|
|
83
|
+
// populate datalist
|
|
84
|
+
let listString = '';
|
|
85
|
+
const data = response['data'] ? response['data'] : response;
|
|
86
|
+
return data;
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
if ((error === null || error === void 0 ? void 0 : error.name) === 'AbortError') {
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
console.log(error);
|
|
94
|
+
return 'There has been a problem. Please try again in a few moments.';
|
|
95
|
+
}
|
|
96
|
+
});
|
|
19
97
|
export default navbar;
|
|
@@ -129,6 +129,13 @@ export const setTabsEventHandlers = function (tabsElement) {
|
|
|
129
129
|
buttons[index].click();
|
|
130
130
|
});
|
|
131
131
|
});
|
|
132
|
+
details.forEach((detailsElement, index) => {
|
|
133
|
+
detailsElement.addEventListener("toggle", function () {
|
|
134
|
+
var _a;
|
|
135
|
+
if (detailsElement.open)
|
|
136
|
+
(_a = detailsElement.querySelector('button,input')) === null || _a === void 0 ? void 0 : _a.focus();
|
|
137
|
+
});
|
|
138
|
+
});
|
|
132
139
|
nextButton === null || nextButton === void 0 ? void 0 : nextButton.addEventListener('click', (e) => {
|
|
133
140
|
e.preventDefault();
|
|
134
141
|
const currentTab = buttonWrapper.querySelector('[aria-pressed="true"]');
|
|
@@ -172,8 +179,9 @@ export const setTabsEventHandlers = function (tabsElement) {
|
|
|
172
179
|
export const toggleTab = function (details, button) {
|
|
173
180
|
details.forEach((detail, detailsIndex) => {
|
|
174
181
|
const detailsOpen = button.getAttribute('data-index') == detailsIndex ? true : false;
|
|
175
|
-
if (detailsOpen)
|
|
182
|
+
if (detailsOpen) {
|
|
176
183
|
detail.setAttribute('open', detailsOpen);
|
|
184
|
+
}
|
|
177
185
|
else
|
|
178
186
|
detail.removeAttribute('open');
|
|
179
187
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.7.1--
|
|
2
|
+
* iamKey v7.7.1--beta16
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/(function(w){typeof define=="function"&&define.amd?define(w):w()})((function(){"use strict";var w=a=>{a.classList.add("js-enabled"),(navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0)&&a.classList.add("ie")},H=a=>{var e=function(n){var r=document.querySelector('label[for="'.concat(n.replace("#",""),'"]')),s=document.querySelector(n+" summary"),u=document.querySelector("dialog".concat(n)),i=document.querySelector("detail".concat(n));r instanceof HTMLElement?r.click():s instanceof HTMLElement?s.click():u instanceof HTMLElement?u.showModal():i instanceof HTMLElement&&i.addAttribute("open")};location.hash&&e(location.hash),window.addEventListener("hashchange",function(){e(location.hash)},!1),addEventListener("popstate",o=>{if(o&&o.state&&o.state.type&&o.state.type=="pagination"){var n=document.querySelector("#".concat(o.state.form)),r=document.querySelector("#".concat(o.state.form," [data-pagination]"));r?r.value=o.state.page:n.innerHTML+='<input name="page" type="hidden" data-pagination="true" value="'.concat(o.state.page,'" />'),n.dispatchEvent(new Event("submit"))}}),Array.from(document.querySelectorAll("form")).forEach(o=>{o?.closest("iam-form")||o.addEventListener("submit",n=>{var r;o.querySelector(":invalid")&&(o.classList.add("was-validated"),(r=o?.querySelector("input:invalid"))===null||r===void 0||r.scrollIntoView(),n.preventDefault())})}),document.addEventListener("click",o=>{var n;if(o&&o.target instanceof HTMLElement&&o.target.matches("form button:not([type=button])")){var r=o.target.closest("form");r?.closest("iam-form")||(Array.from(r.querySelectorAll("[data-password-type]")).forEach(s=>{s.setAttribute("type","password")}),(r.querySelector(":invalid")||r.querySelector('.pwd-checker[data-strength="1"]')||r.querySelector('.pwd-checker[data-strength="2"]'))&&(r.classList.add("was-validated"),(n=r?.querySelector("input:invalid"))===null||n===void 0||n.scrollIntoView(),o.preventDefault()),r.querySelector("iam-multiselect[data-is-required][data-error]")&&(r.classList.add("was-validated"),o.preventDefault()))}}),document.addEventListener("keydown",o=>{o.key==="Escape"&&document.querySelector(".dialog--transactional[open], .dialog--acknowledgement[open]")&&(o.preventDefault(),o.stopPropagation())}),Array.from(document.querySelectorAll("label progress")).forEach(o=>{var n=o.closest("label");n.setAttribute("data-percent",o.getAttribute("value"))})};function N(){window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Pageview",pageTitle:document.title}),document.addEventListener("click",a=>{var e=a.target.closest("[open] summary");if(e)window.dataLayer.push({event:"closeDetails",detailsTitle:e.textContent||""});else{var o=a.target.closest("summary"),n=a.target.closest("a"),r=a.target.closest("button");o&&window.dataLayer.push({event:"openDetails",detailsTitle:o.textContent||""}),n&&window.dataLayer.push({event:"linkClicked",linkText:n.hasAttribute("title")?n.getAttribute("title")||"":n.textContent||"",class:n.hasAttribute("class")&&n.getAttribute("class")||"",href:n.getAttribute("href")||""}),r&&window.dataLayer.push({event:"buttonClicked",buttonText:r.textContent||"",class:r.hasAttribute("class")&&r.getAttribute("class")||""})}})}window.triggerDynamicEvent=function(a){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"change";console.log("event"),a.hasAttribute("data-change-events")&&e=="change"&&v(a,a.getAttribute("data-change-events")),a.hasAttribute("data-click-events")&&e=="click"&&v(a,a.getAttribute("data-click-events"))};var M=()=>{document.addEventListener("change",a=>{a&&a.target instanceof HTMLElement&&a.target.closest("[data-change-events]")&&v(a.target,a.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("keyup",a=>{a&&a.target instanceof HTMLElement&&a.target.closest("[data-change-events]")&&v(a.target,a.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("click",a=>{a&&a.target instanceof HTMLElement&&a.target.closest("[data-click-events]")&&v(a.target,a.target.closest("[data-click-events]").getAttribute("data-click-events"))})},v=(a,e)=>{if(e||(e=a.parentNode.getAttribute("data-change-events")),!e)return!1;Array.from(JSON.parse(e)).forEach(o=>{C(a,o)})},C=(a,e)=>{if("matches"in e)return e.matches=="any"||a.value==e.matches?f(a,e,"if"):f(a,e,"else"),!1;if("in-list"in e){var o=document.querySelector("".concat(e["in-list"],' option[value="').concat(a.value,'"]'));return document.querySelector("".concat(e["in-list"],' option[value="').concat(a.value,'"]'))?f(o,e,"if"):f(o,e,"else"),!1}else"event"in e&&f(a,e,"event")},f=(a,e,o)=>{if(!(o in e))return!1;switch(e[o]){case"hide":if(document.querySelector(e.target)){var n=document.querySelector(e.target);n.classList.add("js-hide"),Array.from(n.querySelectorAll("[data-required]")).forEach(i=>{i.removeAttribute("required")})}break;case"show":if(document.querySelector(e.target)){var r=document.querySelector(e.target);r.classList.remove("js-hide"),Array.from(r.querySelectorAll("[data-required]")).forEach(i=>{i.closest(".js-hide")||i.setAttribute("required","true")})}break;case"populate-form":D(a,e);break;case"dispatchEvent":var s=new Event(e.value);document.querySelector("".concat(e.target)).dispatchEvent(s);break;case"setAttribute":Array.from(document.querySelectorAll("".concat(e.target))).forEach(function(i){i.setAttribute(e.attribute,e.value)});break;case"focus":document.querySelector("".concat(e.target)).focus();break;case"removeAttribute":Array.from(document.querySelectorAll("".concat(e.target))).forEach(function(i){i.removeAttribute(e.attribute)});break;case"updateValue":document.querySelector("".concat(e.target)).value=e.value?e.value:"";var u=new Event("change");document.querySelector("".concat(e.target)).dispatchEvent(u);break;case"submitForm":document.querySelector("".concat(e.target)).submit();break;case"openLink":document.querySelector("".concat(e.target)).value&&(window.location.href=document.querySelector("".concat(e.target)).value);break}},D=function(e,o){var n=JSON.parse(e.getAttribute("data-values")),r=document.querySelector(o.target);if(!n)return!1;Object.keys(n).forEach(s=>{document.getElementById(s)&&document.getElementById(s).tagName=="SPAN"&&(document.getElementById(s).innerHTML=n[s]),r.querySelector('select[name="'.concat(s,'"] [value="').concat(n[s],'"]'))?(r.querySelector('select[name="'.concat(s,'"]')).value=n[s],e.hasAttribute("data-lock-fields")&&(r.querySelector('select[name="'.concat(s,'"]')).disabled=!0)):r.querySelector('input[name="'.concat(s,'"][type="radio"][value="').concat(n[s],'"]'))?(Array.from(r.querySelectorAll('input[name="'.concat(s,'"][type="radio"]'))).forEach(function(u){u.disabled=!0}),r.querySelector('input[name="'.concat(s,'"][type="radio"][value="').concat(n[s],'"]')).checked=!0,r.querySelector('input[name="'.concat(s,'"][type="radio"][value="').concat(n[s],'"]')).disabled=!1):r.querySelector('input[name="'.concat(s,'"]'))&&(r.querySelector('input[name="'.concat(s,'"]')).value=n[s],e.hasAttribute("data-lock-fields")&&r.querySelector('input[name="'.concat(s,'"]')).setAttribute("readonly","true"))})},F=()=>{var a=[],e={},o="These tests run against mark-up and content meant to test how a component or element has been integrated. Making sure that guidance setout in the design system is being followed.";window.integrationTestsIntro=o,console.log("%cVirgin Money Framework Tests","color: #E10A0A; font-size: 24px; font-weight: bold; margin-top: 20px; margin-bottom: 10px;"),console.log("%c"+o,"font-size: 14px; margin-bottom: 20px;"),console.log("%cKey","font-size: 16px;font-weight:bold;"),console.log("%c %cSuccessfully implemented","background-color: green; margin-right: 10px","background-color: transparent"),console.log("%c %cNOT implemented correctly","background-color: red; margin-right: 10px","background-color: transparent"),console.log("%c %cN/A","background-color: grey; margin-right: 10px","background-color: transparent"),console.log("%c %cWarning - No action needed","background-color: orange; margin-right: 10px","background-color: transparent"),console.log("%c ? %cWarning - Action needed","background-color: orange; margin-right: 10px","background-color: transparent"),e={Test:"Each card with in a card deck has a footer with some CTA text via a button link",Total:0,Passes:0,Fails:0},Array.from(document.querySelectorAll(".card-deck .card")).forEach((t,c)=>{if(t.closest(".navbar")==null){var l=t.querySelector(".btn-link");l!=null&&l.textContent.length?e.Passes++:e.Fails++}}),e.Total=e.Passes+e.Fails,a.push(e),e={Test:"Article Decks need to have a background colour applied",Total:0,Passes:0,Fails:0},Array.from(document.querySelectorAll(".article-deck")).forEach((t,c)=>{var l=t.closest(".container");l!=null&&l.matches('[class*="bg-"]')?e.Passes++:e.Fails++}),e.Total=e.Passes+e.Fails,a.push(e),e={Test:"Tabs Carousel has a h2 title with a display-4 class. It should always have a strapline next to it also.",Total:0,Passes:0,Fails:0,Notes:"The site nav contains cards without a footer by design."},Array.from(document.querySelectorAll(".tabs__container--carousel")).forEach((t,c)=>{var l=t.querySelector("h2.display-4:first-child"),d=t.querySelector("h2.display-4:first-child + .strapline");l!=null&&d!=null?e.Passes++:e.Fails++}),e.Total=e.Passes+e.Fails,a.push(e),e={Test:"Split Containers can only have multiple of two columns. So either 2, 4, 6 and so on.",Total:0,Passes:0,Fails:0,Notes:""},Array.from(document.querySelectorAll(".container.container--split")).forEach((t,c)=>{t.querySelectorAll(':scope > .row > [class*="col"]').length%2===0?e.Passes++:e.Fails++}),e.Total=e.Passes+e.Fails,a.push(e),e={Test:"Statement Containers with only one paragraph or text element should have the class of .h6",Total:0,Passes:0,Fails:0,Notes:""},Array.from(document.querySelectorAll(".container.container--statement")).forEach((t,c)=>{t.querySelectorAll(":scope > *").length==1&&t.querySelectorAll(":scope > .h6:first-child").length==1?e.Passes++:t.querySelectorAll(":scope > *").length==1&&e.Fails++}),e.Total=e.Passes+e.Fails,a.push(e),e={Test:"CTA Containers title should always have the class of .h1",Total:0,Passes:0,Fails:0,Notes:""},Array.from(document.querySelectorAll(".container.container--cta")).forEach((t,c)=>{t.querySelectorAll("h2.h1:first-child").length==1?e.Passes++:e.Fails++}),e.Total=e.Passes+e.Fails,a.push(e),console.log("%cImplementation Tests","font-size: 16px;font-weight:bold; margin-top: 20px;"),a.forEach(function(t){var c="green";t.Total===0?c="grey":t.Fails!=0&&(c="red"),t.Type=="warning"&&(c="orange"),console.groupCollapsed("%c %c"+t.Test,"background-color: "+c+"; margin-right: 10px","background-color: transparent"),console.table({Passed:{value:t.Passes},Failed:{value:t.Fails},Total:{value:t.Total}}),t.Notes!=""&&console.log(t.Notes),console.groupEnd()}),window.integrationTests=a;var n=[];e={Test:"There are XX padding classes being used on this page",Type:"warning",Total:0,Passes:0,Fails:0,Notes:""},Array.from(document.querySelectorAll('[class*="p-"],[class*="pt-"],[class*="pb-"],[class*="pl-"],[class*="pr-"],[class*="px-"],[class*="py-"]')).forEach((t,c)=>{e.Total++}),e.Test=e.Test.replace("XX",e.Total),n.push(e),e={Test:"There are XX margin classes being used on this page",Type:"warning",Total:0,Passes:0,Fails:0,Notes:""},Array.from(document.querySelectorAll('[class*="m-"],[class*="mt-"],[class*="mb-"],[class*="ml-"],[class*="mr-"],[class*="mx-"],[class*="my-"]')).forEach((t,c)=>{e.Total++}),e.Test=e.Test.replace("XX",e.Total),n.push(e),e={Test:"There are XX text modifier classes being used on this page",Type:"warning",Total:0,Passes:0,Fails:0,Notes:""},Array.from(document.querySelectorAll('[class*="text-"]')).forEach((t,c)=>{e.Total++}),e.Test=e.Test.replace("XX",e.Total),n.push(e),console.log("%cUtility classes","font-size: 16px;font-weight:bold;"),console.log("The use of certain utility classes is necessary at times but the over use of these classes will lead to design/layout inconsistencies."),n.forEach(function(t){var c="green";t.Total===0?c="grey":t.Fails!=0&&(c="red"),t.Type=="warning"&&(c="orange"),console.groupCollapsed("%c %c"+t.Test,"background-color: "+c+"; margin-right: 10px","background-color: transparent"),console.table({Total:{value:t.Total}}),t.Notes!=""&&console.log(t.Notes),console.groupEnd()}),console.log("%cAccessibility and Best practice Tests","font-size: 16px;font-weight:bold;");var r="green",s=1,u={};Array.from(document.querySelectorAll("h1,h2,h3,h4,h5,h6")).forEach((t,c)=>{var l=1,d=t.textContent;t.matches("h2")?l=2:t.matches("h3")?l=3:t.matches("h4")?l=4:t.matches("h5")?l=5:t.matches("h6")&&(l=6);var h=l-s<=1;c==0&&l!=1&&(h=!1);var p={"Heading Level":l,"In order":h};h?s=l:r="red",u[d]=p}),console.groupCollapsed("%c %cHeadings are in the correct order","background-color: "+r+"; margin-right: 10px","background-color: transparent"),console.table(u),console.groupEnd(),console.groupCollapsed("%c ? %cDo all of the headings make sense out of context and do they introduce the content that follows?","background-color: orange; margin-right: 10px","background-color: transparent"),console.log("You should be able to read the below table and get an understanding of what the page content consists of. The titles should make sense when read in order and child titles should be relevant to the parent title."),console.table(u),console.groupEnd();var i={};Array.from(document.querySelectorAll("a")).forEach((t,c)=>{var l=t.getAttribute("href"),d=t.textContent,h=t.getAttribute("title"),p={Text:d,Title:h};i[l]=p}),console.groupCollapsed("%c ? %cDo all of the links make sense out of context and do they describe the page/section that it links to?","background-color: orange; margin-right: 10px","background-color: transparent"),console.table(i),console.groupEnd();var A={},m={};Array.from(document.querySelectorAll("img[alt]")).forEach((t,c)=>{var l=t.getAttribute("src"),d=t.getAttribute("alt");if(d!=""){var h={Alt:d};A[l]=h}else{var l=t.getAttribute("src"),p={};m[l]=p}}),console.groupCollapsed("%c ? %cDo all of the images with an alt tag make sense out of context and describes the image appropriately?","background-color: orange; margin-right: 10px","background-color: transparent"),console.table(A),console.log("%cImages with an empty alt tag:","font-weight: bold;"),console.table(m),console.groupEnd(),console.groupCollapsed("%c ? %cCan you navigation the page links by tabbing through the page?","background-color: orange; margin-right: 10px","background-color: transparent"),console.log("Are all of the links, input fields and buttons accessible through using the keyboard only?"),console.groupEnd(),console.log("%cLighthouse","font-size: 16px;font-weight:bold;"),console.groupCollapsed("%c ? %cHave you ran a lighthouse report on this page","background-color: orange; margin-right: 10px","background-color: transparent"),console.log("If you are in a modern version of chrome you can a lighthouse report by opening the lighthouse window within the devtools. This should appear as a tab link above."),console.log("This report will give you more detail about the above the tests aswell as extra tests. "),console.groupEnd(),console.log("%cImage sizes","font-size: 16px;font-weight:bold;"),console.log("The below tests work from the current screen size, so if you have your screen at a mobile viewport the scaling and sizes of images will reflect that. It is worth running the image tests in both mobile and desktop views. Simply change the screen size and refresh the page."),Array.from(document.querySelectorAll("img")).forEach((t,c)=>{if(!t.matches("[src*='http']")&&!t.matches("[src$='.svg']")){var l=t.getAttribute("src"),d=new XMLHttpRequest;d.open("HEAD",l,!0),d.onreadystatechange=function(){if(d.readyState==4)if(d.status==200){var h=d.getResponseHeader("Content-Length");if(h>1024){var p=t.naturalWidth,P=t.naturalHeight,S=t.clientWidth,O=t.clientHeight,k=(S/p).toFixed(2)=="0.00"?"Hidden":(S/p).toFixed(2),B=Math.floor(h/1024),E=(h/(p*P)).toFixed(2),b="green",L="green",q="green",x="",T="";E>.5?(b="red",L="red",x="The image has a VERY large 'Bytes per pixel' score, trying optimising the image using https://tinypng.com/."):E>.2&&(b="orange",L="orange",x="The image has a large 'Bytes per pixel' score, trying optimising the image using https://tinypng.com/."),k>1.2?(b="red",q="red",T="The image size is smaller than the size shown on screen this may cause the image to appear blurry and low quality."):k<.5?(b="red",q="red",T="The image size is VERY large compared to the size shown on screen, this means unnecessary kb's are being downloaded. Try resizing the image in photoshop or other image editing software."):k<.8&&(b="orange",q="orange",T="The image size is large compared to the size shown on screen, this means unnecessary kb's are being downloaded. Try resizing the image in photoshop or other image editing software."),console.log("%c %c "+t.src,"background: url("+t.src+"); border: 3px solid "+b+"; line-height: 30px; width: 30px; background-size: cover;","background-color: transparent"),x!=""&&console.log("%c %c"+x,"background-color: "+L+"; margin-right: 10px","background-color: transparent"),T!=""&&console.log("%c %c"+T,"background-color: "+q+"; margin-right: 10px","background-color: transparent"),console.table({Image:{Dimensions:p+"x"+P,"Scaled to":S+"x"+O,Scale:k,Filesize:B+"Kb","Bytes per pixel":E}}),console.groupEnd()}}else console.log("%c %c"+t.src+" not loaded","background-color: red; margin-right: 10px","background-color: transparent")},d.send(null)}});var g=[];if(typeof window.integrationTests<"u"&&window.integrationTests.forEach(function(t){t.Total!=0&&t.Type!="warning"&&g.push(t.Test)}),g.length!=0){var y=document.querySelector("#vmtests-display");if(y!=null){y.innerHTML=`<div class="container">
|
|
5
5
|
<h2>Integration notes</h2>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.7.1--
|
|
2
|
+
* iamKey v7.7.1--beta16
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/
|
|
5
5
|
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";window.triggerDynamicEvent=function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"change";console.log("event"),t.hasAttribute("data-change-events")&&"change"==a&&e(t,t.getAttribute("data-change-events")),t.hasAttribute("data-click-events")&&"click"==a&&e(t,t.getAttribute("data-click-events"))};var e=(e,a)=>{if(a||(a=e.parentNode.getAttribute("data-change-events")),!a)return!1;Array.from(JSON.parse(a)).forEach(a=>{t(e,a)})},t=(e,t)=>{if("matches"in t)return"any"==t.matches||e.value==t.matches?a(e,t,"if"):a(e,t,"else"),!1;if("in-list"in t){var o=document.querySelector("".concat(t["in-list"],' option[value="').concat(e.value,'"]'));return document.querySelector("".concat(t["in-list"],' option[value="').concat(e.value,'"]'))?a(o,t,"if"):a(o,t,"else"),!1}"event"in t&&a(e,t,"event")},a=(e,t,a)=>{if(!(a in t))return!1;switch(t[a]){case"hide":if(document.querySelector(t.target)){var n=document.querySelector(t.target);n.classList.add("js-hide"),Array.from(n.querySelectorAll("[data-required]")).forEach(e=>{e.removeAttribute("required")})}break;case"show":if(document.querySelector(t.target)){var r=document.querySelector(t.target);r.classList.remove("js-hide"),Array.from(r.querySelectorAll("[data-required]")).forEach(e=>{e.closest(".js-hide")||e.setAttribute("required","true")})}break;case"populate-form":o(e,t);break;case"dispatchEvent":var s=new Event(t.value);document.querySelector("".concat(t.target)).dispatchEvent(s);break;case"setAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(e){e.setAttribute(t.attribute,t.value)});break;case"focus":document.querySelector("".concat(t.target)).focus();break;case"removeAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(e){e.removeAttribute(t.attribute)});break;case"updateValue":document.querySelector("".concat(t.target)).value=t.value?t.value:"";var l=new Event("change");document.querySelector("".concat(t.target)).dispatchEvent(l);break;case"submitForm":document.querySelector("".concat(t.target)).submit();break;case"openLink":document.querySelector("".concat(t.target)).value&&(window.location.href=document.querySelector("".concat(t.target)).value)}},o=function(e,t){var a=JSON.parse(e.getAttribute("data-values")),o=document.querySelector(t.target);if(!a)return!1;Object.keys(a).forEach(t=>{document.getElementById(t)&&"SPAN"==document.getElementById(t).tagName&&(document.getElementById(t).innerHTML=a[t]),o.querySelector('select[name="'.concat(t,'"] [value="').concat(a[t],'"]'))?(o.querySelector('select[name="'.concat(t,'"]')).value=a[t],e.hasAttribute("data-lock-fields")&&(o.querySelector('select[name="'.concat(t,'"]')).disabled=!0)):o.querySelector('input[name="'.concat(t,'"][type="radio"][value="').concat(a[t],'"]'))?(Array.from(o.querySelectorAll('input[name="'.concat(t,'"][type="radio"]'))).forEach(function(e){e.disabled=!0}),o.querySelector('input[name="'.concat(t,'"][type="radio"][value="').concat(a[t],'"]')).checked=!0,o.querySelector('input[name="'.concat(t,'"][type="radio"][value="').concat(a[t],'"]')).disabled=!1):o.querySelector('input[name="'.concat(t,'"]'))&&(o.querySelector('input[name="'.concat(t,'"]')).value=a[t],e.hasAttribute("data-lock-fields")&&o.querySelector('input[name="'.concat(t,'"]')).setAttribute("readonly","true"))})},n=()=>{var e=[],t={},a="These tests run against mark-up and content meant to test how a component or element has been integrated. Making sure that guidance setout in the design system is being followed.";window.integrationTestsIntro=a,console.log("%cVirgin Money Framework Tests","color: #E10A0A; font-size: 24px; font-weight: bold; margin-top: 20px; margin-bottom: 10px;"),console.log("%c"+a,"font-size: 14px; margin-bottom: 20px;"),console.log("%cKey","font-size: 16px;font-weight:bold;"),console.log("%c %cSuccessfully implemented","background-color: green; margin-right: 10px","background-color: transparent"),console.log("%c %cNOT implemented correctly","background-color: red; margin-right: 10px","background-color: transparent"),console.log("%c %cN/A","background-color: grey; margin-right: 10px","background-color: transparent"),console.log("%c %cWarning - No action needed","background-color: orange; margin-right: 10px","background-color: transparent"),console.log("%c ? %cWarning - Action needed","background-color: orange; margin-right: 10px","background-color: transparent"),t={Test:"Each card with in a card deck has a footer with some CTA text via a button link",Total:0,Passes:0,Fails:0},Array.from(document.querySelectorAll(".card-deck .card")).forEach((e,a)=>{if(null==e.closest(".navbar")){var o=e.querySelector(".btn-link");null!=o&&o.textContent.length?t.Passes++:t.Fails++}}),t.Total=t.Passes+t.Fails,e.push(t),t={Test:"Article Decks need to have a background colour applied",Total:0,Passes:0,Fails:0},Array.from(document.querySelectorAll(".article-deck")).forEach((e,a)=>{var o=e.closest(".container");null!=o&&o.matches('[class*="bg-"]')?t.Passes++:t.Fails++}),t.Total=t.Passes+t.Fails,e.push(t),t={Test:"Tabs Carousel has a h2 title with a display-4 class. It should always have a strapline next to it also.",Total:0,Passes:0,Fails:0,Notes:"The site nav contains cards without a footer by design."},Array.from(document.querySelectorAll(".tabs__container--carousel")).forEach((e,a)=>{var o=e.querySelector("h2.display-4:first-child"),n=e.querySelector("h2.display-4:first-child + .strapline");null!=o&&null!=n?t.Passes++:t.Fails++}),t.Total=t.Passes+t.Fails,e.push(t),t={Test:"Split Containers can only have multiple of two columns. So either 2, 4, 6 and so on.",Total:0,Passes:0,Fails:0,Notes:""},Array.from(document.querySelectorAll(".container.container--split")).forEach((e,a)=>{e.querySelectorAll(':scope > .row > [class*="col"]').length%2==0?t.Passes++:t.Fails++}),t.Total=t.Passes+t.Fails,e.push(t),t={Test:"Statement Containers with only one paragraph or text element should have the class of .h6",Total:0,Passes:0,Fails:0,Notes:""},Array.from(document.querySelectorAll(".container.container--statement")).forEach((e,a)=>{1==e.querySelectorAll(":scope > *").length&&1==e.querySelectorAll(":scope > .h6:first-child").length?t.Passes++:1==e.querySelectorAll(":scope > *").length&&t.Fails++}),t.Total=t.Passes+t.Fails,e.push(t),t={Test:"CTA Containers title should always have the class of .h1",Total:0,Passes:0,Fails:0,Notes:""},Array.from(document.querySelectorAll(".container.container--cta")).forEach((e,a)=>{1==e.querySelectorAll("h2.h1:first-child").length?t.Passes++:t.Fails++}),t.Total=t.Passes+t.Fails,e.push(t),console.log("%cImplementation Tests","font-size: 16px;font-weight:bold; margin-top: 20px;"),e.forEach(function(e){var t="green";0===e.Total?t="grey":0!=e.Fails&&(t="red"),"warning"==e.Type&&(t="orange"),console.groupCollapsed("%c %c"+e.Test,"background-color: "+t+"; margin-right: 10px","background-color: transparent"),console.table({Passed:{value:e.Passes},Failed:{value:e.Fails},Total:{value:e.Total}}),""!=e.Notes&&console.log(e.Notes),console.groupEnd()}),window.integrationTests=e;var o=[];t={Test:"There are XX padding classes being used on this page",Type:"warning",Total:0,Passes:0,Fails:0,Notes:""},Array.from(document.querySelectorAll('[class*="p-"],[class*="pt-"],[class*="pb-"],[class*="pl-"],[class*="pr-"],[class*="px-"],[class*="py-"]')).forEach((e,a)=>{t.Total++}),t.Test=t.Test.replace("XX",t.Total),o.push(t),t={Test:"There are XX margin classes being used on this page",Type:"warning",Total:0,Passes:0,Fails:0,Notes:""},Array.from(document.querySelectorAll('[class*="m-"],[class*="mt-"],[class*="mb-"],[class*="ml-"],[class*="mr-"],[class*="mx-"],[class*="my-"]')).forEach((e,a)=>{t.Total++}),t.Test=t.Test.replace("XX",t.Total),o.push(t),t={Test:"There are XX text modifier classes being used on this page",Type:"warning",Total:0,Passes:0,Fails:0,Notes:""},Array.from(document.querySelectorAll('[class*="text-"]')).forEach((e,a)=>{t.Total++}),t.Test=t.Test.replace("XX",t.Total),o.push(t),console.log("%cUtility classes","font-size: 16px;font-weight:bold;"),console.log("The use of certain utility classes is necessary at times but the over use of these classes will lead to design/layout inconsistencies."),o.forEach(function(e){var t="green";0===e.Total?t="grey":0!=e.Fails&&(t="red"),"warning"==e.Type&&(t="orange"),console.groupCollapsed("%c %c"+e.Test,"background-color: "+t+"; margin-right: 10px","background-color: transparent"),console.table({Total:{value:e.Total}}),""!=e.Notes&&console.log(e.Notes),console.groupEnd()}),console.log("%cAccessibility and Best practice Tests","font-size: 16px;font-weight:bold;");var n="green",r=1,s={};Array.from(document.querySelectorAll("h1,h2,h3,h4,h5,h6")).forEach((e,t)=>{var a=1,o=e.textContent;e.matches("h2")?a=2:e.matches("h3")?a=3:e.matches("h4")?a=4:e.matches("h5")?a=5:e.matches("h6")&&(a=6);var l=a-r<=1;0==t&&1!=a&&(l=!1);var c={"Heading Level":a,"In order":l};l?r=a:n="red",s[o]=c}),console.groupCollapsed("%c %cHeadings are in the correct order","background-color: "+n+"; margin-right: 10px","background-color: transparent"),console.table(s),console.groupEnd(),console.groupCollapsed("%c ? %cDo all of the headings make sense out of context and do they introduce the content that follows?","background-color: orange; margin-right: 10px","background-color: transparent"),console.log("You should be able to read the below table and get an understanding of what the page content consists of. The titles should make sense when read in order and child titles should be relevant to the parent title."),console.table(s),console.groupEnd();var l={};Array.from(document.querySelectorAll("a")).forEach((e,t)=>{var a=e.getAttribute("href"),o={Text:e.textContent,Title:e.getAttribute("title")};l[a]=o}),console.groupCollapsed("%c ? %cDo all of the links make sense out of context and do they describe the page/section that it links to?","background-color: orange; margin-right: 10px","background-color: transparent"),console.table(l),console.groupEnd();var c={},i={};Array.from(document.querySelectorAll("img[alt]")).forEach((e,t)=>{var a=e.getAttribute("src"),o=e.getAttribute("alt");if(""!=o){var n={Alt:o};c[a]=n}else a=e.getAttribute("src"),i[a]={}}),console.groupCollapsed("%c ? %cDo all of the images with an alt tag make sense out of context and describes the image appropriately?","background-color: orange; margin-right: 10px","background-color: transparent"),console.table(c),console.log("%cImages with an empty alt tag:","font-weight: bold;"),console.table(i),console.groupEnd(),console.groupCollapsed("%c ? %cCan you navigation the page links by tabbing through the page?","background-color: orange; margin-right: 10px","background-color: transparent"),console.log("Are all of the links, input fields and buttons accessible through using the keyboard only?"),console.groupEnd(),console.log("%cLighthouse","font-size: 16px;font-weight:bold;"),console.groupCollapsed("%c ? %cHave you ran a lighthouse report on this page","background-color: orange; margin-right: 10px","background-color: transparent"),console.log("If you are in a modern version of chrome you can a lighthouse report by opening the lighthouse window within the devtools. This should appear as a tab link above."),console.log("This report will give you more detail about the above the tests aswell as extra tests. "),console.groupEnd(),console.log("%cImage sizes","font-size: 16px;font-weight:bold;"),console.log("The below tests work from the current screen size, so if you have your screen at a mobile viewport the scaling and sizes of images will reflect that. It is worth running the image tests in both mobile and desktop views. Simply change the screen size and refresh the page."),Array.from(document.querySelectorAll("img")).forEach((e,t)=>{if(!e.matches("[src*='http']")&&!e.matches("[src$='.svg']")){var a=e.getAttribute("src"),o=new XMLHttpRequest;o.open("HEAD",a,!0),o.onreadystatechange=function(){if(4==o.readyState)if(200==o.status){var t=o.getResponseHeader("Content-Length");if(t>1024){var a=e.naturalWidth,n=e.naturalHeight,r=e.clientWidth,s=e.clientHeight,l="0.00"==(r/a).toFixed(2)?"Hidden":(r/a).toFixed(2),c=Math.floor(t/1024),i=(t/(a*n)).toFixed(2),u="green",d="green",g="green",h="",p="";i>.5?(u="red",d="red",h="The image has a VERY large 'Bytes per pixel' score, trying optimising the image using https://tinypng.com/."):i>.2&&(u="orange",d="orange",h="The image has a large 'Bytes per pixel' score, trying optimising the image using https://tinypng.com/."),l>1.2?(u="red",g="red",p="The image size is smaller than the size shown on screen this may cause the image to appear blurry and low quality."):l<.5?(u="red",g="red",p="The image size is VERY large compared to the size shown on screen, this means unnecessary kb's are being downloaded. Try resizing the image in photoshop or other image editing software."):l<.8&&(u="orange",g="orange",p="The image size is large compared to the size shown on screen, this means unnecessary kb's are being downloaded. Try resizing the image in photoshop or other image editing software."),console.log("%c %c "+e.src,"background: url("+e.src+"); border: 3px solid "+u+"; line-height: 30px; width: 30px; background-size: cover;","background-color: transparent"),""!=h&&console.log("%c %c"+h,"background-color: "+d+"; margin-right: 10px","background-color: transparent"),""!=p&&console.log("%c %c"+p,"background-color: "+g+"; margin-right: 10px","background-color: transparent"),console.table({Image:{Dimensions:a+"x"+n,"Scaled to":r+"x"+s,Scale:l,Filesize:c+"Kb","Bytes per pixel":i}}),console.groupEnd()}}else console.log("%c %c"+e.src+" not loaded","background-color: red; margin-right: 10px","background-color: transparent")},o.send(null)}});var u=[];if(typeof window.integrationTests<"u"&&window.integrationTests.forEach(function(e){0!=e.Total&&"warning"!=e.Type&&u.push(e.Test)}),0!=u.length){var d=document.querySelector("#vmtests-display");if(null!=d){d.innerHTML='<div class="container">\n <h2>Integration notes</h2>\n <ul id="integrationTests"></ul>\n </div>';var g=document.getElementById("integrationTests");null!=g&&u.forEach(function(e){g.innerHTML+="<li>"+e+"</li>"})}}return null},r=Object.freeze({__proto__:null,default:n});["localhost"].includes(window.location.hostname)&&Promise.resolve().then(function(){return r}).then(e=>{window.iamTest=()=>{n()}}).catch(e=>{console.log(e.message)}),document.addEventListener("DOMContentLoaded",()=>{return t=void 0,a=void 0,n=function*(){var t,a;window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Pageview",pageTitle:document.title}),document.addEventListener("click",e=>{var t=e.target.closest("[open] summary");if(t)window.dataLayer.push({event:"closeDetails",detailsTitle:t.textContent||""});else{var a=e.target.closest("summary"),o=e.target.closest("a"),n=e.target.closest("button");a&&window.dataLayer.push({event:"openDetails",detailsTitle:a.textContent||""}),o&&window.dataLayer.push({event:"linkClicked",linkText:o.hasAttribute("title")?o.getAttribute("title")||"":o.textContent||"",class:o.hasAttribute("class")&&o.getAttribute("class")||"",href:o.getAttribute("href")||""}),n&&window.dataLayer.push({event:"buttonClicked",buttonText:n.textContent||"",class:n.hasAttribute("class")&&n.getAttribute("class")||""})}}),document.addEventListener("change",t=>{t&&t.target instanceof HTMLElement&&t.target.closest("[data-change-events]")&&e(t.target,t.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("keyup",t=>{t&&t.target instanceof HTMLElement&&t.target.closest("[data-change-events]")&&e(t.target,t.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("click",t=>{t&&t.target instanceof HTMLElement&&t.target.closest("[data-click-events]")&&e(t.target,t.target.closest("[data-click-events]").getAttribute("data-click-events"))}),(a=document.body).classList.add("js-enabled"),(-1!==navigator.userAgent.indexOf("MSIE")||navigator.appVersion.indexOf("Trident/")>0)&&a.classList.add("ie"),t=function(e){var t=document.querySelector('label[for="'.concat(e.replace("#",""),'"]')),a=document.querySelector(e+" summary"),o=document.querySelector("dialog".concat(e)),n=document.querySelector("detail".concat(e));t instanceof HTMLElement?t.click():a instanceof HTMLElement?a.click():o instanceof HTMLElement?o.showModal():n instanceof HTMLElement&&n.addAttribute("open")},location.hash&&t(location.hash),window.addEventListener("hashchange",function(){t(location.hash)},!1),addEventListener("popstate",e=>{if(e&&e.state&&e.state.type&&"pagination"==e.state.type){var t=document.querySelector("#".concat(e.state.form)),a=document.querySelector("#".concat(e.state.form," [data-pagination]"));a?a.value=e.state.page:t.innerHTML+='<input name="page" type="hidden" data-pagination="true" value="'.concat(e.state.page,'" />'),t.dispatchEvent(new Event("submit"))}}),Array.from(document.querySelectorAll("form")).forEach(e=>{e?.closest("iam-form")||e.addEventListener("submit",t=>{var a;e.querySelector(":invalid")&&(e.classList.add("was-validated"),null===(a=e?.querySelector("input:invalid"))||void 0===a||a.scrollIntoView(),t.preventDefault())})}),document.addEventListener("click",e=>{var t;if(e&&e.target instanceof HTMLElement&&e.target.matches("form button:not([type=button])")){var a=e.target.closest("form");a?.closest("iam-form")||(Array.from(a.querySelectorAll("[data-password-type]")).forEach(e=>{e.setAttribute("type","password")}),(a.querySelector(":invalid")||a.querySelector('.pwd-checker[data-strength="1"]')||a.querySelector('.pwd-checker[data-strength="2"]'))&&(a.classList.add("was-validated"),null===(t=a?.querySelector("input:invalid"))||void 0===t||t.scrollIntoView(),e.preventDefault()),a.querySelector("iam-multiselect[data-is-required][data-error]")&&(a.classList.add("was-validated"),e.preventDefault()))}}),document.addEventListener("keydown",e=>{"Escape"===e.key&&document.querySelector(".dialog--transactional[open], .dialog--acknowledgement[open]")&&(e.preventDefault(),e.stopPropagation())}),Array.from(document.querySelectorAll("label progress")).forEach(e=>{e.closest("label").setAttribute("data-percent",e.getAttribute("value"))})},new((o=void 0)||(o=Promise))(function(e,r){function s(e){try{c(n.next(e))}catch(e){r(e)}}function l(e){try{c(n.throw(e))}catch(e){r(e)}}function c(t){t.done?e(t.value):function(e){return e instanceof o?e:new o(function(t){t(e)})}(t.value).then(s,l)}c((n=n.apply(t,a||[])).next())});var t,a,o,n})});
|
|
@@ -11,6 +11,12 @@
|
|
|
11
11
|
@use '../utilities/visually-hidden' as *;
|
|
12
12
|
@use '../utilities/display' as *;
|
|
13
13
|
|
|
14
|
+
*,
|
|
15
|
+
*::before,
|
|
16
|
+
*::after {
|
|
17
|
+
box-sizing: border-box;
|
|
18
|
+
}
|
|
19
|
+
|
|
14
20
|
:host {
|
|
15
21
|
background-color: #fcfcfc;
|
|
16
22
|
}
|
|
@@ -264,7 +270,7 @@ slot[name='selectall'] {
|
|
|
264
270
|
/* #endregion */
|
|
265
271
|
|
|
266
272
|
/* #region Search bar */
|
|
267
|
-
.actionbar--search .btn {
|
|
273
|
+
.actionbar--search > .btn {
|
|
268
274
|
margin: 0;
|
|
269
275
|
margin-left: -0.75rem !important;
|
|
270
276
|
margin-right: auto !important;
|
|
@@ -274,17 +280,25 @@ slot[name='selectall'] {
|
|
|
274
280
|
width: calc(100% - 3.25rem); /* 44 + 8 */
|
|
275
281
|
max-width: 21.875rem!important; /* (350) */
|
|
276
282
|
margin: 0 !important;
|
|
283
|
+
display: flex;
|
|
277
284
|
|
|
278
285
|
@media screen and (min-width: 62em) {
|
|
279
286
|
max-width: 28.125rem!important; /* (450) */
|
|
280
287
|
}
|
|
281
288
|
|
|
289
|
+
.input__wrapper {
|
|
290
|
+
flex-grow: 1;
|
|
291
|
+
}
|
|
282
292
|
input {
|
|
283
293
|
padding-top: 0.5rem;
|
|
284
294
|
padding-bottom: 0.5rem;
|
|
285
295
|
|
|
286
296
|
min-height: 2.5rem !important;
|
|
287
297
|
max-height: 2.5rem !important;
|
|
298
|
+
|
|
299
|
+
border-start-end-radius: 0 !important;
|
|
300
|
+
border-end-end-radius: 0 !important;
|
|
301
|
+
margin-top: 0!important;
|
|
288
302
|
}
|
|
289
303
|
|
|
290
304
|
:is(.prefix, .suffix) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
@use '../_func' as *;
|
|
2
2
|
|
|
3
3
|
@use '../elements/forms' as *;
|
|
4
|
+
@use '../elements/dropdown' as *;
|
|
4
5
|
@use '../elements/prefix' as *;
|
|
5
6
|
@use '../elements/buttons' as *;
|
|
6
7
|
@use '../elements/links' as *;
|
|
@@ -105,6 +106,110 @@ input[name='postcode'] {
|
|
|
105
106
|
|
|
106
107
|
/* change the datalist */
|
|
107
108
|
|
|
109
|
+
.dropdown {
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
top: 100%;
|
|
113
|
+
position: absolute;
|
|
114
|
+
//border-radius: 0.5rem;
|
|
115
|
+
//box-shadow: 0px 2px 9px rgba(0, 0, 0, 0.1);
|
|
116
|
+
//width: 100% !important;
|
|
117
|
+
/* max-width: var(--menu-item-width, 50rem) !important; */
|
|
118
|
+
//z-index: 100;
|
|
119
|
+
display: none;
|
|
120
|
+
//max-height: 25rem;
|
|
121
|
+
//overflow-y: auto;
|
|
122
|
+
|
|
123
|
+
//max-width: var(--input-max-width) !important;
|
|
124
|
+
padding: 0;
|
|
125
|
+
|
|
126
|
+
& > datalist {
|
|
127
|
+
border: none!important;
|
|
128
|
+
box-shadow: none!important;
|
|
129
|
+
position: static!important;
|
|
130
|
+
display: block!important;
|
|
131
|
+
border-radius: 0!important;
|
|
132
|
+
max-height: 100%!important;
|
|
133
|
+
margin: 0!important;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
&:focus {
|
|
137
|
+
outline: none!important;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.postcode-lookup:is(:focus-within,:has(*:active)) .dropdown:has(datalist:not(:empty)),
|
|
142
|
+
.postcode-lookup:is(:focus-within,:has(*:active)) .dropdown:has(datalist.loading),
|
|
143
|
+
.postcode-lookup:is(:focus-within,:has(*:active)) .dropdown:has(datalist.noresults),
|
|
144
|
+
.postcode-lookup .dropdown:hover {
|
|
145
|
+
|
|
146
|
+
display: block;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.postcode-lookup .dropdown:has(datalist.noresults){
|
|
150
|
+
datalist {
|
|
151
|
+
|
|
152
|
+
display: block;
|
|
153
|
+
|
|
154
|
+
&:before {
|
|
155
|
+
content: "No addresses found";
|
|
156
|
+
background-color: white;
|
|
157
|
+
padding: 0.5rem;
|
|
158
|
+
color: var(--colour-primary) !important;
|
|
159
|
+
font-weight: inherit !important;
|
|
160
|
+
font-family: inherit !important;
|
|
161
|
+
font-size: 1rem !important;
|
|
162
|
+
line-height: 1.1875rem !important;
|
|
163
|
+
padding-block: var(--menu-item-padding, 0.5rem) !important;
|
|
164
|
+
display: block;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.postcode-lookup:is(:focus-within,:has(option:active)) .dropdown:has(datalist.loading) {
|
|
170
|
+
|
|
171
|
+
datalist {
|
|
172
|
+
|
|
173
|
+
height: 5rem;
|
|
174
|
+
|
|
175
|
+
&:before {
|
|
176
|
+
content: "\f021";
|
|
177
|
+
font-family: "Font Awesome 7 Pro";
|
|
178
|
+
font-size: 1.75rem;
|
|
179
|
+
font-weight: 300;
|
|
180
|
+
display: block;
|
|
181
|
+
position: absolute;
|
|
182
|
+
top: calc(50% - 1rem);
|
|
183
|
+
left: calc(50% - 1rem);
|
|
184
|
+
/*transform: translate(-50%,-50%);*/
|
|
185
|
+
|
|
186
|
+
animation-name: spin;
|
|
187
|
+
animation-duration: 4000ms;
|
|
188
|
+
animation-iteration-count: infinite;
|
|
189
|
+
animation-timing-function: linear;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
/* #region welsh banner */
|
|
197
|
+
[name="beforeList"] {
|
|
198
|
+
display: none;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
[name="beforeList"]:has(+ .show-welsh-banner) {
|
|
202
|
+
//display: block;
|
|
203
|
+
}
|
|
204
|
+
.dropdown.show-welsh-banner [name="beforeList"] {
|
|
205
|
+
display: block;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/* #endregion*/
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
|
|
108
213
|
.postcode-lookup > div {
|
|
109
214
|
position: relative;
|
|
110
215
|
}
|
|
@@ -119,14 +224,41 @@ input[name='postcode'] {
|
|
|
119
224
|
}
|
|
120
225
|
|
|
121
226
|
|
|
227
|
+
.postcode-lookup label:has(.clear-search) {
|
|
228
|
+
position: relative;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/*
|
|
122
232
|
.postcode-lookup .empty {
|
|
123
233
|
display: var(--error-hide, block);
|
|
124
|
-
}
|
|
125
234
|
|
|
235
|
+
position: absolute;
|
|
236
|
+
bottom: 0.5rem;
|
|
237
|
+
right: 3.5rem;
|
|
238
|
+
margin: 0;
|
|
239
|
+
aspect-ratio: 1 / 1;
|
|
240
|
+
|
|
241
|
+
width: 2rem;
|
|
242
|
+
height: 2rem;
|
|
243
|
+
|
|
244
|
+
text-align: center;
|
|
245
|
+
line-height: 1;
|
|
246
|
+
|
|
247
|
+
&:not(:hover, :focus) {
|
|
248
|
+
border-color: transparent;
|
|
249
|
+
background-color: transparent;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
i {
|
|
253
|
+
font-size: 1.2rem;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
}
|
|
257
|
+
*/
|
|
126
258
|
|
|
127
259
|
.postcode-lookup:has(input.is-invalid) .datalist__wrapper,
|
|
128
260
|
.postcode-lookup:has(input.is-invalid) label:after,
|
|
129
|
-
.postcode-lookup:has(input.is-invalid) .
|
|
261
|
+
.postcode-lookup:has(input.is-invalid) .clear-search,
|
|
130
262
|
.postcode-lookup:has(input.is-invalid) [slot="hint"] {
|
|
131
263
|
display: none!important;
|
|
132
264
|
}
|