@iamproperty/components 4.1.1-beta-5 → 4.1.1-beta-7

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.
Files changed (58) hide show
  1. package/assets/css/components/component.reset.css +1 -1
  2. package/assets/css/components/component.reset.css.map +1 -1
  3. package/assets/css/core.min.css +1 -1
  4. package/assets/css/core.min.css.map +1 -1
  5. package/assets/css/style.min.css +1 -1
  6. package/assets/css/style.min.css.map +1 -1
  7. package/assets/favicons/README.md +21 -0
  8. package/assets/favicons/android-chrome-192x192.png +0 -0
  9. package/assets/favicons/android-chrome-512x512-bg.png +0 -0
  10. package/assets/favicons/android-chrome-512x512.png +0 -0
  11. package/assets/favicons/apple-touch-icon.png +0 -0
  12. package/assets/favicons/browserconfig.xml +9 -0
  13. package/assets/favicons/favicon-16x16.png +0 -0
  14. package/assets/favicons/favicon-32x32.png +0 -0
  15. package/assets/favicons/favicon.ico +0 -0
  16. package/assets/favicons/mstile-150x150.png +0 -0
  17. package/assets/favicons/safari-pinned-tab.svg +35 -0
  18. package/assets/favicons/site.webmanifest +20 -0
  19. package/assets/img/illustrations/buyer.png +0 -0
  20. package/assets/img/illustrations/estate-agents.png +0 -0
  21. package/assets/img/illustrations/modified/auctioneer-28days.png +0 -0
  22. package/assets/img/illustrations/modified/auctioneer-56days.png +0 -0
  23. package/assets/img/illustrations/seller.png +0 -0
  24. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  25. package/assets/js/components/actionbar/actionbar.component.min.js +1 -1
  26. package/assets/js/components/address-lookup/address-lookup.component.js +21 -14
  27. package/assets/js/components/address-lookup/address-lookup.component.min.js +4 -4
  28. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  29. package/assets/js/components/applied-filters/applied-filters.component.min.js +3 -3
  30. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  31. package/assets/js/components/card/card.component.min.js +1 -1
  32. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  33. package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
  34. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  35. package/assets/js/components/header/header.component.min.js +1 -1
  36. package/assets/js/components/nav/nav.component.min.js +1 -1
  37. package/assets/js/components/notification/notification.component.min.js +1 -1
  38. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  39. package/assets/js/components/table/table.component.min.js +1 -1
  40. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  41. package/assets/js/dynamic.min.js +2 -2
  42. package/assets/js/dynamic.min.js.map +1 -1
  43. package/assets/js/modules/applied-filters.js +10 -1
  44. package/assets/js/modules/dynamicEvents.js +14 -2
  45. package/assets/js/modules/inputs.js +0 -2
  46. package/assets/js/scripts.bundle.js +3 -3
  47. package/assets/js/scripts.bundle.js.map +1 -1
  48. package/assets/js/scripts.bundle.min.js +2 -2
  49. package/assets/js/scripts.bundle.min.js.map +1 -1
  50. package/assets/sass/foundations/reboot.scss +3 -0
  51. package/assets/ts/components/address-lookup/address-lookup.component.ts +27 -18
  52. package/assets/ts/modules/applied-filters.ts +16 -3
  53. package/assets/ts/modules/dynamicEvents.ts +23 -6
  54. package/assets/ts/modules/inputs.ts +0 -2
  55. package/dist/README.md +21 -0
  56. package/dist/components.es.js +19 -14
  57. package/dist/components.umd.js +31 -31
  58. package/package.json +1 -1
@@ -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=\"new-password\" 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></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 let preFilled = true;\n const preFilledAddress = this.shadowRoot.querySelector('.pre-filled-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 Array.from(this.querySelectorAll('input[required],input[data-required],select[required],select[data-required]')).forEach((input, index) => {\n if (!input.value)\n preFilled = false;\n else\n preFilledAddress.innerHTML += ', ' + input.value;\n });\n preFilledAddress.innerHTML = preFilledAddress.innerHTML.slice(1);\n if (preFilled) {\n preFilledWrapper.classList.remove('js-hide');\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.add('js-hide');\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 function openManualWrapper() {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n Array.from(this.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 let values = JSON.stringify(address.value);\n listString += `<option value=\"${address['label']}, ${postcode}\" data-values='${values}'></option>`;\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","preFilled","preFilledAddress","preFilledAddressBtn","titleElement","index","input","useCheckbox","event","values","key","openManualWrapper","search","postcode","ajaxURL","signal","Cookies","response","listString","address","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=\"new-password\" 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></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 if (!input.value)\n preFilled = false;\n else\n preFilledAddress.innerHTML += ', ' + input.value;\n });\n preFilledAddress.innerHTML = preFilledAddress.innerHTML.slice(1);\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 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 let values = JSON.stringify(address.value);\n listString += `<option value=\"${address['label']}, ${postcode}\" data-values='${values}'></option>`;\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","error"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * iamKey v4.1.1-beta-5
2
+ * iamKey v4.1.1-beta-7
3
3
  * Copyright 2022-2023 iamproperty
