@iamproperty/components 7.6.4--beta2 → 7.6.4--beta3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/css/components/actionbar.component.css +1 -1
- package/assets/css/components/actionbar.component.css.map +1 -1
- package/assets/css/components/address-lookup.component.css +1 -1
- package/assets/css/components/address-lookup.component.css.map +1 -1
- package/assets/css/components/calendar.component.css +1 -1
- package/assets/css/components/calendar.component.css.map +1 -1
- package/assets/css/components/fileupload.css +1 -1
- package/assets/css/components/fileupload.css.map +1 -1
- package/assets/css/components/multiselect.css +1 -1
- package/assets/css/components/multiselect.css.map +1 -1
- package/assets/css/components/multiselect.preload.css +1 -1
- package/assets/css/components/multiselect.preload.css.map +1 -1
- package/assets/css/components/nav.component.css +1 -1
- package/assets/css/components/nav.component.css.map +1 -1
- package/assets/css/components/pagination.css +1 -1
- package/assets/css/components/pagination.css.map +1 -1
- package/assets/css/components/slider.css +1 -1
- package/assets/css/components/slider.css.map +1 -1
- package/assets/css/components/tag.component.css +1 -1
- package/assets/css/components/tag.component.css.map +1 -1
- package/assets/css/components/tag.preload.css +1 -1
- package/assets/css/components/tag.preload.css.map +1 -1
- package/assets/css/core.min.css +1 -1
- package/assets/css/core.min.css.map +1 -1
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/js/components/accordion/accordion.component.min.js +1 -1
- package/assets/js/components/actionbar/actionbar.component.min.js +2 -2
- package/assets/js/components/address-lookup/address-lookup.component.js +11 -5
- package/assets/js/components/address-lookup/address-lookup.component.min.js +4 -4
- package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
- package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +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/calendar/calendar.component.min.js +2 -2
- package/assets/js/components/card/card.component.min.js +1 -1
- package/assets/js/components/carousel/carousel.component.min.js +1 -1
- package/assets/js/components/collapsible-side/collapsible-side.component.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 +4 -4
- package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
- package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
- package/assets/js/components/form/form.component.min.js +1 -1
- package/assets/js/components/header/header.component.min.js +1 -1
- package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
- package/assets/js/components/input/input.component.min.js +1 -1
- package/assets/js/components/input-range/input-range.component.min.js +1 -1
- package/assets/js/components/marketing/marketing.component.min.js +1 -1
- package/assets/js/components/menu/menu.component.min.js +1 -1
- package/assets/js/components/milestone/milestone.component.min.js +1 -1
- package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
- package/assets/js/components/modal/modal.component.js +1 -1
- package/assets/js/components/modal/modal.component.min.js +2 -2
- package/assets/js/components/modal/modal.component.min.js.map +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 +9 -76
- package/assets/js/components/multiselect/multiselect.component.min.js +4 -4
- package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
- package/assets/js/components/nav/nav.component.min.js +2 -2
- package/assets/js/components/notification/notification.component.min.js +1 -1
- package/assets/js/components/pagination/pagination.component.min.js +2 -2
- 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 +1 -1
- package/assets/js/components/search/search.component.min.js +1 -1
- package/assets/js/components/slider/slider.component.min.js +2 -2
- package/assets/js/components/split-button/split-button.component.min.js +1 -1
- package/assets/js/components/std-address-lookup/std-address-lookup.component.js +39 -2
- package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +10 -9
- package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
- package/assets/js/components/table/table.component.min.js +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.js +6 -1
- package/assets/js/components/tag/tag.component.min.js +4 -4
- package/assets/js/components/tag/tag.component.min.js.map +1 -1
- package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
- package/assets/js/components/video-card/video-card.component.min.js +1 -1
- package/assets/js/components/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/modules/dropdown.js +97 -4
- package/assets/js/scripts.bundle.js +1 -1
- package/assets/js/scripts.bundle.min.js +1 -1
- package/assets/sass/_components.scss +0 -2
- package/assets/sass/_elements.scss +1 -0
- package/assets/sass/components/multiselect.preload.scss +0 -55
- package/assets/sass/components/multiselect.scss +172 -174
- package/assets/sass/components/tag.component.scss +38 -57
- package/assets/sass/components/tag.preload.scss +1 -26
- package/assets/sass/elements/dropdown.scss +87 -0
- package/assets/sass/elements/forms.scss +6 -0
- package/assets/ts/components/address-lookup/address-lookup.component.ts +12 -5
- package/assets/ts/components/modal/modal.component.ts +1 -1
- package/assets/ts/components/multiselect/multiselect.component.ts +10 -78
- package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +51 -2
- package/assets/ts/components/tag/tag.component.ts +8 -11
- package/assets/ts/modules/dropdown.ts +117 -5
- package/dist/components.es.js +28 -28
- package/dist/components.umd.js +219 -212
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.component.min.js","sources":["../_global.js","../../modules/dropdown.js","tag.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport Cookies from 'js-cookie';\nexport const filterList = (component, search) => {\n Array.from(component.querySelectorAll(`label:not([slot=\"checked\"])`)).forEach((label) => {\n const checkbox = label.querySelector('input');\n const searchValue = checkbox.value;\n const labelText = label.textContent;\n if (searchValue.toLowerCase().includes(search.value.toLowerCase()) ||\n labelText.toLowerCase().includes(search.value.toLowerCase())) {\n label.removeAttribute('slot');\n }\n else {\n label.setAttribute('slot', 'notmatched');\n }\n });\n};\nexport const searchAjax = (component, search, callback) => __awaiter(void 0, void 0, void 0, function* () {\n const searchterm = search.value;\n const ajaxURL = component.getAttribute('data-url');\n const firstInput = component.querySelector('input');\n console.log(firstInput);\n const inputType = firstInput.getAttribute('type');\n const inputName = firstInput.getAttribute('name');\n const searchAjaxURL = `${ajaxURL}?search_query=${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[searchAjaxURL])\n window.controller[searchAjaxURL].abort();\n // Create a new controller so it can be aborted if new fetch made\n window.controller[searchAjaxURL] = new AbortController();\n const { signal } = controller[searchAjaxURL];\n try {\n yield fetch(searchAjaxURL, {\n signal: signal,\n method: 'get',\n credentials: 'same-origin',\n headers: new Headers({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),\n }),\n })\n .then((response) => response.json())\n .then((response) => {\n let items = '';\n for (let i = 0; i < response['data'].length; i++) {\n if (!component.querySelector(`[value=\"${response['data'][i].value}\"]`))\n items += `<label class=\"tag\"><input type=\"${inputType}\" name=\"${component.hasAttribute('data-name') ? component.getAttribute('data-name') : inputName}\" value=\"${response['data'][i].value}\"/>${response['data'][i].title}</label>`;\n }\n component.insertAdjacentHTML('beforeend', `${items}`);\n callback(component, search);\n return response;\n });\n }\n catch (error) {\n console.log(error);\n }\n});\nexport const setTag = (tag) => {\n const input = tag.querySelector(':checked');\n const inputName = input === null || input === void 0 ? void 0 : input.getAttribute('name');\n tag.setAttribute('slot', 'checked');\n tag.setAttribute('data-content', tag.textContent);\n let tags = [];\n if (localStorage.getItem('tags-' + inputName) != null)\n tags = JSON.parse(localStorage.getItem('tags-' + inputName));\n if (!tags.includes(tag.textContent)) {\n tags.push(tag.textContent);\n localStorage.setItem('tags-' + inputName, JSON.stringify(tags));\n }\n let tagIndex = tags.indexOf(tag.textContent) + 1;\n if (tagIndex > 23)\n tagIndex = 1;\n tag === null || tag === void 0 ? void 0 : tag.classList.add(`wider-colour-${tagIndex + 1}`);\n};\n","import { trackComponentRegistered } from '../_global.js';\nimport { searchAjax, filterList, setTag } from '../../modules/dropdown.js';\ntrackComponentRegistered('iam-tag');\nclass iamTag 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/tag.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n\n ${loadCSS}\n </style>\n <div class=\"wrapper\">\n <input type=\"text\" name=\"search\" autocomplete=\"off\" />\n <slot name=\"checked\"></slot>\n <div class=\"admin-panel dropdown\" part=\"dropdown\">\n <slot></slot>\n </div>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n const search = this.shadowRoot.querySelector('input');\n const input = this.querySelector(':checked');\n const inputName = input === null || input === void 0 ? void 0 : input.getAttribute('name');\n let tag = this.querySelector('label:has(:checked)');\n setTag(tag);\n this.addEventListener('click', () => {\n if (event && event.target instanceof HTMLElement && event.target.closest('label:has(:checked)')) {\n search.focus();\n }\n });\n search.addEventListener('input', () => {\n if (this.hasAttribute('data-url')) {\n if (search.value.length == 3) {\n searchAjax(this, search, filterList);\n }\n }\n else {\n filterList(this, search);\n }\n });\n this.addEventListener('change', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('input[type=\"radio\"],input[type=\"checkbox\"]')) {\n const checkbox = event.target.closest('input[type=\"radio\"],input[type=\"checkbox\"]');\n tag.checked = false;\n tag.removeAttribute('slot');\n // Set the new tag\n tag = this.querySelector('label:has(:checked)');\n setTag(tag);\n search === null || search === void 0 ? void 0 : search.blur();\n search === null || search === void 0 ? void 0 : search.value = '';\n filterList(this, search);\n // dispatch event\n const changeEvent = new CustomEvent('tag-changed', {\n detail: {\n value: tag === null || tag === void 0 ? void 0 : tag.querySelector(':checked').value,\n title: tag === null || tag === void 0 ? void 0 : tag.textContent\n }\n });\n this === null || this === void 0 ? void 0 : this.dispatchEvent(changeEvent);\n }\n });\n // TODO Add keyboard actions\n }\n}\nexport default iamTag;\n"],"names":["trackComponentRegistered","componentName","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","e","rejected","result","filterList","component","search","label","searchValue","labelText","searchAjax","callback","searchterm","ajaxURL","firstInput","inputType","inputName","searchAjaxURL","signal","Cookies","response","items","i","error","setTag","tag","input","tags","tagIndex","iamTag","template","event","changeEvent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tag.component.min.js","sources":["../_global.js","../../../../node_modules/js-cookie/dist/js.cookie.mjs","../../modules/dropdown.js","tag.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","/*! 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","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';\nexport const filterList = (component, search) => {\n Array.from(component.querySelectorAll(`label:not([slot=\"checked\"])`)).forEach((label) => {\n const checkbox = label.querySelector('input');\n const searchValue = checkbox.value;\n const labelText = label.textContent;\n if (searchValue.toLowerCase().includes(search.value.toLowerCase()) ||\n labelText.toLowerCase().includes(search.value.toLowerCase())) {\n label.removeAttribute('slot');\n }\n else {\n label.setAttribute('slot', 'notmatched');\n }\n });\n};\nexport const searchAjax = (component, search, callback) => __awaiter(void 0, void 0, void 0, function* () {\n const searchterm = search.value;\n const ajaxURL = component.getAttribute('data-url');\n const firstInput = component.querySelector('input');\n console.log(firstInput);\n const inputType = firstInput && firstInput.hasAttribute('type') ? firstInput.getAttribute('type') : 'checkbox';\n let inputName = firstInput && firstInput.hasAttribute('name') ? firstInput.getAttribute('name') : 'tags';\n if (component.hasAttribute('data-name'))\n inputName = component.hasAttribute('data-name');\n const searchAjaxURL = `${ajaxURL}?search_query=${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[searchAjaxURL])\n window.controller[searchAjaxURL].abort();\n // Create a new controller so it can be aborted if new fetch made\n window.controller[searchAjaxURL] = new AbortController();\n const { signal } = controller[searchAjaxURL];\n try {\n yield fetch(searchAjaxURL, {\n signal: signal,\n method: 'get',\n credentials: 'same-origin',\n headers: new Headers({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),\n }),\n })\n .then((response) => response.json())\n .then((response) => {\n let items = '';\n for (let i = 0; i < response['data'].length; i++) {\n if (!component.querySelector(`[value=\"${response['data'][i].value}\"]`))\n items += `<label class=\"tag dropdown__option\"><input type=\"${inputType}\" name=\"${component.hasAttribute('data-name') ? component.getAttribute('data-name') : inputName}\" value=\"${response['data'][i].value}\"/>${response['data'][i].title}</label>`;\n }\n component.insertAdjacentHTML('beforeend', `${items}`);\n callback(component, search);\n return response;\n });\n }\n catch (error) {\n console.log(error);\n }\n});\nexport const setTag = (tag) => {\n const input = tag.querySelector(':checked');\n const inputName = input === null || input === void 0 ? void 0 : input.getAttribute('name');\n tag.setAttribute('slot', 'checked');\n tag.setAttribute('data-content', tag.textContent);\n let tags = [];\n if (localStorage.getItem('tags-' + inputName) != null)\n tags = JSON.parse(localStorage.getItem('tags-' + inputName));\n if (!tags.includes(tag.textContent)) {\n tags.push(tag.textContent);\n localStorage.setItem('tags-' + inputName, JSON.stringify(tags));\n }\n let tagIndex = tags.indexOf(tag.textContent) + 1;\n if (tagIndex > 23)\n tagIndex = 1;\n tag === null || tag === void 0 ? void 0 : tag.classList.add(`wider-colour-${tagIndex + 1}`);\n};\nexport const addKeyboardEvents = (dropdown, search) => {\n search.addEventListener('keydown', (e) => {\n var _a;\n switch (e.keyCode) {\n case 40: // down\n e.stopPropagation();\n e.preventDefault();\n (_a = dropdown.querySelector('label:not([slot=\"checked\"]) input')) === null || _a === void 0 ? void 0 : _a.focus();\n break;\n }\n });\n dropdown.addEventListener('keydown', (event) => {\n var _a, _b, _c;\n const topLevelmenuItems = dropdown.querySelectorAll(':scope > a, :scope > button, :scope > details > summary, :scope > label:not([slot=\"checked\"]) > input');\n const menuItems = dropdown.querySelectorAll('a, button, input, label:not([slot=\"checked\"]) > input');\n const activeElement = document.activeElement;\n if (event && event.target instanceof HTMLElement && event.target.closest('a, button, summary, label:not([slot=\"checked\"]) > input')) {\n const activeItem = document.activeElement;\n const prevIndex = Array.from(topLevelmenuItems).indexOf(activeItem) - 1;\n const nextIndex = Array.from(topLevelmenuItems).indexOf(activeItem) + 1;\n switch (event.keyCode // change to event.key to key to use the above variable\n ) {\n case 27: // Esc\n if (activeItem.closest('details')) {\n event.stopPropagation();\n event.preventDefault();\n activeItem.closest('details').removeAttribute('open');\n activeItem.closest('details').querySelector(':scope summary').focus();\n }\n else {\n event.stopPropagation();\n //menuButton.focus();\n }\n break;\n case 32: // Space\n case 13: // Enter\n break;\n case 35: // end\n event.stopPropagation();\n event.preventDefault();\n (_a = dropdown.querySelector('details[open]')) === null || _a === void 0 ? void 0 : _a.removeAttribute('open');\n Array.from(menuItems)[menuItems.length - 1].focus();\n break;\n case 36: // home\n event.stopPropagation();\n event.preventDefault();\n (_b = dropdown.querySelector('details[open]')) === null || _b === void 0 ? void 0 : _b.removeAttribute('open');\n Array.from(menuItems)[0].focus();\n break;\n case 38: // up\n event.stopPropagation();\n event.preventDefault();\n if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {\n if (Array.from(topLevelmenuItems)[prevIndex] != undefined)\n Array.from(topLevelmenuItems)[prevIndex].focus();\n else\n Array.from(topLevelmenuItems)[topLevelmenuItems.length - 1].focus();\n }\n else if (activeItem.closest('details')) {\n const subMenuItems = activeItem\n .closest('details')\n .querySelectorAll('a, button, :scope details > summary');\n subPrevIndex = Array.from(subMenuItems).indexOf(activeItem) - 1;\n if (Array.from(subMenuItems)[subPrevIndex] != undefined)\n Array.from(subMenuItems)[subPrevIndex].focus();\n else\n Array.from(subMenuItems)[subMenuItems.length - 1].focus();\n }\n break;\n case 40: // down\n event.stopPropagation();\n event.preventDefault();\n if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {\n if (Array.from(topLevelmenuItems)[nextIndex] != undefined)\n Array.from(topLevelmenuItems)[nextIndex].focus();\n else\n Array.from(topLevelmenuItems)[0].focus();\n }\n else if (activeItem.closest('details')) {\n const subMenuItems = (_c = activeItem.closest('details')) === null || _c === void 0 ? void 0 : _c.querySelectorAll('a, button, :scope details > summary');\n subNextIndex = Array.from(subMenuItems).indexOf(activeItem) + 1;\n if (Array.from(subMenuItems)[subNextIndex] != undefined)\n Array.from(subMenuItems)[subNextIndex].focus();\n else\n Array.from(subMenuItems)[0].focus();\n }\n break;\n }\n }\n });\n};\n","import { trackComponentRegistered } from '../_global.js';\nimport { searchAjax, filterList, setTag, addKeyboardEvents } from '../../modules/dropdown.js';\ntrackComponentRegistered('iam-tag');\nclass iamTag 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/tag.component.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n\n ${loadCSS}\n </style>\n <div class=\"wrapper\">\n <input type=\"text\" name=\"search\" autocomplete=\"off\" />\n <slot name=\"checked\"></slot>\n <div class=\"admin-panel dropdown\" part=\"dropdown\">\n <slot></slot>\n </div>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n const search = this.shadowRoot.querySelector('input');\n const input = this.querySelector(':checked');\n const inputName = input === null || input === void 0 ? void 0 : input.getAttribute('name');\n let tag = this.querySelector('label:has(:checked)');\n setTag(tag);\n // Make sure the dropdown options are set\n Array.from(this.querySelectorAll(':scope > label')).forEach((label) => {\n label.classList.add('dropdown__option');\n });\n this.addEventListener('click', () => {\n if (event && event.target instanceof HTMLElement && event.target.closest('label:has(:checked)')) {\n search.focus();\n }\n });\n search.addEventListener('input', () => {\n if (this.hasAttribute('data-url')) {\n if (search.value.length == 3) {\n searchAjax(this, search, filterList);\n }\n }\n else {\n filterList(this, search);\n }\n });\n this.addEventListener('change', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('input[type=\"radio\"],input[type=\"checkbox\"]')) {\n const checkbox = event.target.closest('input[type=\"radio\"],input[type=\"checkbox\"]');\n tag.checked = false;\n tag.removeAttribute('slot');\n // Set the new tag\n tag = this.querySelector('label:has(:checked)');\n setTag(tag);\n search === null || search === void 0 ? void 0 : search.blur();\n search === null || search === void 0 ? void 0 : search.value = '';\n filterList(this, search);\n // dispatch event\n const changeEvent = new CustomEvent('tag-changed', {\n detail: {\n value: tag === null || tag === void 0 ? void 0 : tag.querySelector(':checked').value,\n title: tag === null || tag === void 0 ? void 0 : tag.textContent\n }\n });\n this === null || this === void 0 ? void 0 : this.dispatchEvent(changeEvent);\n }\n });\n // TODO Add keyboard actions\n addKeyboardEvents(this, search);\n }\n}\nexport default iamTag;\n"],"names":["trackComponentRegistered","componentName","assign","target","source","key","defaultConverter","value","init","converter","defaultAttributes","set","name","attributes","stringifiedAttributes","attributeName","get","cookies","jar","i","parts","found","api","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","reject","fulfilled","step","e","rejected","result","filterList","component","search","label","searchValue","labelText","searchAjax","callback","searchterm","ajaxURL","firstInput","inputType","inputName","searchAjaxURL","signal","Cookies","response","items","error","setTag","tag","input","tags","tagIndex","addKeyboardEvents","dropdown","_a","event","_b","_c","topLevelmenuItems","menuItems","activeItem","prevIndex","nextIndex","subMenuItems","iamTag","template","changeEvent"],"mappings":"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","x_google_ignoreList":[1]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.6.4--
|
|
2
|
+
* iamKey v7.6.4--beta3
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/const a=n=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:n})};a("iam-tooltip");class l 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.6.4--
|
|
2
|
+
* iamKey v7.6.4--beta3
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/const p=o=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:o})},h=(o,t,a)=>(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementAdded",element:t}),a.forEach(e=>{o.addEventListener(e,function(r){const i={event:e,element:t,target:r.target};Object.keys(r.detail).forEach(d=>{const s=r.detail[d];i[d]=s}),window.dataLayer.push(i)})}),!0),b=`<div class="card__head" part="head">
|
|
5
5
|
<slot name="head"></slot>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.6.4--
|
|
2
|
+
* iamKey v7.6.4--beta3
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/const g=r=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:r})};var p=function(r,n,e,t){function a(o){return o instanceof e?o:new e(function(i){i(o)})}return new(e||(e=Promise))(function(o,i){function s(d){try{c(t.next(d))}catch(l){i(l)}}function b(d){try{c(t.throw(d))}catch(l){i(l)}}function c(d){d.done?o(d.value):a(d.value).then(s,b)}c((t=t.apply(r,n||[])).next())})};const u=()=>p(void 0,void 0,void 0,function*(){return new Promise((r,n)=>{const e=new Image;e.onload=function(){const t=document.createElement("script");t.src="https://www.youtube.com/iframe_api";const a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(t,a),document.body.classList.add("youtubeLoaded"),r(!0)},e.onerror=function(){n(!1)},e.src="https://youtube.com/favicon.ico"})}),v=(r,n)=>p(void 0,void 0,void 0,function*(){if(typeof window.player>"u"&&(window.player=[]),typeof window.player[n]<"u"&&typeof window.player[n].pauseVideo=="function")return window.player[n].playVideo(),!1;window.player[n]=new YT.Player(n,{height:"100%",width:"100%",videoId:n,playerVars:{modestbranding:1,playsinline:1,rel:0,showinfo:0},events:{onReady:e,onStateChange:a}});function e(o){o.target.playVideo()}let t=!1;function a(o){o.data==YT.PlayerState.PLAYING&&!t&&(document.getElementById(n).classList.add("player-ready"),t=!0)}}),h=(r,n)=>{var e;const t=(e=n.shadowRoot)===null||e===void 0?void 0:e.querySelector("dialog");t?.showModal(),t?.focus();const a=new CustomEvent("modal-opened",{bubbles:!0,cancelable:!0,detail:{modalId:r}});n.dispatchEvent(a),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openModal",id:r})},f=(r,n)=>{var e;const t=(e=n.shadowRoot)===null||e===void 0?void 0:e.querySelector("dialog");t?.close();const a=new CustomEvent("modal-closed",{bubbles:!0,cancelable:!0,detail:{modalId:r}});n.dispatchEvent(a),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:r})},w='<button class="btn btn-compact btn-secondary fa-xmark-large" data-close>Close</button>';var m=function(r,n,e,t){function a(o){return o instanceof e?o:new e(function(i){i(o)})}return new(e||(e=Promise))(function(o,i){function s(d){try{c(t.next(d))}catch(l){i(l)}}function b(d){try{c(t.throw(d))}catch(l){i(l)}}function c(d){d.done?o(d.value):a(d.value).then(s,b)}c((t=t.apply(r,n||[])).next())})};g("iam-video-modal");class y extends HTMLElement{constructor(){super(),this.openYoutubeVideo=(e,t)=>m(this,void 0,void 0,function*(){const a=t.querySelector(".embed");h(e,t);const o=t.getAttribute("data-youtube");document.body.classList.contains("youtubeLoaded")||(yield u());const i=new CustomEvent("play-video",{detail:{"Video Type":"YoutTube",ID:o}});t.dispatchEvent(i);const s=setInterval(()=>{typeof YT<"u"&&(clearInterval(s),v(a,o))},200);setTimeout(function(){clearInterval(s)},2e3)}),this.openVimeoVideo=(e,t)=>m(this,void 0,void 0,function*(){const a=t.querySelector(".embed");h(e,t);const o=t.getAttribute("data-vimeo"),i=new CustomEvent("play-video",{detail:{"Video Type":"Vimeo",ID:o}});t.dispatchEvent(i),window.dataLayer.push(i.detail),a.querySelector("iframe")||(a.innerHTML=`<iframe src="https://player.vimeo.com/video/${o}?autoplay=1" width="100%" height="100%" frameborder="0" allow="autoplay; encrypted-media" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>`)}),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const n=document.createElement("template");n.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.6.4--
|
|
2
|
+
* iamKey v7.6.4--beta3
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/const o=i=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:i})};o("iam-word-count");class n 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>
|
|
@@ -7,7 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import Cookies from 'js-cookie';
|
|
10
|
+
import Cookies from '../../../node_modules/js-cookie/dist/js.cookie.mjs';
|
|
11
11
|
export const filterList = (component, search) => {
|
|
12
12
|
Array.from(component.querySelectorAll(`label:not([slot="checked"])`)).forEach((label) => {
|
|
13
13
|
const checkbox = label.querySelector('input');
|
|
@@ -27,8 +27,10 @@ export const searchAjax = (component, search, callback) => __awaiter(void 0, voi
|
|
|
27
27
|
const ajaxURL = component.getAttribute('data-url');
|
|
28
28
|
const firstInput = component.querySelector('input');
|
|
29
29
|
console.log(firstInput);
|
|
30
|
-
const inputType = firstInput.getAttribute('type');
|
|
31
|
-
|
|
30
|
+
const inputType = firstInput && firstInput.hasAttribute('type') ? firstInput.getAttribute('type') : 'checkbox';
|
|
31
|
+
let inputName = firstInput && firstInput.hasAttribute('name') ? firstInput.getAttribute('name') : 'tags';
|
|
32
|
+
if (component.hasAttribute('data-name'))
|
|
33
|
+
inputName = component.hasAttribute('data-name');
|
|
32
34
|
const searchAjaxURL = `${ajaxURL}?search_query=${encodeURI(searchterm)}`;
|
|
33
35
|
// Setup controller vars if not already set
|
|
34
36
|
if (!window.controller)
|
|
@@ -56,7 +58,7 @@ export const searchAjax = (component, search, callback) => __awaiter(void 0, voi
|
|
|
56
58
|
let items = '';
|
|
57
59
|
for (let i = 0; i < response['data'].length; i++) {
|
|
58
60
|
if (!component.querySelector(`[value="${response['data'][i].value}"]`))
|
|
59
|
-
items += `<label class="tag"><input type="${inputType}" name="${component.hasAttribute('data-name') ? component.getAttribute('data-name') : inputName}" value="${response['data'][i].value}"/>${response['data'][i].title}</label>`;
|
|
61
|
+
items += `<label class="tag dropdown__option"><input type="${inputType}" name="${component.hasAttribute('data-name') ? component.getAttribute('data-name') : inputName}" value="${response['data'][i].value}"/>${response['data'][i].title}</label>`;
|
|
60
62
|
}
|
|
61
63
|
component.insertAdjacentHTML('beforeend', `${items}`);
|
|
62
64
|
callback(component, search);
|
|
@@ -84,3 +86,94 @@ export const setTag = (tag) => {
|
|
|
84
86
|
tagIndex = 1;
|
|
85
87
|
tag === null || tag === void 0 ? void 0 : tag.classList.add(`wider-colour-${tagIndex + 1}`);
|
|
86
88
|
};
|
|
89
|
+
export const addKeyboardEvents = (dropdown, search) => {
|
|
90
|
+
search.addEventListener('keydown', (e) => {
|
|
91
|
+
var _a;
|
|
92
|
+
switch (e.keyCode) {
|
|
93
|
+
case 40: // down
|
|
94
|
+
e.stopPropagation();
|
|
95
|
+
e.preventDefault();
|
|
96
|
+
(_a = dropdown.querySelector('label:not([slot="checked"]) input')) === null || _a === void 0 ? void 0 : _a.focus();
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
dropdown.addEventListener('keydown', (event) => {
|
|
101
|
+
var _a, _b, _c;
|
|
102
|
+
const topLevelmenuItems = dropdown.querySelectorAll(':scope > a, :scope > button, :scope > details > summary, :scope > label:not([slot="checked"]) > input');
|
|
103
|
+
const menuItems = dropdown.querySelectorAll('a, button, input, label:not([slot="checked"]) > input');
|
|
104
|
+
const activeElement = document.activeElement;
|
|
105
|
+
if (event && event.target instanceof HTMLElement && event.target.closest('a, button, summary, label:not([slot="checked"]) > input')) {
|
|
106
|
+
const activeItem = document.activeElement;
|
|
107
|
+
const prevIndex = Array.from(topLevelmenuItems).indexOf(activeItem) - 1;
|
|
108
|
+
const nextIndex = Array.from(topLevelmenuItems).indexOf(activeItem) + 1;
|
|
109
|
+
switch (event.keyCode // change to event.key to key to use the above variable
|
|
110
|
+
) {
|
|
111
|
+
case 27: // Esc
|
|
112
|
+
if (activeItem.closest('details')) {
|
|
113
|
+
event.stopPropagation();
|
|
114
|
+
event.preventDefault();
|
|
115
|
+
activeItem.closest('details').removeAttribute('open');
|
|
116
|
+
activeItem.closest('details').querySelector(':scope summary').focus();
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
event.stopPropagation();
|
|
120
|
+
//menuButton.focus();
|
|
121
|
+
}
|
|
122
|
+
break;
|
|
123
|
+
case 32: // Space
|
|
124
|
+
case 13: // Enter
|
|
125
|
+
break;
|
|
126
|
+
case 35: // end
|
|
127
|
+
event.stopPropagation();
|
|
128
|
+
event.preventDefault();
|
|
129
|
+
(_a = dropdown.querySelector('details[open]')) === null || _a === void 0 ? void 0 : _a.removeAttribute('open');
|
|
130
|
+
Array.from(menuItems)[menuItems.length - 1].focus();
|
|
131
|
+
break;
|
|
132
|
+
case 36: // home
|
|
133
|
+
event.stopPropagation();
|
|
134
|
+
event.preventDefault();
|
|
135
|
+
(_b = dropdown.querySelector('details[open]')) === null || _b === void 0 ? void 0 : _b.removeAttribute('open');
|
|
136
|
+
Array.from(menuItems)[0].focus();
|
|
137
|
+
break;
|
|
138
|
+
case 38: // up
|
|
139
|
+
event.stopPropagation();
|
|
140
|
+
event.preventDefault();
|
|
141
|
+
if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {
|
|
142
|
+
if (Array.from(topLevelmenuItems)[prevIndex] != undefined)
|
|
143
|
+
Array.from(topLevelmenuItems)[prevIndex].focus();
|
|
144
|
+
else
|
|
145
|
+
Array.from(topLevelmenuItems)[topLevelmenuItems.length - 1].focus();
|
|
146
|
+
}
|
|
147
|
+
else if (activeItem.closest('details')) {
|
|
148
|
+
const subMenuItems = activeItem
|
|
149
|
+
.closest('details')
|
|
150
|
+
.querySelectorAll('a, button, :scope details > summary');
|
|
151
|
+
subPrevIndex = Array.from(subMenuItems).indexOf(activeItem) - 1;
|
|
152
|
+
if (Array.from(subMenuItems)[subPrevIndex] != undefined)
|
|
153
|
+
Array.from(subMenuItems)[subPrevIndex].focus();
|
|
154
|
+
else
|
|
155
|
+
Array.from(subMenuItems)[subMenuItems.length - 1].focus();
|
|
156
|
+
}
|
|
157
|
+
break;
|
|
158
|
+
case 40: // down
|
|
159
|
+
event.stopPropagation();
|
|
160
|
+
event.preventDefault();
|
|
161
|
+
if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {
|
|
162
|
+
if (Array.from(topLevelmenuItems)[nextIndex] != undefined)
|
|
163
|
+
Array.from(topLevelmenuItems)[nextIndex].focus();
|
|
164
|
+
else
|
|
165
|
+
Array.from(topLevelmenuItems)[0].focus();
|
|
166
|
+
}
|
|
167
|
+
else if (activeItem.closest('details')) {
|
|
168
|
+
const subMenuItems = (_c = activeItem.closest('details')) === null || _c === void 0 ? void 0 : _c.querySelectorAll('a, button, :scope details > summary');
|
|
169
|
+
subNextIndex = Array.from(subMenuItems).indexOf(activeItem) + 1;
|
|
170
|
+
if (Array.from(subMenuItems)[subNextIndex] != undefined)
|
|
171
|
+
Array.from(subMenuItems)[subNextIndex].focus();
|
|
172
|
+
else
|
|
173
|
+
Array.from(subMenuItems)[0].focus();
|
|
174
|
+
}
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.6.4--
|
|
2
|
+
* iamKey v7.6.4--beta3
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/(function(d){typeof define=="function"&&define.amd?define(d):d()})((function(){"use strict";var d=a=>{a.classList.add("js-enabled"),(navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0)&&a.classList.add("ie")},g=a=>{var t=function(c){var r=document.querySelector('label[for="'.concat(c.replace("#",""),'"]')),o=document.querySelector(c+" summary"),i=document.querySelector("dialog".concat(c)),n=document.querySelector("detail".concat(c));r instanceof HTMLElement?r.click():o instanceof HTMLElement?o.click():i instanceof HTMLElement?i.showModal():n instanceof HTMLElement&&n.addAttribute("open")};location.hash&&t(location.hash),window.addEventListener("hashchange",function(){t(location.hash)},!1),addEventListener("popstate",e=>{if(e&&e.state&&e.state.type&&e.state.type=="pagination"){var c=document.querySelector("#".concat(e.state.form)),r=document.querySelector("#".concat(e.state.form," [data-pagination]"));r?r.value=e.state.page:c.innerHTML+='<input name="page" type="hidden" data-pagination="true" value="'.concat(e.state.page,'" />'),c.dispatchEvent(new Event("submit"))}}),Array.from(document.querySelectorAll("form")).forEach(e=>{e?.closest("iam-form")||e.addEventListener("submit",c=>{var r;e.querySelector(":invalid")&&(e.classList.add("was-validated"),(r=e?.querySelector("input:invalid"))===null||r===void 0||r.scrollIntoView(),c.preventDefault())})}),document.addEventListener("click",e=>{var c;if(e&&e.target instanceof HTMLElement&&e.target.matches("form button:not([type=button])")){var r=e.target.closest("form");r?.closest("iam-form")||(Array.from(r.querySelectorAll("[data-password-type]")).forEach(o=>{o.setAttribute("type","password")}),(r.querySelector(":invalid")||r.querySelector('.pwd-checker[data-strength="1"]')||r.querySelector('.pwd-checker[data-strength="2"]'))&&(r.classList.add("was-validated"),(c=r?.querySelector("input:invalid"))===null||c===void 0||c.scrollIntoView(),e.preventDefault()),r.querySelector("iam-multiselect[data-is-required][data-error]")&&(r.classList.add("was-validated"),e.preventDefault()))}}),document.addEventListener("keydown",e=>{e.key==="Escape"&&document.querySelector(".dialog--transactional[open], .dialog--acknowledgement[open]")&&(e.preventDefault(),e.stopPropagation())}),Array.from(document.querySelectorAll("label progress")).forEach(e=>{var c=e.closest("label");c.setAttribute("data-percent",e.getAttribute("value"))})};function m(){window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Pageview",pageTitle:document.title}),document.addEventListener("click",a=>{var t=a.target.closest("[open] summary");if(t)window.dataLayer.push({event:"closeDetails",detailsTitle:t.textContent||""});else{var e=a.target.closest("summary"),c=a.target.closest("a"),r=a.target.closest("button");e&&window.dataLayer.push({event:"openDetails",detailsTitle:e.textContent||""}),c&&window.dataLayer.push({event:"linkClicked",linkText:c.hasAttribute("title")?c.getAttribute("title")||"":c.textContent||"",class:c.hasAttribute("class")&&c.getAttribute("class")||"",href:c.getAttribute("href")||""}),r&&window.dataLayer.push({event:"buttonClicked",buttonText:r.textContent||"",class:r.hasAttribute("class")&&r.getAttribute("class")||""})}})}window.triggerDynamicEvent=function(a){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"change";console.log("event"),a.hasAttribute("data-change-events")&&t=="change"&&l(a,a.getAttribute("data-change-events")),a.hasAttribute("data-click-events")&&t=="click"&&l(a,a.getAttribute("data-click-events"))};var p=()=>{document.addEventListener("change",a=>{a&&a.target instanceof HTMLElement&&a.target.closest("[data-change-events]")&&l(a.target,a.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("keyup",a=>{a&&a.target instanceof HTMLElement&&a.target.closest("[data-change-events]")&&l(a.target,a.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("click",a=>{a&&a.target instanceof HTMLElement&&a.target.closest("[data-click-events]")&&l(a.target,a.target.closest("[data-click-events]").getAttribute("data-click-events"))})},l=(a,t)=>{if(t||(t=a.parentNode.getAttribute("data-change-events")),!t)return!1;Array.from(JSON.parse(t)).forEach(e=>{v(a,e)})},v=(a,t)=>{if("matches"in t)return t.matches=="any"||a.value==t.matches?u(a,t,"if"):u(a,t,"else"),!1;if("in-list"in t){var e=document.querySelector("".concat(t["in-list"],' option[value="').concat(a.value,'"]'));return document.querySelector("".concat(t["in-list"],' option[value="').concat(a.value,'"]'))?u(e,t,"if"):u(e,t,"else"),!1}else"event"in t&&u(a,t,"event")},u=(a,t,e)=>{if(!(e in t))return!1;switch(t[e]){case"hide":if(document.querySelector(t.target)){var c=document.querySelector(t.target);c.classList.add("js-hide"),Array.from(c.querySelectorAll("[data-required]")).forEach(n=>{n.removeAttribute("required")})}break;case"show":if(document.querySelector(t.target)){var r=document.querySelector(t.target);r.classList.remove("js-hide"),Array.from(r.querySelectorAll("[data-required]")).forEach(n=>{n.closest(".js-hide")||n.setAttribute("required","true")})}break;case"populate-form":h(a,t);break;case"dispatchEvent":var o=new Event(t.value);document.querySelector("".concat(t.target)).dispatchEvent(o);break;case"setAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(n){n.setAttribute(t.attribute,t.value)});break;case"focus":document.querySelector("".concat(t.target)).focus();break;case"removeAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(n){n.removeAttribute(t.attribute)});break;case"updateValue":document.querySelector("".concat(t.target)).value=t.value?t.value:"";var i=new Event("change");document.querySelector("".concat(t.target)).dispatchEvent(i);break;case"submitForm":document.querySelector("".concat(t.target)).submit();break;case"openLink":document.querySelector("".concat(t.target)).value&&(window.location.href=document.querySelector("".concat(t.target)).value);break}},h=function(t,e){var c=JSON.parse(t.getAttribute("data-values")),r=document.querySelector(e.target);if(!c)return!1;Object.keys(c).forEach(o=>{document.getElementById(o)&&document.getElementById(o).tagName=="SPAN"&&(document.getElementById(o).innerHTML=c[o]),r.querySelector('select[name="'.concat(o,'"] [value="').concat(c[o],'"]'))?(r.querySelector('select[name="'.concat(o,'"]')).value=c[o],t.hasAttribute("data-lock-fields")&&(r.querySelector('select[name="'.concat(o,'"]')).disabled=!0)):r.querySelector('input[name="'.concat(o,'"][type="radio"][value="').concat(c[o],'"]'))?(Array.from(r.querySelectorAll('input[name="'.concat(o,'"][type="radio"]'))).forEach(function(i){i.disabled=!0}),r.querySelector('input[name="'.concat(o,'"][type="radio"][value="').concat(c[o],'"]')).checked=!0,r.querySelector('input[name="'.concat(o,'"][type="radio"][value="').concat(c[o],'"]')).disabled=!1):r.querySelector('input[name="'.concat(o,'"]'))&&(r.querySelector('input[name="'.concat(o,'"]')).value=c[o],t.hasAttribute("data-lock-fields")&&r.querySelector('input[name="'.concat(o,'"]')).setAttribute("readonly","true"))})},b=function(a,t,e,c){function r(o){return o instanceof e?o:new e(function(i){i(o)})}return new(e||(e=Promise))(function(o,i){function n(s){try{f(c.next(s))}catch(y){i(y)}}function q(s){try{f(c.throw(s))}catch(y){i(y)}}function f(s){s.done?o(s.value):r(s.value).then(n,q)}f((c=c.apply(a,t||[])).next())})};document.addEventListener("DOMContentLoaded",()=>b(void 0,void 0,void 0,function*(){m(),p(),d(document.body),g()}))}));
|
|
5
5
|
//# sourceMappingURL=scripts.bundle.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.6.4--
|
|
2
|
+
* iamKey v7.6.4--beta3
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/
|
|
5
5
|
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";window.triggerDynamicEvent=function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"change";console.log("event"),t.hasAttribute("data-change-events")&&"change"==a&&e(t,t.getAttribute("data-change-events")),t.hasAttribute("data-click-events")&&"click"==a&&e(t,t.getAttribute("data-click-events"))};var e=(e,a)=>{if(a||(a=e.parentNode.getAttribute("data-change-events")),!a)return!1;Array.from(JSON.parse(a)).forEach(a=>{t(e,a)})},t=(e,t)=>{if("matches"in t)return"any"==t.matches||e.value==t.matches?a(e,t,"if"):a(e,t,"else"),!1;if("in-list"in t){var n=document.querySelector("".concat(t["in-list"],' option[value="').concat(e.value,'"]'));return document.querySelector("".concat(t["in-list"],' option[value="').concat(e.value,'"]'))?a(n,t,"if"):a(n,t,"else"),!1}"event"in t&&a(e,t,"event")},a=(e,t,a)=>{if(!(a in t))return!1;switch(t[a]){case"hide":if(document.querySelector(t.target)){var r=document.querySelector(t.target);r.classList.add("js-hide"),Array.from(r.querySelectorAll("[data-required]")).forEach(e=>{e.removeAttribute("required")})}break;case"show":if(document.querySelector(t.target)){var c=document.querySelector(t.target);c.classList.remove("js-hide"),Array.from(c.querySelectorAll("[data-required]")).forEach(e=>{e.closest(".js-hide")||e.setAttribute("required","true")})}break;case"populate-form":n(e,t);break;case"dispatchEvent":var o=new Event(t.value);document.querySelector("".concat(t.target)).dispatchEvent(o);break;case"setAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(e){e.setAttribute(t.attribute,t.value)});break;case"focus":document.querySelector("".concat(t.target)).focus();break;case"removeAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(e){e.removeAttribute(t.attribute)});break;case"updateValue":document.querySelector("".concat(t.target)).value=t.value?t.value:"";var i=new Event("change");document.querySelector("".concat(t.target)).dispatchEvent(i);break;case"submitForm":document.querySelector("".concat(t.target)).submit();break;case"openLink":document.querySelector("".concat(t.target)).value&&(window.location.href=document.querySelector("".concat(t.target)).value)}},n=function(e,t){var a=JSON.parse(e.getAttribute("data-values")),n=document.querySelector(t.target);if(!a)return!1;Object.keys(a).forEach(t=>{document.getElementById(t)&&"SPAN"==document.getElementById(t).tagName&&(document.getElementById(t).innerHTML=a[t]),n.querySelector('select[name="'.concat(t,'"] [value="').concat(a[t],'"]'))?(n.querySelector('select[name="'.concat(t,'"]')).value=a[t],e.hasAttribute("data-lock-fields")&&(n.querySelector('select[name="'.concat(t,'"]')).disabled=!0)):n.querySelector('input[name="'.concat(t,'"][type="radio"][value="').concat(a[t],'"]'))?(Array.from(n.querySelectorAll('input[name="'.concat(t,'"][type="radio"]'))).forEach(function(e){e.disabled=!0}),n.querySelector('input[name="'.concat(t,'"][type="radio"][value="').concat(a[t],'"]')).checked=!0,n.querySelector('input[name="'.concat(t,'"][type="radio"][value="').concat(a[t],'"]')).disabled=!1):n.querySelector('input[name="'.concat(t,'"]'))&&(n.querySelector('input[name="'.concat(t,'"]')).value=a[t],e.hasAttribute("data-lock-fields")&&n.querySelector('input[name="'.concat(t,'"]')).setAttribute("readonly","true"))})};document.addEventListener("DOMContentLoaded",()=>{return t=void 0,a=void 0,r=function*(){var t,a;window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Pageview",pageTitle:document.title}),document.addEventListener("click",e=>{var t=e.target.closest("[open] summary");if(t)window.dataLayer.push({event:"closeDetails",detailsTitle:t.textContent||""});else{var a=e.target.closest("summary"),n=e.target.closest("a"),r=e.target.closest("button");a&&window.dataLayer.push({event:"openDetails",detailsTitle:a.textContent||""}),n&&window.dataLayer.push({event:"linkClicked",linkText:n.hasAttribute("title")?n.getAttribute("title")||"":n.textContent||"",class:n.hasAttribute("class")&&n.getAttribute("class")||"",href:n.getAttribute("href")||""}),r&&window.dataLayer.push({event:"buttonClicked",buttonText:r.textContent||"",class:r.hasAttribute("class")&&r.getAttribute("class")||""})}}),document.addEventListener("change",t=>{t&&t.target instanceof HTMLElement&&t.target.closest("[data-change-events]")&&e(t.target,t.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("keyup",t=>{t&&t.target instanceof HTMLElement&&t.target.closest("[data-change-events]")&&e(t.target,t.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("click",t=>{t&&t.target instanceof HTMLElement&&t.target.closest("[data-click-events]")&&e(t.target,t.target.closest("[data-click-events]").getAttribute("data-click-events"))}),(a=document.body).classList.add("js-enabled"),(-1!==navigator.userAgent.indexOf("MSIE")||navigator.appVersion.indexOf("Trident/")>0)&&a.classList.add("ie"),t=function(e){var t=document.querySelector('label[for="'.concat(e.replace("#",""),'"]')),a=document.querySelector(e+" summary"),n=document.querySelector("dialog".concat(e)),r=document.querySelector("detail".concat(e));t instanceof HTMLElement?t.click():a instanceof HTMLElement?a.click():n instanceof HTMLElement?n.showModal():r instanceof HTMLElement&&r.addAttribute("open")},location.hash&&t(location.hash),window.addEventListener("hashchange",function(){t(location.hash)},!1),addEventListener("popstate",e=>{if(e&&e.state&&e.state.type&&"pagination"==e.state.type){var t=document.querySelector("#".concat(e.state.form)),a=document.querySelector("#".concat(e.state.form," [data-pagination]"));a?a.value=e.state.page:t.innerHTML+='<input name="page" type="hidden" data-pagination="true" value="'.concat(e.state.page,'" />'),t.dispatchEvent(new Event("submit"))}}),Array.from(document.querySelectorAll("form")).forEach(e=>{e?.closest("iam-form")||e.addEventListener("submit",t=>{var a;e.querySelector(":invalid")&&(e.classList.add("was-validated"),null===(a=e?.querySelector("input:invalid"))||void 0===a||a.scrollIntoView(),t.preventDefault())})}),document.addEventListener("click",e=>{var t;if(e&&e.target instanceof HTMLElement&&e.target.matches("form button:not([type=button])")){var a=e.target.closest("form");a?.closest("iam-form")||(Array.from(a.querySelectorAll("[data-password-type]")).forEach(e=>{e.setAttribute("type","password")}),(a.querySelector(":invalid")||a.querySelector('.pwd-checker[data-strength="1"]')||a.querySelector('.pwd-checker[data-strength="2"]'))&&(a.classList.add("was-validated"),null===(t=a?.querySelector("input:invalid"))||void 0===t||t.scrollIntoView(),e.preventDefault()),a.querySelector("iam-multiselect[data-is-required][data-error]")&&(a.classList.add("was-validated"),e.preventDefault()))}}),document.addEventListener("keydown",e=>{"Escape"===e.key&&document.querySelector(".dialog--transactional[open], .dialog--acknowledgement[open]")&&(e.preventDefault(),e.stopPropagation())}),Array.from(document.querySelectorAll("label progress")).forEach(e=>{e.closest("label").setAttribute("data-percent",e.getAttribute("value"))})},new((n=void 0)||(n=Promise))(function(e,c){function o(e){try{l(r.next(e))}catch(e){c(e)}}function i(e){try{l(r.throw(e))}catch(e){c(e)}}function l(t){t.done?e(t.value):function(e){return e instanceof n?e:new n(function(t){t(e)})}(t.value).then(o,i)}l((r=r.apply(t,a||[])).next())});var t,a,n,r})});
|
|
@@ -1,63 +1,8 @@
|
|
|
1
1
|
@use '../_func' as *;
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
3
|
@layer components {
|
|
8
|
-
iam-multiselect .tag[slot='checked'] {
|
|
9
|
-
margin-bottom: 0.5rem;
|
|
10
|
-
order: var(--order, 1);
|
|
11
|
-
margin-inline: rem(3);
|
|
12
|
-
|
|
13
|
-
&:not(:has(i)):after {
|
|
14
|
-
content: '\2715';
|
|
15
|
-
margin-left: 0.6em;
|
|
16
|
-
font-weight: bold;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
iam-multiselect .tag[slot='checked']:first-child:last-child {
|
|
21
|
-
|
|
22
|
-
margin-inline: 0;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
iam-multiselect .tag:not([slot='checked']) {
|
|
26
|
-
display: block;
|
|
27
|
-
width: 100%;
|
|
28
|
-
max-width: 100%;
|
|
29
|
-
margin: 0;
|
|
30
|
-
text-align: left;
|
|
31
|
-
border-radius: 0;
|
|
32
|
-
padding-inline: 1rem;
|
|
33
|
-
outline: none;
|
|
34
|
-
padding-block: 0.5rem;
|
|
35
|
-
|
|
36
|
-
&:not(:hover, :focus, :active, :focus-within) {
|
|
37
|
-
background: none !important;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
&::after {
|
|
41
|
-
display: none;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
4
|
|
|
45
|
-
iam-multiselect:has(label:not([slot='checked']):not([slot='notmatched'])) {
|
|
46
|
-
--display-panel: block;
|
|
47
|
-
}
|
|
48
5
|
|
|
49
|
-
iam-multiselect:has(label[slot='checked']) {
|
|
50
|
-
--display-button: block;
|
|
51
|
-
}
|
|
52
6
|
|
|
53
|
-
@container style(--theme: dark) {
|
|
54
|
-
iam-multiselect :is(.tag, .badge):not([slot='checked']) {
|
|
55
|
-
color: var(--colour-heading);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
7
|
|
|
59
|
-
iam-multiselect[data-single] .tag[slot='checked'],
|
|
60
|
-
iam-multiselect[data-single] .tag[slot='checked'] * {
|
|
61
|
-
pointer-events: none!important;
|
|
62
|
-
}
|
|
63
8
|
}
|