@iamproperty/components 7.7.0 → 7.7.1--beta2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/css/components/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/barchart.component.css +1 -1
- package/assets/css/components/barchart.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/card.component.css +1 -1
- package/assets/css/components/card.component.css.map +1 -1
- package/assets/css/components/carousel.component.css +1 -1
- package/assets/css/components/carousel.component.css.map +1 -1
- package/assets/css/components/collapsible-side.css +1 -1
- package/assets/css/components/collapsible-side.css.map +1 -1
- package/assets/css/components/config.component.css +1 -1
- package/assets/css/components/config.component.css.map +1 -1
- package/assets/css/components/content.component.css +1 -1
- package/assets/css/components/content.component.css.map +1 -1
- package/assets/css/components/doughnutchart.component.css +1 -1
- package/assets/css/components/doughnutchart.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/header.css +1 -1
- package/assets/css/components/header.css.map +1 -1
- package/assets/css/components/input.component.css +1 -1
- package/assets/css/components/input.component.css.map +1 -1
- package/assets/css/components/modal.component.css +1 -1
- package/assets/css/components/modal.component.css.map +1 -1
- package/assets/css/components/multi-step-modal.component.css +1 -1
- package/assets/css/components/multi-step-modal.component.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/nav.component.css +1 -1
- package/assets/css/components/nav.component.css.map +1 -1
- package/assets/css/components/nav.global.css +1 -1
- package/assets/css/components/pagination.css +1 -1
- package/assets/css/components/pagination.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/split-button.component.css +1 -1
- package/assets/css/components/split-button.component.css.map +1 -1
- package/assets/css/components/table-basic.global.css +1 -1
- package/assets/css/components/table-basic.global.css.map +1 -1
- package/assets/css/components/table.global.css +1 -1
- package/assets/css/components/table.global.css.map +1 -1
- package/assets/css/components/tabs.component.css +1 -1
- package/assets/css/components/tabs.component.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/video-modal.component.css +1 -1
- package/assets/css/components/video-modal.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/admin-panel.css +1 -0
- package/assets/css/elements/admin-panel.css.map +1 -0
- package/assets/css/elements/badge-tag.css +1 -0
- package/assets/css/elements/badge-tag.css.map +1 -0
- package/assets/css/elements/brand.css +1 -0
- package/assets/css/elements/brand.css.map +1 -0
- package/assets/css/elements/button__group.css +1 -0
- package/assets/css/elements/button__group.css.map +1 -0
- package/assets/css/elements/buttons--action.css +1 -0
- package/assets/css/elements/buttons--action.css.map +1 -0
- package/assets/css/elements/buttons--compact.css +1 -0
- package/assets/css/elements/buttons--compact.css.map +1 -0
- package/assets/css/elements/buttons--global.css +1 -0
- package/assets/css/elements/buttons--global.css.map +1 -0
- package/assets/css/elements/buttons--secondary.css +1 -0
- package/assets/css/elements/buttons--secondary.css.map +1 -0
- package/assets/css/elements/buttons--special.css +1 -0
- package/assets/css/elements/buttons--special.css.map +1 -0
- package/assets/css/elements/buttons--tertiary.css +1 -0
- package/assets/css/elements/buttons--tertiary.css.map +1 -0
- package/assets/css/elements/buttons.css +1 -0
- package/assets/css/elements/buttons.css.map +1 -0
- package/assets/css/elements/code.css +1 -0
- package/assets/css/elements/code.css.map +1 -0
- package/assets/css/elements/container.css +1 -0
- package/assets/css/elements/container.css.map +1 -0
- package/assets/css/elements/details.css +1 -0
- package/assets/css/elements/details.css.map +1 -0
- package/assets/css/elements/dialog.css +1 -0
- package/assets/css/elements/dialog.css.map +1 -0
- package/assets/css/elements/dropdown.css +1 -0
- package/assets/css/elements/dropdown.css.map +1 -0
- package/assets/css/elements/feature.css +1 -0
- package/assets/css/elements/feature.css.map +1 -0
- package/assets/css/elements/forms.css +1 -0
- package/assets/css/elements/forms.css.map +1 -0
- package/assets/css/elements/highlight.css +1 -0
- package/assets/css/elements/highlight.css.map +1 -0
- package/assets/css/elements/hr.css +1 -0
- package/assets/css/elements/hr.css.map +1 -0
- package/assets/css/elements/icons.css +1 -0
- package/assets/css/elements/icons.css.map +1 -0
- package/assets/css/elements/input.css +1 -0
- package/assets/css/elements/input.css.map +1 -0
- package/assets/css/elements/label.css +1 -0
- package/assets/css/elements/label.css.map +1 -0
- package/assets/css/elements/links.css +1 -0
- package/assets/css/elements/links.css.map +1 -0
- package/assets/css/elements/lists--breadcrumbs.css +1 -0
- package/assets/css/elements/lists--breadcrumbs.css.map +1 -0
- package/assets/css/elements/lists--steps.css +1 -0
- package/assets/css/elements/lists--steps.css.map +1 -0
- package/assets/css/elements/lists--tick-list.css +1 -0
- package/assets/css/elements/lists--tick-list.css.map +1 -0
- package/assets/css/elements/lists.css +1 -0
- package/assets/css/elements/lists.css.map +1 -0
- package/assets/css/elements/media.css +1 -0
- package/assets/css/elements/media.css.map +1 -0
- package/assets/css/elements/modal.css +1 -0
- package/assets/css/elements/modal.css.map +1 -0
- package/assets/css/elements/popover.css +1 -0
- package/assets/css/elements/popover.css.map +1 -0
- package/assets/css/elements/prefix.css +1 -0
- package/assets/css/elements/prefix.css.map +1 -0
- package/assets/css/elements/progress.css +1 -0
- package/assets/css/elements/progress.css.map +1 -0
- package/assets/css/elements/table.element.css +1 -0
- package/assets/css/elements/table.element.css.map +1 -0
- package/assets/css/elements/textarea.css +1 -0
- package/assets/css/elements/textarea.css.map +1 -0
- package/assets/css/elements/toggle-button.css +1 -0
- package/assets/css/elements/toggle-button.css.map +1 -0
- package/assets/css/elements/tooltips.css +1 -0
- package/assets/css/elements/tooltips.css.map +1 -0
- package/assets/css/elements/type.css +1 -0
- package/assets/css/elements/type.css.map +1 -0
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/img/logos/ee.png +0 -0
- package/assets/img/logos/o2.png +0 -0
- package/assets/img/logos/three.png +0 -0
- package/assets/img/logos/vodaphone.png +0 -0
- 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.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.js +20 -0
- package/assets/js/components/advanced-select/advanced-select.component.min.js +3 -3
- package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
- package/assets/js/components/barchart/barchart.component.min.js +2 -2
- 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 +2 -2
- package/assets/js/components/carousel/carousel.component.min.js +2 -2
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +2 -2
- package/assets/js/components/config/config.component.min.js +3 -3
- package/assets/js/components/content/content.component.min.js +2 -2
- package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
- package/assets/js/components/doughnutchart/doughnutchart.component.min.js +2 -2
- package/assets/js/components/fileupload/fileupload.component.min.js +2 -2
- 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.js +42 -33
- package/assets/js/components/header/header.component.min.js +41 -36
- package/assets/js/components/header/header.component.min.js.map +1 -1
- package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
- package/assets/js/components/input/input.component.min.js +2 -2
- 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 +4 -4
- 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 +2 -2
- package/assets/js/components/multiselect/multiselect.component.min.js +4 -4
- package/assets/js/components/nav/nav.component.min.js +3 -3
- 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 +2 -2
- package/assets/js/components/search/search.component.min.js +4 -4
- package/assets/js/components/search/search.component.min.js.map +1 -1
- package/assets/js/components/slider/slider.component.min.js +1 -1
- package/assets/js/components/split-button/split-button.component.min.js +2 -2
- package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +3 -3
- 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 +2 -2
- package/assets/js/components/table-ajax/table-ajax.component.min.js +2 -2
- package/assets/js/components/table-basic/table-basic.component.min.js +2 -2
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js +2 -2
- package/assets/js/components/table-submit/table-submit.component.min.js +2 -2
- package/assets/js/components/tabs/tabs.component.min.js +2 -2
- 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 +2 -2
- package/assets/js/components/word-count/word-count.component.min.js +1 -1
- package/assets/js/modules/advanced-select.js +5 -0
- package/assets/js/scripts.bundle.js +1 -1
- package/assets/js/scripts.bundle.min.js +1 -1
- package/assets/sass/_grid.scss +12 -1
- package/assets/sass/components/header.scss +72 -8
- package/assets/sass/components/modal.component.scss +2 -2
- package/assets/sass/elements/admin-panel.css +37 -0
- package/assets/sass/elements/buttons--compact.css +1 -1
- package/assets/sass/elements/buttons--global.scss +0 -1
- package/assets/sass/elements/lists--tick-list.scss +38 -19
- package/assets/sass/foundations/root.scss +1 -0
- package/assets/sass/utilities/position.scss +22 -60
- package/assets/ts/components/advanced-select/advanced-select.component.ts +27 -4
- package/assets/ts/components/header/header.component.ts +44 -33
- package/assets/ts/components/modal/modal.component.ts +1 -1
- package/assets/ts/modules/advanced-select.ts +6 -1
- package/dist/components.es.js +89 -89
- package/dist/components.umd.js +167 -327
- package/package.json +2 -3
- package/src/components/AdvancedSelect/AdvancedSelect.vue +9 -2
|
@@ -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 let currentFocus = -1;\n const datalistWrapper = datalist.closest('.datalist__wrapper') ? datalist.closest('.datalist__wrapper') : datalist;\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 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('keyup', function () {\n if (displayInputField.value != \"\") {\n displayInputField.setAttribute('data-value', displayInputField.value);\n }\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 if (event && event.target instanceof HTMLElement && event.target.closest('option')) {\n const option = event.target.closest('option');\n displayInputField.value = option.value;\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 }\n });\n displayInputField.addEventListener('input', function () {\n displayInputField.removeAttribute('data-value');\n currentFocus = -1;\n if (advancedSelect.tagName != \"IAM-ADDRESS-LOOKUP\") {\n const text = displayInputField.value.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 }\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) {\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 displayInputField\n .closest('label')\n .insertAdjacentHTML('beforeend', '<button class=\"empty btn btn-action\" type=\"button\"><i class=\"fa-light fa-times me-0\"></i></button>');\n const emptyField = () => {\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 for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n optionInner.removeAttribute('style');\n }\n const updateEvent = new CustomEvent('close-button-pressed');\n advancedSelect.dispatchEvent(updateEvent);\n };\n const closeBtn = advancedSelect.querySelector('.empty') ? advancedSelect.querySelector('.empty') : advancedSelect.shadowRoot.querySelector('.empty');\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.js';\nimport advancedSelect from '../../modules/advanced-select.js';\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 template = document.createElement('template');\n template.innerHTML = `\n <style>\n input {\n background: red;\n }\n input:not(.is-invalid):not(:invalid) {\n background: none!important;\n }\n .optional-text {\n display: none;\n } \n .js-hide {\n display: none !important;\n }\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\" />\n <slot></slot>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n return __awaiter(this, void 0, void 0, function* () {\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 advancedSelect(this, displayInputField, datalist, false);\n function 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 console.log(inputField);\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 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 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 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 datalist.innerHTML = '';\n inputField === null || inputField === void 0 ? void 0 : inputField.value = '';\n searchWrapper.classList.remove('was-validated');\n displayInputField.classList.remove('is-invalid');\n displayInputField.closest('label').removeAttribute('data-error');\n });\n // Search the endpoint when 3 characters has been added\n if (searchWrapper.hasAttribute('data-url')) {\n displayInputField.addEventListener('input', () => {\n if (displayInputField.value.length < minLength) {\n datalist.innerHTML = '';\n }\n if (displayInputField.value.length == minLength) {\n search(displayInputField.value);\n }\n });\n }\n else {\n // on change update oringinal field with the actual value and use displayed input for the nice display text\n displayInputField.addEventListener('input', () => {\n checkMatch();\n });\n }\n if (searchWrapper.hasAttribute('data-prevent-submit')) {\n const form = searchWrapper.closest('form');\n form.addEventListener('submit', (e) => {\n e.preventDefault();\n });\n }\n });\n }\n}\nexport default iamSearch;\n"],"names":["assign","target","i","source","key","defaultConverter","value","init","converter","defaultAttributes","set","name","attributes","stringifiedAttributes","attributeName","get","cookies","jar","parts","found","api","snake","str","safeID","resolvePath","object","path","defaultValue","p","o","isTraversable","advancedSelect","displayInputField","datalist","isSearch","currentFocus","option","event","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 let currentFocus = -1;\n const datalistWrapper = datalist.closest('.datalist__wrapper') ? datalist.closest('.datalist__wrapper') : datalist;\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 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('keyup', function () {\n if (displayInputField.value != \"\") {\n displayInputField.setAttribute('data-value', displayInputField.value);\n }\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 if (event && event.target instanceof HTMLElement && event.target.closest('option')) {\n const option = event.target.closest('option');\n displayInputField.value = option.value;\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 setTimeout(() => {\n advancedSelect.dispatchEvent(new CustomEvent('update-value', {\n detail: { value: option.value },\n }));\n }, 0);\n }\n });\n displayInputField.addEventListener('input', function () {\n displayInputField.removeAttribute('data-value');\n currentFocus = -1;\n if (advancedSelect.tagName != \"IAM-ADDRESS-LOOKUP\") {\n const text = displayInputField.value.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 }\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) {\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 displayInputField\n .closest('label')\n .insertAdjacentHTML('beforeend', '<button class=\"empty btn btn-action\" type=\"button\"><i class=\"fa-light fa-times me-0\"></i></button>');\n const emptyField = () => {\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 for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n optionInner.removeAttribute('style');\n }\n const updateEvent = new CustomEvent('close-button-pressed');\n advancedSelect.dispatchEvent(updateEvent);\n };\n const closeBtn = advancedSelect.querySelector('.empty') ? advancedSelect.querySelector('.empty') : advancedSelect.shadowRoot.querySelector('.empty');\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.js';\nimport advancedSelect from '../../modules/advanced-select.js';\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 template = document.createElement('template');\n template.innerHTML = `\n <style>\n input {\n background: red;\n }\n input:not(.is-invalid):not(:invalid) {\n background: none!important;\n }\n .optional-text {\n display: none;\n } \n .js-hide {\n display: none !important;\n }\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/8bd0fca975.css\" crossorigin=\"anonymous\" />\n <slot></slot>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n return __awaiter(this, void 0, void 0, function* () {\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 advancedSelect(this, displayInputField, datalist, false);\n function 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 console.log(inputField);\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 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 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 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 datalist.innerHTML = '';\n inputField === null || inputField === void 0 ? void 0 : inputField.value = '';\n searchWrapper.classList.remove('was-validated');\n displayInputField.classList.remove('is-invalid');\n displayInputField.closest('label').removeAttribute('data-error');\n });\n // Search the endpoint when 3 characters has been added\n if (searchWrapper.hasAttribute('data-url')) {\n displayInputField.addEventListener('input', () => {\n if (displayInputField.value.length < minLength) {\n datalist.innerHTML = '';\n }\n if (displayInputField.value.length == minLength) {\n search(displayInputField.value);\n }\n });\n }\n else {\n // on change update oringinal field with the actual value and use displayed input for the nice display text\n displayInputField.addEventListener('input', () => {\n checkMatch();\n });\n }\n if (searchWrapper.hasAttribute('data-prevent-submit')) {\n const form = searchWrapper.closest('form');\n form.addEventListener('submit', (e) => {\n e.preventDefault();\n });\n }\n });\n }\n}\nexport default iamSearch;\n"],"names":["assign","target","i","source","key","defaultConverter","value","init","converter","defaultAttributes","set","name","attributes","stringifiedAttributes","attributeName","get","cookies","jar","parts","found","api","snake","str","safeID","resolvePath","object","path","defaultValue","p","o","isTraversable","advancedSelect","displayInputField","datalist","isSearch","currentFocus","option","event","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.7.
|
|
2
|
+
* iamKey v7.7.1--beta2
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Slider"});class f extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const t=document.createElement("template");t.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* iamKey v7.7.
|
|
2
|
+
* iamKey v7.7.1--beta2
|
|
3
3
|
* Copyright 2022-2026 iamproperty
|
|
4
4
|
*/class u extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const r=document.createElement("template");r.innerHTML=`
|
|
5
5
|
<style>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<slot></slot>
|
|
11
11
|
</div>`,this.shadowRoot.appendChild(r.content.cloneNode(!0))}connectedCallback(){const r=this.hasAttribute("id")?this.getAttribute("id"):!1,n=document.querySelector(`[popovertarget="${r}"]`);let i=this.querySelectorAll(":scope > a, :scope > button, :scope > details > summary"),l=this.querySelectorAll("a, button");this.closest(".menu__wrapper")&&(l=this.shadowRoot.querySelector("slot").assignedElements({flatten:!0}),i=l),this.querySelectorAll("details");let m,c;r&&n&&(this.setAttribute("role","menu"),this.setAttribute("popover","auto"),this.style["position-anchor"]=`--${r}`,n?.setAttribute("aria-haspopup","true"),n==null||(n.style["anchor-name"]=`--${r}`),n?.setAttribute("aria-controls",r)),l.forEach((t,e)=>{t.setAttribute("role","menuitem"),t.setAttribute("tabindex","0"),e==0&&t.setAttribute("autofocus",!0)}),this.addEventListener("keydown",t=>{if(t&&t.target instanceof HTMLElement&&t.target.closest("a, button, summary")){const e=document.activeElement,a=Array.from(i).indexOf(e)-1,s=Array.from(i).indexOf(e)+1;switch(t.keyCode){case 27:e.closest("details")?(t.stopPropagation(),t.preventDefault(),e.closest("details").removeAttribute("open"),e.closest("details").querySelector(":scope summary").focus()):(t.stopPropagation(),n.focus());break;case 32:case 13:break;case 35:t.stopPropagation(),t.preventDefault(),this.querySelector("details[open]").removeAttribute("open"),Array.from(l)[l.length-1].focus();break;case 36:t.stopPropagation(),t.preventDefault(),this.querySelector("details[open]").removeAttribute("open"),Array.from(l)[0].focus();break;case 38:if(t.stopPropagation(),t.preventDefault(),Array.from(i).indexOf(e)>-1)Array.from(i)[a]!=null?Array.from(i)[a].focus():Array.from(i)[i.length-1].focus();else if(e.closest("details")){const o=e.closest("details").querySelectorAll("a, button, :scope details > summary");c=Array.from(o).indexOf(e)-1,Array.from(o)[c]!=null?Array.from(o)[c].focus():Array.from(o)[o.length-1].focus()}break;case 40:if(t.stopPropagation(),t.preventDefault(),Array.from(i).indexOf(e)>-1)Array.from(i)[s]!=null?Array.from(i)[s].focus():Array.from(i)[0].focus();else if(e.closest("details")){const o=e.closest("details").querySelectorAll("a, button, :scope details > summary");m=Array.from(o).indexOf(e)+1,Array.from(o)[m]!=null?Array.from(o)[m].focus():Array.from(o)[0].focus()}break}}}),this.addEventListener("toggle",t=>{var e,a,s,o;const d=new CustomEvent(t.newState,{detail:{id:this.getAttribute("id"),target:t.target}});this.dispatchEvent(d),this.closest(".menu__wrapper")&&l[0].focus(),this.hasAttribute("popover-open")&&(t.preventDefault(),this.removeAttribute("popover-open"),this.hidePopover()),this.matches(":popover-open")&&document.querySelector(`[popovertarget="${this.getAttribute("id")}"]`)?((e=document.querySelector(`[popovertarget="${this.getAttribute("id")}"]`))===null||e===void 0||e.setAttribute("aria-pressed","true"),(a=document.querySelector(`[popovertarget="${this.getAttribute("id")}"]`))===null||a===void 0||a.classList.add("active")):((s=document.querySelector(`[popovertarget="${this.getAttribute("id")}"]`))===null||s===void 0||s.removeAttribute("aria-pressed"),(o=document.querySelector(`[popovertarget="${this.getAttribute("id")}"]`))===null||o===void 0||o.classList.remove("active"))}),this.addEventListener("click",t=>{if(t&&t.target instanceof HTMLElement&&t.target.closest("button:has(+ iam-menu:not([popover]))")){const e=t.target.closest("button:has(+ iam-menu)");e?.classList.toggle("open")}else if(t&&t.target instanceof HTMLElement&&t.target.closest("button.selectable")){const e=t.target.closest("button.selectable");this.hasAttribute("multiple")?e.classList.toggle("selected"):e?.classList.contains("selected")?this.querySelectorAll(".selected").forEach(a=>{a.classList.remove("selected")}):(this.querySelectorAll(".selected").forEach(a=>{a.classList.remove("selected")}),e.classList.add("selected"))}}),CSS.supports("top","anchor(top)")||document.addEventListener("click",t=>{if(t.originalTarget&&t.originalTarget.matches("[popovertarget]")){const e=t.originalTarget,a=e.getAttribute("popovertarget"),s=document.getElementById(a),o=e.getBoundingClientRect(),d=o.top,b=o.left;s.style.setProperty("top",d+"px"),s.style.setProperty("left",b+e.clientWidth+"px")}})}}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"split-button"});class h 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=`
|
|
12
12
|
<style>
|
|
13
|
-
@layer elements{*,*::before,*::after{box-sizing:border-box}button{border-radius:0;text-transform:none;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}[role=button]{cursor:pointer}button:focus:not(:focus-visible){outline:0}:is(button,[type=button],[type=reset],[type=submit]){-webkit-appearance:button}:is(button,[type=button],[type=reset],[type=submit]):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}@media screen and (min-width: 36em){.btn{--btn-margin: 1.5rem}}.btn:not(.btn-secondary)[class*=colour-]{--colour-btn-bg: var(--colour);--colour-btn-border: var(--colour)}.btn:is(.colour-primary,.colour-dark,.colour-danger,.colour-black){--colour-btn: #fcfcfc}.btn:not(.border-0){background:var(--colour-btn-bg);border:var(--btn-border-width) solid var(--colour-btn-border)}.btn:not(:last-child){margin-right:var(--btn-margin)}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.colour-success{--colour-btn-bg-hover: var(--colour);--colour-btn-border-hover: var(--colour);--colour-btn-hover: var(--colour-primary-theme);position:relative;padding-left:3.5rem;padding-right:3.5rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.colour-success,.btn.colour-success:is(:hover,:focus,.hover):not([disabled],:active,.active){padding-left:2.5rem;padding-right:2.5rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.colour-success:before,.btn.colour-success:is(:hover,:focus,.hover):not([disabled],:active,.active):before{content:"\uF00C";font-family:"Font Awesome 7 Pro";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:"Font Awesome 7 Pro";line-height:1em}.btn.btn[class*=fa-after]{padding-right:4rem}.btn.btn[class*=fa-after]:before{margin-right:0;margin-right:.375rem;position:absolute;right:1.5rem;top:50%;transform:translate(0, -50%)}.btn:not(.btn-compact):before{margin-right:1rem}.btn i[class*=fa-]{--fa-width: 1em;font-family:"Font Awesome 7 Pro";margin-right:1rem;line-height:1em;font-style:inherit}.btn i[class*=fa-]: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:after,.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:"Font Awesome 7 Pro"}}@layer elements{.btn-secondary{color:var(--colour-btn-secondary)}.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:rgba(0,0,0,0);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}.btn.btn-tertiary:after{position:absolute;content:"";top:100%;left:50%;height:2px;width:100%;transform:translate(-50%, 0);background:var(--colour-underline);transition:width .5s}.btn.btn-tertiary.text-decoration-none:after{width:0%}.btn.btn-tertiary [class*=fa-]{margin-left:0;margin-right:.5rem}.btn.btn-tertiary [class*=fa-]:not(:first-child){margin-left:.5rem;margin-right:0}.btn.btn-tertiary:is(:hover,:focus,.hover,:focus-within):not([disabled],:disabled,:active,.active):after{width:60% !important}.btn.btn-tertiary: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}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)}&.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}}@container style(--theme: dark){&[class*=fa-]:before{color:white}}.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}.btn[popovertarget]>.fa-chevron-down{display:none}.btn[popovertarget]:not(:has(i)):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)}.btn[popovertarget][aria-pressed]:after{transform:rotate(270deg)}.btn:has(select){position:relative;padding:0;max-width:fit-content;min-width:fit-content;width:fit-content}.btn:has(select) 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}.btn:has(select) select option{font-size:1rem;text-align:left;color:var(--colour-primary);padding-inline:var(--menu-item-padding, 0.5rem);padding-block:var(--menu-item-padding, 0.5rem) !important;border-radius:.25rem !important}.btn:has(select) select option:not(:last-child){margin:var(--menu-item-margin, 0 0 0.25rem 0) !important}.btn:has(select) select option:hover{background:var(--colour-light) !important}.btn:has(select) select option:after{content:attr(data-email)}.btn:has(select) select::picker-icon{display:none}.btn:has(select) select::picker(select){appearance:base-select;background:var(--menu-bg, canvas);margin-block:var(--menu-margin, 0.25rem);padding:var(--menu-padding, 0.5rem) !important;border:none !important;border-radius:.5rem;box-shadow:0px 2px 9px rgba(0,0,0,.1);font-size:1rem}.btn:has(select) hr{height:1px !important;background-color:var(--menu-hr-border-color, var(--border-color, grey)) !important;width:100%;margin:var(--menu-item-margin, 0 0 0.25rem 0) !important;padding:0 !important}.btn:has(select) select option::checkmark{display:none}.btn:has(select) select selectedcontent span{display:none}.btn:has(select):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}.btn-action:has(select) select{margin:0rem 0rem !important;padding-right:2rem !important;margin-right:-2rem !important;font-size:1rem !important}.btn-action:has(select):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}}}@layer components{iam-menu:defined{--menu-padding: 0.5rem;--border-color: var(--colour-border);--menu-item-margin: 0 0 0.5rem 0}iam-menu i{width:1.25rem}iam-menu>button:has(+iam-menu){position:relative}iam-menu>button:has(+iam-menu):after{content:"";height:var(--btn-line-height);width:1rem;height: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;position:absolute;top:calc(50% - .5rem);right:.5rem}iam-menu>button:has(+iam-menu:not([popover])):after{rotate:90deg}iam-menu>button.open:has(+iam-menu:not([popover])){position:relative}iam-menu>button.open:has(+iam-menu:not([popover])):after{top:calc(50% - .5rem);right:.5rem;rotate:270deg}iam-menu>button:has(+iam-menu:popover-open){position:relative}iam-menu>button:has(+iam-menu:popover-open):after{top:calc(50% - .5rem);right:.5rem;rotate:180deg}iam-menu>button:not(.open)+iam-menu:not([popover]){display:none}iam-menu>button+iam-menu:not([popover])>*:is(button,a,label){padding-left:2rem}}::slotted(button:not([slot])){float:left;margin-right:0 !important;border-top-right-radius:0 !important;border-bottom-right-radius:0 !important;border-right:none !important;padding-right:1rem !important}::slotted(button[slot]){background:none !important;display:block !important;float:none !important;border:none !important}.split-button{position:relative}.split-button .dropdown{position:relative;display:inline-block}.split-button .dropdown button{border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid rgba(0,0,0,.2);padding-right:0;padding-left:.75rem;margin-bottom:0}.split-button .dropdown button .fa-light::before{content:"\uF107"}.split-button .dropdown button:hover,.split-button .dropdown button:active,.split-button .dropdown button:focus{border-top-left-radius:0;border-bottom-left-radius:0}.split-button .dropdown button::after{display:none}.btn-secondary:not([disabled]):hover i,.btn-secondary:not([disabled]):active i,.btn-secondary:not([disabled]):focus i{color:#fff !important}@media(prefers-color-scheme: dark){.btn-secondary.btn-split{border-left-color:#fff !important}.btn-secondary.btn-split:hover i,.btn-secondary.btn-split:active i,.btn-secondary.btn-split:focus i{color:#000 !important}}/*# sourceMappingURL=assets/css/components/split-button.component.css.map */
|
|
13
|
+
@layer elements{*,*::before,*::after{box-sizing:border-box}button{border-radius:0;text-transform:none;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}[role=button]{cursor:pointer}button:focus:not(:focus-visible){outline:0}:is(button,[type=button],[type=reset],[type=submit]){-webkit-appearance:button}:is(button,[type=button],[type=reset],[type=submit]):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}@media screen and (min-width: 36em){.btn{--btn-margin: 1.5rem}}.btn:not(.btn-secondary)[class*=colour-]{--colour-btn-bg: var(--colour);--colour-btn-border: var(--colour)}.btn:is(.colour-primary,.colour-dark,.colour-danger,.colour-black){--colour-btn: #fcfcfc}.btn:not(.border-0){background:var(--colour-btn-bg);border:var(--btn-border-width) solid var(--colour-btn-border)}.btn:not(:last-child){margin-right:var(--btn-margin)}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.colour-success{--colour-btn-bg-hover: var(--colour);--colour-btn-border-hover: var(--colour);--colour-btn-hover: var(--colour-primary-theme);position:relative;padding-left:3.5rem;padding-right:3.5rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.colour-success,.btn.colour-success:is(:hover,:focus,.hover):not([disabled],:active,.active){padding-left:2.5rem;padding-right:2.5rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.colour-success:before,.btn.colour-success:is(:hover,:focus,.hover):not([disabled],:active,.active):before{content:"\uF00C";font-family:"Font Awesome 7 Pro";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:"Font Awesome 7 Pro"}.btn.btn[class*=fa-after]{padding-right:4rem}.btn.btn[class*=fa-after]:before{margin-right:0;margin-right:.375rem;position:absolute;right:1.5rem;top:50%;transform:translate(0, -50%)}.btn:not(.btn-compact):before{margin-right:1rem}.btn i[class*=fa-]{--fa-width: 1em;font-family:"Font Awesome 7 Pro";margin-right:1rem;line-height:1em;font-style:inherit}.btn i[class*=fa-]: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:after,.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:"Font Awesome 7 Pro"}}@layer elements{.btn-secondary{color:var(--colour-btn-secondary)}.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:rgba(0,0,0,0);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}.btn.btn-tertiary:after{position:absolute;content:"";top:100%;left:50%;height:2px;width:100%;transform:translate(-50%, 0);background:var(--colour-underline);transition:width .5s}.btn.btn-tertiary.text-decoration-none:after{width:0%}.btn.btn-tertiary [class*=fa-]{margin-left:0;margin-right:.5rem}.btn.btn-tertiary [class*=fa-]:not(:first-child){margin-left:.5rem;margin-right:0}.btn.btn-tertiary:is(:hover,:focus,.hover,:focus-within):not([disabled],:disabled,:active,.active):after{width:60% !important}.btn.btn-tertiary: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}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}.btn[popovertarget]>.fa-chevron-down{display:none}.btn[popovertarget]:not(:has(i)):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)}.btn[popovertarget][aria-pressed]:after{transform:rotate(270deg)}.btn:has(select){position:relative;padding:0;max-width:fit-content;min-width:fit-content;width:fit-content}.btn:has(select) 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}.btn:has(select) select option{font-size:1rem;text-align:left;color:var(--colour-primary);padding-inline:var(--menu-item-padding, 0.5rem);padding-block:var(--menu-item-padding, 0.5rem) !important;border-radius:.25rem !important}.btn:has(select) select option:not(:last-child){margin:var(--menu-item-margin, 0 0 0.25rem 0) !important}.btn:has(select) select option:hover{background:var(--colour-light) !important}.btn:has(select) select option:after{content:attr(data-email)}.btn:has(select) select::picker-icon{display:none}.btn:has(select) select::picker(select){appearance:base-select;background:var(--menu-bg, canvas);margin-block:var(--menu-margin, 0.25rem);padding:var(--menu-padding, 0.5rem) !important;border:none !important;border-radius:.5rem;box-shadow:0px 2px 9px rgba(0,0,0,.1);font-size:1rem}.btn:has(select) hr{height:1px !important;background-color:var(--menu-hr-border-color, var(--border-color, grey)) !important;width:100%;margin:var(--menu-item-margin, 0 0 0.25rem 0) !important;padding:0 !important}.btn:has(select) select option::checkmark{display:none}.btn:has(select) select selectedcontent span{display:none}.btn:has(select):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}.btn-action:has(select) select{margin:0rem 0rem !important;padding-right:2rem !important;margin-right:-2rem !important;font-size:1rem !important}.btn-action:has(select):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}}}@layer components{iam-menu:defined{--menu-padding: 0.5rem;--border-color: var(--colour-border);--menu-item-margin: 0 0 0.5rem 0}iam-menu i{width:1.25rem}iam-menu>button:has(+iam-menu){position:relative}iam-menu>button:has(+iam-menu):after{content:"";height:var(--btn-line-height);width:1rem;height: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;position:absolute;top:calc(50% - .5rem);right:.5rem}iam-menu>button:has(+iam-menu:not([popover])):after{rotate:90deg}iam-menu>button.open:has(+iam-menu:not([popover])){position:relative}iam-menu>button.open:has(+iam-menu:not([popover])):after{top:calc(50% - .5rem);right:.5rem;rotate:270deg}iam-menu>button:has(+iam-menu:popover-open){position:relative}iam-menu>button:has(+iam-menu:popover-open):after{top:calc(50% - .5rem);right:.5rem;rotate:180deg}iam-menu>button:not(.open)+iam-menu:not([popover]){display:none}iam-menu>button+iam-menu:not([popover])>*:is(button,a,label){padding-left:2rem}}::slotted(button:not([slot])){float:left;margin-right:0 !important;border-top-right-radius:0 !important;border-bottom-right-radius:0 !important;border-right:none !important;padding-right:1rem !important}::slotted(button[slot]){background:none !important;display:block !important;float:none !important;border:none !important}.split-button{position:relative}.split-button .dropdown{position:relative;display:inline-block}.split-button .dropdown button{border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid rgba(0,0,0,.2);padding-right:0;padding-left:.75rem;margin-bottom:0}.split-button .dropdown button .fa-light::before{content:"\uF107"}.split-button .dropdown button:hover,.split-button .dropdown button:active,.split-button .dropdown button:focus{border-top-left-radius:0;border-bottom-left-radius:0}.split-button .dropdown button::after{display:none}.btn-secondary:not([disabled]):hover i,.btn-secondary:not([disabled]):active i,.btn-secondary:not([disabled]):focus i{color:#fff !important}@media(prefers-color-scheme: dark){.btn-secondary.btn-split{border-left-color:#fff !important}.btn-secondary.btn-split:hover i,.btn-secondary.btn-split:active i,.btn-secondary.btn-split:focus i{color:#000 !important}}/*# sourceMappingURL=assets/css/components/split-button.component.css.map */
|
|
14
14
|
|
|
15
15
|
${this.hasAttribute("css")?`@import "${this.getAttribute("css")}";`:""}
|
|
16
16
|
</style>
|