4
- */function h(m,p){function b(e,t){let i=!1,r=t.getAttribute("name");r.includes("[]")&&(r=r.replace("[]",`[${t.value}]`));let l=e.querySelector(`[data-name="${r}"]`);l&&t.getAttribute("type")=="checkbox"&&(i=!0);let o=t.getAttribute("data-filter-text");if(l||(l=document.createElement("button"),e.appendChild(l)),l.setAttribute("type","button"),l.classList.add("filter"),l.setAttribute("data-name",r),l.innerHTML=o.replace("$value",t.value),(!t.value||i)&&l.remove(),t.parentNode.closest("[data-filter-text]")){let d=t.parentNode.closest("[data-filter-text]"),u=!0;if(r="",d.querySelectorAll("input").forEach((a,n)=>{let s=a.getAttribute("name");if(r+=`${n!=0?",":""}${s}`,e.querySelector(`[data-name="${s}"]`)&&e.querySelector(`[data-name="${s}"]`).remove(),a.value){let c=document.createElement("button");c.setAttribute("type","button"),c.classList.add("filter"),c.setAttribute("data-name",s),c.innerHTML=o.replace("$value",a.value),e.appendChild(c)}else u=!1}),e.querySelector(`[data-name="${r}"]`)&&e.querySelector(`[data-name="${r}"]`).remove(),u){let a=d.getAttribute("data-filter-text");d.querySelectorAll("input").forEach((s,c)=>{let f=s.getAttribute("name");e.querySelector(`[data-name="${f}"]`)&&e.querySelector(`[data-name="${f}"]`).remove(),a=a.replace(`$${c+1}`,s.value)});let n=document.createElement("button");n.setAttribute("type","button"),n.classList.add("filter"),n.setAttribute("data-name",r),n.innerHTML=a,e.appendChild(n)}}}Array.from(m.querySelectorAll('input[type="checkbox"]:checked')).forEach((e,t)=>{b(p,e)}),Array.from(m.querySelectorAll("input[data-filter-text]")).forEach((e,t)=>{e.addEventListener("change",function(i){b(p,e)})}),p.addEventListener("click",function(e){if(e&&e.target instanceof HTMLElement&&e.target.closest(".filter")){let r=e.target.closest(".filter"),l=r.getAttribute("data-name").split(",");for(var t=0;t<l.length;t++){let o=l[t],d=`[name="${o}"]`;o.match(/\[(.*)\]/)&&(o.replace(/\[(.*)\]/,"[]"),d=`[value="${o.replace(/.*\[(.*)\]/,"$1")}"]`);let u=m.querySelectorAll(d);for(var i=0;i<u.length;i++){let a=u[i];if(a.getAttribute("type")!="radio"&&a.getAttribute("type")!="checkbox")a.value="";else{a.checked=!1;var e=new Event("force");m.hasAttribute("data-nosubmit")||a.closest("form").dispatchEvent(e)}}}r.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 p=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",b=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${p}/css/core.min.css`;let e=this.classList.toString();const t=document.createElement("template");t.innerHTML=`
4
+ */function h(d,m){function u(e,t){let l=!1,r=t.getAttribute("name");r.includes("[]")&&(r=r.replace("[]",`[${t.value}]`));let i=e.querySelector(`[data-name="${r}"]`);i&&t.getAttribute("type")=="checkbox"&&(l=!t.checked);let o=t.getAttribute("data-filter-text");if(i||(i=document.createElement("button"),e.appendChild(i)),i.setAttribute("type","button"),i.classList.add("filter"),i.setAttribute("data-name",r),i.innerHTML=o.replace("$value",t.value),(!t.value||l)&&i.remove(),t.parentNode.closest("[data-filter-text]")){let p=t.parentNode.closest("[data-filter-text]"),f=!0;if(r="",p.querySelectorAll("input").forEach((a,n)=>{let s=a.getAttribute("name");if(r+=`${n!=0?",":""}${s}`,e.querySelector(`[data-name="${s}"]`)&&e.querySelector(`[data-name="${s}"]`).remove(),a.value){let c=document.createElement("button");c.setAttribute("type","button"),c.classList.add("filter"),c.setAttribute("data-name",s),c.innerHTML=o.replace("$value",a.value),e.appendChild(c)}else f=!1}),e.querySelector(`[data-name="${r}"]`)&&e.querySelector(`[data-name="${r}"]`).remove(),f){let a=p.getAttribute("data-filter-text");p.querySelectorAll("input").forEach((s,c)=>{let b=s.getAttribute("name");e.querySelector(`[data-name="${b}"]`)&&e.querySelector(`[data-name="${b}"]`).remove(),a=a.replace(`$${c+1}`,s.value)});let n=document.createElement("button");n.setAttribute("type","button"),n.classList.add("filter"),n.setAttribute("data-name",r),n.innerHTML=a,e.appendChild(n)}}}Array.from(d.querySelectorAll('input[type="checkbox"]:checked')).forEach((e,t)=>{u(m,e)}),Array.from(d.querySelectorAll("input[data-filter-text]")).forEach((e,t)=>{e.addEventListener("change",function(l){u(m,e),l.stopPropagation()})}),d.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]");u(m,t)}}),m.addEventListener("click",function(e){if(e&&e.target instanceof HTMLElement&&e.target.closest(".filter")){let r=e.target.closest(".filter"),i=r.getAttribute("data-name").split(",");for(var t=0;t<i.length;t++){let o=i[t],p=`[name="${o}"]`;o.match(/\[(.*)\]/)&&(o.replace(/\[(.*)\]/,"[]"),p=`[value="${o.replace(/.*\[(.*)\]/,"$1")}"]`);let f=d.querySelectorAll(p);for(var l=0;l<f.length;l++){let a=f[l];if(a.getAttribute("type")!="radio"&&a.getAttribute("type")!="checkbox")a.value="";else{a.checked=!1;var e=new Event("force");d.hasAttribute("data-nosubmit")||a.closest("form").dispatchEvent(e)}}}r.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 m=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",u=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${m}/css/core.min.css`;let e=this.classList.toString();const t=document.createElement("template");t.innerHTML=`
5
5
  <style>
6
- @import "${b}";
6
+ @import "${u}";
7
7
  .applied-filters:not(.applied-filters--compact):not(:empty):before{content:"Applied filters";font-weight:bold;font-size:1.125rem;line-height:1.375rem;color:var(--colour-header);margin-bottom:1rem;display:block}.applied-filters:not(:empty){margin-bottom:1rem}::slotted(*:last-child){margin-bottom:0}.applied-filters .filter{border:1px solid var(--colour-border);padding:1rem 1.5rem 1rem 1.5rem;background:rgba(0,0,0,0);margin-right:.5rem !important;margin-bottom:.5rem !important;line-height:1.5rem;white-space:nowrap}.applied-filters .filter:after{content:"";display:inline-block;height:1.25rem;width:1.25rem;padding:0;margin-left:1.5rem;margin-bottom:-0.25rem;border:none;z-index:var(--index-focus);background:currentColor;mask-image:var(--icon-close);mask-size:100%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-close);-webkit-mask-size:100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%}.applied-filters--compact .filter{background-color:var(--colour-light);border:none;padding:0.625rem;line-height:1rem;border-radius:0.3125rem}.applied-filters--compact .filter:after{margin-left:0.625rem;height:1rem;width:1rem;margin-bottom:-0.1rem}/*# sourceMappingURL=assets/css/components/applied-filters.css.map */
8
8
 
9
9
  ${this.hasAttribute("css")?`@import "${this.getAttribute("css")}";`:""}
@@ -1 +1 @@
1
- {"version":3,"file":"applied-filters.component.min.js","sources":["../../modules/applied-filters.js","applied-filters.component.js"],"sourcesContent":["// @ts-nocheck\nfunction createAppliedFilters(container, filters) {\n function addFilterButton(filters, input) {\n let shouldRemoveFilter = false;\n let inputName = input.getAttribute('name');\n if (inputName.includes('[]'))\n inputName = inputName.replace('[]', `[${input.value}]`);\n let filter = filters.querySelector(`[data-name=\"${inputName}\"]`);\n if (filter && input.getAttribute('type') == 'checkbox')\n shouldRemoveFilter = true;\n let filterText = input.getAttribute('data-filter-text');\n if (!filter) {\n filter = document.createElement('button');\n filters.appendChild(filter);\n }\n filter.setAttribute('type', 'button');\n filter.classList.add('filter');\n filter.setAttribute('data-name', inputName);\n filter.innerHTML = filterText.replace('$value', input.value);\n // If the value\n if (!input.value || shouldRemoveFilter)\n filter.remove();\n // If input has an ancestor with data-filter and all of inputs in that parent have been filled in then we need to transform the filter\n if (input.parentNode.closest('[data-filter-text]')) {\n let parent = input.parentNode.closest('[data-filter-text]');\n let allValuesSet = true;\n inputName = \"\";\n parent.querySelectorAll('input').forEach((element, index) => {\n let name = element.getAttribute('name');\n // create a joined inputname for the parent filter\n inputName += `${index != 0 ? ',' : ''}${name}`;\n if (filters.querySelector(`[data-name=\"${name}\"]`))\n filters.querySelector(`[data-name=\"${name}\"]`).remove();\n if (element.value) {\n let childFilter = document.createElement('button');\n childFilter.setAttribute('type', 'button');\n childFilter.classList.add('filter');\n childFilter.setAttribute('data-name', name);\n childFilter.innerHTML = filterText.replace('$value', element.value);\n filters.appendChild(childFilter);\n }\n else\n allValuesSet = false;\n });\n if (filters.querySelector(`[data-name=\"${inputName}\"]`))\n filters.querySelector(`[data-name=\"${inputName}\"]`).remove();\n if (allValuesSet) {\n let newFilterText = parent.getAttribute('data-filter-text');\n parent.querySelectorAll('input').forEach((element, index) => {\n let name = element.getAttribute('name');\n // Remove all the child filter tags\n if (filters.querySelector(`[data-name=\"${name}\"]`))\n filters.querySelector(`[data-name=\"${name}\"]`).remove();\n newFilterText = newFilterText.replace(`$${index + 1}`, element.value);\n });\n let parentFilter = document.createElement('button');\n parentFilter.setAttribute('type', 'button');\n parentFilter.classList.add('filter');\n parentFilter.setAttribute('data-name', inputName);\n parentFilter.innerHTML = newFilterText;\n filters.appendChild(parentFilter);\n }\n }\n }\n // check for inputs on load\n Array.from(container.querySelectorAll('input[type=\"checkbox\"]:checked')).forEach((input, index) => {\n addFilterButton(filters, input);\n });\n Array.from(container.querySelectorAll('input[data-filter-text]')).forEach((input, index) => {\n input.addEventListener('change', function (event) {\n addFilterButton(filters, input);\n });\n });\n filters.addEventListener('click', function (event) {\n if (event && event.target instanceof HTMLElement && event.target.closest('.filter')) {\n let filter = event.target.closest('.filter');\n let names = filter.getAttribute('data-name').split(',');\n for (var t = 0; t < names.length; t++) {\n let name = names[t];\n let selector = `[name=\"${name}\"]`;\n if (name.match(/\\[(.*)\\]/)) {\n let newName = name.replace(/\\[(.*)\\]/, `[]`);\n let value = name.replace(/.*\\[(.*)\\]/, `$1`);\n selector = `[value=\"${value}\"]`;\n }\n let inputs = container.querySelectorAll(selector);\n for (var i = 0; i < inputs.length; i++) {\n let input = inputs[i];\n if (input.getAttribute('type') != 'radio' && input.getAttribute('type') != 'checkbox')\n input.value = \"\";\n else {\n input.checked = false;\n var event = new Event('force');\n if (!container.hasAttribute('data-nosubmit'))\n input.closest('form').dispatchEvent(event);\n }\n }\n }\n filter.remove();\n }\n }, false);\n}\nexport default createAppliedFilters;\n","// @ts-nocheck\nimport createAppliedFilters from \"../../modules/applied-filters.js\";\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n \"event\": \"customElementRegistered\",\n \"element\": \"Applied Filters\"\n});\nclass iamAppliedFilters 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/applied-filters.css\";`;\n let classList = this.classList.toString();\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n @import \"${coreCSS}\";\n ${loadCSS}\n ${this.hasAttribute('css') ? `@import \"${this.getAttribute('css')}\";` : ``}\n </style>\n <div class=\"applied-filters ${classList}\"></div>\n <slot></slot>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n createAppliedFilters(this, this.shadowRoot.querySelector('.applied-filters'));\n }\n}\nexport default iamAppliedFilters;\n"],"names":["createAppliedFilters","container","filters","addFilterButton","input","shouldRemoveFilter","inputName","filter","filterText","parent","allValuesSet","element","index","name","childFilter","newFilterText","parentFilter","event","names","selector","inputs","iamAppliedFilters","assetLocation","coreCSS","classList","template"],"mappings":"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"}
1
+ {"version":3,"file":"applied-filters.component.min.js","sources":["../../modules/applied-filters.js","applied-filters.component.js"],"sourcesContent":["// @ts-nocheck\nfunction createAppliedFilters(container, filters) {\n function addFilterButton(filters, input) {\n let shouldRemoveFilter = false;\n let inputName = input.getAttribute('name');\n if (inputName.includes('[]'))\n inputName = inputName.replace('[]', `[${input.value}]`);\n let filter = filters.querySelector(`[data-name=\"${inputName}\"]`);\n if (filter && input.getAttribute('type') == 'checkbox')\n shouldRemoveFilter = !input.checked ? true : false;\n let filterText = input.getAttribute('data-filter-text');\n if (!filter) {\n filter = document.createElement('button');\n filters.appendChild(filter);\n }\n filter.setAttribute('type', 'button');\n filter.classList.add('filter');\n filter.setAttribute('data-name', inputName);\n filter.innerHTML = filterText.replace('$value', input.value);\n // If the value\n if (!input.value || shouldRemoveFilter)\n filter.remove();\n // If input has an ancestor with data-filter and all of inputs in that parent have been filled in then we need to transform the filter\n if (input.parentNode.closest('[data-filter-text]')) {\n let parent = input.parentNode.closest('[data-filter-text]');\n let allValuesSet = true;\n inputName = \"\";\n parent.querySelectorAll('input').forEach((element, index) => {\n let name = element.getAttribute('name');\n // create a joined inputname for the parent filter\n inputName += `${index != 0 ? ',' : ''}${name}`;\n if (filters.querySelector(`[data-name=\"${name}\"]`))\n filters.querySelector(`[data-name=\"${name}\"]`).remove();\n if (element.value) {\n let childFilter = document.createElement('button');\n childFilter.setAttribute('type', 'button');\n childFilter.classList.add('filter');\n childFilter.setAttribute('data-name', name);\n childFilter.innerHTML = filterText.replace('$value', element.value);\n filters.appendChild(childFilter);\n }\n else\n allValuesSet = false;\n });\n if (filters.querySelector(`[data-name=\"${inputName}\"]`))\n filters.querySelector(`[data-name=\"${inputName}\"]`).remove();\n if (allValuesSet) {\n let newFilterText = parent.getAttribute('data-filter-text');\n parent.querySelectorAll('input').forEach((element, index) => {\n let name = element.getAttribute('name');\n // Remove all the child filter tags\n if (filters.querySelector(`[data-name=\"${name}\"]`))\n filters.querySelector(`[data-name=\"${name}\"]`).remove();\n newFilterText = newFilterText.replace(`$${index + 1}`, element.value);\n });\n let parentFilter = document.createElement('button');\n parentFilter.setAttribute('type', 'button');\n parentFilter.classList.add('filter');\n parentFilter.setAttribute('data-name', inputName);\n parentFilter.innerHTML = newFilterText;\n filters.appendChild(parentFilter);\n }\n }\n }\n // check for inputs on load\n Array.from(container.querySelectorAll('input[type=\"checkbox\"]:checked')).forEach((input, index) => {\n addFilterButton(filters, input);\n });\n // check for change in displayed inputs\n Array.from(container.querySelectorAll('input[data-filter-text]')).forEach((input, index) => {\n input.addEventListener('change', function (event) {\n addFilterButton(filters, input);\n event.stopPropagation(); // Don't allow the below event handler to trigger\n });\n });\n // Some change event aren't getting triggered above so this event listener on the container will pick them up. This happens with input in modals\n container.addEventListener('change', function (event) {\n if (event && event.target instanceof HTMLElement && event.target.closest('input[data-filter-text]')) {\n let input = event.target.closest('input[data-filter-text]');\n addFilterButton(filters, input);\n }\n });\n filters.addEventListener('click', function (event) {\n if (event && event.target instanceof HTMLElement && event.target.closest('.filter')) {\n let filter = event.target.closest('.filter');\n let names = filter.getAttribute('data-name').split(',');\n for (var t = 0; t < names.length; t++) {\n let name = names[t];\n let selector = `[name=\"${name}\"]`;\n if (name.match(/\\[(.*)\\]/)) {\n let newName = name.replace(/\\[(.*)\\]/, `[]`);\n let value = name.replace(/.*\\[(.*)\\]/, `$1`);\n selector = `[value=\"${value}\"]`;\n }\n let inputs = container.querySelectorAll(selector);\n for (var i = 0; i < inputs.length; i++) {\n let input = inputs[i];\n if (input.getAttribute('type') != 'radio' && input.getAttribute('type') != 'checkbox')\n input.value = \"\";\n else {\n input.checked = false;\n var event = new Event('force');\n if (!container.hasAttribute('data-nosubmit'))\n input.closest('form').dispatchEvent(event);\n }\n }\n }\n filter.remove();\n }\n }, false);\n}\nexport default createAppliedFilters;\n","// @ts-nocheck\nimport createAppliedFilters from \"../../modules/applied-filters.js\";\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n \"event\": \"customElementRegistered\",\n \"element\": \"Applied Filters\"\n});\nclass iamAppliedFilters 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/applied-filters.css\";`;\n let classList = this.classList.toString();\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n @import \"${coreCSS}\";\n ${loadCSS}\n ${this.hasAttribute('css') ? `@import \"${this.getAttribute('css')}\";` : ``}\n </style>\n <div class=\"applied-filters ${classList}\"></div>\n <slot></slot>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n createAppliedFilters(this, this.shadowRoot.querySelector('.applied-filters'));\n }\n}\nexport default iamAppliedFilters;\n"],"names":["createAppliedFilters","container","filters","addFilterButton","input","shouldRemoveFilter","inputName","filter","filterText","parent","allValuesSet","element","index","name","childFilter","newFilterText","parentFilter","event","names","selector","inputs","i","iamAppliedFilters","assetLocation","coreCSS","classList","template"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v4.1.1-beta-5
2
+ * iamKey v4.1.1-beta-7
3
3
  * Copyright 2022-2023 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('[class*="fa-"]')&&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",r=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 v4.1.1-beta-5
2
+ * iamKey v4.1.1-beta-7
3
3
  * Copyright 2022-2023 iamproperty
4
4
  */window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"collapsible side menu"});class s 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`,o=document.createElement("template");o.innerHTML=`
5
5
  <style class="styles">
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v4.1.1-beta-5
2
+ * iamKey v4.1.1-beta-7
3
3
  * Copyright 2022-2023 iamproperty
4
4
  */function h(c,o){const r=o.querySelector(".files"),l=o.querySelector(".drop-area"),t=c.querySelector("input"),u=c.hasAttribute("data-maxsize")?c.getAttribute("data-maxsize"):0,a=t.cloneNode();l.append(a),o.addEventListener("click",e=>{e&&e.target instanceof HTMLElement&&e.target.closest(".btn-primary")&&(e.target.closest(".btn-primary"),(t.hasAttribute("multiple")?a:t).click())}),o.addEventListener("click",e=>{if(e&&e.target instanceof HTMLElement&&e.target.closest(".files button")){const i=new DataTransfer,{files:d}=t,p=e.target.closest(".files button");for(let n=0;n<d.length;n++){const s=d[n];s.name!=p.getAttribute("data-file")&&i.items.add(s)}t.files=i.files;const m=new Event("change");t.dispatchEvent(m)}}),a.addEventListener("change",e=>{if(t.hasAttribute("multiple")){const d=[...t.files,...a.files];let p=[];const m=new DataTransfer;for(let n=0;n<d.length;n++){const s=d[n],f=s.size/1e3;!p.includes(s.name)&&(u==0||f<u)&&m.items.add(s),p.push(s.name)}t.files=m.files}else t.files=a.files;const i=new Event("change");t.dispatchEvent(i)}),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=>{r.innerHTML="";for(const i of t.files)r.innerHTML+=`<span class="file">${i.name} <button data-file="${i.name}">Remove</button></span>`})}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"fileupload"});class b extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const o=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",r=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${o}/css/core.min.css`,l=document.createElement("template");l.innerHTML=`
