@iamproperty/components 7.6.0 → 7.6.2
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.component.css +1 -1
- package/assets/css/components/actionbar.component.css.map +1 -1
- package/assets/css/components/actionbar.global.css +1 -1
- package/assets/css/components/actionbar.global.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/address-lookup.preload.css +1 -1
- package/assets/css/components/address-lookup.preload.css.map +1 -1
- 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/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/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 +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 +1 -1
- package/assets/css/components/collapsible-side.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/darkmode.component.css +1 -1
- package/assets/css/components/darkmode.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.css +1 -1
- package/assets/css/components/header.css.map +1 -1
- package/assets/css/components/inline-edit.css +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/input-range.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/marketing.component.css +1 -1
- package/assets/css/components/marketing.component.css.map +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/multi-step-modal.global.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 +1 -1
- package/assets/css/components/multiselect.preload.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.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.preload.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/property-searchbar.css +1 -1
- package/assets/css/components/property-searchbar.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/slider.css +1 -1
- package/assets/css/components/slider.css.map +1 -1
- package/assets/css/components/snapshot.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/stepper.css.map +1 -1
- package/assets/css/components/table-basic.component.css +1 -1
- package/assets/css/components/table-basic.component.css.map +1 -1
- 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.component.css +1 -1
- package/assets/css/components/table.component.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/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/tooltip.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/accordion/accordion.component.min.js +1 -1
- package/assets/js/components/actionbar/actionbar.component.js +1 -1
- package/assets/js/components/actionbar/actionbar.component.min.js +7 -7
- package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.js +18 -2
- package/assets/js/components/address-lookup/address-lookup.component.min.js +5 -5
- package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
- package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +2 -2
- package/assets/js/components/barchart/barchart.component.min.js +7 -7
- package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
- package/assets/js/components/bento-grid/bento-grid.component.js +1 -0
- package/assets/js/components/bento-grid/bento-grid.component.min.js +2 -2
- package/assets/js/components/bento-grid/bento-grid.component.min.js.map +1 -1
- package/assets/js/components/calendar/calendar.component.min.js +5 -5
- package/assets/js/components/card/card.component.min.js +5 -5
- package/assets/js/components/card/card.component.min.js.map +1 -1
- package/assets/js/components/carousel/carousel.component.min.js +2 -2
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +4 -4
- package/assets/js/components/content/content.component.min.js +2 -2
- package/assets/js/components/darkmode/darkmode.component.js +42 -34
- package/assets/js/components/darkmode/darkmode.component.min.js +4 -4
- package/assets/js/components/darkmode/darkmode.component.min.js.map +1 -1
- package/assets/js/components/doughnutchart/doughnutchart.component.min.js +6 -6
- 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 +2 -2
- package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
- package/assets/js/components/header/header.component.min.js +4 -4
- package/assets/js/components/inline-edit/inline-edit.component.min.js +3 -3
- 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 +2 -2
- package/assets/js/components/menu/menu.component.min.js +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 +2 -2
- 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 +2 -2
- package/assets/js/components/multiselect/multiselect.component.min.js +4 -4
- package/assets/js/components/nav/nav.component.js +1 -1
- package/assets/js/components/nav/nav.component.min.js +7 -7
- 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 +5 -5
- package/assets/js/components/password/password.component.min.js +5 -5
- package/assets/js/components/popover/popover.component.min.js +2 -2
- package/assets/js/components/rank/rank.component.min.js +1 -1
- package/assets/js/components/rankings/rankings.component.min.js +7 -7
- package/assets/js/components/record-card/record-card.component.min.js +1 -1
- package/assets/js/components/search/search.component.min.js +1 -1
- package/assets/js/components/slider/slider.component.min.js +2 -2
- package/assets/js/components/split-button/split-button.component.min.js +2 -2
- package/assets/js/components/std-address-lookup/std-address-lookup.component.js +30 -3
- package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +11 -11
- package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
- package/assets/js/components/table/table.component.min.js +6 -6
- package/assets/js/components/table-ajax/table-ajax.component.min.js +6 -6
- package/assets/js/components/table-basic/table-basic.component.min.js +3 -3
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js +6 -6
- 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/tabs/tabs.component.min.js +4 -4
- package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
- package/assets/js/components/video-card/video-card.component.min.js +1 -1
- package/assets/js/components/word-count/word-count.component.min.js +1 -1
- package/assets/js/modules/chart.module.js +1 -1
- package/assets/js/scripts.bundle.js +1 -1
- package/assets/js/scripts.bundle.min.js +1 -1
- package/assets/sass/_bs_grid.scss +6 -4
- package/assets/sass/_bs_utilities.scss +51 -0
- package/assets/sass/_components.scss +16 -53
- package/assets/sass/_corefiles.scss +10 -40
- package/assets/sass/_elements.scss +25 -118
- package/assets/sass/_fonts.scss +3 -3
- package/assets/sass/_func.scss +0 -8
- package/assets/sass/_functions/bs_functions.scss +487 -0
- package/assets/sass/_functions/bs_mixins.scss +2103 -0
- package/assets/sass/_functions/bs_utilities.scss +1 -1
- package/assets/sass/_functions/{variables_old.scss → bs_variables.scss} +11 -9
- package/assets/sass/_functions/functions.scss +9 -449
- package/assets/sass/_functions/mixins.scss +1 -643
- package/assets/sass/_functions/utility-mixins.scss +1 -1506
- package/assets/sass/_functions/variables.scss +1 -809
- package/assets/sass/_grid.scss +51 -39
- package/assets/sass/_utilities.scss +28 -50
- package/assets/sass/components/actionbar.component.scss +35 -41
- package/assets/sass/components/actionbar.global.scss +8 -8
- package/assets/sass/components/address-lookup.component.scss +4 -9
- package/assets/sass/components/address-lookup.preload.scss +13 -3
- package/assets/sass/components/barchart.component.scss +14 -14
- package/assets/sass/components/calendar.component.scss +20 -20
- package/assets/sass/components/calendar.config.scss +19 -19
- package/assets/sass/components/card.component.scss +8 -10
- package/assets/sass/components/card.module.scss +9 -9
- package/assets/sass/components/carousel.component.scss +15 -15
- package/assets/sass/components/carousel.config.scss +5 -5
- package/assets/sass/components/charts.config.scss +6 -6
- package/assets/sass/components/charts.module.scss +16 -69
- package/assets/sass/components/charts.scss +8 -8
- package/assets/sass/components/collapsible-side.scss +43 -48
- package/assets/sass/components/darkmode.component.scss +3 -5
- package/assets/sass/components/doughnutchart.component.scss +4 -4
- package/assets/sass/components/fileupload.scss +23 -24
- package/assets/sass/components/filter-card.component.scss +10 -10
- package/assets/sass/components/header.scss +4 -4
- package/assets/sass/components/inline-edit.preload.scss +5 -5
- package/assets/sass/components/inline-edit.scss +1 -1
- package/assets/sass/components/input-range.component.scss +2 -2
- package/assets/sass/components/input.component.scss +2 -3
- package/assets/sass/components/marketing.component.scss +1 -1
- package/assets/sass/components/menu.component.scss +6 -6
- package/assets/sass/components/menu.global.scss +6 -6
- package/assets/sass/components/milestone.scss +2 -2
- package/assets/sass/components/modal.component.scss +9 -9
- package/assets/sass/components/multi-step-modal.component.scss +14 -14
- package/assets/sass/components/multi-step-modal.global.scss +2 -2
- package/assets/sass/components/multi-step.component.scss +10 -10
- package/assets/sass/components/multiselect.preload.scss +5 -5
- package/assets/sass/components/multiselect.scss +11 -16
- package/assets/sass/components/nav.component.scss +81 -97
- package/assets/sass/components/nav.docs.scss +2 -2
- package/assets/sass/components/nav.global.scss +131 -65
- package/assets/sass/components/nav.preload.scss +8 -8
- package/assets/sass/components/notification.scss +30 -45
- package/assets/sass/components/pagination.scss +15 -15
- package/assets/sass/components/password.component.scss +6 -10
- package/assets/sass/components/popover.component.scss +5 -5
- package/assets/sass/components/property-searchbar.scss +10 -10
- package/assets/sass/components/rank.component.scss +3 -3
- package/assets/sass/components/rankings.component.scss +2 -2
- package/assets/sass/components/rankings.global.scss +7 -7
- package/assets/sass/components/record-card.component.scss +4 -4
- package/assets/sass/components/slider.scss +3 -3
- package/assets/sass/components/snapshot.scss +2 -2
- package/assets/sass/components/stepper.scss +7 -7
- package/assets/sass/components/table-basic.component.scss +6 -5
- package/assets/sass/components/table-basic.global.scss +18 -19
- package/assets/sass/components/table.component.scss +1 -1
- package/assets/sass/components/table.global.scss +7 -14
- package/assets/sass/components/tabs.config.scss +10 -10
- package/assets/sass/components/testimonial.scss +7 -7
- package/assets/sass/components/timeline.scss +2 -2
- package/assets/sass/components/tooltip.component.scss +3 -3
- package/assets/sass/core.scss +1 -13
- package/assets/sass/elements/admin-panel.scss +20 -24
- package/assets/sass/elements/badge-tag.scss +9 -9
- package/assets/sass/elements/brand.css +80 -0
- package/assets/sass/elements/buttons--action.scss +8 -8
- package/assets/sass/elements/buttons--compact.scss +20 -20
- package/assets/sass/elements/buttons--global.scss +31 -33
- package/assets/sass/elements/buttons--secondary.scss +4 -4
- package/assets/sass/elements/buttons--special.scss +3 -3
- package/assets/sass/elements/buttons--tertiary.scss +7 -7
- package/assets/sass/elements/buttons.scss +9 -33
- package/assets/sass/elements/code.css +46 -0
- package/assets/sass/elements/container.scss +14 -63
- package/assets/sass/elements/details.scss +35 -35
- package/assets/sass/elements/dialog.scss +7 -7
- package/assets/sass/elements/feature.scss +4 -4
- package/assets/sass/elements/forms.scss +125 -92
- package/assets/sass/elements/{hr.scss → hr.css} +1 -10
- package/assets/sass/elements/{icons.scss → icons.css} +6 -12
- package/assets/sass/elements/input.scss +58 -8
- package/assets/sass/elements/links.scss +27 -26
- package/assets/sass/elements/lists--breadcrumbs.scss +26 -0
- package/assets/sass/elements/lists--steps.css +171 -0
- package/assets/sass/elements/lists--tick-list.scss +81 -0
- package/assets/sass/elements/lists.scss +19 -310
- package/assets/sass/elements/media.css +20 -0
- package/assets/sass/elements/modal.scss +23 -23
- package/assets/sass/elements/popover.scss +13 -13
- package/assets/sass/elements/prefix.scss +9 -9
- package/assets/sass/elements/progress.scss +24 -24
- package/assets/sass/elements/table.element.scss +19 -19
- package/assets/sass/elements/toggle-button.scss +4 -4
- package/assets/sass/elements/tooltips.scss +41 -49
- package/assets/sass/elements/type.css +158 -0
- package/assets/sass/email.scss +7 -6
- package/assets/sass/error.scss +7 -14
- package/assets/sass/foundations/colours.scss +91 -0
- package/assets/sass/foundations/reboot.scss +17 -71
- package/assets/sass/foundations/root.scss +293 -125
- package/assets/sass/main.scss +3 -13
- package/assets/sass/templates/auth.scss +14 -18
- package/assets/sass/templates/form.scss +13 -18
- package/assets/sass/utilities/align.scss +25 -0
- package/assets/sass/utilities/border.scss +81 -0
- package/assets/sass/utilities/clearfix.scss +9 -0
- package/assets/sass/utilities/colours.scss +43 -0
- package/assets/sass/utilities/display.scss +90 -0
- package/assets/sass/utilities/fixed.scss +17 -0
- package/assets/sass/utilities/flex.scss +150 -0
- package/assets/sass/utilities/gap.scss +8 -0
- package/assets/sass/utilities/gradients.scss +40 -0
- package/assets/sass/utilities/js-display.scss +13 -0
- package/assets/sass/utilities/line-clamp.scss +25 -0
- package/assets/sass/utilities/margins.scss +75 -0
- package/assets/sass/utilities/max-height.scss +94 -0
- package/assets/sass/utilities/opacity.scss +21 -0
- package/assets/sass/utilities/order.scss +43 -0
- package/assets/sass/utilities/overflow.scss +17 -0
- package/assets/sass/utilities/paddings.scss +34 -0
- package/assets/sass/utilities/pointer-events.scss +9 -0
- package/assets/sass/utilities/position.scss +90 -0
- package/assets/sass/utilities/ratio.scss +33 -0
- package/assets/sass/utilities/rounded.scss +57 -0
- package/assets/sass/utilities/sizes.scss +89 -0
- package/assets/sass/utilities/sticky.scss +39 -0
- package/assets/sass/utilities/text-truncate.scss +7 -0
- package/assets/sass/utilities/text.scss +122 -0
- package/assets/sass/utilities/visible.scss +9 -0
- package/assets/sass/utilities/visually-hidden.scss +14 -0
- package/assets/sass/utilities/wider-colours.scss +10 -0
- package/assets/ts/components/actionbar/actionbar.component.ts +1 -1
- package/assets/ts/components/address-lookup/address-lookup.component.ts +24 -3
- package/assets/ts/components/bento-grid/bento-grid.component.ts +1 -0
- package/assets/ts/components/darkmode/darkmode.component.ts +55 -36
- package/assets/ts/components/input/input.component.ts +3 -3
- package/assets/ts/components/modal/modal.component.ts +2 -2
- package/assets/ts/components/multi-step-modal/multi-step-modal.component.ts +2 -2
- package/assets/ts/components/multiselect/multiselect.component.ts +1 -1
- package/assets/ts/components/nav/nav.component.ts +1 -1
- package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +38 -5
- package/assets/ts/modules/advanced-select.ts +1 -1
- package/assets/ts/modules/applied-filters.ts +2 -2
- package/assets/ts/modules/chart.module.ts +1 -1
- package/dist/components.es.js +28 -28
- package/dist/components.umd.js +186 -186
- package/package.json +6 -7
- package/src/components/Snapshot/Snapshot.vue +1 -1
- package/assets/css/mobile-core.min.css +0 -1
- package/assets/css/mobile-core.min.css.map +0 -1
- package/assets/css/mobile.min.css +0 -1
- package/assets/css/mobile.min.css.map +0 -1
- package/assets/sass/_example.scss +0 -61
- package/assets/sass/_tests/colours.spec.js +0 -9
- package/assets/sass/_tests/colours.spec.scss +0 -32
- package/assets/sass/_tests/func.spec.js +0 -9
- package/assets/sass/_tests/func.spec.scss +0 -196
- package/assets/sass/_tests/mixins.spec.js +0 -9
- package/assets/sass/_tests/mixins.spec.scss +0 -113
- package/assets/sass/_tests/typography.spec.js +0 -9
- package/assets/sass/_tests/typography.spec.scss +0 -35
- package/assets/sass/_utility-mixins.scss +0 -38
- package/assets/sass/elements/brand.scss +0 -83
- package/assets/sass/elements/media.scss +0 -26
- package/assets/sass/elements/type.scss +0 -174
- package/assets/sass/helpers/dynamic.scss +0 -15
- package/assets/sass/helpers/line-clamp.scss +0 -0
- package/assets/sass/helpers/max-height.scss +0 -86
- package/assets/sass/helpers/wider-colours.scss +0 -8
- package/assets/sass/mobile-core.scss +0 -14
- package/assets/sass/mobile.scss +0 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address-lookup.component.min.js","sources":["../../modules/advanced-select.js","../../modules/helpers.js","address-lookup.component.js"],"sourcesContent":["function advancedSelect(advancedSelect, displayInputField, datalist, isSearch = false) {\n let currentFocus = -1;\n const datalistWrapper = datalist.closest('.datalist__wrapper') ? datalist.closest('.datalist__wrapper') : datalist;\n // Hide the default datalist\n displayInputField.setAttribute('data-list', displayInputField.getAttribute('list'));\n displayInputField.setAttribute('list', '');\n if (displayInputField.hasAttribute('placeholder'))\n displayInputField.setAttribute('data-placeholder', displayInputField.getAttribute('placeholder'));\n if (displayInputField.hasAttribute('placeholder'))\n displayInputField.setAttribute('data-original-placeholder', displayInputField.getAttribute('placeholder'));\n displayInputField.addEventListener('focus', function () {\n if (displayInputField.value != \"\") {\n displayInputField.setAttribute('placeholder', displayInputField.value);\n displayInputField.setAttribute('data-value', displayInputField.value);\n }\n displayInputField.value = '';\n });\n displayInputField.addEventListener('keyup', function () {\n if (displayInputField.value != \"\") {\n displayInputField.setAttribute('data-value', displayInputField.value);\n }\n });\n displayInputField.addEventListener('blur', function () {\n if (displayInputField.hasAttribute('data-value')) {\n displayInputField.value = displayInputField.getAttribute('data-value');\n }\n if (displayInputField.hasAttribute('data-placeholder'))\n displayInputField.setAttribute('placeholder', displayInputField.getAttribute('data-placeholder'));\n });\n for (const option of datalist.options) {\n if (option.innerHTML == '')\n option.innerHTML = option.value;\n }\n datalist.addEventListener('click', function (event) {\n if (event && event.target instanceof HTMLElement && event.target.closest('option')) {\n const option = event.target.closest('option');\n displayInputField.value = option.value;\n if (typeof window.triggerDynamicEvent == 'function')\n window.triggerDynamicEvent(displayInputField);\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n }\n option.classList.add('active');\n }\n });\n displayInputField.addEventListener('input', function () {\n displayInputField.removeAttribute('data-value');\n currentFocus = -1;\n const text = displayInputField.value.toUpperCase();\n for (const option of datalist.options) {\n if (option.value.toUpperCase().indexOf(text) > -1) {\n option.style.display = 'block';\n option.classList.remove('hide');\n }\n else {\n option.style.display = 'none';\n option.classList.add('hide');\n }\n }\n });\n advancedSelect.addEventListener('keydown', function (e) {\n if (e.keyCode == 40) {\n currentFocus++;\n addActive(datalist.options);\n }\n else if (e.keyCode == 38) {\n currentFocus--;\n addActive(datalist.options);\n }\n else if (e.keyCode == 13) {\n e.preventDefault();\n if (currentFocus > -1) {\n /*and simulate a click on the \"active\" item:*/\n if (datalist.options)\n datalist.options[currentFocus].click();\n }\n }\n });\n function addActive(x) {\n if (!x)\n return false;\n removeActive(x);\n if (currentFocus >= x.length)\n currentFocus = 0;\n if (currentFocus < 0)\n currentFocus = x.length - 1;\n x[currentFocus].classList.add('active');\n }\n function removeActive(x) {\n if (!x)\n return false;\n for (let i = 0; i < x.length; i++) {\n x[i].classList.remove('active');\n }\n }\n // Add the empty button\n displayInputField\n .closest('label')\n .insertAdjacentHTML('beforeend', '<button class=\"empty btn btn-action\" type=\"button\"><i class=\"fa-light fa-times me-0\"></i></button>');\n const emptyField = () => {\n displayInputField.removeAttribute('placeholder');\n if (displayInputField.hasAttribute('data-original-placeholder'))\n displayInputField.setAttribute('placeholder', displayInputField.getAttribute('data-original-placeholder'));\n displayInputField.removeAttribute('data-value');\n displayInputField.value = '';\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n optionInner.removeAttribute('style');\n }\n const updateEvent = new CustomEvent('close-button-pressed');\n advancedSelect.dispatchEvent(updateEvent);\n };\n const closeBtn = advancedSelect.querySelector('.empty') ? advancedSelect.querySelector('.empty') : advancedSelect.shadowRoot.querySelector('.empty');\n closeBtn.addEventListener('click', function (e) {\n emptyField();\n });\n advancedSelect.addEventListener('empty', function (e) {\n emptyField();\n });\n}\nexport default advancedSelect;\n","/**\n * Global helper functions to help maintain and enhance framework elements.\n * @module Helpers\n */\n/**\n * Add global classes used by the CSS and later JavaScript.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addBodyClasses = (body) => {\n body.classList.add('js-enabled');\n if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {\n body.classList.add('ie');\n }\n};\n/**\n * Add global events.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addGlobalEvents = (body) => {\n const checkElements = function (hash) {\n const label = document.querySelector(`label[for=\"${hash.replace('#', '')}\"]`);\n const summary = document.querySelector(hash + ' summary');\n const dialog = document.querySelector(`dialog${hash}`);\n const detail = document.querySelector(`detail${hash}`);\n if (label instanceof HTMLElement)\n label.click();\n else if (summary instanceof HTMLElement)\n summary.click();\n else if (dialog instanceof HTMLElement)\n dialog.showModal();\n else if (detail instanceof HTMLElement)\n detail.addAttribute('open');\n };\n if (location.hash)\n checkElements(location.hash);\n window.addEventListener('hashchange', function () {\n checkElements(location.hash);\n }, false);\n addEventListener('popstate', (event) => {\n if (event && event.state && event.state.type && event.state.type == 'pagination') {\n const form = document.querySelector(`#${event.state.form}`);\n const pageInput = document.querySelector(`#${event.state.form} [data-pagination]`);\n if (pageInput)\n pageInput.value = event.state.page;\n else\n form.innerHTML += `<input name=\"page\" type=\"hidden\" data-pagination=\"true\" value=\"${event.state.page}\" />`;\n form.dispatchEvent(new Event('submit'));\n }\n });\n Array.from(document.querySelectorAll('form')).forEach((form) => {\n form.addEventListener('submit', (event) => {\n var _a;\n if (form.querySelector(':invalid')) {\n form.classList.add('was-validated');\n (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n event.preventDefault();\n }\n });\n });\n document.addEventListener('click', (event) => {\n var _a;\n if (event && event.target instanceof HTMLElement && event.target.matches('form button:not([type=button])')) {\n const form = event.target.closest('form');\n // Reset password types\n Array.from(form.querySelectorAll('[data-password-type]')).forEach((input) => {\n input.setAttribute('type', 'password');\n });\n if (form.querySelector(':invalid') ||\n form.querySelector('.pwd-checker[data-strength=\"1\"]') ||\n form.querySelector('.pwd-checker[data-strength=\"2\"]')) {\n form.classList.add('was-validated');\n (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n event.preventDefault();\n }\n if (form.querySelector('iam-multiselect[data-is-required][data-error]')) {\n form.classList.add('was-validated');\n event.preventDefault();\n }\n }\n });\n document.addEventListener('keydown', (e) => {\n if (e.key === 'Escape') {\n if (document.querySelector('.dialog--transactional[open], .dialog--acknowledgement[open]')) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n });\n Array.from(document.querySelectorAll('label progress')).forEach((progress) => {\n const label = progress.closest('label');\n label.setAttribute('data-percent', progress.getAttribute('value'));\n });\n};\nexport const isNumeric = function (str) {\n if (typeof str != 'string')\n return false; // we only process strings!\n return (!isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\n !isNaN(parseFloat(str))); // ...and ensure strings of whitespace fail\n};\nexport const zeroPad = (num, places) => String(num).padStart(places, '0');\nexport const ucfirst = (str) => str.charAt(0).toUpperCase() + str.slice(1);\nexport const ucwords = (str) => str\n .split(' ')\n .map((s) => ucfirst(s))\n .join(' ');\nexport const unsnake = (str) => str.replace(/_/g, ' ');\nexport const snake = (str) => str.replace(/ /g, '_');\nexport const safeID = function (str) {\n str = str.toLowerCase();\n str = snake(str);\n str = str.replace(/\\W/g, '');\n return str;\n};\nexport const numberOfDays = function (startDateString, endDateString) {\n const convertStart = startDateString.split('/');\n const convertEnd = endDateString.split('/');\n const dateStart = new Date(convertStart[1] + '/' + convertStart[0] + '/' + convertStart[2]);\n const dateEnd = new Date(convertEnd[1] + '/' + convertEnd[0] + '/' + convertEnd[2]);\n if (dateStart == 'Invalid Date')\n throw 'Start date is not a valid date';\n if (dateEnd == 'Invalid Date')\n throw 'End date is not a valid date';\n // To calculate the time difference of two dates\n const diffTime = dateEnd.getTime() - dateStart.getTime();\n const numberOfDays = diffTime / (1000 * 3600 * 24) + 1;\n if (numberOfDays < 0)\n throw 'The start date should be before the end date';\n return numberOfDays;\n};\n// Used to get values from nested json objects\nexport const resolvePath = (object, path, defaultValue) => path\n // eslint-disable-next-line no-useless-escape\n .split(/[\\.\\[\\]\\'\\\"]/)\n .filter((p) => p)\n .reduce((o, p) => (o ? o[p] : defaultValue), object);\nexport const isTraversable = (o) => Array.isArray(o) || (o !== null && ['function', 'object'].includes(typeof o));\nexport const getSwipeDirection = (touchstartX, touchstartY, touchendX, touchendY) => {\n const limit = Math.tan(((45 * 1.5) / 180) * Math.PI);\n const pageWidth = window.innerWidth || document.body.clientWidth;\n const treshold = Math.max(1, Math.floor(0.01 * pageWidth));\n const x = touchendX - touchstartX;\n const y = touchendY - touchstartY;\n const xy = Math.abs(x / y);\n const yx = Math.abs(y / x);\n if (Math.abs(x) > treshold || Math.abs(y) > treshold) {\n if (yx <= limit) {\n if (x < 0) {\n return 'left';\n }\n else {\n return 'right';\n }\n }\n if (xy <= limit) {\n if (y < 0) {\n return 'top';\n }\n else {\n return 'bottom';\n }\n }\n }\n else {\n return 'tap';\n }\n};\nexport const uniqueID = (index = 1) => {\n const ID = Math.floor(Math.random() * Date.now() * (index + 1));\n return ID;\n};\nexport const isValidPostcode = (searchValue) => {\n const regexp = /^([A-Z][A-HJ-Y]?[0-9][A-Z0-9]? ?[0-9][A-Z]{2}|GIR ?0A{2})$/gmi;\n return regexp.test(searchValue.trim());\n};\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport Cookies from 'js-cookie';\nimport advancedSelect from '../../modules/advanced-select.js';\nimport { isValidPostcode } from '../../modules/helpers.js';\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Address Lookup',\n});\nclass iamAddressLookup extends HTMLElement {\n constructor() {\n var _a;\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/address-lookup.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${loadCSS}\n \n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/26fdbf0179.css\" crossorigin=\"anonymous\" />\n <div class=\"wrapper\">\n\n <div class=\"matched d-none\">\n <div class=\"inner\">\n <p><span class=\"matched-address\"></span></p>\n <button class=\"link use-matched\">Yes, use this address</button>\n <button class=\"link use-entered\">No, use the address I entered</button>\n </div>\n <span class=\"invalid-feedback\">We found a matching address based on the details you entered. Is this address correct?</span>\n </div>\n <div class=\"postcode-lookup was-validated\">\n <div>\n <label class=\"mb-1\"><span class=\"title text-lowercase\"></span>\n <span>\n <input type=\"text\" name=\"postcode\" class=\"${this.hasAttribute('data-input-class') ? this.getAttribute('data-input-class') : ''}\" list=\"address-lookup__addressess\" autocomplete=\"one-time-code\" aria-autocomplete=\"none\" placeholder=\"${(this === null || this === void 0 ? void 0 : this.hasAttribute('data-placeholder')) ? this === null || this === void 0 ? void 0 : this.getAttribute('data-placeholder') : 'Postcode'}\" value=\"${this.hasAttribute('data-postcode-value') ? this.getAttribute('data-postcode-value') : ''}\" part=\"input\" />\n <button id=\"postcode__submit\" class=\"suffix fa-regular fa-search\" part=\"suffix\"></button>\n </span>\n </label>\n \n <span class=\"invalid-feedback mb-2\">${this.hasAttribute('data-error-msg') ? this.getAttribute('data-error-msg') : 'Required address fields'}</span>\n\n <div class=\"datalist__wrapper ${this.hasAttribute('data-list-class') ? this.getAttribute('data-list-class') : ''}\" tabindex=\"0\" part=\"list-wrapper\">\n <slot name=\"beforeList\"></slot>\n <slot name=\"preloadedList\"></slot>\n <datalist id=\"address-lookup__addressess\" class=\"\"></datalist>\n <div id=\"paginationWrapper\"></div>\n <slot name=\"afterList\"></slot>\n </div>\n </div>\n <slot name=\"hint\"></slot>\n <div class=\"actions\">\n <button class=\"btn btn-tertiary switch-to-manual-btn\" type=\"button\" part=\"manualButton\">Or enter address manually</button>\n <slot name=\"actions\"></slot>\n </div>\n </div>\n\n <div class=\"manual-address pb-2 js-hide\">\n <slot part=\"contents\"></slot>\n <button class=\"btn btn-tertiary switch-to-lookup-btn\" type=\"button\" part=\"button\">${this.hasAttribute('data-postcode-lookup-label') ? this.getAttribute('data-postcode-lookup-label') : 'Use postcode lookup'}</button>\n <slot name=\"after\"></slot>\n </div>\n <div class=\"pre-filled p-2 js-hide\">\n <strong class=\"title text-primary d-block\"></strong>\n <p><span class=\"pre-filled-address\"></span>\n <button class=\"link m-0 text-primary ms-2 cursor-pointer\" type=\"button\" part=\"edit-button\">\n <i class=\"fa-regular fa-pen-to-square m-0\"></i> <span class=\"visually-hidden\">Edit</span>\n </button>\n <button class=\"link m-0 text-primary ms-2 cursor-pointer\" type=\"button\" part=\"remove-button\">\n <i class=\"fa-regular fa-trash m-0\"></i> <span class=\"visually-hidden\">Remove</span>\n </button>\n <slot name=\"prefilled\"></slot></p>\n </div>\n </div>\n `;\n (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c;\n const lookup = this.shadowRoot.querySelector('[name=\"postcode\"]');\n const lookupWrapper = this.shadowRoot.querySelector('.postcode-lookup');\n const manualWrapper = this.shadowRoot.querySelector('.manual-address');\n const preFilledWrapper = this.shadowRoot.querySelector('.pre-filled');\n const list = this.querySelector('datalist[slot=\"preloadedList\"]') ? this.querySelector('datalist[slot=\"preloadedList\"]') : this.shadowRoot.querySelector('.datalist__wrapper datalist');\n const listWrapper = this.shadowRoot.querySelector('.datalist__wrapper');\n const switchManualBtn = this.shadowRoot.querySelector('.switch-to-manual-btn');\n const switchLookupBtn = this.shadowRoot.querySelector('.switch-to-lookup-btn');\n const title = this.hasAttribute('data-title') ? this.getAttribute('data-title') : 'Find an address';\n const preFilledAddressBtn = this.shadowRoot.querySelector('[part=\"edit-button\"]');\n const preFilledAddressRemoveBtn = this.shadowRoot.querySelector('[part=\"remove-button\"]');\n const dataDisplayText = this.hasAttribute('data-display-text');\n const postcodeSubmit = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#postcode__submit');\n const errorMsg = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.invalid-feedback');\n const paginationWrapper = (_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#paginationWrapper');\n const minChars = this.hasAttribute('data-min-chars') ? parseInt(this.getAttribute('data-min-chars')) : 3;\n let pageNumber = 1;\n const atleastone = this.querySelector('.atleastone');\n const matchedAddress = this.shadowRoot.querySelector('.matched-address');\n const matchedAddressWrapper = this.shadowRoot.querySelector('.matched');\n const matchedAddressUse = this.shadowRoot.querySelector('.matched .use-matched');\n const matchedAddressEntered = this.shadowRoot.querySelector('.matched .use-entered');\n Array.from(this.shadowRoot.querySelectorAll('.title')).forEach((titleElement) => {\n titleElement.innerHTML = title;\n });\n // #region functions\n function checkFilled(component) {\n const preFilledAddress = component.shadowRoot.querySelector('.pre-filled-address');\n let preFilled = true;\n preFilledAddress.innerHTML = '';\n Array.from(component.querySelectorAll('input[required],input[data-required],select[required],select[data-required]')).forEach((input) => {\n let value = input.hasAttribute('data-value') ? input.getAttribute('data-value') : input.value;\n if (input.tagName == \"SELECT\" && component.querySelector(`[value=\"${input.value}\"][data-value]`))\n value = component.querySelector(`[value=\"${input.value}\"][data-value]`).getAttribute('data-value');\n if (!value) {\n if (input.closest('.atleastone')) {\n if (!atleastone.querySelector('input:valid, input.is-valid')) {\n preFilled = false;\n }\n }\n else {\n preFilled = false;\n }\n }\n else {\n preFilledAddress.innerHTML += value + (/^-?\\d+$/.test(value) ? ' ' : ', ');\n }\n });\n preFilledAddress.innerHTML = preFilledAddress.innerHTML.slice(0, -2);\n // If has label then use that\n if (preFilled) {\n if (component.querySelector('[name=\"label\"]'))\n preFilledAddress.innerHTML = component.querySelector('[name=\"label\"]').value;\n // If has label then use that\n preFilledWrapper.classList.remove('js-hide');\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.add('js-hide');\n }\n }\n function openManualWrapper() {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n Array.from(manualWrapper.querySelectorAll('[data-required]')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n manualWrapper.scrollIntoView();\n }\n const atleastoneValidate = () => {\n if (atleastone.querySelector('input:valid, input.is-valid')) {\n Array.from(atleastone.querySelectorAll('input')).forEach(element => {\n element.removeAttribute('required');\n });\n }\n else {\n Array.from(atleastone.querySelectorAll('input')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n }\n };\n const fillInputs = (values) => {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n Object.keys(values).forEach((key) => {\n const value = values[key];\n let input = false;\n if (this.querySelector(`[data-name=\"${key}\"]`))\n input = this.querySelector(`[data-name=\"${key}\"]`);\n else if (this.querySelector(`[data-name-alt=\"${key}\"]`))\n input = this.querySelector(`[data-name-alt=\"${key}\"]`);\n else if (this.querySelector(`[name=\"${key}\"]`))\n input = this.querySelector(`[name=\"${key}\"]`);\n if (input && input.tagName == \"SELECT\" && value.id) {\n input.value = value.id;\n }\n else if (input && value != '') {\n input.value = value;\n if (input.hasAttribute('data-readonly')) {\n input.setAttribute('readonly', true);\n input.classList.add('is-valid');\n }\n }\n else if (value != \"\") {\n this.insertAdjacentHTML('beforeend', `<input type=\"hidden\" class=\"inserted\" data-hidden name=\"${key}\" value=\"${value}\" />`);\n }\n if (this.querySelector(`[data-name-2=\"${key}\"]`))\n this.querySelector(`[data-name-2=\"${key}\"]`).value += ' ' + value;\n });\n Array.from(this.querySelectorAll('[data-required]')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n lookup.removeAttribute('required');\n if (atleastone) {\n atleastoneValidate();\n }\n if (!this.hasAttribute('data-force-manual'))\n checkFilled(this);\n };\n const search = (searchValue_1, ...args_1) => __awaiter(this, [searchValue_1, ...args_1], void 0, function* (searchValue, paginate = false) {\n // check if postcode is valid\n const limit = this.hasAttribute('data-limit') ? parseInt(this.getAttribute('data-limit')) : 100;\n if (paginate)\n pageNumber++;\n else\n pageNumber = 1;\n let ajaxURL = this.getAttribute('data-url');\n ajaxURL += `${encodeURI(searchValue)}&page[number]=${pageNumber}&page[size]=${limit}`;\n if (this.hasAttribute('data-url-2')) {\n ajaxURL += this.getAttribute('data-url-2');\n }\n const postcode = searchValue; // TODO: remove when postcode comes from response\n if (this.hasAttribute('data-postcode')) {\n if (!isValidPostcode(searchValue)) {\n return \"Invalid postcode, please enter a valid postcode\";\n }\n else {\n if (!paginate)\n list.innerHTML = \"\";\n list === null || list === void 0 ? void 0 : list.classList.add('loading');\n list === null || list === void 0 ? void 0 : list.classList.remove('noresults');\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.remove('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = \"\";\n list === null || list === void 0 ? void 0 : list.classList.remove('show-welsh-banner');\n Array.from(this.querySelectorAll('[data-required]')).forEach((input) => {\n input.removeAttribute('required');\n });\n Array.from(this.querySelectorAll('[data-readonly]')).forEach((input) => {\n input.removeAttribute('readonly');\n input.classList.remove('is-valid');\n });\n Array.from(this.querySelectorAll('.inserted')).forEach((input) => {\n input.remove();\n });\n }\n }\n this.classList.add('searched');\n this.classList.add('was-validated');\n // Setup controller vars if not already set\n if (!window.controller)\n window.controller = [];\n // Abort if controller already present for this url\n if (window.controller[ajaxURL])\n window.controller[ajaxURL].abort();\n // Create a new controller so it can be aborted if new fetch made\n window.controller[ajaxURL] = new AbortController();\n const { signal } = controller[ajaxURL];\n try {\n return yield fetch(ajaxURL, {\n signal: signal,\n method: 'get',\n credentials: 'same-origin',\n headers: new Headers({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),\n }),\n })\n .then((response) => response.json())\n .then((response) => {\n var _a;\n // populate datalist\n let listString = '';\n const addresses = response['data'] ? response['data'] : response;\n addresses.forEach((address) => {\n // Deal with agent platform response\n if (typeof address.attributes == 'object' && address.attributes.label) {\n const values = JSON.stringify(address.attributes);\n listString += `<option data-values='${values}' >${address.attributes.label}</option>`;\n }\n else if (typeof address.value == 'object') {\n const values = JSON.stringify(address.value);\n listString += `<option data-values='${values}'>${address['label']}, ${postcode}</option>`;\n }\n else {\n const values = JSON.stringify(address);\n if (dataDisplayText) {\n listString += `<option data-values='${values}'>${address[dataDisplayText]}, ${postcode}</option>`;\n }\n else {\n let itemString = '';\n for (const [key, value] of Object.entries(address)) {\n if (key == 'address_number_name')\n itemString += `${value} `;\n else if (key != 'postcode' && key != 'address_title' && key != 'group')\n itemString += `${value}${/^-?\\d+$/.test(value) ? '' : ','} `;\n }\n listString += `<option data-values='${values}'>${itemString}, ${postcode}</option>`; // TODO postcode should come from the response\n }\n }\n });\n if (paginate)\n list.innerHTML += listString;\n else\n list.innerHTML = listString;\n if (addresses.length) {\n list === null || list === void 0 ? void 0 : list.classList.remove('loading');\n }\n else {\n list === null || list === void 0 ? void 0 : list.classList.remove('loading');\n list === null || list === void 0 ? void 0 : list.classList.add('noresults');\n }\n // pagination\n if (response.meta && response.meta.current_page && response.meta.total_pages && response.meta.total_pages > response.meta.current_page) {\n paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.innerHTML = `<div class=\"bg-light text-center p-2\"><p class=\"m-0\">Showing 1-${response.meta.current_page * limit} of ${response.meta.total_results} addresses <br /><button type=\"button\" data-next=\"${response.meta.current_page + 1}\" class=\"mt-1 mb-0 btn btn-action\"><i class=\"fa-regular fa-eye me-1\"></i>Show more addresses</button></p></div>`;\n }\n else {\n paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.innerHTML = '';\n }\n if (response.meta && response.meta.welsh_language) {\n list === null || list === void 0 ? void 0 : list.classList.add('show-welsh-banner');\n }\n listWrapper === null || listWrapper === void 0 ? void 0 : listWrapper.focus();\n (_a = list === null || list === void 0 ? void 0 : list.querySelector('option')) === null || _a === void 0 ? void 0 : _a.focus();\n return true;\n });\n }\n catch (error) {\n console.log(error);\n return \"There has been a problem. Please try again in a few moments.\";\n }\n });\n // #endregion\n // #region check attributes and trigger functions \n if (!this.hasAttribute('data-force-manual'))\n checkFilled(this);\n this.addEventListener('filled', () => {\n if (!this.hasAttribute('data-force-manual'))\n checkFilled(this);\n });\n if (this.hasAttribute('data-use')) {\n const useLabel = this.hasAttribute('data-use-label') ? this.getAttribute('data-use-label') : 'Use saved address';\n const useCheckbox = `<div><input type=\"checkbox\" name=\"use\" id=\"use\" value=\"yes\"><label for=\"use\">${useLabel}</label></div>`;\n lookupWrapper.insertAdjacentHTML('afterbegin', useCheckbox);\n this.shadowRoot.addEventListener('change', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('[name=\"use\"]')) {\n const checkbox = event.target.closest('[name=\"use\"]');\n if (checkbox.checked) {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n const values = JSON.parse(this.getAttribute('data-use'));\n Object.keys(values).forEach((key) => {\n const value = values[key];\n if (this.querySelector(`[data-name=\"${key}\"]`))\n this.querySelector(`[data-name=\"${key}\"]`).value = value;\n else if (this.querySelector(`[name=\"${key}\"]`))\n this.querySelector(`[name=\"${key}\"]`).value = value;\n });\n }\n }\n });\n if (this.hasAttribute('data-use-default')) {\n lookupWrapper.querySelector('[name=\"use\"]').checked = true;\n const values = JSON.parse(this.getAttribute('data-use'));\n fillInputs(values);\n }\n }\n if (this.hasAttribute('data-manual')) {\n fillInputs({});\n }\n if (this.classList.contains('show-pagination'))\n paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.innerHTML = `<div class=\"bg-light text-center p-2\"><p class=\"m-0\">Showing 1-500 of 585 addresses <br /><button type=\"button\" data-next=\"2\" class=\"mt-1 mb-0 btn btn-action\"><i class=\"fa-regular fa-eye me-1\"></i>Show more addresses</button></p></div>`;\n if (this.classList.contains('scroll-to-bottom-results'))\n paginationWrapper.scrollIntoView({ container: 'nearest' });\n // #endregion\n // #region event listeners\n preFilledAddressBtn.addEventListener('click', () => {\n preFilledWrapper.classList.add('js-hide');\n openManualWrapper();\n });\n preFilledAddressRemoveBtn.addEventListener('click', () => {\n preFilledWrapper.classList.add('js-hide');\n lookupWrapper.classList.remove('js-hide');\n manualWrapper.classList.add('js-hide');\n list.innerHTML = \"\";\n list === null || list === void 0 ? void 0 : list.classList.remove('loading');\n list === null || list === void 0 ? void 0 : list.classList.remove('noresults');\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.remove('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = \"\";\n list === null || list === void 0 ? void 0 : list.classList.remove('show-welsh-banner');\n lookup.focus();\n lookup.value = \"\";\n if (lookup === null || lookup === void 0 ? void 0 : lookup.hasAttribute('data-placeholder'))\n lookup.setAttribute('placeholder', lookup === null || lookup === void 0 ? void 0 : lookup.getAttribute('data-placeholder'));\n const updateEvent = new CustomEvent('switch-to-lookup');\n this.dispatchEvent(updateEvent);\n lookupWrapper.scrollIntoView();\n });\n switchManualBtn.addEventListener('click', () => {\n openManualWrapper();\n });\n this.addEventListener('open-manual', () => {\n openManualWrapper();\n });\n switchLookupBtn.addEventListener('click', () => {\n lookupWrapper.classList.remove('js-hide');\n manualWrapper.classList.add('js-hide');\n const updateEvent = new CustomEvent('switch-to-lookup');\n this.dispatchEvent(updateEvent);\n lookupWrapper.scrollIntoView();\n });\n lookup.addEventListener('keyup', (e) => __awaiter(this, void 0, void 0, function* () {\n if (![40, 38, 13].includes(e.keyCode) && lookup.value.length >= minChars) {\n const valid = yield search(lookup.value);\n if (valid != true) {\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.add('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = valid;\n }\n }\n if (e.keyCode == 13) {\n const valid = yield search(lookup.value);\n if (valid != true) {\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.add('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = valid;\n }\n }\n }));\n lookup.addEventListener('change', () => __awaiter(this, void 0, void 0, function* () {\n if (lookup.value.length >= minChars) {\n const valid = yield search(lookup.value);\n if (valid != true) {\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.add('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = valid;\n }\n }\n }));\n list.addEventListener('click', (e) => {\n if (e.target.tagName == \"OPTION\") {\n const values = JSON.parse(e.target.getAttribute('data-values'));\n fillInputs(values);\n if (this.shadowRoot.querySelector('[name=\"use\"]'))\n this.shadowRoot.querySelector('[name=\"use\"]').checked = false;\n }\n });\n atleastone === null || atleastone === void 0 ? void 0 : atleastone.addEventListener('input', (e) => {\n Array.from(atleastone.querySelectorAll('[data-required]')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n atleastoneValidate();\n });\n postcodeSubmit === null || postcodeSubmit === void 0 ? void 0 : postcodeSubmit.addEventListener('click', () => __awaiter(this, void 0, void 0, function* () {\n const valid = yield search(lookup.value);\n if (valid != true) {\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.add('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = valid;\n }\n }));\n this === null || this === void 0 ? void 0 : this.addEventListener('search', () => __awaiter(this, void 0, void 0, function* () {\n const valid = yield search(lookup.value);\n if (valid != true) {\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.add('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = valid;\n }\n }));\n this === null || this === void 0 ? void 0 : this.addEventListener('close-button-pressed', () => {\n list.innerHTML = \"\";\n list === null || list === void 0 ? void 0 : list.classList.remove('loading');\n list === null || list === void 0 ? void 0 : list.classList.remove('noresults');\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.remove('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = \"\";\n list === null || list === void 0 ? void 0 : list.classList.remove('show-welsh-banner');\n lookup.focus();\n });\n paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.addEventListener('click', (e) => __awaiter(this, void 0, void 0, function* () {\n if (e.target.tagName == \"BUTTON\") {\n const valid = yield search(lookup.value, true);\n if (valid != true) {\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.add('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = valid;\n }\n }\n }));\n // #endregion\n // #region Matched address\n if (this.hasAttribute('data-matched')) {\n matchedAddressWrapper === null || matchedAddressWrapper === void 0 ? void 0 : matchedAddressWrapper.classList.remove('d-none');\n if (this.hasAttribute('data-matched-label'))\n matchedAddress === null || matchedAddress === void 0 ? void 0 : matchedAddress.innerHTML = this.getAttribute('data-matched-label');\n matchedAddressEntered === null || matchedAddressEntered === void 0 ? void 0 : matchedAddressEntered.addEventListener('click', () => {\n var _a;\n matchedAddressWrapper === null || matchedAddressWrapper === void 0 ? void 0 : matchedAddressWrapper.remove();\n const useCheckbox = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[name=\"use\"]');\n useCheckbox.checked = true;\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n const values = JSON.parse(this.getAttribute('data-use'));\n Object.keys(values).forEach((key) => {\n const value = values[key];\n if (this.querySelector(`[data-name=\"${key}\"]`))\n this.querySelector(`[data-name=\"${key}\"]`).value = value;\n else if (this.querySelector(`[name=\"${key}\"]`))\n this.querySelector(`[name=\"${key}\"]`).value = value;\n });\n checkFilled(this);\n });\n matchedAddressUse === null || matchedAddressUse === void 0 ? void 0 : matchedAddressUse.addEventListener('click', () => {\n matchedAddressWrapper === null || matchedAddressWrapper === void 0 ? void 0 : matchedAddressWrapper.remove();\n const values = JSON.parse(this.getAttribute('data-matched'));\n fillInputs(values);\n checkFilled(this);\n });\n }\n else {\n matchedAddressWrapper === null || matchedAddressWrapper === void 0 ? void 0 : matchedAddressWrapper.remove();\n }\n // #endregion\n advancedSelect(this, lookup, list, true);\n });\n }\n}\nexport default iamAddressLookup;\n"],"names":["advancedSelect","displayInputField","datalist","isSearch","currentFocus","option","event","optionInner","text","e","addActive","x","removeActive","i","emptyField","updateEvent","isValidPostcode","searchValue","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","rejected","result","iamAddressLookup","_a","template","_b","_c","lookup","lookupWrapper","manualWrapper","preFilledWrapper","list","listWrapper","switchManualBtn","switchLookupBtn","title","preFilledAddressBtn","preFilledAddressRemoveBtn","dataDisplayText","postcodeSubmit","errorMsg","paginationWrapper","minChars","pageNumber","atleastone","matchedAddress","matchedAddressWrapper","matchedAddressUse","matchedAddressEntered","titleElement","checkFilled","component","preFilledAddress","preFilled","input","openManualWrapper","atleastoneValidate","element","fillInputs","values","key","search","searchValue_1","args_1","paginate","limit","ajaxURL","postcode","signal","Cookies","response","listString","addresses","address","itemString","error","useCheckbox","valid"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"address-lookup.component.min.js","sources":["../../modules/advanced-select.js","../../modules/helpers.js","address-lookup.component.js"],"sourcesContent":["function advancedSelect(advancedSelect, displayInputField, datalist, isSearch = false) {\n let currentFocus = -1;\n const datalistWrapper = datalist.closest('.datalist__wrapper') ? datalist.closest('.datalist__wrapper') : datalist;\n // Hide the default datalist\n displayInputField.setAttribute('data-list', displayInputField.getAttribute('list'));\n displayInputField.setAttribute('list', '');\n if (displayInputField.hasAttribute('placeholder'))\n displayInputField.setAttribute('data-placeholder', displayInputField.getAttribute('placeholder'));\n if (displayInputField.hasAttribute('placeholder'))\n displayInputField.setAttribute('data-original-placeholder', displayInputField.getAttribute('placeholder'));\n displayInputField.addEventListener('focus', function () {\n if (displayInputField.value != \"\") {\n displayInputField.setAttribute('placeholder', displayInputField.value);\n displayInputField.setAttribute('data-value', displayInputField.value);\n }\n displayInputField.value = '';\n });\n displayInputField.addEventListener('keyup', function () {\n if (displayInputField.value != \"\") {\n displayInputField.setAttribute('data-value', displayInputField.value);\n }\n });\n displayInputField.addEventListener('blur', function () {\n if (displayInputField.hasAttribute('data-value')) {\n displayInputField.value = displayInputField.getAttribute('data-value');\n }\n if (displayInputField.hasAttribute('data-placeholder'))\n displayInputField.setAttribute('placeholder', displayInputField.getAttribute('data-placeholder'));\n });\n for (const option of datalist.options) {\n if (option.innerHTML == '')\n option.innerHTML = option.value;\n }\n datalist.addEventListener('click', function (event) {\n if (event && event.target instanceof HTMLElement && event.target.closest('option')) {\n const option = event.target.closest('option');\n displayInputField.value = option.value;\n if (typeof window.triggerDynamicEvent == 'function')\n window.triggerDynamicEvent(displayInputField);\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n }\n option.classList.add('active');\n }\n });\n displayInputField.addEventListener('input', function () {\n displayInputField.removeAttribute('data-value');\n currentFocus = -1;\n const text = displayInputField.value.toUpperCase();\n for (const option of datalist.options) {\n if (option.value.toUpperCase().indexOf(text) > -1) {\n option.style.display = 'block';\n option.classList.remove('hide');\n }\n else {\n option.style.display = 'none';\n option.classList.add('hide');\n }\n }\n });\n advancedSelect.addEventListener('keydown', function (e) {\n if (e.keyCode == 40) {\n currentFocus++;\n addActive(datalist.options);\n }\n else if (e.keyCode == 38) {\n currentFocus--;\n addActive(datalist.options);\n }\n else if (e.keyCode == 13) {\n e.preventDefault();\n if (currentFocus > -1) {\n /*and simulate a click on the \"active\" item:*/\n if (datalist.options)\n datalist.options[currentFocus].click();\n }\n }\n });\n function addActive(x) {\n if (!x)\n return false;\n removeActive(x);\n if (currentFocus >= x.length)\n currentFocus = 0;\n if (currentFocus < 0)\n currentFocus = x.length - 1;\n x[currentFocus].classList.add('active');\n }\n function removeActive(x) {\n if (!x)\n return false;\n for (let i = 0; i < x.length; i++) {\n x[i].classList.remove('active');\n }\n }\n // Add the empty button\n displayInputField\n .closest('label')\n .insertAdjacentHTML('beforeend', '<button class=\"empty btn btn-action\" type=\"button\"><i class=\"fa-light fa-times me-0\"></i></button>');\n const emptyField = () => {\n displayInputField.removeAttribute('placeholder');\n if (displayInputField.hasAttribute('data-original-placeholder'))\n displayInputField.setAttribute('placeholder', displayInputField.getAttribute('data-original-placeholder'));\n displayInputField.removeAttribute('data-value');\n displayInputField.value = '';\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n optionInner.removeAttribute('style');\n }\n const updateEvent = new CustomEvent('close-button-pressed');\n advancedSelect.dispatchEvent(updateEvent);\n };\n const closeBtn = advancedSelect.querySelector('.empty') ? advancedSelect.querySelector('.empty') : advancedSelect.shadowRoot.querySelector('.empty');\n closeBtn.addEventListener('click', function (e) {\n emptyField();\n });\n advancedSelect.addEventListener('empty', function (e) {\n emptyField();\n });\n}\nexport default advancedSelect;\n","/**\n * Global helper functions to help maintain and enhance framework elements.\n * @module Helpers\n */\n/**\n * Add global classes used by the CSS and later JavaScript.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addBodyClasses = (body) => {\n body.classList.add('js-enabled');\n if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {\n body.classList.add('ie');\n }\n};\n/**\n * Add global events.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addGlobalEvents = (body) => {\n const checkElements = function (hash) {\n const label = document.querySelector(`label[for=\"${hash.replace('#', '')}\"]`);\n const summary = document.querySelector(hash + ' summary');\n const dialog = document.querySelector(`dialog${hash}`);\n const detail = document.querySelector(`detail${hash}`);\n if (label instanceof HTMLElement)\n label.click();\n else if (summary instanceof HTMLElement)\n summary.click();\n else if (dialog instanceof HTMLElement)\n dialog.showModal();\n else if (detail instanceof HTMLElement)\n detail.addAttribute('open');\n };\n if (location.hash)\n checkElements(location.hash);\n window.addEventListener('hashchange', function () {\n checkElements(location.hash);\n }, false);\n addEventListener('popstate', (event) => {\n if (event && event.state && event.state.type && event.state.type == 'pagination') {\n const form = document.querySelector(`#${event.state.form}`);\n const pageInput = document.querySelector(`#${event.state.form} [data-pagination]`);\n if (pageInput)\n pageInput.value = event.state.page;\n else\n form.innerHTML += `<input name=\"page\" type=\"hidden\" data-pagination=\"true\" value=\"${event.state.page}\" />`;\n form.dispatchEvent(new Event('submit'));\n }\n });\n Array.from(document.querySelectorAll('form')).forEach((form) => {\n form.addEventListener('submit', (event) => {\n var _a;\n if (form.querySelector(':invalid')) {\n form.classList.add('was-validated');\n (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n event.preventDefault();\n }\n });\n });\n document.addEventListener('click', (event) => {\n var _a;\n if (event && event.target instanceof HTMLElement && event.target.matches('form button:not([type=button])')) {\n const form = event.target.closest('form');\n // Reset password types\n Array.from(form.querySelectorAll('[data-password-type]')).forEach((input) => {\n input.setAttribute('type', 'password');\n });\n if (form.querySelector(':invalid') ||\n form.querySelector('.pwd-checker[data-strength=\"1\"]') ||\n form.querySelector('.pwd-checker[data-strength=\"2\"]')) {\n form.classList.add('was-validated');\n (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n event.preventDefault();\n }\n if (form.querySelector('iam-multiselect[data-is-required][data-error]')) {\n form.classList.add('was-validated');\n event.preventDefault();\n }\n }\n });\n document.addEventListener('keydown', (e) => {\n if (e.key === 'Escape') {\n if (document.querySelector('.dialog--transactional[open], .dialog--acknowledgement[open]')) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n });\n Array.from(document.querySelectorAll('label progress')).forEach((progress) => {\n const label = progress.closest('label');\n label.setAttribute('data-percent', progress.getAttribute('value'));\n });\n};\nexport const isNumeric = function (str) {\n if (typeof str != 'string')\n return false; // we only process strings!\n return (!isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\n !isNaN(parseFloat(str))); // ...and ensure strings of whitespace fail\n};\nexport const zeroPad = (num, places) => String(num).padStart(places, '0');\nexport const ucfirst = (str) => str.charAt(0).toUpperCase() + str.slice(1);\nexport const ucwords = (str) => str\n .split(' ')\n .map((s) => ucfirst(s))\n .join(' ');\nexport const unsnake = (str) => str.replace(/_/g, ' ');\nexport const snake = (str) => str.replace(/ /g, '_');\nexport const safeID = function (str) {\n str = str.toLowerCase();\n str = snake(str);\n str = str.replace(/\\W/g, '');\n return str;\n};\nexport const numberOfDays = function (startDateString, endDateString) {\n const convertStart = startDateString.split('/');\n const convertEnd = endDateString.split('/');\n const dateStart = new Date(convertStart[1] + '/' + convertStart[0] + '/' + convertStart[2]);\n const dateEnd = new Date(convertEnd[1] + '/' + convertEnd[0] + '/' + convertEnd[2]);\n if (dateStart == 'Invalid Date')\n throw 'Start date is not a valid date';\n if (dateEnd == 'Invalid Date')\n throw 'End date is not a valid date';\n // To calculate the time difference of two dates\n const diffTime = dateEnd.getTime() - dateStart.getTime();\n const numberOfDays = diffTime / (1000 * 3600 * 24) + 1;\n if (numberOfDays < 0)\n throw 'The start date should be before the end date';\n return numberOfDays;\n};\n// Used to get values from nested json objects\nexport const resolvePath = (object, path, defaultValue) => path\n // eslint-disable-next-line no-useless-escape\n .split(/[\\.\\[\\]\\'\\\"]/)\n .filter((p) => p)\n .reduce((o, p) => (o ? o[p] : defaultValue), object);\nexport const isTraversable = (o) => Array.isArray(o) || (o !== null && ['function', 'object'].includes(typeof o));\nexport const getSwipeDirection = (touchstartX, touchstartY, touchendX, touchendY) => {\n const limit = Math.tan(((45 * 1.5) / 180) * Math.PI);\n const pageWidth = window.innerWidth || document.body.clientWidth;\n const treshold = Math.max(1, Math.floor(0.01 * pageWidth));\n const x = touchendX - touchstartX;\n const y = touchendY - touchstartY;\n const xy = Math.abs(x / y);\n const yx = Math.abs(y / x);\n if (Math.abs(x) > treshold || Math.abs(y) > treshold) {\n if (yx <= limit) {\n if (x < 0) {\n return 'left';\n }\n else {\n return 'right';\n }\n }\n if (xy <= limit) {\n if (y < 0) {\n return 'top';\n }\n else {\n return 'bottom';\n }\n }\n }\n else {\n return 'tap';\n }\n};\nexport const uniqueID = (index = 1) => {\n const ID = Math.floor(Math.random() * Date.now() * (index + 1));\n return ID;\n};\nexport const isValidPostcode = (searchValue) => {\n const regexp = /^([A-Z][A-HJ-Y]?[0-9][A-Z0-9]? ?[0-9][A-Z]{2}|GIR ?0A{2})$/gmi;\n return regexp.test(searchValue.trim());\n};\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport Cookies from 'js-cookie';\nimport advancedSelect from '../../modules/advanced-select.js';\nimport { isValidPostcode } from '../../modules/helpers.js';\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Address Lookup',\n});\nclass iamAddressLookup extends HTMLElement {\n constructor() {\n var _a;\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/address-lookup.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${loadCSS}\n \n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/26fdbf0179.css\" crossorigin=\"anonymous\" />\n <div class=\"wrapper\">\n\n <div class=\"matched d-none\">\n <div class=\"inner\">\n <p><span class=\"matched-address\"></span></p>\n <button class=\"link use-matched\">Yes, use this address</button>\n <button class=\"link use-entered\">No, use the address I entered</button>\n </div>\n <span class=\"invalid-feedback\">We found a matching address based on the details you entered. Is this address correct?</span>\n </div>\n <div class=\"postcode-lookup was-validated\">\n <div>\n <label class=\"mb-1\"><span class=\"title text-lowercase\"></span>\n <span>\n <input type=\"text\" name=\"postcode\" class=\"${this.hasAttribute('data-input-class') ? this.getAttribute('data-input-class') : ''}\" list=\"address-lookup__addressess\" autocomplete=\"one-time-code\" aria-autocomplete=\"none\" placeholder=\"${(this === null || this === void 0 ? void 0 : this.hasAttribute('data-placeholder')) ? this === null || this === void 0 ? void 0 : this.getAttribute('data-placeholder') : 'Postcode'}\" value=\"${this.hasAttribute('data-postcode-value') ? this.getAttribute('data-postcode-value') : ''}\" part=\"input\" />\n <button id=\"postcode__submit\" class=\"suffix fa-regular fa-search\" part=\"suffix\"></button>\n </span>\n </label>\n \n <span class=\"invalid-feedback mb-2\" id=\"invalid-feedback-address-lookup\">${this.hasAttribute('data-error-msg') ? this.getAttribute('data-error-msg') : 'Required address fields'}</span>\n\n <div class=\"datalist__wrapper ${this.hasAttribute('data-list-class') ? this.getAttribute('data-list-class') : ''}\" tabindex=\"0\" part=\"list-wrapper\">\n <slot name=\"beforeList\"></slot>\n <slot name=\"preloadedList\"></slot>\n <datalist id=\"address-lookup__addressess\" class=\"\"></datalist>\n <div id=\"paginationWrapper\"></div>\n <slot name=\"afterList\"></slot>\n </div>\n </div>\n <slot name=\"hint\"></slot>\n <div class=\"actions\">\n <button class=\"btn btn-tertiary switch-to-manual-btn\" type=\"button\" part=\"manualButton\">Or enter address manually</button>\n <slot name=\"actions\"></slot>\n </div>\n </div>\n\n <div class=\"manual-address pb-2 js-hide\">\n <slot part=\"contents\"></slot>\n <button class=\"btn btn-tertiary switch-to-lookup-btn\" type=\"button\" part=\"button\">${this.hasAttribute('data-postcode-lookup-label') ? this.getAttribute('data-postcode-lookup-label') : 'Use postcode lookup'}</button>\n <slot name=\"after\"></slot>\n </div>\n <div class=\"pre-filled p-2 js-hide\">\n <strong class=\"title text-primary d-block\"></strong>\n <p><span class=\"pre-filled-address\"></span>\n <button class=\"link m-0 text-primary ms-2 cursor-pointer\" type=\"button\" part=\"edit-button\">\n <i class=\"fa-regular fa-pen-to-square m-0\"></i> <span class=\"visually-hidden\">Edit</span>\n </button>\n <button class=\"link m-0 text-primary ms-2 cursor-pointer\" type=\"button\" part=\"remove-button\">\n <i class=\"fa-regular fa-trash m-0\"></i> <span class=\"visually-hidden\">Remove</span>\n </button>\n <slot name=\"prefilled\"></slot></p>\n </div>\n </div>\n `;\n (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c;\n const lookup = this.shadowRoot.querySelector('[name=\"postcode\"]');\n const lookupWrapper = this.shadowRoot.querySelector('.postcode-lookup');\n const manualWrapper = this.shadowRoot.querySelector('.manual-address');\n const preFilledWrapper = this.shadowRoot.querySelector('.pre-filled');\n const list = this.querySelector('datalist[slot=\"preloadedList\"]') ? this.querySelector('datalist[slot=\"preloadedList\"]') : this.shadowRoot.querySelector('.datalist__wrapper datalist');\n const listWrapper = this.shadowRoot.querySelector('.datalist__wrapper');\n const switchManualBtn = this.shadowRoot.querySelector('.switch-to-manual-btn');\n const switchLookupBtn = this.shadowRoot.querySelector('.switch-to-lookup-btn');\n const title = this.hasAttribute('data-title') ? this.getAttribute('data-title') : 'Find an address';\n const preFilledAddressBtn = this.shadowRoot.querySelector('[part=\"edit-button\"]');\n const preFilledAddressRemoveBtn = this.shadowRoot.querySelector('[part=\"remove-button\"]');\n const dataDisplayText = this.hasAttribute('data-display-text');\n const postcodeSubmit = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#postcode__submit');\n const errorMsg = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('#invalid-feedback-address-lookup');\n const paginationWrapper = (_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('#paginationWrapper');\n const minChars = this.hasAttribute('data-min-chars') ? parseInt(this.getAttribute('data-min-chars')) : 3;\n let pageNumber = 1;\n const atleastone = this.querySelector('.atleastone');\n const matchedAddress = this.shadowRoot.querySelector('.matched-address');\n const matchedAddressWrapper = this.shadowRoot.querySelector('.matched');\n const matchedAddressUse = this.shadowRoot.querySelector('.matched .use-matched');\n const matchedAddressEntered = this.shadowRoot.querySelector('.matched .use-entered');\n Array.from(this.shadowRoot.querySelectorAll('.title')).forEach((titleElement) => {\n titleElement.innerHTML = title;\n });\n // #region functions\n function checkFilled(component) {\n const preFilledAddress = component.shadowRoot.querySelector('.pre-filled-address');\n let preFilled = true;\n preFilledAddress.innerHTML = '';\n Array.from(component.querySelectorAll('input[required],input[data-required],select[required],select[data-required]')).forEach((input) => {\n let value = input.hasAttribute('data-value') ? input.getAttribute('data-value') : input.value;\n if (input.tagName == \"SELECT\" && component.querySelector(`[value=\"${input.value}\"][data-value]`))\n value = component.querySelector(`[value=\"${input.value}\"][data-value]`).getAttribute('data-value');\n if (!value) {\n if (input.closest('.atleastone')) {\n if (!atleastone.querySelector('input:valid, input.is-valid')) {\n preFilled = false;\n }\n }\n else {\n preFilled = false;\n }\n }\n else {\n preFilledAddress.innerHTML += value + (/^-?\\d+$/.test(value) ? ' ' : ', ');\n }\n });\n preFilledAddress.innerHTML = preFilledAddress.innerHTML.slice(0, -2);\n // If has label then use that\n if (preFilled) {\n if (component.querySelector('[name=\"label\"]'))\n preFilledAddress.innerHTML = component.querySelector('[name=\"label\"]').value;\n // If has label then use that\n preFilledWrapper.classList.remove('js-hide');\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.add('js-hide');\n }\n }\n function openManualWrapper() {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n Array.from(manualWrapper.querySelectorAll('[data-required]')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n manualWrapper.scrollIntoView();\n }\n const atleastoneValidate = () => {\n if (atleastone.querySelector('input:valid, input.is-valid')) {\n Array.from(atleastone.querySelectorAll('input')).forEach(element => {\n element.removeAttribute('required');\n });\n }\n else {\n Array.from(atleastone.querySelectorAll('input')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n }\n };\n const fillInputs = (values) => {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n Object.keys(values).forEach((key) => {\n const value = values[key];\n let input = false;\n if (this.querySelector(`[data-name=\"${key}\"]`))\n input = this.querySelector(`[data-name=\"${key}\"]`);\n else if (this.querySelector(`[data-name-alt=\"${key}\"]`))\n input = this.querySelector(`[data-name-alt=\"${key}\"]`);\n else if (this.querySelector(`[name=\"${key}\"]`))\n input = this.querySelector(`[name=\"${key}\"]`);\n if (input && input.tagName == \"SELECT\" && value.id) {\n input.value = value.id;\n }\n else if (input && value != '') {\n input.value = value;\n if (input.hasAttribute('data-readonly')) {\n input.setAttribute('readonly', true);\n input.classList.add('is-valid');\n }\n }\n else if (value != \"\") {\n this.insertAdjacentHTML('beforeend', `<input type=\"hidden\" class=\"inserted\" data-hidden name=\"${key}\" value=\"${value}\" />`);\n }\n if (this.querySelector(`[data-name-2=\"${key}\"]`))\n this.querySelector(`[data-name-2=\"${key}\"]`).value += ' ' + value;\n });\n Array.from(this.querySelectorAll('[data-required]')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n lookup.removeAttribute('required');\n if (atleastone) {\n atleastoneValidate();\n }\n if (!this.hasAttribute('data-force-manual'))\n checkFilled(this);\n };\n const search = (searchValue_1, ...args_1) => __awaiter(this, [searchValue_1, ...args_1], void 0, function* (searchValue, paginate = false) {\n // check if postcode is valid\n const limit = this.hasAttribute('data-limit') ? parseInt(this.getAttribute('data-limit')) : 100;\n if (paginate)\n pageNumber++;\n else\n pageNumber = 1;\n let ajaxURL = this.getAttribute('data-url');\n ajaxURL += `${encodeURI(searchValue)}&page[number]=${pageNumber}&page[size]=${limit}`;\n if (this.hasAttribute('data-url-2')) {\n ajaxURL += this.getAttribute('data-url-2');\n }\n const postcode = searchValue; // TODO: remove when postcode comes from response\n if (this.hasAttribute('data-postcode')) {\n if (!isValidPostcode(searchValue)) {\n return \"Invalid postcode, please enter a valid postcode\";\n }\n else {\n if (!paginate)\n list.innerHTML = \"\";\n list === null || list === void 0 ? void 0 : list.classList.add('loading');\n list === null || list === void 0 ? void 0 : list.classList.remove('noresults');\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.remove('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = \"\";\n list === null || list === void 0 ? void 0 : list.classList.remove('show-welsh-banner');\n Array.from(this.querySelectorAll('[data-required]')).forEach((input) => {\n input.removeAttribute('required');\n });\n Array.from(this.querySelectorAll('[data-readonly]')).forEach((input) => {\n input.removeAttribute('readonly');\n input.classList.remove('is-valid');\n });\n Array.from(this.querySelectorAll('.inserted')).forEach((input) => {\n input.remove();\n });\n }\n }\n this.classList.add('searched');\n this.classList.add('was-validated');\n // Setup controller vars if not already set\n if (!window.controller)\n window.controller = [];\n // Abort if controller already present for this url\n if (window.controller[ajaxURL])\n window.controller[ajaxURL].abort();\n // Create a new controller so it can be aborted if new fetch made\n window.controller[ajaxURL] = new AbortController();\n const { signal } = controller[ajaxURL];\n try {\n return yield fetch(ajaxURL, {\n signal: signal,\n method: 'get',\n credentials: 'same-origin',\n headers: new Headers({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),\n }),\n })\n .then((response) => response.json())\n .then((response) => {\n var _a;\n // populate datalist\n let listString = '';\n const addresses = response['data'] ? response['data'] : response;\n addresses.forEach((address) => {\n // Deal with agent platform response\n if (typeof address.attributes == 'object' && address.attributes.label) {\n const values = JSON.stringify(address.attributes);\n listString += `<option data-values='${values}' >${address.attributes.label}</option>`;\n }\n else if (typeof address.value == 'object') {\n const values = JSON.stringify(address.value);\n listString += `<option data-values='${values}'>${address['label']}, ${postcode}</option>`;\n }\n else {\n const values = JSON.stringify(address);\n if (dataDisplayText) {\n listString += `<option data-values='${values}'>${address[dataDisplayText]}, ${postcode}</option>`;\n }\n else {\n let itemString = '';\n for (const [key, value] of Object.entries(address)) {\n if (key == 'address_number_name')\n itemString += `${value} `;\n else if (key != 'postcode' && key != 'address_title' && key != 'group')\n itemString += `${value}${/^-?\\d+$/.test(value) ? '' : ','} `;\n }\n listString += `<option data-values='${values}'>${itemString}, ${postcode}</option>`; // TODO postcode should come from the response\n }\n }\n });\n if (paginate)\n list.innerHTML += listString;\n else\n list.innerHTML = listString;\n if (addresses.length) {\n list === null || list === void 0 ? void 0 : list.classList.remove('loading');\n }\n else {\n list === null || list === void 0 ? void 0 : list.classList.remove('loading');\n list === null || list === void 0 ? void 0 : list.classList.add('noresults');\n }\n // pagination\n if (response.meta && response.meta.current_page && response.meta.total_pages && response.meta.total_pages > response.meta.current_page) {\n paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.innerHTML = `<div class=\"bg-light text-center p-2\"><p class=\"m-0\">Showing 1-${response.meta.current_page * limit} of ${response.meta.total_results} addresses <br /><button type=\"button\" data-next=\"${response.meta.current_page + 1}\" class=\"mt-1 mb-0 btn btn-action\"><i class=\"fa-regular fa-eye me-1\"></i>Show more addresses</button></p></div>`;\n }\n else {\n paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.innerHTML = '';\n }\n if (response.meta && response.meta.welsh_language) {\n list === null || list === void 0 ? void 0 : list.classList.add('show-welsh-banner');\n }\n listWrapper === null || listWrapper === void 0 ? void 0 : listWrapper.focus();\n (_a = list === null || list === void 0 ? void 0 : list.querySelector('option')) === null || _a === void 0 ? void 0 : _a.focus();\n return true;\n });\n }\n catch (error) {\n console.log(error);\n return \"There has been a problem. Please try again in a few moments.\";\n }\n });\n // #endregion\n // #region check attributes and trigger functions \n if (!this.hasAttribute('data-force-manual'))\n checkFilled(this);\n this.addEventListener('filled', () => {\n if (!this.hasAttribute('data-force-manual'))\n checkFilled(this);\n });\n if (this.hasAttribute('data-use')) {\n const useLabel = this.hasAttribute('data-use-label') ? this.getAttribute('data-use-label') : 'Use saved address';\n const useCheckbox = `<div><input type=\"checkbox\" name=\"use\" id=\"use\" value=\"yes\"><label for=\"use\">${useLabel}</label></div>`;\n lookupWrapper.insertAdjacentHTML('afterbegin', useCheckbox);\n this.shadowRoot.addEventListener('change', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('[name=\"use\"]')) {\n const checkbox = event.target.closest('[name=\"use\"]');\n if (checkbox.checked) {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n const values = JSON.parse(this.getAttribute('data-use'));\n Object.keys(values).forEach((key) => {\n const value = values[key];\n if (this.querySelector(`[data-name=\"${key}\"]`))\n this.querySelector(`[data-name=\"${key}\"]`).value = value;\n else if (this.querySelector(`[name=\"${key}\"]`))\n this.querySelector(`[name=\"${key}\"]`).value = value;\n });\n }\n }\n });\n if (this.hasAttribute('data-use-default')) {\n lookupWrapper.querySelector('[name=\"use\"]').checked = true;\n const values = JSON.parse(this.getAttribute('data-use'));\n fillInputs(values);\n }\n }\n if (this.hasAttribute('data-manual')) {\n fillInputs({});\n }\n if (this.classList.contains('show-pagination'))\n paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.innerHTML = `<div class=\"bg-light text-center p-2\"><p class=\"m-0\">Showing 1-500 of 585 addresses <br /><button type=\"button\" data-next=\"2\" class=\"mt-1 mb-0 btn btn-action\"><i class=\"fa-regular fa-eye me-1\"></i>Show more addresses</button></p></div>`;\n if (this.classList.contains('scroll-to-bottom-results'))\n paginationWrapper.scrollIntoView({ container: 'nearest' });\n // #endregion\n // #region event listeners\n preFilledAddressBtn.addEventListener('click', () => {\n preFilledWrapper.classList.add('js-hide');\n openManualWrapper();\n });\n preFilledAddressRemoveBtn.addEventListener('click', () => {\n preFilledWrapper.classList.add('js-hide');\n lookupWrapper.classList.remove('js-hide');\n manualWrapper.classList.add('js-hide');\n list.innerHTML = \"\";\n list === null || list === void 0 ? void 0 : list.classList.remove('loading');\n list === null || list === void 0 ? void 0 : list.classList.remove('noresults');\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.remove('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = \"\";\n list === null || list === void 0 ? void 0 : list.classList.remove('show-welsh-banner');\n lookup.focus();\n lookup.value = \"\";\n if (lookup === null || lookup === void 0 ? void 0 : lookup.hasAttribute('data-placeholder'))\n lookup.setAttribute('placeholder', lookup === null || lookup === void 0 ? void 0 : lookup.getAttribute('data-placeholder'));\n const updateEvent = new CustomEvent('switch-to-lookup');\n this.dispatchEvent(updateEvent);\n lookupWrapper.scrollIntoView();\n });\n switchManualBtn.addEventListener('click', () => {\n openManualWrapper();\n });\n this.addEventListener('open-manual', () => {\n openManualWrapper();\n });\n switchLookupBtn.addEventListener('click', () => {\n lookupWrapper.classList.remove('js-hide');\n manualWrapper.classList.add('js-hide');\n const updateEvent = new CustomEvent('switch-to-lookup');\n this.dispatchEvent(updateEvent);\n lookupWrapper.scrollIntoView();\n });\n lookup.addEventListener('keyup', (e) => __awaiter(this, void 0, void 0, function* () {\n if (![40, 38, 13].includes(e.keyCode) && lookup.value.length >= minChars) {\n const valid = yield search(lookup.value);\n console.log(errorMsg);\n console.log(valid);\n if (valid != true) {\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.add('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = valid;\n }\n }\n if (e.keyCode == 13) {\n const valid = yield search(lookup.value);\n if (valid != true) {\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.add('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = valid;\n }\n }\n }));\n lookup.addEventListener('change', () => __awaiter(this, void 0, void 0, function* () {\n if (lookup.value.length >= minChars) {\n const valid = yield search(lookup.value);\n if (valid != true) {\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.add('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = valid;\n }\n }\n }));\n list.addEventListener('click', (e) => {\n if (e.target.tagName == \"OPTION\") {\n const values = JSON.parse(e.target.getAttribute('data-values'));\n fillInputs(values);\n if (this.shadowRoot.querySelector('[name=\"use\"]'))\n this.shadowRoot.querySelector('[name=\"use\"]').checked = false;\n }\n });\n atleastone === null || atleastone === void 0 ? void 0 : atleastone.addEventListener('input', (e) => {\n Array.from(atleastone.querySelectorAll('[data-required]')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n atleastoneValidate();\n });\n postcodeSubmit === null || postcodeSubmit === void 0 ? void 0 : postcodeSubmit.addEventListener('click', () => __awaiter(this, void 0, void 0, function* () {\n const valid = yield search(lookup.value);\n if (valid != true) {\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.add('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = valid;\n }\n }));\n this === null || this === void 0 ? void 0 : this.addEventListener('search', () => __awaiter(this, void 0, void 0, function* () {\n const valid = yield search(lookup.value);\n if (valid != true) {\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.add('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = valid;\n }\n }));\n this === null || this === void 0 ? void 0 : this.addEventListener('close-button-pressed', () => {\n list.innerHTML = \"\";\n list === null || list === void 0 ? void 0 : list.classList.remove('loading');\n list === null || list === void 0 ? void 0 : list.classList.remove('noresults');\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.remove('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = \"\";\n list === null || list === void 0 ? void 0 : list.classList.remove('show-welsh-banner');\n lookup.focus();\n });\n paginationWrapper === null || paginationWrapper === void 0 ? void 0 : paginationWrapper.addEventListener('click', (e) => __awaiter(this, void 0, void 0, function* () {\n if (e.target.tagName == \"BUTTON\") {\n const valid = yield search(lookup.value, true);\n if (valid != true) {\n lookup === null || lookup === void 0 ? void 0 : lookup.classList.add('is-invalid');\n errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.innerHTML = valid;\n }\n }\n }));\n // #endregion\n // #region Matched address\n if (this.hasAttribute('data-matched')) {\n matchedAddressWrapper === null || matchedAddressWrapper === void 0 ? void 0 : matchedAddressWrapper.classList.remove('d-none');\n if (this.hasAttribute('data-matched-label'))\n matchedAddress === null || matchedAddress === void 0 ? void 0 : matchedAddress.innerHTML = this.getAttribute('data-matched-label');\n matchedAddressEntered === null || matchedAddressEntered === void 0 ? void 0 : matchedAddressEntered.addEventListener('click', () => {\n var _a;\n matchedAddressWrapper === null || matchedAddressWrapper === void 0 ? void 0 : matchedAddressWrapper.remove();\n const useCheckbox = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[name=\"use\"]');\n useCheckbox.checked = true;\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n const values = JSON.parse(this.getAttribute('data-use'));\n Object.keys(values).forEach((key) => {\n const value = values[key];\n if (this.querySelector(`[data-name=\"${key}\"]`))\n this.querySelector(`[data-name=\"${key}\"]`).value = value;\n else if (this.querySelector(`[name=\"${key}\"]`))\n this.querySelector(`[name=\"${key}\"]`).value = value;\n });\n checkFilled(this);\n });\n matchedAddressUse === null || matchedAddressUse === void 0 ? void 0 : matchedAddressUse.addEventListener('click', () => {\n matchedAddressWrapper === null || matchedAddressWrapper === void 0 ? void 0 : matchedAddressWrapper.remove();\n const values = JSON.parse(this.getAttribute('data-matched'));\n fillInputs(values);\n checkFilled(this);\n });\n }\n else {\n matchedAddressWrapper === null || matchedAddressWrapper === void 0 ? void 0 : matchedAddressWrapper.remove();\n }\n // #endregion\n advancedSelect(this, lookup, list, true);\n });\n }\n static get observedAttributes() {\n return ['data-url'];\n }\n attributeChangedCallback(attrName, oldVal, newVal) {\n const addressComponent = this.querySelector('iam-address-lookup');\n switch (attrName) {\n case 'data-url': {\n if (oldVal != newVal && addressComponent) {\n addressComponent.setAttribute('data-url', newVal + '?search_string=');\n }\n break;\n }\n }\n }\n}\nexport default iamAddressLookup;\n"],"names":["advancedSelect","displayInputField","datalist","isSearch","currentFocus","option","event","optionInner","text","e","addActive","x","removeActive","i","emptyField","updateEvent","isValidPostcode","searchValue","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","rejected","result","iamAddressLookup","_a","template","_b","_c","lookup","lookupWrapper","manualWrapper","preFilledWrapper","list","listWrapper","switchManualBtn","switchLookupBtn","title","preFilledAddressBtn","preFilledAddressRemoveBtn","dataDisplayText","postcodeSubmit","errorMsg","paginationWrapper","minChars","pageNumber","atleastone","matchedAddress","matchedAddressWrapper","matchedAddressUse","matchedAddressEntered","titleElement","checkFilled","component","preFilledAddress","preFilled","input","openManualWrapper","atleastoneValidate","element","fillInputs","values","key","search","searchValue_1","args_1","paginate","limit","ajaxURL","postcode","signal","Cookies","response","listString","addresses","address","itemString","error","useCheckbox","valid","attrName","oldVal","newVal","addressComponent"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.6.
|
|
2
|
+
* iamKey v7.6.2
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/function l(r,t,o,s=!1){let a=-1;o.closest(".datalist__wrapper")&&o.closest(".datalist__wrapper"),t.setAttribute("data-list",t.getAttribute("list")),t.setAttribute("list",""),t.hasAttribute("placeholder")&&t.setAttribute("data-placeholder",t.getAttribute("placeholder")),t.hasAttribute("placeholder")&&t.setAttribute("data-original-placeholder",t.getAttribute("placeholder")),t.addEventListener("focus",function(){t.value!=""&&(t.setAttribute("placeholder",t.value),t.setAttribute("data-value",t.value)),t.value=""}),t.addEventListener("keyup",function(){t.value!=""&&t.setAttribute("data-value",t.value)}),t.addEventListener("blur",function(){t.hasAttribute("data-value")&&(t.value=t.getAttribute("data-value")),t.hasAttribute("data-placeholder")&&t.setAttribute("placeholder",t.getAttribute("data-placeholder"))});for(const e of o.options)e.innerHTML==""&&(e.innerHTML=e.value);o.addEventListener("click",function(e){if(e&&e.target instanceof HTMLElement&&e.target.closest("option")){const n=e.target.closest("option");t.value=n.value,typeof window.triggerDynamicEvent=="function"&&window.triggerDynamicEvent(t);for(const f of o.options)f.classList.remove("active");n.classList.add("active")}}),t.addEventListener("input",function(){t.removeAttribute("data-value"),a=-1;const e=t.value.toUpperCase();for(const n of o.options)n.value.toUpperCase().indexOf(e)>-1?(n.style.display="block",n.classList.remove("hide")):(n.style.display="none",n.classList.add("hide"))}),r.addEventListener("keydown",function(e){e.keyCode==40?(a++,c(o.options)):e.keyCode==38?(a--,c(o.options)):e.keyCode==13&&(e.preventDefault(),a>-1&&o.options&&o.options[a].click())});function c(e){if(!e)return!1;u(e),a>=e.length&&(a=0),a<0&&(a=e.length-1),e[a].classList.add("active")}function u(e){if(!e)return!1;for(let n=0;n<e.length;n++)e[n].classList.remove("active")}t.closest("label").insertAdjacentHTML("beforeend",'<button class="empty btn btn-action" type="button"><i class="fa-light fa-times me-0"></i></button>');const i=()=>{t.removeAttribute("placeholder"),t.hasAttribute("data-original-placeholder")&&t.setAttribute("placeholder",t.getAttribute("data-original-placeholder")),t.removeAttribute("data-value"),t.value="";for(const n of o.options)n.classList.remove("active"),n.removeAttribute("style");const e=new CustomEvent("close-button-pressed");r.dispatchEvent(e)};(r.querySelector(".empty")?r.querySelector(".empty"):r.shadowRoot.querySelector(".empty")).addEventListener("click",function(e){i()}),r.addEventListener("empty",function(e){i()})}const b=r=>r.replace(/ /g,"_"),v=function(r){return r=r.toLowerCase(),r=b(r),r=r.replace(/\W/g,""),r};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Advanced select"});class h extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const t=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",o=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${t}/css/core.min.css`,s=document.createElement("template");s.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.6.
|
|
2
|
+
* iamKey v7.6.2
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/function E(t,m){const g=t.closest("dialog"),b=(e,r,o=!1)=>{let i=!1,a=r.getAttribute("name");if(!a)return!1;a.includes("[]")&&(a=a.replace("[]",`[${r.value}]`));let l=e.querySelector(`[data-name="${a}"]`);l&&r.getAttribute("type")=="checkbox"&&(i=!r.checked);const c=r.getAttribute("data-filter-text");if(l||(l=document.createElement("button"),e.appendChild(l)),l.setAttribute("type","button"),l.classList.add("filter"),l.classList.add("tag"),o||l.classList.add("tag--not-set"),l.setAttribute("data-name",a),l.innerHTML=c.replace("$value",r.value),(!r.value||i)&&l.remove(),r.parentNode.closest("[data-filter-text]")){const s=r.parentNode.closest("[data-filter-text]");let f=!0;if(a="",s.querySelectorAll("input").forEach((u,d)=>{const p=u.getAttribute("name");if(a+=`${d!=0?",":""}${p}`,e.querySelector(`[data-name="${p}"]`)&&e.querySelector(`[data-name="${p}"]`).remove(),u.value){const n=document.createElement("button");n.setAttribute("type","button"),n.classList.add("filter"),n.classList.add("tag"),o||l.classList.add("tag--not-set"),n.setAttribute("data-name",p),n.innerHTML=c.replace("$value",u.value),e.appendChild(n)}else f=!1}),e.querySelector(`[data-name="${a}"]`)&&e.querySelector(`[data-name="${a}"]`).remove(),f){let u=s.getAttribute("data-filter-text");s.querySelectorAll("input").forEach((p,n)=>{const y=p.getAttribute("name");e.querySelector(`[data-name="${y}"]`)&&e.querySelector(`[data-name="${y}"]`).remove(),u=u.replace(`$${n+1}`,p.value)});const d=document.createElement("button");d.setAttribute("type","button"),d.classList.add("filter"),d.classList.add("tag"),o||l.classList.add("tag--not-set"),d.setAttribute("data-name",a),d.innerHTML=u,e.appendChild(d)}}},v=(e=!1)=>{m.innerHTML="",Array.from(t.querySelectorAll('input:is([type="checkbox"],[type="radio"]):checked, input:not([type="checkbox"], [type="radio"])')).forEach(r=>{b(m,r,e)})};v(!0),Array.from(t.querySelectorAll("input[data-filter-text]")).forEach(e=>{e.addEventListener("change",function(r){var o;const i=!t.closest("dialog");if(!t.hasAttribute("data-keep-same")&&!t.querySelector("dialog")&&b(m,e,i),i){const a=new CustomEvent("update");(o=t.parentElement.closest("iam-applied-filters"))===null||o===void 0||o.dispatchEvent(a)}})});const h=e=>{if(!e?.hasAttribute("data-name"))return!1;const r=e.getAttribute("data-name").split(",");for(let o=0;o<r.length;o++){const i=r[o];let a=`[name="${i}"]`;i.match(/\[(.*)\]/)&&(a=`[value="${i.replace(/.*\[(.*)\]/,"$1")}"]`);const l=t.querySelectorAll(a);for(let c=0;c<l.length;c++){const s=l[c];s.getAttribute("type")!="radio"&&s.getAttribute("type")!="checkbox"?s.value="":s.checked=!1;const f=new CustomEvent("change");s?.dispatchEvent(f)}}e.remove(),v()};if(m.addEventListener("click",function(e){if(e&&e.target instanceof HTMLElement&&e.target.closest(".filter")){const r=e.target.closest(".filter"),o=r.getAttribute("data-name");h(r);const i=new CustomEvent("filter-clicked",{detail:o});if(t.dispatchEvent(i),t.querySelector("dialog iam-applied-filters")){const a=new CustomEvent("filter",{detail:o});t.querySelector("dialog iam-applied-filters").dispatchEvent(a)}}},!1),t.addEventListener("filter",e=>{const r=t.shadowRoot.querySelector(`[data-name="${e.detail}"]`);h(r)}),t.addEventListener("set-filters",e=>{v(!0)}),g){const e=t.querySelector(".btn-primary")?t.querySelector(".btn-primary"):t.shadowRoot.querySelector(".btn-primary");e?.addEventListener("click",r=>{const o=new CustomEvent("update"),i=new CustomEvent("submit");if(t.dispatchEvent(i),t.parentElement.closest("iam-applied-filters")&&t.parentElement.closest("iam-applied-filters").dispatchEvent(o),t.parentElement&&t.parentElement.closest("iam-applied-filters")&&!t.parentElement.closest("iam-applied-filters").closest("dialog")){const a=new CustomEvent("set-filters");t.parentElement.closest("iam-applied-filters").dispatchEvent(a)}if(v(!0),!t.querySelector(".btn-primary").hasAttribute("command")){g.close();const a=new Event("close");g.dispatchEvent(a)}})}}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Applied Filters"});class w extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const m=this.classList.toString(),g=document.createElement("template");g.innerHTML=`
|
|
5
5
|
<style>
|
|
6
|
-
@layer elements{:is(.badge,.tag){font-size:1rem;line-height:1.625rem;border:none !important;margin:0;display:inline-block;text-align:center;white-space:nowrap;max-width:fit-content;color:#262626;position:relative;background:var(--wider-colour, var(--wider-colour-1));margin-bottom:1rem}:is(.badge,.tag):has(+:is(.badge,.tag)){margin-right:0.375rem}:is(.badge,.tag):empty{display:none}:is(.badge,.tag):is(.bg-primary,.bg-dark,.bg-danger){color:#fcfcfc !important}.badge{border-radius:0.375rem;padding:0
|
|
6
|
+
@layer elements{:is(.badge,.tag){font-size:1rem;line-height:1.625rem;border:none !important;margin:0;display:inline-block;text-align:center;white-space:nowrap;max-width:fit-content;color:#262626;position:relative;background:var(--wider-colour, var(--wider-colour-1));margin-bottom:1rem}:is(.badge,.tag):has(+:is(.badge,.tag)){margin-right:0.375rem}:is(.badge,.tag):empty{display:none}:is(.badge,.tag):is(.bg-primary,.bg-dark,.bg-danger){color:#fcfcfc !important}.badge{border-radius:0.375rem;padding:0 .5rem}.badge--rounded{border-radius:1rem;min-width:1.625rem;padding:0}.tag{border-radius:1rem;padding:0 1rem}.tag:not(:has(i)):after{content:"\u2715";margin-left:.6em;font-weight:bold}.tag i{margin-left:.5rem}.tag:is(:hover,:focus,.hover,:focus-within,:focus-visible){background:var(--wider-colour-hover, var(--wider-colour-1-hover))}.tag:is(:active,.active){background:var(--wider-colour-active, var(--wider-colour-1-active))}.tag:has(input:disabled),.tag:disabled{background:var(--wider-colour-1) !important;color:#99adb1 !important}iam-multiselect:not(:defined) .tag,.tag.tag--toggle{background:var(--colour-canvas);outline:1px solid var(--colour-border)}.tag.tag--toggle:after{display:none}.tag.tag--toggle:is(:hover,:focus){background:#eee}.tag.tag--toggle:is(:active){background:#e0e0e0}.tag.tag--toggle:has(input:checked),.tag.tag--toggle.selected{background:#e9f9fd;outline:1px solid #1ebee6}.btn :is(.badge,.tag){position:relative;top:-1px}}.applied-filters:not(:empty){padding:1px 1px 1rem 1px}:host(.applied-filters--show-set) .tag--not-set{display:none}.tag:not(.tag--not-set){background:var(--wider-colour-3)}.tag.tag--not-set{background:var(--colour-canvas);outline:1px solid var(--colour-border)}/*# sourceMappingURL=assets/css/components/applied-filters.css.map */
|
|
7
7
|
|
|
8
8
|
</style>
|
|
9
9
|
<div class="applied-filters ${m}"></div>
|