@iamproperty/components 7.8.2--beta1 → 7.8.2--beta2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/css/components/modal.component.css +1 -1
- package/assets/css/components/modal.component.css.map +1 -1
- package/assets/css/components/video-card.component.css +1 -1
- package/assets/css/components/video-card.component.css.map +1 -1
- package/assets/css/components/video-modal.component.css +1 -1
- package/assets/css/components/video-modal.component.css.map +1 -1
- package/assets/js/components/accordion/accordion.component.min.js +1 -1
- package/assets/js/components/actionbar/actionbar.component.min.js +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.min.js +3 -3
- 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 +3 -3
- package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
- package/assets/js/components/banner/banner.component.min.js +1 -1
- package/assets/js/components/barchart/barchart.component.min.js +1 -1
- package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
- package/assets/js/components/bone/bone.component.min.js +1 -1
- package/assets/js/components/button/button.component.min.js +1 -1
- package/assets/js/components/calendar/calendar.component.min.js +1 -1
- package/assets/js/components/card/card.component.min.js +6 -6
- package/assets/js/components/card/card.component.min.js.map +1 -1
- package/assets/js/components/carousel/carousel.component.min.js +1 -1
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
- package/assets/js/components/config/config.component.min.js +1 -1
- package/assets/js/components/content/content.component.min.js +1 -1
- package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
- package/assets/js/components/doughnutchart/doughnutchart.component.min.js +1 -1
- package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
- package/assets/js/components/filter-card/filter-card.component.min.js +4 -4
- package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
- package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
- package/assets/js/components/form/form.component.min.js +1 -1
- package/assets/js/components/header/header.component.min.js +1 -1
- package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
- package/assets/js/components/input/input.component.min.js +1 -1
- package/assets/js/components/input-range/input-range.component.min.js +1 -1
- package/assets/js/components/marketing/marketing.component.min.js +1 -1
- package/assets/js/components/menu/menu.component.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 +1 -1
- package/assets/js/components/multiselect/multiselect.component.js +14 -1
- package/assets/js/components/multiselect/multiselect.component.min.js +3 -3
- package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
- package/assets/js/components/nav/nav.component.min.js +1 -1
- package/assets/js/components/notification/notification.component.min.js +1 -1
- package/assets/js/components/pagination/pagination.component.min.js +1 -1
- package/assets/js/components/password/password.component.min.js +1 -1
- package/assets/js/components/popover/popover.component.min.js +1 -1
- package/assets/js/components/rank/rank.component.min.js +1 -1
- package/assets/js/components/rankings/rankings.component.min.js +1 -1
- package/assets/js/components/rating/rating.component.min.js +1 -1
- package/assets/js/components/record-card/record-card.component.min.js +4 -4
- package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
- package/assets/js/components/search/search.component.min.js +5 -5
- package/assets/js/components/search/search.component.min.js.map +1 -1
- package/assets/js/components/skeleton/skeleton.component.min.js +1 -1
- package/assets/js/components/slider/slider.component.min.js +1 -1
- package/assets/js/components/split-button/split-button.component.min.js +1 -1
- package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +4 -4
- package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
- package/assets/js/components/std-nav/std-nav.component.min.js +1 -1
- package/assets/js/components/std-nav-standalone/std-nav-standalone.component.min.js +1 -1
- package/assets/js/components/table/table.component.min.js +1 -1
- package/assets/js/components/table-ajax/table-ajax.component.min.js +1 -1
- package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
- package/assets/js/components/table-submit/table-submit.component.min.js +1 -1
- package/assets/js/components/tabs/tabs.component.min.js +1 -1
- package/assets/js/components/tag/tag.component.min.js +1 -1
- package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
- package/assets/js/components/video/video.component.min.js +1 -1
- package/assets/js/components/video-card/video-card.component.min.js +6 -6
- package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
- package/assets/js/components/video-modal/video-modal.component.min.js +2 -2
- package/assets/js/components/word-count/word-count.component.min.js +1 -1
- package/assets/js/modules/advanced-select.js +6 -3
- package/assets/js/modules/advanced-select.test.js +28 -0
- package/assets/js/modules/applied-filters.test.js +21 -0
- package/assets/js/modules/card.module.js +3 -2
- package/assets/js/modules/card.module.test.js +20 -0
- package/assets/js/modules/carousel.test.js +18 -0
- package/assets/js/modules/chart.module.test.js +22 -0
- package/assets/js/modules/chart.test.js +15 -0
- package/assets/js/modules/content.test.js +20 -0
- package/assets/js/modules/data-layer.test.js +12 -0
- package/assets/js/modules/dialogs.test.js +13 -0
- package/assets/js/modules/drawer.test.js +16 -0
- package/assets/js/modules/dropdown.test.js +31 -0
- package/assets/js/modules/dynamicEvents.test.js +19 -0
- package/assets/js/modules/fileupload.test.js +17 -0
- package/assets/js/modules/filterlist.test.js +18 -0
- package/assets/js/modules/{helper.test.js → helpers.test.js} +42 -2
- package/assets/js/modules/integration-tests.test.js +12 -0
- package/assets/js/modules/milestone-group.test.js +18 -0
- package/assets/js/modules/milestone.test.js +31 -0
- package/assets/js/modules/modal.test.js +18 -0
- package/assets/js/modules/nav.test.js +37 -0
- package/assets/js/modules/notification.test.js +11 -0
- package/assets/js/modules/orderablelist.test.js +15 -0
- package/assets/js/modules/pagination.test.js +21 -0
- package/assets/js/modules/password.test.js +33 -0
- package/assets/js/modules/table.test.js +42 -0
- package/assets/js/modules/tabs.test.js +23 -0
- package/assets/js/modules/test-dom.js +725 -0
- package/assets/js/modules/test-globals.js +7 -0
- package/assets/js/modules/test-utils.js +26 -0
- package/assets/js/modules/test.js +20 -1
- package/assets/js/modules/testimonial.test.js +14 -0
- package/assets/js/modules/videos.test.js +37 -0
- package/assets/js/scripts.bundle.js +1 -1
- package/assets/js/scripts.bundle.min.js +1 -1
- package/assets/sass/components/modal.component.scss +1 -2
- package/assets/ts/components/multiselect/multiselect.component.ts +20 -1
- package/assets/ts/modules/advanced-select.test.ts +33 -0
- package/assets/ts/modules/advanced-select.ts +6 -2
- package/assets/ts/modules/applied-filters.test.ts +25 -0
- package/assets/ts/modules/card.module.test.ts +24 -0
- package/assets/ts/modules/card.module.ts +2 -1
- package/assets/ts/modules/carousel.test.ts +27 -0
- package/assets/ts/modules/chart.module.test.ts +26 -0
- package/assets/ts/modules/chart.test.ts +19 -0
- package/assets/ts/modules/content.test.ts +24 -0
- package/assets/ts/modules/data-layer.test.ts +15 -0
- package/assets/ts/modules/dialogs.test.ts +17 -0
- package/assets/ts/modules/drawer.test.ts +20 -0
- package/assets/ts/modules/dropdown.test.ts +38 -0
- package/assets/ts/modules/dynamicEvents.test.ts +23 -0
- package/assets/ts/modules/fileupload.test.ts +21 -0
- package/assets/ts/modules/filterlist.test.ts +22 -0
- package/assets/ts/modules/{helper.test.ts → helpers.test.ts} +63 -2
- package/assets/ts/modules/integration-tests.test.ts +15 -0
- package/assets/ts/modules/milestone-group.test.ts +22 -0
- package/assets/ts/modules/milestone.test.ts +35 -0
- package/assets/ts/modules/modal.test.ts +22 -0
- package/assets/ts/modules/nav.test.ts +41 -0
- package/assets/ts/modules/notification.test.ts +15 -0
- package/assets/ts/modules/orderablelist.test.ts +19 -0
- package/assets/ts/modules/pagination.test.ts +25 -0
- package/assets/ts/modules/password.test.ts +40 -0
- package/assets/ts/modules/table.test.ts +57 -0
- package/assets/ts/modules/tabs.test.ts +27 -0
- package/assets/ts/modules/test-dom.ts +798 -0
- package/assets/ts/modules/test-globals.ts +7 -0
- package/assets/ts/modules/test-utils.ts +29 -0
- package/assets/ts/modules/test.ts +28 -1
- package/assets/ts/modules/testimonial.test.ts +17 -0
- package/assets/ts/modules/videos.test.ts +33 -0
- package/dist/components.es.js +24 -24
- package/dist/components.umd.js +109 -109
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-card.component.min.js","sources":["../_global.js","../../modules/card.module.js","record-card.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","export const cardHTML = `<div class=\"wrapper\">\n <div class=\"card__head\" part=\"head\">\n <slot name=\"head\"></slot>\n </div>\n <div class=\"card__badges\"><slot name=\"badges\"></slot></div>\n <slot name=\"checkbox\" class=\"activate-prevent-hover\"></slot>\n <div class=\"card__body\" part=\"body\">\n <slot></slot>\n <slot name=\"secondary\" part=\"secondary\"></slot>\n </div>\n <div class=\"card__details\" part=\"details\">\n <slot name=\"details\"></slot>\n </div>\n <div class=\"card__footer\" part=\"footer\">\n <slot name=\"footer\"></slot>\n </div>\n</div>`;\nexport const setupCard = (cardComponent) => {\n
|
|
1
|
+
{"version":3,"file":"record-card.component.min.js","sources":["../_global.js","../../modules/card.module.js","record-card.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","export const cardHTML = `<div class=\"wrapper\">\n <div class=\"card__head\" part=\"head\">\n <slot name=\"head\"></slot>\n </div>\n <div class=\"card__badges\"><slot name=\"badges\"></slot></div>\n <slot name=\"checkbox\" class=\"activate-prevent-hover\"></slot>\n <div class=\"card__body\" part=\"body\">\n <slot></slot>\n <slot name=\"secondary\" part=\"secondary\"></slot>\n </div>\n <div class=\"card__details\" part=\"details\">\n <slot name=\"details\"></slot>\n </div>\n <div class=\"card__footer\" part=\"footer\">\n <slot name=\"footer\"></slot>\n </div>\n</div>`;\nexport const setupCard = (cardComponent) => {\n cardComponent.classList.add('card');\n const cardHead = cardComponent.shadowRoot.querySelector('.card__head');\n const cardBody = cardComponent.shadowRoot.querySelector('.card__body');\n if (cardComponent.hasAttribute('data-image')) {\n cardHead.innerHTML += `<img src=\"${cardComponent.getAttribute('data-image')}\" alt=\"\" loading=\"lazy\" part=\"image\" />`;\n }\n // Inset the HTML for the data total or icon fallback\n if (cardComponent.hasAttribute('data-total')) {\n if (!(cardBody === null || cardBody === void 0 ? void 0 : cardBody.querySelector('.card__total')))\n cardBody.insertAdjacentHTML('beforeend', `<div class=\"card__total\">${cardComponent.getAttribute('data-total')}</div>`);\n else {\n const cardTotal = cardBody === null || cardBody === void 0 ? void 0 : cardBody.querySelector('.card__total');\n if (cardTotal)\n cardTotal.innerHTML = cardComponent.getAttribute('data-total');\n }\n }\n else if (cardComponent.querySelector('[slot=\"total-icon\"]')) {\n cardBody.insertAdjacentHTML('beforeend', `<div class=\"card__total\"><slot name=\"total-icon\"></slot></div>`);\n }\n if (!cardComponent.querySelector('[slot=\"badges\"]')) {\n cardComponent.shadowRoot.querySelector('.card__badges').classList.add('empty');\n }\n else {\n cardComponent.shadowRoot.querySelector('.card__badges').classList.remove('empty');\n }\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 { trackComponent, trackComponentRegistered } from '../_global';\nimport { cardHTML, setupCard } from '../../modules/card.module';\ntrackComponentRegistered('iam-record-card');\nclass iamRecordCard extends HTMLElement {\n constructor() {\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/record-card.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${this.hasAttribute('css') ? `@import \"${this.getAttribute('css')}\";` : ``}\n \n ${loadCSS}\n </style>\n ${cardHTML}\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n return __awaiter(this, void 0, void 0, function* () {\n const cardHead = this.shadowRoot.querySelector('.card__head');\n setupCard(this);\n Array.from(this.querySelectorAll(':scope > *:not([slot])')).forEach((element) => {\n element.setAttribute('slot', 'details');\n });\n if (this.hasAttribute('data-avatar')) {\n cardHead.innerHTML += `<img src=\"${this.getAttribute('data-avatar')}\" alt=\"\" loading=\"lazy\" class=\"card__avatar\" part=\"avatar\" />`;\n }\n trackComponent(this, 'iam-record-card', []);\n });\n }\n static get observedAttributes() {\n return ['data-image'];\n }\n attributeChangedCallback(attrName, oldVal, newVal) {\n switch (attrName) {\n case 'data-image': {\n if (oldVal != newVal) {\n const cardHeadImg = this.shadowRoot.querySelector('.card__head img');\n if (cardHeadImg)\n cardHeadImg.setAttribute('src', newVal);\n }\n break;\n }\n case 'data-avatar': {\n if (oldVal != newVal) {\n const cardHeadImg = this.shadowRoot.querySelector('.card__avatar');\n if (cardHeadImg)\n cardHeadImg.setAttribute('src', newVal);\n }\n break;\n }\n }\n }\n}\nexport default iamRecordCard;\n"],"names":["trackComponentRegistered","componentName","trackComponent","component","trackEvents","eventName","event","eventDetails","eventKey","eventDetail","cardHTML","setupCard","cardComponent","cardHead","cardBody","cardTotal","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","e","rejected","result","iamRecordCard","template","element","attrName","oldVal","newVal","cardHeadImg"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.2--
|
|
2
|
+
* iamKey v7.8.2--beta2
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
|
-
*//*! js-cookie v3.0.5 | MIT */function
|
|
4
|
+
*//*! js-cookie v3.0.5 | MIT */function x(i){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var u in a)i[u]=a[u]}return i}var C={read:function(i){return i[0]==='"'&&(i=i.slice(1,-1)),i.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(i){return encodeURIComponent(i).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function A(i,t){function a(n,l,o){if(!(typeof document>"u")){o=x({},t,o),typeof o.expires=="number"&&(o.expires=new Date(Date.now()+o.expires*864e5)),o.expires&&(o.expires=o.expires.toUTCString()),n=encodeURIComponent(n).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var p="";for(var r in o)o[r]&&(p+="; "+r,o[r]!==!0&&(p+="="+o[r].split(";")[0]));return document.cookie=n+"="+i.write(l,n)+p}}function u(n){if(!(typeof document>"u"||arguments.length&&!n)){for(var l=document.cookie?document.cookie.split("; "):[],o={},p=0;p<l.length;p++){var r=l[p].split("="),b=r.slice(1).join("=");try{var h=decodeURIComponent(r[0]);if(o[h]=i.read(b,h),n===h)break}catch{}}return n?o[n]:o}}return Object.create({set:a,get:u,remove:function(n,l){a(n,"",x({},l,{expires:-1}))},withAttributes:function(n){return A(this.converter,x({},this.attributes,n))},withConverter:function(n){return A(x({},this.converter,n),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(i)}})}var q=A(C,{path:"/"});const T=i=>i.replace(/ /g,"_"),R=function(i){return i=i.toLowerCase(),i=T(i),i=i.replace(/\W/g,""),i},k=(i,t,a)=>t.split(/[\.\[\]\'\"]/).filter(u=>u).reduce((u,n)=>u?u[n]:a,i),_=i=>Array.isArray(i)||i!==null&&["function","object"].includes(typeof i);function M(i,t,a,u=!1){var n;let l=-1;if((a.closest(".datalist__wrapper")?a.closest(".datalist__wrapper"):a).setAttribute("slot","datalist"),i.querySelector(".suffix")){(n=i.querySelector(".suffix"))===null||n===void 0||n.setAttribute("slot","suffix");const e=i.shadowRoot.querySelector(".suffix");e&&(e.innerHTML='<slot name="suffix"></slot>',e.className="")}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"));const p=()=>{t.value==""?(i.classList.add("has-empty-input"),t.classList.add("empty")):(i.classList.remove("has-empty-input"),t.classList.remove("empty"))};p(),t.addEventListener("focus",function(){t.value!=""&&(t.setAttribute("placeholder",t.value),t.setAttribute("data-value",t.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 a.options)e.innerHTML==""&&(e.innerHTML=e.value);a.addEventListener("click",function(e){var c;if(e&&e.target instanceof HTMLElement&&e.target.closest("option")){const d=e.target.closest("option"),v=((c=d.textContent)===null||c===void 0?void 0:c.trim())||d.value,f=i.querySelector('input[type="hidden"]');f&&(f.value=d.value,f.setAttribute("value",d.value)),t.value=v,t.setAttribute("data-value",v),t.setAttribute("placeholder",v),typeof window.triggerDynamicEvent=="function"&&window.triggerDynamicEvent(t);for(const w of a.options)w.classList.remove("active");d.classList.add("active"),p(),setTimeout(()=>{i.dispatchEvent(new CustomEvent("update-value",{detail:{value:d.value,text:v}}))},0)}}),t.addEventListener("input",function(){if(t.removeAttribute("data-value"),l=-1,p(),i.tagName!="IAM-ADDRESS-LOOKUP"){const e=t.value.toUpperCase();for(const c of a.options)(c.textContent||c.value).toUpperCase().indexOf(e)>-1?(c.style.display="block",c.classList.remove("hide")):(c.style.display="none",c.classList.add("hide"))}}),i.addEventListener("keydown",function(e){e.keyCode==40?(l++,r(a.options)):e.keyCode==38?(l--,r(a.options)):e.keyCode==13&&!e.target.closest("form")&&(e.preventDefault(),l>-1&&a.options&&a.options[l].click())});function r(e){if(!e)return!1;b(e),l>=e.length&&(l=0),l<0&&(l=e.length-1),e[l].classList.add("active")}function b(e){if(!e)return!1;for(let c=0;c<e.length;c++)e[c].classList.remove("active")}t.closest(".input__wrapper")?t.closest(".input__wrapper").insertAdjacentHTML("beforeend",'<button class="clear-search btn btn-action" type="button"><i class="fa-light fa-times me-0"></i></button>'):i.shadowRoot.querySelector(".input__wrapper")&&(console.log(i.shadowRoot.querySelector(".input__wrapper")),i.shadowRoot.querySelector(".input__wrapper").insertAdjacentHTML("beforeend",'<button class="clear-search btn btn-action" type="button"><i class="fa-light fa-times me-0"></i></button>'));const h=()=>{const e=i.querySelector('input[type="hidden"]');e&&(e.value="",e.setAttribute("value","")),t.removeAttribute("placeholder"),t.hasAttribute("data-original-placeholder")&&t.setAttribute("placeholder",t.getAttribute("data-original-placeholder")),t.removeAttribute("data-value"),t.value="",t.classList.add("empty");for(const d of a.options)d.classList.remove("active"),d.classList.remove("hide"),d.removeAttribute("style");const c=new CustomEvent("close-button-pressed");i.dispatchEvent(c),i.dispatchEvent(new CustomEvent("update-value",{detail:{value:"",text:""}})),p()};(i.querySelector(".clear-search")?i.querySelector(".clear-search"):i.shadowRoot.querySelector(".clear-search")).addEventListener("click",function(e){h()}),i.addEventListener("empty",function(e){h()})}var E=function(i,t,a,u){function n(l){return l instanceof a?l:new a(function(o){o(l)})}return new(a||(a=Promise))(function(l,o){function p(h){try{b(u.next(h))}catch(s){o(s)}}function r(h){try{b(u.throw(h))}catch(s){o(s)}}function b(h){h.done?l(h.value):n(h.value).then(p,r)}b((u=u.apply(i,t||[])).next())})};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Search"});class S extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const t=document.createElement("template");t.innerHTML=`
|
|
5
5
|
<style>
|
|
6
6
|
@layer elements{:is(label:not(.tag),.label){font-size:1.125rem;line-height:1.3125rem;margin-bottom:.5rem;font-weight:normal;color:var(--colour-heading);display:block;&>iam-rating{margin-top:.25rem !important}&.label--sm{--input-max-width: 15rem}}}@layer elements{input{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none !important}::-moz-focus-inner{padding:0;border-style:none}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;font-weight:normal;line-height:inherit}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-moz-color-swatch{border-radius:0;border:none}::-webkit-color-swatch{border-radius:0;border:none}::file-selector-button{font:inherit;-webkit-appearance:button}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output){display:block;width:100%;display:block;width:100%;padding:var(--input-padding-block, 0.75rem) var(--input-padding-inline, 1rem);font-size:var(--input-fs, 1rem);line-height:var(--input-lh, 1.25rem);color:var(--colour-heading);background-color:var(--colour-canvas-2);background-clip:padding-box;border:2px solid var(--colour-primary);appearance:none;border-radius:.5rem;margin-bottom:1.5rem;min-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem) + 4px);max-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem) + 4px)}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output):is(:focus,.focus):not(:disabled){border-color:var(--colour-info);outline:0}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output):is(:focus,.focus):not(:disabled):not(:invalid){box-shadow:0 0 0 .1rem rgba(30,190,230,.25)}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output):disabled{background-color:#ccd6d8;opacity:.4;cursor:not-allowed}input[type=color]{padding:0 !important;max-width:3rem !important}[disabled] :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output,select:not(.select--minimal,.btn)){background-color:#ccd6d8;opacity:.4;cursor:not-allowed;pointer-events:none}[disabled] label{cursor:not-allowed;pointer-events:none}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])){max-width:var(--input-max-width)}}@layer elements{select,optgroup{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}select{text-transform:none;word-wrap:normal}select:disabled{opacity:1}select:not(.select--minimal,.btn){background:var(--icon-select) right var(--input-padding-block, 0.75rem) top var(--input-padding-block, 0.75rem)/var(--input-lh, 1.25rem) var(--input-lh, 1.25rem) no-repeat,linear-gradient(to left, var(--colour-primary-theme), var(--colour-primary-theme) 100%) right top/calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem)) calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.8rem) + var(--input-lh, 1.25rem)) no-repeat,linear-gradient(to right, var(--colour-canvas-2), var(--colour-canvas-2));padding-right:calc(var(--input-padding-inline, 1rem) + var(--input-padding-inline, 1rem) + var(--input-lh, 1.25rem)) !important}select:not(.select--minimal,.btn) option{font-size:1.2em}select:not(.select--minimal,.btn){box-shadow:inset -2px 0px 0px var(--colour-primary-theme);max-width:var(--select-max-width)}select:not(.select--minimal,.btn)[multiple],select:not(.select--minimal,.btn)[size]:not([size="1"]){background:none;max-height:none !important}select:not(.select--minimal,.btn):disabled{background-color:gray;border-color:#000}select:not(.select--minimal,.btn):-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 inherit}div:has(>select){margin-bottom:1.5rem}div:has(>select) select{margin-bottom:0 !important}.select--minimal{all:unset;font-size:inherit;line-height:inherit;background:none;border:2px solid rgba(0,0,0,0);display:inline-block;padding:.4em calc(1em + .8ch) .4rem var(--select-padding-left, 0.4em) !important;font-weight:normal !important;margin:-0.4em 0 !important;border-radius:.25em;color:var(--colour-body);height:auto;cursor:pointer;font-family:var(--font-body) !important}.select--minimal option{background-color:var(--colour-canvas);padding-left:1em;font-size:inherit;line-height:inherit}.select--minimal:hover{background:var(--colour-light)}.select--minimal:is(:focus,.focus):not(:disabled){border-color:var(--colour-info);outline:0;box-shadow:0 0 0 .1rem rgba(30,190,230,.25)}*:has(>.select--minimal){position:relative;display:inline-block !important;width:auto !important;font-size:inherit !important;line-height:1 !important;padding:0 !important;margin:0 !important;font-family:var(--font-body) !important}*:has(>.select--minimal):after{font-size:.8em;line-height:1em;content:"\uF078";font-family:"Font Awesome 7 Pro";position:absolute;top:40%;transform:translate(0, -50%);right:.8ch;pointer-events:none;color:var(--colour-body)}select:not(.select--minimal,.btn){width:100%;display:block;width:100%;padding:var(--input-padding-block, 0.75rem) var(--input-padding-inline, 1rem);font-size:var(--input-fs, 1rem);line-height:var(--input-lh, 1.25rem);color:var(--colour-heading);background-color:var(--colour-canvas-2);background-clip:padding-box;border:2px solid var(--colour-primary);border-radius:.5rem;margin-bottom:1.5rem;min-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem) + 4px);max-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem) + 4px)}select:not(.select--minimal,.btn):is(:focus,.focus):not(:disabled){border-color:var(--colour-info);outline:0}select:not(.select--minimal,.btn):is(:focus,.focus):not(:disabled):not(:invalid){box-shadow:0 0 0 .1rem rgba(30,190,230,.25)}select:not(.select--minimal,.btn):disabled{background-color:#ccd6d8;opacity:.4;cursor:not-allowed}[disabled] select:not(.select--minimal,.btn){background-color:#ccd6d8;opacity:.4;cursor:not-allowed;pointer-events:none}@media(hover: hover){select{appearance:base-select !important}}select::picker-icon{display:none}select::picker(select){appearance:base-select}select option::checkmark{display:none}select selectedcontent span{display:none}select[multiple]{border-radius:.35rem}select[multiple]::-webkit-scrollbar{width:.7rem}select[multiple]::-webkit-scrollbar *{background-color:rgba(0,0,0,0)}select[multiple]::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2);border-radius:.35rem}}@layer elements{textarea{--textarea-height-scale: 3;margin:0;font-family:inherit;resize:vertical;display:block;width:100%;display:block;width:100%;padding:var(--input-padding-block, 0.75rem) var(--input-padding-inline, 1rem);font-size:var(--input-fs, 1rem);line-height:var(--input-lh, 1.25rem);color:var(--colour-heading);background-color:var(--colour-canvas-2);background-clip:padding-box;border:2px solid var(--colour-primary);appearance:none;border-radius:.5rem;margin-bottom:1.5rem;max-height:100%;&:not([rows]){min-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem)*var(--textarea-height-scale) + 4px) !important}&[rows="1"]{--textarea-height-scale: 1}&[rows="2"]{--textarea-height-scale: 2}&:is([rows="2"],[rows="2"]){min-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem)*var(--textarea-height-scale) + 4px) !important}&:is(:focus,.focus):not(:disabled){border-color:var(--colour-info);outline:0}&:is(:focus,.focus):not(:disabled):not(:invalid){box-shadow:0 0 0 .1rem rgba(30, 190, 230, 0.25)}&:disabled{background-color:#ccd6d8;opacity:.4;cursor:not-allowed}}[disabled] textarea{background-color:#ccd6d8;opacity:.4;cursor:not-allowed;pointer-events:none}label:not(.tag):has(textarea){display:block;margin-bottom:1.5rem;max-width:var(--input-max-width);textarea{margin-top:.5rem;margin-bottom:0 !important}}}@layer elements{fieldset{min-width:0;padding:0;margin:0;border:0}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[disabled] label{cursor:not-allowed;pointer-events:none}fieldset{width:100%;position:relative}legend{font-family:var(--font-heading);font-style:normal;font-weight:var(--heading-weight);line-height:2rem;color:var(--colour-heading);margin:0;clear:both;display:block;float:none;font-size:var(--h4-fs);line-height:var(--heading-lh);padding-bottom:.5rem;max-width:var(--content-max-width);min-width:100%}div:has(>label:first-child):has(>input){position:relative;max-width:var(--input-max-width);margin-bottom:1.5rem}div:has(>label:first-child):has(>input) input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),div:has(>label:first-child):has(>input) output,div:has(>label:first-child):has(>input) .prefix,div:has(>label:first-child):has(>input) .suffix{margin-bottom:0 !important}div:has(>label:first-child):has(>input){display:flex;flex-wrap:wrap;align-items:center}div:has(>label:first-child):has(>input)>*:not(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])):not(output):not(.prefix):not(.suffix){flex-shrink:0;width:100%}div:has(>label:first-child):has(>input) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),output){flex-shrink:1;flex-grow:1;width:0}div:has(>label:first-child):has(>input) input~*:not(output){order:5;margin-top:.5rem}*:has(>:is(.form-control-sm,.input--sm)){--input-fs: 0.875rem;--input-lh: 1rem;--input-padding-block: 0.625rem;--input-padding-inline: 0.875rem}*:has(>:is(.form-control-lg,.input--lg)){--input-fs: 1.5rem;--input-lh: 1.8125rem;--input-padding-block: 1.25rem;--input-padding-inline: 1.375rem}*:has(>label:first-child):has(>input):has(>:is(.form-control-inline,.input--inline)) label{flex-shrink:0;white-space:nowrap;width:fit-content !important;margin:0;margin-inline-end:1rem}*:has(>input[readonly]){position:relative;max-width:var(--input-max-width)}*:has(>input[readonly]):after{font-family:var(--fa-family-classic);font-weight:300;content:"\uF023";position:absolute;font-size:var(--input-lh, 1.25rem);height:var(--input-lh, 1.25rem);width:var(--input-lh, 1.25rem);top:auto !important;bottom:calc(var(--input-padding-block, 0.75rem) + 2px);right:calc(var(--input-padding-block, 1rem) + 2px);text-align:center}@supports selector(:has(*)){.suffix~:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=date]):not([type=time]),output),:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=date]):not([type=time]),output):has(~.suffix){order:1;border-start-end-radius:0 !important;border-end-end-radius:0 !important}:is(input):has(~iam-password-indicator){border-start-end-radius:0 !important;border-end-end-radius:0 !important}label:has(.suffix) input{border-start-end-radius:0 !important;border-end-end-radius:0 !important}}.was-validated *:not(button):is(:invalid,.is-invalid,[aria-invalid]):not(.is-valid)+label,.was-validated label:has(*:not(button):is(:invalid,.is-invalid,[aria-invalid]):not(.is-valid)){--colour-check-border: var(--colour-danger);--colour-check-bg: #fcebec;border-color:var(--colour-danger)}.was-validated *:not(button):is(:invalid,.is-invalid,[aria-invalid],:-internal-autofill-selected){border-color:var(--colour-danger) !important}.was-validated select:not(.btn):is(:invalid,.is-invalid,[aria-invalid],:-internal-autofill-selected){background:var(--icon-select) right var(--input-padding-block, 0.75rem) top var(--input-padding-block, 0.75rem)/var(--input-lh, 1.25rem) var(--input-lh, 1.25rem) no-repeat,linear-gradient(to left, var(--colour-primary-theme), var(--colour-primary-theme) 100%) right top/calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem)) calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.8rem) + var(--input-lh, 1.25rem)) no-repeat,var(--icon-error) right var(--input-padding-block, 3.5rem) top var(--input-padding-block, 0.75rem)/var(--input-lh, 1.25rem) var(--input-lh, 1.25rem) no-repeat;padding-right:6rem !important}.was-validated input:is(:invalid,.is-invalid,[aria-invalid],:-internal-autofill-selected){background-image:var(--icon-error);background-repeat:no-repeat;background-position:right var(--input-padding-inline, 1rem) center;background-size:var(--input-lh, 1.25rem) var(--input-lh, 1.25rem);padding-right:calc(var(--input-lh, 1.25rem) + var(--input-padding-inline, 1rem) + var(--input-padding-inline, 1rem)) !important}.was-validated *:not(button):is(:valid,.is-valid):not(.is-invalid){border-color:var(--colour-complete)}.was-validated input:is(:valid,.is-valid):not(:is(:invalid,.is-invalid)){background-image:var(--icon-tick);background-repeat:no-repeat;background-position:right var(--input-padding-inline, 1rem) center;background-size:var(--input-lh, 1.25rem) var(--input-lh, 1.25rem);padding-right:calc(var(--input-lh, 1.25rem) + var(--input-padding-inline, 1rem) + var(--input-padding-inline, 1rem)) !important}.invalid-feedback{color:var(--colour-danger);margin-top:.5rem;background-image:var(--icon-error);background-repeat:no-repeat;background-position:left top 1px;background-size:var(--input-fs, 1rem) var(--input-fs, 1rem);padding-left:calc(var(--input-fs, 1rem) + .5rem);display:none}iam-address-lookup:has([required]){--req-display: none}.was-validated :is(:invalid,.is-invalid)~.invalid-feedback{display:block}.was-validated iam-address-lookup:has([required]:invalid){--error-border: var(--colour-danger);--error-bg: var(--icon-error);--error-display: block;--error-hide: none}@supports selector(:has(*)){input:is([type=radio],[type=checkbox]){position:absolute;top:0;left:0;opacity:0;height:0;width:0;margin:0;pointer-events:none}:is(div,fieldset,label:not(.tag)):has(>input:is([type=radio],[type=checkbox])):not(:has(label input)){position:relative;margin-bottom:1.5rem}:is(div,fieldset,label:not(.tag)):has(>input[type=radio]){--border-radius: 50%;--outline-width: 0.5rem}:is(div,fieldset,label:not(.tag)):has(>input[type=checkbox]){--border-radius: 0.25rem;--outline-width: 0.25rem}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)),label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)){--tick-colour: transparent;color:var(--colour-heading);position:relative;font-size:1rem;line-height:1.25rem;padding-left:2.5rem;padding-top:.625rem;padding-bottom:.625rem;margin-bottom:1.5rem;margin-right:1.5rem;cursor:pointer}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)):has(+span),label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)):has(+span){margin-bottom:0}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)):has(+input),label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)):has(+input){margin-bottom:0}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)):last-child,label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)):last-child{margin-bottom:0}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)):before,label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)):before{content:"";border:2px solid var(--colour-check-border, var(--colour-primary));background:var(--colour-check-bg, transparent);border-radius:var(--border-radius);height:var(--radio-size, 1.5rem);width:var(--radio-size, 1.5rem);display:inline-block;position:absolute;top:.5rem;left:var(--outline-width)}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)).btn:before,label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)).btn:before{opacity:0}input[type=radio]+label:not(:has(>iam-card)):after,label:not(.tag):has(input[type=radio]):not(:has(>iam-card)):after{content:"" !important;background:var(--colour-info);border-radius:var(--border-radius);height:.875rem;width:.875rem;height:var(--radio-inner-size, 0.875rem);width:var(--radio-inner-size, 0.875rem);display:none;position:absolute;top:var(--radio-inner-top, 0.8125rem);left:var(--radio-inner-left, calc(0.3125rem + var(--outline-width)))}input[type=radio]+label:not(:has(>iam-card)).radio--tick:before,label:not(.tag):has(input[type=radio]):not(:has(>iam-card)).radio--tick:before{content:"\uF00C";position:absolute;font-size:1.5em;line-height:1;color:var(--tick-colour);font-family:var(--fa-family-classic);background:none !important;border:none !important;outline:none !important;left:.25rem}input[type=radio]+label:not(:has(>iam-card)).radio--tick:after,label:not(.tag):has(input[type=radio]):not(:has(>iam-card)).radio--tick:after{display:none}@media(forced-colors: active){input:is([type=radio],[type=checkbox]):not(:checked)+label.radio--tick:not(:has(>iam-card)):before,label:has(input:is([type=radio],[type=checkbox]):not(:checked)).radio--tick:not(:has(>iam-card)):before{display:none}}:is(div,fieldset):has(>:is(input[type=radio],input[type=checkbox]):nth-of-type(2)) label:not(.tag):not(:has(>iam-card)){margin-bottom:0rem}fieldset:has(label>input:is([type=radio],[type=checkbox])) label{margin-bottom:0 !important}fieldset:has(label>input:is([type=radio],[type=checkbox])){margin-bottom:1.5rem}input:is([type=radio],[type=checkbox]):checked+label,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked){--tick-colour: var(--colour-info)}input:is([type=radio],[type=checkbox]):checked+label:before,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked):before{border-color:var(--colour-info)}input:is([type=radio],[type=checkbox]):checked+label:after,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked):after{display:inline-block}input:is([type=radio],[type=checkbox]):checked+label iam-card,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked) iam-card{--colour: var(--colour, var(--colour-info))}input[type=checkbox]:not([disabled]):checked+label:before,label:not(.tag):has(input[type=checkbox]:not([disabled]):checked):before{background:var(--colour-info) !important}input[type=checkbox]:checked+label:not(:has(>iam-card)):after,label:not(.tag):has(input[type=checkbox]:checked):after{content:"\uF00C";position:absolute;font-size:var(--checkbox-tick-size, 1em);line-height:1;color:var(--colour-primary-theme);font-family:var(--fa-family-classic);font-weight:bold;height:var(--checkbox-inner-size, 1.5rem);width:var(--checkbox-inner-size, 1.5rem);line-height:1.625rem;background:none !important;border:none !important;outline:none !important;top:var(--checkbox-inner-top, 0.5rem);left:var(--checkbox-inner-left, var(--outline-width));text-align:center}input[type=checkbox]:indeterminate+label:before,label:not(.tag):has(input[type=checkbox]:indeterminate):before{background:var(--colour-info) !important;border-color:var(--colour-info) !important}input[type=checkbox]:indeterminate+label:after,label:not(.tag):has(input[type=checkbox]:indeterminate):after{content:"\uF068";position:absolute;font-size:var(--checkbox-tick-size, 1em);line-height:1;color:var(--colour-primary-theme);font-family:var(--fa-family-classic);font-weight:bold;height:var(--checkbox-inner-size, 1.5rem);width:var(--checkbox-inner-size, 1.5rem);line-height:1.625rem;background:none !important;border:none !important;outline:none !important;top:var(--checkbox-inner-top, 0.5rem);left:var(--checkbox-inner-left, var(--outline-width));text-align:center}input:is([type=radio],[type=checkbox]):checked:is(:focus,:hover,.focus)+label,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked:is(:focus,:hover,.focus)){--tick-colour: var(--colour-info)}input:is([type=radio],[type=checkbox]):is(:focus,:hover,.focus)+label,input:is([type=radio],[type=checkbox])+label.hover,label:not(.tag):has(input:is([type=radio],[type=checkbox]):is(:focus,:hover,.focus)){--tick-colour: var(--colour-muted)}input:is([type=radio],[type=checkbox]):is(:focus,:hover,.focus)+label:before,input:is([type=radio],[type=checkbox])+label.hover:before,label:not(.tag):has(input:is([type=radio],[type=checkbox]):is(:focus,:hover,.focus)):before{background:var(--colour-check-bg, light-dark(var(--colour-light), #444444));outline:var(--outline-width) solid light-dark(var(--colour-light), #444444)}input:is([type=radio],[type=checkbox]):is(:active,.active)+label,input:is([type=radio],[type=checkbox])+label.active,label:not(.tag):has(input:is([type=radio],[type=checkbox]):is(:active,.active)){--tick-colour: var(--colour-light)}input:is([type=radio],[type=checkbox]):is(:active,.active)+label:before,input:is([type=radio],[type=checkbox])+label.active:before,label:not(.tag):has(input:is([type=radio],[type=checkbox]):is(:active,.active)):before{background:var(--colour-check-bg, #e0e0e0);outline:var(--outline-width) solid #e0e0e0}input:is([type=radio],[type=checkbox]):disabled+label,label:not(.tag):has(input:is([type=radio],[type=checkbox]):disabled){opacity:.4;cursor:not-allowed}input:is([type=radio],[type=checkbox]):disabled+label>iam-card,label:not(.tag):has(input:is([type=radio],[type=checkbox]):disabled)>iam-card{pointer-events:none}input:is([type=radio],[type=checkbox]):disabled+label:before,label:not(.tag):has(input:is([type=radio],[type=checkbox]):disabled):before{background-color:none !important;outline:none !important;border-color:var(--colour-primary) !important}input[type=radio][disabled]:checked+label:after,label:not(.tag):has(input[type=radio][disabled]:checked):after{background-color:var(--colour-primary) !important}input[type=checkbox][disabled]:checked+label:before,label:not(.tag):has(input[type=checkbox][disabled]:checked):before{background:#e0e0e0 !important;border-color:#e0e0e0 !important}}.conditional{display:none}input:checked+.conditional,input:checked+label+.conditional,label:has(:checked)+.conditional,.was-validated .conditional:has(input[required]:invalid),.was-validated .conditional:focus-within{display:block;clear:both}input:not([class*=conditional-input-]):nth-of-type(1):checked~.conditional-1,input:not([class*=conditional-input-]):nth-of-type(2):checked~.conditional-2,input:not([class*=conditional-input-]):nth-of-type(3):checked~.conditional-3,input:not([class*=conditional-input-]):nth-of-type(4):checked~.conditional-4,input:not([class*=conditional-input-]):nth-of-type(5):checked~.conditional-5,input.conditional-input-1:checked~.conditional-1,input.conditional-input-2:checked~.conditional-2,input.conditional-input-3:checked~.conditional-3,input.conditional-input-4:checked~.conditional-4,input.conditional-input-5:checked~.conditional-5,label:has(input.conditional-input-1:checked)~.conditional-1,label:has(input.conditional-input-2:checked)~.conditional-2,label:has(input.conditional-input-3:checked)~.conditional-3,label:has(input.conditional-input-4:checked)~.conditional-4,label:has(input.conditional-input-5:checked)~.conditional-5{display:block;clear:both}iam-fileupload input{display:none}:is(label:not(.tag),.label):has(:is(input,select,textarea)){display:block;margin-bottom:1.5rem;max-width:var(--input-max-width)}:is(label:not(.tag),.label):has(:is(input,select,textarea)) :is(input:not([type=range]),select){margin-top:.5rem;margin-bottom:0 !important}:is(label:not(.tag),.label):has(:is(input,select,textarea)) :is(input,select)~span:not(:is(.suffix,.prefix,.invalid-feedback)),:is(label:not(.tag),.label):has(:is(input,select,textarea)) span:has(>:is(input,select))~span:not(:is(.suffix,.prefix,.invalid-feedback)),:is(label:not(.tag),.label):has(:is(input,select,textarea)) .hint-text{all:initial;font-family:var(--font-body);color:var(--colour-body);margin-top:.5rem;display:block;line-height:1.2}:is(label:not(.tag),.label):has(:is(input,select,textarea)) .invalid-feedback{font-size:1rem;font-weight:normal;line-height:1.2}:is(label:not(.tag),.label):has(:is(input,select,textarea)) span:has(:is(input,select)){display:flex;width:100%}:is(label:not(.tag),.label):has(:is(input,select,textarea)) :is(.suffix,.prefix):not(.mt-0){margin:.5rem 0 0 0 !important}.was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)),.was-validated fieldset:has(label input:is([type=radio],[type=checkbox]):invalid){margin-bottom:1.5rem}.was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)):has(:is(:invalid,.is-invalid)):after,.was-validated fieldset:has(label input:is([type=radio],[type=checkbox]):invalid):has(:is(:invalid,.is-invalid)):after{content:"This field is required";color:var(--colour-danger);margin-top:.5rem;background-image:var(--icon-error);background-repeat:no-repeat;background-position:left top 1px;background-size:var(--input-fs, 1rem) var(--input-fs, 1rem);padding-left:calc(var(--input-fs, 1rem) + .5rem);display:block;width:100%;font-size:1rem;line-height:1.2}.was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select))[data-error]:has(:is(:invalid,.is-invalid)):after,.was-validated fieldset:has(label input:is([type=radio],[type=checkbox]):invalid)[data-error]:has(:is(:invalid,.is-invalid)):after{content:attr(data-error) !important}.was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)).error-nowrap:after,.was-validated fieldset:has(label input:is([type=radio],[type=checkbox]):invalid).error-nowrap:after{white-space:nowrap}input[type=range]{--track-size: 0.5rem;--track-colour: var(--colour-light);--thumb-colour: var(--colour-info);--thumb-size: 1.5rem;width:100%;background:rgba(0,0,0,0);cursor:pointer;margin-top:2rem;margin-bottom:2rem;height:2rem;border-radius:50%;accent-color:var(--thumb-colour);-webkit-appearance:none;appearance:none}*:has(>input[type=range]){position:relative;padding-bottom:6rem;max-width:var(--input-max-width)}label input[type=range]{position:absolute;top:1.5rem;left:0}input[type=range]::-webkit-slider-runnable-track{background:var(--track-colour);height:var(--track-size);border-radius:.5rem}input[type=range]::-moz-range-track{background:var(--track-colour);height:var(--track-size);border-radius:.5rem}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-0.5rem;background-color:var(--thumb-colour);height:var(--thumb-size);width:var(--thumb-size);border-radius:50%;position:relative;z-index:99;pointer-events:all}input[type=range]::-moz-range-thumb{border:none;background-color:var(--thumb-colour);height:var(--thumb-size);width:var(--thumb-size);border-radius:50%;position:relative;z-index:99;pointer-events:all}input[type=range]:focus{outline:none}input[type=range]:hover::-webkit-slider-thumb,input[type=range]:focus::-webkit-slider-thumb{outline:.5rem solid rgba(30,190,231,.2)}input[type=range]:active::-webkit-slider-thumb{outline:.5rem solid rgba(30,190,231,.4)}input[type=range]:hover::-moz-range-thumb,input[type=range]:focus::-moz-range-thumb{outline:.5rem solid rgba(30,190,231,.2)}input[type=range]:focus::-moz-range-thumb{outline:.5rem solid rgba(30,190,231,.4)}iam-slider input::-webkit-outer-spin-button,iam-slider input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:is(input[type=date],input[type=datetime-local],input[type=year],input[type=month],input[type=week],input[type=time]){position:relative;margin-right:-3rem;padding-right:3rem !important;background-position:right 4rem center;border-radius:.5rem !important}::-webkit-calendar-picker-indicator{background:rgba(0,0,0,0);bottom:0;color:rgba(0,0,0,0);cursor:pointer;height:auto;left:0;position:absolute;right:0;top:0;width:auto;order:3;z-index:98}::-webkit-datetime-edit{position:relative;z-index:99;max-width:fit-content}.input__wrapper{margin-top:.5rem;display:block;position:relative}.input__wrapper input{margin:0 !important}.clear-search{display:var(--error-hide, block);position:absolute;top:50%;transform:translate(0, -50%);right:.5rem;margin:0;aspect-ratio:1/1}.clear-search:not(:hover,:focus){border-color:rgba(0,0,0,0) !important;background-color:rgba(0,0,0,0) !important}.input__wrapper:has(input[disabled],input.empty) .clear-search{display:none}.input__wrapper:has(input:is([name$=Alt]):not([data-value],[data-placeholder])) .clear-search{display:none}}@layer elements{.dropdown__wrapper{position:relative;display:block;label{position:relative}input{padding-right:3rem}label:after,.hint-text{position:absolute;top:100%}label[for=use]:after{top:var(--checkbox-inner-top, 0.5rem)}}.was-validated .dropdown__wrapper label:has(:is(input:not([type=radio]):not([type=checkbox]),select)),.dropdown__wrapper.was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)){input{background:none !important}&:has(:invalid,.is-invalid) .hint-text{display:none}}.dark-theme .dropdown__wrapper datalist{color-scheme:dark}.dropdown__wrapper:is(:focus-within,:has(*:active),:active) datalist{display:block;&:empty{display:block !important}}:is(.dropdown,datalist,[popover]),select::picker(select){border-top:none;border:none !important;font-size:1rem;background:var(--dropdown-bg);margin-block:var(--dropdown-margin-block);padding:var(--dropdown-padding);border-radius:var(--dropdown-border-radius);box-shadow:var(--dropdown-box-shadow)}:is(.dropdown,datalist):empty,select::picker(select):empty{display:none !important}:is(.dropdown,datalist){overflow-y:auto;width:100%;max-width:var(--input-max-width, 50rem);z-index:100;max-height:25rem;overflow:auto;&:before{display:none}}datalist{position:absolute;top:100%;left:0;&:empty:before{content:"No results found";background-color:white;padding:1rem .5rem;color:var(--colour-primary) !important;font-weight:inherit !important;font-family:inherit !important;font-size:1rem !important;line-height:1.1875rem !important;padding-block:var(--menu-item-padding, 1rem) !important;display:block}}[popover]{top:calc(anchor(top) + anchor-size(height));left:anchor(left)}:is(.dropdown,datalist,select) option,.dropdown__option:not([slot=checked]){background:var(--dropdown-bg);cursor:pointer;background:unset !important;border:unset !important;color:var(--option-color) !important;font-weight:inherit !important;font-family:inherit !important;font-size:1rem !important;line-height:1.5rem !important;margin:0;padding:var(--option-padding) !important;width:100% !important;max-width:100% !important;text-align:left !important;border-radius:var(--option-border-radius) !important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;text-overflow:ellipsis;overflow:clip;&:not(:last-child){margin:0 0 .25rem 0 !important}&:is(:hover,:focus){background:var(--option-bg-hover) !important;color:var(--option-color-hover) !important}&:is(:active,.active,:checked){border-left:var(--option-border-left-active) !important;background:var(--option-bg-active) !important}&:after{content:attr(data-after)}}:is(.dropdown,datalist,select,[popover]) hr{height:1px !important;background-color:var(--menu-hr-border-color, var(--border-color, grey)) !important;width:100%;margin:var(--menu-item-margin, 0 0 0.25rem 0) !important;padding:0 !important}:is(.dropdown,datalist,select,[popover]) *:last-child{margin-bottom:0}:is(.dropdown,datalist,select,[popover]) :is(p):last-child{padding-bottom:0}:is(.dropdown,datalist,[popover]) :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6){font-size:1rem !important;line-height:1.1875rem !important;padding-bottom:.5rem;font-weight:700}:is(iam-tag,iam-multiselect):has(label:not([slot=checked])){--display-panel: block}:is(iam-tag,iam-multiselect):has(label[slot=checked]){--display-button: block}:is(iam-tag,iam-multiselect)[data-single] .tag[slot=checked],:is(iam-tag,iam-multiselect)[data-single] .tag[slot=checked] *{pointer-events:none !important}@container style(--theme: dark){:host :is(.tag,.badge):not([slot=checked]){color:var(--colour-heading)}}.dropdown__option[slot=checked]{order:var(--order, 1)}}@layer elements{:is(.prefix,.suffix){display:none}:is(.prefix,.suffix){--fa-display: flex;display:flex;flex-direction:column;justify-content:center;align-items:center;width:auto;padding:0 .75rem;font-size:var(--input-fs, 1rem);line-height:var(--input-lh, 1.25rem);color:var(--colour-body);background-color:var(--colour-primary-theme);border:2px solid var(--colour-primary);color:var(--colour-white);margin:0 !important;border-end-start-radius:.5rem;border-start-start-radius:.5rem;min-width:calc(2.75rem + 4px);overflow:hidden;white-space:nowrap;text-align:center;text-overflow:ellipsis;position:relative;height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem) + 4px)}@supports(height: stretch){:is(.prefix,.suffix){height:stretch}}:is(.prefix,.suffix){flex-shrink:0}:is(.prefix,.suffix):after{display:inline-block;max-width:1.25rem}:is(.prefix,.suffix)[class*=fa-]{width:calc(2.75rem + 4px);padding-inline:0}:is(.prefix,.suffix) select{position:absolute;inset:0;opacity:0;cursor:pointer}:is(.prefix,.suffix) span{display:none}:is(.prefix,.suffix) select:has(option:nth-child(1):checked)~span:nth-of-type(1),:is(.prefix,.suffix) select:has(option:nth-child(2):checked)~span:nth-of-type(2),:is(.prefix,.suffix) select:has(option:nth-child(3):checked)~span:nth-of-type(3),:is(.prefix,.suffix) select:has(option:nth-child(4):checked)~span:nth-of-type(4),:is(.prefix,.suffix) select:has(option:nth-child(5):checked)~span:nth-of-type(5),:is(.prefix,.suffix) select:has(option:nth-child(6):checked)~span:nth-of-type(6),:is(.prefix,.suffix) select:has(option:nth-child(7):checked)~span:nth-of-type(7),:is(.prefix,.suffix) select:has(option:nth-child(8):checked)~span:nth-of-type(8),:is(.prefix,.suffix) select:has(option:nth-child(9):checked)~span:nth-of-type(9),:is(.prefix,.suffix) select:has(option:nth-child(10):checked)~span:nth-of-type(10){display:block}:is(.prefix,.suffix) select~span:after{content:" \uF078";font-family:var(--fa-family-classic);font-size:.8em;display:inline-block;padding-left:1em}:is(.prefix,.suffix) select:focus-visible~span:after{content:"\uF077"}@container style(--font-body){:is(.prefix,.suffix)::before{content:var(--iso) !important}}@container style(--fa-font-regular){:is(.prefix,.suffix)::before{content:var(--fa) !important}}.prefix{border-right:none}.suffix{border-left:none;border-end-start-radius:0;border-start-start-radius:0;border-start-end-radius:.5rem !important;border-end-end-radius:.5rem !important;order:2}.prefix span{display:none}.prefix span small{font-size:.8em}.prefix~:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),textarea,output){border-end-start-radius:0 !important;border-start-start-radius:0 !important}}:host{display:block;margin-top:.5rem}.wrapper{display:flex;width:100%}.wrapper .input__wrapper{flex-grow:1;position:relative;margin-top:0 !important}.wrapper .suffix{flex-grow:0}:host(.has-label) .wrapper{display:contents !important}:host(.has-label) .suffix{display:none}:host(.has-empty-input) .clear-search{display:none !important}::slotted(input){border-start-end-radius:0 !important;border-end-end-radius:0 !important;margin-top:0 !important}::slotted(label){border-start-end-radius:0 !important;border-end-end-radius:0 !important;margin-top:0 !important}::slotted(button){margin-top:0 !important}@layer components{@media(prefers-color-scheme: light){:host{color-scheme:light}::slotted(*){--colour-heading: var(--colour-primary-theme);--colour-body: var(--colour-primary-theme);color:var(--colour-primary-theme);color-scheme:light}}:host(.search--stylised) ::slotted(input){outline:1px solid var(--colour-border) !important;border:none !important;border-radius:1.5rem !important;padding-left:3rem !important;background-color:var(--colour-canvas)}:host(.search--stylised) ::slotted(input.input--sm){padding-left:2.5rem !important}:host(.search--stylised) ::slotted(input:is(:focus)){outline:1px solid var(--colour-info) !important}:host(.search--stylised) ::slotted(button){background:rgba(0,0,0,0) !important;border-color:rgba(0,0,0,0) !important;color:var(--colour-heading) !important;position:absolute !important;top:0;left:0}:host(.hasInputSm) ::slotted(button){min-width:2.5rem !important}:host(.search--stylised) .clear-search{border-radius:50% !important;outline:none !important;border:none !important}}/*# sourceMappingURL=assets/css/components/search.component.css.map */
|
|
7
7
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous" />
|
|
10
10
|
<span class="wrapper"><span class="input__wrapper"><slot></slot></span><span class="suffix fa-regular fa-search"></span></span>
|
|
11
11
|
<slot name="datalist"></slot>
|
|
12
|
-
`,this.shadowRoot.appendChild(t.content.cloneNode(!0))}connectedCallback(){return E(this,void 0,void 0,function*(){this.classList.add("dropdown__wrapper"),this.querySelector("input.input--sm")&&this.classList.add("hasInputSm"),this.querySelector("label")&&this.classList.add("has-label");const t=this,a=this.querySelector("input"),
|
|
13
|
-
`,", ");
|
|
14
|
-
`,", ");
|
|
12
|
+
`,this.shadowRoot.appendChild(t.content.cloneNode(!0))}connectedCallback(){return E(this,void 0,void 0,function*(){this.classList.add("dropdown__wrapper"),this.querySelector("input.input--sm")&&this.classList.add("hasInputSm"),this.querySelector("label")&&this.classList.add("has-label");const t=this,a=this.querySelector("input"),u=this.hasAttribute("data-value-schema")?this.getAttribute("data-value-schema"):"value",n=this.hasAttribute("data-display-schema")?this.getAttribute("data-display-schema"):"label",l=this.hasAttribute("data-schema")?this.getAttribute("data-schema"):"";let o=this.querySelector("datalist"),p=this.hasAttribute("data-min-length")?this.getAttribute("data-min-length"):0;t.hasAttribute("data-url")&&!this.hasAttribute("data-min-length")&&(p=3);const r=a.cloneNode();if(r.setAttribute("name",`${a.getAttribute("name")}Alt`),a.removeAttribute("data-change-events"),r.removeAttribute("id"),a.after(r),a.setAttribute("type","hidden"),!o){o=document.createElement("datalist");const s=R("list");o.setAttribute("id",s),t.appendChild(o),r.setAttribute("list",s)}r.addEventListener("change",function(s){a.value=r.value}),M(this,r,o,!1);const b=()=>{const s=o.querySelector(`option[value="${r.value}" i]`),e=o.querySelector(`option[value*="${r.value}" i]`);s?(a.value=s.getAttribute("data-actual-value"),r.value=s.getAttribute("data-actual-value"),r.classList.remove("is-invalid"),r.closest("label").removeAttribute("data-error")):r.value.length>=p&&!e?(r.classList.add("is-invalid"),r.closest("label").setAttribute("data-error","No results returned"),t.hasAttribute("data-url")&&(o.innerHTML="")):(r.classList.remove("is-invalid"),r.closest("label").removeAttribute("data-error"))},h=s=>E(this,void 0,void 0,function*(){if(!this.getAttribute("data-url"))return!1;let e=this.getAttribute("data-url");e+=`${encodeURI(s)}`,window.controller||(window.controller=[]),window.controller[e]&&window.controller[e].abort(),window.controller[e]=new AbortController;const{signal:c}=controller[e];try{yield fetch(e,{signal:c,method:"get",credentials:"same-origin",mode:"no-cors",headers:new Headers({"Content-Type":"application/json",Accept:"application/json","X-Requested-With":"XMLHttpRequest","X-XSRF-TOKEN":q.get("XSRF-TOKEN")})}).then(d=>d.json()).then(d=>{let v="";const f=k(d,l,"");if(_(f)&&typeof f.forEach=="function")f.forEach(m=>{const g=k(m,u,""),y=k(m,n,"").replace(`
|
|
13
|
+
`,", ");o.querySelector(`option[data-actual-value="${g}"]`)||(v+=`<option value="${y}" data-actual-value="${g}">${y}</option>`)});else if(typeof f=="object")for(const[m,g]of Object.entries(f))_(g)&&typeof g.forEach=="function"&&g.forEach(y=>{const z=k(y,u,""),L=k(y,n,"").replace(`
|
|
14
|
+
`,", ");o.querySelector(`option[data-actual-value="${z}"]`)||(v+=`<option value="${m}: ${L}" data-actual-value='${z}'>${m}: ${L}</option>`)});o.innerHTML+=v;const w=s.toUpperCase();for(const m of o.options)m.value.toUpperCase().indexOf(w)>-1?(m.style.display="block",m.classList.remove("hide")):(m.style.display="none",m.classList.add("hide"));return t.classList.add("was-validated"),b(),d})}catch(d){console.log(d)}});o.addEventListener("click",function(s){if(s&&s.target instanceof HTMLElement&&s.target.closest("option")){const e=s.target.closest("option"),c=e?.hasAttribute("data-actual-value")?e?.getAttribute("data-actual-value"):e?.getAttribute("data-value");a.value=c;const d=new CustomEvent("value-change",{detail:{value:c}});t.dispatchEvent(d)}}),this.addEventListener("close-button-pressed",function(s){t.hasAttribute("data-url")&&(o.innerHTML=""),a==null||(a.value=""),t.classList.remove("was-validated"),r.classList.remove("is-invalid"),r.closest("label").removeAttribute("data-error")}),t.hasAttribute("data-url")?r.addEventListener("input",()=>{r.value.length<p&&(o.innerHTML=""),r.value.length==p&&h(r.value)}):r.addEventListener("input",()=>{b()}),t.hasAttribute("data-prevent-submit")&&t.closest("form").addEventListener("submit",e=>{e.preventDefault()})})}}export{S as default};
|
|
15
15
|
//# sourceMappingURL=search.component.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.component.min.js","sources":["../../../../node_modules/js-cookie/dist/js.cookie.mjs","../../modules/helpers.js","../../modules/advanced-select.js","search.component.js"],"sourcesContent":["/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\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 if (!(form === null || form === void 0 ? void 0 : form.closest('iam-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 });\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 if (!(form === null || form === void 0 ? void 0 : form.closest('iam-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 });\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","function advancedSelect(advancedSelect, displayInputField, datalist, isSearch = false) {\n var _a, _b, _c;\n let currentFocus = -1;\n const datalistWrapper = datalist.closest('.datalist__wrapper') ? datalist.closest('.datalist__wrapper') : datalist;\n datalistWrapper.setAttribute('slot', 'datalist');\n if (advancedSelect.querySelector('.suffix')) {\n (_a = advancedSelect.querySelector('.suffix')) === null || _a === void 0 ? void 0 : _a.setAttribute('slot', 'suffix');\n (_b = advancedSelect.shadowRoot.querySelector('.suffix')) === null || _b === void 0 ? void 0 : _b.innerHTML = '<slot name=\"suffix\"></slot>';\n (_c = advancedSelect.shadowRoot.querySelector('.suffix')) === null || _c === void 0 ? void 0 : _c.classList = \"\";\n }\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 const checkIfEmpty = () => {\n if (displayInputField.value == \"\") {\n advancedSelect.classList.add('has-empty-input');\n displayInputField.classList.add('empty');\n }\n else {\n advancedSelect.classList.remove('has-empty-input');\n displayInputField.classList.remove('empty');\n }\n };\n checkIfEmpty();\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('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 var _a;\n if (event && event.target instanceof HTMLElement && event.target.closest('option')) {\n const option = event.target.closest('option');\n const optionText = ((_a = option.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || option.value;\n // Store actual value on the original input\n const originalInput = advancedSelect.querySelector('input[type=\"hidden\"]');\n if (originalInput) {\n originalInput.value = option.value;\n originalInput.setAttribute('value', option.value);\n }\n // Show label text in the visible field\n displayInputField.value = optionText;\n displayInputField.setAttribute('data-value', optionText);\n displayInputField.setAttribute('placeholder', optionText);\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 checkIfEmpty();\n setTimeout(() => {\n advancedSelect.dispatchEvent(new CustomEvent('update-value', {\n detail: {\n value: option.value,\n text: optionText,\n },\n }));\n }, 0);\n }\n });\n displayInputField.addEventListener('input', function () {\n displayInputField.removeAttribute('data-value');\n currentFocus = -1;\n checkIfEmpty();\n if (advancedSelect.tagName != \"IAM-ADDRESS-LOOKUP\") {\n const text = displayInputField.value.toUpperCase();\n for (const option of datalist.options) {\n const optionText = (option.textContent || option.value).toUpperCase();\n if (optionText.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 });\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 && !e.target.closest('form')) {\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 if (displayInputField.closest('.input__wrapper')) {\n displayInputField.closest('.input__wrapper').insertAdjacentHTML('beforeend', '<button class=\"clear-search btn btn-action\" type=\"button\"><i class=\"fa-light fa-times me-0\"></i></button>');\n }\n else if (advancedSelect.shadowRoot.querySelector('.input__wrapper')) {\n console.log(advancedSelect.shadowRoot.querySelector('.input__wrapper'));\n advancedSelect.shadowRoot.querySelector('.input__wrapper').insertAdjacentHTML('beforeend', '<button class=\"clear-search btn btn-action\" type=\"button\"><i class=\"fa-light fa-times me-0\"></i></button>');\n }\n const emptyField = () => {\n const originalInput = advancedSelect.querySelector('input[type=\"hidden\"]');\n if (originalInput) {\n originalInput.value = '';\n originalInput.setAttribute('value', '');\n }\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 displayInputField.classList.add('empty');\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n optionInner.classList.remove('hide');\n optionInner.removeAttribute('style');\n }\n const updateEvent = new CustomEvent('close-button-pressed');\n advancedSelect.dispatchEvent(updateEvent);\n // Notify consumers the value was cleared\n advancedSelect.dispatchEvent(new CustomEvent('update-value', {\n detail: {\n value: '',\n text: '',\n },\n }));\n checkIfEmpty();\n };\n const closeBtn = advancedSelect.querySelector('.clear-search') ? advancedSelect.querySelector('.clear-search') : advancedSelect.shadowRoot.querySelector('.clear-search');\n closeBtn.addEventListener('click', function (e) {\n emptyField();\n });\n advancedSelect.addEventListener('empty', function (e) {\n emptyField();\n });\n}\nexport default advancedSelect;\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 '../../../../node_modules/js-cookie/dist/js.cookie.mjs';\nimport { safeID, resolvePath, isTraversable } from '../../modules/helpers';\nimport advancedSelect from '../../modules/advanced-select';\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Search',\n});\nclass iamSearch extends HTMLElement {\n constructor() {\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/search.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${loadCSS}\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\" />\n <span class=\"wrapper\"><span class=\"input__wrapper\"><slot></slot></span><span class=\"suffix fa-regular fa-search\"></span></span>\n <slot name=\"datalist\"></slot>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n return __awaiter(this, void 0, void 0, function* () {\n // Make the datalist a dropdown\n this.classList.add('dropdown__wrapper');\n if (this.querySelector('input.input--sm'))\n this.classList.add('hasInputSm');\n if (this.querySelector('label'))\n this.classList.add('has-label');\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const searchWrapper = this;\n const inputField = this.querySelector('input');\n const valueSchema = this.hasAttribute('data-value-schema') ? this.getAttribute('data-value-schema') : 'value';\n const displaySchema = this.hasAttribute('data-display-schema') ? this.getAttribute('data-display-schema') : 'label';\n const loopSchema = this.hasAttribute('data-schema') ? this.getAttribute('data-schema') : '';\n let datalist = this.querySelector('datalist');\n let minLength = this.hasAttribute('data-min-length') ? this.getAttribute('data-min-length') : 0;\n if (searchWrapper.hasAttribute('data-url') && !this.hasAttribute('data-min-length')) {\n minLength = 3;\n }\n // Clone original input field, re-name and use for display purposes\n const displayInputField = inputField.cloneNode();\n displayInputField.setAttribute('name', `${inputField.getAttribute('name')}Alt`);\n inputField.removeAttribute('data-change-events');\n displayInputField.removeAttribute('id');\n inputField.after(displayInputField);\n // Hide original input field\n inputField.setAttribute('type', 'hidden');\n // if data list does not exist then create one and append\n if (!datalist) {\n datalist = document.createElement('datalist');\n const listID = safeID('list');\n datalist.setAttribute('id', listID);\n searchWrapper.appendChild(datalist);\n displayInputField.setAttribute('list', listID);\n }\n displayInputField.addEventListener('change', function (e) {\n inputField.value = displayInputField.value;\n });\n advancedSelect(this, displayInputField, datalist, false);\n const checkMatch = () => {\n const match = datalist.querySelector(`option[value=\"${displayInputField.value}\" i]`);\n const subMatch = datalist.querySelector(`option[value*=\"${displayInputField.value}\" i]`);\n if (match) {\n inputField.value = match.getAttribute('data-actual-value');\n displayInputField.value = match.getAttribute('data-actual-value');\n displayInputField.classList.remove('is-invalid');\n displayInputField.closest('label').removeAttribute('data-error');\n }\n else if (displayInputField.value.length >= minLength && !subMatch) {\n displayInputField.classList.add('is-invalid');\n displayInputField.closest('label').setAttribute('data-error', 'No results returned');\n if (searchWrapper.hasAttribute('data-url'))\n datalist.innerHTML = '';\n }\n else {\n displayInputField.classList.remove('is-invalid');\n displayInputField.closest('label').removeAttribute('data-error');\n }\n };\n const search = (searchterm) => __awaiter(this, void 0, void 0, function* () {\n if (!this.getAttribute('data-url'))\n return false;\n let ajaxURL = this.getAttribute('data-url');\n ajaxURL += `${encodeURI(searchterm)}`;\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 yield fetch(ajaxURL, {\n signal: signal,\n method: 'get',\n credentials: 'same-origin',\n mode: 'no-cors',\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 // populate datalist\n let listString = '';\n const loopValues = resolvePath(response, loopSchema, '');\n if (isTraversable(loopValues) && typeof loopValues.forEach == 'function') {\n loopValues.forEach((item) => {\n const actualValue = resolvePath(item, valueSchema, '');\n const displayValue = resolvePath(item, displaySchema, '').replace('\\n', ', ');\n if (!datalist.querySelector(`option[data-actual-value=\"${actualValue}\"]`))\n listString += `<option value=\"${displayValue}\" data-actual-value=\"${actualValue}\">${displayValue}</option>`;\n });\n }\n else if (typeof loopValues == 'object') {\n for (const [key, value] of Object.entries(loopValues)) {\n if (isTraversable(value) && typeof value.forEach == 'function') {\n value.forEach((item) => {\n const actualValue = resolvePath(item, valueSchema, '');\n const displayValue = resolvePath(item, displaySchema, '').replace('\\n', ', ');\n if (!datalist.querySelector(`option[data-actual-value=\"${actualValue}\"]`))\n listString += `<option value=\"${key}: ${displayValue}\" data-actual-value='${actualValue}'>${key}: ${displayValue}</option>`;\n });\n }\n }\n }\n datalist.innerHTML += listString;\n // filter the list on the client side just in case\n const text = searchterm.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 searchWrapper.classList.add('was-validated');\n checkMatch();\n return response;\n });\n }\n catch (error) {\n console.log(error);\n }\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 const value = (option === null || option === void 0 ? void 0 : option.hasAttribute('data-actual-value')) ? option === null || option === void 0 ? void 0 : option.getAttribute('data-actual-value') : option === null || option === void 0 ? void 0 : option.getAttribute('data-value');\n inputField.value = value;\n const changeEvent = new CustomEvent('value-change', {\n detail: { value: value },\n });\n searchWrapper.dispatchEvent(changeEvent);\n }\n });\n this.addEventListener('close-button-pressed', function (event) {\n if (searchWrapper.hasAttribute('data-url')) {\n datalist.innerHTML = '';\n }\n inputField === null || inputField === void 0 ? void 0 : inputField.value = '';\n searchWrapper.classList.remove('was-validated');\n displayInputField.classList.remove('is-invalid');\n displayInputField.closest('label').removeAttribute('data-error');\n });\n // Search the endpoint when 3 characters has been added\n if (searchWrapper.hasAttribute('data-url')) {\n displayInputField.addEventListener('input', () => {\n if (displayInputField.value.length < minLength) {\n datalist.innerHTML = '';\n }\n if (displayInputField.value.length == minLength) {\n search(displayInputField.value);\n }\n });\n }\n else {\n // on change update oringinal field with the actual value and use displayed input for the nice display text\n displayInputField.addEventListener('input', () => {\n checkMatch();\n });\n }\n if (searchWrapper.hasAttribute('data-prevent-submit')) {\n const form = searchWrapper.closest('form');\n form.addEventListener('submit', (e) => {\n e.preventDefault();\n });\n }\n });\n }\n}\nexport default iamSearch;\n"],"names":["assign","target","i","source","key","defaultConverter","value","init","converter","defaultAttributes","set","name","attributes","stringifiedAttributes","attributeName","get","cookies","jar","parts","found","api","snake","str","safeID","resolvePath","object","path","defaultValue","o","p","isTraversable","advancedSelect","displayInputField","datalist","isSearch","_a","_b","_c","currentFocus","checkIfEmpty","option","event","optionText","originalInput","optionInner","text","e","addActive","x","removeActive","emptyField","updateEvent","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","reject","fulfilled","step","rejected","result","iamSearch","template","searchWrapper","inputField","valueSchema","displaySchema","loopSchema","minLength","listID","checkMatch","match","subMatch","search","searchterm","ajaxURL","signal","Cookies","response","listString","loopValues","item","actualValue","displayValue","error","changeEvent"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"search.component.min.js","sources":["../../../../node_modules/js-cookie/dist/js.cookie.mjs","../../modules/helpers.js","../../modules/advanced-select.js","search.component.js"],"sourcesContent":["/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\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 if (!(form === null || form === void 0 ? void 0 : form.closest('iam-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 });\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 if (!(form === null || form === void 0 ? void 0 : form.closest('iam-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 });\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","function advancedSelect(advancedSelect, displayInputField, datalist, isSearch = false) {\n var _a;\n let currentFocus = -1;\n const datalistWrapper = datalist.closest('.datalist__wrapper') ? datalist.closest('.datalist__wrapper') : datalist;\n datalistWrapper.setAttribute('slot', 'datalist');\n if (advancedSelect.querySelector('.suffix')) {\n (_a = advancedSelect.querySelector('.suffix')) === null || _a === void 0 ? void 0 : _a.setAttribute('slot', 'suffix');\n const shadowSuffix = advancedSelect.shadowRoot.querySelector('.suffix');\n if (shadowSuffix) {\n shadowSuffix.innerHTML = '<slot name=\"suffix\"></slot>';\n shadowSuffix.className = '';\n }\n }\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 const checkIfEmpty = () => {\n if (displayInputField.value == \"\") {\n advancedSelect.classList.add('has-empty-input');\n displayInputField.classList.add('empty');\n }\n else {\n advancedSelect.classList.remove('has-empty-input');\n displayInputField.classList.remove('empty');\n }\n };\n checkIfEmpty();\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('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 var _a;\n if (event && event.target instanceof HTMLElement && event.target.closest('option')) {\n const option = event.target.closest('option');\n const optionText = ((_a = option.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || option.value;\n // Store actual value on the original input\n const originalInput = advancedSelect.querySelector('input[type=\"hidden\"]');\n if (originalInput) {\n originalInput.value = option.value;\n originalInput.setAttribute('value', option.value);\n }\n // Show label text in the visible field\n displayInputField.value = optionText;\n displayInputField.setAttribute('data-value', optionText);\n displayInputField.setAttribute('placeholder', optionText);\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 checkIfEmpty();\n setTimeout(() => {\n advancedSelect.dispatchEvent(new CustomEvent('update-value', {\n detail: {\n value: option.value,\n text: optionText,\n },\n }));\n }, 0);\n }\n });\n displayInputField.addEventListener('input', function () {\n displayInputField.removeAttribute('data-value');\n currentFocus = -1;\n checkIfEmpty();\n if (advancedSelect.tagName != \"IAM-ADDRESS-LOOKUP\") {\n const text = displayInputField.value.toUpperCase();\n for (const option of datalist.options) {\n const optionText = (option.textContent || option.value).toUpperCase();\n if (optionText.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 });\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 && !e.target.closest('form')) {\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 if (displayInputField.closest('.input__wrapper')) {\n displayInputField.closest('.input__wrapper').insertAdjacentHTML('beforeend', '<button class=\"clear-search btn btn-action\" type=\"button\"><i class=\"fa-light fa-times me-0\"></i></button>');\n }\n else if (advancedSelect.shadowRoot.querySelector('.input__wrapper')) {\n console.log(advancedSelect.shadowRoot.querySelector('.input__wrapper'));\n advancedSelect.shadowRoot.querySelector('.input__wrapper').insertAdjacentHTML('beforeend', '<button class=\"clear-search btn btn-action\" type=\"button\"><i class=\"fa-light fa-times me-0\"></i></button>');\n }\n const emptyField = () => {\n const originalInput = advancedSelect.querySelector('input[type=\"hidden\"]');\n if (originalInput) {\n originalInput.value = '';\n originalInput.setAttribute('value', '');\n }\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 displayInputField.classList.add('empty');\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n optionInner.classList.remove('hide');\n optionInner.removeAttribute('style');\n }\n const updateEvent = new CustomEvent('close-button-pressed');\n advancedSelect.dispatchEvent(updateEvent);\n // Notify consumers the value was cleared\n advancedSelect.dispatchEvent(new CustomEvent('update-value', {\n detail: {\n value: '',\n text: '',\n },\n }));\n checkIfEmpty();\n };\n const closeBtn = advancedSelect.querySelector('.clear-search') ? advancedSelect.querySelector('.clear-search') : advancedSelect.shadowRoot.querySelector('.clear-search');\n closeBtn.addEventListener('click', function (e) {\n emptyField();\n });\n advancedSelect.addEventListener('empty', function (e) {\n emptyField();\n });\n}\nexport default advancedSelect;\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 '../../../../node_modules/js-cookie/dist/js.cookie.mjs';\nimport { safeID, resolvePath, isTraversable } from '../../modules/helpers';\nimport advancedSelect from '../../modules/advanced-select';\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Search',\n});\nclass iamSearch extends HTMLElement {\n constructor() {\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/search.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${loadCSS}\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\" />\n <span class=\"wrapper\"><span class=\"input__wrapper\"><slot></slot></span><span class=\"suffix fa-regular fa-search\"></span></span>\n <slot name=\"datalist\"></slot>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n return __awaiter(this, void 0, void 0, function* () {\n // Make the datalist a dropdown\n this.classList.add('dropdown__wrapper');\n if (this.querySelector('input.input--sm'))\n this.classList.add('hasInputSm');\n if (this.querySelector('label'))\n this.classList.add('has-label');\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const searchWrapper = this;\n const inputField = this.querySelector('input');\n const valueSchema = this.hasAttribute('data-value-schema') ? this.getAttribute('data-value-schema') : 'value';\n const displaySchema = this.hasAttribute('data-display-schema') ? this.getAttribute('data-display-schema') : 'label';\n const loopSchema = this.hasAttribute('data-schema') ? this.getAttribute('data-schema') : '';\n let datalist = this.querySelector('datalist');\n let minLength = this.hasAttribute('data-min-length') ? this.getAttribute('data-min-length') : 0;\n if (searchWrapper.hasAttribute('data-url') && !this.hasAttribute('data-min-length')) {\n minLength = 3;\n }\n // Clone original input field, re-name and use for display purposes\n const displayInputField = inputField.cloneNode();\n displayInputField.setAttribute('name', `${inputField.getAttribute('name')}Alt`);\n inputField.removeAttribute('data-change-events');\n displayInputField.removeAttribute('id');\n inputField.after(displayInputField);\n // Hide original input field\n inputField.setAttribute('type', 'hidden');\n // if data list does not exist then create one and append\n if (!datalist) {\n datalist = document.createElement('datalist');\n const listID = safeID('list');\n datalist.setAttribute('id', listID);\n searchWrapper.appendChild(datalist);\n displayInputField.setAttribute('list', listID);\n }\n displayInputField.addEventListener('change', function (e) {\n inputField.value = displayInputField.value;\n });\n advancedSelect(this, displayInputField, datalist, false);\n const checkMatch = () => {\n const match = datalist.querySelector(`option[value=\"${displayInputField.value}\" i]`);\n const subMatch = datalist.querySelector(`option[value*=\"${displayInputField.value}\" i]`);\n if (match) {\n inputField.value = match.getAttribute('data-actual-value');\n displayInputField.value = match.getAttribute('data-actual-value');\n displayInputField.classList.remove('is-invalid');\n displayInputField.closest('label').removeAttribute('data-error');\n }\n else if (displayInputField.value.length >= minLength && !subMatch) {\n displayInputField.classList.add('is-invalid');\n displayInputField.closest('label').setAttribute('data-error', 'No results returned');\n if (searchWrapper.hasAttribute('data-url'))\n datalist.innerHTML = '';\n }\n else {\n displayInputField.classList.remove('is-invalid');\n displayInputField.closest('label').removeAttribute('data-error');\n }\n };\n const search = (searchterm) => __awaiter(this, void 0, void 0, function* () {\n if (!this.getAttribute('data-url'))\n return false;\n let ajaxURL = this.getAttribute('data-url');\n ajaxURL += `${encodeURI(searchterm)}`;\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 yield fetch(ajaxURL, {\n signal: signal,\n method: 'get',\n credentials: 'same-origin',\n mode: 'no-cors',\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 // populate datalist\n let listString = '';\n const loopValues = resolvePath(response, loopSchema, '');\n if (isTraversable(loopValues) && typeof loopValues.forEach == 'function') {\n loopValues.forEach((item) => {\n const actualValue = resolvePath(item, valueSchema, '');\n const displayValue = resolvePath(item, displaySchema, '').replace('\\n', ', ');\n if (!datalist.querySelector(`option[data-actual-value=\"${actualValue}\"]`))\n listString += `<option value=\"${displayValue}\" data-actual-value=\"${actualValue}\">${displayValue}</option>`;\n });\n }\n else if (typeof loopValues == 'object') {\n for (const [key, value] of Object.entries(loopValues)) {\n if (isTraversable(value) && typeof value.forEach == 'function') {\n value.forEach((item) => {\n const actualValue = resolvePath(item, valueSchema, '');\n const displayValue = resolvePath(item, displaySchema, '').replace('\\n', ', ');\n if (!datalist.querySelector(`option[data-actual-value=\"${actualValue}\"]`))\n listString += `<option value=\"${key}: ${displayValue}\" data-actual-value='${actualValue}'>${key}: ${displayValue}</option>`;\n });\n }\n }\n }\n datalist.innerHTML += listString;\n // filter the list on the client side just in case\n const text = searchterm.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 searchWrapper.classList.add('was-validated');\n checkMatch();\n return response;\n });\n }\n catch (error) {\n console.log(error);\n }\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 const value = (option === null || option === void 0 ? void 0 : option.hasAttribute('data-actual-value')) ? option === null || option === void 0 ? void 0 : option.getAttribute('data-actual-value') : option === null || option === void 0 ? void 0 : option.getAttribute('data-value');\n inputField.value = value;\n const changeEvent = new CustomEvent('value-change', {\n detail: { value: value },\n });\n searchWrapper.dispatchEvent(changeEvent);\n }\n });\n this.addEventListener('close-button-pressed', function (event) {\n if (searchWrapper.hasAttribute('data-url')) {\n datalist.innerHTML = '';\n }\n inputField === null || inputField === void 0 ? void 0 : inputField.value = '';\n searchWrapper.classList.remove('was-validated');\n displayInputField.classList.remove('is-invalid');\n displayInputField.closest('label').removeAttribute('data-error');\n });\n // Search the endpoint when 3 characters has been added\n if (searchWrapper.hasAttribute('data-url')) {\n displayInputField.addEventListener('input', () => {\n if (displayInputField.value.length < minLength) {\n datalist.innerHTML = '';\n }\n if (displayInputField.value.length == minLength) {\n search(displayInputField.value);\n }\n });\n }\n else {\n // on change update oringinal field with the actual value and use displayed input for the nice display text\n displayInputField.addEventListener('input', () => {\n checkMatch();\n });\n }\n if (searchWrapper.hasAttribute('data-prevent-submit')) {\n const form = searchWrapper.closest('form');\n form.addEventListener('submit', (e) => {\n e.preventDefault();\n });\n }\n });\n }\n}\nexport default iamSearch;\n"],"names":["assign","target","i","source","key","defaultConverter","value","init","converter","defaultAttributes","set","name","attributes","stringifiedAttributes","attributeName","get","cookies","jar","parts","found","api","snake","str","safeID","resolvePath","object","path","defaultValue","p","o","isTraversable","advancedSelect","displayInputField","datalist","isSearch","_a","currentFocus","shadowSuffix","checkIfEmpty","option","event","optionText","originalInput","optionInner","text","addActive","x","removeActive","emptyField","updateEvent","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","reject","fulfilled","step","e","rejected","result","iamSearch","template","searchWrapper","inputField","valueSchema","displaySchema","loopSchema","minLength","listID","checkMatch","match","subMatch","search","searchterm","ajaxURL","signal","Cookies","response","listString","loopValues","item","actualValue","displayValue","error","changeEvent"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.2--
|
|
2
|
+
* iamKey v7.8.2--beta2
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/const a=e=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:e})};a("iam-skeleton");class r extends HTMLElement{constructor(){var t;super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const o=document.createElement("template");o.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.2--
|
|
2
|
+
* iamKey v7.8.2--beta2
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Slider"});class f extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const t=document.createElement("template");t.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.2--
|
|
2
|
+
* iamKey v7.8.2--beta2
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/class u extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const r=document.createElement("template");r.innerHTML=`
|
|
5
5
|
<style>
|