5
5
  <style>
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v4.1.1-beta-5
2
+ * iamKey v4.1.1-beta-7
3
3
  * Copyright 2022-2023 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 v4.1.1-beta-5
2
+ * iamKey v4.1.1-beta-7
3
3
  * Copyright 2022-2023 iamproperty
4
4
  */window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"header"});class t extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const e=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",r=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${e}/css/core.min.css`,o=document.createElement("template");o.innerHTML=`
5
5
  <style>
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v4.1.1-beta-5
2
+ * iamKey v4.1.1-beta-7
3
3
  * Copyright 2022-2023 iamproperty
4
4
  */window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"nav"});class p extends HTMLElement{constructor(){super();const d=this.attachShadow({mode:"open"}),n=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",r=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 v4.1.1-beta-5
2
+ * iamKey v4.1.1-beta-7
3
3
  * Copyright 2022-2023 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(),n(i))},!1),i.hasAttribute("data-timeout")){let t=i.getAttribute("data-timeout");var e=new c(function(){n(i)},t);i.addEventListener("mouseenter",o=>{e.pause()}),i.addEventListener("mouseleave",o=>{e.resume()})}}function c(i,e){var t,o,a=e;this.pause=function(){window.clearTimeout(t),a-=new Date-o},this.resume=function(){o=new Date,window.clearTimeout(t),t=window.setTimeout(i,a)},this.resume()}const n=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 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`,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 a=document.createElement("template");a.innerHTML=`
5
5
  <style>
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v4.1.1-beta-5
2
+ * iamKey v4.1.1-beta-7
3
3
  * Copyright 2022-2023 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 v4.1.1-beta-5
2
+ * iamKey v4.1.1-beta-7
3
3
  * Copyright 2022-2023 iamproperty
