@iamproperty/components 5.6.1-beta2 → 5.6.1-beta4
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/collapsible-side.css +1 -1
- package/assets/css/components/collapsible-side.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.js +3 -3
- package/assets/js/components/address-lookup/address-lookup.component.min.js +6 -6
- package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
- package/assets/js/components/card/card.component.min.js +1 -1
- package/assets/js/components/carousel/carousel.component.min.js +1 -1
- package/assets/js/components/collapsible-side/collapsible-side.component.js +5 -5
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +7 -7
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
- package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
- package/assets/js/components/filterlist/filterlist.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/marketing/marketing.component.min.js +1 -1
- package/assets/js/components/multiselect/multiselect.component.min.js +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/search/search.component.min.js +1 -1
- package/assets/js/components/slider/slider.component.min.js +1 -1
- package/assets/js/components/table/table.component.min.js +1 -1
- package/assets/js/components/tabs/tabs.component.min.js +1 -1
- package/assets/js/dynamic.min.js +1 -1
- package/assets/js/scripts.bundle.js +1 -1
- package/assets/js/scripts.bundle.min.js +1 -1
- package/assets/sass/components/collapsible-side.scss +8 -1
- package/assets/ts/components/address-lookup/address-lookup.component.ts +3 -3
- package/assets/ts/components/collapsible-side/collapsible-side.component.ts +5 -5
- package/dist/components.es.js +439 -440
- package/dist/components.umd.js +18 -22
- package/package.json +1 -1
- package/src/components/CollapsibleSideMenu/CollapsibleSideMenu.vue +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
:host{--colour-border: #e9e9e9;--side-link-hover: var(--colour-canvas-2);grid-column:full-width;display:block;min-height:calc(100vh - var(--nav-height));padding-top:0 !important;margin-inline:auto;width:100%;overflow:hidden;position:relative}@media screen and (prefers-color-scheme: light){:host{--side-link-hover: #eeeeee}}@media screen and (min-width: 62em){:host{max-height:calc(100vh - var(--nav-height));overflow:auto}}.container{position:static;min-height:100%;padding-top:0 !important;padding-bottom:0 !important;padding-left:0 !important}@media screen and (min-width: 62em){.container{padding-left:5.25rem !important}}.side-menu{position:absolute;top:0;left:0;height:100%;min-height:calc(100vh - var(--nav-height));width:1.875rem;height:calc(100% - var(--nav-height));background-color:var(--colour-canvas);transition:width 1s}.side-menu:before{content:"";position:absolute;top:0;right:0;height:100%;border-right:2px solid var(--colour-border)}@media screen and (min-width: 36em){.side-menu{left:0;width:2.5rem}}@media screen and (min-width: 62em){.side-menu{left:5.25rem;margin-left:-5.25rem;position:fixed;top:var(--nav-height)}.side-menu:not(.open).hover{width:19rem}.side-menu:not(.open).hover .btn[class*=fa-]:before{content:"" !important}}.side-menu .btn{display:var(--btn-display, block);position:absolute;top:2rem;right:0;margin-bottom:0;margin-right:-1.25rem;background-color:var(--colour-canvas-2);border:2px solid var(--colour-border);z-index:99;color:var(--colour-primary-theme)}.side-menu .btn[aria-expanded][class*=fa-]:before{content:"" !important}@media screen and (min-width: 62em){.side-menu .btn[aria-expanded]{opacity:0}}.side-menu:is(:hover,:focus-within,:active) .btn{border:2px solid var(--colour-border);color:var(--colour-primary-theme)}@media screen and (min-width: 62em){.side-menu:is(:hover,:focus-within,:active) .btn{opacity:1}}.side-menu:is(.open){width:calc(100% - var(--container-padding-x))}@media screen and (min-width: 36em){.side-menu:is(.open){width:23.875rem}}@media screen and (min-width: 62em){.side-menu:is(.open){width:19rem}}.side-menu .side-menu-content{position:absolute;top:0;right:0;padding:2rem 2.5rem 0 0;width:21.9375rem;opacity:0;transition:opacity 1s;min-height:100%;overflow:auto;max-height:100%}.side-menu .side-menu-content .h3{padding-left:1.5rem}@media screen and (min-width: 36em){.side-menu .side-menu-content{width:23.875rem}.side-menu .side-menu-content .h3{padding-left:2.5rem}}@media screen and (min-width: 62em){.side-menu .side-menu-content{width:19rem}.side-menu .side-menu-content .h3{padding-left:var(--container-padding-x-md)}}.side-menu:not(.hover):not(.open) .side-menu-content.closed{display:none}.side-menu.open .side-menu-content{opacity:1}@media screen and (min-width: 62em){.side-menu.hover .side-menu-content{opacity:1}}::slotted(*[slot=menu]){padding-left:1.5rem}@media screen and (min-width: 36em){::slotted(*[slot=menu]){padding-left:var(--container-padding-x-md)}}::slotted(hr){border-bottom:2px solid var(--colour-border) !important;margin-right:-2.5rem !important}::slotted(a[slot=menu]){display:block;display:block !important;line-height:1.25rem !important;padding:1rem 2.5rem 1rem 1.5rem !important;margin:0 !important;flex-shrink:0;font-size:1rem !important;font-weight:normal !important;text-decoration:none;border-bottom:2px solid var(--colour-border) !important;margin-right:-2.5rem !important;border-right:2px solid var(--colour-border) !important}@media screen and (min-width: 36em){::slotted(a[slot=menu]){padding-left:2.5rem !important}}@media screen and (min-width:
|
|
1
|
+
:host{--colour-border: #e9e9e9;--side-link-hover: var(--colour-canvas-2);grid-column:full-width;display:block;min-height:calc(100vh - var(--nav-height));padding-top:0 !important;margin-inline:auto;width:100%;overflow:hidden;position:relative}@media screen and (prefers-color-scheme: light){:host{--side-link-hover: #eeeeee}}@media screen and (min-width: 62em){:host{max-height:calc(100vh - var(--nav-height));overflow:auto}}.container{position:static;min-height:100%;padding-top:0 !important;padding-bottom:0 !important;padding-left:0 !important}@media screen and (min-width: 62em){.container{padding-left:5.25rem !important}}.side-menu{position:absolute;top:0;left:0;height:100%;min-height:calc(100vh - var(--nav-height));width:1.875rem;height:calc(100% - var(--nav-height));background-color:var(--colour-canvas);transition:width 1s}.side-menu:before{content:"";position:absolute;top:0;right:0;height:100%;border-right:2px solid var(--colour-border)}@media screen and (min-width: 36em){.side-menu{left:0;width:2.5rem}}@media screen and (min-width: 62em){.side-menu{left:5.25rem;margin-left:-5.25rem;position:fixed;top:var(--nav-height)}.side-menu:not(.open).hover{width:19rem}.side-menu:not(.open).hover .btn[class*=fa-]:before{content:"" !important}}.side-menu .btn{display:var(--btn-display, block);position:absolute;top:2rem;right:0;margin-bottom:0;margin-right:-1.25rem;background-color:var(--colour-canvas-2);border:2px solid var(--colour-border);z-index:99;color:var(--colour-primary-theme)}.side-menu .btn[aria-expanded][class*=fa-]:before{content:"" !important}@media screen and (min-width: 62em){.side-menu .btn[aria-expanded]{opacity:0}}.side-menu:is(:hover,:focus-within,:active) .btn{border:2px solid var(--colour-border);color:var(--colour-primary-theme)}@media screen and (min-width: 62em){.side-menu:is(:hover,:focus-within,:active) .btn{opacity:1}}.side-menu:is(.open){width:calc(100% - var(--container-padding-x))}@media screen and (min-width: 36em){.side-menu:is(.open){width:23.875rem}}@media screen and (min-width: 62em){.side-menu:is(.open){width:19rem}}.side-menu .side-menu-content{position:absolute;top:0;right:0;padding:2rem 2.5rem 0 0;width:21.9375rem;opacity:0;transition:opacity 1s;min-height:100%;overflow:auto;max-height:100%}.side-menu .side-menu-content .h3{padding-left:1.5rem}@media screen and (min-width: 36em){.side-menu .side-menu-content{width:23.875rem}.side-menu .side-menu-content .h3{padding-left:2.5rem}}@media screen and (min-width: 62em){.side-menu .side-menu-content{width:19rem}.side-menu .side-menu-content .h3{padding-left:var(--container-padding-x-md)}}.side-menu:not(.hover):not(.open) .side-menu-content.closed{display:none}.side-menu.open .side-menu-content{opacity:1}@media screen and (min-width: 62em){.side-menu.hover .side-menu-content{opacity:1}}::slotted(*[slot=menu]){padding-left:1.5rem}@media screen and (min-width: 36em){::slotted(*[slot=menu]){padding-left:2.5rem}}@media screen and (min-width: 62em){::slotted(*[slot=menu]){padding-left:var(--container-padding-x-md)}}::slotted(hr){border-bottom:2px solid var(--colour-border) !important;margin-right:-2.5rem !important}::slotted(a[slot=menu]){display:block;display:block !important;line-height:1.25rem !important;padding:1rem 2.5rem 1rem 1.5rem !important;margin:0 !important;flex-shrink:0;font-size:1rem !important;font-weight:normal !important;text-decoration:none;border-bottom:2px solid var(--colour-border) !important;margin-right:-2.5rem !important;border-right:2px solid var(--colour-border) !important}@media screen and (min-width: 36em){::slotted(a[slot=menu]){padding-left:2.5rem !important}}@media screen and (min-width: 62em){::slotted(a[slot=menu]){padding-left:var(--container-padding-x-md) !important}}::slotted(a[slot=menu]):after{display:none}::slotted(a[slot=menu]:where(:hover,:focus,[aria-expanded])){background-color:var(--side-link-hover) !important}::slotted(a[slot=menu]:active){background-color:var(--side-link-hover) !important;font-weight:bold !important}::slotted(a[slot=menu][aria-expanded]){background-color:var(--side-link-hover) !important;font-weight:bold !important;margin-right:-2.5rem !important;position:relative;border-right:2px solid var(--colour-info) !important}::slotted(a[slot=menu][aria-expanded]):before{content:"";position:absolute;top:0;right:0;height:calc(100% + 4px);margin-top:-2px;width:2px;border-right:2px solid var(--colour-info);margin-right:-2px}@media(forced-colors: active){::slotted(a[slot=menu][aria-expanded]):before{border-right:10px solid var(--colour-info)}}.main-content{padding-top:1.5rem;padding-left:3.75rem}@media screen and (min-width: 36em){.main-content{padding-left:5rem}}@media screen and (min-width: 62em){.main-content{padding-top:2.5rem !important;padding-left:0}}.main-content>span.h3{padding-top:.75rem;border-bottom:2px solid var(--colour-border);margin-bottom:2.5rem !important}@media screen and (min-width: 62em){.main-content>span.h3{display:none}}::slotted(.main-content__title){border-bottom:2px solid var(--colour-border);margin-bottom:2.5rem !important;max-width:100% !important;display:block}@media screen and (min-width: 62em){::slotted(.main-content__title){display:none}}@media screen and (min-width: 62em){.container:has(.side-menu.open){padding-left:2rem !important;margin-left:max(19rem,50% - var(--container-max-width)/2);margin-right:0;max-width:min(var(--container-max-width),100% - 19rem)}}@media screen and (min-width: 62em){:host([open-always]){--btn-display: none}}/*# sourceMappingURL=collapsible-side.css.map */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../sass/components/collapsible-side.scss","../../sass/_functions/mixins.scss"],"names":[],"mappings":"CAEA,MACE,yBACA,0CACA,uBAOA,cACA,2CACA,yBACA,mBACA,WACA,gBACA,kBCcE,gDD9BJ,MAOI,4BCHA,oCDJJ,MAmBI,2CACA,eAIJ,WACE,gBACA,gBACA,yBACA,4BACA,0BCzBE,oCDoBJ,WASI,iCAKJ,WACE,kBACA,MACA,OACA,YACA,2CACA,eACA,sCACA,sCACA,oBAEA,kBACE,WACA,kBACA,MACA,QACA,YACA,4CCnDA,oCDkCJ,WAsBI,OACA,cCzDA,oCDkCJ,WA4BI,aACA,qBACA,eACA,sBAEA,4BACE,YAEA,oDACE,wBAKN,gBACE,kCACA,kBACA,SACA,QACA,gBACA,sBACA,wCACA,sCACA,WACA,kCAIE,kDACE,uBC3FJ,oCDwFA,+BAOI,WAKN,iDAEE,sCACA,kCCvGA,oCDoGF,iDAMI,WAIJ,qBAEE,8CChHA,oCD8GF,qBAMI,iBCpHF,oCD8GF,qBAUI,aAMJ,8BACE,kBACA,MACA,QACA,wBACA,iBACA,UACA,sBACA,gBACA,cACA,gBAEA,kCACE,oBC3IF,oCD8HF,8BAsBI,gBAJA,kCACE,qBCjJJ,oCD8HF,8BA0BI,YAEA,kCACE,4CAKN,4DAEI,aAGJ,mCACE,UCtKA,oCD2KA,oCACE,WAMN,wBACE,oBCnLE,oCDkLJ,
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../sass/components/collapsible-side.scss","../../sass/_functions/mixins.scss"],"names":[],"mappings":"CAEA,MACE,yBACA,0CACA,uBAOA,cACA,2CACA,yBACA,mBACA,WACA,gBACA,kBCcE,gDD9BJ,MAOI,4BCHA,oCDJJ,MAmBI,2CACA,eAIJ,WACE,gBACA,gBACA,yBACA,4BACA,0BCzBE,oCDoBJ,WASI,iCAKJ,WACE,kBACA,MACA,OACA,YACA,2CACA,eACA,sCACA,sCACA,oBAEA,kBACE,WACA,kBACA,MACA,QACA,YACA,4CCnDA,oCDkCJ,WAsBI,OACA,cCzDA,oCDkCJ,WA4BI,aACA,qBACA,eACA,sBAEA,4BACE,YAEA,oDACE,wBAKN,gBACE,kCACA,kBACA,SACA,QACA,gBACA,sBACA,wCACA,sCACA,WACA,kCAIE,kDACE,uBC3FJ,oCDwFA,+BAOI,WAKN,iDAEE,sCACA,kCCvGA,oCDoGF,iDAMI,WAIJ,qBAEE,8CChHA,oCD8GF,qBAMI,iBCpHF,oCD8GF,qBAUI,aAMJ,8BACE,kBACA,MACA,QACA,wBACA,iBACA,UACA,sBACA,gBACA,cACA,gBAEA,kCACE,oBC3IF,oCD8HF,8BAsBI,gBAJA,kCACE,qBCjJJ,oCD8HF,8BA0BI,YAEA,kCACE,4CAKN,4DAEI,aAGJ,mCACE,UCtKA,oCD2KA,oCACE,WAMN,wBACE,oBCnLE,oCDkLJ,wBAOI,qBCzLA,oCDkLJ,wBAWI,4CAIJ,cACE,wDACA,gCAGF,wBACE,cAEA,yBACA,+BACA,2CACA,oBACA,cACA,0BACA,8BACA,qBAEA,wDAEA,gCAcA,uDClOE,oCDsMJ,wBAiBI,gCCvNA,oCDsMJ,wBAqBI,uDAEF,8BACE,aAOJ,6DAEE,mDAGF,+BAEE,mDACA,4BAGF,uCAEE,mDACA,4BACA,gCACA,kBAEA,qDAGA,8CACE,WACA,kBACA,MACA,QACA,wBACA,gBACA,UACA,0CACA,kBAGA,8BAZF,8CAcI,4CAON,cAEE,mBACA,qBClRE,oCD+QJ,cAQI,mBCvRA,oCD+QJ,cAaI,8BACA,gBAGF,sBACE,mBAEA,6CACA,gCCpSA,oCDgSF,sBAQI,cAKN,gCAEE,6CACA,gCACA,0BACA,cClTE,oCDuTF,gCACE,cCxTA,oCDkUF,gCACE,6BACA,0DACA,eACA,wDCtUA,oCD8UJ,qBACE","file":"collapsible-side.css"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v5.6.1-
|
|
2
|
+
* iamKey v5.6.1-beta4
|
|
3
3
|
* Copyright 2022-2024 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"accordion"});class s extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const o=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",t=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${o}/css/core.min.css`,e=document.createElement("template");e.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v5.6.1-
|
|
2
|
+
* iamKey v5.6.1-beta4
|
|
3
3
|
* Copyright 2022-2024 iamproperty
|
|
4
4
|
*/const _=function(i){typeof window.player<"u"&&typeof window.player.pauseVideo=="function"&&window.player.pauseVideo();var a=i.getAttribute("data-id"),c=i.getAttribute("id");if(typeof c>"u"||c==null){var l=String.fromCharCode(65+Math.floor(Math.random()*26));c=l+Date.now(),i.setAttribute("id",c)}function o(){window.player=new YT.Player(c,{height:"100%",width:"100%",videoId:a,playerVars:{modestbranding:1,playsinline:1,rel:0,showinfo:0},events:{onReady:p,onStateChange:e}})}o();function p(r){r.target.playVideo()}var t=!1;function e(r){if(r.data==YT.PlayerState.PLAYING&&!t){var s=document.getElementById(c);s.classList.add("player-ready"),t=!0}}},k=i=>(Array.from(i.querySelectorAll("dialog[open]")).forEach((a,c)=>{a.closest(".dialog__wrapper")||(a.removeAttribute("open"),a.showModal(),a.focus(),v(a))}),i.addEventListener("click",a=>{if(a.target.tagName=="IAM-ACTIONBAR")return!1;if(a&&a.target instanceof HTMLElement&&a.target.closest("[data-modal]")){const o=a.target.closest("[data-modal]"),p=o.hasAttribute("data-modal")?o.getAttribute("data-modal"):o.getAttribute("data-filter"),t=document.querySelector(`dialog#${p}`);v(t),t.showModal(),t.focus();let e=t.offsetWidth;t.setAttribute("style",`max-width: ${e}px;`),Array.from(t.querySelectorAll("[data-duplicate]")).forEach((r,s)=>{const b=r.getAttribute("data-duplicate"),m=document.getElementById(b);if(r.checked!=m.checked){r.checked=m.checked;let u=new Event("change");r.dispatchEvent(u)}}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openModal",id:p})}if(a&&a.target instanceof HTMLElement&&a.target.closest("button.dialog__close")){const o=a.target.closest("dialog[open]");a.preventDefault(),o.close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach((p,t)=>{p.classList.remove("active")}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:o.getAttribute("id")})}if(a&&a.target instanceof HTMLElement&&a.target.closest('button[formmethod="dialog"]')){const o=a.target.closest("dialog[open]");Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach((p,t)=>{p.classList.remove("active")}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:o.getAttribute("id")})}if(a&&a.target instanceof HTMLElement&&a.target.closest("dialog[open]")){let o=a.target.closest("dialog[open]");var c=window.getComputedStyle(o);if(c.display==="contents"&&(o=o.parentNode.closest("dialog[open]")),!o.classList.contains("dialog--transactional")&&!o.classList.contains("dialog--acknowledgement")){const p=o.getBoundingClientRect();(a.clientX<p.left||a.clientX>p.right||a.clientY<p.top||a.clientY>p.bottom)&&(a.target.closest('input[type="radio"]')||o.close(),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:o.getAttribute("id")}))}}if(a&&a.target instanceof HTMLElement&&a.target.closest(".dialog__wrapper > button")){a.stopPropagation();let o=a.target.closest(".dialog__wrapper > button"),p=o.parentNode,t="openPopover",e=p.querySelector(":scope > dialog");if(document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]")!=e&&o.closest("dialog[open]")!=document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]").close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach((m,u)=>{m.removeAttribute("aria-expanded")}),e.hasAttribute("open"))e.close(),t="closePopover",e.removeAttribute("style"),o.removeAttribute("aria-expanded");else{e.show(),o.setAttribute("aria-expanded",!0);var l=o.getBoundingClientRect();let m=l.top,u=l.left;if(o.closest("iam-table")){let n=o.closest("iam-table").parentNode.getBoundingClientRect();m-=n.top,u-=n.left}e.classList.contains("dialog--fix")&&e.setAttribute("style",`position:fixed;top: ${m}px; left: ${u}px; margin: 3rem 0 0 0;`)}let r=e.getBoundingClientRect(),s=r.bottom-window.scrollY,b=window.innerHeight-window.scrollY;if(s>b){let m=e.hasAttribute("style")?e.getAttribute("style")+" ":"";e.setAttribute("style",m+"transform: translate(0, calc(-100% - 4rem))"),r=e.getBoundingClientRect(),r.top-window.scrollY<100&&e.removeAttribute("style")}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:t,id:o.textContent})}a&&a.target instanceof HTMLElement&&!a.target.closest("dialog[open]")&&!a.target.closest(".dialog__wrapper > button")&&(document.querySelector(".dialog__wrapper:not([data-keep-open]) > dialog[open]")&&document.querySelector(".dialog__wrapper:not([data-keep-open]) > dialog[open]").close(),Array.from(document.querySelectorAll(".dialog__wrapper:not([data-keep-open]) > button")).forEach((o,p)=>{o.removeAttribute("aria-expanded")}))}),null),v=i=>{let a=i.querySelector(".youtube-embed a");if(a&&_(a),i.classList.contains("dialog--multi")&&!i.querySelector(":scope > .steps")&&L(i),!i.querySelector(":scope .mh-lg")&&!i.classList.contains("dialog--multi")){i.innerHTML=`<div class="mh-lg">${i.innerHTML}</div>`;let c=i.querySelector(".mh-lg"),l=i.querySelector(".mh-lg :is(.h1,.h2,.h3,.h4,.h5,.h6)");if(l){let o=l.previousSibling;c.before(l),o&&l.before(o)}}i.querySelector(":scope > button:first-child")||i.insertAdjacentHTML("afterbegin",'<button class="dialog__close">Close</button>')},L=i=>{let a="",c=Array.from(i.querySelectorAll("fieldset[data-title]")),l=i.querySelector("form");c.forEach((t,e)=>{a+=`<button data-title="${t.getAttribute("data-title")}" type="button" class="${e==0?"active":""}" tabindex="-1">${t.getAttribute("data-title")}</button>`;const r=document.createElement("div");if(r.classList.add("btn--wrapper"),t.appendChild(r),e!=0&&(r.innerHTML+=`<button data-title="${c[e-1].getAttribute("data-title")}" class="btn btn-secondary mb-0" data-previous type="button">Previous</button>`),e!=c.length-1&&(r.innerHTML+=`<button data-title="${c[e+1].getAttribute("data-title")}" class="btn btn-primary mb-0" data-next type="button">Next</button>`),e==c.length-1)if(l&&l.querySelector(':scope > button[type="submit"]')){let s=l.querySelector(':scope > button[type="submit"]');s.classList.add("mb-0"),r.insertAdjacentElement("beforeend",s)}else r.innerHTML+=`<button data-title="${c[e].getAttribute("data-title")}" class="btn btn-primary mb-0" data-next type="submit">Submit</button>`}),i.insertAdjacentHTML("afterbegin",`<div class="steps bg-primary">${a}</div>`);let o=Array.from(i.querySelectorAll("fieldset.was-validated"));for(let t=0;t<o.length;t++){let e=o[t],r=e.getAttribute("data-title");if(e.querySelector(".is-invalid")){Array.from(i.querySelectorAll(`[data-title="${r}"]`)).forEach((s,b)=>{s.classList.add("active")});break}else Array.from(i.querySelectorAll(`[data-title="${r}"]`)).forEach((s,b)=>{s.classList.add("valid")})}i.addEventListener("invalid",function(){return function(t){t.preventDefault()}}(),!0);function p(t){const e=i.querySelector("fieldset.active")?i.querySelector("fieldset.active"):i.querySelector("fieldset[data-title]"),r=e.getAttribute("data-title");let s=!0;if(e.classList.add("was-validated"),Array.from(e.querySelectorAll("input")).forEach((u,n)=>{u.checkValidity()||(s=!1)}),s?Array.from(i.querySelectorAll(`[data-title="${r}"]`)).forEach((u,n)=>{u.classList.add("valid")}):Array.from(i.querySelectorAll(`[data-title="${r}"]`)).forEach((u,n)=>{u.classList.remove("valid")}),s||!t.hasAttribute("data-next")){const u=i.querySelector(`fieldset[data-title="${t.getAttribute("data-title")}"]`),n=i.querySelector(`.steps button[data-title="${t.getAttribute("data-title")}"]`);Array.from(i.querySelectorAll("button")).forEach((g,y)=>{g.classList.remove("active")}),Array.from(i.querySelectorAll("fieldset")).forEach((g,y)=>{g.classList.remove("active")}),n.classList.add("active"),u.classList.add("active")}let b=Array.from(i.querySelectorAll("fieldset")).length,m=Array.from(i.querySelectorAll("fieldset.valid")).length;i.style.setProperty("--progress",`${m/(b-1)*100}%`)}i.addEventListener("keydown",t=>{if(t&&t.target instanceof HTMLElement&&t.target.closest("button")){const e=t.target.closest("button");t.keyCode==13&&e.getAttribute("type")!="submit"&&(t.preventDefault(),p(e))}t&&t.target instanceof HTMLElement&&t.target.closest("input")&&(t.target.closest("input").classList.remove("is-invalid"),t.keyCode==13&&t.preventDefault())}),i.addEventListener("click",t=>{if(t&&t.target instanceof HTMLElement&&t.target.closest('button[type="submit"]'))t.target.closest("form").classList.add("was-validated");else if(t&&t.target instanceof HTMLElement&&t.target.closest("button[data-title]")){const e=t.target.closest("button[data-title]");p(e)}return null})};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"action bar"});function A(i,a){i&&a=="all"?(i.querySelector("input").indeterminate=!1,i.querySelector("input").checked=!0,i.querySelector("label").textContent="Select all"):i&&a==0?(i.querySelector("input").indeterminate=!1,i.querySelector("input").checked=!1,i.querySelector("label").textContent="Select all"):i&&a?(i.querySelector("input").indeterminate=!0,i.querySelector("input").checked=!1,i.querySelector("label").textContent=`${a} item${a>1?"s":""} selected`):i&&(i.querySelector("input").checked=!1,i.querySelector("input").indeterminate=!1,i.querySelector("label").textContent="Select all")}class S extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const a=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",c=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${a}/css/core.min.css`,l=document.createElement("template");l.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -44,17 +44,17 @@ class iamAddressLookup extends HTMLElement {
|
|
|
44
44
|
</label>
|
|
45
45
|
|
|
46
46
|
</div>
|
|
47
|
-
<button class="btn btn-tertiary switch-to-manual-btn">Or enter address manually</button>
|
|
47
|
+
<button class="btn btn-tertiary switch-to-manual-btn" type="button">Or enter address manually</button>
|
|
48
48
|
</div>
|
|
49
49
|
<datalist id="address-lookup__addressess"></datalist>
|
|
50
50
|
|
|
51
51
|
<div class="manual-address pb-2 js-hide">
|
|
52
52
|
<slot></slot>
|
|
53
|
-
<button class="btn btn-tertiary switch-to-lookup-btn">Use postcode lookup</button>
|
|
53
|
+
<button class="btn btn-tertiary switch-to-lookup-btn" type="button">Use postcode lookup</button>
|
|
54
54
|
</div>
|
|
55
55
|
<div class="pre-filled pb-2 js-hide">
|
|
56
56
|
<strong class="title text-primary d-block"></strong>
|
|
57
|
-
<p><span class="pre-filled-address"></span><button class="text-primary text-decoration-none ms-1 cursor-pointer"><i class="fa-regular fa-pen-to-square"></i><span class="visually-hidden">Edit</span></button><slot name="prefilled"></slot></p>
|
|
57
|
+
<p><span class="pre-filled-address"></span><button class="text-primary text-decoration-none ms-1 cursor-pointer" type="button"><i class="fa-regular fa-pen-to-square"></i><span class="visually-hidden">Edit</span></button><slot name="prefilled"></slot></p>
|
|
58
58
|
</div>
|
|
59
59
|
</div>
|
|
60
60
|
`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v5.6.1-
|
|
2
|
+
* iamKey v5.6.1-beta4
|
|
3
3
|
* Copyright 2022-2024 iamproperty
|
|
4
|
-
*/import k from"js-cookie";var A=function(L,i,o,s){function m(c){return c instanceof o?c:new o(function(u){u(c)})}return new(o||(o=Promise))(function(c,u){function b(n){try{f(s.next(n))}catch(
|
|
4
|
+
*/import k from"js-cookie";var A=function(L,i,o,s){function m(c){return c instanceof o?c:new o(function(u){u(c)})}return new(o||(o=Promise))(function(c,u){function b(n){try{f(s.next(n))}catch(p){u(p)}}function v(n){try{f(s.throw(n))}catch(p){u(p)}}function f(n){n.done?c(n.value):m(n.value).then(b,v)}f((s=s.apply(L,i||[])).next())})};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Address Lookup"});class $ extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const i=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",o=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${i}/css/core.min.css`,s=document.createElement("template");s.innerHTML=`
|
|
5
5
|
<style>
|
|
6
6
|
@import "${o}";
|
|
7
7
|
:host{margin-bottom:1rem;display:block}input[name=postcode]{border-color:var(--error-border, var(--colour-primary)) !important}div:has(input[name=postcode]) .suffix{border-color:var(--error-border, var(--colour-primary)) !important}.invalid-feedback{display:var(--error-display, none) !important}.optional{display:var(--req-display, inline-block) !important}.pre-filled p{padding-bottom:1rem}.pre-filled button{border:none;background:none;cursor:pointer}/*# sourceMappingURL=assets/css/components/address-lookup.css.map */
|
|
@@ -23,18 +23,18 @@
|
|
|
23
23
|
</label>
|
|
24
24
|
|
|
25
25
|
</div>
|
|
26
|
-
<button class="btn btn-tertiary switch-to-manual-btn">Or enter address manually</button>
|
|
26
|
+
<button class="btn btn-tertiary switch-to-manual-btn" type="button">Or enter address manually</button>
|
|
27
27
|
</div>
|
|
28
28
|
<datalist id="address-lookup__addressess"></datalist>
|
|
29
29
|
|
|
30
30
|
<div class="manual-address pb-2 js-hide">
|
|
31
31
|
<slot></slot>
|
|
32
|
-
<button class="btn btn-tertiary switch-to-lookup-btn">Use postcode lookup</button>
|
|
32
|
+
<button class="btn btn-tertiary switch-to-lookup-btn" type="button">Use postcode lookup</button>
|
|
33
33
|
</div>
|
|
34
34
|
<div class="pre-filled pb-2 js-hide">
|
|
35
35
|
<strong class="title text-primary d-block"></strong>
|
|
36
|
-
<p><span class="pre-filled-address"></span><button class="text-primary text-decoration-none ms-1 cursor-pointer"><i class="fa-regular fa-pen-to-square"></i><span class="visually-hidden">Edit</span></button><slot name="prefilled"></slot></p>
|
|
36
|
+
<p><span class="pre-filled-address"></span><button class="text-primary text-decoration-none ms-1 cursor-pointer" type="button"><i class="fa-regular fa-pen-to-square"></i><span class="visually-hidden">Edit</span></button><slot name="prefilled"></slot></p>
|
|
37
37
|
</div>
|
|
38
38
|
</div>
|
|
39
|
-
`,this.shadowRoot.appendChild(s.content.cloneNode(!0))}connectedCallback(){return A(this,void 0,void 0,function*(){this.shadowRoot.querySelector(".wrapper");const i=this.shadowRoot.querySelector('[name="postcode"]'),o=this.shadowRoot.querySelector(".postcode-lookup"),s=this.shadowRoot.querySelector(".manual-address"),m=this.shadowRoot.querySelector(".pre-filled"),c=this.shadowRoot.querySelector("datalist"),u=this.shadowRoot.querySelector(".switch-to-manual-btn"),b=this.shadowRoot.querySelector(".switch-to-lookup-btn"),v=this.hasAttribute("data-title")?this.getAttribute("data-title"):"Property address",f=this.shadowRoot.querySelector(".pre-filled-address + button");Array.from(this.shadowRoot.querySelectorAll(".title")).forEach((e,t)=>{e.innerHTML=v});function n(e){let t=e.shadowRoot.querySelector(".pre-filled-address"),a=!0;t.innerHTML="",Array.from(e.querySelectorAll("input[required],input[data-required],select[required],select[data-required]")).forEach((l,d)=>{const r=l.value;r?t.innerHTML+=r+(/^-?\d+$/.test(r)?" ":", "):a=!1}),t.innerHTML=t.innerHTML.slice(0,-2),a&&(m.classList.remove("js-hide"),o.classList.add("js-hide"),s.classList.add("js-hide"))}if(n(this),this.addEventListener("filled",e=>{n(this)}),this.hasAttribute("data-use")){let t=`<div><input type="checkbox" name="use" id="use" value="yes"><label for="use">${this.hasAttribute("data-use-label")?this.getAttribute("data-use-label"):"Use saved address"}</label></div>`;o.insertAdjacentHTML("afterbegin",t),this.shadowRoot.addEventListener("change",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest('[name="use"]')&&a.target.closest('[name="use"]').checked){o.classList.add("js-hide"),s.classList.remove("js-hide");let d=JSON.parse(this.getAttribute("data-use"));Object.keys(d).forEach((r,g)=>{let
|
|
39
|
+
`,this.shadowRoot.appendChild(s.content.cloneNode(!0))}connectedCallback(){return A(this,void 0,void 0,function*(){this.shadowRoot.querySelector(".wrapper");const i=this.shadowRoot.querySelector('[name="postcode"]'),o=this.shadowRoot.querySelector(".postcode-lookup"),s=this.shadowRoot.querySelector(".manual-address"),m=this.shadowRoot.querySelector(".pre-filled"),c=this.shadowRoot.querySelector("datalist"),u=this.shadowRoot.querySelector(".switch-to-manual-btn"),b=this.shadowRoot.querySelector(".switch-to-lookup-btn"),v=this.hasAttribute("data-title")?this.getAttribute("data-title"):"Property address",f=this.shadowRoot.querySelector(".pre-filled-address + button");Array.from(this.shadowRoot.querySelectorAll(".title")).forEach((e,t)=>{e.innerHTML=v});function n(e){let t=e.shadowRoot.querySelector(".pre-filled-address"),a=!0;t.innerHTML="",Array.from(e.querySelectorAll("input[required],input[data-required],select[required],select[data-required]")).forEach((l,d)=>{const r=l.value;r?t.innerHTML+=r+(/^-?\d+$/.test(r)?" ":", "):a=!1}),t.innerHTML=t.innerHTML.slice(0,-2),a&&(m.classList.remove("js-hide"),o.classList.add("js-hide"),s.classList.add("js-hide"))}if(n(this),this.addEventListener("filled",e=>{n(this)}),this.hasAttribute("data-use")){let t=`<div><input type="checkbox" name="use" id="use" value="yes"><label for="use">${this.hasAttribute("data-use-label")?this.getAttribute("data-use-label"):"Use saved address"}</label></div>`;o.insertAdjacentHTML("afterbegin",t),this.shadowRoot.addEventListener("change",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest('[name="use"]')&&a.target.closest('[name="use"]').checked){o.classList.add("js-hide"),s.classList.remove("js-hide");let d=JSON.parse(this.getAttribute("data-use"));Object.keys(d).forEach((r,g)=>{let h=d[r];this.querySelector(`[data-name="${r}"]`)?this.querySelector(`[data-name="${r}"]`).value=h:this.querySelector(`[name="${r}"]`)&&(this.querySelector(`[name="${r}"]`).value=h)})}})}this.hasAttribute("data-manual")&&(o.classList.add("js-hide"),s.classList.remove("js-hide"),Array.from(s.querySelectorAll("[data-required]")).forEach((e,t)=>{e.setAttribute("required","true")}));function p(){o.classList.add("js-hide"),s.classList.remove("js-hide"),Array.from(s.querySelectorAll("[data-required]")).forEach((e,t)=>{e.setAttribute("required","true")}),s.scrollIntoView()}f.addEventListener("click",e=>{m.classList.add("js-hide"),p()}),u.addEventListener("click",e=>{p()}),b.addEventListener("click",e=>{o.classList.remove("js-hide"),s.classList.add("js-hide"),o.scrollIntoView()}),i.addEventListener("keyup",e=>{i.value.length>=3&&S(i.value)}),i.addEventListener("change",e=>{if(i.value.length>=3&&(S(i.value),c.querySelector(`[value="${i.value}"]`))){o.classList.add("js-hide"),s.classList.remove("js-hide");let t=JSON.parse(c.querySelector(`[value="${i.value}"]`).getAttribute("data-values"));Object.keys(t).forEach((a,l)=>{let d=t[a];this.querySelector(`[data-name="${a}"]`)?this.querySelector(`[data-name="${a}"]`).value=d:this.querySelector(`[name="${a}"]`)&&(this.querySelector(`[name="${a}"]`).value=d)}),this.querySelector('[data-name="address_1"]').focus(),Array.from(this.querySelectorAll("[data-required]")).forEach((a,l)=>{a.setAttribute("required","true")}),i.removeAttribute("required"),this.shadowRoot.querySelector('[name="use"]')&&(this.shadowRoot.querySelector('[name="use"]').checked=!1)}});const S=e=>A(this,void 0,void 0,function*(){let t=this.getAttribute("data-url");t+=`${encodeURI(e)}`,window.controller||(window.controller=[]),window.controller[t]&&window.controller[t].abort(),window.controller[t]=new AbortController;const{signal:a}=controller[t];try{yield fetch(t,{signal:a,method:"get",credentials:"same-origin",headers:new Headers({"Content-Type":"application/json",Accept:"application/json","X-Requested-With":"XMLHttpRequest","X-XSRF-TOKEN":k.get("XSRF-TOKEN")})}).then(l=>l.json()).then(l=>{let d="";return l.forEach((r,g)=>{if(typeof r.value=="object"){let h=JSON.stringify(r.value);d+=`<option value="${r.label}, ${e}" data-values='${h}'></option>`}else{let h=JSON.stringify(r),y="";for(const[w,q]of Object.entries(r))w=="address_number_name"?y+=`${q} `:w!="postcode"&&w!="address_title"&&(y+=`${q}${/^-?\d+$/.test(q)?"":","} `);d+=`<option value="${y}${e}" data-values='${h}'></option>`}}),c.innerHTML=d,l})}catch(l){console.log(l)}})})}}export{$ as default};
|
|
40
40
|
//# sourceMappingURL=address-lookup.component.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address-lookup.component.min.js","sources":["address-lookup.component.js"],"sourcesContent":["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};\n// @ts-nocheck\nimport Cookies from 'js-cookie';\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n \"event\": \"customElementRegistered\",\n \"element\": \"Address Lookup\"\n});\nclass iamAddressLookup extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location') ? document.body.getAttribute('data-assets-location') : '/assets';\n const coreCSS = document.body.hasAttribute('data-core-css') ? document.body.getAttribute('data-core-css') : `${assetLocation}/css/core.min.css`;\n const loadCSS = `@import \"${assetLocation}/css/components/address-lookup.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n @import \"${coreCSS}\";\n ${loadCSS}\n \n ${this.hasAttribute('css') ? `@import \"${this.getAttribute('css')}\";` : ``}\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/26fdbf0179.css\" crossorigin=\"anonymous\" />\n <div class=\"wrapper\">\n\n <div class=\"postcode-lookup\">\n <div>\n <label class=\"mb-2\">Search <span class=\"title text-lowercase\"></span> <span class=\"optional\">(Optional)</span>\n <span>\n <input type=\"text\" name=\"postcode\" list=\"address-lookup__addressess\" autocomplete=\"off\" aria-autocomplete=\"none\" placeholder=\"Postcode\" />\n <span class=\"suffix fa-regular fa-search\"></span>\n </span>\n <span class=\"invalid-feedback\">Required Adddress fields missing</span>\n </label>\n\n </div>\n <button class=\"btn btn-tertiary switch-to-manual-btn\">Or enter address manually</button>\n </div>\n <datalist id=\"address-lookup__addressess\"></datalist>\n\n <div class=\"manual-address pb-2 js-hide\">\n <slot></slot>\n <button class=\"btn btn-tertiary switch-to-lookup-btn\">Use postcode lookup</button>\n </div>\n <div class=\"pre-filled pb-2 js-hide\">\n <strong class=\"title text-primary d-block\"></strong>\n <p><span class=\"pre-filled-address\"></span><button class=\"text-primary text-decoration-none ms-1 cursor-pointer\"><i class=\"fa-regular fa-pen-to-square\"></i><span class=\"visually-hidden\">Edit</span></button><slot name=\"prefilled\"></slot></p>\n </div>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n return __awaiter(this, void 0, void 0, function* () {\n const wrapper = this.shadowRoot.querySelector('.wrapper');\n const lookup = this.shadowRoot.querySelector('[name=\"postcode\"]');\n const lookupWrapper = this.shadowRoot.querySelector('.postcode-lookup');\n const manualWrapper = this.shadowRoot.querySelector('.manual-address');\n const preFilledWrapper = this.shadowRoot.querySelector('.pre-filled');\n const list = this.shadowRoot.querySelector('datalist');\n const switchManualBtn = this.shadowRoot.querySelector('.switch-to-manual-btn');\n const switchLookupBtn = this.shadowRoot.querySelector('.switch-to-lookup-btn');\n const title = this.hasAttribute('data-title') ? this.getAttribute('data-title') : \"Property address\";\n const preFilledAddressBtn = this.shadowRoot.querySelector('.pre-filled-address + button');\n Array.from(this.shadowRoot.querySelectorAll('.title')).forEach((titleElement, index) => {\n titleElement.innerHTML = title;\n });\n function checkFilled(component) {\n let preFilledAddress = component.shadowRoot.querySelector('.pre-filled-address');\n let preFilled = true;\n preFilledAddress.innerHTML = \"\";\n Array.from(component.querySelectorAll('input[required],input[data-required],select[required],select[data-required]')).forEach((input, index) => {\n const value = input.value;\n if (!value)\n preFilled = false;\n else\n preFilledAddress.innerHTML += value + (/^-?\\d+$/.test(value) ? ' ' : ', ');\n });\n preFilledAddress.innerHTML = preFilledAddress.innerHTML.slice(0, -2);\n if (preFilled) {\n preFilledWrapper.classList.remove('js-hide');\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.add('js-hide');\n }\n }\n checkFilled(this);\n this.addEventListener('filled', (event) => {\n checkFilled(this);\n });\n if (this.hasAttribute('data-use')) {\n let useLabel = this.hasAttribute('data-use-label') ? this.getAttribute('data-use-label') : 'Use saved address';\n let useCheckbox = `<div><input type=\"checkbox\" name=\"use\" id=\"use\" value=\"yes\"><label for=\"use\">${useLabel}</label></div>`;\n lookupWrapper.insertAdjacentHTML('afterbegin', useCheckbox);\n this.shadowRoot.addEventListener('change', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('[name=\"use\"]')) {\n let checkbox = event.target.closest('[name=\"use\"]');\n if (checkbox.checked) {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n let values = JSON.parse(this.getAttribute('data-use'));\n Object.keys(values).forEach((key, index) => {\n let value = values[key];\n if (this.querySelector(`[data-name=\"${key}\"]`))\n this.querySelector(`[data-name=\"${key}\"]`).value = value;\n else if (this.querySelector(`[name=\"${key}\"]`))\n this.querySelector(`[name=\"${key}\"]`).value = value;\n });\n }\n }\n });\n }\n if (this.hasAttribute('data-manual')) {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n Array.from(manualWrapper.querySelectorAll('[data-required]')).forEach((input, index) => {\n input.setAttribute('required', 'true');\n });\n }\n function openManualWrapper() {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n Array.from(manualWrapper.querySelectorAll('[data-required]')).forEach((input, index) => {\n input.setAttribute('required', 'true');\n });\n manualWrapper.scrollIntoView();\n }\n preFilledAddressBtn.addEventListener('click', (event) => {\n preFilledWrapper.classList.add('js-hide');\n openManualWrapper();\n });\n switchManualBtn.addEventListener('click', (event) => {\n openManualWrapper();\n });\n switchLookupBtn.addEventListener('click', (event) => {\n lookupWrapper.classList.remove('js-hide');\n manualWrapper.classList.add('js-hide');\n lookupWrapper.scrollIntoView();\n });\n lookup.addEventListener('keyup', (event) => {\n if (lookup.value.length >= 3)\n search(lookup.value);\n });\n lookup.addEventListener('change', (event) => {\n if (lookup.value.length >= 3) {\n search(lookup.value);\n if (list.querySelector(`[value=\"${lookup.value}\"]`)) {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n let values = JSON.parse(list.querySelector(`[value=\"${lookup.value}\"]`).getAttribute('data-values'));\n Object.keys(values).forEach((key, index) => {\n let value = values[key];\n if (this.querySelector(`[data-name=\"${key}\"]`))\n this.querySelector(`[data-name=\"${key}\"]`).value = value;\n else if (this.querySelector(`[name=\"${key}\"]`))\n this.querySelector(`[name=\"${key}\"]`).value = value;\n });\n // Focus on first input\n this.querySelector('[data-name=\"address_1\"]').focus();\n Array.from(this.querySelectorAll('[data-required]')).forEach((input, index) => {\n input.setAttribute('required', 'true');\n });\n lookup.removeAttribute('required');\n if (this.shadowRoot.querySelector('[name=\"use\"]'))\n this.shadowRoot.querySelector('[name=\"use\"]').checked = false;\n }\n }\n });\n const search = (postcode) => __awaiter(this, void 0, void 0, function* () {\n let ajaxURL = this.getAttribute('data-url');\n ajaxURL += `${encodeURI(postcode)}`;\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 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()).then((response) => {\n // populate datalist\n let listString = '';\n response.forEach((address, index) => {\n // Deal with agent platform response\n if (typeof address.value == \"object\") {\n let values = JSON.stringify(address.value);\n listString += `<option value=\"${address['label']}, ${postcode}\" data-values='${values}'></option>`;\n }\n else {\n let values = JSON.stringify(address);\n let itemString = '';\n for (const [key, value] of Object.entries(address)) {\n if (key == \"address_number_name\")\n itemString += `${value} `;\n else if (key != \"postcode\" && key != \"address_title\")\n itemString += `${value}${(/^-?\\d+$/.test(value) ? '' : ',')} `;\n }\n listString += `<option value=\"${itemString}${postcode}\" data-values='${values}'></option>`;\n }\n });\n list.innerHTML = listString;\n return response;\n });\n }\n catch (error) {\n console.log(error);\n }\n });\n });\n }\n}\nexport default iamAddressLookup;\n"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","e","rejected","result","iamAddressLookup","assetLocation","coreCSS","template","lookup","lookupWrapper","manualWrapper","preFilledWrapper","list","switchManualBtn","switchLookupBtn","title","preFilledAddressBtn","titleElement","index","checkFilled","component","preFilledAddress","preFilled","input","event","useCheckbox","values","key","openManualWrapper","search","postcode","ajaxURL","signal","Cookies","response","listString","address","itemString","error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"address-lookup.component.min.js","sources":["address-lookup.component.js"],"sourcesContent":["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};\n// @ts-nocheck\nimport Cookies from 'js-cookie';\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n \"event\": \"customElementRegistered\",\n \"element\": \"Address Lookup\"\n});\nclass iamAddressLookup extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location') ? document.body.getAttribute('data-assets-location') : '/assets';\n const coreCSS = document.body.hasAttribute('data-core-css') ? document.body.getAttribute('data-core-css') : `${assetLocation}/css/core.min.css`;\n const loadCSS = `@import \"${assetLocation}/css/components/address-lookup.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n @import \"${coreCSS}\";\n ${loadCSS}\n \n ${this.hasAttribute('css') ? `@import \"${this.getAttribute('css')}\";` : ``}\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/26fdbf0179.css\" crossorigin=\"anonymous\" />\n <div class=\"wrapper\">\n\n <div class=\"postcode-lookup\">\n <div>\n <label class=\"mb-2\">Search <span class=\"title text-lowercase\"></span> <span class=\"optional\">(Optional)</span>\n <span>\n <input type=\"text\" name=\"postcode\" list=\"address-lookup__addressess\" autocomplete=\"off\" aria-autocomplete=\"none\" placeholder=\"Postcode\" />\n <span class=\"suffix fa-regular fa-search\"></span>\n </span>\n <span class=\"invalid-feedback\">Required Adddress fields missing</span>\n </label>\n\n </div>\n <button class=\"btn btn-tertiary switch-to-manual-btn\" type=\"button\">Or enter address manually</button>\n </div>\n <datalist id=\"address-lookup__addressess\"></datalist>\n\n <div class=\"manual-address pb-2 js-hide\">\n <slot></slot>\n <button class=\"btn btn-tertiary switch-to-lookup-btn\" type=\"button\">Use postcode lookup</button>\n </div>\n <div class=\"pre-filled pb-2 js-hide\">\n <strong class=\"title text-primary d-block\"></strong>\n <p><span class=\"pre-filled-address\"></span><button class=\"text-primary text-decoration-none ms-1 cursor-pointer\" type=\"button\"><i class=\"fa-regular fa-pen-to-square\"></i><span class=\"visually-hidden\">Edit</span></button><slot name=\"prefilled\"></slot></p>\n </div>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n return __awaiter(this, void 0, void 0, function* () {\n const wrapper = this.shadowRoot.querySelector('.wrapper');\n const lookup = this.shadowRoot.querySelector('[name=\"postcode\"]');\n const lookupWrapper = this.shadowRoot.querySelector('.postcode-lookup');\n const manualWrapper = this.shadowRoot.querySelector('.manual-address');\n const preFilledWrapper = this.shadowRoot.querySelector('.pre-filled');\n const list = this.shadowRoot.querySelector('datalist');\n const switchManualBtn = this.shadowRoot.querySelector('.switch-to-manual-btn');\n const switchLookupBtn = this.shadowRoot.querySelector('.switch-to-lookup-btn');\n const title = this.hasAttribute('data-title') ? this.getAttribute('data-title') : \"Property address\";\n const preFilledAddressBtn = this.shadowRoot.querySelector('.pre-filled-address + button');\n Array.from(this.shadowRoot.querySelectorAll('.title')).forEach((titleElement, index) => {\n titleElement.innerHTML = title;\n });\n function checkFilled(component) {\n let preFilledAddress = component.shadowRoot.querySelector('.pre-filled-address');\n let preFilled = true;\n preFilledAddress.innerHTML = \"\";\n Array.from(component.querySelectorAll('input[required],input[data-required],select[required],select[data-required]')).forEach((input, index) => {\n const value = input.value;\n if (!value)\n preFilled = false;\n else\n preFilledAddress.innerHTML += value + (/^-?\\d+$/.test(value) ? ' ' : ', ');\n });\n preFilledAddress.innerHTML = preFilledAddress.innerHTML.slice(0, -2);\n if (preFilled) {\n preFilledWrapper.classList.remove('js-hide');\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.add('js-hide');\n }\n }\n checkFilled(this);\n this.addEventListener('filled', (event) => {\n checkFilled(this);\n });\n if (this.hasAttribute('data-use')) {\n let useLabel = this.hasAttribute('data-use-label') ? this.getAttribute('data-use-label') : 'Use saved address';\n let useCheckbox = `<div><input type=\"checkbox\" name=\"use\" id=\"use\" value=\"yes\"><label for=\"use\">${useLabel}</label></div>`;\n lookupWrapper.insertAdjacentHTML('afterbegin', useCheckbox);\n this.shadowRoot.addEventListener('change', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('[name=\"use\"]')) {\n let checkbox = event.target.closest('[name=\"use\"]');\n if (checkbox.checked) {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n let values = JSON.parse(this.getAttribute('data-use'));\n Object.keys(values).forEach((key, index) => {\n let value = values[key];\n if (this.querySelector(`[data-name=\"${key}\"]`))\n this.querySelector(`[data-name=\"${key}\"]`).value = value;\n else if (this.querySelector(`[name=\"${key}\"]`))\n this.querySelector(`[name=\"${key}\"]`).value = value;\n });\n }\n }\n });\n }\n if (this.hasAttribute('data-manual')) {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n Array.from(manualWrapper.querySelectorAll('[data-required]')).forEach((input, index) => {\n input.setAttribute('required', 'true');\n });\n }\n function openManualWrapper() {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n Array.from(manualWrapper.querySelectorAll('[data-required]')).forEach((input, index) => {\n input.setAttribute('required', 'true');\n });\n manualWrapper.scrollIntoView();\n }\n preFilledAddressBtn.addEventListener('click', (event) => {\n preFilledWrapper.classList.add('js-hide');\n openManualWrapper();\n });\n switchManualBtn.addEventListener('click', (event) => {\n openManualWrapper();\n });\n switchLookupBtn.addEventListener('click', (event) => {\n lookupWrapper.classList.remove('js-hide');\n manualWrapper.classList.add('js-hide');\n lookupWrapper.scrollIntoView();\n });\n lookup.addEventListener('keyup', (event) => {\n if (lookup.value.length >= 3)\n search(lookup.value);\n });\n lookup.addEventListener('change', (event) => {\n if (lookup.value.length >= 3) {\n search(lookup.value);\n if (list.querySelector(`[value=\"${lookup.value}\"]`)) {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n let values = JSON.parse(list.querySelector(`[value=\"${lookup.value}\"]`).getAttribute('data-values'));\n Object.keys(values).forEach((key, index) => {\n let value = values[key];\n if (this.querySelector(`[data-name=\"${key}\"]`))\n this.querySelector(`[data-name=\"${key}\"]`).value = value;\n else if (this.querySelector(`[name=\"${key}\"]`))\n this.querySelector(`[name=\"${key}\"]`).value = value;\n });\n // Focus on first input\n this.querySelector('[data-name=\"address_1\"]').focus();\n Array.from(this.querySelectorAll('[data-required]')).forEach((input, index) => {\n input.setAttribute('required', 'true');\n });\n lookup.removeAttribute('required');\n if (this.shadowRoot.querySelector('[name=\"use\"]'))\n this.shadowRoot.querySelector('[name=\"use\"]').checked = false;\n }\n }\n });\n const search = (postcode) => __awaiter(this, void 0, void 0, function* () {\n let ajaxURL = this.getAttribute('data-url');\n ajaxURL += `${encodeURI(postcode)}`;\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 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()).then((response) => {\n // populate datalist\n let listString = '';\n response.forEach((address, index) => {\n // Deal with agent platform response\n if (typeof address.value == \"object\") {\n let values = JSON.stringify(address.value);\n listString += `<option value=\"${address['label']}, ${postcode}\" data-values='${values}'></option>`;\n }\n else {\n let values = JSON.stringify(address);\n let itemString = '';\n for (const [key, value] of Object.entries(address)) {\n if (key == \"address_number_name\")\n itemString += `${value} `;\n else if (key != \"postcode\" && key != \"address_title\")\n itemString += `${value}${(/^-?\\d+$/.test(value) ? '' : ',')} `;\n }\n listString += `<option value=\"${itemString}${postcode}\" data-values='${values}'></option>`;\n }\n });\n list.innerHTML = listString;\n return response;\n });\n }\n catch (error) {\n console.log(error);\n }\n });\n });\n }\n}\nexport default iamAddressLookup;\n"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","e","rejected","result","iamAddressLookup","assetLocation","coreCSS","template","lookup","lookupWrapper","manualWrapper","preFilledWrapper","list","switchManualBtn","switchLookupBtn","title","preFilledAddressBtn","titleElement","index","checkFilled","component","preFilledAddress","preFilled","input","event","useCheckbox","values","key","openManualWrapper","search","postcode","ajaxURL","signal","Cookies","response","listString","address","itemString","error"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v5.6.1-
|
|
2
|
+
* iamKey v5.6.1-beta4
|
|
3
3
|
* Copyright 2022-2024 iamproperty
|
|
4
4
|
*/function A(r,i){function d(e,t,s=!0){let f=!1,l=t.getAttribute("name");if(!l)return!1;l.includes("[]")&&(l=l.replace("[]",`[${t.value}]`));let a=e.querySelector(`[data-name="${l}"]`);a&&t.getAttribute("type")=="checkbox"&&(f=!t.checked);let h=t.getAttribute("data-filter-text");if(a||(a=document.createElement("button"),e.appendChild(a)),a.setAttribute("type","button"),a.classList.add("filter"),a.classList.add("tag"),s&&a.classList.add("tag--not-set"),a.setAttribute("data-name",l),a.innerHTML=h.replace("$value",t.value),(!t.value||f)&&a.remove(),t.parentNode.closest("[data-filter-text]")){let m=t.parentNode.closest("[data-filter-text]"),o=!0;if(l="",m.querySelectorAll("input").forEach((u,c)=>{let p=u.getAttribute("name");if(l+=`${c!=0?",":""}${p}`,e.querySelector(`[data-name="${p}"]`)&&e.querySelector(`[data-name="${p}"]`).remove(),u.value){let n=document.createElement("button");n.setAttribute("type","button"),n.classList.add("filter"),n.classList.add("tag"),s&&a.classList.add("tag--not-set"),n.setAttribute("data-name",p),n.innerHTML=h.replace("$value",u.value),e.appendChild(n)}else o=!1}),e.querySelector(`[data-name="${l}"]`)&&e.querySelector(`[data-name="${l}"]`).remove(),o){let u=m.getAttribute("data-filter-text");m.querySelectorAll("input").forEach((p,n)=>{let y=p.getAttribute("name");e.querySelector(`[data-name="${y}"]`)&&e.querySelector(`[data-name="${y}"]`).remove(),u=u.replace(`$${n+1}`,p.value)});let c=document.createElement("button");c.setAttribute("type","button"),c.classList.add("filter"),c.classList.add("tag"),s&&a.classList.add("tag--not-set"),c.setAttribute("data-name",l),c.innerHTML=u,e.appendChild(c)}}}Array.from(r.querySelectorAll('input[type="checkbox"]:checked, input:not([type="checkbox"]):not([type="radio"])')).forEach((e,t)=>{d(i,e,!1)});let b=r.closest("dialog");b&&new MutationObserver(function(t){t[0].attributeName=="open"&&Array.from(r.querySelectorAll('input[type="checkbox"]:checked, input:not([type="checkbox"]):not([type="radio"])')).forEach((s,f)=>{d(i,s,!1)})}).observe(b,{attributes:!0}),r.addEventListener("tags-set",function(e){i.innerHTML="",Array.from(r.querySelectorAll('input[type="checkbox"]:checked, input:not([type="checkbox"]):not([type="radio"])')).forEach((t,s)=>{d(i,t,!1)})}),Array.from(r.querySelectorAll('input[type="checkbox"]:checked, input:not([type="checkbox"]):not([type="radio"])')).forEach((e,t)=>{e.addEventListener("change",function(s){r.hasAttribute("data-keep-same")||d(i,e),s.stopPropagation()})}),r.addEventListener("change",function(e){if(e&&e.target instanceof HTMLElement&&e.target.closest("input[data-filter-text]")){let t=e.target.closest("input[data-filter-text]");r.hasAttribute("data-keep-same")||d(i,t)}}),i.addEventListener("click",function(e){if(e&&e.target instanceof HTMLElement&&e.target.closest(".filter")){let f=e.target.closest(".filter"),l=f.getAttribute("data-name").split(",");for(var t=0;t<l.length;t++){let a=l[t],h=`[name="${a}"]`;a.match(/\[(.*)\]/)&&(a.replace(/\[(.*)\]/,"[]"),h=`[value="${a.replace(/.*\[(.*)\]/,"$1")}"]`);let m=r.querySelectorAll(h);for(var s=0;s<m.length;s++){let o=m[s];if(o.getAttribute("type")!="radio"&&o.getAttribute("type")!="checkbox"){o.value="";var e=new Event("force");r.hasAttribute("data-nosubmit")||o.closest("form").dispatchEvent(e)}else{o.checked=!1;var e=new Event("force");r.hasAttribute("data-nosubmit")||o.closest("form").dispatchEvent(e)}}}f.remove()}},!1)}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Applied Filters"});class g extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const i=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",d=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${i}/css/core.min.css`;let b=this.classList.toString();const e=document.createElement("template");e.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v5.6.1-
|
|
2
|
+
* iamKey v5.6.1-beta4
|
|
3
3
|
* Copyright 2022-2024 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Card"});class h extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),this.querySelector('*:not(.badge):not(small):not(.btn) > [class*="fa-"]:not(.btn)')&&this.classList.add("card--has-icon");let e=this.classList.toString();const a=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",o=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${a}/css/core.min.css`,t=document.createElement("template");t.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v5.6.1-
|
|
2
|
+
* iamKey v5.6.1-beta4
|
|
3
3
|
* Copyright 2022-2024 iamproperty
|
|
4
4
|
*/function b(l,r){var n;let s=l.querySelector(".carousel__inner"),i=l.querySelector(".carousel__controls"),e=r.querySelectorAll(".col").length;s.addEventListener("scroll",function(o){clearTimeout(n),n=setTimeout(function(){let t=s.clientWidth,c=s.scrollWidth,d=s.scrollLeft,a=Math.round(d/c*e)+1,h=r.querySelector(".col:last-child").offsetLeft+50;s.scrollLeft+t>=h&&(a=e),Array.from(l.querySelectorAll(".carousel__controls button")).forEach((u,f)=>{u.removeAttribute("aria-current")}),l.querySelector(".control-"+a).setAttribute("aria-current",!0),a==1?l.querySelector(".btn-prev").setAttribute("disabled","disabled"):l.querySelector(".btn-prev").removeAttribute("disabled"),a==e?l.querySelector(".btn-next").setAttribute("disabled","disabled"):l.querySelector(".btn-next").removeAttribute("disabled")},100)},!1),i.addEventListener("click",function(o){for(var t=o.target;t&&t!=this;t=t.parentNode)if(typeof t.matches=="function"&&t.matches("button")){o.preventDefault(),Array.from(i.querySelectorAll("button")).forEach((d,a)=>{d.removeAttribute("aria-current")}),t.setAttribute("aria-current",!0);const c=r.querySelector(`*:nth-child(${t.getAttribute("data-slide")})`);s.scroll({top:0,left:c.offsetLeft,behavior:"smooth"});break}},!1),l.addEventListener("click",function(o){for(var t=o.target;t&&t!=this;t=t.parentNode)if(typeof t.matches=="function"&&t.matches(".btn-next, .btn-prev")){o.preventDefault();let c=t.classList.contains("btn-prev")?s.scrollLeft-s.clientWidth:s.scrollLeft+s.clientWidth;s.scroll({top:0,left:c,behavior:"smooth"});break}},!1)}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"carousel"});class m extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const r=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",n=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${r}/css/core.min.css`,s=document.createElement("template");s.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -22,14 +22,14 @@ class iamCollapsibleSideMenu extends HTMLElement {
|
|
|
22
22
|
<link rel="stylesheet" href="https://kit.fontawesome.com/26fdbf0179.css" crossorigin="anonymous">
|
|
23
23
|
<div class="container" part="container">
|
|
24
24
|
|
|
25
|
-
<div class="side-menu">
|
|
26
|
-
<button class="btn btn-compact fa-chevron-right btn-secondary btn-sm btn-collapse">Open or close Collapsible menu</button>
|
|
27
|
-
<div class="side-menu-content closed">
|
|
25
|
+
<div class="side-menu" part="side-menu">
|
|
26
|
+
<button class="btn btn-compact fa-chevron-right btn-secondary btn-sm btn-collapse" part="btn">Open or close Collapsible menu</button>
|
|
27
|
+
<div class="side-menu-content closed" part="side-menu-content">
|
|
28
28
|
<slot name="menu"></slot>
|
|
29
29
|
</div>
|
|
30
30
|
</div>
|
|
31
31
|
|
|
32
|
-
<div class="main-content">
|
|
32
|
+
<div class="main-content" part="main-content">
|
|
33
33
|
<slot></slot>
|
|
34
34
|
</div>
|
|
35
35
|
|
|
@@ -54,7 +54,7 @@ class iamCollapsibleSideMenu extends HTMLElement {
|
|
|
54
54
|
this.querySelector(':scope > :is(h1,h2,h3,h4,h5,h6)').classList.add('h4');
|
|
55
55
|
this.querySelector(':scope > :is(h1,h2,h3,h4,h5,h6)').classList.add('main-content__title');
|
|
56
56
|
}
|
|
57
|
-
if (this.hasAttribute('open')) {
|
|
57
|
+
if (this.hasAttribute('open') && window.innerWidth > 992) {
|
|
58
58
|
sideMenu.classList.add('open');
|
|
59
59
|
button.setAttribute('aria-expanded', true);
|
|
60
60
|
}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v5.6.1-
|
|
2
|
+
* iamKey v5.6.1-beta4
|
|
3
3
|
* Copyright 2022-2024 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"collapsible side menu"});class a extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const e=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",t=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${e}/css/core.min.css`,n=document.createElement("template");n.innerHTML=`
|
|
5
5
|
<style class="styles">
|
|
6
6
|
@import "${t}";
|
|
7
|
-
:host{--colour-border: #e9e9e9;--side-link-hover: var(--colour-canvas-2);grid-column:full-width;display:block;min-height:calc(100vh - var(--nav-height));padding-top:0 !important;margin-inline:auto;width:100%;overflow:hidden;position:relative}@media screen and (prefers-color-scheme: light){:host{--side-link-hover: #eeeeee}}@media screen and (min-width: 62em){:host{max-height:calc(100vh - var(--nav-height));overflow:auto}}.container{position:static;min-height:100%;padding-top:0 !important;padding-bottom:0 !important;padding-left:0 !important}@media screen and (min-width: 62em){.container{padding-left:5.25rem !important}}.side-menu{position:absolute;top:0;left:0;height:100%;min-height:calc(100vh - var(--nav-height));width:1.875rem;height:calc(100% - var(--nav-height));background-color:var(--colour-canvas);transition:width 1s}.side-menu:before{content:"";position:absolute;top:0;right:0;height:100%;border-right:2px solid var(--colour-border)}@media screen and (min-width: 36em){.side-menu{left:0;width:2.5rem}}@media screen and (min-width: 62em){.side-menu{left:5.25rem;margin-left:-5.25rem;position:fixed;top:var(--nav-height)}.side-menu:not(.open).hover{width:19rem}.side-menu:not(.open).hover .btn[class*=fa-]:before{content:"\uF023" !important}}.side-menu .btn{display:var(--btn-display, block);position:absolute;top:2rem;right:0;margin-bottom:0;margin-right:-1.25rem;background-color:var(--colour-canvas-2);border:2px solid var(--colour-border);z-index:99;color:var(--colour-primary-theme)}.side-menu .btn[aria-expanded][class*=fa-]:before{content:"\uF053" !important}@media screen and (min-width: 62em){.side-menu .btn[aria-expanded]{opacity:0}}.side-menu:is(:hover,:focus-within,:active) .btn{border:2px solid var(--colour-border);color:var(--colour-primary-theme)}@media screen and (min-width: 62em){.side-menu:is(:hover,:focus-within,:active) .btn{opacity:1}}.side-menu:is(.open){width:calc(100% - var(--container-padding-x))}@media screen and (min-width: 36em){.side-menu:is(.open){width:23.875rem}}@media screen and (min-width: 62em){.side-menu:is(.open){width:19rem}}.side-menu .side-menu-content{position:absolute;top:0;right:0;padding:2rem 2.5rem 0 0;width:21.9375rem;opacity:0;transition:opacity 1s;min-height:100%;overflow:auto;max-height:100%}.side-menu .side-menu-content .h3{padding-left:1.5rem}@media screen and (min-width: 36em){.side-menu .side-menu-content{width:23.875rem}.side-menu .side-menu-content .h3{padding-left:2.5rem}}@media screen and (min-width: 62em){.side-menu .side-menu-content{width:19rem}.side-menu .side-menu-content .h3{padding-left:var(--container-padding-x-md)}}.side-menu:not(.hover):not(.open) .side-menu-content.closed{display:none}.side-menu.open .side-menu-content{opacity:1}@media screen and (min-width: 62em){.side-menu.hover .side-menu-content{opacity:1}}::slotted(*[slot=menu]){padding-left:1.5rem}@media screen and (min-width: 36em){::slotted(*[slot=menu]){padding-left:var(--container-padding-x-md)}}::slotted(hr){border-bottom:2px solid var(--colour-border) !important;margin-right:-2.5rem !important}::slotted(a[slot=menu]){display:block;display:block !important;line-height:1.25rem !important;padding:1rem 2.5rem 1rem 1.5rem !important;margin:0 !important;flex-shrink:0;font-size:1rem !important;font-weight:normal !important;text-decoration:none;border-bottom:2px solid var(--colour-border) !important;margin-right:-2.5rem !important;border-right:2px solid var(--colour-border) !important}@media screen and (min-width: 36em){::slotted(a[slot=menu]){padding-left:2.5rem !important}}@media screen and (min-width:
|
|
7
|
+
:host{--colour-border: #e9e9e9;--side-link-hover: var(--colour-canvas-2);grid-column:full-width;display:block;min-height:calc(100vh - var(--nav-height));padding-top:0 !important;margin-inline:auto;width:100%;overflow:hidden;position:relative}@media screen and (prefers-color-scheme: light){:host{--side-link-hover: #eeeeee}}@media screen and (min-width: 62em){:host{max-height:calc(100vh - var(--nav-height));overflow:auto}}.container{position:static;min-height:100%;padding-top:0 !important;padding-bottom:0 !important;padding-left:0 !important}@media screen and (min-width: 62em){.container{padding-left:5.25rem !important}}.side-menu{position:absolute;top:0;left:0;height:100%;min-height:calc(100vh - var(--nav-height));width:1.875rem;height:calc(100% - var(--nav-height));background-color:var(--colour-canvas);transition:width 1s}.side-menu:before{content:"";position:absolute;top:0;right:0;height:100%;border-right:2px solid var(--colour-border)}@media screen and (min-width: 36em){.side-menu{left:0;width:2.5rem}}@media screen and (min-width: 62em){.side-menu{left:5.25rem;margin-left:-5.25rem;position:fixed;top:var(--nav-height)}.side-menu:not(.open).hover{width:19rem}.side-menu:not(.open).hover .btn[class*=fa-]:before{content:"\uF023" !important}}.side-menu .btn{display:var(--btn-display, block);position:absolute;top:2rem;right:0;margin-bottom:0;margin-right:-1.25rem;background-color:var(--colour-canvas-2);border:2px solid var(--colour-border);z-index:99;color:var(--colour-primary-theme)}.side-menu .btn[aria-expanded][class*=fa-]:before{content:"\uF053" !important}@media screen and (min-width: 62em){.side-menu .btn[aria-expanded]{opacity:0}}.side-menu:is(:hover,:focus-within,:active) .btn{border:2px solid var(--colour-border);color:var(--colour-primary-theme)}@media screen and (min-width: 62em){.side-menu:is(:hover,:focus-within,:active) .btn{opacity:1}}.side-menu:is(.open){width:calc(100% - var(--container-padding-x))}@media screen and (min-width: 36em){.side-menu:is(.open){width:23.875rem}}@media screen and (min-width: 62em){.side-menu:is(.open){width:19rem}}.side-menu .side-menu-content{position:absolute;top:0;right:0;padding:2rem 2.5rem 0 0;width:21.9375rem;opacity:0;transition:opacity 1s;min-height:100%;overflow:auto;max-height:100%}.side-menu .side-menu-content .h3{padding-left:1.5rem}@media screen and (min-width: 36em){.side-menu .side-menu-content{width:23.875rem}.side-menu .side-menu-content .h3{padding-left:2.5rem}}@media screen and (min-width: 62em){.side-menu .side-menu-content{width:19rem}.side-menu .side-menu-content .h3{padding-left:var(--container-padding-x-md)}}.side-menu:not(.hover):not(.open) .side-menu-content.closed{display:none}.side-menu.open .side-menu-content{opacity:1}@media screen and (min-width: 62em){.side-menu.hover .side-menu-content{opacity:1}}::slotted(*[slot=menu]){padding-left:1.5rem}@media screen and (min-width: 36em){::slotted(*[slot=menu]){padding-left:2.5rem}}@media screen and (min-width: 62em){::slotted(*[slot=menu]){padding-left:var(--container-padding-x-md)}}::slotted(hr){border-bottom:2px solid var(--colour-border) !important;margin-right:-2.5rem !important}::slotted(a[slot=menu]){display:block;display:block !important;line-height:1.25rem !important;padding:1rem 2.5rem 1rem 1.5rem !important;margin:0 !important;flex-shrink:0;font-size:1rem !important;font-weight:normal !important;text-decoration:none;border-bottom:2px solid var(--colour-border) !important;margin-right:-2.5rem !important;border-right:2px solid var(--colour-border) !important}@media screen and (min-width: 36em){::slotted(a[slot=menu]){padding-left:2.5rem !important}}@media screen and (min-width: 62em){::slotted(a[slot=menu]){padding-left:var(--container-padding-x-md) !important}}::slotted(a[slot=menu]):after{display:none}::slotted(a[slot=menu]:where(:hover,:focus,[aria-expanded])){background-color:var(--side-link-hover) !important}::slotted(a[slot=menu]:active){background-color:var(--side-link-hover) !important;font-weight:bold !important}::slotted(a[slot=menu][aria-expanded]){background-color:var(--side-link-hover) !important;font-weight:bold !important;margin-right:-2.5rem !important;position:relative;border-right:2px solid var(--colour-info) !important}::slotted(a[slot=menu][aria-expanded]):before{content:"";position:absolute;top:0;right:0;height:calc(100% + 4px);margin-top:-2px;width:2px;border-right:2px solid var(--colour-info);margin-right:-2px}@media(forced-colors: active){::slotted(a[slot=menu][aria-expanded]):before{border-right:10px solid var(--colour-info)}}.main-content{padding-top:1.5rem;padding-left:3.75rem}@media screen and (min-width: 36em){.main-content{padding-left:5rem}}@media screen and (min-width: 62em){.main-content{padding-top:2.5rem !important;padding-left:0}}.main-content>span.h3{padding-top:.75rem;border-bottom:2px solid var(--colour-border);margin-bottom:2.5rem !important}@media screen and (min-width: 62em){.main-content>span.h3{display:none}}::slotted(.main-content__title){border-bottom:2px solid var(--colour-border);margin-bottom:2.5rem !important;max-width:100% !important;display:block}@media screen and (min-width: 62em){::slotted(.main-content__title){display:none}}@media screen and (min-width: 62em){.container:has(.side-menu.open){padding-left:2rem !important;margin-left:max(19rem,50% - var(--container-max-width)/2);margin-right:0;max-width:min(var(--container-max-width),100% - 19rem)}}@media screen and (min-width: 62em){:host([open-always]){--btn-display: none}}/*# sourceMappingURL=assets/css/components/collapsible-side.css.map */
|
|
8
8
|
|
|
9
9
|
${this.hasAttribute("css")?`@import "${this.getAttribute("css")}";`:""}
|
|
10
10
|
</style>
|
|
11
11
|
<link rel="stylesheet" href="https://kit.fontawesome.com/26fdbf0179.css" crossorigin="anonymous">
|
|
12
12
|
<div class="container" part="container">
|
|
13
13
|
|
|
14
|
-
<div class="side-menu">
|
|
15
|
-
<button class="btn btn-compact fa-chevron-right btn-secondary btn-sm btn-collapse">Open or close Collapsible menu</button>
|
|
16
|
-
<div class="side-menu-content closed">
|
|
14
|
+
<div class="side-menu" part="side-menu">
|
|
15
|
+
<button class="btn btn-compact fa-chevron-right btn-secondary btn-sm btn-collapse" part="btn">Open or close Collapsible menu</button>
|
|
16
|
+
<div class="side-menu-content closed" part="side-menu-content">
|
|
17
17
|
<slot name="menu"></slot>
|
|
18
18
|
</div>
|
|
19
19
|
</div>
|
|
20
20
|
|
|
21
|
-
<div class="main-content">
|
|
21
|
+
<div class="main-content" part="main-content">
|
|
22
22
|
<slot></slot>
|
|
23
23
|
</div>
|
|
24
24
|
|
|
25
25
|
</div>
|
|
26
|
-
`,this.shadowRoot.appendChild(n.content.cloneNode(!0))}connectedCallback(){const e=this.shadowRoot.querySelector(".side-menu"),t=this.shadowRoot.querySelector(".side-menu-content"),n=this.shadowRoot.querySelector(".main-content"),i=this.shadowRoot.querySelector(".side-menu > .btn");this.hasAttribute("data-css")&&this.shadowRoot.querySelector(".styles").insertAdjacentHTML("beforeend",`@import "${this.getAttribute("data-css")}";`),this.hasAttribute("data-title")||this.setAttribute("data-title","configuration"),t.insertAdjacentHTML("afterbegin",`<span class="h3">${this.getAttribute("data-title")}</span>`),n.insertAdjacentHTML("afterbegin",`<span class="h3">${this.getAttribute("data-title")}</span>`),this.querySelector(":scope > :is(h1,h2,h3,h4,h5,h6)")&&(this.querySelector(":scope > :is(h1,h2,h3,h4,h5,h6)").classList.add("h4"),this.querySelector(":scope > :is(h1,h2,h3,h4,h5,h6)").classList.add("main-content__title")),this.hasAttribute("open")&&(e.classList.add("open"),i.setAttribute("aria-expanded",!0)),i.addEventListener("click",o=>{e.classList.contains("open")?(e.classList.remove("open"),i.removeAttribute("aria-expanded"),setTimeout(function(){t.classList.add("closed")},1e3),e.classList.add("pe-none"),setTimeout(function(){e.classList.remove("pe-none")},1e3)):(t.classList.remove("closed"),setTimeout(function(){e.classList.add("open"),i.setAttribute("aria-expanded",!0)},100))}),e.addEventListener("mouseenter",o=>{window.innerWidth>992&&(e.classList.contains("open")||t.classList.remove("closed"),e.classList.add("hover"))}),e.addEventListener("mousemove",o=>{window.innerWidth>992&&(e.classList.contains("open")||t.classList.remove("closed"))}),e.addEventListener("mouseleave",o=>{window.innerWidth>992&&(e.classList.remove("hover"),e.classList.contains("open")||setTimeout(function(){t.classList.add("closed")},1e3))})}}export{a as default};
|
|
26
|
+
`,this.shadowRoot.appendChild(n.content.cloneNode(!0))}connectedCallback(){const e=this.shadowRoot.querySelector(".side-menu"),t=this.shadowRoot.querySelector(".side-menu-content"),n=this.shadowRoot.querySelector(".main-content"),i=this.shadowRoot.querySelector(".side-menu > .btn");this.hasAttribute("data-css")&&this.shadowRoot.querySelector(".styles").insertAdjacentHTML("beforeend",`@import "${this.getAttribute("data-css")}";`),this.hasAttribute("data-title")||this.setAttribute("data-title","configuration"),t.insertAdjacentHTML("afterbegin",`<span class="h3">${this.getAttribute("data-title")}</span>`),n.insertAdjacentHTML("afterbegin",`<span class="h3">${this.getAttribute("data-title")}</span>`),this.querySelector(":scope > :is(h1,h2,h3,h4,h5,h6)")&&(this.querySelector(":scope > :is(h1,h2,h3,h4,h5,h6)").classList.add("h4"),this.querySelector(":scope > :is(h1,h2,h3,h4,h5,h6)").classList.add("main-content__title")),this.hasAttribute("open")&&window.innerWidth>992&&(e.classList.add("open"),i.setAttribute("aria-expanded",!0)),i.addEventListener("click",o=>{e.classList.contains("open")?(e.classList.remove("open"),i.removeAttribute("aria-expanded"),setTimeout(function(){t.classList.add("closed")},1e3),e.classList.add("pe-none"),setTimeout(function(){e.classList.remove("pe-none")},1e3)):(t.classList.remove("closed"),setTimeout(function(){e.classList.add("open"),i.setAttribute("aria-expanded",!0)},100))}),e.addEventListener("mouseenter",o=>{window.innerWidth>992&&(e.classList.contains("open")||t.classList.remove("closed"),e.classList.add("hover"))}),e.addEventListener("mousemove",o=>{window.innerWidth>992&&(e.classList.contains("open")||t.classList.remove("closed"))}),e.addEventListener("mouseleave",o=>{window.innerWidth>992&&(e.classList.remove("hover"),e.classList.contains("open")||setTimeout(function(){t.classList.add("closed")},1e3))})}}export{a as default};
|
|
27
27
|
//# sourceMappingURL=collapsible-side.component.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collapsible-side.component.min.js","sources":["collapsible-side.component.js"],"sourcesContent":["// @ts-nocheck\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n \"event\": \"customElementRegistered\",\n \"element\": \"collapsible side menu\"\n});\nclass iamCollapsibleSideMenu extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location') ? document.body.getAttribute('data-assets-location') : '/assets';\n const coreCSS = document.body.hasAttribute('data-core-css') ? document.body.getAttribute('data-core-css') : `${assetLocation}/css/core.min.css`;\n const loadCSS = `@import \"${assetLocation}/css/components/collapsible-side.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style class=\"styles\">\n @import \"${coreCSS}\";\n ${loadCSS}\n ${this.hasAttribute('css') ? `@import \"${this.getAttribute('css')}\";` : ``}\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/26fdbf0179.css\" crossorigin=\"anonymous\">\n <div class=\"container\" part=\"container\">\n\n <div class=\"side-menu\">\n <button class=\"btn btn-compact fa-chevron-right btn-secondary btn-sm btn-collapse\">Open or close Collapsible menu</button>\n <div class=\"side-menu-content closed\">\n <slot name=\"menu\"></slot>\n </div>\n </div>\n\n <div class=\"main-content\">\n <slot></slot>\n </div>\n\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n const sideMenu = this.shadowRoot.querySelector('.side-menu');\n const sideMenuContent = this.shadowRoot.querySelector('.side-menu-content');\n const mainContent = this.shadowRoot.querySelector('.main-content');\n const button = this.shadowRoot.querySelector('.side-menu > .btn');\n // Load external CSS if needed\n if (this.hasAttribute('data-css'))\n this.shadowRoot.querySelector('.styles').insertAdjacentHTML('beforeend', `@import \"${this.getAttribute('data-css')}\";`);\n // Set sde nav title\n if (!this.hasAttribute('data-title'))\n this.setAttribute('data-title', 'configuration');\n sideMenuContent.insertAdjacentHTML('afterbegin', `<span class=\"h3\">${this.getAttribute('data-title')}</span>`);\n mainContent.insertAdjacentHTML('afterbegin', `<span class=\"h3\">${this.getAttribute('data-title')}</span>`);\n if (this.querySelector(':scope > :is(h1,h2,h3,h4,h5,h6)')) {\n this.querySelector(':scope > :is(h1,h2,h3,h4,h5,h6)').classList.add('h4');\n this.querySelector(':scope > :is(h1,h2,h3,h4,h5,h6)').classList.add('main-content__title');\n }\n if (this.hasAttribute('open')) {\n sideMenu.classList.add('open');\n button.setAttribute('aria-expanded', true);\n }\n // Open the menu\n button.addEventListener('click', (event) => {\n if (!sideMenu.classList.contains('open')) {\n sideMenuContent.classList.remove('closed');\n setTimeout(function () {\n sideMenu.classList.add('open');\n button.setAttribute('aria-expanded', true);\n }, 100);\n }\n else {\n sideMenu.classList.remove('open');\n button.removeAttribute('aria-expanded');\n setTimeout(function () { sideMenuContent.classList.add('closed'); }, 1000); // Delay until its close so the animation is broken\n // While the menu is closing dont allow the hover to re-open it until its fully closed.\n sideMenu.classList.add('pe-none');\n setTimeout(function () { sideMenu.classList.remove('pe-none'); }, 1000);\n }\n });\n // Mimic hover event on desktop so that we can control when classes are set and which order\n sideMenu.addEventListener('mouseenter', (event) => {\n if (window.innerWidth > 992) {\n if (!sideMenu.classList.contains('open'))\n sideMenuContent.classList.remove('closed');\n sideMenu.classList.add('hover');\n }\n });\n sideMenu.addEventListener('mousemove', (event) => {\n if (window.innerWidth > 992) {\n if (!sideMenu.classList.contains('open'))\n sideMenuContent.classList.remove('closed');\n }\n });\n sideMenu.addEventListener('mouseleave', (event) => {\n if (window.innerWidth > 992) {\n sideMenu.classList.remove('hover');\n if (!sideMenu.classList.contains('open'))\n setTimeout(function () { sideMenuContent.classList.add('closed'); }, 1000); // Delay until its close so the animation is broken\n }\n });\n }\n}\nexport default iamCollapsibleSideMenu;\n"],"names":["iamCollapsibleSideMenu","assetLocation","coreCSS","template","sideMenu","sideMenuContent","mainContent","button","event"],"mappings":";;;IAEA,OAAO,UAAY,OAAO,WAAa,GACvC,OAAO,UAAU,KAAK,CAClB,MAAS,0BACT,QAAW,uBACf,CAAC,EACD,MAAMA,UAA+B,WAAY,CAC7C,aAAc,CACV,QACA,KAAK,aAAa,CAAE,KAAM,MAAQ,CAAA,EAClC,MAAMC,EAAgB,SAAS,KAAK,aAAa,sBAAsB,EAAI,SAAS,KAAK,aAAa,sBAAsB,EAAI,UAC1HC,EAAU,SAAS,KAAK,aAAa,eAAe,EAAI,SAAS,KAAK,aAAa,eAAe,EAAI,GAAGD,qBAEzGE,EAAW,SAAS,cAAc,UAAU,EAClDA,EAAS,UAAY;AAAA;AAAA,eAEdD;AAAA;AAAA;AAAA,MAET,KAAK,aAAa,KAAK,EAAI,YAAY,KAAK,aAAa,KAAK,MAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAkBpE,KAAK,WAAW,YAAYC,EAAS,QAAQ,UAAU,EAAI,CAAC,CAC/D,CACD,mBAAoB,CAChB,MAAMC,EAAW,KAAK,WAAW,cAAc,YAAY,EACrDC,EAAkB,KAAK,WAAW,cAAc,oBAAoB,EACpEC,EAAc,KAAK,WAAW,cAAc,eAAe,EAC3DC,EAAS,KAAK,WAAW,cAAc,mBAAmB,EAE5D,KAAK,aAAa,UAAU,GAC5B,KAAK,WAAW,cAAc,SAAS,EAAE,mBAAmB,YAAa,YAAY,KAAK,aAAa,UAAU,KAAK,EAErH,KAAK,aAAa,YAAY,GAC/B,KAAK,aAAa,aAAc,eAAe,EACnDF,EAAgB,mBAAmB,aAAc,oBAAoB,KAAK,aAAa,YAAY,UAAU,EAC7GC,EAAY,mBAAmB,aAAc,oBAAoB,KAAK,aAAa,YAAY,UAAU,EACrG,KAAK,cAAc,iCAAiC,IACpD,KAAK,cAAc,iCAAiC,EAAE,UAAU,IAAI,IAAI,EACxE,KAAK,cAAc,iCAAiC,EAAE,UAAU,IAAI,qBAAqB,GAEzF,KAAK,aAAa,MAAM,
|
|
1
|
+
{"version":3,"file":"collapsible-side.component.min.js","sources":["collapsible-side.component.js"],"sourcesContent":["// @ts-nocheck\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n \"event\": \"customElementRegistered\",\n \"element\": \"collapsible side menu\"\n});\nclass iamCollapsibleSideMenu extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location') ? document.body.getAttribute('data-assets-location') : '/assets';\n const coreCSS = document.body.hasAttribute('data-core-css') ? document.body.getAttribute('data-core-css') : `${assetLocation}/css/core.min.css`;\n const loadCSS = `@import \"${assetLocation}/css/components/collapsible-side.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style class=\"styles\">\n @import \"${coreCSS}\";\n ${loadCSS}\n ${this.hasAttribute('css') ? `@import \"${this.getAttribute('css')}\";` : ``}\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/26fdbf0179.css\" crossorigin=\"anonymous\">\n <div class=\"container\" part=\"container\">\n\n <div class=\"side-menu\" part=\"side-menu\">\n <button class=\"btn btn-compact fa-chevron-right btn-secondary btn-sm btn-collapse\" part=\"btn\">Open or close Collapsible menu</button>\n <div class=\"side-menu-content closed\" part=\"side-menu-content\">\n <slot name=\"menu\"></slot>\n </div>\n </div>\n\n <div class=\"main-content\" part=\"main-content\">\n <slot></slot>\n </div>\n\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n const sideMenu = this.shadowRoot.querySelector('.side-menu');\n const sideMenuContent = this.shadowRoot.querySelector('.side-menu-content');\n const mainContent = this.shadowRoot.querySelector('.main-content');\n const button = this.shadowRoot.querySelector('.side-menu > .btn');\n // Load external CSS if needed\n if (this.hasAttribute('data-css'))\n this.shadowRoot.querySelector('.styles').insertAdjacentHTML('beforeend', `@import \"${this.getAttribute('data-css')}\";`);\n // Set sde nav title\n if (!this.hasAttribute('data-title'))\n this.setAttribute('data-title', 'configuration');\n sideMenuContent.insertAdjacentHTML('afterbegin', `<span class=\"h3\">${this.getAttribute('data-title')}</span>`);\n mainContent.insertAdjacentHTML('afterbegin', `<span class=\"h3\">${this.getAttribute('data-title')}</span>`);\n if (this.querySelector(':scope > :is(h1,h2,h3,h4,h5,h6)')) {\n this.querySelector(':scope > :is(h1,h2,h3,h4,h5,h6)').classList.add('h4');\n this.querySelector(':scope > :is(h1,h2,h3,h4,h5,h6)').classList.add('main-content__title');\n }\n if (this.hasAttribute('open') && window.innerWidth > 992) {\n sideMenu.classList.add('open');\n button.setAttribute('aria-expanded', true);\n }\n // Open the menu\n button.addEventListener('click', (event) => {\n if (!sideMenu.classList.contains('open')) {\n sideMenuContent.classList.remove('closed');\n setTimeout(function () {\n sideMenu.classList.add('open');\n button.setAttribute('aria-expanded', true);\n }, 100);\n }\n else {\n sideMenu.classList.remove('open');\n button.removeAttribute('aria-expanded');\n setTimeout(function () { sideMenuContent.classList.add('closed'); }, 1000); // Delay until its close so the animation is broken\n // While the menu is closing dont allow the hover to re-open it until its fully closed.\n sideMenu.classList.add('pe-none');\n setTimeout(function () { sideMenu.classList.remove('pe-none'); }, 1000);\n }\n });\n // Mimic hover event on desktop so that we can control when classes are set and which order\n sideMenu.addEventListener('mouseenter', (event) => {\n if (window.innerWidth > 992) {\n if (!sideMenu.classList.contains('open'))\n sideMenuContent.classList.remove('closed');\n sideMenu.classList.add('hover');\n }\n });\n sideMenu.addEventListener('mousemove', (event) => {\n if (window.innerWidth > 992) {\n if (!sideMenu.classList.contains('open'))\n sideMenuContent.classList.remove('closed');\n }\n });\n sideMenu.addEventListener('mouseleave', (event) => {\n if (window.innerWidth > 992) {\n sideMenu.classList.remove('hover');\n if (!sideMenu.classList.contains('open'))\n setTimeout(function () { sideMenuContent.classList.add('closed'); }, 1000); // Delay until its close so the animation is broken\n }\n });\n }\n}\nexport default iamCollapsibleSideMenu;\n"],"names":["iamCollapsibleSideMenu","assetLocation","coreCSS","template","sideMenu","sideMenuContent","mainContent","button","event"],"mappings":";;;IAEA,OAAO,UAAY,OAAO,WAAa,GACvC,OAAO,UAAU,KAAK,CAClB,MAAS,0BACT,QAAW,uBACf,CAAC,EACD,MAAMA,UAA+B,WAAY,CAC7C,aAAc,CACV,QACA,KAAK,aAAa,CAAE,KAAM,MAAQ,CAAA,EAClC,MAAMC,EAAgB,SAAS,KAAK,aAAa,sBAAsB,EAAI,SAAS,KAAK,aAAa,sBAAsB,EAAI,UAC1HC,EAAU,SAAS,KAAK,aAAa,eAAe,EAAI,SAAS,KAAK,aAAa,eAAe,EAAI,GAAGD,qBAEzGE,EAAW,SAAS,cAAc,UAAU,EAClDA,EAAS,UAAY;AAAA;AAAA,eAEdD;AAAA;AAAA;AAAA,MAET,KAAK,aAAa,KAAK,EAAI,YAAY,KAAK,aAAa,KAAK,MAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAkBpE,KAAK,WAAW,YAAYC,EAAS,QAAQ,UAAU,EAAI,CAAC,CAC/D,CACD,mBAAoB,CAChB,MAAMC,EAAW,KAAK,WAAW,cAAc,YAAY,EACrDC,EAAkB,KAAK,WAAW,cAAc,oBAAoB,EACpEC,EAAc,KAAK,WAAW,cAAc,eAAe,EAC3DC,EAAS,KAAK,WAAW,cAAc,mBAAmB,EAE5D,KAAK,aAAa,UAAU,GAC5B,KAAK,WAAW,cAAc,SAAS,EAAE,mBAAmB,YAAa,YAAY,KAAK,aAAa,UAAU,KAAK,EAErH,KAAK,aAAa,YAAY,GAC/B,KAAK,aAAa,aAAc,eAAe,EACnDF,EAAgB,mBAAmB,aAAc,oBAAoB,KAAK,aAAa,YAAY,UAAU,EAC7GC,EAAY,mBAAmB,aAAc,oBAAoB,KAAK,aAAa,YAAY,UAAU,EACrG,KAAK,cAAc,iCAAiC,IACpD,KAAK,cAAc,iCAAiC,EAAE,UAAU,IAAI,IAAI,EACxE,KAAK,cAAc,iCAAiC,EAAE,UAAU,IAAI,qBAAqB,GAEzF,KAAK,aAAa,MAAM,GAAK,OAAO,WAAa,MACjDF,EAAS,UAAU,IAAI,MAAM,EAC7BG,EAAO,aAAa,gBAAiB,EAAI,GAG7CA,EAAO,iBAAiB,QAAUC,GAAU,CACnCJ,EAAS,UAAU,SAAS,MAAM,GAQnCA,EAAS,UAAU,OAAO,MAAM,EAChCG,EAAO,gBAAgB,eAAe,EACtC,WAAW,UAAY,CAAEF,EAAgB,UAAU,IAAI,QAAQ,GAAM,GAAI,EAEzED,EAAS,UAAU,IAAI,SAAS,EAChC,WAAW,UAAY,CAAEA,EAAS,UAAU,OAAO,SAAS,GAAM,GAAI,IAZtEC,EAAgB,UAAU,OAAO,QAAQ,EACzC,WAAW,UAAY,CACnBD,EAAS,UAAU,IAAI,MAAM,EAC7BG,EAAO,aAAa,gBAAiB,EAAI,CAC5C,EAAE,GAAG,EAUtB,CAAS,EAEDH,EAAS,iBAAiB,aAAeI,GAAU,CAC3C,OAAO,WAAa,MACfJ,EAAS,UAAU,SAAS,MAAM,GACnCC,EAAgB,UAAU,OAAO,QAAQ,EAC7CD,EAAS,UAAU,IAAI,OAAO,EAE9C,CAAS,EACDA,EAAS,iBAAiB,YAAcI,GAAU,CAC1C,OAAO,WAAa,MACfJ,EAAS,UAAU,SAAS,MAAM,GACnCC,EAAgB,UAAU,OAAO,QAAQ,EAE7D,CAAS,EACDD,EAAS,iBAAiB,aAAeI,GAAU,CAC3C,OAAO,WAAa,MACpBJ,EAAS,UAAU,OAAO,OAAO,EAC5BA,EAAS,UAAU,SAAS,MAAM,GACnC,WAAW,UAAY,CAAEC,EAAgB,UAAU,IAAI,QAAQ,GAAM,GAAI,EAE7F,CAAS,CACJ,CACL"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v5.6.1-
|
|
2
|
+
* iamKey v5.6.1-beta4
|
|
3
3
|
* Copyright 2022-2024 iamproperty
|
|
4
4
|
*/function g(r,i){const n=i.querySelector(".files"),l=i.querySelector(".drop-area"),t=r.querySelector("input"),f=r.hasAttribute("data-maxsize")?r.getAttribute("data-maxsize"):0,a=t.cloneNode();if(l.append(a),i.addEventListener("click",e=>{e&&e.target instanceof HTMLElement&&e.target.closest(".btn-primary")&&(e.target.closest(".btn-primary"),(t.hasAttribute("multiple")?a:t).click())}),i.addEventListener("click",e=>{if(e&&e.target instanceof HTMLElement&&e.target.closest(".files button")){const o=new DataTransfer,{files:c}=t,p=e.target.closest(".files button");for(let s=0;s<c.length;s++){const d=c[s];d.name!=p.getAttribute("data-file")&&o.items.add(d)}if(t.files=o.files,t.files.length==0){const s=new Event("empty");r.dispatchEvent(s)}const m=new Event("change");t.dispatchEvent(m)}}),a.addEventListener("change",e=>{if(t.hasAttribute("multiple")){const p=[...t.files,...a.files];let m=[];const s=new DataTransfer;for(let d=0;d<p.length;d++){const u=p[d],h=u.size/1e3;!m.includes(u.name)&&(f==0||h<f)&&s.items.add(u),m.push(u.name)}t.files=s.files}else t.files=a.files;const o=new Event("change");t.dispatchEvent(o);const c=new Event("elementChange");r.dispatchEvent(c)}),a.addEventListener("dragenter",e=>{a.classList.add("focus")}),a.addEventListener("dragleave",e=>{a.classList.remove("focus")}),a.addEventListener("drop",e=>{a.classList.remove("focus")}),t.addEventListener("change",e=>{n.innerHTML="";for(const o of t.files)n.innerHTML+=`<span class="file">${o.name} <button data-file="${o.name}">Remove</button></span>`}),r.hasAttribute("data-filename")){let e=r.getAttribute("data-filename");e&&(n.innerHTML+=`<span class="file">${e} <button data-file="${e}">Remove</button></span>`)}i.addEventListener("click",e=>{e&&e.target instanceof HTMLElement&&e.target.closest(".btn-primary")&&(e.target.closest(".btn-primary"),(t.hasAttribute("multiple")?a:t).click())})}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"fileupload"});class b extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const i=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",n=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${i}/css/core.min.css`,l=document.createElement("template");l.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v5.6.1-
|
|
2
|
+
* iamKey v5.6.1-beta4
|
|
3
3
|
* Copyright 2022-2024 iamproperty
|
|
4
4
|
*/function r(s,t){n(s,t)}function n(s,t){var e;t.addEventListener("keyup",a=>{clearTimeout(e),e=setTimeout(function(){o(s,t.value)},500)}),t.addEventListener("change",a=>{clearTimeout(e),o(s,t.value)})}const o=function(s,t){Array.from(s.querySelectorAll(":scope > li")).forEach((e,a)=>{let i=e.textContent.toLowerCase();e.classList.add("d-none"),i.includes(t.toLowerCase())&&e.classList.remove("d-none")}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Filtered list",value:t})};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"filterlist"});class l extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const t=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",e=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${t}/css/core.min.css`,a=document.createElement("template");a.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v5.6.1-
|
|
2
|
+
* iamKey v5.6.1-beta4
|
|
3
3
|
* Copyright 2022-2024 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"header"});class o extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const t=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",e=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${t}/css/core.min.css`,a=document.createElement("template");a.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v5.6.1-
|
|
2
|
+
* iamKey v5.6.1-beta4
|
|
3
3
|
* Copyright 2022-2024 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"inline edit"});class b extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"}),i=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",d=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${i}/css/core.min.css`,e=document.createElement("template");e.innerHTML=`
|
|
5
5
|
<style class="styles">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v5.6.1-
|
|
2
|
+
* iamKey v5.6.1-beta4
|
|
3
3
|
* Copyright 2022-2024 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Marketing"});class o extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const e=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",i=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${e}/css/core.min.css`,t=document.createElement("template");t.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v5.6.1-
|
|
2
|
+
* iamKey v5.6.1-beta4
|
|
3
3
|
* Copyright 2022-2024 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"mutliselect"});class m extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const t=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",s=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${t}/css/core.min.css`,r=document.createElement("template");r.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v5.6.1-
|
|
2
|
+
* iamKey v5.6.1-beta4
|
|
3
3
|
* Copyright 2022-2024 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"nav"});class v extends HTMLElement{constructor(){super();const s=this.attachShadow({mode:"open"}),n=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",e=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${n}/css/core.min.css`,i=document.createElement("template");i.innerHTML=`
|
|
5
5
|
<style class="styles">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v5.6.1-
|
|
2
|
+
* iamKey v5.6.1-beta4
|
|
3
3
|
* Copyright 2022-2024 iamproperty
|
|
4
4
|
*/function r(i){if(i.hasAttribute("data-type")&&i.getAttribute("data-type")=="toast"){let t=document.querySelector(".notification__holder");t||(t=document.createElement("div"),t.classList.add("notification__holder"),t.classList.add("container"),document.querySelector("body").appendChild(t)),i.closest(".notification__holder")||t.appendChild(i)}if(i.setAttribute("role","alert"),i.addEventListener("click",function(t){event&&event.target instanceof HTMLElement&&event.target.closest("[data-dismiss-button]")&&(t.preventDefault(),a(i))},!1),i.hasAttribute("data-timeout")){let t=i.getAttribute("data-timeout");var n=new c(function(){a(i)},t);i.addEventListener("mouseenter",o=>{n.pause()}),i.addEventListener("mouseleave",o=>{n.resume()})}}function c(i,n){var t,o,e=n;this.pause=function(){window.clearTimeout(t),e-=new Date-o},this.resume=function(){o=new Date,window.clearTimeout(t),t=window.setTimeout(i,e)},this.resume()}const a=function(i){i.classList.add("d-none")};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Notification"});class d extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const n=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",t=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${n}/css/core.min.css`,o=this.querySelectorAll("a,button");Array.from(o).forEach((s,l)=>{s.setAttribute("slot","btns"),s.classList.add("link")}),(o.length||this.hasAttribute("data-dismiss"))&&this.classList.add("notification--dismissable");const e=document.createElement("template");e.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v5.6.1-
|
|
2
|
+
* iamKey v5.6.1-beta4
|
|
3
3
|
* Copyright 2022-2024 iamproperty
|
|
4
4
|
*/class v extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const i=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",t=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${i}/css/core.min.css`,e=document.createElement("template");e.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v5.6.1-
|
|
2
|
+
* iamKey v5.6.1-beta4
|
|
3
3
|
* Copyright 2022-2024 iamproperty
|
|
4
4
|
*/import k from"js-cookie";const q=e=>e.replace(/ /g,"_"),x=function(e){return e=e.toLowerCase(),e=q(e),e=e.replace(/\W/g,""),e},m=(e,s,a)=>s.split(/[\.\[\]\'\"]/).filter(o=>o).reduce((o,d)=>o?o[d]:a,e),S=e=>Array.isArray(e)||e!==null&&["function","object"].includes(typeof e);var L=function(e,s,a,o){function d(c){return c instanceof a?c:new a(function(n){n(c)})}return new(a||(a=Promise))(function(c,n){function v(r){try{u(o.next(r))}catch(i){n(i)}}function t(r){try{u(o.throw(r))}catch(i){n(i)}}function u(r){r.done?c(r.value):d(r.value).then(v,t)}u((o=o.apply(e,s||[])).next())})};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Search"});class C extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const s=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",a=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${s}/css/core.min.css`,o=document.createElement("template");o.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v5.6.1-
|
|
2
|
+
* iamKey v5.6.1-beta4
|
|
3
3
|
* Copyright 2022-2024 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Slider"});class f extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const t=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",p=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${t}/css/core.min.css`,i=document.createElement("template");i.innerHTML=`
|
|
5
5
|
<style>
|