@iamproperty/components 7.8.0 → 7.8.2--beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/css/components/card.component.css +1 -1
- package/assets/css/components/card.component.css.map +1 -1
- package/assets/css/components/card.module.css +1 -1
- package/assets/css/components/card.module.css.map +1 -1
- package/assets/css/components/filter-card.component.css +1 -1
- package/assets/css/components/filter-card.component.css.map +1 -1
- package/assets/css/components/record-card.component.css +1 -1
- package/assets/css/components/record-card.component.css.map +1 -1
- package/assets/css/components/video-card.component.css +1 -1
- package/assets/css/components/video-card.component.css.map +1 -1
- package/assets/css/core.min.css +1 -1
- package/assets/css/core.min.css.map +1 -1
- package/assets/css/elements/lists--tick-list.css +1 -1
- package/assets/css/elements/lists--tick-list.css.map +1 -1
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/js/components/accordion/accordion.component.min.js +1 -1
- package/assets/js/components/actionbar/actionbar.component.min.js +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
- package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
- package/assets/js/components/banner/banner.component.min.js +1 -1
- package/assets/js/components/barchart/barchart.component.min.js +1 -1
- package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
- package/assets/js/components/bone/bone.component.min.js +1 -1
- package/assets/js/components/button/button.component.min.js +1 -1
- package/assets/js/components/calendar/calendar.component.min.js +1 -1
- package/assets/js/components/card/card.component.min.js +2 -2
- package/assets/js/components/carousel/carousel.component.min.js +1 -1
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
- package/assets/js/components/config/config.component.min.js +1 -1
- package/assets/js/components/content/content.component.min.js +1 -1
- package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
- package/assets/js/components/doughnutchart/doughnutchart.component.min.js +1 -1
- package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
- package/assets/js/components/filter-card/filter-card.component.min.js +2 -2
- package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
- package/assets/js/components/form/form.component.min.js +1 -1
- package/assets/js/components/header/header.component.min.js +1 -1
- package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
- package/assets/js/components/input/input.component.min.js +1 -1
- package/assets/js/components/input-range/input-range.component.min.js +1 -1
- package/assets/js/components/marketing/marketing.component.min.js +1 -1
- package/assets/js/components/menu/menu.component.min.js +1 -1
- package/assets/js/components/milestone/milestone.component.min.js +1 -1
- package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
- package/assets/js/components/modal/modal.component.min.js +1 -1
- package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
- package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +1 -1
- package/assets/js/components/multiselect/multiselect.component.js +3 -4
- package/assets/js/components/multiselect/multiselect.component.min.js +3 -3
- package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
- package/assets/js/components/nav/nav.component.min.js +1 -1
- package/assets/js/components/notification/notification.component.min.js +1 -1
- package/assets/js/components/pagination/pagination.component.min.js +1 -1
- package/assets/js/components/password/password.component.min.js +1 -1
- package/assets/js/components/popover/popover.component.min.js +1 -1
- package/assets/js/components/rank/rank.component.min.js +1 -1
- package/assets/js/components/rankings/rankings.component.min.js +1 -1
- package/assets/js/components/rating/rating.component.min.js +1 -1
- package/assets/js/components/record-card/record-card.component.min.js +4 -4
- package/assets/js/components/search/search.component.js +2 -2
- package/assets/js/components/search/search.component.min.js +2 -2
- package/assets/js/components/search/search.component.min.js.map +1 -1
- package/assets/js/components/skeleton/skeleton.component.min.js +1 -1
- package/assets/js/components/slider/slider.component.min.js +1 -1
- package/assets/js/components/split-button/split-button.component.min.js +1 -1
- package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +1 -1
- package/assets/js/components/std-nav/std-nav.component.min.js +1 -1
- package/assets/js/components/std-nav-standalone/std-nav-standalone.component.min.js +1 -1
- package/assets/js/components/table/table.component.min.js +1 -1
- package/assets/js/components/table-ajax/table-ajax.component.min.js +1 -1
- package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
- package/assets/js/components/table-submit/table-submit.component.min.js +1 -1
- package/assets/js/components/tabs/tabs.component.min.js +1 -1
- package/assets/js/components/tag/tag.component.min.js +1 -1
- package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
- package/assets/js/components/video/video.component.min.js +1 -1
- package/assets/js/components/video-card/video-card.component.min.js +2 -2
- package/assets/js/components/video-modal/video-modal.component.min.js +1 -1
- package/assets/js/components/word-count/word-count.component.min.js +1 -1
- package/assets/js/scripts.bundle.js +1 -1
- package/assets/js/scripts.bundle.min.js +1 -1
- package/assets/sass/components/card.module.scss +2 -0
- package/assets/sass/elements/lists--tick-list.scss +8 -10
- package/assets/ts/components/multiselect/multiselect.component.ts +5 -4
- package/assets/ts/components/search/search.component.ts +2 -2
- package/dist/components.es.js +24 -24
- package/dist/components.umd.js +34 -34
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.component.min.js","sources":["../../../../node_modules/js-cookie/dist/js.cookie.mjs","../../modules/helpers.js","../../modules/advanced-select.js","search.component.js"],"sourcesContent":["/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","/**\n * Global helper functions to help maintain and enhance framework elements.\n * @module Helpers\n */\n/**\n * Add global classes used by the CSS and later JavaScript.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addBodyClasses = (body) => {\n body.classList.add('js-enabled');\n if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {\n body.classList.add('ie');\n }\n};\n/**\n * Add global events.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addGlobalEvents = (body) => {\n const checkElements = function (hash) {\n const label = document.querySelector(`label[for=\"${hash.replace('#', '')}\"]`);\n const summary = document.querySelector(hash + ' summary');\n const dialog = document.querySelector(`dialog${hash}`);\n const detail = document.querySelector(`detail${hash}`);\n if (label instanceof HTMLElement)\n label.click();\n else if (summary instanceof HTMLElement)\n summary.click();\n else if (dialog instanceof HTMLElement)\n dialog.showModal();\n else if (detail instanceof HTMLElement)\n detail.addAttribute('open');\n };\n if (location.hash)\n checkElements(location.hash);\n window.addEventListener('hashchange', function () {\n checkElements(location.hash);\n }, false);\n addEventListener('popstate', (event) => {\n if (event && event.state && event.state.type && event.state.type == 'pagination') {\n const form = document.querySelector(`#${event.state.form}`);\n const pageInput = document.querySelector(`#${event.state.form} [data-pagination]`);\n if (pageInput)\n pageInput.value = event.state.page;\n else\n form.innerHTML += `<input name=\"page\" type=\"hidden\" data-pagination=\"true\" value=\"${event.state.page}\" />`;\n form.dispatchEvent(new Event('submit'));\n }\n });\n Array.from(document.querySelectorAll('form')).forEach((form) => {\n if (!(form === null || form === void 0 ? void 0 : form.closest('iam-form'))) {\n form.addEventListener('submit', (event) => {\n var _a;\n if (form.querySelector(':invalid')) {\n form.classList.add('was-validated');\n (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n event.preventDefault();\n }\n });\n }\n });\n document.addEventListener('click', (event) => {\n var _a;\n if (event && event.target instanceof HTMLElement && event.target.matches('form button:not([type=button])')) {\n const form = event.target.closest('form');\n if (!(form === null || form === void 0 ? void 0 : form.closest('iam-form'))) {\n // Reset password types\n Array.from(form.querySelectorAll('[data-password-type]')).forEach((input) => {\n input.setAttribute('type', 'password');\n });\n if (form.querySelector(':invalid') ||\n form.querySelector('.pwd-checker[data-strength=\"1\"]') ||\n form.querySelector('.pwd-checker[data-strength=\"2\"]')) {\n form.classList.add('was-validated');\n (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n event.preventDefault();\n }\n if (form.querySelector('iam-multiselect[data-is-required][data-error]')) {\n form.classList.add('was-validated');\n event.preventDefault();\n }\n }\n }\n });\n document.addEventListener('keydown', (e) => {\n if (e.key === 'Escape') {\n if (document.querySelector('.dialog--transactional[open], .dialog--acknowledgement[open]')) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n });\n Array.from(document.querySelectorAll('label progress')).forEach((progress) => {\n const label = progress.closest('label');\n label.setAttribute('data-percent', progress.getAttribute('value'));\n });\n};\nexport const isNumeric = function (str) {\n if (typeof str != 'string')\n return false; // we only process strings!\n return (!isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\n !isNaN(parseFloat(str))); // ...and ensure strings of whitespace fail\n};\nexport const zeroPad = (num, places) => String(num).padStart(places, '0');\nexport const ucfirst = (str) => str.charAt(0).toUpperCase() + str.slice(1);\nexport const ucwords = (str) => str\n .split(' ')\n .map((s) => ucfirst(s))\n .join(' ');\nexport const unsnake = (str) => str.replace(/_/g, ' ');\nexport const snake = (str) => str.replace(/ /g, '_');\nexport const safeID = function (str) {\n str = str.toLowerCase();\n str = snake(str);\n str = str.replace(/\\W/g, '');\n return str;\n};\nexport const numberOfDays = function (startDateString, endDateString) {\n const convertStart = startDateString.split('/');\n const convertEnd = endDateString.split('/');\n const dateStart = new Date(convertStart[1] + '/' + convertStart[0] + '/' + convertStart[2]);\n const dateEnd = new Date(convertEnd[1] + '/' + convertEnd[0] + '/' + convertEnd[2]);\n if (dateStart == 'Invalid Date')\n throw 'Start date is not a valid date';\n if (dateEnd == 'Invalid Date')\n throw 'End date is not a valid date';\n // To calculate the time difference of two dates\n const diffTime = dateEnd.getTime() - dateStart.getTime();\n const numberOfDays = diffTime / (1000 * 3600 * 24) + 1;\n if (numberOfDays < 0)\n throw 'The start date should be before the end date';\n return numberOfDays;\n};\n// Used to get values from nested json objects\nexport const resolvePath = (object, path, defaultValue) => path\n // eslint-disable-next-line no-useless-escape\n .split(/[\\.\\[\\]\\'\\\"]/)\n .filter((p) => p)\n .reduce((o, p) => (o ? o[p] : defaultValue), object);\nexport const isTraversable = (o) => Array.isArray(o) || (o !== null && ['function', 'object'].includes(typeof o));\nexport const getSwipeDirection = (touchstartX, touchstartY, touchendX, touchendY) => {\n const limit = Math.tan(((45 * 1.5) / 180) * Math.PI);\n const pageWidth = window.innerWidth || document.body.clientWidth;\n const treshold = Math.max(1, Math.floor(0.01 * pageWidth));\n const x = touchendX - touchstartX;\n const y = touchendY - touchstartY;\n const xy = Math.abs(x / y);\n const yx = Math.abs(y / x);\n if (Math.abs(x) > treshold || Math.abs(y) > treshold) {\n if (yx <= limit) {\n if (x < 0) {\n return 'left';\n }\n else {\n return 'right';\n }\n }\n if (xy <= limit) {\n if (y < 0) {\n return 'top';\n }\n else {\n return 'bottom';\n }\n }\n }\n else {\n return 'tap';\n }\n};\nexport const uniqueID = (index = 1) => {\n const ID = Math.floor(Math.random() * Date.now() * (index + 1));\n return ID;\n};\nexport const isValidPostcode = (searchValue) => {\n const regexp = /^([A-Z][A-HJ-Y]?[0-9][A-Z0-9]? ?[0-9][A-Z]{2}|GIR ?0A{2})$/gmi;\n return regexp.test(searchValue.trim());\n};\n","function advancedSelect(advancedSelect, displayInputField, datalist, isSearch = false) {\n var _a, _b, _c;\n let currentFocus = -1;\n const datalistWrapper = datalist.closest('.datalist__wrapper') ? datalist.closest('.datalist__wrapper') : datalist;\n datalistWrapper.setAttribute('slot', 'datalist');\n if (advancedSelect.querySelector('.suffix')) {\n (_a = advancedSelect.querySelector('.suffix')) === null || _a === void 0 ? void 0 : _a.setAttribute('slot', 'suffix');\n (_b = advancedSelect.shadowRoot.querySelector('.suffix')) === null || _b === void 0 ? void 0 : _b.innerHTML = '<slot name=\"suffix\"></slot>';\n (_c = advancedSelect.shadowRoot.querySelector('.suffix')) === null || _c === void 0 ? void 0 : _c.classList = \"\";\n }\n // Hide the default datalist\n displayInputField.setAttribute('data-list', displayInputField.getAttribute('list'));\n displayInputField.setAttribute('list', '');\n if (displayInputField.hasAttribute('placeholder'))\n displayInputField.setAttribute('data-placeholder', displayInputField.getAttribute('placeholder'));\n if (displayInputField.hasAttribute('placeholder'))\n displayInputField.setAttribute('data-original-placeholder', displayInputField.getAttribute('placeholder'));\n const checkIfEmpty = () => {\n if (displayInputField.value == \"\") {\n advancedSelect.classList.add('has-empty-input');\n displayInputField.classList.add('empty');\n }\n else {\n advancedSelect.classList.remove('has-empty-input');\n displayInputField.classList.remove('empty');\n }\n };\n checkIfEmpty();\n displayInputField.addEventListener('focus', function () {\n if (displayInputField.value != \"\") {\n displayInputField.setAttribute('placeholder', displayInputField.value);\n displayInputField.setAttribute('data-value', displayInputField.value);\n }\n displayInputField.value = '';\n });\n displayInputField.addEventListener('blur', function () {\n if (displayInputField.hasAttribute('data-value')) {\n displayInputField.value = displayInputField.getAttribute('data-value');\n }\n if (displayInputField.hasAttribute('data-placeholder'))\n displayInputField.setAttribute('placeholder', displayInputField.getAttribute('data-placeholder'));\n });\n for (const option of datalist.options) {\n if (option.innerHTML == '')\n option.innerHTML = option.value;\n }\n datalist.addEventListener('click', function (event) {\n var _a;\n if (event && event.target instanceof HTMLElement && event.target.closest('option')) {\n const option = event.target.closest('option');\n const optionText = ((_a = option.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || option.value;\n // Store actual value on the original input\n const originalInput = advancedSelect.querySelector('input[type=\"hidden\"]');\n if (originalInput) {\n originalInput.value = option.value;\n originalInput.setAttribute('value', option.value);\n }\n // Show label text in the visible field\n displayInputField.value = optionText;\n displayInputField.setAttribute('data-value', optionText);\n displayInputField.setAttribute('placeholder', optionText);\n if (typeof window.triggerDynamicEvent == 'function')\n window.triggerDynamicEvent(displayInputField);\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n }\n option.classList.add('active');\n checkIfEmpty();\n setTimeout(() => {\n advancedSelect.dispatchEvent(new CustomEvent('update-value', {\n detail: {\n value: option.value,\n text: optionText,\n },\n }));\n }, 0);\n }\n });\n displayInputField.addEventListener('input', function () {\n displayInputField.removeAttribute('data-value');\n currentFocus = -1;\n checkIfEmpty();\n if (advancedSelect.tagName != \"IAM-ADDRESS-LOOKUP\") {\n const text = displayInputField.value.toUpperCase();\n for (const option of datalist.options) {\n const optionText = (option.textContent || option.value).toUpperCase();\n if (optionText.indexOf(text) > -1) {\n option.style.display = 'block';\n option.classList.remove('hide');\n }\n else {\n option.style.display = 'none';\n option.classList.add('hide');\n }\n }\n }\n });\n advancedSelect.addEventListener('keydown', function (e) {\n if (e.keyCode == 40) {\n currentFocus++;\n addActive(datalist.options);\n }\n else if (e.keyCode == 38) {\n currentFocus--;\n addActive(datalist.options);\n }\n else if (e.keyCode == 13 && !e.target.closest('form')) {\n e.preventDefault();\n if (currentFocus > -1) {\n /*and simulate a click on the \"active\" item:*/\n if (datalist.options)\n datalist.options[currentFocus].click();\n }\n }\n });\n function addActive(x) {\n if (!x)\n return false;\n removeActive(x);\n if (currentFocus >= x.length)\n currentFocus = 0;\n if (currentFocus < 0)\n currentFocus = x.length - 1;\n x[currentFocus].classList.add('active');\n }\n function removeActive(x) {\n if (!x)\n return false;\n for (let i = 0; i < x.length; i++) {\n x[i].classList.remove('active');\n }\n }\n // Add the empty button\n if (displayInputField.closest('.input__wrapper')) {\n displayInputField.closest('.input__wrapper').insertAdjacentHTML('beforeend', '<button class=\"clear-search btn btn-action\" type=\"button\"><i class=\"fa-light fa-times me-0\"></i></button>');\n }\n else if (advancedSelect.shadowRoot.querySelector('.input__wrapper')) {\n console.log(advancedSelect.shadowRoot.querySelector('.input__wrapper'));\n advancedSelect.shadowRoot.querySelector('.input__wrapper').insertAdjacentHTML('beforeend', '<button class=\"clear-search btn btn-action\" type=\"button\"><i class=\"fa-light fa-times me-0\"></i></button>');\n }\n const emptyField = () => {\n const originalInput = advancedSelect.querySelector('input[type=\"hidden\"]');\n if (originalInput) {\n originalInput.value = '';\n originalInput.setAttribute('value', '');\n }\n displayInputField.removeAttribute('placeholder');\n if (displayInputField.hasAttribute('data-original-placeholder'))\n displayInputField.setAttribute('placeholder', displayInputField.getAttribute('data-original-placeholder'));\n displayInputField.removeAttribute('data-value');\n displayInputField.value = '';\n displayInputField.classList.add('empty');\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n optionInner.classList.remove('hide');\n optionInner.removeAttribute('style');\n }\n const updateEvent = new CustomEvent('close-button-pressed');\n advancedSelect.dispatchEvent(updateEvent);\n // Notify consumers the value was cleared\n advancedSelect.dispatchEvent(new CustomEvent('update-value', {\n detail: {\n value: '',\n text: '',\n },\n }));\n checkIfEmpty();\n };\n const closeBtn = advancedSelect.querySelector('.clear-search') ? advancedSelect.querySelector('.clear-search') : advancedSelect.shadowRoot.querySelector('.clear-search');\n closeBtn.addEventListener('click', function (e) {\n emptyField();\n });\n advancedSelect.addEventListener('empty', function (e) {\n emptyField();\n });\n}\nexport default advancedSelect;\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport Cookies from '../../../../node_modules/js-cookie/dist/js.cookie.mjs';\nimport { safeID, resolvePath, isTraversable } from '../../modules/helpers';\nimport advancedSelect from '../../modules/advanced-select';\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Search',\n});\nclass iamSearch extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/search.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${loadCSS}\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\" />\n <span class=\"wrapper\"><span class=\"input__wrapper\"><slot></slot></span><span class=\"suffix fa-regular fa-search\"></span></span>\n <slot name=\"datalist\"></slot>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n return __awaiter(this, void 0, void 0, function* () {\n // Make the datalist a dropdown\n this.classList.add('dropdown__wrapper');\n if (this.querySelector('input.input--sm'))\n this.classList.add('hasInputSm');\n if (this.querySelector('label'))\n this.classList.add('has-label');\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const searchWrapper = this;\n const inputField = this.querySelector('input');\n const valueSchema = this.hasAttribute('data-value-schema') ? this.getAttribute('data-value-schema') : 'value';\n const displaySchema = this.hasAttribute('data-display-schema') ? this.getAttribute('data-display-schema') : 'label';\n const loopSchema = this.hasAttribute('data-schema') ? this.getAttribute('data-schema') : '';\n let datalist = this.querySelector('datalist');\n let minLength = 0;\n if (searchWrapper.hasAttribute('data-url')) {\n minLength = 3;\n }\n // Clone original input field, re-name and use for display purposes\n const displayInputField = inputField.cloneNode();\n displayInputField.setAttribute('name', `${inputField.getAttribute('name')}Alt`);\n inputField.removeAttribute('data-change-events');\n displayInputField.removeAttribute('id');\n inputField.after(displayInputField);\n // Hide original input field\n inputField.setAttribute('type', 'hidden');\n // if data list does not exist then create one and append\n if (!datalist) {\n datalist = document.createElement('datalist');\n const listID = safeID('list');\n datalist.setAttribute('id', listID);\n searchWrapper.appendChild(datalist);\n displayInputField.setAttribute('list', listID);\n }\n displayInputField.addEventListener('change', function (e) {\n inputField.value = displayInputField.value;\n });\n advancedSelect(this, displayInputField, datalist, false);\n const checkMatch = () => {\n const match = datalist.querySelector(`option[value=\"${displayInputField.value}\" i]`);\n const subMatch = datalist.querySelector(`option[value*=\"${displayInputField.value}\" i]`);\n if (match) {\n inputField.value = match.getAttribute('data-actual-value');\n displayInputField.value = match.getAttribute('data-actual-value');\n displayInputField.classList.remove('is-invalid');\n displayInputField.closest('label').removeAttribute('data-error');\n }\n else if (displayInputField.value.length >= minLength && !subMatch) {\n displayInputField.classList.add('is-invalid');\n displayInputField.closest('label').setAttribute('data-error', 'No results returned');\n if (searchWrapper.hasAttribute('data-url'))\n datalist.innerHTML = '';\n }\n else {\n displayInputField.classList.remove('is-invalid');\n displayInputField.closest('label').removeAttribute('data-error');\n }\n };\n const search = (searchterm) => __awaiter(this, void 0, void 0, function* () {\n if (!this.getAttribute('data-url'))\n return false;\n let ajaxURL = this.getAttribute('data-url');\n ajaxURL += `${encodeURI(searchterm)}`;\n // Setup controller vars if not already set\n if (!window.controller)\n window.controller = [];\n // Abort if controller already present for this url\n if (window.controller[ajaxURL])\n window.controller[ajaxURL].abort();\n // Create a new controller so it can be aborted if new fetch made\n window.controller[ajaxURL] = new AbortController();\n const { signal } = controller[ajaxURL];\n try {\n yield fetch(ajaxURL, {\n signal: signal,\n method: 'get',\n credentials: 'same-origin',\n mode: 'no-cors',\n headers: new Headers({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),\n }),\n })\n .then((response) => response.json())\n .then((response) => {\n // populate datalist\n let listString = '';\n const loopValues = resolvePath(response, loopSchema, '');\n if (isTraversable(loopValues) && typeof loopValues.forEach == 'function') {\n loopValues.forEach((item) => {\n const actualValue = resolvePath(item, valueSchema, '');\n const displayValue = resolvePath(item, displaySchema, '').replace('\\n', ', ');\n if (!datalist.querySelector(`option[data-actual-value=\"${actualValue}\"]`))\n listString += `<option value=\"${displayValue}\" data-actual-value=\"${actualValue}\">${displayValue}</option>`;\n });\n }\n else if (typeof loopValues == 'object') {\n for (const [key, value] of Object.entries(loopValues)) {\n if (isTraversable(value) && typeof value.forEach == 'function') {\n value.forEach((item) => {\n const actualValue = resolvePath(item, valueSchema, '');\n const displayValue = resolvePath(item, displaySchema, '').replace('\\n', ', ');\n if (!datalist.querySelector(`option[data-actual-value=\"${actualValue}\"]`))\n listString += `<option value=\"${key}: ${displayValue}\" data-actual-value='${actualValue}'>${key}: ${displayValue}</option>`;\n });\n }\n }\n }\n datalist.innerHTML += listString;\n // filter the list on the client side just in case\n const text = searchterm.toUpperCase();\n for (const option of datalist.options) {\n if (option.value.toUpperCase().indexOf(text) > -1) {\n option.style.display = 'block';\n option.classList.remove('hide');\n }\n else {\n option.style.display = 'none';\n option.classList.add('hide');\n }\n }\n searchWrapper.classList.add('was-validated');\n checkMatch();\n return response;\n });\n }\n catch (error) {\n console.log(error);\n }\n });\n datalist.addEventListener('click', function (event) {\n if (event && event.target instanceof HTMLElement && event.target.closest('option')) {\n const option = event.target.closest('option');\n const value = (option === null || option === void 0 ? void 0 : option.hasAttribute('data-actual-value')) ? option === null || option === void 0 ? void 0 : option.getAttribute('data-actual-value') : option === null || option === void 0 ? void 0 : option.getAttribute('data-value');\n inputField.value = value;\n const changeEvent = new CustomEvent('value-change', {\n detail: { value: value },\n });\n searchWrapper.dispatchEvent(changeEvent);\n }\n });\n this.addEventListener('close-button-pressed', function (event) {\n if (searchWrapper.hasAttribute('data-url')) {\n datalist.innerHTML = '';\n }\n inputField === null || inputField === void 0 ? void 0 : inputField.value = '';\n searchWrapper.classList.remove('was-validated');\n displayInputField.classList.remove('is-invalid');\n displayInputField.closest('label').removeAttribute('data-error');\n });\n // Search the endpoint when 3 characters has been added\n if (searchWrapper.hasAttribute('data-url')) {\n displayInputField.addEventListener('input', () => {\n if (displayInputField.value.length < minLength) {\n datalist.innerHTML = '';\n }\n if (displayInputField.value.length == minLength) {\n search(displayInputField.value);\n }\n });\n }\n else {\n // on change update oringinal field with the actual value and use displayed input for the nice display text\n displayInputField.addEventListener('input', () => {\n checkMatch();\n });\n }\n if (searchWrapper.hasAttribute('data-prevent-submit')) {\n const form = searchWrapper.closest('form');\n form.addEventListener('submit', (e) => {\n e.preventDefault();\n });\n }\n });\n }\n}\nexport default iamSearch;\n"],"names":["assign","target","i","source","key","defaultConverter","value","init","converter","defaultAttributes","set","name","attributes","stringifiedAttributes","attributeName","get","cookies","jar","parts","found","api","snake","str","safeID","resolvePath","object","path","defaultValue","o","p","isTraversable","advancedSelect","displayInputField","datalist","isSearch","_a","_b","_c","currentFocus","checkIfEmpty","option","event","optionText","originalInput","optionInner","text","e","addActive","x","removeActive","emptyField","updateEvent","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","reject","fulfilled","step","rejected","result","iamSearch","template","searchWrapper","inputField","valueSchema","displaySchema","loopSchema","minLength","listID","checkMatch","match","subMatch","search","searchterm","ajaxURL","signal","Cookies","response","listString","loopValues","item","actualValue","displayValue","error","changeEvent"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"search.component.min.js","sources":["../../../../node_modules/js-cookie/dist/js.cookie.mjs","../../modules/helpers.js","../../modules/advanced-select.js","search.component.js"],"sourcesContent":["/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","/**\n * Global helper functions to help maintain and enhance framework elements.\n * @module Helpers\n */\n/**\n * Add global classes used by the CSS and later JavaScript.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addBodyClasses = (body) => {\n body.classList.add('js-enabled');\n if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {\n body.classList.add('ie');\n }\n};\n/**\n * Add global events.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addGlobalEvents = (body) => {\n const checkElements = function (hash) {\n const label = document.querySelector(`label[for=\"${hash.replace('#', '')}\"]`);\n const summary = document.querySelector(hash + ' summary');\n const dialog = document.querySelector(`dialog${hash}`);\n const detail = document.querySelector(`detail${hash}`);\n if (label instanceof HTMLElement)\n label.click();\n else if (summary instanceof HTMLElement)\n summary.click();\n else if (dialog instanceof HTMLElement)\n dialog.showModal();\n else if (detail instanceof HTMLElement)\n detail.addAttribute('open');\n };\n if (location.hash)\n checkElements(location.hash);\n window.addEventListener('hashchange', function () {\n checkElements(location.hash);\n }, false);\n addEventListener('popstate', (event) => {\n if (event && event.state && event.state.type && event.state.type == 'pagination') {\n const form = document.querySelector(`#${event.state.form}`);\n const pageInput = document.querySelector(`#${event.state.form} [data-pagination]`);\n if (pageInput)\n pageInput.value = event.state.page;\n else\n form.innerHTML += `<input name=\"page\" type=\"hidden\" data-pagination=\"true\" value=\"${event.state.page}\" />`;\n form.dispatchEvent(new Event('submit'));\n }\n });\n Array.from(document.querySelectorAll('form')).forEach((form) => {\n if (!(form === null || form === void 0 ? void 0 : form.closest('iam-form'))) {\n form.addEventListener('submit', (event) => {\n var _a;\n if (form.querySelector(':invalid')) {\n form.classList.add('was-validated');\n (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n event.preventDefault();\n }\n });\n }\n });\n document.addEventListener('click', (event) => {\n var _a;\n if (event && event.target instanceof HTMLElement && event.target.matches('form button:not([type=button])')) {\n const form = event.target.closest('form');\n if (!(form === null || form === void 0 ? void 0 : form.closest('iam-form'))) {\n // Reset password types\n Array.from(form.querySelectorAll('[data-password-type]')).forEach((input) => {\n input.setAttribute('type', 'password');\n });\n if (form.querySelector(':invalid') ||\n form.querySelector('.pwd-checker[data-strength=\"1\"]') ||\n form.querySelector('.pwd-checker[data-strength=\"2\"]')) {\n form.classList.add('was-validated');\n (_a = form === null || form === void 0 ? void 0 : form.querySelector('input:invalid')) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n event.preventDefault();\n }\n if (form.querySelector('iam-multiselect[data-is-required][data-error]')) {\n form.classList.add('was-validated');\n event.preventDefault();\n }\n }\n }\n });\n document.addEventListener('keydown', (e) => {\n if (e.key === 'Escape') {\n if (document.querySelector('.dialog--transactional[open], .dialog--acknowledgement[open]')) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n });\n Array.from(document.querySelectorAll('label progress')).forEach((progress) => {\n const label = progress.closest('label');\n label.setAttribute('data-percent', progress.getAttribute('value'));\n });\n};\nexport const isNumeric = function (str) {\n if (typeof str != 'string')\n return false; // we only process strings!\n return (!isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\n !isNaN(parseFloat(str))); // ...and ensure strings of whitespace fail\n};\nexport const zeroPad = (num, places) => String(num).padStart(places, '0');\nexport const ucfirst = (str) => str.charAt(0).toUpperCase() + str.slice(1);\nexport const ucwords = (str) => str\n .split(' ')\n .map((s) => ucfirst(s))\n .join(' ');\nexport const unsnake = (str) => str.replace(/_/g, ' ');\nexport const snake = (str) => str.replace(/ /g, '_');\nexport const safeID = function (str) {\n str = str.toLowerCase();\n str = snake(str);\n str = str.replace(/\\W/g, '');\n return str;\n};\nexport const numberOfDays = function (startDateString, endDateString) {\n const convertStart = startDateString.split('/');\n const convertEnd = endDateString.split('/');\n const dateStart = new Date(convertStart[1] + '/' + convertStart[0] + '/' + convertStart[2]);\n const dateEnd = new Date(convertEnd[1] + '/' + convertEnd[0] + '/' + convertEnd[2]);\n if (dateStart == 'Invalid Date')\n throw 'Start date is not a valid date';\n if (dateEnd == 'Invalid Date')\n throw 'End date is not a valid date';\n // To calculate the time difference of two dates\n const diffTime = dateEnd.getTime() - dateStart.getTime();\n const numberOfDays = diffTime / (1000 * 3600 * 24) + 1;\n if (numberOfDays < 0)\n throw 'The start date should be before the end date';\n return numberOfDays;\n};\n// Used to get values from nested json objects\nexport const resolvePath = (object, path, defaultValue) => path\n // eslint-disable-next-line no-useless-escape\n .split(/[\\.\\[\\]\\'\\\"]/)\n .filter((p) => p)\n .reduce((o, p) => (o ? o[p] : defaultValue), object);\nexport const isTraversable = (o) => Array.isArray(o) || (o !== null && ['function', 'object'].includes(typeof o));\nexport const getSwipeDirection = (touchstartX, touchstartY, touchendX, touchendY) => {\n const limit = Math.tan(((45 * 1.5) / 180) * Math.PI);\n const pageWidth = window.innerWidth || document.body.clientWidth;\n const treshold = Math.max(1, Math.floor(0.01 * pageWidth));\n const x = touchendX - touchstartX;\n const y = touchendY - touchstartY;\n const xy = Math.abs(x / y);\n const yx = Math.abs(y / x);\n if (Math.abs(x) > treshold || Math.abs(y) > treshold) {\n if (yx <= limit) {\n if (x < 0) {\n return 'left';\n }\n else {\n return 'right';\n }\n }\n if (xy <= limit) {\n if (y < 0) {\n return 'top';\n }\n else {\n return 'bottom';\n }\n }\n }\n else {\n return 'tap';\n }\n};\nexport const uniqueID = (index = 1) => {\n const ID = Math.floor(Math.random() * Date.now() * (index + 1));\n return ID;\n};\nexport const isValidPostcode = (searchValue) => {\n const regexp = /^([A-Z][A-HJ-Y]?[0-9][A-Z0-9]? ?[0-9][A-Z]{2}|GIR ?0A{2})$/gmi;\n return regexp.test(searchValue.trim());\n};\n","function advancedSelect(advancedSelect, displayInputField, datalist, isSearch = false) {\n var _a, _b, _c;\n let currentFocus = -1;\n const datalistWrapper = datalist.closest('.datalist__wrapper') ? datalist.closest('.datalist__wrapper') : datalist;\n datalistWrapper.setAttribute('slot', 'datalist');\n if (advancedSelect.querySelector('.suffix')) {\n (_a = advancedSelect.querySelector('.suffix')) === null || _a === void 0 ? void 0 : _a.setAttribute('slot', 'suffix');\n (_b = advancedSelect.shadowRoot.querySelector('.suffix')) === null || _b === void 0 ? void 0 : _b.innerHTML = '<slot name=\"suffix\"></slot>';\n (_c = advancedSelect.shadowRoot.querySelector('.suffix')) === null || _c === void 0 ? void 0 : _c.classList = \"\";\n }\n // Hide the default datalist\n displayInputField.setAttribute('data-list', displayInputField.getAttribute('list'));\n displayInputField.setAttribute('list', '');\n if (displayInputField.hasAttribute('placeholder'))\n displayInputField.setAttribute('data-placeholder', displayInputField.getAttribute('placeholder'));\n if (displayInputField.hasAttribute('placeholder'))\n displayInputField.setAttribute('data-original-placeholder', displayInputField.getAttribute('placeholder'));\n const checkIfEmpty = () => {\n if (displayInputField.value == \"\") {\n advancedSelect.classList.add('has-empty-input');\n displayInputField.classList.add('empty');\n }\n else {\n advancedSelect.classList.remove('has-empty-input');\n displayInputField.classList.remove('empty');\n }\n };\n checkIfEmpty();\n displayInputField.addEventListener('focus', function () {\n if (displayInputField.value != \"\") {\n displayInputField.setAttribute('placeholder', displayInputField.value);\n displayInputField.setAttribute('data-value', displayInputField.value);\n }\n displayInputField.value = '';\n });\n displayInputField.addEventListener('blur', function () {\n if (displayInputField.hasAttribute('data-value')) {\n displayInputField.value = displayInputField.getAttribute('data-value');\n }\n if (displayInputField.hasAttribute('data-placeholder'))\n displayInputField.setAttribute('placeholder', displayInputField.getAttribute('data-placeholder'));\n });\n for (const option of datalist.options) {\n if (option.innerHTML == '')\n option.innerHTML = option.value;\n }\n datalist.addEventListener('click', function (event) {\n var _a;\n if (event && event.target instanceof HTMLElement && event.target.closest('option')) {\n const option = event.target.closest('option');\n const optionText = ((_a = option.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || option.value;\n // Store actual value on the original input\n const originalInput = advancedSelect.querySelector('input[type=\"hidden\"]');\n if (originalInput) {\n originalInput.value = option.value;\n originalInput.setAttribute('value', option.value);\n }\n // Show label text in the visible field\n displayInputField.value = optionText;\n displayInputField.setAttribute('data-value', optionText);\n displayInputField.setAttribute('placeholder', optionText);\n if (typeof window.triggerDynamicEvent == 'function')\n window.triggerDynamicEvent(displayInputField);\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n }\n option.classList.add('active');\n checkIfEmpty();\n setTimeout(() => {\n advancedSelect.dispatchEvent(new CustomEvent('update-value', {\n detail: {\n value: option.value,\n text: optionText,\n },\n }));\n }, 0);\n }\n });\n displayInputField.addEventListener('input', function () {\n displayInputField.removeAttribute('data-value');\n currentFocus = -1;\n checkIfEmpty();\n if (advancedSelect.tagName != \"IAM-ADDRESS-LOOKUP\") {\n const text = displayInputField.value.toUpperCase();\n for (const option of datalist.options) {\n const optionText = (option.textContent || option.value).toUpperCase();\n if (optionText.indexOf(text) > -1) {\n option.style.display = 'block';\n option.classList.remove('hide');\n }\n else {\n option.style.display = 'none';\n option.classList.add('hide');\n }\n }\n }\n });\n advancedSelect.addEventListener('keydown', function (e) {\n if (e.keyCode == 40) {\n currentFocus++;\n addActive(datalist.options);\n }\n else if (e.keyCode == 38) {\n currentFocus--;\n addActive(datalist.options);\n }\n else if (e.keyCode == 13 && !e.target.closest('form')) {\n e.preventDefault();\n if (currentFocus > -1) {\n /*and simulate a click on the \"active\" item:*/\n if (datalist.options)\n datalist.options[currentFocus].click();\n }\n }\n });\n function addActive(x) {\n if (!x)\n return false;\n removeActive(x);\n if (currentFocus >= x.length)\n currentFocus = 0;\n if (currentFocus < 0)\n currentFocus = x.length - 1;\n x[currentFocus].classList.add('active');\n }\n function removeActive(x) {\n if (!x)\n return false;\n for (let i = 0; i < x.length; i++) {\n x[i].classList.remove('active');\n }\n }\n // Add the empty button\n if (displayInputField.closest('.input__wrapper')) {\n displayInputField.closest('.input__wrapper').insertAdjacentHTML('beforeend', '<button class=\"clear-search btn btn-action\" type=\"button\"><i class=\"fa-light fa-times me-0\"></i></button>');\n }\n else if (advancedSelect.shadowRoot.querySelector('.input__wrapper')) {\n console.log(advancedSelect.shadowRoot.querySelector('.input__wrapper'));\n advancedSelect.shadowRoot.querySelector('.input__wrapper').insertAdjacentHTML('beforeend', '<button class=\"clear-search btn btn-action\" type=\"button\"><i class=\"fa-light fa-times me-0\"></i></button>');\n }\n const emptyField = () => {\n const originalInput = advancedSelect.querySelector('input[type=\"hidden\"]');\n if (originalInput) {\n originalInput.value = '';\n originalInput.setAttribute('value', '');\n }\n displayInputField.removeAttribute('placeholder');\n if (displayInputField.hasAttribute('data-original-placeholder'))\n displayInputField.setAttribute('placeholder', displayInputField.getAttribute('data-original-placeholder'));\n displayInputField.removeAttribute('data-value');\n displayInputField.value = '';\n displayInputField.classList.add('empty');\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n optionInner.classList.remove('hide');\n optionInner.removeAttribute('style');\n }\n const updateEvent = new CustomEvent('close-button-pressed');\n advancedSelect.dispatchEvent(updateEvent);\n // Notify consumers the value was cleared\n advancedSelect.dispatchEvent(new CustomEvent('update-value', {\n detail: {\n value: '',\n text: '',\n },\n }));\n checkIfEmpty();\n };\n const closeBtn = advancedSelect.querySelector('.clear-search') ? advancedSelect.querySelector('.clear-search') : advancedSelect.shadowRoot.querySelector('.clear-search');\n closeBtn.addEventListener('click', function (e) {\n emptyField();\n });\n advancedSelect.addEventListener('empty', function (e) {\n emptyField();\n });\n}\nexport default advancedSelect;\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport Cookies from '../../../../node_modules/js-cookie/dist/js.cookie.mjs';\nimport { safeID, resolvePath, isTraversable } from '../../modules/helpers';\nimport advancedSelect from '../../modules/advanced-select';\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Search',\n});\nclass iamSearch extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/search.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${loadCSS}\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\" />\n <span class=\"wrapper\"><span class=\"input__wrapper\"><slot></slot></span><span class=\"suffix fa-regular fa-search\"></span></span>\n <slot name=\"datalist\"></slot>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n return __awaiter(this, void 0, void 0, function* () {\n // Make the datalist a dropdown\n this.classList.add('dropdown__wrapper');\n if (this.querySelector('input.input--sm'))\n this.classList.add('hasInputSm');\n if (this.querySelector('label'))\n this.classList.add('has-label');\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const searchWrapper = this;\n const inputField = this.querySelector('input');\n const valueSchema = this.hasAttribute('data-value-schema') ? this.getAttribute('data-value-schema') : 'value';\n const displaySchema = this.hasAttribute('data-display-schema') ? this.getAttribute('data-display-schema') : 'label';\n const loopSchema = this.hasAttribute('data-schema') ? this.getAttribute('data-schema') : '';\n let datalist = this.querySelector('datalist');\n let minLength = this.hasAttribute('data-min-length') ? this.getAttribute('data-min-length') : 0;\n if (searchWrapper.hasAttribute('data-url') && !this.hasAttribute('data-min-length')) {\n minLength = 3;\n }\n // Clone original input field, re-name and use for display purposes\n const displayInputField = inputField.cloneNode();\n displayInputField.setAttribute('name', `${inputField.getAttribute('name')}Alt`);\n inputField.removeAttribute('data-change-events');\n displayInputField.removeAttribute('id');\n inputField.after(displayInputField);\n // Hide original input field\n inputField.setAttribute('type', 'hidden');\n // if data list does not exist then create one and append\n if (!datalist) {\n datalist = document.createElement('datalist');\n const listID = safeID('list');\n datalist.setAttribute('id', listID);\n searchWrapper.appendChild(datalist);\n displayInputField.setAttribute('list', listID);\n }\n displayInputField.addEventListener('change', function (e) {\n inputField.value = displayInputField.value;\n });\n advancedSelect(this, displayInputField, datalist, false);\n const checkMatch = () => {\n const match = datalist.querySelector(`option[value=\"${displayInputField.value}\" i]`);\n const subMatch = datalist.querySelector(`option[value*=\"${displayInputField.value}\" i]`);\n if (match) {\n inputField.value = match.getAttribute('data-actual-value');\n displayInputField.value = match.getAttribute('data-actual-value');\n displayInputField.classList.remove('is-invalid');\n displayInputField.closest('label').removeAttribute('data-error');\n }\n else if (displayInputField.value.length >= minLength && !subMatch) {\n displayInputField.classList.add('is-invalid');\n displayInputField.closest('label').setAttribute('data-error', 'No results returned');\n if (searchWrapper.hasAttribute('data-url'))\n datalist.innerHTML = '';\n }\n else {\n displayInputField.classList.remove('is-invalid');\n displayInputField.closest('label').removeAttribute('data-error');\n }\n };\n const search = (searchterm) => __awaiter(this, void 0, void 0, function* () {\n if (!this.getAttribute('data-url'))\n return false;\n let ajaxURL = this.getAttribute('data-url');\n ajaxURL += `${encodeURI(searchterm)}`;\n // Setup controller vars if not already set\n if (!window.controller)\n window.controller = [];\n // Abort if controller already present for this url\n if (window.controller[ajaxURL])\n window.controller[ajaxURL].abort();\n // Create a new controller so it can be aborted if new fetch made\n window.controller[ajaxURL] = new AbortController();\n const { signal } = controller[ajaxURL];\n try {\n yield fetch(ajaxURL, {\n signal: signal,\n method: 'get',\n credentials: 'same-origin',\n mode: 'no-cors',\n headers: new Headers({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),\n }),\n })\n .then((response) => response.json())\n .then((response) => {\n // populate datalist\n let listString = '';\n const loopValues = resolvePath(response, loopSchema, '');\n if (isTraversable(loopValues) && typeof loopValues.forEach == 'function') {\n loopValues.forEach((item) => {\n const actualValue = resolvePath(item, valueSchema, '');\n const displayValue = resolvePath(item, displaySchema, '').replace('\\n', ', ');\n if (!datalist.querySelector(`option[data-actual-value=\"${actualValue}\"]`))\n listString += `<option value=\"${displayValue}\" data-actual-value=\"${actualValue}\">${displayValue}</option>`;\n });\n }\n else if (typeof loopValues == 'object') {\n for (const [key, value] of Object.entries(loopValues)) {\n if (isTraversable(value) && typeof value.forEach == 'function') {\n value.forEach((item) => {\n const actualValue = resolvePath(item, valueSchema, '');\n const displayValue = resolvePath(item, displaySchema, '').replace('\\n', ', ');\n if (!datalist.querySelector(`option[data-actual-value=\"${actualValue}\"]`))\n listString += `<option value=\"${key}: ${displayValue}\" data-actual-value='${actualValue}'>${key}: ${displayValue}</option>`;\n });\n }\n }\n }\n datalist.innerHTML += listString;\n // filter the list on the client side just in case\n const text = searchterm.toUpperCase();\n for (const option of datalist.options) {\n if (option.value.toUpperCase().indexOf(text) > -1) {\n option.style.display = 'block';\n option.classList.remove('hide');\n }\n else {\n option.style.display = 'none';\n option.classList.add('hide');\n }\n }\n searchWrapper.classList.add('was-validated');\n checkMatch();\n return response;\n });\n }\n catch (error) {\n console.log(error);\n }\n });\n datalist.addEventListener('click', function (event) {\n if (event && event.target instanceof HTMLElement && event.target.closest('option')) {\n const option = event.target.closest('option');\n const value = (option === null || option === void 0 ? void 0 : option.hasAttribute('data-actual-value')) ? option === null || option === void 0 ? void 0 : option.getAttribute('data-actual-value') : option === null || option === void 0 ? void 0 : option.getAttribute('data-value');\n inputField.value = value;\n const changeEvent = new CustomEvent('value-change', {\n detail: { value: value },\n });\n searchWrapper.dispatchEvent(changeEvent);\n }\n });\n this.addEventListener('close-button-pressed', function (event) {\n if (searchWrapper.hasAttribute('data-url')) {\n datalist.innerHTML = '';\n }\n inputField === null || inputField === void 0 ? void 0 : inputField.value = '';\n searchWrapper.classList.remove('was-validated');\n displayInputField.classList.remove('is-invalid');\n displayInputField.closest('label').removeAttribute('data-error');\n });\n // Search the endpoint when 3 characters has been added\n if (searchWrapper.hasAttribute('data-url')) {\n displayInputField.addEventListener('input', () => {\n if (displayInputField.value.length < minLength) {\n datalist.innerHTML = '';\n }\n if (displayInputField.value.length == minLength) {\n search(displayInputField.value);\n }\n });\n }\n else {\n // on change update oringinal field with the actual value and use displayed input for the nice display text\n displayInputField.addEventListener('input', () => {\n checkMatch();\n });\n }\n if (searchWrapper.hasAttribute('data-prevent-submit')) {\n const form = searchWrapper.closest('form');\n form.addEventListener('submit', (e) => {\n e.preventDefault();\n });\n }\n });\n }\n}\nexport default iamSearch;\n"],"names":["assign","target","i","source","key","defaultConverter","value","init","converter","defaultAttributes","set","name","attributes","stringifiedAttributes","attributeName","get","cookies","jar","parts","found","api","snake","str","safeID","resolvePath","object","path","defaultValue","o","p","isTraversable","advancedSelect","displayInputField","datalist","isSearch","_a","_b","_c","currentFocus","checkIfEmpty","option","event","optionText","originalInput","optionInner","text","e","addActive","x","removeActive","emptyField","updateEvent","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","reject","fulfilled","step","rejected","result","iamSearch","template","searchWrapper","inputField","valueSchema","displaySchema","loopSchema","minLength","listID","checkMatch","match","subMatch","search","searchterm","ajaxURL","signal","Cookies","response","listString","loopValues","item","actualValue","displayValue","error","changeEvent"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.
|
|
2
|
+
* iamKey v7.8.2--beta1
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/const a=e=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:e})};a("iam-skeleton");class r extends HTMLElement{constructor(){var t;super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const o=document.createElement("template");o.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.
|
|
2
|
+
* iamKey v7.8.2--beta1
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Slider"});class f extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const t=document.createElement("template");t.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.
|
|
2
|
+
* iamKey v7.8.2--beta1
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/class u extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const r=document.createElement("template");r.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.
|
|
2
|
+
* iamKey v7.8.2--beta1
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*//*! js-cookie v3.0.5 | MIT */function I(n){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var y in r)n[y]=r[y]}return n}var lt={read:function(n){return n[0]==='"'&&(n=n.slice(1,-1)),n.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(n){return encodeURIComponent(n).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function V(n,a){function r(e,p,o){if(!(typeof document>"u")){o=I({},a,o),typeof o.expires=="number"&&(o.expires=new Date(Date.now()+o.expires*864e5)),o.expires&&(o.expires=o.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var m="";for(var t in o)o[t]&&(m+="; "+t,o[t]!==!0&&(m+="="+o[t].split(";")[0]));return document.cookie=e+"="+n.write(p,e)+m}}function y(e){if(!(typeof document>"u"||arguments.length&&!e)){for(var p=document.cookie?document.cookie.split("; "):[],o={},m=0;m<p.length;m++){var t=p[m].split("="),g=t.slice(1).join("=");try{var c=decodeURIComponent(t[0]);if(o[c]=n.read(g,c),e===c)break}catch{}}return e?o[e]:o}}return Object.create({set:r,get:y,remove:function(e,p){r(e,"",I({},p,{expires:-1}))},withAttributes:function(e){return V(this.converter,I({},this.attributes,e))},withConverter:function(e){return V(I({},this.converter,e),this.attributes)}},{attributes:{value:Object.freeze(a)},converter:{value:Object.freeze(n)}})}var dt=V(lt,{path:"/"});function ct(n,a,r,y=!1){var e,p,o;let m=-1;(r.closest(".datalist__wrapper")?r.closest(".datalist__wrapper"):r).setAttribute("slot","datalist"),n.querySelector(".suffix")&&((e=n.querySelector(".suffix"))===null||e===void 0||e.setAttribute("slot","suffix"),(p=n.shadowRoot.querySelector(".suffix"))===null||p===void 0||(p.innerHTML='<slot name="suffix"></slot>'),(o=n.shadowRoot.querySelector(".suffix"))===null||o===void 0||(o.classList="")),a.setAttribute("data-list",a.getAttribute("list")),a.setAttribute("list",""),a.hasAttribute("placeholder")&&a.setAttribute("data-placeholder",a.getAttribute("placeholder")),a.hasAttribute("placeholder")&&a.setAttribute("data-original-placeholder",a.getAttribute("placeholder"));const g=()=>{a.value==""?(n.classList.add("has-empty-input"),a.classList.add("empty")):(n.classList.remove("has-empty-input"),a.classList.remove("empty"))};g(),a.addEventListener("focus",function(){a.value!=""&&(a.setAttribute("placeholder",a.value),a.setAttribute("data-value",a.value)),a.value=""}),a.addEventListener("blur",function(){a.hasAttribute("data-value")&&(a.value=a.getAttribute("data-value")),a.hasAttribute("data-placeholder")&&a.setAttribute("placeholder",a.getAttribute("data-placeholder"))});for(const u of r.options)u.innerHTML==""&&(u.innerHTML=u.value);r.addEventListener("click",function(u){var f;if(u&&u.target instanceof HTMLElement&&u.target.closest("option")){const x=u.target.closest("option"),w=((f=x.textContent)===null||f===void 0?void 0:f.trim())||x.value,k=n.querySelector('input[type="hidden"]');k&&(k.value=x.value,k.setAttribute("value",x.value)),a.value=w,a.setAttribute("data-value",w),a.setAttribute("placeholder",w),typeof window.triggerDynamicEvent=="function"&&window.triggerDynamicEvent(a);for(const G of r.options)G.classList.remove("active");x.classList.add("active"),g(),setTimeout(()=>{n.dispatchEvent(new CustomEvent("update-value",{detail:{value:x.value,text:w}}))},0)}}),a.addEventListener("input",function(){if(a.removeAttribute("data-value"),m=-1,g(),n.tagName!="IAM-ADDRESS-LOOKUP"){const u=a.value.toUpperCase();for(const f of r.options)(f.textContent||f.value).toUpperCase().indexOf(u)>-1?(f.style.display="block",f.classList.remove("hide")):(f.style.display="none",f.classList.add("hide"))}}),n.addEventListener("keydown",function(u){u.keyCode==40?(m++,c(r.options)):u.keyCode==38?(m--,c(r.options)):u.keyCode==13&&!u.target.closest("form")&&(u.preventDefault(),m>-1&&r.options&&r.options[m].click())});function c(u){if(!u)return!1;s(u),m>=u.length&&(m=0),m<0&&(m=u.length-1),u[m].classList.add("active")}function s(u){if(!u)return!1;for(let f=0;f<u.length;f++)u[f].classList.remove("active")}a.closest(".input__wrapper")?a.closest(".input__wrapper").insertAdjacentHTML("beforeend",'<button class="clear-search btn btn-action" type="button"><i class="fa-light fa-times me-0"></i></button>'):n.shadowRoot.querySelector(".input__wrapper")&&(console.log(n.shadowRoot.querySelector(".input__wrapper")),n.shadowRoot.querySelector(".input__wrapper").insertAdjacentHTML("beforeend",'<button class="clear-search btn btn-action" type="button"><i class="fa-light fa-times me-0"></i></button>'));const E=()=>{const u=n.querySelector('input[type="hidden"]');u&&(u.value="",u.setAttribute("value","")),a.removeAttribute("placeholder"),a.hasAttribute("data-original-placeholder")&&a.setAttribute("placeholder",a.getAttribute("data-original-placeholder")),a.removeAttribute("data-value"),a.value="",a.classList.add("empty");for(const x of r.options)x.classList.remove("active"),x.classList.remove("hide"),x.removeAttribute("style");const f=new CustomEvent("close-button-pressed");n.dispatchEvent(f),n.dispatchEvent(new CustomEvent("update-value",{detail:{value:"",text:""}})),g()};(n.querySelector(".clear-search")?n.querySelector(".clear-search"):n.shadowRoot.querySelector(".clear-search")).addEventListener("click",function(u){E()}),n.addEventListener("empty",function(u){E()})}const ut=n=>/^([A-Z][A-HJ-Y]?[0-9][A-Z0-9]? ?[0-9][A-Z]{2}|GIR ?0A{2})$/gmi.test(n.trim());var tt=function(n,a,r,y){function e(p){return p instanceof r?p:new r(function(o){o(p)})}return new(r||(r=Promise))(function(p,o){function m(c){try{g(y.next(c))}catch(s){o(s)}}function t(c){try{g(y.throw(c))}catch(s){o(s)}}function g(c){c.done?p(c.value):e(c.value).then(m,t)}g((y=y.apply(n,a||[])).next())})};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Address Lookup"});class pt extends HTMLElement{constructor(){var a;super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const r=document.createElement("template");r.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.
|
|
2
|
+
* iamKey v7.8.2--beta1
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*//*! js-cookie v3.0.5 | MIT */function h(s){for(var o=1;o<arguments.length;o++){var a=arguments[o];for(var t in a)s[t]=a[t]}return s}var w={read:function(s){return s[0]==='"'&&(s=s.slice(1,-1)),s.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(s){return encodeURIComponent(s).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function g(s,o){function a(e,d,i){if(!(typeof document>"u")){i=h({},o,i),typeof i.expires=="number"&&(i.expires=new Date(Date.now()+i.expires*864e5)),i.expires&&(i.expires=i.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var r="";for(var l in i)i[l]&&(r+="; "+l,i[l]!==!0&&(r+="="+i[l].split(";")[0]));return document.cookie=e+"="+s.write(d,e)+r}}function t(e){if(!(typeof document>"u"||arguments.length&&!e)){for(var d=document.cookie?document.cookie.split("; "):[],i={},r=0;r<d.length;r++){var l=d[r].split("="),m=l.slice(1).join("=");try{var n=decodeURIComponent(l[0]);if(i[n]=s.read(m,n),e===n)break}catch{}}return e?i[e]:i}}return Object.create({set:a,get:t,remove:function(e,d){a(e,"",h({},d,{expires:-1}))},withAttributes:function(e){return g(this.converter,h({},this.attributes,e))},withConverter:function(e){return g(h({},this.converter,e),this.attributes)}},{attributes:{value:Object.freeze(o)},converter:{value:Object.freeze(s)}})}g(w,{path:"/"});var v=function(s,o,a,t){function e(d){return d instanceof a?d:new a(function(i){i(d)})}return new(a||(a=Promise))(function(d,i){function r(n){try{m(t.next(n))}catch(c){i(c)}}function l(n){try{m(t.throw(n))}catch(c){i(c)}}function m(n){n.done?d(n.value):e(n.value).then(r,l)}m((t=t.apply(s,o||[])).next())})};const b=s=>{let o="";return s.forEach(a=>{a.attributes.sections.length?o+=`<details name="megamenu"><summary>${a.attributes.title}</summary><div data-title="${a.attributes.title}">${k(a.attributes.sections)}</div></details>`:a.attributes.links?o+=`<details name="megamenu"><summary>${a.attributes.title}</summary><div data-title="${a.attributes.title}">${f(a.attributes.links)}</div></details>`:o+=`<a href="/">${a.attributes.title}</a>`}),o},k=s=>{let o="";return s.forEach(a=>{o+=`<span class="section section--${a.layout}">
|
|
5
5
|
${a.title?`<span class="lead section-title" data-product="${a.id}" data-title>${a.title}:</span>`:""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.
|
|
2
|
+
* iamKey v7.8.2--beta1
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/var v=function(o,t,a,i){function n(r){return r instanceof a?r:new a(function(e){e(r)})}return new(a||(a=Promise))(function(r,e){function l(s){try{m(i.next(s))}catch(c){e(c)}}function d(s){try{m(i.throw(s))}catch(c){e(c)}}function m(s){s.done?r(s.value):n(s.value).then(l,d)}m((i=i.apply(o,t||[])).next())})};const b=o=>{let t="";return o.forEach(a=>{a.attributes.sections.length?t+=`<details name="megamenu"><summary>${a.attributes.title}</summary><div data-title="${a.attributes.title}">${u(a.attributes.sections)}</div></details>`:a.attributes.links?t+=`<details name="megamenu"><summary>${a.attributes.title}</summary><div data-title="${a.attributes.title}">${g(a.attributes.links)}</div></details>`:t+=`<a href="/">${a.attributes.title}</a>`}),t},u=o=>{let t="";return o.forEach(a=>{t+=`<span class="section section--${a.layout}">
|
|
5
5
|
${a.title?`<span class="lead section-title" data-product="${a.id}" data-title>${a.title}:</span>`:""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.
|
|
2
|
+
* iamKey v7.8.2--beta1
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/const P=function(t){return typeof t!="string"?!1:!isNaN(t)&&!isNaN(parseFloat(t))},B=(t,e)=>String(t).padStart(e,"0"),V=t=>t.charAt(0).toUpperCase()+t.slice(1),p=(t,e,a)=>e.split(/[\.\[\]\'\"]/).filter(i=>i).reduce((i,r)=>i?i[r]:a,t),T=(t=1)=>Math.floor(Math.random()*Date.now()*(t+1));var W=function(t,e,a,i){function r(l){return l instanceof a?l:new a(function(b){b(l)})}return new(a||(a=Promise))(function(l,b){function s(m){try{n(i.next(m))}catch(d){b(d)}}function o(m){try{n(i.throw(m))}catch(d){b(d)}}function n(m){m.done?l(m.value):r(m.value).then(s,o)}n((i=i.apply(t,e||[])).next())})};const F=(t,e)=>{switch(t){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",{day:"numeric",month:"long",year:"2-digit"});case"capitalise":return e=V(e)}},U=function(t){const e=new Object;return Array.from(t.querySelectorAll("[data-filter]")).forEach(i=>{if(!(i.type=="radio"&&!i.checked)&&!(i.type=="checkbox"&&!i.checked)&&i&&i.value){const r=i.getAttribute("data-filter");let l=i.value;i.hasAttribute("data-date-from")&&(l+="-date-from"),i.hasAttribute("data-date-to")&&(l+="-date-to"),e[r]||(e[r]=[]),e[r].push(l)}}),e},J=t=>{let e=document.createElement("form");const a=t.querySelector("table");t.hasAttribute("data-filterby")?e=document.querySelector(`#${t.getAttribute("data-filterby")}`):t.closest("form")?e=t.closest("form"):a.parentNode.insertBefore(e,a.nextSibling),e.hasAttribute("data-ajax")&&t.setAttribute("data-ajax",e.getAttribute("data-ajax")),e.hasAttribute("data-schema")&&t.setAttribute("data-schema",e.getAttribute("data-schema"))},w=(t,e,a,i,r)=>{a.querySelector("[name=show]")||a.insertAdjacentHTML("beforeend",`<input name="show" type="hidden" value="${t.getAttribute("data-show")}" />`),a.querySelector("[name=page]")||a.insertAdjacentHTML("beforeend",`<input name="page" type="hidden" value="${t.getAttribute("data-page")}" />`),i.addEventListener("update-show",l=>{if(a.querySelector("[name=show]").value!=l.detail.show){a.querySelector("[name=show]").value=l.detail.show;const b=new CustomEvent("update-show",{detail:{show:l.detail.show}});t.dispatchEvent(b),H(t,i),r()}}),i.addEventListener("update-page",l=>{if(a.querySelector("[name=page]").value!=l.detail.page){a.querySelector("[name=page]").value=l.detail.page;const b=new CustomEvent("update-page",{detail:{page:l.detail.page}});if(t.dispatchEvent(b),H(t,i),r(),!t.hasAttribute("data-no-scroll")){const o=e.getBoundingClientRect().top+window.pageYOffset+-250;window.scrollTo({top:o,behavior:"smooth"})}}})},X=(t,e)=>{let a=document.createElement("form");return t.hasAttribute("data-filterby")?a=document.querySelector(`#${t.getAttribute("data-filterby")}`):t.closest("form")?a=t.closest("form"):t.querySelector("form")?a=t.querySelector("form"):e.parentNode.insertBefore(a,e.nextSibling),t.hasAttribute("data-ajax")&&a.setAttribute("data-ajax",t.getAttribute("data-ajax")),a},M=(t,e,a,i)=>{const r=t.shadowRoot.querySelector(".table__wrapper");t.hasAttribute("data-total")||t.setAttribute("data-total",t.querySelectorAll("tbody tr").length),t.hasAttribute("data-page")||t.setAttribute("data-page",1),t.hasAttribute("data-show")||t.setAttribute("data-show",15),t.hasAttribute("data-increment")||t.setAttribute("data-increment",t.getAttribute("data-show")),G(t,i),C(e),K(t,e),t.classList.contains("mh-sm")&&r.classList.add("mh-sm"),t.classList.contains("mh-md")&&r.classList.add("mh-md"),t.classList.contains("mh-lg")&&r.classList.add("mh-lg"),t.classList.contains("table--cta")&&(Q(t,e),Z(t,e)),Y(t)},Y=t=>{Array.from(t.querySelectorAll("tr[data-highlight]")).forEach(e=>{e.insertAdjacentHTML("afterend",`<tr role="presentation" class="tr--highlight">
|
|
5
5
|
<td colspan="100%"><i class="fa-solid fa-star"></i> ${e.getAttribute("data-highlight")}</td>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.
|
|
2
|
+
* iamKey v7.8.2--beta1
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/const R=t=>t.charAt(0).toUpperCase()+t.slice(1),p=(t,i,a)=>i.split(/[\.\[\]\'\"]/).filter(e=>e).reduce((e,b)=>e?e[b]:a,t),q=(t=1)=>Math.floor(Math.random()*Date.now()*(t+1));var I=function(t,i,a,e){function b(l){return l instanceof a?l:new a(function(s){s(l)})}return new(a||(a=Promise))(function(l,s){function r(m){try{n(e.next(m))}catch(d){s(d)}}function o(m){try{n(e.throw(m))}catch(d){s(d)}}function n(m){m.done?l(m.value):b(m.value).then(r,o)}n((e=e.apply(t,i||[])).next())})};const P=(t,i)=>{switch(t){case"datetime":return new Date(i).toLocaleDateString("en-gb",{weekday:"short",year:"2-digit",month:"long",day:"numeric"})+" "+new Date(i).toLocaleTimeString("en-gb",{hour:"2-digit",minute:"2-digit"});case"date":return new Date(i).toLocaleDateString("en-gb",{day:"numeric",month:"long",year:"2-digit"});case"capitalise":return i=R(i)}},O=function(t){const i=new Object;return Array.from(t.querySelectorAll("[data-filter]")).forEach(e=>{if(!(e.type=="radio"&&!e.checked)&&!(e.type=="checkbox"&&!e.checked)&&e&&e.value){const b=e.getAttribute("data-filter");let l=e.value;e.hasAttribute("data-date-from")&&(l+="-date-from"),e.hasAttribute("data-date-to")&&(l+="-date-to"),i[b]||(i[b]=[]),i[b].push(l)}}),i},N=(t,i,a,e,b)=>{a.querySelector("[name=show]")||a.insertAdjacentHTML("beforeend",`<input name="show" type="hidden" value="${t.getAttribute("data-show")}" />`),a.querySelector("[name=page]")||a.insertAdjacentHTML("beforeend",`<input name="page" type="hidden" value="${t.getAttribute("data-page")}" />`),e.addEventListener("update-show",l=>{if(a.querySelector("[name=show]").value!=l.detail.show){a.querySelector("[name=show]").value=l.detail.show;const s=new CustomEvent("update-show",{detail:{show:l.detail.show}});t.dispatchEvent(s),T(t,e),b()}}),e.addEventListener("update-page",l=>{if(a.querySelector("[name=page]").value!=l.detail.page){a.querySelector("[name=page]").value=l.detail.page;const s=new CustomEvent("update-page",{detail:{page:l.detail.page}});if(t.dispatchEvent(s),T(t,e),b(),!t.hasAttribute("data-no-scroll")){const o=i.getBoundingClientRect().top+window.pageYOffset+-250;window.scrollTo({top:o,behavior:"smooth"})}}})},B=(t,i)=>{let a=document.createElement("form");return t.hasAttribute("data-filterby")?a=document.querySelector(`#${t.getAttribute("data-filterby")}`):t.closest("form")?a=t.closest("form"):t.querySelector("form")?a=t.querySelector("form"):i.parentNode.insertBefore(a,i.nextSibling),t.hasAttribute("data-ajax")&&a.setAttribute("data-ajax",t.getAttribute("data-ajax")),a},E=(t,i,a,e)=>{const b=t.shadowRoot.querySelector(".table__wrapper");t.hasAttribute("data-total")||t.setAttribute("data-total",t.querySelectorAll("tbody tr").length),t.hasAttribute("data-page")||t.setAttribute("data-page",1),t.hasAttribute("data-show")||t.setAttribute("data-show",15),t.hasAttribute("data-increment")||t.setAttribute("data-increment",t.getAttribute("data-show")),W(t,e),F(i),V(t,i),t.classList.contains("mh-sm")&&b.classList.add("mh-sm"),t.classList.contains("mh-md")&&b.classList.add("mh-md"),t.classList.contains("mh-lg")&&b.classList.add("mh-lg"),t.classList.contains("table--cta")&&(J(t,i),X(t,i)),U(t)},U=t=>{Array.from(t.querySelectorAll("tr[data-highlight]")).forEach(i=>{i.insertAdjacentHTML("afterend",`<tr role="presentation" class="tr--highlight">
|
|
5
5
|
<td colspan="100%"><i class="fa-solid fa-star"></i> ${i.getAttribute("data-highlight")}</td>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.
|
|
2
|
+
* iamKey v7.8.2--beta1
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/const h=t=>t.charAt(0).toUpperCase()+t.slice(1),u=(t,a)=>{switch(t){case"datetime":return new Date(a).toLocaleDateString("en-gb",{weekday:"short",year:"2-digit",month:"long",day:"numeric"})+" "+new Date(a).toLocaleTimeString("en-gb",{hour:"2-digit",minute:"2-digit"});case"date":return new Date(a).toLocaleDateString("en-gb",{day:"numeric",month:"long",year:"2-digit"});case"capitalise":return a=h(a)}},p=(t,a,e,i,r)=>{e.querySelector("[name=show]")||e.insertAdjacentHTML("beforeend",`<input name="show" type="hidden" value="${t.getAttribute("data-show")}" />`),e.querySelector("[name=page]")||e.insertAdjacentHTML("beforeend",`<input name="page" type="hidden" value="${t.getAttribute("data-page")}" />`),i.addEventListener("update-show",l=>{if(e.querySelector("[name=show]").value!=l.detail.show){e.querySelector("[name=show]").value=l.detail.show;const o=new CustomEvent("update-show",{detail:{show:l.detail.show}});t.dispatchEvent(o),c(t,i),r()}}),i.addEventListener("update-page",l=>{if(e.querySelector("[name=page]").value!=l.detail.page){e.querySelector("[name=page]").value=l.detail.page;const o=new CustomEvent("update-page",{detail:{page:l.detail.page}});if(t.dispatchEvent(o),c(t,i),r(),!t.hasAttribute("data-no-scroll")){const b=a.getBoundingClientRect().top+window.pageYOffset+-250;window.scrollTo({top:b,behavior:"smooth"})}}})},g=(t,a)=>{let e=document.createElement("form");return t.hasAttribute("data-filterby")?e=document.querySelector(`#${t.getAttribute("data-filterby")}`):t.closest("form")?e=t.closest("form"):t.querySelector("form")?e=t.querySelector("form"):a.parentNode.insertBefore(e,a.nextSibling),t.hasAttribute("data-ajax")&&e.setAttribute("data-ajax",t.getAttribute("data-ajax")),e},f=(t,a,e,i)=>{const r=t.shadowRoot.querySelector(".table__wrapper");t.hasAttribute("data-total")||t.setAttribute("data-total",t.querySelectorAll("tbody tr").length),t.hasAttribute("data-page")||t.setAttribute("data-page",1),t.hasAttribute("data-show")||t.setAttribute("data-show",15),t.hasAttribute("data-increment")||t.setAttribute("data-increment",t.getAttribute("data-show")),x(t,i),y(a),k(t,a),t.classList.contains("mh-sm")&&r.classList.add("mh-sm"),t.classList.contains("mh-md")&&r.classList.add("mh-md"),t.classList.contains("mh-lg")&&r.classList.add("mh-lg"),t.classList.contains("table--cta")&&(A(t,a),j(t,a)),w(t)},w=t=>{Array.from(t.querySelectorAll("tr[data-highlight]")).forEach(a=>{a.insertAdjacentHTML("afterend",`<tr role="presentation" class="tr--highlight">
|
|
5
5
|
<td colspan="100%"><i class="fa-solid fa-star"></i> ${a.getAttribute("data-highlight")}</td>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.
|
|
2
|
+
* iamKey v7.8.2--beta1
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/const v=function(t){return typeof t!="string"?!1:!isNaN(t)&&!isNaN(parseFloat(t))},k=(t,a)=>String(t).padStart(a,"0"),A=t=>t.charAt(0).toUpperCase()+t.slice(1),u=(t=1)=>Math.floor(Math.random()*Date.now()*(t+1)),j=(t,a)=>{switch(t){case"datetime":return new Date(a).toLocaleDateString("en-gb",{weekday:"short",year:"2-digit",month:"long",day:"numeric"})+" "+new Date(a).toLocaleTimeString("en-gb",{hour:"2-digit",minute:"2-digit"});case"date":return new Date(a).toLocaleDateString("en-gb",{day:"numeric",month:"long",year:"2-digit"});case"capitalise":return a=A(a)}},_=(t,a)=>{let i=document.createElement("form");return t.hasAttribute("data-filterby")?i=document.querySelector(`#${t.getAttribute("data-filterby")}`):t.closest("form")?i=t.closest("form"):t.querySelector("form")?i=t.querySelector("form"):a.parentNode.insertBefore(i,a.nextSibling),t.hasAttribute("data-ajax")&&i.setAttribute("data-ajax",t.getAttribute("data-ajax")),i},h=(t,a,i,e)=>{const m=t.shadowRoot.querySelector(".table__wrapper");t.hasAttribute("data-total")||t.setAttribute("data-total",t.querySelectorAll("tbody tr").length),t.hasAttribute("data-page")||t.setAttribute("data-page",1),t.hasAttribute("data-show")||t.setAttribute("data-show",15),t.hasAttribute("data-increment")||t.setAttribute("data-increment",t.getAttribute("data-show")),q(t,e),f(a),L(t,a),t.classList.contains("mh-sm")&&m.classList.add("mh-sm"),t.classList.contains("mh-md")&&m.classList.add("mh-md"),t.classList.contains("mh-lg")&&m.classList.add("mh-lg"),t.classList.contains("table--cta")&&(E(t,a),T(t,a)),S(t)},S=t=>{Array.from(t.querySelectorAll("tr[data-highlight]")).forEach(a=>{a.insertAdjacentHTML("afterend",`<tr role="presentation" class="tr--highlight">
|
|
5
5
|
<td colspan="100%"><i class="fa-solid fa-star"></i> ${a.getAttribute("data-highlight")}</td>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.
|
|
2
|
+
* iamKey v7.8.2--beta1
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/const f=t=>t.charAt(0).toUpperCase()+t.slice(1),h=(t=1)=>Math.floor(Math.random()*Date.now()*(t+1)),g=(t,a)=>{switch(t){case"datetime":return new Date(a).toLocaleDateString("en-gb",{weekday:"short",year:"2-digit",month:"long",day:"numeric"})+" "+new Date(a).toLocaleTimeString("en-gb",{hour:"2-digit",minute:"2-digit"});case"date":return new Date(a).toLocaleDateString("en-gb",{day:"numeric",month:"long",year:"2-digit"});case"capitalise":return a=f(a)}},x=(t,a,e,i,b)=>{e.querySelector("[name=show]")||e.insertAdjacentHTML("beforeend",`<input name="show" type="hidden" value="${t.getAttribute("data-show")}" />`),e.querySelector("[name=page]")||e.insertAdjacentHTML("beforeend",`<input name="page" type="hidden" value="${t.getAttribute("data-page")}" />`),i.addEventListener("update-show",m=>{if(e.querySelector("[name=show]").value!=m.detail.show){e.querySelector("[name=show]").value=m.detail.show;const s=new CustomEvent("update-show",{detail:{show:m.detail.show}});t.dispatchEvent(s),u(t,i),b()}}),i.addEventListener("update-page",m=>{if(e.querySelector("[name=page]").value!=m.detail.page){e.querySelector("[name=page]").value=m.detail.page;const s=new CustomEvent("update-page",{detail:{page:m.detail.page}});if(t.dispatchEvent(s),u(t,i),b(),!t.hasAttribute("data-no-scroll")){const l=a.getBoundingClientRect().top+window.pageYOffset+-250;window.scrollTo({top:l,behavior:"smooth"})}}})},y=(t,a)=>{let e=document.createElement("form");return t.hasAttribute("data-filterby")?e=document.querySelector(`#${t.getAttribute("data-filterby")}`):t.closest("form")?e=t.closest("form"):t.querySelector("form")?e=t.querySelector("form"):a.parentNode.insertBefore(e,a.nextSibling),t.hasAttribute("data-ajax")&&e.setAttribute("data-ajax",t.getAttribute("data-ajax")),e},w=(t,a,e,i)=>{const b=t.shadowRoot.querySelector(".table__wrapper");t.hasAttribute("data-total")||t.setAttribute("data-total",t.querySelectorAll("tbody tr").length),t.hasAttribute("data-page")||t.setAttribute("data-page",1),t.hasAttribute("data-show")||t.setAttribute("data-show",15),t.hasAttribute("data-increment")||t.setAttribute("data-increment",t.getAttribute("data-show")),k(t,i),A(a),j(t,a),t.classList.contains("mh-sm")&&b.classList.add("mh-sm"),t.classList.contains("mh-md")&&b.classList.add("mh-md"),t.classList.contains("mh-lg")&&b.classList.add("mh-lg"),t.classList.contains("table--cta")&&(_(t,a),S(t,a)),v(t)},v=t=>{Array.from(t.querySelectorAll("tr[data-highlight]")).forEach(a=>{a.insertAdjacentHTML("afterend",`<tr role="presentation" class="tr--highlight">
|
|
5
5
|
<td colspan="100%"><i class="fa-solid fa-star"></i> ${a.getAttribute("data-highlight")}</td>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.
|
|
2
|
+
* iamKey v7.8.2--beta1
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/const k=(t,o,i,n)=>{const s=Math.tan(.375*Math.PI),l=window.innerWidth||document.body.clientWidth,a=Math.max(1,Math.floor(.01*l)),c=i-t,e=n-o,d=Math.abs(c/e),r=Math.abs(e/c);if(Math.abs(c)>a||Math.abs(e)>a){if(r<=s)return c<0?"left":"right";if(d<=s)return e<0?"top":"bottom"}else return"tap"},w=function(t){const o=t.querySelectorAll(":scope > details, :scope > a");let i=t.querySelector(":scope > .tabs__links"),n=t.querySelector(":scope .tabs__dropdown");if(t.shadowRoot&&t.shadowRoot.querySelector(".tabs__links")&&(i=t.shadowRoot.querySelector(".tabs__links")),!i){i=document.createElement("div"),i.classList.add("tabs__links");const l=document.createElement("div");l.classList.add("tabs__links__wrapper"),l.prepend(i),t.prepend(l)}n||(n=document.createElement("select"),n.classList.add("tabs__dropdown"),t.prepend(n));let s=0;o.forEach(l=>{let a=document.createElement("button");const c=document.createElement("option");if(l.matches("details")){const e=l.querySelector(":scope > summary"),d=e.classList.contains("disabled");e.classList.add("visually-hidden"),l.hasAttribute("id")&&a.setAttribute("data-id",`${l.getAttribute("id")}`),l.hasAttribute("open")&&a.setAttribute("aria-pressed",!0),a.innerHTML=`${e.innerText}`,t.classList.contains("tabs--toggle-tags")?(a.classList.add("tag"),a.classList.add("tag--toggle")):a.classList.add("link"),a.setAttribute("data-index",s),a.setAttribute("part","tab-link"),c.innerHTML=`${e.innerText}`,c.value=e.innerText.replace(/\s+/g,"-").toLowerCase(),c.setAttribute("data-index",s),l.setAttribute("tabindex","-1"),d&&a.classList.add("disabled"),s++}else l.matches("a")&&(a=l);i.appendChild(a),n.appendChild(c)})},y=function(t){const o=t.querySelectorAll(":scope > details"),i=t.querySelectorAll(":scope > details > summary");let n=t.querySelector(":scope .tabs__links"),s=t.querySelectorAll(":scope .tabs__links > button");const l=t.querySelector(":scope .tabs__dropdown");let a=t.querySelector(":scope .tabs__next"),c;if(window.isClicked=!1,window.isScrolling=!1,t.shadowRoot&&(s=t.shadowRoot.querySelectorAll(".tabs__links > button"),n=t.shadowRoot.querySelector(".tabs__links"),a=t.shadowRoot.querySelector(".tabs__next")),s.forEach(e=>{e.addEventListener("click",d=>{if(d.preventDefault(),window.isClicked=!0,e.classList.contains("disabled"))return!1;s.forEach(r=>{const m=r==e;r.setAttribute("aria-pressed",m)}),n.scroll({top:0,left:e.offsetLeft,behavior:"smooth"}),g(o,e),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openTab",tabTitle:e.textContent}),e.matches(":last-child")?a?.setAttribute("disabled","disabled"):a?.removeAttribute("disabled")}),_(o,l)}),n.addEventListener("scrollend",()=>{clearTimeout(c),c=setTimeout(function(){let e=s[0],d=Math.abs(e.getBoundingClientRect().left);if(s.forEach(r=>{Math.abs(r.getBoundingClientRect().left)<d&&(d=Math.abs(r.getBoundingClientRect().left),e=r)}),window.isClicked)return window.isClicked=!1,!1;e.click(),e.focus()},500)}),i.forEach((e,d)=>{e.addEventListener("click",r=>{r.preventDefault(),s[d].click()})}),o.forEach((e,d)=>{e.addEventListener("toggle",function(){var r;e.open&&((r=e.querySelector("button,input"))===null||r===void 0||r.focus())})}),a?.addEventListener("click",e=>{e.preventDefault();const r=n.querySelector('[aria-pressed="true"]').nextSibling;r&&r.click()}),t.classList.contains("tabs--guided")){let e=0,d=0,r=0,m=0;o.forEach(p=>{p.addEventListener("touchstart",b=>{b.stopPropagation(),e=b.changedTouches[0].screenX,d=b.changedTouches[0].screenY}),p.addEventListener("touchend",b=>{b.stopPropagation(),r=b.changedTouches[0].screenX,m=b.changedTouches[0].screenY;const v=k(e,d,r,m),h=n.querySelector('[aria-pressed="true"]'),u=h.nextSibling,f=h.previousSibling;switch(v){case"left":u&&u.click();break;case"right":f&&f.click();break}})})}},g=function(t,o){t.forEach((i,n)=>{const s=o.getAttribute("data-index")==n;s?i.setAttribute("open",s):i.removeAttribute("open")})},_=function(t,o){o.addEventListener("change",i=>{i.preventDefault();const n=o.options[o.selectedIndex];g(t,n),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openTab",tabTitle:n.innerText})})},x=function(t){if(!t.querySelector(":scope > details"))return!1;const o=t.querySelectorAll(":scope > details"),i=t.shadowRoot.querySelectorAll(".tabs__links > button");location.hash&&t.shadowRoot.querySelector(`.tabs__links [data-id="${location.hash.replace("#","")}"]`)?(t.shadowRoot.querySelector(`[data-id="${location.hash.replace("#","")}"]`).setAttribute("aria-pressed",!0),t.querySelector(`details[id="${location.hash.replace("#","")}"]`).setAttribute("open",!0)):t.querySelector("details[open]")||(o[0].setAttribute("open",!0),i[0].setAttribute("aria-pressed",!0))},z=function(t){w(t),y(t),x(t)};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"tabs"});class L extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const o=document.createElement("template");o.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.
|
|
2
|
+
* iamKey v7.8.2--beta1
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/const v=e=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:e})};/*! js-cookie v3.0.5 | MIT */function h(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var i in t)e[i]=t[i]}return e}var f={read:function(e){return e[0]==='"'&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function u(e,a){function t(o,l,r){if(!(typeof document>"u")){r=h({},a,r),typeof r.expires=="number"&&(r.expires=new Date(Date.now()+r.expires*864e5)),r.expires&&(r.expires=r.expires.toUTCString()),o=encodeURIComponent(o).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var p="";for(var n in r)r[n]&&(p+="; "+n,r[n]!==!0&&(p+="="+r[n].split(";")[0]));return document.cookie=o+"="+e.write(l,o)+p}}function i(o){if(!(typeof document>"u"||arguments.length&&!o)){for(var l=document.cookie?document.cookie.split("; "):[],r={},p=0;p<l.length;p++){var n=l[p].split("="),s=n.slice(1).join("=");try{var d=decodeURIComponent(n[0]);if(r[d]=e.read(s,d),o===d)break}catch{}}return o?r[o]:r}}return Object.create({set:t,get:i,remove:function(o,l){t(o,"",h({},l,{expires:-1}))},withAttributes:function(o){return u(this.converter,h({},this.attributes,o))},withConverter:function(o){return u(h({},this.converter,o),this.attributes)}},{attributes:{value:Object.freeze(a)},converter:{value:Object.freeze(e)}})}var y=u(f,{path:"/"}),k=function(e,a,t,i){function o(l){return l instanceof t?l:new t(function(r){r(l)})}return new(t||(t=Promise))(function(l,r){function p(d){try{s(i.next(d))}catch(c){r(c)}}function n(d){try{s(i.throw(d))}catch(c){r(c)}}function s(d){d.done?l(d.value):o(d.value).then(p,n)}s((i=i.apply(e,a||[])).next())})};const b=(e,a)=>{Array.from(e.querySelectorAll('label:not([slot="checked"])')).forEach(t=>{const o=t.querySelector("input").value,l=t.textContent;o.toLowerCase().includes(a.value.toLowerCase())||l.toLowerCase().includes(a.value.toLowerCase())?t.removeAttribute("slot"):t.setAttribute("slot","notmatched")})},x=(e,a,t)=>k(void 0,void 0,void 0,function*(){const i=a.value,o=e.getAttribute("data-url"),l=e.querySelector("input");console.log(l);const r=l&&l.hasAttribute("type")?l.getAttribute("type"):"checkbox";let p=l&&l.hasAttribute("name")?l.getAttribute("name"):"tags";e.hasAttribute("data-name")&&(p=e.hasAttribute("data-name"));const n=`${o}?search_query=${encodeURI(i)}`;window.controller||(window.controller=[]),window.controller[n]&&window.controller[n].abort(),window.controller[n]=new AbortController;const{signal:s}=controller[n];try{yield fetch(n,{signal:s,method:"get",credentials:"same-origin",headers:new Headers({"Content-Type":"application/json",Accept:"application/json","X-Requested-With":"XMLHttpRequest","X-XSRF-TOKEN":y.get("XSRF-TOKEN")})}).then(d=>d.json()).then(d=>{let c="";for(let m=0;m<d.data.length;m++)e.querySelector(`[value="${d.data[m].value}"]`)||(c+=`<label class="tag dropdown__option"><input type="${r}" name="${e.hasAttribute("data-name")?e.getAttribute("data-name"):p}" value="${d.data[m].value}"/>${d.data[m].title}</label>`);return e.insertAdjacentHTML("beforeend",`${c}`),t(e,a),d})}catch(d){console.log(d)}}),g=e=>{const a=e.querySelector(":checked"),t=a?.getAttribute("name");e.setAttribute("slot","checked"),e.setAttribute("data-content",e.textContent);let i=[];localStorage.getItem("tags-"+t)!=null&&(i=JSON.parse(localStorage.getItem("tags-"+t))),i.includes(e.textContent)||(i.push(e.textContent),localStorage.setItem("tags-"+t,JSON.stringify(i)));let o=i.indexOf(e.textContent)+1;o>23&&(o=1),e?.classList.add(`wider-colour-${o+1}`)},w=(e,a)=>{a.addEventListener("keydown",t=>{var i;switch(t.keyCode){case 40:t.stopPropagation(),t.preventDefault(),(i=e.querySelector('label:not([slot="checked"]) input'))===null||i===void 0||i.focus();break}}),e.addEventListener("keydown",t=>{var i,o,l;const r=e.querySelectorAll(':scope > a, :scope > button, :scope > details > summary, :scope > label:not([slot="checked"]) > input'),p=e.querySelectorAll('a, button, input, label:not([slot="checked"]) > input');if(t&&t.target instanceof HTMLElement&&t.target.closest('a, button, summary, label:not([slot="checked"]) > input')){const n=document.activeElement,s=Array.from(r).indexOf(n)-1,d=Array.from(r).indexOf(n)+1;switch(t.keyCode){case 27:n.closest("details")?(t.stopPropagation(),t.preventDefault(),n.closest("details").removeAttribute("open"),n.closest("details").querySelector(":scope summary").focus()):t.stopPropagation();break;case 32:case 13:break;case 35:t.stopPropagation(),t.preventDefault(),(i=e.querySelector("details[open]"))===null||i===void 0||i.removeAttribute("open"),Array.from(p)[p.length-1].focus();break;case 36:t.stopPropagation(),t.preventDefault(),(o=e.querySelector("details[open]"))===null||o===void 0||o.removeAttribute("open"),Array.from(p)[0].focus();break;case 38:if(t.stopPropagation(),t.preventDefault(),Array.from(r).indexOf(n)>-1)Array.from(r)[s]!=null?Array.from(r)[s].focus():Array.from(r)[r.length-1].focus();else if(n.closest("details")){const c=n.closest("details").querySelectorAll("a, button, :scope details > summary");subPrevIndex=Array.from(c).indexOf(n)-1,Array.from(c)[subPrevIndex]!=null?Array.from(c)[subPrevIndex].focus():Array.from(c)[c.length-1].focus()}break;case 40:if(t.stopPropagation(),t.preventDefault(),Array.from(r).indexOf(n)>-1)Array.from(r)[d]!=null?Array.from(r)[d].focus():Array.from(r)[0].focus();else if(n.closest("details")){const c=(l=n.closest("details"))===null||l===void 0?void 0:l.querySelectorAll("a, button, :scope details > summary");subNextIndex=Array.from(c).indexOf(n)+1,Array.from(c)[subNextIndex]!=null?Array.from(c)[subNextIndex].focus():Array.from(c)[0].focus()}break}}})};v("iam-tag");class z extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const a=document.createElement("template");a.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.
|
|
2
|
+
* iamKey v7.8.2--beta1
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/const r=a=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:a})};r("iam-tooltip");class s extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const t=document.createElement("template");t.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.
|
|
2
|
+
* iamKey v7.8.2--beta1
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/const b=a=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:a})};var m=function(a,t,r,o){function i(e){return e instanceof r?e:new r(function(c){c(e)})}return new(r||(r=Promise))(function(e,c){function l(n){try{s(o.next(n))}catch(u){c(u)}}function d(n){try{s(o.throw(n))}catch(u){c(u)}}function s(n){n.done?e(n.value):i(n.value).then(l,d)}s((o=o.apply(a,t||[])).next())})};const v=`<div class="video-wrapper">
|
|
5
5
|
<slot name="video"></slot>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.8.
|
|
2
|
+
* iamKey v7.8.2--beta1
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/const b=t=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:t})},g=(t,e,r)=>(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementAdded",element:e}),r.forEach(o=>{t.addEventListener(o,function(a){const i={event:o,element:e,target:a.target};Object.keys(a.detail).forEach(n=>{const c=a.detail[n];i[n]=c}),window.dataLayer.push(i)})}),!0),h=`<div class="wrapper">
|
|
5
5
|
<div class="card__head" part="head">
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
<style>
|
|
28
28
|
${this.hasAttribute("css")?`@import "${this.getAttribute("css")}";`:""}
|
|
29
29
|
|
|
30
|
-
:host{position:relative;border-radius:var(--card-border-radius);margin-bottom:2rem;display:block;outline:var(--card-outline);outline-offset:-2px}.wrapper{border-radius:var(--card-border-radius);box-shadow:var(--card-box-shadow);position:relative;font-weight:bold;font-size:var(--card-fs);line-height:var(--card-lh);color:var(--colour-primary);min-height:100%;width:100%;text-align:left;display:flex;flex-direction:column;overflow:hidden;z-index:0;background:var(--colour-canvas-2);outline:2px solid var(--outline-colour, --colour-canvas-2);outline-offset:-2px}.wrapper>*{width:100%;box-sizing:border-box}:host-context(:is(a,label,button)){margin-bottom:0 !important}:host(.border-0){box-shadow:none;--card-left-padding: 0rem;outline-offset:1px !important}.card__head:has(img){min-height:var(--card-head-height);position:relative;overflow:hidden;background:rgba(0,0,0,.1);z-index:-1}.card__head:has(img)>img{position:absolute;top:0;left:0;margin:-2px;width:calc(100% + 4px);height:calc(100% + 4px);object-fit:cover}.card__head:has(img):after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--card-head-overlay)}.card__body{padding:var(--card-body-top-padding) var(--card-right-padding) var(--card-body-bottom-padding) var(--card-left-padding)}.card__footer{margin-top:auto;padding:var(--card-footer-top-padding, 0) var(--card-right-padding) var(--card-footer-bottom-padding, 0) var(--card-left-padding)}::slotted(i){font-size:1.5rem !important;margin:-3px var(--card-icon-right) 0 0 !important;vertical-align:middle !important}::slotted(i:not(.fa-light):not(.fa-bold)){font-weight:400 !important}::slotted(.badge){margin-bottom:.375rem !important}::slotted(span:not(.badge,.title)){display:block !important;font-weight:normal !important;font-size:var(--card-body-fs, 1rem) !important;line-height:var(--card-body-lh, inherit) !important}::slotted(small){padding-top:var(--card-gap, 1rem) !important;display:block !important;font-weight:normal !important;padding-bottom:0 !important;color:var(--colour-body)}::slotted(span:not(.badge,.title):not([class*=pt-])){padding-top:var(--card-gap, 1.5rem) !important}::slotted(:is(a,button)[slot=footer]){margin-bottom:var(--card-footer-bottom-padding) !important}.card__body:has(.card__total){--card-head-top-padding: 1rem;--card-head-bottom-padding: 1.5rem}.card__total{font-size:3rem;line-height:3rem;padding-right:1rem;margin-top:.5rem}.card__total i{font-family:var(--fa-style-family, "Font Awesome 7 Pro");font-weight:var(--fa-style, 900);display:block !important;font-size:2.5rem !important;margin:.5rem 0 .5rem 0 !important}::slotted([slot=total-icon]){display:block !important;font-size:2.5rem !important;margin:.5rem 0 .5rem 0 !important;line-height:2.5rem}.card__head:has(img)~.card__badges{position:absolute;top:0;text-align:right;left:0;z-index:9}.card__badges:not(.empty){padding:var(--card-badges-top-padding, 1rem) var(--card-right-padding) var(--card-badges-bottom-padding, 0) var(--card-left-padding);margin-bottom:-1.5rem}.card__head:not(:has(img))~.card__badges{text-align:end}@layer elements{body:not(.js-enabled) dialog:not([open]):target{display:block}dialog,[popover]{--dialog-padding: 0.5rem;--mh-padding-inline: var(--dialog-padding);color:inherit;width:fit-content;height:fit-content;border:none;overscroll-behavior:contain;outline:var(--contrast-outline-width, 0px) solid var(--colour-primary);font-size:1rem;background:var(--dropdown-bg);margin-block:var(--dropdown-margin-block);padding:var(--dialog-padding);border-radius:var(--dropdown-border-radius);box-shadow:var(--dropdown-box-shadow)}dialog>*:last-child,[popover]>*:last-child{margin-bottom:0}dialog>:is(p):last-child,[popover]>:is(p):last-child{padding-bottom:0}dialog[open]:has(iam-modal){--modal-inner-dialog-display: contents;place-self:center}@media(prefers-color-scheme: light){dialog[open]:has(iam-modal){color-scheme:light;--colour-body: #595959;--colour-heading: var(--colour-primary-theme)}}dialog::backdrop{background:rgba(0,0,0,.3);backdrop-filter:blur(4px);overscroll-behavior:contain}dialog[open],[popover]:popover-open{display:flex;flex-direction:column}*:not(.dialog__wrapper)>dialog[open],*:not(.dialog__wrapper)>[popover]:popover-open{overflow-y:auto;width:90vw;max-width:20.25rem;max-height:min(90vh,47rem);overscroll-behavior:contain}@media screen and (min-width: 36em){*:not(.dialog__wrapper)>dialog[open],*:not(.dialog__wrapper)>[popover]:popover-open{min-width:20.9375rem;width:fit-content;max-width:42.875rem}}@media screen and (min-width: 62em){*:not(.dialog__wrapper)>dialog[open],*:not(.dialog__wrapper)>[popover]:popover-open{min-width:28.375rem;width:fit-content;max-width:46rem}}details.bg-light{margin-inline:calc(var(--dialog-padding)*-1);padding-inline:var(--dialog-padding)}}@layer elements{button{border-radius:0;text-transform:none;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button:focus:not(:focus-visible){outline:0}:is(button,[type=button],[type=reset],[type=submit],[role=button]){-webkit-appearance:button;&:not(:disabled){cursor:pointer}}.btn{--btn-margin: 1rem;--btn-padding-block: 0.75rem;--btn-padding-inline: 2.5rem;--btn-border-width: 2px;--btn-font-size: 1.125rem;--btn-line-height: 1.25rem;display:inline-block;font-weight:bold;text-align:left;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;color:var(--colour-btn);font-size:var(--btn-font-size);line-height:var(--btn-line-height);padding:var(--btn-padding-block) var(--btn-padding-inline);border-radius:1.5rem;margin-bottom:var(--btn-margin);background:none;transition:border .5s,background .5s,color .5s;height:auto;max-width:fit-content;appearance:none;white-space:nowrap;&:not(.btn-secondary)[class*=colour-]{--colour-btn-bg: var(--colour);--colour-btn-border: var(--colour)}&:is(.colour-primary,.colour-dark,.colour-danger,.colour-black){--colour-btn: #fcfcfc}&:not(.border-0){background:var(--colour-btn-bg);border:var(--btn-border-width) solid var(--colour-btn-border)}&:not(:last-child){margin-right:var(--btn-margin)}}@media screen and (min-width: 36em){.btn{--btn-margin: 1.5rem}}a:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) .btn,.btn:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){outline:0;text-decoration:none;background:var(--colour-btn-bg-hover);color:var(--colour-btn-hover);border-radius:1.5rem}a:is(:active,.active):not([disabled]) .btn,.btn:is(:active,.active):not([disabled]){filter:brightness(85%);transition:background .1s,color .1s;color:var(--colour-btn);border-radius:1.5rem}a:disabled .btn,.btn:disabled,[disabled] .btn,.btn[disabled]{opacity:.4;cursor:not-allowed}.btn.btn-complete{--colour: var(--colour-success);--colour-btn-bg-hover: var(--colour);--colour-btn-border-hover: var(--colour);--colour-btn-hover: var(--colour-primary-theme);--colour-btn-bg: var(--colour);--colour-btn-border: var(--colour);position:relative;padding-left:3.5rem;padding-right:3.5rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.btn-complete,.btn.btn-complete:is(:hover,:focus,.hover):not([disabled],:active,.active){padding-left:2.5rem;padding-right:2.5rem;&:before{content:"\uF00C";font-family:var(--fa-family-classic);margin-right:1rem;font-style:inherit;width:1rem;display:inline-block;height:var(--btn-line-height);vertical-align:bottom}}.btn.btn-sm{--btn-padding-block: 0.5rem;--btn-padding-inline: 2rem;--btn-margin: 0.5rem;--btn-font-size: 1rem}.btn{&[class*=fa-]:before{content:var(--fa);font-family:var(--fa-family-classic)}&[class*=fa-after]{padding-right:4rem}&[class*=fa-after]:before{margin-right:0;margin-right:.375rem;position:absolute;right:1.5rem;top:50%;transform:translate(0, -50%)}&:not(.btn-compact):before{margin-right:1rem}i[class*=fa-]{--fa-width: 1em;font-family:var(--fa-family-classic);margin-right:1rem;line-height:1em;font-style:inherit;&:not(:first-child){margin-left:1rem;margin-right:0}}}.btn.btn--prompt{&:after{content:"";height:var(--btn-line-height);width:1rem;display:inline-block;background:currentColor;mask-image:var(--icon-arrow);mask-size:100%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;vertical-align:bottom;margin-left:1rem}}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.btn--prompt,.btn.btn--prompt:is(:hover,:focus,.hover):not([disabled],:active,.active){&:after{margin-left:1.5rem;margin-right:-0.5rem}}.btn-filter{&:after{content:"\uF1DE";display:inline-block;margin-left:1em;margin-bottom:-0.15em;height:1em;width:1em;z-index:var(--index-focus);color:currentColor;font-weight:300;font-family:var(--fa-family-classic)}}}@layer elements{.btn-secondary{color:var(--colour-btn-secondary);&:not(.border-0){background:var(--colour-btn-secondary-bg);border:2px solid var(--colour-btn-secondary-border)}}a:is(:hover,:focus,.hover,:active,.active):not([disabled]) .btn-secondary,.btn-secondary:is(:hover,:focus,.hover,:focus-within,:active,.active):not([disabled]){background:var(--colour-btn-secondary-bg-hover);color:var(--colour-btn-secondary-hover)}}@layer elements{.btn.btn-tertiary{background-color:transparent;border:none;color:var(--colour-link);margin:0 var(--btn-margin) var(--btn-margin) 0;padding:0;font-size:1.125rem;font-weight:normal;line-height:1.5rem;min-height:1.5rem;position:relative;&:after{position:absolute;content:"";top:100%;left:50%;height:2px;width:100%;transform:translate(-50%, 0);background:var(--colour-underline);transition:width .5s}&.text-decoration-none:after{width:0%}&[class*=fa-]{margin-left:0;margin-right:.5rem}&[class*=fa-]:not(:first-child){margin-left:.5rem;margin-right:0}&:is(:hover,:focus,.hover,:focus-within):not([disabled],:disabled,:active,.active){&:after{width:60% !important}}&:is(:active,.active):not([disabled],:disabled){color:var(--colour-active)}}}@layer elements{.btn-action{--btn-border-width: 1px;--btn-padding-block: 0.3125rem /* 5px */;--btn-padding-inline: 0.3125rem /* 5px */;--btn-margin: 0.5rem;border-radius:.25rem !important;font-weight:400 !important;font-size:1rem;line-height:1.25rem;&:not(.btn-primary){color:var(--colour-heading)}&:not(.btn-primary):not(.border-0){background-color:var(--colour-canvas-2);border:var(--btn-border-width) solid var(--colour-muted)}&.btn[class*=fa-]:before{content:var(--fa);margin-right:.375rem}&.icon-only{position:relative;text-indent:-300vw;overflow:hidden;min-width:1.75rem;&:before{position:absolute;left:0;top:0;min-width:1.75rem;text-align:center;text-indent:0;padding-inline:.25rem;line-height:1.85rem}}a:not(.btn-primary):is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) &,&:not(.btn-primary):is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){background:var(--colour-btn-action-hover-bg)}.btn-primary:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) &,&.btn-primary:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){filter:brightness(90%);background:var(--colour-btn-bg);border:var(--btn-border-width) solid var(--colour-btn-border);color:var(--colour-btn)}a:is(:active,.active):not([disabled]):not(.btn-primary) &,&:is(:active,.active):not([disabled]):not(.btn-primary){filter:brightness(85%);transition:all .1s;color:var(--colour-heading)}}.btn-action:not(.btn-compact).fa-compact-only:before{display:none !important}}@layer elements{.btn-compact{--compact-size: 3rem;padding:0 !important;margin-bottom:.5rem;text-align:center;width:var(--compact-size);min-width:var(--compact-size);max-width:var(--compact-size);height:var(--compact-size) !important;min-height:var(--compact-size) !important;max-height:var(--compact-size) !important;align-content:center;line-height:1 !important;text-indent:-500px;overflow:hidden;position:relative;font-size:1rem;&:not(:last-child){margin-right:.5rem}&:before{content:var(--fa);position:absolute;display:block;top:0;left:0;width:100%;height:100%;text-indent:0;line-height:calc(var(--compact-size) - .25rem);font-weight:900}[class*=fa-]:before{line-height:calc(var(--compact-size) - .25rem);@container style(--theme: dark){color:white}}&.btn-sm{--compact-size: 2.5rem;font-size:1rem;padding:0 !important}&.btn-action{--compact-size: 2rem;font-size:1rem;&:before{font-size:1em;font-weight:400}}&.btn-secondary{--colour-btn-bg: transparent;--colour-btn-border: transparent;border-color:transparent;&:not([class*=colour-]){--colour: var(--colour-light)}}&.btn-secondary:is(:hover,:focus,.hover,:active,.active,[aria-expanded],:focus-within):not([disabled]):not(.btn-collapse){background-color:var(--colour);color:var(--colour-primary-theme);border-color:var(--colour);&:is(.colour-primary,.colour-dark,.colour-danger,.colour-black){color:var(--colour-inverted)}}&[data-number]{position:relative}&[data-number]:after{content:attr(data-number);position:absolute;top:.5em;z-index:99;background:var(--colour-danger);height:1.5em;width:1.5em;border-radius:50%;text-indent:0;left:50%;font-size:.5em;line-height:1.5em;text-align:center;color:white;letter-spacing:-0.1em;font-family:arial,sans-serif}}.btn-compact{&:is(.fa-left,.fa-chevron-left,.fa-right,.fa-chevron-right,.fa-up,.fa-chevron-up,.fa-down,.fa-chevron-down,.fa-plus,.fa-bars,.fa-edit,.fa-envelope,.fa-calendar){--iso-display: block;--iso-font-size: 1.5rem;--iso-border-radius: 50%;--iso-text-indent: -500px}}@container style(--font-body){.btn-compact{font-size:var(--iso-font-size, 0.6rem) !important;text-indent:var(--iso-text-indent, 0px);white-space:initial;&:not(.btn-action){border-radius:var(--iso-border-radius, 0.25rem) !important}&:before{display:var(--iso-display, none);font-family:monospace !important;content:var(--iso) !important}}}@container style(--fa-font-regular){.btn-compact{text-indent:-500px;font-size:1rem !important;&:not(.btn-action){border-radius:50% !important}&:before{font-family:"Font Awesome 7 Pro" !important;content:var(--fa) !important;display:block}}}}@layer elements{.btn[popovertarget]{position:relative;anchor-name:--button2;&>.fa-chevron-down{display:none}&:not(:has(i)):not(.no-icon):after{content:"";display:inline-block;margin-right:.25em;margin-left:1em;height:.8em;width:.8em;z-index:var(--index-focus);background:currentColor;mask-image:var(--icon-arrow);mask-size:100%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;transform:rotate(90deg)}&[aria-pressed]:after{transform:rotate(270deg)}}.btn:has(select){position:relative;padding:0;max-width:fit-content;min-width:fit-content;width:fit-content;select{all:unset !important;padding:var(--btn-padding-block) var(--btn-padding-inline) !important;padding-right:calc(var(--btn-padding-inline) + 2rem) !important;border-radius:1.5rem !important;appearance:none !important;background:none !important;border:none !important;color:currentColor !important;display:block;outline:none;font-weight:inherit !important;font-size:var(--btn-font-size) !important;line-height:var(--btn-line-height) !important;field-sizing:content !important;appearance:base-select !important}&:after{position:absolute;top:.625rem;right:1.5rem;content:"";height:1.5rem;width:1rem;display:inline-block;background:currentColor;mask-image:var(--icon-arrow);mask-size:100%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;vertical-align:bottom;margin-left:1rem;transform:rotate(90deg);pointer-events:none}}.btn-action:has(select){padding-block:0;padding-right:2rem;font-size:1em;select{margin:0rem 0rem !important;padding-right:2rem !important;margin-right:-2rem !important;font-size:1rem !important}&:after{top:.2rem;right:.5rem}}}@layer elements{.btn__group{display:flex;flex-direction:column;row-gap:var(--gap);reading-flow:source-order;margin-bottom:1.5rem;.btn-compact{max-width:fit-content;margin-inline:auto}}:where(.btn__group,iam-modal){reading-flow:source-order;.btn{margin-inline-end:0;width:100%;max-width:100%;text-align:center;white-space:normal;margin:0;&:not(:last-child){margin-right:0}}.btn-tertiary{max-width:fit-content;margin-block:0 !important;margin-inline:auto !important;order:3;reading-order:3}.btn-secondary{order:2;reading-order:2}.btn-primary{order:1;reading-order:1;margin:0;&:not(:last-child){margin:0}}}:is(iam-form,form) .btn__group{padding-top:1rem}@container (min-width: 36em){.btn__group{flex-direction:row;row-gap:0;gap:var(--gap);flex-wrap:wrap;.btn-tertiary{max-width:fit-content;margin-inline:0 !important;margin-block:auto;order:1}.btn-secondary{order:2}.btn-primary{order:3}.btn-compact{margin-inline:0;margin-block:auto}}:where(iam-modal,.btn__group){.btn{max-width:fit-content;white-space:nowrap;margin-block:auto}}.btn__group{.btn-tertiary{reading-order:1}.btn-secondary{reading-order:2}.btn-primary{reading-order:3}}iam-modal{.btn-tertiary{reading-order:3;order:1}.btn-secondary{order:2;reading-order:2}.btn-primary{order:3;reading-order:1}}.btn__group.text-end{justify-content:flex-end}:is(iam-form,form) .btn__group{justify-content:flex-end;padding-top:3rem}iam-modal .btn__group:last-child .btn,dialog .btn__group:last-child .btn{margin-bottom:0}}}:host{overscroll-behavior:contain;display:block;container-type:inline-size}::slotted(dialog){display:contents !important}::slotted(button){margin:0 !important}@layer components{dialog[open]{display:var(--modal-inner-dialog-display, block)}dialog{width:90vw;max-width:20.25rem;max-height:min(90vh,47rem);overscroll-behavior:contain;overflow-y:hidden;place-self:center}@media screen and (min-width: 36em){dialog{--dialog-padding: 2rem;min-width:20.9375rem;width:fit-content;max-width:42.875rem}}@media screen and (min-width: 62em){dialog{min-width:28.375rem;width:fit-content;max-width:46rem}}dialog::before{content:"";top:.75rem;bottom:auto;left:0;right:.5rem;height:calc(var(--dialog-padding) - .75rem);position:absolute;display:block;background:linear-gradient(0deg, transparent 0%, var(--colour-canvas-2) 100%);z-index:2}dialog::after{content:"";top:auto;bottom:.75rem;left:0;right:6px;height:calc(var(--dialog-padding) - .75rem);position:absolute;display:block;background:linear-gradient(180deg, transparent 0%, var(--colour-canvas-2) 100%);z-index:2}dialog .scroll{margin-inline:calc(var(--dialog-padding)*-1);margin-block:calc((var(--dialog-padding) - .75rem)*-1);padding-inline:var(--dialog-padding);padding-block:calc(var(--dialog-padding) - .75rem);height:100%;max-height:100%;overflow:auto;overscroll-behavior:contain;position:relative;z-index:1}dialog .scroll .fa-circle{display:none}dialog>button:first-child{position:absolute;top:.5rem;right:.5rem;z-index:var(--index-floating);margin:0}dialog>button:first-child:not(:hover,:focus,:active){background-color:var(--colour-canvas)}@container (min-width: 36em){dialog>button:first-child{top:calc(var(--dialog-padding) - .75rem);right:calc(var(--dialog-padding) - .75rem)}}dialog:has(.youtube-embed){padding:0 !important}dialog.dialog--fullwidth{max-width:69.5rem}dialog .btn__group{display:none}@media screen and (min-width: 36em){:host(.modal--sm) dialog[open]{min-width:20.9375rem;width:20.9375rem;max-width:20.9375rem}}@media screen and (min-width: 62em){:host(.modal--sm) dialog[open]{min-width:28.375rem;width:28.375rem;max-width:28.375rem}}@media screen and (min-width: 36em){:host(.modal--lg) dialog[open]{min-width:42.875rem;width:42.875rem;max-width:42.875rem}}@media screen and (min-width: 62em){:host(.modal--lg) dialog[open]{min-width:46rem;width:46rem;max-width:46rem}}dialog::backdrop{background:rgba(0,0,0,.3);backdrop-filter:blur(4px);overscroll-behavior:contain}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background-color:rgba(0,0,0,0);border-top:4px solid rgba(0,0,0,0)}::-webkit-scrollbar-thumb{background-color:#c1c1c1;width:6px;border-radius:3px}::slotted(p:last-child){padding-bottom:0 !important}::slotted(p:last-child){padding-bottom:0 !important}::slotted(:last-child){margin-bottom:0 !important}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open]{text-align:center}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open] .scroll>.fa-circle{display:var(--fa-display, block);line-height:1;font-size:3rem;height:3rem;width:3rem;margin-top:0;margin-bottom:0;line-height:1;color:var(--colour-heading);margin-inline:auto}@media screen and (min-width: 62em){:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open] .scroll>.fa-circle{font-size:4rem;height:4rem;width:4rem}}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open] .scroll>.fa-circle:has(>i){position:relative}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open] .scroll>.fa-circle>i:before{position:absolute;top:0;left:50%;transform:scale(0.5) translate(-100%, 0)}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open]>button:first-child{display:none}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open] .btn__group{display:flex;justify-content:center;padding-top:2rem;margin-bottom:0}:host([data-type=acknowledgement]) dialog[open] .btn__group [data-cancel]{display:none}}@keyframes spin{to{rotate:1turn}}@layer utilities{.text-heading{color:var(--colour-heading) !important}.text-primary{color:var(--colour-primary) !important}.bg-primary{--bg-colour: var(--colour-primary) !important;background-color:var(--colour-primary) !important}.hover-primary:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-primary) !important;background-color:var(--colour-primary) !important}.colour-primary{--colour: var(--colour-primary) !important}.text-secondary{color:var(--colour-secondary) !important}.bg-secondary{--bg-colour: var(--colour-secondary) !important;background-color:var(--colour-secondary) !important}.hover-secondary:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-secondary) !important;background-color:var(--colour-secondary) !important}.colour-secondary{--colour: var(--colour-secondary) !important}.text-info{color:var(--colour-info) !important}.bg-info{--bg-colour: var(--colour-info) !important;background-color:var(--colour-info) !important}.hover-info:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-info) !important;background-color:var(--colour-info) !important}.colour-info{--colour: var(--colour-info) !important}.text-warning{color:var(--colour-warning) !important}.bg-warning{--bg-colour: var(--colour-warning) !important;background-color:var(--colour-warning) !important}.hover-warning:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-warning) !important;background-color:var(--colour-warning) !important}.colour-warning{--colour: var(--colour-warning) !important}.text-success{color:var(--colour-success) !important}.bg-success{--bg-colour: var(--colour-success) !important;background-color:var(--colour-success) !important}.hover-success:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-success) !important;background-color:var(--colour-success) !important}.colour-success{--colour: var(--colour-success) !important}.text-complete{color:var(--colour-complete) !important}.bg-complete{--bg-colour: var(--colour-complete) !important;background-color:var(--colour-complete) !important}.hover-complete:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-complete) !important;background-color:var(--colour-complete) !important}.colour-complete{--colour: var(--colour-complete) !important}.text-danger{color:var(--colour-danger) !important}.bg-danger{--bg-colour: var(--colour-danger) !important;background-color:var(--colour-danger) !important}.hover-danger:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-danger) !important;background-color:var(--colour-danger) !important}.colour-danger{--colour: var(--colour-danger) !important}.text-dark{color:var(--colour-dark) !important}.bg-dark{--bg-colour: var(--colour-dark) !important;background-color:var(--colour-dark) !important}.hover-dark:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-dark) !important;background-color:var(--colour-dark) !important}.colour-dark{--colour: var(--colour-dark) !important}.text-light{color:var(--colour-light) !important}.bg-light{--bg-colour: var(--colour-light) !important;background-color:var(--colour-light) !important}.hover-light:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-light) !important;background-color:var(--colour-light) !important}.colour-light{--colour: var(--colour-light) !important}.text-canvas{color:var(--colour-canvas) !important}.bg-canvas{--bg-colour: var(--colour-canvas) !important;background-color:var(--colour-canvas) !important}.hover-canvas:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-canvas) !important;background-color:var(--colour-canvas) !important}.colour-canvas{--colour: var(--colour-canvas) !important}.text-white{color:var(--colour-white) !important}.bg-white{--bg-colour: var(--colour-white) !important;background-color:var(--colour-white) !important}.hover-white:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-white) !important;background-color:var(--colour-white) !important}.colour-white{--colour: var(--colour-white) !important}.text-body{color:var(--colour-body) !important}.text-muted{color:var(--colour-muted) !important}}@layer components{.video-wrapper{display:block;position:relative;width:100%;height:auto;aspect-ratio:16/9;background-color:var(--colour-light);margin-bottom:2rem;cursor:pointer}.video-wrapper:before{font-family:var(--fa-family-classic);content:"\uF3F4";position:absolute;font-weight:900;color:var(--colour-heading);animation:spin 1.5s infinite steps(10);font-size:1.5em;top:50%;left:50%;translate:-50% -50%;z-index:1}.video-wrapper img{position:absolute;inset:0;z-index:3;width:calc(100% + 2px);height:100%;object-fit:cover;margin-inline:-1px}.video-wrapper button{pointer-events:none;position:absolute;top:50%;left:50%;z-index:4;transform:translate(-50%, -50%)}.video-wrapper:is(:hover,:focus):not(:active) button{--colour-btn-bg: var(--colour-white)!important;--colour-btn-border: var(--colour-white)!important}.video-wrapper:is(:active) button{filter:brightness(85%)}dialog .video-wrapper{margin-bottom:0}}::slotted(.embed){position:absolute;inset:0;z-index:4;aspect-ratio:16/9;width:calc(100% + 2px);height:100%;margin-inline:-1px;margin-block:0}@layer components{dialog{width:calc(100% - 6rem) !important;max-width:50rem !important;padding:0;aspect-ratio:16/9;overflow:hidden}dialog[open]::before{display:none}dialog[open]::after{display:none}dialog .video-wrapper button{display:none}}:host{--card-right-padding: 1rem;--card-head-height: 10rem;--line-height: 2rem;display:flex;font-size:1.5rem}:host(:not(.video-card--top)) .card__head{order:2}@layer components{.card__head{cursor:pointer;position:relative}.card__head>*:not(img){z-index:-1}.card__head .fa-play{position:absolute;z-index:1 !important;top:50%;left:50%;pointer-events:none;margin:0 !important;translate:-50% -50%}.card__head:is(:hover,:focus):not(:active) .fa-play{--colour-btn-bg: var(--colour-white)!important;--colour-btn-border: var(--colour-white)!important}.card__head:is(:active) .fa-play{filter:brightness(85%)}}/*# sourceMappingURL=assets/css/components/video-card.component.css.map */
|
|
30
|
+
:host{position:relative;border-radius:var(--card-border-radius);margin-bottom:2rem;display:block;outline:var(--card-outline);outline-offset:-2px}.wrapper{border-radius:var(--card-border-radius);box-shadow:var(--card-box-shadow);position:relative;font-weight:bold;font-size:var(--card-fs);line-height:var(--card-lh);color:var(--colour-primary);min-height:100%;width:100%;text-align:left;display:flex;flex-direction:column;overflow:hidden;z-index:0;background:var(--colour-canvas-2);outline:2px solid var(--outline-colour, --colour-canvas-2);outline-offset:-2px}.wrapper>*{width:100%;box-sizing:border-box}:host-context(:is(a,label,button)){margin-bottom:0 !important}:host(.border-0){box-shadow:none;--card-left-padding: 0rem;outline-offset:1px !important}.card__head:has(img){min-height:var(--card-head-height);position:relative;overflow:hidden;background:rgba(0,0,0,.1);z-index:-1}.card__head:has(img)>img{position:absolute;top:0;left:0;margin:-2px;width:calc(100% + 4px);height:calc(100% + 4px);object-fit:cover}.card__head:has(img):after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--card-head-overlay)}.card__body{padding:var(--card-body-top-padding) var(--card-right-padding) var(--card-body-bottom-padding) var(--card-left-padding)}.card__footer{margin-top:auto;padding:var(--card-footer-top-padding, 0) var(--card-right-padding) var(--card-footer-bottom-padding, 0) var(--card-left-padding)}::slotted(i){font-size:1.5rem !important;margin:-3px var(--card-icon-right) 0 0 !important;vertical-align:middle !important}::slotted(i:not(.fa-light):not(.fa-bold)){font-weight:400 !important}::slotted(.badge){margin-bottom:.375rem !important}::slotted(span:not(.badge,.title)){display:block !important;font-weight:normal !important;font-size:var(--card-body-fs, 1rem) !important;line-height:var(--card-body-lh, inherit) !important;overflow-x:clip;text-overflow:ellipsis}::slotted(small){padding-top:var(--card-gap, 1rem) !important;display:block !important;font-weight:normal !important;padding-bottom:0 !important;color:var(--colour-body)}::slotted(span:not(.badge,.title):not([class*=pt-])){padding-top:var(--card-gap, 1.5rem) !important}::slotted(:is(a,button)[slot=footer]){margin-bottom:var(--card-footer-bottom-padding) !important}.card__body:has(.card__total){--card-head-top-padding: 1rem;--card-head-bottom-padding: 1.5rem}.card__total{font-size:3rem;line-height:3rem;padding-right:1rem;margin-top:.5rem}.card__total i{font-family:var(--fa-style-family, "Font Awesome 7 Pro");font-weight:var(--fa-style, 900);display:block !important;font-size:2.5rem !important;margin:.5rem 0 .5rem 0 !important}::slotted([slot=total-icon]){display:block !important;font-size:2.5rem !important;margin:.5rem 0 .5rem 0 !important;line-height:2.5rem}.card__head:has(img)~.card__badges{position:absolute;top:0;text-align:right;left:0;z-index:9}.card__badges:not(.empty){padding:var(--card-badges-top-padding, 1rem) var(--card-right-padding) var(--card-badges-bottom-padding, 0) var(--card-left-padding);margin-bottom:-1.5rem}.card__head:not(:has(img))~.card__badges{text-align:end}@layer elements{body:not(.js-enabled) dialog:not([open]):target{display:block}dialog,[popover]{--dialog-padding: 0.5rem;--mh-padding-inline: var(--dialog-padding);color:inherit;width:fit-content;height:fit-content;border:none;overscroll-behavior:contain;outline:var(--contrast-outline-width, 0px) solid var(--colour-primary);font-size:1rem;background:var(--dropdown-bg);margin-block:var(--dropdown-margin-block);padding:var(--dialog-padding);border-radius:var(--dropdown-border-radius);box-shadow:var(--dropdown-box-shadow)}dialog>*:last-child,[popover]>*:last-child{margin-bottom:0}dialog>:is(p):last-child,[popover]>:is(p):last-child{padding-bottom:0}dialog[open]:has(iam-modal){--modal-inner-dialog-display: contents;place-self:center}@media(prefers-color-scheme: light){dialog[open]:has(iam-modal){color-scheme:light;--colour-body: #595959;--colour-heading: var(--colour-primary-theme)}}dialog::backdrop{background:rgba(0,0,0,.3);backdrop-filter:blur(4px);overscroll-behavior:contain}dialog[open],[popover]:popover-open{display:flex;flex-direction:column}*:not(.dialog__wrapper)>dialog[open],*:not(.dialog__wrapper)>[popover]:popover-open{overflow-y:auto;width:90vw;max-width:20.25rem;max-height:min(90vh,47rem);overscroll-behavior:contain}@media screen and (min-width: 36em){*:not(.dialog__wrapper)>dialog[open],*:not(.dialog__wrapper)>[popover]:popover-open{min-width:20.9375rem;width:fit-content;max-width:42.875rem}}@media screen and (min-width: 62em){*:not(.dialog__wrapper)>dialog[open],*:not(.dialog__wrapper)>[popover]:popover-open{min-width:28.375rem;width:fit-content;max-width:46rem}}details.bg-light{margin-inline:calc(var(--dialog-padding)*-1);padding-inline:var(--dialog-padding)}}@layer elements{button{border-radius:0;text-transform:none;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button:focus:not(:focus-visible){outline:0}:is(button,[type=button],[type=reset],[type=submit],[role=button]){-webkit-appearance:button;&:not(:disabled){cursor:pointer}}.btn{--btn-margin: 1rem;--btn-padding-block: 0.75rem;--btn-padding-inline: 2.5rem;--btn-border-width: 2px;--btn-font-size: 1.125rem;--btn-line-height: 1.25rem;display:inline-block;font-weight:bold;text-align:left;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;color:var(--colour-btn);font-size:var(--btn-font-size);line-height:var(--btn-line-height);padding:var(--btn-padding-block) var(--btn-padding-inline);border-radius:1.5rem;margin-bottom:var(--btn-margin);background:none;transition:border .5s,background .5s,color .5s;height:auto;max-width:fit-content;appearance:none;white-space:nowrap;&:not(.btn-secondary)[class*=colour-]{--colour-btn-bg: var(--colour);--colour-btn-border: var(--colour)}&:is(.colour-primary,.colour-dark,.colour-danger,.colour-black){--colour-btn: #fcfcfc}&:not(.border-0){background:var(--colour-btn-bg);border:var(--btn-border-width) solid var(--colour-btn-border)}&:not(:last-child){margin-right:var(--btn-margin)}}@media screen and (min-width: 36em){.btn{--btn-margin: 1.5rem}}a:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) .btn,.btn:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){outline:0;text-decoration:none;background:var(--colour-btn-bg-hover);color:var(--colour-btn-hover);border-radius:1.5rem}a:is(:active,.active):not([disabled]) .btn,.btn:is(:active,.active):not([disabled]){filter:brightness(85%);transition:background .1s,color .1s;color:var(--colour-btn);border-radius:1.5rem}a:disabled .btn,.btn:disabled,[disabled] .btn,.btn[disabled]{opacity:.4;cursor:not-allowed}.btn.btn-complete{--colour: var(--colour-success);--colour-btn-bg-hover: var(--colour);--colour-btn-border-hover: var(--colour);--colour-btn-hover: var(--colour-primary-theme);--colour-btn-bg: var(--colour);--colour-btn-border: var(--colour);position:relative;padding-left:3.5rem;padding-right:3.5rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.btn-complete,.btn.btn-complete:is(:hover,:focus,.hover):not([disabled],:active,.active){padding-left:2.5rem;padding-right:2.5rem;&:before{content:"\uF00C";font-family:var(--fa-family-classic);margin-right:1rem;font-style:inherit;width:1rem;display:inline-block;height:var(--btn-line-height);vertical-align:bottom}}.btn.btn-sm{--btn-padding-block: 0.5rem;--btn-padding-inline: 2rem;--btn-margin: 0.5rem;--btn-font-size: 1rem}.btn{&[class*=fa-]:before{content:var(--fa);font-family:var(--fa-family-classic)}&[class*=fa-after]{padding-right:4rem}&[class*=fa-after]:before{margin-right:0;margin-right:.375rem;position:absolute;right:1.5rem;top:50%;transform:translate(0, -50%)}&:not(.btn-compact):before{margin-right:1rem}i[class*=fa-]{--fa-width: 1em;font-family:var(--fa-family-classic);margin-right:1rem;line-height:1em;font-style:inherit;&:not(:first-child){margin-left:1rem;margin-right:0}}}.btn.btn--prompt{&:after{content:"";height:var(--btn-line-height);width:1rem;display:inline-block;background:currentColor;mask-image:var(--icon-arrow);mask-size:100%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;vertical-align:bottom;margin-left:1rem}}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.btn--prompt,.btn.btn--prompt:is(:hover,:focus,.hover):not([disabled],:active,.active){&:after{margin-left:1.5rem;margin-right:-0.5rem}}.btn-filter{&:after{content:"\uF1DE";display:inline-block;margin-left:1em;margin-bottom:-0.15em;height:1em;width:1em;z-index:var(--index-focus);color:currentColor;font-weight:300;font-family:var(--fa-family-classic)}}}@layer elements{.btn-secondary{color:var(--colour-btn-secondary);&:not(.border-0){background:var(--colour-btn-secondary-bg);border:2px solid var(--colour-btn-secondary-border)}}a:is(:hover,:focus,.hover,:active,.active):not([disabled]) .btn-secondary,.btn-secondary:is(:hover,:focus,.hover,:focus-within,:active,.active):not([disabled]){background:var(--colour-btn-secondary-bg-hover);color:var(--colour-btn-secondary-hover)}}@layer elements{.btn.btn-tertiary{background-color:transparent;border:none;color:var(--colour-link);margin:0 var(--btn-margin) var(--btn-margin) 0;padding:0;font-size:1.125rem;font-weight:normal;line-height:1.5rem;min-height:1.5rem;position:relative;&:after{position:absolute;content:"";top:100%;left:50%;height:2px;width:100%;transform:translate(-50%, 0);background:var(--colour-underline);transition:width .5s}&.text-decoration-none:after{width:0%}&[class*=fa-]{margin-left:0;margin-right:.5rem}&[class*=fa-]:not(:first-child){margin-left:.5rem;margin-right:0}&:is(:hover,:focus,.hover,:focus-within):not([disabled],:disabled,:active,.active){&:after{width:60% !important}}&:is(:active,.active):not([disabled],:disabled){color:var(--colour-active)}}}@layer elements{.btn-action{--btn-border-width: 1px;--btn-padding-block: 0.3125rem /* 5px */;--btn-padding-inline: 0.3125rem /* 5px */;--btn-margin: 0.5rem;border-radius:.25rem !important;font-weight:400 !important;font-size:1rem;line-height:1.25rem;&:not(.btn-primary){color:var(--colour-heading)}&:not(.btn-primary):not(.border-0){background-color:var(--colour-canvas-2);border:var(--btn-border-width) solid var(--colour-muted)}&.btn[class*=fa-]:before{content:var(--fa);margin-right:.375rem}&.icon-only{position:relative;text-indent:-300vw;overflow:hidden;min-width:1.75rem;&:before{position:absolute;left:0;top:0;min-width:1.75rem;text-align:center;text-indent:0;padding-inline:.25rem;line-height:1.85rem}}a:not(.btn-primary):is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) &,&:not(.btn-primary):is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){background:var(--colour-btn-action-hover-bg)}.btn-primary:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) &,&.btn-primary:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){filter:brightness(90%);background:var(--colour-btn-bg);border:var(--btn-border-width) solid var(--colour-btn-border);color:var(--colour-btn)}a:is(:active,.active):not([disabled]):not(.btn-primary) &,&:is(:active,.active):not([disabled]):not(.btn-primary){filter:brightness(85%);transition:all .1s;color:var(--colour-heading)}}.btn-action:not(.btn-compact).fa-compact-only:before{display:none !important}}@layer elements{.btn-compact{--compact-size: 3rem;padding:0 !important;margin-bottom:.5rem;text-align:center;width:var(--compact-size);min-width:var(--compact-size);max-width:var(--compact-size);height:var(--compact-size) !important;min-height:var(--compact-size) !important;max-height:var(--compact-size) !important;align-content:center;line-height:1 !important;text-indent:-500px;overflow:hidden;position:relative;font-size:1rem;&:not(:last-child){margin-right:.5rem}&:before{content:var(--fa);position:absolute;display:block;top:0;left:0;width:100%;height:100%;text-indent:0;line-height:calc(var(--compact-size) - .25rem);font-weight:900}[class*=fa-]:before{line-height:calc(var(--compact-size) - .25rem);@container style(--theme: dark){color:white}}&.btn-sm{--compact-size: 2.5rem;font-size:1rem;padding:0 !important}&.btn-action{--compact-size: 2rem;font-size:1rem;&:before{font-size:1em;font-weight:400}}&.btn-secondary{--colour-btn-bg: transparent;--colour-btn-border: transparent;border-color:transparent;&:not([class*=colour-]){--colour: var(--colour-light)}}&.btn-secondary:is(:hover,:focus,.hover,:active,.active,[aria-expanded],:focus-within):not([disabled]):not(.btn-collapse){background-color:var(--colour);color:var(--colour-primary-theme);border-color:var(--colour);&:is(.colour-primary,.colour-dark,.colour-danger,.colour-black){color:var(--colour-inverted)}}&[data-number]{position:relative}&[data-number]:after{content:attr(data-number);position:absolute;top:.5em;z-index:99;background:var(--colour-danger);height:1.5em;width:1.5em;border-radius:50%;text-indent:0;left:50%;font-size:.5em;line-height:1.5em;text-align:center;color:white;letter-spacing:-0.1em;font-family:arial,sans-serif}}.btn-compact{&:is(.fa-left,.fa-chevron-left,.fa-right,.fa-chevron-right,.fa-up,.fa-chevron-up,.fa-down,.fa-chevron-down,.fa-plus,.fa-bars,.fa-edit,.fa-envelope,.fa-calendar){--iso-display: block;--iso-font-size: 1.5rem;--iso-border-radius: 50%;--iso-text-indent: -500px}}@container style(--font-body){.btn-compact{font-size:var(--iso-font-size, 0.6rem) !important;text-indent:var(--iso-text-indent, 0px);white-space:initial;&:not(.btn-action){border-radius:var(--iso-border-radius, 0.25rem) !important}&:before{display:var(--iso-display, none);font-family:monospace !important;content:var(--iso) !important}}}@container style(--fa-font-regular){.btn-compact{text-indent:-500px;font-size:1rem !important;&:not(.btn-action){border-radius:50% !important}&:before{font-family:"Font Awesome 7 Pro" !important;content:var(--fa) !important;display:block}}}}@layer elements{.btn[popovertarget]{position:relative;anchor-name:--button2;&>.fa-chevron-down{display:none}&:not(:has(i)):not(.no-icon):after{content:"";display:inline-block;margin-right:.25em;margin-left:1em;height:.8em;width:.8em;z-index:var(--index-focus);background:currentColor;mask-image:var(--icon-arrow);mask-size:100%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;transform:rotate(90deg)}&[aria-pressed]:after{transform:rotate(270deg)}}.btn:has(select){position:relative;padding:0;max-width:fit-content;min-width:fit-content;width:fit-content;select{all:unset !important;padding:var(--btn-padding-block) var(--btn-padding-inline) !important;padding-right:calc(var(--btn-padding-inline) + 2rem) !important;border-radius:1.5rem !important;appearance:none !important;background:none !important;border:none !important;color:currentColor !important;display:block;outline:none;font-weight:inherit !important;font-size:var(--btn-font-size) !important;line-height:var(--btn-line-height) !important;field-sizing:content !important;appearance:base-select !important}&:after{position:absolute;top:.625rem;right:1.5rem;content:"";height:1.5rem;width:1rem;display:inline-block;background:currentColor;mask-image:var(--icon-arrow);mask-size:100%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;vertical-align:bottom;margin-left:1rem;transform:rotate(90deg);pointer-events:none}}.btn-action:has(select){padding-block:0;padding-right:2rem;font-size:1em;select{margin:0rem 0rem !important;padding-right:2rem !important;margin-right:-2rem !important;font-size:1rem !important}&:after{top:.2rem;right:.5rem}}}@layer elements{.btn__group{display:flex;flex-direction:column;row-gap:var(--gap);reading-flow:source-order;margin-bottom:1.5rem;.btn-compact{max-width:fit-content;margin-inline:auto}}:where(.btn__group,iam-modal){reading-flow:source-order;.btn{margin-inline-end:0;width:100%;max-width:100%;text-align:center;white-space:normal;margin:0;&:not(:last-child){margin-right:0}}.btn-tertiary{max-width:fit-content;margin-block:0 !important;margin-inline:auto !important;order:3;reading-order:3}.btn-secondary{order:2;reading-order:2}.btn-primary{order:1;reading-order:1;margin:0;&:not(:last-child){margin:0}}}:is(iam-form,form) .btn__group{padding-top:1rem}@container (min-width: 36em){.btn__group{flex-direction:row;row-gap:0;gap:var(--gap);flex-wrap:wrap;.btn-tertiary{max-width:fit-content;margin-inline:0 !important;margin-block:auto;order:1}.btn-secondary{order:2}.btn-primary{order:3}.btn-compact{margin-inline:0;margin-block:auto}}:where(iam-modal,.btn__group){.btn{max-width:fit-content;white-space:nowrap;margin-block:auto}}.btn__group{.btn-tertiary{reading-order:1}.btn-secondary{reading-order:2}.btn-primary{reading-order:3}}iam-modal{.btn-tertiary{reading-order:3;order:1}.btn-secondary{order:2;reading-order:2}.btn-primary{order:3;reading-order:1}}.btn__group.text-end{justify-content:flex-end}:is(iam-form,form) .btn__group{justify-content:flex-end;padding-top:3rem}iam-modal .btn__group:last-child .btn,dialog .btn__group:last-child .btn{margin-bottom:0}}}:host{overscroll-behavior:contain;display:block;container-type:inline-size}::slotted(dialog){display:contents !important}::slotted(button){margin:0 !important}@layer components{dialog[open]{display:var(--modal-inner-dialog-display, block)}dialog{width:90vw;max-width:20.25rem;max-height:min(90vh,47rem);overscroll-behavior:contain;overflow-y:hidden;place-self:center}@media screen and (min-width: 36em){dialog{--dialog-padding: 2rem;min-width:20.9375rem;width:fit-content;max-width:42.875rem}}@media screen and (min-width: 62em){dialog{min-width:28.375rem;width:fit-content;max-width:46rem}}dialog::before{content:"";top:.75rem;bottom:auto;left:0;right:.5rem;height:calc(var(--dialog-padding) - .75rem);position:absolute;display:block;background:linear-gradient(0deg, transparent 0%, var(--colour-canvas-2) 100%);z-index:2}dialog::after{content:"";top:auto;bottom:.75rem;left:0;right:6px;height:calc(var(--dialog-padding) - .75rem);position:absolute;display:block;background:linear-gradient(180deg, transparent 0%, var(--colour-canvas-2) 100%);z-index:2}dialog .scroll{margin-inline:calc(var(--dialog-padding)*-1);margin-block:calc((var(--dialog-padding) - .75rem)*-1);padding-inline:var(--dialog-padding);padding-block:calc(var(--dialog-padding) - .75rem);height:100%;max-height:100%;overflow:auto;overscroll-behavior:contain;position:relative;z-index:1}dialog .scroll .fa-circle{display:none}dialog>button:first-child{position:absolute;top:.5rem;right:.5rem;z-index:var(--index-floating);margin:0}dialog>button:first-child:not(:hover,:focus,:active){background-color:var(--colour-canvas)}@container (min-width: 36em){dialog>button:first-child{top:calc(var(--dialog-padding) - .75rem);right:calc(var(--dialog-padding) - .75rem)}}dialog:has(.youtube-embed){padding:0 !important}dialog.dialog--fullwidth{max-width:69.5rem}dialog .btn__group{display:none}@media screen and (min-width: 36em){:host(.modal--sm) dialog[open]{min-width:20.9375rem;width:20.9375rem;max-width:20.9375rem}}@media screen and (min-width: 62em){:host(.modal--sm) dialog[open]{min-width:28.375rem;width:28.375rem;max-width:28.375rem}}@media screen and (min-width: 36em){:host(.modal--lg) dialog[open]{min-width:42.875rem;width:42.875rem;max-width:42.875rem}}@media screen and (min-width: 62em){:host(.modal--lg) dialog[open]{min-width:46rem;width:46rem;max-width:46rem}}dialog::backdrop{background:rgba(0,0,0,.3);backdrop-filter:blur(4px);overscroll-behavior:contain}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background-color:rgba(0,0,0,0);border-top:4px solid rgba(0,0,0,0)}::-webkit-scrollbar-thumb{background-color:#c1c1c1;width:6px;border-radius:3px}::slotted(p:last-child){padding-bottom:0 !important}::slotted(p:last-child){padding-bottom:0 !important}::slotted(:last-child){margin-bottom:0 !important}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open]{text-align:center}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open] .scroll>.fa-circle{display:var(--fa-display, block);line-height:1;font-size:3rem;height:3rem;width:3rem;margin-top:0;margin-bottom:0;line-height:1;color:var(--colour-heading);margin-inline:auto}@media screen and (min-width: 62em){:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open] .scroll>.fa-circle{font-size:4rem;height:4rem;width:4rem}}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open] .scroll>.fa-circle:has(>i){position:relative}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open] .scroll>.fa-circle>i:before{position:absolute;top:0;left:50%;transform:scale(0.5) translate(-100%, 0)}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open]>button:first-child{display:none}:host(:is([data-type=transactional],[data-type=acknowledgement])) dialog[open] .btn__group{display:flex;justify-content:center;padding-top:2rem;margin-bottom:0}:host([data-type=acknowledgement]) dialog[open] .btn__group [data-cancel]{display:none}}@keyframes spin{to{rotate:1turn}}@layer utilities{.text-heading{color:var(--colour-heading) !important}.text-primary{color:var(--colour-primary) !important}.bg-primary{--bg-colour: var(--colour-primary) !important;background-color:var(--colour-primary) !important}.hover-primary:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-primary) !important;background-color:var(--colour-primary) !important}.colour-primary{--colour: var(--colour-primary) !important}.text-secondary{color:var(--colour-secondary) !important}.bg-secondary{--bg-colour: var(--colour-secondary) !important;background-color:var(--colour-secondary) !important}.hover-secondary:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-secondary) !important;background-color:var(--colour-secondary) !important}.colour-secondary{--colour: var(--colour-secondary) !important}.text-info{color:var(--colour-info) !important}.bg-info{--bg-colour: var(--colour-info) !important;background-color:var(--colour-info) !important}.hover-info:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-info) !important;background-color:var(--colour-info) !important}.colour-info{--colour: var(--colour-info) !important}.text-warning{color:var(--colour-warning) !important}.bg-warning{--bg-colour: var(--colour-warning) !important;background-color:var(--colour-warning) !important}.hover-warning:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-warning) !important;background-color:var(--colour-warning) !important}.colour-warning{--colour: var(--colour-warning) !important}.text-success{color:var(--colour-success) !important}.bg-success{--bg-colour: var(--colour-success) !important;background-color:var(--colour-success) !important}.hover-success:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-success) !important;background-color:var(--colour-success) !important}.colour-success{--colour: var(--colour-success) !important}.text-complete{color:var(--colour-complete) !important}.bg-complete{--bg-colour: var(--colour-complete) !important;background-color:var(--colour-complete) !important}.hover-complete:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-complete) !important;background-color:var(--colour-complete) !important}.colour-complete{--colour: var(--colour-complete) !important}.text-danger{color:var(--colour-danger) !important}.bg-danger{--bg-colour: var(--colour-danger) !important;background-color:var(--colour-danger) !important}.hover-danger:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-danger) !important;background-color:var(--colour-danger) !important}.colour-danger{--colour: var(--colour-danger) !important}.text-dark{color:var(--colour-dark) !important}.bg-dark{--bg-colour: var(--colour-dark) !important;background-color:var(--colour-dark) !important}.hover-dark:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-dark) !important;background-color:var(--colour-dark) !important}.colour-dark{--colour: var(--colour-dark) !important}.text-light{color:var(--colour-light) !important}.bg-light{--bg-colour: var(--colour-light) !important;background-color:var(--colour-light) !important}.hover-light:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-light) !important;background-color:var(--colour-light) !important}.colour-light{--colour: var(--colour-light) !important}.text-canvas{color:var(--colour-canvas) !important}.bg-canvas{--bg-colour: var(--colour-canvas) !important;background-color:var(--colour-canvas) !important}.hover-canvas:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-canvas) !important;background-color:var(--colour-canvas) !important}.colour-canvas{--colour: var(--colour-canvas) !important}.text-white{color:var(--colour-white) !important}.bg-white{--bg-colour: var(--colour-white) !important;background-color:var(--colour-white) !important}.hover-white:is(:hover,:focus,:focus-within){--bg-colour: var(--colour-white) !important;background-color:var(--colour-white) !important}.colour-white{--colour: var(--colour-white) !important}.text-body{color:var(--colour-body) !important}.text-muted{color:var(--colour-muted) !important}}@layer components{.video-wrapper{display:block;position:relative;width:100%;height:auto;aspect-ratio:16/9;background-color:var(--colour-light);margin-bottom:2rem;cursor:pointer}.video-wrapper:before{font-family:var(--fa-family-classic);content:"\uF3F4";position:absolute;font-weight:900;color:var(--colour-heading);animation:spin 1.5s infinite steps(10);font-size:1.5em;top:50%;left:50%;translate:-50% -50%;z-index:1}.video-wrapper img{position:absolute;inset:0;z-index:3;width:calc(100% + 2px);height:100%;object-fit:cover;margin-inline:-1px}.video-wrapper button{pointer-events:none;position:absolute;top:50%;left:50%;z-index:4;transform:translate(-50%, -50%)}.video-wrapper:is(:hover,:focus):not(:active) button{--colour-btn-bg: var(--colour-white)!important;--colour-btn-border: var(--colour-white)!important}.video-wrapper:is(:active) button{filter:brightness(85%)}dialog .video-wrapper{margin-bottom:0}}::slotted(.embed){position:absolute;inset:0;z-index:4;aspect-ratio:16/9;width:calc(100% + 2px);height:100%;margin-inline:-1px;margin-block:0}@layer components{dialog{width:calc(100% - 6rem) !important;max-width:50rem !important;padding:0;aspect-ratio:16/9;overflow:hidden}dialog[open]::before{display:none}dialog[open]::after{display:none}dialog .video-wrapper button{display:none}}:host{--card-right-padding: 1rem;--card-head-height: 10rem;--line-height: 2rem;display:flex;font-size:1.5rem}:host(:not(.video-card--top)) .card__head{order:2}@layer components{.card__head{cursor:pointer;position:relative}.card__head>*:not(img){z-index:-1}.card__head .fa-play{position:absolute;z-index:1 !important;top:50%;left:50%;pointer-events:none;margin:0 !important;translate:-50% -50%}.card__head:is(:hover,:focus):not(:active) .fa-play{--colour-btn-bg: var(--colour-white)!important;--colour-btn-border: var(--colour-white)!important}.card__head:is(:active) .fa-play{filter:brightness(85%)}}/*# sourceMappingURL=assets/css/components/video-card.component.css.map */
|
|
31
31
|
|
|
32
32
|
</style>
|
|
33
33
|
<link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous" />
|