4
4
  */const B=function(a){return typeof a!="string"?!1:!isNaN(a)&&!isNaN(parseFloat(a))},Q=(a,e)=>String(a).padStart(e,"0"),X=a=>a.charAt(0).toUpperCase()+a.slice(1);var Y=function(a,e,o,r){function b(c){return c instanceof o?c:new o(function(i){i(c)})}return new(o||(o=Promise))(function(c,i){function n(u){try{t(r.next(u))}catch(s){i(s)}}function d(u){try{t(r.throw(u))}catch(s){i(s)}}function t(u){u.done?c(u.value):b(u.value).then(n,d)}t((r=r.apply(a,e||[])).next())})};const R=a=>{const e=Array.from(a.querySelectorAll("thead th"));Array.from(a.querySelectorAll("tbody tr")).forEach((r,b)=>{const c=Array.from(r.querySelectorAll("th, td")),i=["0","low","medium","high","unknown","n/a","pending","verified","due","overdue","incomplete","complete","completed","approval required","upcoming","requires approval","to do","on track","not started","warning","error"];c.forEach((n,d)=>{const t=e[d];if(typeof t<"u"){let u=document.createElement("div");u.innerHTML=t.innerHTML;let s=u.textContent||u.innerText||"";n.setAttribute("data-label",s),t.hasAttribute("data-td-class")&&n.setAttribute("class",t.getAttribute("data-td-class")),t.hasAttribute("data-format")&&(n.setAttribute("data-format",t.getAttribute("data-format")),n.innerHTML=M(t.getAttribute("data-format"),n.textContent.trim())),i.includes(n.textContent.trim().toLowerCase())&&n.setAttribute("data-content",n.textContent.trim().toLowerCase())}})})},J=a=>{let e=0;return Array.from(a.querySelectorAll("tbody tr")).forEach((o,r)=>{let b=window.getComputedStyle(document.querySelector("html")),c=o.querySelector(":scope > *:last-child > *:first-child");if(c){c.classList.add("text-nowrap");let i=c.offsetWidth/parseFloat(b.fontSize);i+=1.7,e=e>i?e:i}}),e},G=(a,e)=>{if(e.classList.contains(".table--fullwidth")&&!e.hasAttribute("data-expandable")||a.querySelectorAll("thead tr th").length<4&&!e.hasAttribute("data-expandable"))return!1;Array.from(a.querySelectorAll("thead tr")).forEach((o,r)=>{o.insertAdjacentHTML("afterbegin",'<th class="th--fixed expand-button-heading"></th>')}),Array.from(a.querySelectorAll("tbody tr")).forEach((o,r)=>{o.insertAdjacentHTML("afterbegin",'<td class="td--fixed td--expand"><button class="btn btn-compact btn-secondary" data-expand-button>Expand</button></td>')})},K=a=>{a.addEventListener("click",e=>{if(e&&e.target instanceof HTMLElement&&e.target.closest("[data-expand-button]")){let o=e.target.closest("[data-expand-button]"),r=o.closest("tr");r.getAttribute("data-view")=="full"?r.setAttribute("data-view","default"):r.setAttribute("data-view","full"),o.blur()}})},N=(a,e)=>{let o=e.querySelector("[data-search]");if(!o)return!1;const r=o.getAttribute("id"),b=o.getAttribute("data-search").split(",");let c=o.parentNode,i={};b.forEach((n,d)=>{Array.from(a.querySelectorAll('td[data-label="'+n.trim()+'"]')).forEach((t,u)=>{t.querySelector(".td__content")?i[t.querySelector(".td__content").textContent]=t.querySelector(".td__content").textContent:i[t.textContent]=t.textContent})}),o.setAttribute("list",`${r}_list`),o.setAttribute("autocomplete","off"),c.querySelector("datalist")||(c.innerHTML+=`<datalist id="${r}_list"></datalist>`),c.querySelector("datalist").innerHTML=`${Object.keys(i).map(n=>`<option value="${n}"></option>`).join("")}`},V=(a,e,o,r,b)=>{var c;let i=function(t,u=!1){if(e.classList.contains("processing"))return!1;if(t.type=="submit"&&(e.classList.add("processing"),Array.from(e.querySelectorAll("[data-duplicate]")).forEach((s,m)=>{const h=s.getAttribute("data-duplicate"),l=document.getElementById(h),g=document.querySelector(`[for="${h}"] iam-card`);if(l.checked!=s.checked)if(g){let y=new Event("click");g.dispatchEvent(y)}else l.checked=s.checked}),e.classList.remove("processing")),e.hasAttribute("data-ajax")){if(!u){let s=e.querySelector("[data-pagination]");s.value=1,r.setAttribute("data-page",1)}z(a,e,o,r)}else e.hasAttribute("data-submit")?e.submit():(C(a,e,r),E(a,e));if(e.hasAttribute("data-ajax-post")){let s=new FormData(e),m=new URLSearchParams(s).toString();const h=new XMLHttpRequest;h.open("GET",`${window.location.href}?ajax=true&${m}`),h.send()}};e.addEventListener("keyup",t=>{clearTimeout(c),t&&t.target instanceof HTMLElement&&t.target.closest("[data-search]")&&(c=setTimeout(function(){i(t)},500))}),e.addEventListener("change",t=>{clearTimeout(c),t&&t.target instanceof HTMLElement&&t.target.closest("[data-sort]")&&(e.hasAttribute("data-submit")||O(a,e,b),i(t)),t&&t.target instanceof HTMLElement&&t.target.closest("[data-search]")&&i(t),t&&t.target instanceof HTMLElement&&t.target.closest("[data-filter][data-no-ajax]")?(C(a,e,r),E(a,e)):(t&&t.target instanceof HTMLElement&&t.target.closest("[data-filter]")&&t.target.closest("form .dialog__wrapper > dialog")||t&&t.target instanceof HTMLElement&&t.target.closest("[data-filter]")&&!t.target.closest("form dialog"))&&i(t),t&&t.target instanceof HTMLElement&&t.target.closest("[data-show]")&&i(t),t&&t.target instanceof HTMLElement&&t.target.closest("[data-mimic]")&&i(t)}),e.addEventListener("click",t=>{if(clearTimeout(c),t&&t.target instanceof HTMLElement&&t.target.closest('dialog button:not([type="button"])')&&t.target.closest('dialog button:not([type="button"])').closest("dialog").close(),t&&t.target instanceof HTMLElement&&t.target.closest(".dialog__close")&&(t.preventDefault(),t.stopPropagation()),t&&t.target instanceof HTMLElement&&t.target.closest("[data-clear]")){e.classList.add("processing"),Array.from(e.querySelectorAll(".applied-filters")).forEach((s,m)=>{s.innerHTML=""});let u=e.elements;for(let s=0;s<u.length;s++)switch(u[s].type.toLowerCase()?u[s].type.toLowerCase():"text"){case"text":case"password":case"textarea":u[s].value="";break;case"radio":case"checkbox":if(u[s].checked){let h=u[s],l=h.getAttribute("id"),g=document.querySelector(`[for="${l}"`);if(g.querySelector("iam-card")){let y=g.querySelector("iam-card"),v=new Event("click");y.dispatchEvent(v)}h.checked=!1}break;case"select-one":case"select-multi":u[s].selectedIndex=-1;break}e.classList.remove("processing"),e.hasAttribute("data-submit")||O(a,e,b),i(t)}}),e.addEventListener("submit",t=>{clearTimeout(c),e.hasAttribute("data-submit")||t.preventDefault(),i(t)}),e.addEventListener("force",t=>{i(t)}),e.addEventListener("paginate",t=>{i(t,!0)});let n=[],d=[];Array.from(e.querySelectorAll("[data-mimic]")).forEach((t,u)=>{let s=t.getAttribute("data-mimic");Array.from(document.querySelectorAll(`[name="${s}"]`)).forEach((m,h)=>{let l=m.closest("form");n.includes(l)||n.push(l),d.includes(s)||d.push(s)})}),n.forEach((t,u)=>{const s=function(){let m=[],h=new FormData(t);for(const[l,g]of h)document.querySelector(`[data-mimic="${l}"]`)&&!m.includes(l)?(m.push(l),document.querySelector(`[data-mimic="${l}"]`).value=g):document.querySelector(`[data-mimic="${l}"]`)&&(document.querySelector(`[data-mimic="${l}"]`).value+=","+g);for(const l of m){const g=new Event("force");e.dispatchEvent(g)}for(const l of d)if(!h.has(l)&&t.querySelector(`[name="${l}"]`)){document.querySelector(`[data-mimic="${l}"]`).value="";const g=new Event("force");e.dispatchEvent(g)}};t.addEventListener("force",m=>{s()}),t.addEventListener("change",m=>{s()})})},O=(a,e,o)=>{if(e.getAttribute("data-ajax"))return!1;let r=a.querySelector("tbody"),b=e.querySelector("[data-sort]"),c=b.querySelector(`option:nth-child(${b.selectedIndex+1})`),i=c.getAttribute("data-sort"),n=c.getAttribute("data-order"),d=c.getAttribute("data-format");if(!i)return r.innerHTML=o.innerHTML,R(a),!1;let t=[];["asc","desc","descending"].includes(n)||(t=n.split(","));let u=[];Array.from(r.querySelectorAll("tr")).forEach((m,h)=>{let l=m.querySelector('td[data-label="'+i+'"], th[data-label="'+i+'"]').textContent.trim();m.querySelector('[data-label="'+i+'"] .td__content')&&(l=m.querySelector('[data-label="'+i+'"] .td__content').textContent.trim()),t.length&&t.includes(l)&&(l=t.indexOf(l)),B(l)&&(l=Q(l,10)),d&&d=="date"&&(l=new Date(l));const g={index:l,row:m};u.push(g)}),u.sort((m,h)=>m.index>h.index?1:-1),(n=="descending"||n=="desc")&&(u=u.reverse());let s="";u.forEach((m,h)=>{s+=m.row.outerHTML}),r.innerHTML=s},C=(a,e,o)=>{a.classList.remove("table--filtered");let r=P(e),b=[],c=0,i=e.querySelector("[data-pagination]")?parseInt(e.querySelector("[data-pagination]").value):1,n=e.querySelector("[data-show]")?parseInt(e.querySelector("[data-show]").value):15;if(Array.from(a.querySelectorAll("tbody tr")).forEach((t,u)=>{t.classList.remove("filtered"),t.classList.remove("filtered--matched"),t.classList.remove("filtered--show"),t.removeAttribute("data-filtered-by")}),e.querySelector("[data-search]")){let t=e.querySelector("[data-search]");e.querySelector("[data-search]").getAttribute("data-search").split(",").forEach((s,m)=>{b.push({column:`${s.trim()}`,value:`${t.value}`})})}Array.from(e.querySelectorAll("[data-filter-count]")).forEach((t,u)=>{t.innerHTML="",t.parentNode.classList.remove("hover")});let d=0;Object.values(r).forEach((t,u)=>{typeof t=="object"&&Object.values(t).length?d+=Object.values(t).length:d++}),d&&Array.from(e.querySelectorAll("[data-filter-count]")).forEach((t,u)=>{t.innerHTML+=`(${d})`,t.parentNode.classList.add("hover")}),a.classList.add("table--filtered");for(const[t,u]of Object.entries(r))Array.from(a.querySelectorAll("tbody tr:not(.filtered)")).forEach((s,m)=>{let h=!1;u.forEach((l,g)=>{let y=s.querySelector(`[data-label="${t}"]`);if(l&&l=="$today")l=M("date",new Date);else if(l&&l=="$yesterday"){let f=new Date;f.setDate(f.getDate()-1),l=M("date",f)}else if(l&&(l=="$thisWeek"||l=="$lastWeek")){let f=new Date,x=new Date(f.setDate(f.getDate()-(f.getDay()-1))),w=new Date(f.setDate(f.getDate()-f.getDay()+7)),p=new Date(y.textContent.toLowerCase());if(f.setHours(0,0,0,0),x.setHours(0,0,0,0),w.setHours(0,0,0,0),p.setHours(0,0,0,0),l=="$thisWeek")h=p>=x&&p<=w;else{let T=new Date(x.setDate(x.getDate()-7)),A=new Date(w.setDate(w.getDate()-7));T.setHours(0,0,0,0),A.setHours(0,0,0,0),h=p>=T&&p<=A}}else if(l&&l=="$thisMonth"){let f=new Date,x=f.getFullYear(),w=f.getMonth();var v=new Date(x,w,1),k=new Date(x,w+1,0);let p=new Date(y.textContent.toLowerCase());v.setHours(0,0,0,0),k.setHours(0,0,0,0),p.setHours(0,0,0,0),h=p>=v&&p<=k}else if(l&&l=="$lastMonth"){let f=new Date,x=f.getFullYear(),w=f.getMonth();var S=new Date(x,w-1,1),L=new Date(x,w,0);let p=new Date(y.textContent.toLowerCase());S.setHours(0,0,0,0),L.setHours(0,0,0,0),p.setHours(0,0,0,0),h=p>=S&&p<=L}y&&y.textContent.toLowerCase().includes(l.toLowerCase())&&(h=!0)}),h||(s.classList.add("filtered"),s.setAttribute("data-filtered-by",t))});Array.from(a.querySelectorAll("tbody tr:not(.filtered)")).forEach((t,u)=>{let s=!(b.length>0&&b[0].value.length>=3);b.forEach((m,h)=>{let l=t.querySelector(`[data-label="${m.column}"]`);l&&m.value.length>=3&&l.textContent.toLowerCase().includes(m.value.toLowerCase())&&(s=!0)}),s||t.classList.add("filtered")}),Array.from(a.querySelectorAll("tbody tr:not(.filtered")).forEach((t,u)=>{c++,t.classList.add("filtered--matched"),Math.ceil(c/n)==parseInt(i)&&t.classList.add("filtered--show")}),o&&(o.setAttribute("data-total",c),o.setAttribute("data-show",n),o.setAttribute("data-page",i))},E=(a,e,o)=>{Array.from(e.querySelectorAll("[data-query]")).forEach((b,c)=>{let i=b.getAttribute("data-query"),n;if(i=="total")o.hasAttribute("data-total")?n=o.getAttribute("data-total"):n=(a.classList.contains("table--filtered"),a.querySelectorAll("tbody tr").length);else if(!i.includes(" == ")&&i.includes(" & ")){let d=i.split(" & "),t="";d.forEach(u=>{t+=`:not([data-filtered-by="${u}"])`}),n=Array.from(a.querySelectorAll(`tbody tr${t}`)).length}else if(!i.includes(" == "))n=Array.from(a.querySelectorAll(`tbody tr:not([data-filtered-by="${i}"])`)).length;else if(i.includes(" && ")){let d=i.split(" && ");n=Array.from(a.querySelectorAll("tbody tr:not(.filtered)")).filter(function(t){let u=!0;for(const[s,m]of Object.entries(d)){let h=m.split(" == ");(!t.querySelector(`td[data-label="${h[0]}"]`)||t.querySelector(`td[data-label="${h[0]}"]`).textContent!=`${h[1]}`)&&(u=!1)}return u}).length}else{let d=i.split(" == ");n=Array.from(a.querySelectorAll(`tbody tr.filtered--matched td[data-label="${d[0]}"], tbody tr[data-filtered-by="${d[0]}"] td[data-label="${d[0]}"]`)).filter(function(t){return t.textContent===d[1]}).length}b.hasAttribute("data-total")?b.setAttribute("data-total",n):b.innerHTML=n})},Z=function(a,e,o,r){o.addEventListener("update-page",b=>{let c=e.querySelector("[data-pagination]"),i=b.detail.page;if(c.value=i,e.dispatchEvent(new Event("paginate")),r.setAttribute("data-page",i),a.hasAttribute("data-show-history")){const n=new URL(location);n.searchParams.set("page",i),history.pushState({type:"pagination",form:e.getAttribute("id"),page:i},"",n)}if(!r.hasAttribute("data-no-scroll")){const d=a.getBoundingClientRect().top+window.pageYOffset+-250;window.scrollTo({top:d,behavior:"smooth"})}}),o.addEventListener("update-show",b=>{let c=e.querySelector("[data-show]"),i=b.detail.show;c.value=i,r.setAttribute("data-show",i),e.dispatchEvent(new Event("submit"))})},tt=(a,e)=>{if(!a)return!1;a.addEventListener("click",o=>{et(e)})},et=function(a){for(var e=[],o=a.getElementsByTagName("tr"),r=0;r<o.length;r++){for(var b=o[r].querySelectorAll("td,th"),c=[],i=0;i<b.length;i++)c.push(`"${b[i].textContent}"`);e.push(c.join(","))}e=e.join(`
5
5
  `);let n=new Blob([e],{type:"text/csv"});var d=document.createElement("a");d.download="export.csv";var t=window.URL.createObjectURL(n);d.href=t,d.style.display="none",document.body.appendChild(d),d.click(),document.body.removeChild(d)},I=function(a,e,o,r){if(R(a),G(a,r),E(a,e,r),r&&r.classList.contains("table--cta")){let c=function(){Array.from(a.querySelectorAll("tr")).forEach((i,n)=>{let d=i.offsetHeight;i.style.setProperty("--row-height",`${d}px`)})};const b=J(a);r.style.setProperty("--cta-width",`${b}rem`),new ResizeObserver(c).observe(a)}},P=function(a){let e=new Object;return Array.from(a.querySelectorAll("[data-filter]")).forEach((r,b)=>{if(!(r.type=="radio"&&!r.checked)&&!(r.type=="checkbox"&&!r.checked)&&r&&r.value){let c=r.getAttribute("data-filter");e[c]||(e[c]=new Array),e[c].push(r.value)}}),e},z=function(a,e,o,r){return Y(this,void 0,void 0,function*(){const b=(h,l,g)=>l.split(/[\.\[\]\'\"]/).filter(y=>y).reduce((y,v)=>y?y[v]:g,h);let c=new FormData(e),i=new URLSearchParams(c).toString(),n=a.querySelectorAll("thead tr th"),d=a.querySelector("tbody"),t=e.getAttribute("data-ajax");r.classList.add("table--loading");let u=P(e);Array.from(e.querySelectorAll("[data-filter-count]")).forEach((h,l)=>{h.innerHTML="",h.parentNode.classList.remove("hover")});let s=0;Object.values(u).forEach((h,l)=>{typeof h=="object"&&Object.values(h).length?s+=Object.values(h).length:s++}),s&&Array.from(e.querySelectorAll("[data-filter-count]")).forEach((h,l)=>{h.innerHTML+=`(${s})`,h.parentNode.classList.add("hover")}),window.controller||(window.controller=[]),window.controller[t]&&window.controller[t].abort(),window.controller[t]=new AbortController;const{signal:m}=controller[t];o.setAttribute("data-loading","true"),e.classList.add("processing");try{yield fetch(t+"?"+i,{signal:m,method:"get",credentials:"same-origin",headers:new Headers({"Content-Type":"application/json",Accept:"application/json","X-Requested-With":"XMLHttpRequest"})}).then(h=>h.json()).then(h=>{let l=e.hasAttribute("data-schema")?e.getAttribute("data-schema"):"data",g=e.hasAttribute("data-schema-total")?e.getAttribute("data-schema-total"):"meta.total",y=e.hasAttribute("data-schema-page")?e.getAttribute("data-schema-page"):"meta.current_page",v=b(h,g,15),k=b(h,y,1),S=b(h,l),L=r.hasAttribute("data-empty-msg")?r.getAttribute("data-empty-msg"):"No results found";S?(d.innerHTML="",S.forEach((f,x)=>{var w=document.createElement("tr");n.forEach((p,T)=>{let A="";var _=document.createElement("td");if(_.setAttribute("data-label",p.innerText),p.getAttribute("data-output")){var H=p.getAttribute("data-output");A=H.replace(new RegExp(/{(.*?)}/,"gm"),function(D){return b(f,D.replace("{","").replace("}",""))})}if(p.hasAttribute("data-output-array")){var H=p.getAttribute("data-output");let F=b(f,H.replace("{","").replace("}",""));A="",F.forEach((j,it)=>{let W=p.getAttribute("data-output-array"),q="";if(p.hasAttribute("data-output-array-property")&&p.hasAttribute("data-output-array-transform")){const $=b(j,p.getAttribute("data-output-array-property")),U=JSON.parse(p.getAttribute("data-output-array-transform"))[$];q=W.replace(`{${p.getAttribute("data-output-array-property")}}`,U)}q=q.replace(new RegExp(/{(.*?)}/,"gm"),function($){return b(j,$.replace("{","").replace("}",""))}),A+=q})}p.hasAttribute("data-transform")&&(A=JSON.parse(p.getAttribute("data-transform"))[A],!A&&p.hasAttribute("data-default")&&(A=p.getAttribute("data-default"))),_.innerHTML=A,w.appendChild(_)}),d.appendChild(w)}),N(a,e),r.setAttribute("data-total",parseInt(v)),r.setAttribute("data-page",parseInt(k)),I(a,e,o,r),Array.from(e.querySelectorAll("[data-ajax-query]")).forEach((f,x)=>{let w=b(h,f.getAttribute("data-ajax-query"),"");f.hasAttribute("data-total")?f.setAttribute("data-total",w):f.innerHTML=w}),parseInt(v)==0&&(d.innerHTML=`<tr><td colspan="100%"><span>${L}</span></td></tr>`),r.classList.remove("table--loading"),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Ajax table loaded",url:t,formData:i})):d.innerHTML='<tr><td colspan="100%"><span>Error loading table</span></td></tr>',o.removeAttribute("data-loading"),e.classList.remove("processing")})}catch(h){console.log(h)}})},M=(a,e)=>{switch(a){case"datetime":return new Date(e).toLocaleDateString("en-gb",{weekday:"short",year:"2-digit",month:"long",day:"numeric"})+" "+new Date(e).toLocaleTimeString("en-gb",{hour:"2-digit",minute:"2-digit"});case"date":return new Date(e).toLocaleDateString("en-gb",{year:"2-digit",month:"long",day:"numeric"});case"capitalise":return e=X(e)}};class at extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const e=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"):`${e}/css/core.min.css`,r=document.createElement("template");r.innerHTML=`
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v4.1.1-beta-5
2
+ * iamKey v4.1.1-beta-7
3
3
  * Copyright 2022-2023 iamproperty
4
4
  */const d=function(t){const r=t.querySelectorAll(":scope > details");t.querySelectorAll(":scope > details > summary");let a=t.querySelector(":scope > .tabs__links");if(t.shadowRoot&&t.shadowRoot.querySelector(".tabs__links")&&(a=t.shadowRoot.querySelector(".tabs__links")),!a){a=document.createElement("div"),a.classList.add("tabs__links");let e=document.createElement("div");e.classList.add("tabs__links__wrapper"),e.prepend(a),t.prepend(e)}r.forEach((e,i)=>{let l=e.querySelector(":scope > summary"),o=l.classList.contains("disabled");l.classList.add("visually-hidden");let s=document.createElement("button");e.hasAttribute("id")&&(s=document.createElement("a"),s.setAttribute("href",`#${e.getAttribute("id")}`)),e.hasAttribute("open")&&s.setAttribute("aria-pressed",!0),s.innerHTML=`${l.innerText}`,s.classList.add("link"),s.setAttribute("data-index",i),s.setAttribute("tabindex","-1"),o&&s.classList.add("disabled"),a.appendChild(s)})},n=function(t){let r=t.querySelectorAll(":scope > details"),a=t.querySelectorAll(":scope > details > summary"),e=t.querySelectorAll(":scope .tabs__links > .link");t.shadowRoot&&(e=t.shadowRoot.querySelectorAll(".tabs__links > .link")),e.forEach(i=>{i.addEventListener("click",l=>{if(l.preventDefault(),i.classList.contains("disabled"))return!1;e.forEach(o=>{let s=o==i;o.setAttribute("aria-pressed",s)}),r.forEach((o,s)=>{let c=i.getAttribute("data-index")==s;c?o.setAttribute("open",c):o.removeAttribute("open")}),i.hasAttribute("href")&&history.pushState(void 0,void 0,i.getAttribute("href")),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openTab",tabTitle:i.textContent})})}),a.forEach((i,l)=>{i.addEventListener("focus",o=>{e.forEach(s=>{s.classList.remove("focus")}),e[l].classList.add("focus")}),i.addEventListener("click",o=>{o.preventDefault(),e[l].click()})})},u=function(t){let r=t.querySelectorAll(":scope > details"),a=t.querySelectorAll(":scope > .tabs__links > button, .tabs__links > a");t.shadowRoot&&(a=t.shadowRoot.querySelectorAll(".tabs__links > button, .tabs__links > a")),location.hash&&t.querySelector(`.tabs__links [href="${location.hash}"]`)?(t.querySelector(`[href="${location.hash}"]`).setAttribute("open",!0),t.querySelector(`details[id="${location.hash.replace("#","")}"]`).setAttribute("open",!0)):t.querySelector("details[open]")||(r[0].setAttribute("open",!0),a[0].setAttribute("aria-pressed",!0))},p=function(t){d(t),n(t),u(t)};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"tabs"});class h extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const r=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"):`${r}/css/core.min.css`,e=document.createElement("template");e.innerHTML=`
5
5
  <style>
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * iamKey v4.1.1-beta-5
2
+ * iamKey v4.1.1-beta-7
3
3
  * Copyright 2022-2023 iamproperty
4
- */(function(b){typeof define=="function"&&define.amd?define(b):b()})(function(){"use strict";const b=t=>(t.classList.add("js-enabled"),(navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0)&&t.classList.add("ie"),null),w=t=>{const a=function(e){const o=document.querySelector(`label[for="${e.replace("#","")}"]`),i=document.querySelector(e+" summary"),r=document.querySelector(`dialog${e}`);o instanceof HTMLElement?o.click():i instanceof HTMLElement?i.click():r instanceof HTMLElement&&r.showModal()};return location.hash&&a(location.hash),window.addEventListener("hashchange",function(){a(location.hash)},!1),addEventListener("popstate",e=>{if(e&&e.state.type&&e.state.type=="pagination"){let o=document.querySelector(`#${e.state.form}`),i=document.querySelector(`#${e.state.form} [data-pagination]`);i?i.value=e.state.page:o.innerHTML+=`<input name="page" type="hidden" data-pagination="true" value="${e.state.page}" />`,o.dispatchEvent(new Event("submit"))}}),document.addEventListener("submit",e=>{if(e&&e.target instanceof HTMLElement&&e.target.matches("form")){let o=e.target;o.querySelector(":invalid")&&(o.classList.add("was-validated"),e.preventDefault())}}),null};class v{constructor(a){document.body.classList.contains("youtubeLoaded")?a.addEventListener("click",function(e){for(var o=e.target;o&&o!=this;o=o.parentNode)if(o.matches("a")){e.preventDefault(),p(o);break}},!1):this.loadScripts(a,this.createEmbed)}loadScripts(a){return new Promise((e,o)=>{const i=new Image;i.onload=function(){var r=document.createElement("script");r.src="https://www.youtube.com/iframe_api";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(r,s),document.body.classList.add("youtubeLoaded"),e(!0),r.onload=()=>{a.addEventListener("click",function(l){console.log("click"),l&&l.target instanceof HTMLElement&&l.target.closest("a")&&(l.preventDefault(),p(l.target.closest("a")))},!1)}},i.onerror=function(){o(!1)},i.src="https://youtube.com/favicon.ico"})}}const p=function(t){typeof window.player<"u"&&typeof window.player.pauseVideo=="function"&&window.player.pauseVideo();var a=t.getAttribute("data-id"),e=t.getAttribute("id");if(typeof e>"u"||e==null){var o=String.fromCharCode(65+Math.floor(Math.random()*26));e=o+Date.now(),t.setAttribute("id",e)}function i(){window.player=new YT.Player(e,{height:"100%",width:"100%",videoId:a,playerVars:{modestbranding:1,playsinline:1,rel:0,showinfo:0},events:{onReady:r,onStateChange:l}})}i();function r(n){n.target.playVideo()}var s=!1;function l(n){if(n.data==YT.PlayerState.PLAYING&&!s){var c=document.getElementById(e);c.classList.add("player-ready"),s=!0}}},S=t=>(Array.from(t.querySelectorAll("dialog[open]")).forEach((a,e)=>{a.closest(".dialog__wrapper")||(a.removeAttribute("open"),a.showModal(),a.focus(),A(a))}),t.addEventListener("click",a=>{if(a.target.tagName=="IAM-ACTIONBAR")return!1;if(a&&a.target instanceof HTMLElement&&a.target.closest("[data-modal]")){const i=a.target.closest("[data-modal]"),r=i.hasAttribute("data-modal")?i.getAttribute("data-modal"):i.getAttribute("data-filter"),s=document.querySelector(`dialog#${r}`);A(s),s.showModal(),s.focus();let l=s.offsetWidth;s.setAttribute("style",`max-width: ${l}px;`),Array.from(s.querySelectorAll("[data-duplicate]")).forEach((n,c)=>{const d=n.getAttribute("data-duplicate"),u=document.getElementById(d);if(n.checked!=u.checked){n.checked=u.checked;let f=new Event("change");n.dispatchEvent(f)}}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openModal",id:r})}if(a&&a.target instanceof HTMLElement&&a.target.closest("button.dialog__close")){const i=a.target.closest("dialog[open]");a.preventDefault(),i.close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach((r,s)=>{r.classList.remove("active")}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:i.getAttribute("id")})}if(a&&a.target instanceof HTMLElement&&a.target.closest('button[formmethod="dialog"]')){const i=a.target.closest("dialog[open]");Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach((r,s)=>{r.classList.remove("active")}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:i.getAttribute("id")})}if(a&&a.target instanceof HTMLElement&&a.target.closest("dialog[open]")){let i=a.target.closest("dialog[open]");var e=window.getComputedStyle(i);if(e.display==="contents"&&(i=i.parentNode.closest("dialog[open]")),!i.querySelector(":scope > .mh-lg > form:last-child > button:last-child, :scope > .mh-lg > button:last-child")||i.classList.contains("dialog--multi")){const r=i.getBoundingClientRect();(a.clientX<r.left||a.clientX>r.right||a.clientY<r.top||a.clientY>r.bottom)&&(a.target.closest('input[type="radio"]')||i.close(),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:i.getAttribute("id")}))}}if(a&&a.target instanceof HTMLElement&&a.target.closest(".dialog__wrapper > button")){a.stopPropagation();let i=a.target.closest(".dialog__wrapper > button"),r=a.target.closest(".dialog__wrapper > button").parentNode,s="openPopover",l=r.querySelector(":scope > dialog");if(document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]")!=l&&document.querySelector("*:not([data-keep-open]) > dialog[open]").close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach((u,f)=>{u.classList.remove("active")}),l.hasAttribute("open"))l.close(),s="closePopover",l.removeAttribute("style"),i.classList.remove("active");else{l.show(),i.classList.add("active");var o=i.getBoundingClientRect();let u=o.top,f=o.left;if(i.closest("iam-table")){let m=i.closest("iam-table").parentNode.getBoundingClientRect();u-=m.top,f-=m.left}l.classList.contains("dialog--fix")&&l.setAttribute("style",`position:fixed;top: ${u}px; left: ${f}px; margin: 3rem 0 0 0;`)}let n=l.getBoundingClientRect(),c=n.bottom-window.scrollY,d=window.innerHeight-window.scrollY;if(c>d){let u=l.hasAttribute("style")?l.getAttribute("style")+" ":"";l.setAttribute("style",u+"transform: translate(0, calc(-100% - 4rem))"),n=l.getBoundingClientRect(),n.top-window.scrollY<100&&l.removeAttribute("style")}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:s,id:i.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((i,r)=>{i.classList.remove("active")}))}),null),A=t=>{t.querySelector(":scope > .mh-lg > form:last-child > button:last-child, :scope > .mh-lg > button:last-child")&&!t.classList.contains("dialog--multi")&&t.addEventListener("cancel",e=>{e.preventDefault()});let a=t.querySelector(".youtube-embed a");if(a&&p(a),t.classList.contains("dialog--multi")&&!t.querySelector(":scope > .steps")&&q(t),!t.querySelector(":scope > .mh-lg")&&!t.classList.contains("dialog--multi")){t.innerHTML=`<div class="mh-lg">${t.innerHTML}</div>`;let e=t.querySelector(".mh-lg"),o=t.querySelector(".mh-lg :is(.h1,.h2,.h3,.h4,.h5,.h6)");if(o){let i=o.previousSibling;e.before(o),i&&o.before(i)}}t.querySelector(":scope > button:first-child")||t.insertAdjacentHTML("afterbegin",'<button class="dialog__close">Close</button>')},q=t=>{let a="",e=Array.from(t.querySelectorAll("fieldset[data-title]")),o=t.querySelector("form");e.forEach((s,l)=>{a+=`<button data-title="${s.getAttribute("data-title")}" type="button" class="${l==0?"active":""}" tabindex="-1">${s.getAttribute("data-title")}</button>`;const n=document.createElement("div");if(n.classList.add("btn--wrapper"),s.appendChild(n),l!=0&&(n.innerHTML+=`<button data-title="${e[l-1].getAttribute("data-title")}" class="btn btn-secondary mb-0" data-previous type="button">Previous</button>`),l!=e.length-1&&(n.innerHTML+=`<button data-title="${e[l+1].getAttribute("data-title")}" class="btn btn-primary mb-0" data-next type="button">Next</button>`),l==e.length-1)if(o&&o.querySelector(':scope > button[type="submit"]')){let c=o.querySelector(':scope > button[type="submit"]');c.classList.add("mb-0"),n.insertAdjacentElement("beforeend",c)}else n.innerHTML+=`<button data-title="${e[l].getAttribute("data-title")}" class="btn btn-primary mb-0" data-next type="submit">Submit</button>`}),t.insertAdjacentHTML("afterbegin",`<div class="steps bg-primary">${a}</div>`);let i=Array.from(t.querySelectorAll("fieldset.was-validated"));for(let s=0;s<i.length;s++){let l=i[s],n=l.getAttribute("data-title");if(l.querySelector(".is-invalid")){Array.from(t.querySelectorAll(`[data-title="${n}"]`)).forEach((c,d)=>{c.classList.add("active")});break}else Array.from(t.querySelectorAll(`[data-title="${n}"]`)).forEach((c,d)=>{c.classList.add("valid")})}t.addEventListener("invalid",function(){return function(s){s.preventDefault()}}(),!0);function r(s){const l=t.querySelector("fieldset.active")?t.querySelector("fieldset.active"):t.querySelector("fieldset[data-title]"),n=l.getAttribute("data-title");let c=!0;if(l.classList.add("was-validated"),Array.from(l.querySelectorAll("input")).forEach((f,m)=>{f.checkValidity()||(c=!1)}),c?Array.from(t.querySelectorAll(`[data-title="${n}"]`)).forEach((f,m)=>{f.classList.add("valid")}):Array.from(t.querySelectorAll(`[data-title="${n}"]`)).forEach((f,m)=>{f.classList.remove("valid")}),c||!s.hasAttribute("data-next")){const f=t.querySelector(`fieldset[data-title="${s.getAttribute("data-title")}"]`),m=t.querySelector(`.steps button[data-title="${s.getAttribute("data-title")}"]`);Array.from(t.querySelectorAll("button")).forEach((g,O)=>{g.classList.remove("active")}),Array.from(t.querySelectorAll("fieldset")).forEach((g,O)=>{g.classList.remove("active")}),m.classList.add("active"),f.classList.add("active")}let d=Array.from(t.querySelectorAll("fieldset")).length,u=Array.from(t.querySelectorAll("fieldset.valid")).length;t.style.setProperty("--progress",`${u/(d-1)*100}%`)}t.addEventListener("keydown",s=>{if(s&&s.target instanceof HTMLElement&&s.target.closest("button")){const l=s.target.closest("button");s.keyCode==13&&l.getAttribute("type")!="submit"&&(s.preventDefault(),r(l))}s&&s.target instanceof HTMLElement&&s.target.closest("input")&&(s.target.closest("input").classList.remove("is-invalid"),s.keyCode==13&&s.preventDefault())}),t.addEventListener("click",s=>{if(s&&s.target instanceof HTMLElement&&s.target.closest('button[type="submit"]'))s.target.closest("form").classList.add("was-validated");else if(s&&s.target instanceof HTMLElement&&s.target.closest("button[data-title]")){const l=s.target.closest("button[data-title]");r(l)}return null})};function E(){window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Pageview",pageTitle:document.title}),document.addEventListener("click",t=>{const a=t.target.closest("[open] summary");if(a)window.dataLayer.push({event:"closeDetails",detailsTitle:a.textContent||""});else{const e=t.target.closest("summary"),o=t.target.closest("a"),i=t.target.closest("button");e&&window.dataLayer.push({event:"openDetails",detailsTitle:e.textContent||""}),o&&window.dataLayer.push({event:"linkClicked",linkText:o.hasAttribute("title")?o.getAttribute("title")||"":o.textContent||"",class:o.hasAttribute("class")&&o.getAttribute("class")||"",href:o.getAttribute("href")||""}),i&&window.dataLayer.push({event:"buttonClicked",buttonText:i.textContent||"",class:i.hasAttribute("class")&&i.getAttribute("class")||""})}})}const x=t=>{document.addEventListener("load",function(){console.log(Array.from(document.querySelectorAll("input[maxlength]"))),Array.from(document.querySelectorAll("input")).forEach((a,e)=>{a.parentElement,T(a)})}),t.addEventListener("input",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("input,textarea,select")){const e=a.target.closest("input,textarea,select");e.parentElement,e.hasAttribute("type")&&e.getAttribute("type")=="color"&&(e.nextElementSibling.value=e.value),e.hasAttribute("maxlength")&&e.nextElementSibling&&e.nextElementSibling.setAttribute("data-count",e.value.length)}}),t.addEventListener("change",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("select")){const e=a.target.closest("select");if(console.log(e),e.hasAttribute("data-change-type")&&e.hasAttribute("data-input")){const o=document.getElementById(e.getAttribute("data-input")),i=e.value;L(o,i)}}if(a&&a.target instanceof HTMLElement&&a.target.closest('dialog [type="radio"]')){const e=a.target.closest("dialog");a.target.closest('dialog [type="radio"]'),Array.from(e.querySelectorAll('[type="radio"][autofocus]')).forEach((o,i)=>{o.removeAttribute("autofocus")}),Array.from(e.querySelectorAll('[type="radio"]:checked')).forEach((o,i)=>{o.setAttribute("autofocus",!0)})}}),t.addEventListener("click",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("[data-change-type][data-input]:not(select)")){const e=a.target.closest("[data-change-type]"),o=document.getElementById(e.getAttribute("data-input")),i=e.getAttribute("data-change-type");if(e.setAttribute("data-change-type",o.getAttribute("type")),L(o,i),e.hasAttribute("data-alt-class")){const r=e.getAttribute("data-alt-class");e.setAttribute("data-alt-class",e.getAttribute("class")),e.setAttribute("class",r)}}})},T=t=>{let a=t.parentElement,e=t.getAttribute("maxlength");a.style.setProperty("--maxlength",e);let o=t.nextElementSibling;(!o||o&&o.classList.contains("invalid-feedback"))&&(o=document.createElement("span"),a.insertBefore(o,t.nextSibling)),o.setAttribute("data-count",t.value.length)},L=(t,a)=>{t.setAttribute("type",a)},_=t=>{Array.from(t.querySelectorAll("details")).forEach((a,e)=>{a.addEventListener("mouseenter",function(o){window.matchMedia("(min-width: 62em)").matches&&a.setAttribute("open","true")},!1),a.addEventListener("mouseleave",function(o){window.matchMedia("(min-width: 62em)").matches&&a.removeAttribute("open")},!1)}),"IntersectionObserver"in window&&new IntersectionObserver(([e])=>e.target.classList.toggle("is-stuck",e.intersectionRatio<1),{threshold:[1]}).observe(t)};function M(t){var a;const e=t.querySelector(".testimonial__images"),o=e.querySelectorAll("img").length;if(o==1)return!1;t.classList.add("testimonial--multi");const i=function(r){const s=t.querySelector(".btn-next"),l=t.querySelector(".btn-prev");s.setAttribute("data-go",r+1),l.setAttribute("data-go",r-1),s.removeAttribute("disabled"),l.removeAttribute("disabled"),r==1?l.setAttribute("disabled",!0):r==o&&s.setAttribute("disabled",!0)};e.addEventListener("scroll",function(r){clearTimeout(a),a=setTimeout(function(){let s=e.scrollWidth,l=e.scrollHeight,n=e.scrollLeft,c=e.scrollTop,d=Math.round(n/s*o)+1;n==0&&c!=0&&(d=Math.round(c/l*o)+1),t.setAttribute("data-show",d),i(d)},300)},!1),t.addEventListener("click",function(r){for(var s=r.target;s&&s!=this;s=s.parentNode)if(s.matches("[data-go]")){let l=parseInt(s.getAttribute("data-go")),n=0,c=0,d=e.scrollWidth,u=e.scrollHeight;d>u?c=Math.floor(d*((l-1)/o)):n=Math.floor(u*((l-1)/o)),e.scroll({top:n,left:c,behavior:"smooth"});break}},!1)}function k(t){var a;let e=t.querySelector(".carousel__inner"),o=t.querySelectorAll(".carousel__item").length;t.getAttribute("data-cols");let i=t.getAttribute("data-sm-cols"),r=t.getAttribute("data-md-cols");t.querySelector(".carousel__controls a").classList.add("active"),e.addEventListener("scroll",function(s){clearTimeout(a),a=setTimeout(function(){let l=e.clientWidth,n=e.scrollWidth,c=e.scrollLeft,d=Math.round(c/n*o)+1,u=t.querySelector(".carousel__item:last-child").offsetLeft;Array.from(t.querySelectorAll(".carousel__controls a")).forEach((f,m)=>{f.classList.remove("active")}),t.querySelector(".control-"+d).classList.add("active"),d==1?t.querySelector(".btn-prev").setAttribute("disabled","disabled"):t.querySelector(".btn-prev").removeAttribute("disabled"),e.scrollLeft+l>u?t.querySelector(".btn-next").setAttribute("disabled","disabled"):t.querySelector(".btn-next").removeAttribute("disabled")},100)},!1),t.addEventListener("click",function(s){for(var l=s.target;l&&l!=this;l=l.parentNode)if(l.matches(".carousel__controls a")){s.preventDefault(),Array.from(t.querySelectorAll(".carousel__controls a")).forEach((c,d)=>{c.classList.remove("active")}),l.classList.add("active");const n=document.querySelector(l.getAttribute("href"));e.scroll({top:0,left:n.offsetLeft,behavior:"smooth"});break}},!1),t.addEventListener("click",function(s){for(var l=s.target;l&&l!=this;l=l.parentNode)if(l.matches(".btn-next, .btn-prev")){s.preventDefault();let n=l.classList.contains("btn-prev")?e.scrollLeft-e.clientWidth:e.scrollLeft+e.clientWidth;e.scroll({top:0,left:n,behavior:"smooth"});break}},!1),o==1&&t.classList.add("hide-btns"),i>=o&&t.classList.add("hide-sm-btns"),r>=o&&t.classList.add("hide-md-btns")}function $(t){t.addEventListener("change",function(a){var e=parseInt(t.querySelector("[data-min] select,[data-min] input").value),o=parseInt(t.querySelector("[data-max] select,[data-max] input").value);Array.from(t.querySelectorAll("[data-min] input")).forEach((i,r)=>{i.setAttribute("max",o)}),Array.from(t.querySelectorAll("[data-max] input")).forEach((i,r)=>{i.setAttribute("min",e)}),Array.from(t.querySelectorAll("[data-min] select option")).forEach((i,r)=>{parseInt(i.getAttribute("value"))>o?i.classList.add("d-none"):i.classList.remove("d-none")}),Array.from(t.querySelectorAll("[data-max] select option")).forEach((i,r)=>{parseInt(i.getAttribute("value"))<e?i.classList.add("d-none"):i.classList.remove("d-none")})},!1)}function C(t){t.addEventListener("change",function(a){if(t.matches("[data-value-if]")){const e=t.getAttribute("data-redirect"),o=t.getAttribute("data-value-if");t.value==o&&(document.location.href=e)}else typeof t.value<"u"&&(document.location.href=t.value)},!1)}function H(t){const e=t.querySelector(".row").cloneNode(!0),o=t.querySelector("[data-add]");t.addEventListener("click",function(i){for(var r=i.target;r&&r!=this;r=r.parentNode){if(r.matches("[data-add]")){const s=e.cloneNode(!0);t.insertBefore(s,r),o.matches("[data-maxfiles]")&&Array.from(t.querySelectorAll(":scope > .row")).length>=o.dataset.maxfiles&&o.setAttribute("disabled","disabled");break}if(r.matches("[data-delete]")){r.closest(".row").remove(),o.matches("[data-maxfiles]")&&Array.from(t.querySelectorAll(":scope > .row")).length<o.dataset.maxfiles&&o.removeAttribute("disabled");break}}},!1)}function I(t){Array.from(t.querySelectorAll("[data-input-range]")).forEach((a,e)=>{$(a)}),Array.from(t.querySelectorAll("[data-redirect]")).forEach((a,e)=>{C(a)}),Array.from(t.querySelectorAll(".multiple-file-uploads")).forEach((a,e)=>{H(a)}),t.addEventListener("change",function(a){for(var e=a.target;e&&e!=this;e=e.parentNode)if(e.matches('[type="file"][data-filesize]')&&e.files&&e.files[0]){const o=e.dataset.filesize;e.files[0].size>o&&(e.value="",alert("File too large"));break}},!1),t.addEventListener("change",function(a){Array.from(t.querySelectorAll("select[data-activeif][data-equals],input[data-activeif][data-equals]")).forEach((e,o)=>{let i=e.closest("[data-group]")?e.closest("[data-group]"):t,r=e.dataset.activeif,s=e.dataset.equals;i.querySelector(`select[data-id="${r}"],input[data-id="${r}"]`).value==s?e.removeAttribute("disabled"):(e.setAttribute("disabled","disabled"),e.value="")}),Array.from(t.querySelectorAll(".form-control__wrapper[data-displayif][data-equals]")).forEach((e,o)=>{let i=e.closest("[data-group]")?e.closest("[data-group]"):t,r=e.dataset.activeif,s=e.dataset.equals;i.querySelector(`select[data-id="${r}"],input[data-id="${r}"]`).value==s?e.classList.remove("d-none"):e.classList.add("d-none")})},!1)}function D(t){if(t.hasAttribute("data-type")&&t.getAttribute("data-type")=="toast"){let e=document.querySelector(".notification__holder");e||(e=document.createElement("div"),e.classList.add("notification__holder"),e.classList.add("container"),document.querySelector("body").appendChild(e)),t.closest(".notification__holder")||e.appendChild(t)}if(t.setAttribute("role","alert"),t.addEventListener("click",function(e){event&&event.target instanceof HTMLElement&&event.target.closest("[data-dismiss-button]")&&(e.preventDefault(),y(t))},!1),t.hasAttribute("data-timeout")){let e=t.getAttribute("data-timeout");var a=new B(function(){y(t)},e);t.addEventListener("mouseenter",o=>{a.pause()}),t.addEventListener("mouseleave",o=>{a.resume()})}}function B(t,a){var e,o,i=a;this.pause=function(){window.clearTimeout(e),i-=new Date-o},this.resume=function(){o=new Date,window.clearTimeout(e),e=window.setTimeout(t,i)},this.resume()}const y=function(t){t.classList.add("d-none")};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Notification"});class N extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const a=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"):`${a}/css/core.min.css`,o=`@import "${a}/css/components/notification.css";`,i=this.querySelectorAll("a,button");Array.from(i).forEach((s,l)=>{s.setAttribute("slot","btns"),s.classList.add("link")}),(i.length||this.hasAttribute("data-dismiss"))&&this.classList.add("notification--dismissable");const r=document.createElement("template");r.innerHTML=`
4
+ */(function(b){typeof define=="function"&&define.amd?define(b):b()})(function(){"use strict";const b=t=>(t.classList.add("js-enabled"),(navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0)&&t.classList.add("ie"),null),w=t=>{const a=function(e){const o=document.querySelector(`label[for="${e.replace("#","")}"]`),i=document.querySelector(e+" summary"),r=document.querySelector(`dialog${e}`);o instanceof HTMLElement?o.click():i instanceof HTMLElement?i.click():r instanceof HTMLElement&&r.showModal()};return location.hash&&a(location.hash),window.addEventListener("hashchange",function(){a(location.hash)},!1),addEventListener("popstate",e=>{if(e&&e.state.type&&e.state.type=="pagination"){let o=document.querySelector(`#${e.state.form}`),i=document.querySelector(`#${e.state.form} [data-pagination]`);i?i.value=e.state.page:o.innerHTML+=`<input name="page" type="hidden" data-pagination="true" value="${e.state.page}" />`,o.dispatchEvent(new Event("submit"))}}),document.addEventListener("submit",e=>{if(e&&e.target instanceof HTMLElement&&e.target.matches("form")){let o=e.target;o.querySelector(":invalid")&&(o.classList.add("was-validated"),e.preventDefault())}}),null};class v{constructor(a){document.body.classList.contains("youtubeLoaded")?a.addEventListener("click",function(e){for(var o=e.target;o&&o!=this;o=o.parentNode)if(o.matches("a")){e.preventDefault(),p(o);break}},!1):this.loadScripts(a,this.createEmbed)}loadScripts(a){return new Promise((e,o)=>{const i=new Image;i.onload=function(){var r=document.createElement("script");r.src="https://www.youtube.com/iframe_api";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(r,s),document.body.classList.add("youtubeLoaded"),e(!0),r.onload=()=>{a.addEventListener("click",function(l){console.log("click"),l&&l.target instanceof HTMLElement&&l.target.closest("a")&&(l.preventDefault(),p(l.target.closest("a")))},!1)}},i.onerror=function(){o(!1)},i.src="https://youtube.com/favicon.ico"})}}const p=function(t){typeof window.player<"u"&&typeof window.player.pauseVideo=="function"&&window.player.pauseVideo();var a=t.getAttribute("data-id"),e=t.getAttribute("id");if(typeof e>"u"||e==null){var o=String.fromCharCode(65+Math.floor(Math.random()*26));e=o+Date.now(),t.setAttribute("id",e)}function i(){window.player=new YT.Player(e,{height:"100%",width:"100%",videoId:a,playerVars:{modestbranding:1,playsinline:1,rel:0,showinfo:0},events:{onReady:r,onStateChange:l}})}i();function r(n){n.target.playVideo()}var s=!1;function l(n){if(n.data==YT.PlayerState.PLAYING&&!s){var c=document.getElementById(e);c.classList.add("player-ready"),s=!0}}},S=t=>(Array.from(t.querySelectorAll("dialog[open]")).forEach((a,e)=>{a.closest(".dialog__wrapper")||(a.removeAttribute("open"),a.showModal(),a.focus(),A(a))}),t.addEventListener("click",a=>{if(a.target.tagName=="IAM-ACTIONBAR")return!1;if(a&&a.target instanceof HTMLElement&&a.target.closest("[data-modal]")){const i=a.target.closest("[data-modal]"),r=i.hasAttribute("data-modal")?i.getAttribute("data-modal"):i.getAttribute("data-filter"),s=document.querySelector(`dialog#${r}`);A(s),s.showModal(),s.focus();let l=s.offsetWidth;s.setAttribute("style",`max-width: ${l}px;`),Array.from(s.querySelectorAll("[data-duplicate]")).forEach((n,c)=>{const d=n.getAttribute("data-duplicate"),u=document.getElementById(d);if(n.checked!=u.checked){n.checked=u.checked;let f=new Event("change");n.dispatchEvent(f)}}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openModal",id:r})}if(a&&a.target instanceof HTMLElement&&a.target.closest("button.dialog__close")){const i=a.target.closest("dialog[open]");a.preventDefault(),i.close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach((r,s)=>{r.classList.remove("active")}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:i.getAttribute("id")})}if(a&&a.target instanceof HTMLElement&&a.target.closest('button[formmethod="dialog"]')){const i=a.target.closest("dialog[open]");Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach((r,s)=>{r.classList.remove("active")}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:i.getAttribute("id")})}if(a&&a.target instanceof HTMLElement&&a.target.closest("dialog[open]")){let i=a.target.closest("dialog[open]");var e=window.getComputedStyle(i);if(e.display==="contents"&&(i=i.parentNode.closest("dialog[open]")),!i.querySelector(":scope > .mh-lg > form:last-child > button:last-child, :scope > .mh-lg > button:last-child")||i.classList.contains("dialog--multi")){const r=i.getBoundingClientRect();(a.clientX<r.left||a.clientX>r.right||a.clientY<r.top||a.clientY>r.bottom)&&(a.target.closest('input[type="radio"]')||i.close(),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:i.getAttribute("id")}))}}if(a&&a.target instanceof HTMLElement&&a.target.closest(".dialog__wrapper > button")){a.stopPropagation();let i=a.target.closest(".dialog__wrapper > button"),r=a.target.closest(".dialog__wrapper > button").parentNode,s="openPopover",l=r.querySelector(":scope > dialog");if(document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]")!=l&&document.querySelector("*:not([data-keep-open]) > dialog[open]").close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach((u,f)=>{u.classList.remove("active")}),l.hasAttribute("open"))l.close(),s="closePopover",l.removeAttribute("style"),i.classList.remove("active");else{l.show(),i.classList.add("active");var o=i.getBoundingClientRect();let u=o.top,f=o.left;if(i.closest("iam-table")){let m=i.closest("iam-table").parentNode.getBoundingClientRect();u-=m.top,f-=m.left}l.classList.contains("dialog--fix")&&l.setAttribute("style",`position:fixed;top: ${u}px; left: ${f}px; margin: 3rem 0 0 0;`)}let n=l.getBoundingClientRect(),c=n.bottom-window.scrollY,d=window.innerHeight-window.scrollY;if(c>d){let u=l.hasAttribute("style")?l.getAttribute("style")+" ":"";l.setAttribute("style",u+"transform: translate(0, calc(-100% - 4rem))"),n=l.getBoundingClientRect(),n.top-window.scrollY<100&&l.removeAttribute("style")}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:s,id:i.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((i,r)=>{i.classList.remove("active")}))}),null),A=t=>{t.querySelector(":scope > .mh-lg > form:last-child > button:last-child, :scope > .mh-lg > button:last-child")&&!t.classList.contains("dialog--multi")&&t.addEventListener("cancel",e=>{e.preventDefault()});let a=t.querySelector(".youtube-embed a");if(a&&p(a),t.classList.contains("dialog--multi")&&!t.querySelector(":scope > .steps")&&q(t),!t.querySelector(":scope > .mh-lg")&&!t.classList.contains("dialog--multi")){t.innerHTML=`<div class="mh-lg">${t.innerHTML}</div>`;let e=t.querySelector(".mh-lg"),o=t.querySelector(".mh-lg :is(.h1,.h2,.h3,.h4,.h5,.h6)");if(o){let i=o.previousSibling;e.before(o),i&&o.before(i)}}t.querySelector(":scope > button:first-child")||t.insertAdjacentHTML("afterbegin",'<button class="dialog__close">Close</button>')},q=t=>{let a="",e=Array.from(t.querySelectorAll("fieldset[data-title]")),o=t.querySelector("form");e.forEach((s,l)=>{a+=`<button data-title="${s.getAttribute("data-title")}" type="button" class="${l==0?"active":""}" tabindex="-1">${s.getAttribute("data-title")}</button>`;const n=document.createElement("div");if(n.classList.add("btn--wrapper"),s.appendChild(n),l!=0&&(n.innerHTML+=`<button data-title="${e[l-1].getAttribute("data-title")}" class="btn btn-secondary mb-0" data-previous type="button">Previous</button>`),l!=e.length-1&&(n.innerHTML+=`<button data-title="${e[l+1].getAttribute("data-title")}" class="btn btn-primary mb-0" data-next type="button">Next</button>`),l==e.length-1)if(o&&o.querySelector(':scope > button[type="submit"]')){let c=o.querySelector(':scope > button[type="submit"]');c.classList.add("mb-0"),n.insertAdjacentElement("beforeend",c)}else n.innerHTML+=`<button data-title="${e[l].getAttribute("data-title")}" class="btn btn-primary mb-0" data-next type="submit">Submit</button>`}),t.insertAdjacentHTML("afterbegin",`<div class="steps bg-primary">${a}</div>`);let i=Array.from(t.querySelectorAll("fieldset.was-validated"));for(let s=0;s<i.length;s++){let l=i[s],n=l.getAttribute("data-title");if(l.querySelector(".is-invalid")){Array.from(t.querySelectorAll(`[data-title="${n}"]`)).forEach((c,d)=>{c.classList.add("active")});break}else Array.from(t.querySelectorAll(`[data-title="${n}"]`)).forEach((c,d)=>{c.classList.add("valid")})}t.addEventListener("invalid",function(){return function(s){s.preventDefault()}}(),!0);function r(s){const l=t.querySelector("fieldset.active")?t.querySelector("fieldset.active"):t.querySelector("fieldset[data-title]"),n=l.getAttribute("data-title");let c=!0;if(l.classList.add("was-validated"),Array.from(l.querySelectorAll("input")).forEach((f,m)=>{f.checkValidity()||(c=!1)}),c?Array.from(t.querySelectorAll(`[data-title="${n}"]`)).forEach((f,m)=>{f.classList.add("valid")}):Array.from(t.querySelectorAll(`[data-title="${n}"]`)).forEach((f,m)=>{f.classList.remove("valid")}),c||!s.hasAttribute("data-next")){const f=t.querySelector(`fieldset[data-title="${s.getAttribute("data-title")}"]`),m=t.querySelector(`.steps button[data-title="${s.getAttribute("data-title")}"]`);Array.from(t.querySelectorAll("button")).forEach((g,O)=>{g.classList.remove("active")}),Array.from(t.querySelectorAll("fieldset")).forEach((g,O)=>{g.classList.remove("active")}),m.classList.add("active"),f.classList.add("active")}let d=Array.from(t.querySelectorAll("fieldset")).length,u=Array.from(t.querySelectorAll("fieldset.valid")).length;t.style.setProperty("--progress",`${u/(d-1)*100}%`)}t.addEventListener("keydown",s=>{if(s&&s.target instanceof HTMLElement&&s.target.closest("button")){const l=s.target.closest("button");s.keyCode==13&&l.getAttribute("type")!="submit"&&(s.preventDefault(),r(l))}s&&s.target instanceof HTMLElement&&s.target.closest("input")&&(s.target.closest("input").classList.remove("is-invalid"),s.keyCode==13&&s.preventDefault())}),t.addEventListener("click",s=>{if(s&&s.target instanceof HTMLElement&&s.target.closest('button[type="submit"]'))s.target.closest("form").classList.add("was-validated");else if(s&&s.target instanceof HTMLElement&&s.target.closest("button[data-title]")){const l=s.target.closest("button[data-title]");r(l)}return null})};function E(){window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Pageview",pageTitle:document.title}),document.addEventListener("click",t=>{const a=t.target.closest("[open] summary");if(a)window.dataLayer.push({event:"closeDetails",detailsTitle:a.textContent||""});else{const e=t.target.closest("summary"),o=t.target.closest("a"),i=t.target.closest("button");e&&window.dataLayer.push({event:"openDetails",detailsTitle:e.textContent||""}),o&&window.dataLayer.push({event:"linkClicked",linkText:o.hasAttribute("title")?o.getAttribute("title")||"":o.textContent||"",class:o.hasAttribute("class")&&o.getAttribute("class")||"",href:o.getAttribute("href")||""}),i&&window.dataLayer.push({event:"buttonClicked",buttonText:i.textContent||"",class:i.hasAttribute("class")&&i.getAttribute("class")||""})}})}const x=t=>{document.addEventListener("load",function(){Array.from(document.querySelectorAll("input")).forEach((a,e)=>{a.parentElement,T(a)})}),t.addEventListener("input",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("input,textarea,select")){const e=a.target.closest("input,textarea,select");e.parentElement,e.hasAttribute("type")&&e.getAttribute("type")=="color"&&(e.nextElementSibling.value=e.value),e.hasAttribute("maxlength")&&e.nextElementSibling&&e.nextElementSibling.setAttribute("data-count",e.value.length)}}),t.addEventListener("change",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("select")){const e=a.target.closest("select");if(e.hasAttribute("data-change-type")&&e.hasAttribute("data-input")){const o=document.getElementById(e.getAttribute("data-input")),i=e.value;L(o,i)}}if(a&&a.target instanceof HTMLElement&&a.target.closest('dialog [type="radio"]')){const e=a.target.closest("dialog");a.target.closest('dialog [type="radio"]'),Array.from(e.querySelectorAll('[type="radio"][autofocus]')).forEach((o,i)=>{o.removeAttribute("autofocus")}),Array.from(e.querySelectorAll('[type="radio"]:checked')).forEach((o,i)=>{o.setAttribute("autofocus",!0)})}}),t.addEventListener("click",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("[data-change-type][data-input]:not(select)")){const e=a.target.closest("[data-change-type]"),o=document.getElementById(e.getAttribute("data-input")),i=e.getAttribute("data-change-type");if(e.setAttribute("data-change-type",o.getAttribute("type")),L(o,i),e.hasAttribute("data-alt-class")){const r=e.getAttribute("data-alt-class");e.setAttribute("data-alt-class",e.getAttribute("class")),e.setAttribute("class",r)}}})},T=t=>{let a=t.parentElement,e=t.getAttribute("maxlength");a.style.setProperty("--maxlength",e);let o=t.nextElementSibling;(!o||o&&o.classList.contains("invalid-feedback"))&&(o=document.createElement("span"),a.insertBefore(o,t.nextSibling)),o.setAttribute("data-count",t.value.length)},L=(t,a)=>{t.setAttribute("type",a)},_=t=>{Array.from(t.querySelectorAll("details")).forEach((a,e)=>{a.addEventListener("mouseenter",function(o){window.matchMedia("(min-width: 62em)").matches&&a.setAttribute("open","true")},!1),a.addEventListener("mouseleave",function(o){window.matchMedia("(min-width: 62em)").matches&&a.removeAttribute("open")},!1)}),"IntersectionObserver"in window&&new IntersectionObserver(([e])=>e.target.classList.toggle("is-stuck",e.intersectionRatio<1),{threshold:[1]}).observe(t)};function M(t){var a;const e=t.querySelector(".testimonial__images"),o=e.querySelectorAll("img").length;if(o==1)return!1;t.classList.add("testimonial--multi");const i=function(r){const s=t.querySelector(".btn-next"),l=t.querySelector(".btn-prev");s.setAttribute("data-go",r+1),l.setAttribute("data-go",r-1),s.removeAttribute("disabled"),l.removeAttribute("disabled"),r==1?l.setAttribute("disabled",!0):r==o&&s.setAttribute("disabled",!0)};e.addEventListener("scroll",function(r){clearTimeout(a),a=setTimeout(function(){let s=e.scrollWidth,l=e.scrollHeight,n=e.scrollLeft,c=e.scrollTop,d=Math.round(n/s*o)+1;n==0&&c!=0&&(d=Math.round(c/l*o)+1),t.setAttribute("data-show",d),i(d)},300)},!1),t.addEventListener("click",function(r){for(var s=r.target;s&&s!=this;s=s.parentNode)if(s.matches("[data-go]")){let l=parseInt(s.getAttribute("data-go")),n=0,c=0,d=e.scrollWidth,u=e.scrollHeight;d>u?c=Math.floor(d*((l-1)/o)):n=Math.floor(u*((l-1)/o)),e.scroll({top:n,left:c,behavior:"smooth"});break}},!1)}function k(t){var a;let e=t.querySelector(".carousel__inner"),o=t.querySelectorAll(".carousel__item").length;t.getAttribute("data-cols");let i=t.getAttribute("data-sm-cols"),r=t.getAttribute("data-md-cols");t.querySelector(".carousel__controls a").classList.add("active"),e.addEventListener("scroll",function(s){clearTimeout(a),a=setTimeout(function(){let l=e.clientWidth,n=e.scrollWidth,c=e.scrollLeft,d=Math.round(c/n*o)+1,u=t.querySelector(".carousel__item:last-child").offsetLeft;Array.from(t.querySelectorAll(".carousel__controls a")).forEach((f,m)=>{f.classList.remove("active")}),t.querySelector(".control-"+d).classList.add("active"),d==1?t.querySelector(".btn-prev").setAttribute("disabled","disabled"):t.querySelector(".btn-prev").removeAttribute("disabled"),e.scrollLeft+l>u?t.querySelector(".btn-next").setAttribute("disabled","disabled"):t.querySelector(".btn-next").removeAttribute("disabled")},100)},!1),t.addEventListener("click",function(s){for(var l=s.target;l&&l!=this;l=l.parentNode)if(l.matches(".carousel__controls a")){s.preventDefault(),Array.from(t.querySelectorAll(".carousel__controls a")).forEach((c,d)=>{c.classList.remove("active")}),l.classList.add("active");const n=document.querySelector(l.getAttribute("href"));e.scroll({top:0,left:n.offsetLeft,behavior:"smooth"});break}},!1),t.addEventListener("click",function(s){for(var l=s.target;l&&l!=this;l=l.parentNode)if(l.matches(".btn-next, .btn-prev")){s.preventDefault();let n=l.classList.contains("btn-prev")?e.scrollLeft-e.clientWidth:e.scrollLeft+e.clientWidth;e.scroll({top:0,left:n,behavior:"smooth"});break}},!1),o==1&&t.classList.add("hide-btns"),i>=o&&t.classList.add("hide-sm-btns"),r>=o&&t.classList.add("hide-md-btns")}function $(t){t.addEventListener("change",function(a){var e=parseInt(t.querySelector("[data-min] select,[data-min] input").value),o=parseInt(t.querySelector("[data-max] select,[data-max] input").value);Array.from(t.querySelectorAll("[data-min] input")).forEach((i,r)=>{i.setAttribute("max",o)}),Array.from(t.querySelectorAll("[data-max] input")).forEach((i,r)=>{i.setAttribute("min",e)}),Array.from(t.querySelectorAll("[data-min] select option")).forEach((i,r)=>{parseInt(i.getAttribute("value"))>o?i.classList.add("d-none"):i.classList.remove("d-none")}),Array.from(t.querySelectorAll("[data-max] select option")).forEach((i,r)=>{parseInt(i.getAttribute("value"))<e?i.classList.add("d-none"):i.classList.remove("d-none")})},!1)}function C(t){t.addEventListener("change",function(a){if(t.matches("[data-value-if]")){const e=t.getAttribute("data-redirect"),o=t.getAttribute("data-value-if");t.value==o&&(document.location.href=e)}else typeof t.value<"u"&&(document.location.href=t.value)},!1)}function H(t){const e=t.querySelector(".row").cloneNode(!0),o=t.querySelector("[data-add]");t.addEventListener("click",function(i){for(var r=i.target;r&&r!=this;r=r.parentNode){if(r.matches("[data-add]")){const s=e.cloneNode(!0);t.insertBefore(s,r),o.matches("[data-maxfiles]")&&Array.from(t.querySelectorAll(":scope > .row")).length>=o.dataset.maxfiles&&o.setAttribute("disabled","disabled");break}if(r.matches("[data-delete]")){r.closest(".row").remove(),o.matches("[data-maxfiles]")&&Array.from(t.querySelectorAll(":scope > .row")).length<o.dataset.maxfiles&&o.removeAttribute("disabled");break}}},!1)}function I(t){Array.from(t.querySelectorAll("[data-input-range]")).forEach((a,e)=>{$(a)}),Array.from(t.querySelectorAll("[data-redirect]")).forEach((a,e)=>{C(a)}),Array.from(t.querySelectorAll(".multiple-file-uploads")).forEach((a,e)=>{H(a)}),t.addEventListener("change",function(a){for(var e=a.target;e&&e!=this;e=e.parentNode)if(e.matches('[type="file"][data-filesize]')&&e.files&&e.files[0]){const o=e.dataset.filesize;e.files[0].size>o&&(e.value="",alert("File too large"));break}},!1),t.addEventListener("change",function(a){Array.from(t.querySelectorAll("select[data-activeif][data-equals],input[data-activeif][data-equals]")).forEach((e,o)=>{let i=e.closest("[data-group]")?e.closest("[data-group]"):t,r=e.dataset.activeif,s=e.dataset.equals;i.querySelector(`select[data-id="${r}"],input[data-id="${r}"]`).value==s?e.removeAttribute("disabled"):(e.setAttribute("disabled","disabled"),e.value="")}),Array.from(t.querySelectorAll(".form-control__wrapper[data-displayif][data-equals]")).forEach((e,o)=>{let i=e.closest("[data-group]")?e.closest("[data-group]"):t,r=e.dataset.activeif,s=e.dataset.equals;i.querySelector(`select[data-id="${r}"],input[data-id="${r}"]`).value==s?e.classList.remove("d-none"):e.classList.add("d-none")})},!1)}function D(t){if(t.hasAttribute("data-type")&&t.getAttribute("data-type")=="toast"){let e=document.querySelector(".notification__holder");e||(e=document.createElement("div"),e.classList.add("notification__holder"),e.classList.add("container"),document.querySelector("body").appendChild(e)),t.closest(".notification__holder")||e.appendChild(t)}if(t.setAttribute("role","alert"),t.addEventListener("click",function(e){event&&event.target instanceof HTMLElement&&event.target.closest("[data-dismiss-button]")&&(e.preventDefault(),y(t))},!1),t.hasAttribute("data-timeout")){let e=t.getAttribute("data-timeout");var a=new B(function(){y(t)},e);t.addEventListener("mouseenter",o=>{a.pause()}),t.addEventListener("mouseleave",o=>{a.resume()})}}function B(t,a){var e,o,i=a;this.pause=function(){window.clearTimeout(e),i-=new Date-o},this.resume=function(){o=new Date,window.clearTimeout(e),e=window.setTimeout(t,i)},this.resume()}const y=function(t){t.classList.add("d-none")};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Notification"});class N extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const a=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"):`${a}/css/core.min.css`,o=`@import "${a}/css/components/notification.css";`,i=this.querySelectorAll("a,button");Array.from(i).forEach((s,l)=>{s.setAttribute("slot","btns"),s.classList.add("link")}),(i.length||this.hasAttribute("data-dismiss"))&&this.classList.add("notification--dismissable");const r=document.createElement("template");r.innerHTML=`
5
5
  <style>
6
6
  @import "${e}";
7
7
  ${o}