From 81cc4189c3bbb452966ee2d4090ea6eaa4f2dea1 Mon Sep 17 00:00:00 2001
From: Irina-anat <116644910+Irina-anat@users.noreply.github.com>
Date: Sun, 14 Jan 2024 16:17:12 +0000
Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20Irina-an?=
=?UTF-8?q?at/cat-search@070304ab029b18c96af5298b33a0f25a8410624b=20?=
=?UTF-8?q?=F0=9F=9A=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
index.5436a612.js | 2 ++
index.5436a612.js.map | 1 +
index.cbdf542e.js => index.91728126.js | 4 ++--
index.91728126.js.map | 1 +
index.b06baf61.css.map | 1 -
index.cbdf542e.js.map | 1 -
index.b06baf61.css => index.d67eff29.css | 4 ++--
index.d67eff29.css.map | 1 +
index.f6504df7.js | 2 --
index.f6504df7.js.map | 1 -
index.html | 2 +-
11 files changed, 10 insertions(+), 10 deletions(-)
create mode 100644 index.5436a612.js
create mode 100644 index.5436a612.js.map
rename index.cbdf542e.js => index.91728126.js (98%)
create mode 100644 index.91728126.js.map
delete mode 100644 index.b06baf61.css.map
delete mode 100644 index.cbdf542e.js.map
rename index.b06baf61.css => index.d67eff29.css (87%)
create mode 100644 index.d67eff29.css.map
delete mode 100644 index.f6504df7.js
delete mode 100644 index.f6504df7.js.map
diff --git a/index.5436a612.js b/index.5436a612.js
new file mode 100644
index 0000000..e282f3d
--- /dev/null
+++ b/index.5436a612.js
@@ -0,0 +1,2 @@
+function t(t){return t&&t.__esModule?t.default:t}var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{};async function s(t){const e=`https://api.thecatapi.com/v1/images/search?api_key=live_ZXvXnN3nLIiVAMYsFosudfyRXWXuiSEi6HJhbZIzZhQtawavdsyjEdVTjhSqCXMm&breed_ids=${t}`,s=await fetch(e);if(!s.ok)throw new Error(s.status);return await s.json()}function i(t){const{url:e,breeds:s}=t;return`
\n
\n
\n
${s[0].name||"No name"}
\n
${s[0].description||"Not found"}
\n
Temperament: ${s[0].temperament}
\n
Link to Wikipedia page\n
\n
`}var n={};n=function(){function t(){return Math.random().toString(36).substring(2,10)}function e(t,e){function s(t,s){return s&&t&&t.classList&&t.classList.contains(s)||s&&t&&t.dataset&&t.dataset.id&&t.dataset.id===e?t:null}function i(t,e){return t&&t!==document?s(t,e)?t:i(t.parentNode,e):null}return s(t,e)||i(t,e)}function s(t,e=50,s=!1){let i;return function(...n){const o=self,a=()=>{i=null,s||t.apply(o,n)},l=s&&!i;clearTimeout(i),i=setTimeout(a,e),l&&t.apply(o,n)}}function i(t,e){return JSON.stringify(t)===JSON.stringify(e)}function n(t){const e=t.replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g,(t=>"-"+t.toLowerCase()));return t[0]===t[0].toUpperCase()?e.substring(1):e}class o{constructor(e){if(this.id=e.id&&""!==e.id?e.id:t(),this.label=e.label||"",this.selectAll=void 0!==e.selectAll&&e.selectAll,this.selectAllText=e.selectAllText||"Select All",this.closable=e.closable||"off",this.options=[],e.options)for(const t of e.options)this.options.push(new a(t))}}class a{constructor(e){this.id=e.id&&""!==e.id?e.id:t(),this.value=void 0===e.value?e.text:e.value,this.text=e.text||"",this.html=e.html||"",this.selected=void 0!==e.selected&&e.selected,this.display=void 0===e.display||e.display,this.disabled=void 0!==e.disabled&&e.disabled,this.mandatory=void 0!==e.mandatory&&e.mandatory,this.placeholder=void 0!==e.placeholder&&e.placeholder,this.class=e.class||"",this.style=e.style||"",this.data=e.data||{}}}class l{constructor(t,e){this.selectType="single",this.data=[],this.selectType=t,this.setData(e)}validateDataArray(t){if(!Array.isArray(t))return new Error("Data must be an array");for(let e of t){if(!(e instanceof o||"label"in e))return e instanceof a||"text"in e?this.validateOption(e):new Error("Data object must be a valid optgroup or option");if(!("label"in e))return new Error("Optgroup must have a label");if("options"in e&&e.options)for(let t of e.options)return this.validateOption(t)}return null}validateOption(t){return"text"in t?null:new Error("Option must have a text")}partialToFullData(t){let e=[];return t.forEach((t=>{if(t instanceof o||"label"in t){let s=[];"options"in t&&t.options&&t.options.forEach((t=>{s.push(new a(t))})),s.length>0&&e.push(new o(t))}(t instanceof a||"text"in t)&&e.push(new a(t))})),e}setData(t){this.data=this.partialToFullData(t),"single"===this.selectType&&this.setSelectedBy("value",this.getSelected())}getData(){return this.filter(null,!0)}getDataOptions(){return this.filter(null,!1)}addOption(t){this.setData(this.getData().concat(new a(t)))}setSelectedBy(t,e){let s=null,i=!1;for(let n of this.data){if(n instanceof o)for(let o of n.options)s||(s=o),o.selected=!i&&e.includes(o[t]),o.selected&&"single"===this.selectType&&(i=!0);n instanceof a&&(s||(s=n),n.selected=!i&&e.includes(n[t]),n.selected&&"single"===this.selectType&&(i=!0))}"single"===this.selectType&&s&&!i&&(s.selected=!0)}getSelected(){let t=this.getSelectedOptions(),e=[];return t.forEach((t=>{e.push(t.value)})),e}getSelectedOptions(){return this.filter((t=>t.selected),!1)}getSelectedIDs(){let t=this.getSelectedOptions(),e=[];return t.forEach((t=>{e.push(t.id)})),e}getOptgroupByID(t){for(let e of this.data)if(e instanceof o&&e.id===t)return e;return null}getOptionByID(t){let e=this.filter((e=>e.id===t),!1);return e.length?e[0]:null}getSelectType(){return this.selectType}getFirstOption(){let t=null;for(let e of this.data)if(e instanceof o?t=e.options[0]:e instanceof a&&(t=e),t)break;return t}search(t,e){return""===(t=t.trim())?this.getData():this.filter((s=>e(s,t)),!0)}filter(t,e){const s=[];return this.data.forEach((i=>{if(i instanceof o){let n=[];if(i.options.forEach((i=>{t&&!t(i)||(e?n.push(new a(i)):s.push(new a(i)))})),n.length>0){let t=new o(i);t.options=n,s.push(t)}}i instanceof a&&(t&&!t(i)||s.push(new a(i)))})),s}}class r{constructor(t,e,s){this.classes={main:"ss-main",placeholder:"ss-placeholder",values:"ss-values",single:"ss-single",max:"ss-max",value:"ss-value",valueText:"ss-value-text",valueDelete:"ss-value-delete",valueOut:"ss-value-out",deselect:"ss-deselect",deselectPath:"M10,10 L90,90 M10,90 L90,10",arrow:"ss-arrow",arrowClose:"M10,30 L50,70 L90,30",arrowOpen:"M10,70 L50,30 L90,70",content:"ss-content",openAbove:"ss-open-above",openBelow:"ss-open-below",search:"ss-search",searchHighlighter:"ss-search-highlight",searching:"ss-searching",addable:"ss-addable",addablePath:"M50,10 L50,90 M10,50 L90,50",list:"ss-list",optgroup:"ss-optgroup",optgroupLabel:"ss-optgroup-label",optgroupLabelText:"ss-optgroup-label-text",optgroupActions:"ss-optgroup-actions",optgroupSelectAll:"ss-selectall",optgroupSelectAllBox:"M60,10 L10,10 L10,90 L90,90 L90,50",optgroupSelectAllCheck:"M30,45 L50,70 L90,10",optgroupClosable:"ss-closable",option:"ss-option",optionDelete:"M10,10 L90,90 M10,90 L90,10",highlighted:"ss-highlighted",open:"ss-open",close:"ss-close",selected:"ss-selected",error:"ss-error",disabled:"ss-disabled",hide:"ss-hide"},this.store=e,this.settings=t,this.callbacks=s,this.main=this.mainDiv(),this.content=this.contentDiv(),this.updateClassStyles(),this.updateAriaAttributes(),this.settings.contentLocation.appendChild(this.content.main)}enable(){this.main.main.classList.remove(this.classes.disabled),this.content.search.input.disabled=!1}disable(){this.main.main.classList.add(this.classes.disabled),this.content.search.input.disabled=!0}open(){this.main.arrow.path.setAttribute("d",this.classes.arrowOpen),this.main.main.classList.add("up"===this.settings.openPosition?this.classes.openAbove:this.classes.openBelow),this.main.main.setAttribute("aria-expanded","true"),this.moveContent();const t=this.store.getSelectedOptions();if(t.length){const e=t[t.length-1].id,s=this.content.list.querySelector('[data-id="'+e+'"]');s&&this.ensureElementInView(this.content.list,s)}}close(){this.main.main.classList.remove(this.classes.openAbove),this.main.main.classList.remove(this.classes.openBelow),this.main.main.setAttribute("aria-expanded","false"),this.content.main.classList.remove(this.classes.openAbove),this.content.main.classList.remove(this.classes.openBelow),this.main.arrow.path.setAttribute("d",this.classes.arrowClose)}updateClassStyles(){if(this.main.main.className="",this.main.main.removeAttribute("style"),this.content.main.className="",this.content.main.removeAttribute("style"),this.main.main.classList.add(this.classes.main),this.content.main.classList.add(this.classes.content),""!==this.settings.style&&(this.main.main.style.cssText=this.settings.style,this.content.main.style.cssText=this.settings.style),this.settings.class.length)for(const t of this.settings.class)""!==t.trim()&&(this.main.main.classList.add(t.trim()),this.content.main.classList.add(t.trim()));"relative"===this.settings.contentPosition&&this.content.main.classList.add("ss-"+this.settings.contentPosition)}updateAriaAttributes(){this.main.main.role="combobox",this.main.main.setAttribute("aria-haspopup","listbox"),this.main.main.setAttribute("aria-controls",this.content.main.id),this.main.main.setAttribute("aria-expanded","false"),this.content.main.setAttribute("role","listbox")}mainDiv(){var t;const e=document.createElement("div");e.dataset.id=this.settings.id,e.setAttribute("aria-label",this.settings.ariaLabel),e.tabIndex=0,e.onkeydown=t=>{switch(t.key){case"ArrowUp":case"ArrowDown":return this.callbacks.open(),"ArrowDown"===t.key?this.highlight("down"):this.highlight("up"),!1;case"Tab":return this.callbacks.close(),!0;case"Enter":case" ":this.callbacks.open();const e=this.content.list.querySelector("."+this.classes.highlighted);return e&&e.click(),!1;case"Escape":return this.callbacks.close(),!1}return!1},e.onclick=t=>{this.settings.disabled||(this.settings.isOpen?this.callbacks.close():this.callbacks.open())};const s=document.createElement("div");s.classList.add(this.classes.values),e.appendChild(s);const i=document.createElement("div");i.classList.add(this.classes.deselect);const n=null===(t=this.store)||void 0===t?void 0:t.getSelectedOptions();!this.settings.allowDeselect||this.settings.isMultiple&&n&&n.length<=0?i.classList.add(this.classes.hide):i.classList.remove(this.classes.hide),i.onclick=t=>{if(t.stopPropagation(),this.settings.disabled)return;let e=!0;const s=this.store.getSelectedOptions(),i=[];if(this.callbacks.beforeChange&&(e=!0===this.callbacks.beforeChange(i,s)),e){if(this.settings.isMultiple)this.callbacks.setSelected([],!1),this.updateDeselectAll();else{const t=this.store.getFirstOption(),e=t?t.value:"";this.callbacks.setSelected(e,!1)}this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(this.store.getSelectedOptions())}};const o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttribute("viewBox","0 0 100 100");const a=document.createElementNS("http://www.w3.org/2000/svg","path");a.setAttribute("d",this.classes.deselectPath),o.appendChild(a),i.appendChild(o),e.appendChild(i);const l=document.createElementNS("http://www.w3.org/2000/svg","svg");l.classList.add(this.classes.arrow),l.setAttribute("viewBox","0 0 100 100");const r=document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d",this.classes.arrowClose),this.settings.alwaysOpen&&l.classList.add(this.classes.hide),l.appendChild(r),e.appendChild(l),{main:e,values:s,deselect:{main:i,svg:o,path:a},arrow:{main:l,path:r}}}mainFocus(t){"click"!==t&&this.main.main.focus({preventScroll:!0})}placeholder(){const t=this.store.filter((t=>t.placeholder),!1);let e=this.settings.placeholderText;t.length&&(""!==t[0].html?e=t[0].html:""!==t[0].text&&(e=t[0].text));const s=document.createElement("div");return s.classList.add(this.classes.placeholder),s.innerHTML=e,s}renderValues(){this.settings.isMultiple?(this.renderMultipleValues(),this.updateDeselectAll()):this.renderSingleValue()}renderSingleValue(){const t=this.store.filter((t=>t.selected&&!t.placeholder),!1),e=t.length>0?t[0]:null;if(e){const t=document.createElement("div");t.classList.add(this.classes.single),e.html?t.innerHTML=e.html:t.innerText=e.text,this.main.values.innerHTML=t.outerHTML}else this.main.values.innerHTML=this.placeholder().outerHTML;this.settings.allowDeselect&&t.length?this.main.deselect.main.classList.remove(this.classes.hide):this.main.deselect.main.classList.add(this.classes.hide)}renderMultipleValues(){let t=this.main.values.childNodes,e=this.store.filter((t=>t.selected&&t.display),!1);if(0===e.length)return void(this.main.values.innerHTML=this.placeholder().outerHTML);{const t=this.main.values.querySelector("."+this.classes.placeholder);t&&t.remove()}if(e.length>this.settings.maxValuesShown){const t=document.createElement("div");return t.classList.add(this.classes.max),t.textContent=this.settings.maxValuesMessage.replace("{number}",e.length.toString()),void(this.main.values.innerHTML=t.outerHTML)}{const t=this.main.values.querySelector("."+this.classes.max);t&&t.remove()}let s=[];for(let i=0;it.id===o),!1).length||s.push(n))}for(const t of s)t.classList.add(this.classes.valueOut),setTimeout((()=>{this.main.values.hasChildNodes()&&this.main.values.contains(t)&&this.main.values.removeChild(t)}),100);t=this.main.values.childNodes;for(let s=0;s{if(e.preventDefault(),e.stopPropagation(),this.settings.disabled)return;let s=!0;const i=this.store.getSelectedOptions(),n=i.filter((e=>e.selected&&e.id!==t.id),!0);if(!(this.settings.minSelected&&n.length{this.callbacks.search(t.target.value)}),100),e.onkeydown=t=>{switch(t.key){case"ArrowUp":case"ArrowDown":return"ArrowDown"===t.key?this.highlight("down"):this.highlight("up"),!1;case"Tab":return this.callbacks.close(),!0;case"Escape":return this.callbacks.close(),!1;case"Enter":case" ":if(this.callbacks.addable&&t.ctrlKey)return i.click(),!1;{const t=this.content.list.querySelector("."+this.classes.highlighted);if(t)return t.click(),!1}return!0}return!0},t.appendChild(e),this.callbacks.addable){i.classList.add(this.classes.addable);const e=document.createElementNS("http://www.w3.org/2000/svg","svg");e.setAttribute("viewBox","0 0 100 100");const s=document.createElementNS("http://www.w3.org/2000/svg","path");s.setAttribute("d",this.classes.addablePath),e.appendChild(s),i.appendChild(e),i.onclick=t=>{if(t.preventDefault(),t.stopPropagation(),!this.callbacks.addable)return;const e=this.content.search.input.value.trim();if(""===e)return void this.content.search.input.focus();const s=t=>{let e=new a(t);if(this.callbacks.addOption(e),this.settings.isMultiple){let t=this.store.getSelected();t.push(e.value),this.callbacks.setSelected(t,!0)}else this.callbacks.setSelected([e.value],!0);this.callbacks.search(""),this.settings.closeOnSelect&&setTimeout((()=>{this.callbacks.close()}),100)},i=this.callbacks.addable(e);!1!==i&&null!=i&&(i instanceof Promise?i.then((t=>{s("string"==typeof t?{text:t,value:t}:t)})):s("string"==typeof i?{text:i,value:i}:i))},t.appendChild(i),n.addable={main:i,svg:e,path:s}}return n}searchFocus(){this.content.search.input.focus()}getOptions(t=!1,e=!1,s=!1){let i="."+this.classes.option;return t&&(i+=":not(."+this.classes.placeholder+")"),e&&(i+=":not(."+this.classes.disabled+")"),s&&(i+=":not(."+this.classes.hide+")"),Array.from(this.content.list.querySelectorAll(i))}highlight(t){const e=this.getOptions(!0,!0,!0);if(0===e.length)return;if(1===e.length&&!e[0].classList.contains(this.classes.highlighted))return void e[0].classList.add(this.classes.highlighted);let s=!1;for(const t of e)t.classList.contains(this.classes.highlighted)&&(s=!0);if(!s)for(const t of e)if(t.classList.contains(this.classes.selected)){t.classList.add(this.classes.highlighted);break}for(let s=0;s=0?s-1:e.length-1];o.classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,o);const a=o.parentElement;if(a&&a.classList.contains(this.classes.close)){const t=a.querySelector("."+this.classes.optgroupLabel);t&&t.click()}return}e["down"===t?0:e.length-1].classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,e["down"===t?0:e.length-1])}listDiv(){const t=document.createElement("div");return t.classList.add(this.classes.list),t}renderError(t){this.content.list.innerHTML="";const e=document.createElement("div");e.classList.add(this.classes.error),e.textContent=t,this.content.list.appendChild(e)}renderSearching(){this.content.list.innerHTML="";const t=document.createElement("div");t.classList.add(this.classes.searching),t.textContent=this.settings.searchingText,this.content.list.appendChild(t)}renderOptions(t){if(this.content.list.innerHTML="",0===t.length){const t=document.createElement("div");return t.classList.add(this.classes.search),t.innerHTML=this.settings.searchText,void this.content.list.appendChild(t)}for(const e of t){if(e instanceof o){const t=document.createElement("div");t.classList.add(this.classes.optgroup);const s=document.createElement("div");s.classList.add(this.classes.optgroupLabel),t.appendChild(s);const i=document.createElement("div");i.classList.add(this.classes.optgroupLabelText),i.textContent=e.label,s.appendChild(i);const n=document.createElement("div");if(n.classList.add(this.classes.optgroupActions),s.appendChild(n),this.settings.isMultiple&&e.selectAll){const t=document.createElement("div");t.classList.add(this.classes.optgroupSelectAll);let s=!0;for(const t of e.options)if(!t.selected){s=!1;break}s&&t.classList.add(this.classes.selected);const i=document.createElement("span");i.textContent=e.selectAllText,t.appendChild(i);const o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttribute("viewBox","0 0 100 100"),t.appendChild(o);const a=document.createElementNS("http://www.w3.org/2000/svg","path");a.setAttribute("d",this.classes.optgroupSelectAllBox),o.appendChild(a);const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",this.classes.optgroupSelectAllCheck),o.appendChild(l),t.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation();const i=this.store.getSelected();if(s){const t=i.filter((t=>{for(const s of e.options)if(t===s.value)return!1;return!0}));this.callbacks.setSelected(t,!0)}else{const t=i.concat(e.options.map((t=>t.value)));for(const t of e.options)this.store.getOptionByID(t.id)||this.callbacks.addOption(t);this.callbacks.setSelected(t,!0)}})),n.appendChild(t)}if("off"!==e.closable){const i=document.createElement("div");i.classList.add(this.classes.optgroupClosable);const o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttribute("viewBox","0 0 100 100"),o.classList.add(this.classes.arrow),i.appendChild(o);const a=document.createElementNS("http://www.w3.org/2000/svg","path");o.appendChild(a),e.options.some((t=>t.selected))||""!==this.content.search.input.value.trim()?(i.classList.add(this.classes.open),a.setAttribute("d",this.classes.arrowOpen)):"open"===e.closable?(t.classList.add(this.classes.open),a.setAttribute("d",this.classes.arrowOpen)):"close"===e.closable&&(t.classList.add(this.classes.close),a.setAttribute("d",this.classes.arrowClose)),s.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),t.classList.contains(this.classes.close)?(t.classList.remove(this.classes.close),t.classList.add(this.classes.open),a.setAttribute("d",this.classes.arrowOpen)):(t.classList.remove(this.classes.open),t.classList.add(this.classes.close),a.setAttribute("d",this.classes.arrowClose))})),n.appendChild(i)}t.appendChild(s);for(const s of e.options)t.appendChild(this.option(s));this.content.list.appendChild(t)}e instanceof a&&this.content.list.appendChild(this.option(e))}}option(t){if(t.placeholder){const t=document.createElement("div");return t.classList.add(this.classes.option),t.classList.add(this.classes.hide),t}const e=document.createElement("div");return e.dataset.id=t.id,e.id=t.id,e.classList.add(this.classes.option),e.setAttribute("role","option"),t.class&&t.class.split(" ").forEach((t=>{e.classList.add(t)})),t.style&&(e.style.cssText=t.style),this.settings.searchHighlight&&""!==this.content.search.input.value.trim()?e.innerHTML=this.highlightText(""!==t.html?t.html:t.text,this.content.search.input.value,this.classes.searchHighlighter):""!==t.html?e.innerHTML=t.html:e.textContent=t.text,this.settings.showOptionTooltips&&e.textContent&&e.setAttribute("title",e.textContent),t.display||e.classList.add(this.classes.hide),t.disabled&&e.classList.add(this.classes.disabled),t.selected&&this.settings.hideSelected&&e.classList.add(this.classes.hide),t.selected?(e.classList.add(this.classes.selected),e.setAttribute("aria-selected","true"),this.main.main.setAttribute("aria-activedescendant",e.id)):(e.classList.remove(this.classes.selected),e.setAttribute("aria-selected","false")),e.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation();const s=this.store.getSelected(),i=e.currentTarget,n=String(i.dataset.id);if(t.disabled||t.selected&&!this.settings.allowDeselect)return;if(this.settings.isMultiple&&this.settings.maxSelected<=s.length&&!t.selected||this.settings.isMultiple&&this.settings.minSelected>=s.length&&t.selected)return;let o=!1;const a=this.store.getSelectedOptions();let l=[];this.settings.isMultiple&&(l=t.selected?a.filter((t=>t.id!==n)):a.concat(t)),this.settings.isMultiple||(l=t.selected?[]:[t]),this.callbacks.beforeChange||(o=!0),this.callbacks.beforeChange&&(o=!1!==this.callbacks.beforeChange(l,a)),o&&(this.store.getOptionByID(n)||this.callbacks.addOption(t),this.callbacks.setSelected(l.map((t=>t.value)),!1),this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(l))})),e}destroy(){this.main.main.remove(),this.content.main.remove()}highlightText(t,e,s){let i=t;const n=new RegExp("("+e.trim()+")(?![^<]*>[^<>]*)","i");if(!t.match(n))return t;const o=t.match(n).index,a=o+t.match(n)[0].toString().length,l=t.substring(o,a);return i=i.replace(n,`${l}`),i}moveContentAbove(){const t=this.main.main.offsetHeight,e=this.content.main.offsetHeight;this.main.main.classList.remove(this.classes.openBelow),this.main.main.classList.add(this.classes.openAbove),this.content.main.classList.remove(this.classes.openBelow),this.content.main.classList.add(this.classes.openAbove);const s=this.main.main.getBoundingClientRect();this.content.main.style.margin="-"+(t+e-1)+"px 0px 0px 0px",this.content.main.style.top=s.top+s.height+window.scrollY+"px",this.content.main.style.left=s.left+window.scrollX+"px",this.content.main.style.width=s.width+"px"}moveContentBelow(){this.main.main.classList.remove(this.classes.openAbove),this.main.main.classList.add(this.classes.openBelow),this.content.main.classList.remove(this.classes.openAbove),this.content.main.classList.add(this.classes.openBelow);const t=this.main.main.getBoundingClientRect();this.content.main.style.margin="-1px 0px 0px 0px","relative"!==this.settings.contentPosition&&(this.content.main.style.top=t.top+t.height+window.scrollY+"px",this.content.main.style.left=t.left+window.scrollX+"px",this.content.main.style.width=t.width+"px")}ensureElementInView(t,e){const s=t.scrollTop+t.offsetTop,i=s+t.clientHeight,n=e.offsetTop,o=n+e.clientHeight;ni&&(t.scrollTop+=o-i)}putContent(){const t=this.main.main.offsetHeight,e=this.main.main.getBoundingClientRect(),s=this.content.main.offsetHeight;return window.innerHeight-(e.top+t)<=s&&e.top>s?"up":"down"}updateDeselectAll(){if(!this.store||!this.settings)return;const t=this.store.getSelectedOptions(),e=t&&t.length>0,s=this.settings.isMultiple,i=this.settings.allowDeselect,n=this.main.deselect.main,o=this.classes.hide;!i||s&&!e?n.classList.add(o):n.classList.remove(o)}}class c{constructor(t){this.listen=!1,this.observer=null,this.select=t,this.valueChange=this.valueChange.bind(this),this.select.addEventListener("change",this.valueChange,{passive:!0}),this.observer=new MutationObserver(this.observeCall.bind(this)),this.changeListen(!0)}enable(){this.select.disabled=!1}disable(){this.select.disabled=!0}hideUI(){this.select.tabIndex=-1,this.select.style.display="none",this.select.setAttribute("aria-hidden","true")}showUI(){this.select.removeAttribute("tabindex"),this.select.style.display="",this.select.removeAttribute("aria-hidden")}changeListen(t){this.listen=t,t&&this.observer&&this.observer.observe(this.select,{subtree:!0,childList:!0,attributes:!0}),t||this.observer&&this.observer.disconnect()}valueChange(t){return this.listen&&this.onValueChange&&this.onValueChange(this.getSelectedValues()),!0}observeCall(t){if(!this.listen)return;let e=!1,s=!1,i=!1;for(const n of t)n.target===this.select&&("disabled"===n.attributeName&&(s=!0),"class"===n.attributeName&&(e=!0)),"OPTGROUP"!==n.target.nodeName&&"OPTION"!==n.target.nodeName||(i=!0);e&&this.onClassChange&&this.onClassChange(this.select.className.split(" ")),s&&this.onDisabledChange&&(this.changeListen(!1),this.onDisabledChange(this.select.disabled),this.changeListen(!0)),i&&this.onOptionsChange&&(this.changeListen(!1),this.onOptionsChange(this.getData()),this.changeListen(!0))}getData(){let t=[];const e=this.select.childNodes;for(const s of e)"OPTGROUP"===s.nodeName&&t.push(this.getDataFromOptgroup(s)),"OPTION"===s.nodeName&&t.push(this.getDataFromOption(s));return t}getDataFromOptgroup(t){let e={id:t.id,label:t.label,selectAll:!!t.dataset&&"true"===t.dataset.selectall,selectAllText:t.dataset?t.dataset.selectalltext:"Select all",closable:t.dataset?t.dataset.closable:"off",options:[]};const s=t.childNodes;for(const t of s)"OPTION"===t.nodeName&&e.options.push(this.getDataFromOption(t));return e}getDataFromOption(t){return{id:t.id,value:t.value,text:t.text,html:t.dataset&&t.dataset.html?t.dataset.html:"",selected:t.selected,display:"none"!==t.style.display,disabled:t.disabled,mandatory:!!t.dataset&&"true"===t.dataset.mandatory,placeholder:"true"===t.dataset.placeholder,class:t.className,style:t.style.cssText,data:t.dataset}}getSelectedValues(){let t=[];const e=this.select.childNodes;for(const s of e){if("OPTGROUP"===s.nodeName){const e=s.childNodes;for(const s of e)if("OPTION"===s.nodeName){const e=s;e.selected&&t.push(e.value)}}if("OPTION"===s.nodeName){const e=s;e.selected&&t.push(e.value)}}return t}setSelected(t){this.changeListen(!1);const e=this.select.childNodes;for(const s of e){if("OPTGROUP"===s.nodeName){const e=s.childNodes;for(const s of e)if("OPTION"===s.nodeName){const e=s;e.selected=t.includes(e.value)}}if("OPTION"===s.nodeName){const e=s;e.selected=t.includes(e.value)}}this.changeListen(!0)}updateSelect(t,e,s){this.changeListen(!1),t&&(this.select.dataset.id=t),e&&(this.select.style.cssText=e),s&&(this.select.className="",s.forEach((t=>{""!==t.trim()&&this.select.classList.add(t.trim())}))),this.changeListen(!0)}updateOptions(t){this.changeListen(!1),this.select.innerHTML="";for(const e of t)e instanceof o&&this.select.appendChild(this.createOptgroup(e)),e instanceof a&&this.select.appendChild(this.createOption(e));this.select.dispatchEvent(new Event("change")),this.changeListen(!0)}createOptgroup(t){const e=document.createElement("optgroup");if(e.id=t.id,e.label=t.label,t.selectAll&&(e.dataset.selectAll="true"),"off"!==t.closable&&(e.dataset.closable=t.closable),t.options)for(const s of t.options)e.appendChild(this.createOption(s));return e}createOption(t){const e=document.createElement("option");return e.id=t.id,e.value=t.value,e.innerHTML=t.text,""!==t.html&&e.setAttribute("data-html",t.html),t.selected&&(e.selected=t.selected),t.disabled&&(e.disabled=!0),!1===t.display&&(e.style.display="none"),t.placeholder&&e.setAttribute("data-placeholder","true"),t.mandatory&&e.setAttribute("data-mandatory","true"),t.class&&t.class.split(" ").forEach((t=>{e.classList.add(t)})),t.data&&"object"==typeof t.data&&Object.keys(t.data).forEach((s=>{e.setAttribute("data-"+n(s),t.data[s])})),e}destroy(){this.changeListen(!1),this.select.removeEventListener("change",this.valueChange),this.observer&&(this.observer.disconnect(),this.observer=null),delete this.select.dataset.id,this.showUI()}}class h{constructor(e){this.id="",this.style="",this.class=[],this.isMultiple=!1,this.isOpen=!1,this.isFullOpen=!1,this.intervalMove=null,e||(e={}),this.id="ss-"+t(),this.style=e.style||"",this.class=e.class||[],this.disabled=void 0!==e.disabled&&e.disabled,this.alwaysOpen=void 0!==e.alwaysOpen&&e.alwaysOpen,this.showSearch=void 0===e.showSearch||e.showSearch,this.ariaLabel=e.ariaLabel||"Combobox",this.searchPlaceholder=e.searchPlaceholder||"Search",this.searchText=e.searchText||"No Results",this.searchingText=e.searchingText||"Searching...",this.searchHighlight=void 0!==e.searchHighlight&&e.searchHighlight,this.closeOnSelect=void 0===e.closeOnSelect||e.closeOnSelect,this.contentLocation=e.contentLocation||document.body,this.contentPosition=e.contentPosition||"absolute",this.openPosition=e.openPosition||"auto",this.placeholderText=void 0!==e.placeholderText?e.placeholderText:"Select Value",this.allowDeselect=void 0!==e.allowDeselect&&e.allowDeselect,this.hideSelected=void 0!==e.hideSelected&&e.hideSelected,this.keepOrder=void 0!==e.keepOrder&&e.keepOrder,this.showOptionTooltips=void 0!==e.showOptionTooltips&&e.showOptionTooltips,this.minSelected=e.minSelected||0,this.maxSelected=e.maxSelected||1e3,this.timeoutDelay=e.timeoutDelay||200,this.maxValuesShown=e.maxValuesShown||20,this.maxValuesMessage=e.maxValuesMessage||"{number} selected"}}class d{constructor(t){var i;if(this.events={search:void 0,searchFilter:(t,e)=>-1!==t.text.toLowerCase().indexOf(e.toLowerCase()),addable:void 0,beforeChange:void 0,afterChange:void 0,beforeOpen:void 0,afterOpen:void 0,beforeClose:void 0,afterClose:void 0},this.windowResize=s((()=>{(this.settings.isOpen||this.settings.isFullOpen)&&this.render.moveContent()})),this.windowScroll=s((()=>{(this.settings.isOpen||this.settings.isFullOpen)&&this.render.moveContent()})),this.documentClick=t=>{this.settings.isOpen&&t.target&&!e(t.target,this.settings.id)&&this.close(t.type)},this.windowVisibilityChange=()=>{document.hidden&&this.close()},this.selectEl="string"==typeof t.select?document.querySelector(t.select):t.select,!this.selectEl)return void(t.events&&t.events.error&&t.events.error(new Error("Could not find select element")));if("SELECT"!==this.selectEl.tagName)return void(t.events&&t.events.error&&t.events.error(new Error("Element isnt of type select")));this.selectEl.dataset.ssid&&this.destroy(),this.settings=new h(t.settings);const n=["afterChange","beforeOpen","afterOpen","beforeClose","afterClose"];for(const e in t.events)t.events.hasOwnProperty(e)&&(-1!==n.indexOf(e)?this.events[e]=s(t.events[e],100):this.events[e]=t.events[e]);this.settings.disabled=(null===(i=t.settings)||void 0===i?void 0:i.disabled)?t.settings.disabled:this.selectEl.disabled,this.settings.isMultiple=this.selectEl.multiple,this.settings.style=this.selectEl.style.cssText,this.settings.class=this.selectEl.className.split(" "),this.select=new c(this.selectEl),this.select.updateSelect(this.settings.id,this.settings.style,this.settings.class),this.select.hideUI(),this.select.onValueChange=t=>{this.setSelected(t)},this.select.onClassChange=t=>{this.settings.class=t,this.render.updateClassStyles()},this.select.onDisabledChange=t=>{t?this.disable():this.enable()},this.select.onOptionsChange=t=>{this.setData(t)},this.store=new l(this.settings.isMultiple?"multiple":"single",t.data?t.data:this.select.getData()),t.data&&this.select.updateOptions(this.store.getData());const o={open:this.open.bind(this),close:this.close.bind(this),addable:this.events.addable?this.events.addable:void 0,setSelected:this.setSelected.bind(this),addOption:this.addOption.bind(this),search:this.search.bind(this),beforeChange:this.events.beforeChange,afterChange:this.events.afterChange};this.render=new r(this.settings,this.store,o),this.render.renderValues(),this.render.renderOptions(this.store.getData());const a=this.selectEl.getAttribute("aria-label"),d=this.selectEl.getAttribute("aria-labelledby");a?this.render.main.main.setAttribute("aria-label",a):d&&this.render.main.main.setAttribute("aria-labelledby",d),this.selectEl.parentNode&&this.selectEl.parentNode.insertBefore(this.render.main.main,this.selectEl.nextSibling),window.addEventListener("resize",this.windowResize,!1),"auto"===this.settings.openPosition&&window.addEventListener("scroll",this.windowScroll,!1),document.addEventListener("visibilitychange",this.windowVisibilityChange),this.settings.disabled&&this.disable(),this.settings.alwaysOpen&&this.open(),this.selectEl.slim=this}enable(){this.settings.disabled=!1,this.select.enable(),this.render.enable()}disable(){this.settings.disabled=!0,this.select.disable(),this.render.disable()}getData(){return this.store.getData()}setData(t){const e=this.store.getSelected(),s=this.store.validateDataArray(t);if(s)return void(this.events.error&&this.events.error(s));this.store.setData(t);const n=this.store.getData();this.select.updateOptions(n),this.render.renderValues(),this.render.renderOptions(n),this.events.afterChange&&!i(e,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}getSelected(){return this.store.getSelected()}setSelected(t,e=!0){const s=this.store.getSelected();this.store.setSelectedBy("value",Array.isArray(t)?t:[t]);const n=this.store.getData();this.select.updateOptions(n),this.render.renderValues(),""!==this.render.content.search.input.value?this.search(this.render.content.search.input.value):this.render.renderOptions(n),e&&this.events.afterChange&&!i(s,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}addOption(t){const e=this.store.getSelected();this.store.getDataOptions().some((e=>{var s;return e.value===(null!==(s=t.value)&&void 0!==s?s:t.text)}))||this.store.addOption(t);const s=this.store.getData();this.select.updateOptions(s),this.render.renderValues(),this.render.renderOptions(s),this.events.afterChange&&!i(e,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}open(){this.settings.disabled||this.settings.isOpen||(this.events.beforeOpen&&this.events.beforeOpen(),this.render.open(),this.settings.showSearch&&this.render.searchFocus(),this.settings.isOpen=!0,setTimeout((()=>{this.events.afterOpen&&this.events.afterOpen(),this.settings.isOpen&&(this.settings.isFullOpen=!0),document.addEventListener("click",this.documentClick)}),this.settings.timeoutDelay),"absolute"===this.settings.contentPosition&&(this.settings.intervalMove&&clearInterval(this.settings.intervalMove),this.settings.intervalMove=setInterval(this.render.moveContent.bind(this.render),500)))}close(t=null){this.settings.isOpen&&!this.settings.alwaysOpen&&(this.events.beforeClose&&this.events.beforeClose(),this.render.close(),""!==this.render.content.search.input.value&&this.search(""),this.render.mainFocus(t),this.settings.isOpen=!1,this.settings.isFullOpen=!1,setTimeout((()=>{this.events.afterClose&&this.events.afterClose(),document.removeEventListener("click",this.documentClick)}),this.settings.timeoutDelay),this.settings.intervalMove&&clearInterval(this.settings.intervalMove))}search(t){if(this.render.content.search.input.value!==t&&(this.render.content.search.input.value=t),!this.events.search)return void this.render.renderOptions(""===t?this.store.getData():this.store.search(t,this.events.searchFilter));this.render.renderSearching();const e=this.events.search(t,this.store.getSelectedOptions());e instanceof Promise?e.then((t=>{this.render.renderOptions(this.store.partialToFullData(t))})).catch((t=>{this.render.renderError("string"==typeof t?t:t.message)})):Array.isArray(e)?this.render.renderOptions(this.store.partialToFullData(e)):this.render.renderError("Search event must return a promise or an array of data")}destroy(){document.removeEventListener("click",this.documentClick),window.removeEventListener("resize",this.windowResize,!1),"auto"===this.settings.openPosition&&window.removeEventListener("scroll",this.windowScroll,!1),document.removeEventListener("visibilitychange",this.windowVisibilityChange),this.store.setData([]),this.render.destroy(),this.select.destroy()}}return d}();var o,a,l={};o=void 0!==e?e:"undefined"!=typeof window?window:l,a=function(t){if(void 0===t&&void 0===t.document)return!1;var e,s="Success",i="Failure",n="Warning",o="Info",a={wrapID:"NotiflixNotifyWrap",overlayID:"NotiflixNotifyOverlay",width:"280px",position:"right-top",distance:"10px",opacity:1,borderRadius:"5px",rtl:!1,timeout:3e3,messageMaxLength:110,backOverlay:!1,backOverlayColor:"rgba(0,0,0,0.5)",plainText:!0,showOnlyTheLastOne:!1,clickToClose:!1,pauseOnHover:!0,ID:"NotiflixNotify",className:"notiflix-notify",zindex:4001,fontFamily:"Quicksand",fontSize:"13px",cssAnimation:!0,cssAnimationDuration:400,cssAnimationStyle:"fade",closeButton:!1,useIcon:!0,useFontAwesome:!1,fontAwesomeIconStyle:"basic",fontAwesomeIconSize:"34px",success:{background:"#32c682",textColor:"#fff",childClassName:"notiflix-notify-success",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-check-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(50,198,130,0.2)"},failure:{background:"#ff5549",textColor:"#fff",childClassName:"notiflix-notify-failure",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-times-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(255,85,73,0.2)"},warning:{background:"#eebf31",textColor:"#fff",childClassName:"notiflix-notify-warning",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-exclamation-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(238,191,49,0.2)"},info:{background:"#26c0d3",textColor:"#fff",childClassName:"notiflix-notify-info",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-info-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(38,192,211,0.2)"}},l=function(t){return console.error("%c Notiflix Error ","padding:2px;border-radius:20px;color:#fff;background:#ff5549","\n"+t+"\n\nVisit documentation page to learn more: https://notiflix.github.io/documentation")},r=function(e){return e||(e="head"),null!==t.document[e]||(l('\nNotiflix needs to be appended to the "<'+e+'>" element, but you called it before the "<'+e+'>" element has been created.'),!1)},c=function(){var t={},e=!1,s=0;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(e=arguments[0],s++);for(var i=function(s){for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(e&&"[object Object]"===Object.prototype.toString.call(s[i])?t[i]=c(t[i],s[i]):t[i]=s[i])};sdiv{pointer-events:all;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:"Quicksand",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;width:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;margin:0 0 10px;border-radius:5px;background:#1e1e1e;color:#fff;padding:10px 12px;font-size:14px;line-height:1.4}[id^=NotiflixNotifyWrap]>div:last-child{margin:0}[id^=NotiflixNotifyWrap]>div.nx-with-callback{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-icon{padding:8px;min-height:56px}[id^=NotiflixNotifyWrap]>div.nx-paused{cursor:auto}[id^=NotiflixNotifyWrap]>div.nx-notify-click-to-close{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-close-button{padding:10px 36px 10px 12px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button{padding:6px 36px 6px 6px}[id^=NotiflixNotifyWrap]>div>span.nx-message{cursor:inherit;font-weight:normal;font-family:inherit!important;word-break:break-all;word-break:break-word}[id^=NotiflixNotifyWrap]>div>span.nx-close-button{cursor:pointer;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;position:absolute;right:8px;top:0;bottom:0;margin:auto;color:inherit;width:20px;height:20px}[id^=NotiflixNotifyWrap]>div>span.nx-close-button:hover{-webkit-transform:rotate(90deg);transform:rotate(90deg)}[id^=NotiflixNotifyWrap]>div>span.nx-close-button>svg{position:absolute;width:16px;height:16px;right:2px;top:2px}[id^=NotiflixNotifyWrap]>div>.nx-message-icon{position:absolute;width:40px;height:40px;font-size:30px;line-height:40px;text-align:center;left:8px;top:0;bottom:0;margin:auto;border-radius:inherit}[id^=NotiflixNotifyWrap]>div>.nx-message-icon-fa.nx-message-icon-fa-shadow{color:inherit;background:rgba(0,0,0,.15);-webkit-box-shadow:inset 0 0 34px rgba(0,0,0,.2);box-shadow:inset 0 0 34px rgba(0,0,0,.2);text-shadow:0 0 10px rgba(0,0,0,.3)}[id^=NotiflixNotifyWrap]>div>span.nx-with-icon{position:relative;float:left;width:calc(100% - 40px);margin:0 0 0 40px;padding:0 0 0 10px;-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>.nx-message-icon{left:auto;right:8px}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-with-icon{padding:0 10px 0 0;margin:0 40px 0 0}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-close-button{right:auto;left:8px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button.nx-rtl-on{padding:6px 6px 6px 36px}[id^=NotiflixNotifyWrap]>div.nx-with-close-button.nx-rtl-on{padding:10px 12px 10px 36px}[id^=NotiflixNotifyOverlay].nx-with-animation,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade{-webkit-animation:notify-animation-fade .3s ease-in-out 0s normal;animation:notify-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom{-webkit-animation:notify-animation-zoom .3s ease-in-out 0s normal;animation:notify-animation-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right{-webkit-animation:notify-animation-from-right .3s ease-in-out 0s normal;animation:notify-animation-from-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}@keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left{-webkit-animation:notify-animation-from-left .3s ease-in-out 0s normal;animation:notify-animation-from-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}@keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top{-webkit-animation:notify-animation-from-top .3s ease-in-out 0s normal;animation:notify-animation-from-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}@keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom{-webkit-animation:notify-animation-from-bottom .3s ease-in-out 0s normal;animation:notify-animation-from-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}@keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}[id^=NotiflixNotifyOverlay].nx-with-animation.nx-remove,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade.nx-remove{opacity:0;-webkit-animation:notify-remove-fade .3s ease-in-out 0s normal;animation:notify-remove-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}@keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom.nx-remove{-webkit-transform:scale(0);transform:scale(0);-webkit-animation:notify-remove-zoom .3s ease-in-out 0s normal;animation:notify-remove-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}@keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top.nx-remove{opacity:0;-webkit-animation:notify-remove-to-top .3s ease-in-out 0s normal;animation:notify-remove-to-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}@keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right.nx-remove{opacity:0;-webkit-animation:notify-remove-to-right .3s ease-in-out 0s normal;animation:notify-remove-to-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}@keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom.nx-remove{opacity:0;-webkit-animation:notify-remove-to-bottom .3s ease-in-out 0s normal;animation:notify-remove-to-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}@keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left.nx-remove{opacity:0;-webkit-animation:notify-remove-to-left .3s ease-in-out 0s normal;animation:notify-remove-to-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}@keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}'},d=0,p=function(l,h,p,u){if(!r("body"))return!1;e||m.Notify.init({});var f=c(!0,e,{});if("object"==typeof p&&!Array.isArray(p)||"object"==typeof u&&!Array.isArray(u)){var g={};"object"==typeof p?g=p:"object"==typeof u&&(g=u),e=c(!0,e,g)}var b,v,y=e[l.toLocaleLowerCase("en")];d++,"string"!=typeof h&&(h="Notiflix "+l),e.plainText&&(b=h,(v=t.document.createElement("div")).innerHTML=b,h=v.textContent||v.innerText||""),!e.plainText&&h.length>e.messageMaxLength&&(e=c(!0,e,{closeButton:!0,messageMaxLength:150}),h='Possible HTML Tags Error: The "plainText" option is "false" and the notification content length is more than the "messageMaxLength" option.'),h.length>e.messageMaxLength&&(h=h.substring(0,e.messageMaxLength)+"..."),"shadow"===e.fontAwesomeIconStyle&&(y.fontAwesomeIconColor=y.background),e.cssAnimation||(e.cssAnimationDuration=0);var x=t.document.getElementById(a.wrapID)||t.document.createElement("div");if(x.id=a.wrapID,x.style.width=e.width,x.style.zIndex=e.zindex,x.style.opacity=e.opacity,"center-center"===e.position?(x.style.left=e.distance,x.style.top=e.distance,x.style.right=e.distance,x.style.bottom=e.distance,x.style.margin="auto",x.classList.add("nx-flex-center-center"),x.style.maxHeight="calc((100vh - "+e.distance+") - "+e.distance+")",x.style.display="flex",x.style.flexWrap="wrap",x.style.flexDirection="column",x.style.justifyContent="center",x.style.alignItems="center",x.style.pointerEvents="none"):"center-top"===e.position?(x.style.left=e.distance,x.style.right=e.distance,x.style.top=e.distance,x.style.bottom="auto",x.style.margin="auto"):"center-bottom"===e.position?(x.style.left=e.distance,x.style.right=e.distance,x.style.bottom=e.distance,x.style.top="auto",x.style.margin="auto"):"right-bottom"===e.position?(x.style.right=e.distance,x.style.bottom=e.distance,x.style.top="auto",x.style.left="auto"):"left-top"===e.position?(x.style.left=e.distance,x.style.top=e.distance,x.style.right="auto",x.style.bottom="auto"):"left-bottom"===e.position?(x.style.left=e.distance,x.style.bottom=e.distance,x.style.top="auto",x.style.right="auto"):(x.style.right=e.distance,x.style.top=e.distance,x.style.left="auto",x.style.bottom="auto"),e.backOverlay){var w=t.document.getElementById(a.overlayID)||t.document.createElement("div");w.id=a.overlayID,w.style.width="100%",w.style.height="100%",w.style.position="fixed",w.style.zIndex=e.zindex-1,w.style.left=0,w.style.top=0,w.style.right=0,w.style.bottom=0,w.style.background=y.backOverlayColor||e.backOverlayColor,w.className=e.cssAnimation?"nx-with-animation":"",w.style.animationDuration=e.cssAnimation?e.cssAnimationDuration+"ms":"",t.document.getElementById(a.overlayID)||t.document.body.appendChild(w)}t.document.getElementById(a.wrapID)||t.document.body.appendChild(x);var k=t.document.createElement("div");k.id=e.ID+"-"+d,k.className=e.className+" "+y.childClassName+" "+(e.cssAnimation?"nx-with-animation":"")+" "+(e.useIcon?"nx-with-icon":"")+" nx-"+e.cssAnimationStyle+" "+(e.closeButton&&"function"!=typeof p?"nx-with-close-button":"")+" "+("function"==typeof p?"nx-with-callback":"")+" "+(e.clickToClose?"nx-notify-click-to-close":""),k.style.fontSize=e.fontSize,k.style.color=y.textColor,k.style.background=y.background,k.style.borderRadius=e.borderRadius,k.style.pointerEvents="all",e.rtl&&(k.setAttribute("dir","rtl"),k.classList.add("nx-rtl-on")),k.style.fontFamily='"'+e.fontFamily+'", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif',e.cssAnimation&&(k.style.animationDuration=e.cssAnimationDuration+"ms");var C="";if(e.closeButton&&"function"!=typeof p&&(C=''),e.useIcon)if(e.useFontAwesome)k.innerHTML=''+h+""+(e.closeButton?C:"");else{var L="";l===s?L='':l===i?L='':l===n?L='':l===o&&(L=''),k.innerHTML=L+''+h+""+(e.closeButton?C:"")}else k.innerHTML=''+h+""+(e.closeButton?C:"");if("left-bottom"===e.position||"right-bottom"===e.position){var N=t.document.getElementById(a.wrapID);N.insertBefore(k,N.firstChild)}else t.document.getElementById(a.wrapID).appendChild(k);var O=t.document.getElementById(k.id);if(O){var S,A,E=function(){O.classList.add("nx-remove");var e=t.document.getElementById(a.overlayID);e&&x.childElementCount<=0&&e.classList.add("nx-remove"),clearTimeout(S)},T=function(){if(O&&null!==O.parentNode&&O.parentNode.removeChild(O),x.childElementCount<=0&&null!==x.parentNode){x.parentNode.removeChild(x);var e=t.document.getElementById(a.overlayID);e&&null!==e.parentNode&&e.parentNode.removeChild(e)}clearTimeout(A)};if(e.closeButton&&"function"!=typeof p&&t.document.getElementById(k.id).querySelector("span.nx-close-button").addEventListener("click",(function(){E();var t=setTimeout((function(){T(),clearTimeout(t)}),e.cssAnimationDuration)})),("function"==typeof p||e.clickToClose)&&O.addEventListener("click",(function(){"function"==typeof p&&p(),E();var t=setTimeout((function(){T(),clearTimeout(t)}),e.cssAnimationDuration)})),!e.closeButton&&"function"!=typeof p){var D=function(){S=setTimeout((function(){E()}),e.timeout),A=setTimeout((function(){T()}),e.timeout+e.cssAnimationDuration)};D(),e.pauseOnHover&&(O.addEventListener("mouseenter",(function(){O.classList.add("nx-paused"),clearTimeout(S),clearTimeout(A)})),O.addEventListener("mouseleave",(function(){O.classList.remove("nx-paused"),D()})))}}if(e.showOnlyTheLastOne&&d>0)for(var I=t.document.querySelectorAll("[id^="+e.ID+"-]:not([id="+e.ID+"-"+d+"])"),M=0;M{(e=e.filter((t=>null!=t.image?.url))).forEach((t=>{d.push({text:t.name,value:t.id})})),new(t(n))({select:r,data:d})})).catch((t=>p(t))),r.addEventListener("change",(function(t){const e=t.currentTarget.value;c.classList.add("is-hidden"),h.classList.remove("is-hidden"),s(e).then((t=>{h.classList.add("is-hidden"),c.classList.remove("is-hidden"),c.innerHTML=i(t[0])})).catch((t=>p(t)))}));
+//# sourceMappingURL=index.5436a612.js.map
diff --git a/index.5436a612.js.map b/index.5436a612.js.map
new file mode 100644
index 0000000..8cf2f79
--- /dev/null
+++ b/index.5436a612.js.map
@@ -0,0 +1 @@
+{"mappings":"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","sources":["src/cat-api.js","src/createMarkup.js","node_modules/slim-select/dist/slimselect.umd.js","node_modules/notiflix/build/notiflix-notify-aio.js","src/index.js"],"sourcesContent":["const BASE_URL = 'https://api.thecatapi.com/v1';\nconst API_KEY = 'live_ZXvXnN3nLIiVAMYsFosudfyRXWXuiSEi6HJhbZIzZhQtawavdsyjEdVTjhSqCXMm';\n\nasync function fetchBreeds() {\n const URL = `${BASE_URL}/breeds?api_key=${API_KEY}`\n const resp = await fetch(URL);\n if (!resp.ok) {\n throw new Error(resp.statusText);\n }\n return await resp.json(); \n};\n\nasync function fetchCatByBreed(breedId) {\n const URL = `${BASE_URL}/images/search?api_key=${API_KEY}&breed_ids=${breedId}`\n const resp = await fetch(URL);\n if (!resp.ok) {\n throw new Error(resp.status);\n }\n return await resp.json(); \n};\n\n\nexport { fetchBreeds, fetchCatByBreed };","function createMarkup(catData) {\n const { url, breeds } = catData;\n return `\n
\n
\n
${breeds[0].name || 'No name'}
\n
${breeds[0].description || 'Not found'}
\n
Temperament: ${breeds[0].temperament}
\n
Link to Wikipedia page\n
\n
`;\n};\n\nexport { createMarkup };","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.SlimSelect = factory());\n})(this, (function () { 'use strict';\n\n function generateID() {\n return Math.random().toString(36).substring(2, 10);\n }\n function hasClassInTree(element, className) {\n function hasClass(e, c) {\n if (c && e && e.classList && e.classList.contains(c)) {\n return e;\n }\n if (c && e && e.dataset && e.dataset.id && e.dataset.id === className) {\n return e;\n }\n return null;\n }\n function parentByClass(e, c) {\n if (!e || e === document) {\n return null;\n }\n else if (hasClass(e, c)) {\n return e;\n }\n else {\n return parentByClass(e.parentNode, c);\n }\n }\n return hasClass(element, className) || parentByClass(element, className);\n }\n function debounce(func, wait = 50, immediate = false) {\n let timeout;\n return function (...args) {\n const context = self;\n const later = () => {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n };\n }\n function isEqual(a, b) {\n return JSON.stringify(a) === JSON.stringify(b);\n }\n function kebabCase(str) {\n const result = str.replace(/[A-Z\\u00C0-\\u00D6\\u00D8-\\u00DE]/g, (match) => '-' + match.toLowerCase());\n return str[0] === str[0].toUpperCase() ? result.substring(1) : result;\n }\n\n class Optgroup {\n constructor(optgroup) {\n this.id = !optgroup.id || optgroup.id === '' ? generateID() : optgroup.id;\n this.label = optgroup.label || '';\n this.selectAll = optgroup.selectAll === undefined ? false : optgroup.selectAll;\n this.selectAllText = optgroup.selectAllText || 'Select All';\n this.closable = optgroup.closable || 'off';\n this.options = [];\n if (optgroup.options) {\n for (const o of optgroup.options) {\n this.options.push(new Option(o));\n }\n }\n }\n }\n class Option {\n constructor(option) {\n this.id = !option.id || option.id === '' ? generateID() : option.id;\n this.value = option.value === undefined ? option.text : option.value;\n this.text = option.text || '';\n this.html = option.html || '';\n this.selected = option.selected !== undefined ? option.selected : false;\n this.display = option.display !== undefined ? option.display : true;\n this.disabled = option.disabled !== undefined ? option.disabled : false;\n this.mandatory = option.mandatory !== undefined ? option.mandatory : false;\n this.placeholder = option.placeholder !== undefined ? option.placeholder : false;\n this.class = option.class || '';\n this.style = option.style || '';\n this.data = option.data || {};\n }\n }\n class Store {\n constructor(type, data) {\n this.selectType = 'single';\n this.data = [];\n this.selectType = type;\n this.setData(data);\n }\n validateDataArray(data) {\n if (!Array.isArray(data)) {\n return new Error('Data must be an array');\n }\n for (let dataObj of data) {\n if (dataObj instanceof Optgroup || 'label' in dataObj) {\n if (!('label' in dataObj)) {\n return new Error('Optgroup must have a label');\n }\n if ('options' in dataObj && dataObj.options) {\n for (let option of dataObj.options) {\n return this.validateOption(option);\n }\n }\n }\n else if (dataObj instanceof Option || 'text' in dataObj) {\n return this.validateOption(dataObj);\n }\n else {\n return new Error('Data object must be a valid optgroup or option');\n }\n }\n return null;\n }\n validateOption(option) {\n if (!('text' in option)) {\n return new Error('Option must have a text');\n }\n return null;\n }\n partialToFullData(data) {\n let dataFinal = [];\n data.forEach((dataObj) => {\n if (dataObj instanceof Optgroup || 'label' in dataObj) {\n let optOptions = [];\n if ('options' in dataObj && dataObj.options) {\n dataObj.options.forEach((option) => {\n optOptions.push(new Option(option));\n });\n }\n if (optOptions.length > 0) {\n dataFinal.push(new Optgroup(dataObj));\n }\n }\n if (dataObj instanceof Option || 'text' in dataObj) {\n dataFinal.push(new Option(dataObj));\n }\n });\n return dataFinal;\n }\n setData(data) {\n this.data = this.partialToFullData(data);\n if (this.selectType === 'single') {\n this.setSelectedBy('value', this.getSelected());\n }\n }\n getData() {\n return this.filter(null, true);\n }\n getDataOptions() {\n return this.filter(null, false);\n }\n addOption(option) {\n this.setData(this.getData().concat(new Option(option)));\n }\n setSelectedBy(selectedType, selectedValues) {\n let firstOption = null;\n let hasSelected = false;\n for (let dataObj of this.data) {\n if (dataObj instanceof Optgroup) {\n for (let option of dataObj.options) {\n if (!firstOption) {\n firstOption = option;\n }\n option.selected = hasSelected ? false : selectedValues.includes(option[selectedType]);\n if (option.selected && this.selectType === 'single') {\n hasSelected = true;\n }\n }\n }\n if (dataObj instanceof Option) {\n if (!firstOption) {\n firstOption = dataObj;\n }\n dataObj.selected = hasSelected ? false : selectedValues.includes(dataObj[selectedType]);\n if (dataObj.selected && this.selectType === 'single') {\n hasSelected = true;\n }\n }\n }\n if (this.selectType === 'single' && firstOption && !hasSelected) {\n firstOption.selected = true;\n }\n }\n getSelected() {\n let selectedOptions = this.getSelectedOptions();\n let selectedValues = [];\n selectedOptions.forEach((option) => {\n selectedValues.push(option.value);\n });\n return selectedValues;\n }\n getSelectedOptions() {\n return this.filter((opt) => {\n return opt.selected;\n }, false);\n }\n getSelectedIDs() {\n let selectedOptions = this.getSelectedOptions();\n let selectedIDs = [];\n selectedOptions.forEach((op) => {\n selectedIDs.push(op.id);\n });\n return selectedIDs;\n }\n getOptgroupByID(id) {\n for (let dataObj of this.data) {\n if (dataObj instanceof Optgroup && dataObj.id === id) {\n return dataObj;\n }\n }\n return null;\n }\n getOptionByID(id) {\n let options = this.filter((opt) => {\n return opt.id === id;\n }, false);\n return options.length ? options[0] : null;\n }\n getSelectType() {\n return this.selectType;\n }\n getFirstOption() {\n let option = null;\n for (let dataObj of this.data) {\n if (dataObj instanceof Optgroup) {\n option = dataObj.options[0];\n }\n else if (dataObj instanceof Option) {\n option = dataObj;\n }\n if (option) {\n break;\n }\n }\n return option;\n }\n search(search, searchFilter) {\n search = search.trim();\n if (search === '') {\n return this.getData();\n }\n return this.filter((opt) => {\n return searchFilter(opt, search);\n }, true);\n }\n filter(filter, includeOptgroup) {\n const dataSearch = [];\n this.data.forEach((dataObj) => {\n if (dataObj instanceof Optgroup) {\n let optOptions = [];\n dataObj.options.forEach((option) => {\n if (!filter || filter(option)) {\n if (!includeOptgroup) {\n dataSearch.push(new Option(option));\n }\n else {\n optOptions.push(new Option(option));\n }\n }\n });\n if (optOptions.length > 0) {\n let optgroup = new Optgroup(dataObj);\n optgroup.options = optOptions;\n dataSearch.push(optgroup);\n }\n }\n if (dataObj instanceof Option) {\n if (!filter || filter(dataObj)) {\n dataSearch.push(new Option(dataObj));\n }\n }\n });\n return dataSearch;\n }\n }\n\n class Render {\n constructor(settings, store, callbacks) {\n this.classes = {\n main: 'ss-main',\n placeholder: 'ss-placeholder',\n values: 'ss-values',\n single: 'ss-single',\n max: 'ss-max',\n value: 'ss-value',\n valueText: 'ss-value-text',\n valueDelete: 'ss-value-delete',\n valueOut: 'ss-value-out',\n deselect: 'ss-deselect',\n deselectPath: 'M10,10 L90,90 M10,90 L90,10',\n arrow: 'ss-arrow',\n arrowClose: 'M10,30 L50,70 L90,30',\n arrowOpen: 'M10,70 L50,30 L90,70',\n content: 'ss-content',\n openAbove: 'ss-open-above',\n openBelow: 'ss-open-below',\n search: 'ss-search',\n searchHighlighter: 'ss-search-highlight',\n searching: 'ss-searching',\n addable: 'ss-addable',\n addablePath: 'M50,10 L50,90 M10,50 L90,50',\n list: 'ss-list',\n optgroup: 'ss-optgroup',\n optgroupLabel: 'ss-optgroup-label',\n optgroupLabelText: 'ss-optgroup-label-text',\n optgroupActions: 'ss-optgroup-actions',\n optgroupSelectAll: 'ss-selectall',\n optgroupSelectAllBox: 'M60,10 L10,10 L10,90 L90,90 L90,50',\n optgroupSelectAllCheck: 'M30,45 L50,70 L90,10',\n optgroupClosable: 'ss-closable',\n option: 'ss-option',\n optionDelete: 'M10,10 L90,90 M10,90 L90,10',\n highlighted: 'ss-highlighted',\n open: 'ss-open',\n close: 'ss-close',\n selected: 'ss-selected',\n error: 'ss-error',\n disabled: 'ss-disabled',\n hide: 'ss-hide',\n };\n this.store = store;\n this.settings = settings;\n this.callbacks = callbacks;\n this.main = this.mainDiv();\n this.content = this.contentDiv();\n this.updateClassStyles();\n this.updateAriaAttributes();\n this.settings.contentLocation.appendChild(this.content.main);\n }\n enable() {\n this.main.main.classList.remove(this.classes.disabled);\n this.content.search.input.disabled = false;\n }\n disable() {\n this.main.main.classList.add(this.classes.disabled);\n this.content.search.input.disabled = true;\n }\n open() {\n this.main.arrow.path.setAttribute('d', this.classes.arrowOpen);\n this.main.main.classList.add(this.settings.openPosition === 'up' ? this.classes.openAbove : this.classes.openBelow);\n this.main.main.setAttribute('aria-expanded', 'true');\n this.moveContent();\n const selectedOptions = this.store.getSelectedOptions();\n if (selectedOptions.length) {\n const selectedId = selectedOptions[selectedOptions.length - 1].id;\n const selectedOption = this.content.list.querySelector('[data-id=\"' + selectedId + '\"]');\n if (selectedOption) {\n this.ensureElementInView(this.content.list, selectedOption);\n }\n }\n }\n close() {\n this.main.main.classList.remove(this.classes.openAbove);\n this.main.main.classList.remove(this.classes.openBelow);\n this.main.main.setAttribute('aria-expanded', 'false');\n this.content.main.classList.remove(this.classes.openAbove);\n this.content.main.classList.remove(this.classes.openBelow);\n this.main.arrow.path.setAttribute('d', this.classes.arrowClose);\n }\n updateClassStyles() {\n this.main.main.className = '';\n this.main.main.removeAttribute('style');\n this.content.main.className = '';\n this.content.main.removeAttribute('style');\n this.main.main.classList.add(this.classes.main);\n this.content.main.classList.add(this.classes.content);\n if (this.settings.style !== '') {\n this.main.main.style.cssText = this.settings.style;\n this.content.main.style.cssText = this.settings.style;\n }\n if (this.settings.class.length) {\n for (const c of this.settings.class) {\n if (c.trim() !== '') {\n this.main.main.classList.add(c.trim());\n this.content.main.classList.add(c.trim());\n }\n }\n }\n if (this.settings.contentPosition === 'relative') {\n this.content.main.classList.add('ss-' + this.settings.contentPosition);\n }\n }\n updateAriaAttributes() {\n this.main.main.role = 'combobox';\n this.main.main.setAttribute('aria-haspopup', 'listbox');\n this.main.main.setAttribute('aria-controls', this.content.main.id);\n this.main.main.setAttribute('aria-expanded', 'false');\n this.content.main.setAttribute('role', 'listbox');\n }\n mainDiv() {\n var _a;\n const main = document.createElement('div');\n main.dataset.id = this.settings.id;\n main.setAttribute('aria-label', this.settings.ariaLabel);\n main.tabIndex = 0;\n main.onkeydown = (e) => {\n switch (e.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n this.callbacks.open();\n e.key === 'ArrowDown' ? this.highlight('down') : this.highlight('up');\n return false;\n case 'Tab':\n this.callbacks.close();\n return true;\n case 'Enter':\n case ' ':\n this.callbacks.open();\n const highlighted = this.content.list.querySelector('.' + this.classes.highlighted);\n if (highlighted) {\n highlighted.click();\n }\n return false;\n case 'Escape':\n this.callbacks.close();\n return false;\n }\n return false;\n };\n main.onclick = (e) => {\n if (this.settings.disabled) {\n return;\n }\n this.settings.isOpen ? this.callbacks.close() : this.callbacks.open();\n };\n const values = document.createElement('div');\n values.classList.add(this.classes.values);\n main.appendChild(values);\n const deselect = document.createElement('div');\n deselect.classList.add(this.classes.deselect);\n const selectedOptions = (_a = this.store) === null || _a === void 0 ? void 0 : _a.getSelectedOptions();\n if (!this.settings.allowDeselect || (this.settings.isMultiple && selectedOptions && selectedOptions.length <= 0)) {\n deselect.classList.add(this.classes.hide);\n }\n else {\n deselect.classList.remove(this.classes.hide);\n }\n deselect.onclick = (e) => {\n e.stopPropagation();\n if (this.settings.disabled) {\n return;\n }\n let shouldDelete = true;\n const before = this.store.getSelectedOptions();\n const after = [];\n if (this.callbacks.beforeChange) {\n shouldDelete = this.callbacks.beforeChange(after, before) === true;\n }\n if (shouldDelete) {\n if (this.settings.isMultiple) {\n this.callbacks.setSelected([], false);\n this.updateDeselectAll();\n }\n else {\n const firstOption = this.store.getFirstOption();\n const value = firstOption ? firstOption.value : '';\n this.callbacks.setSelected(value, false);\n }\n if (this.settings.closeOnSelect) {\n this.callbacks.close();\n }\n if (this.callbacks.afterChange) {\n this.callbacks.afterChange(this.store.getSelectedOptions());\n }\n }\n };\n const deselectSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n deselectSvg.setAttribute('viewBox', '0 0 100 100');\n const deselectPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n deselectPath.setAttribute('d', this.classes.deselectPath);\n deselectSvg.appendChild(deselectPath);\n deselect.appendChild(deselectSvg);\n main.appendChild(deselect);\n const arrow = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n arrow.classList.add(this.classes.arrow);\n arrow.setAttribute('viewBox', '0 0 100 100');\n const arrowPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n arrowPath.setAttribute('d', this.classes.arrowClose);\n if (this.settings.alwaysOpen) {\n arrow.classList.add(this.classes.hide);\n }\n arrow.appendChild(arrowPath);\n main.appendChild(arrow);\n return {\n main: main,\n values: values,\n deselect: {\n main: deselect,\n svg: deselectSvg,\n path: deselectPath,\n },\n arrow: {\n main: arrow,\n path: arrowPath,\n },\n };\n }\n mainFocus(eventType) {\n if (eventType !== 'click') {\n this.main.main.focus({ preventScroll: true });\n }\n }\n placeholder() {\n const placeholderOption = this.store.filter((o) => o.placeholder, false);\n let placeholderText = this.settings.placeholderText;\n if (placeholderOption.length) {\n if (placeholderOption[0].html !== '') {\n placeholderText = placeholderOption[0].html;\n }\n else if (placeholderOption[0].text !== '') {\n placeholderText = placeholderOption[0].text;\n }\n }\n const placeholder = document.createElement('div');\n placeholder.classList.add(this.classes.placeholder);\n placeholder.innerHTML = placeholderText;\n return placeholder;\n }\n renderValues() {\n if (!this.settings.isMultiple) {\n this.renderSingleValue();\n return;\n }\n this.renderMultipleValues();\n this.updateDeselectAll();\n }\n renderSingleValue() {\n const selected = this.store.filter((o) => {\n return o.selected && !o.placeholder;\n }, false);\n const selectedSingle = selected.length > 0 ? selected[0] : null;\n if (!selectedSingle) {\n this.main.values.innerHTML = this.placeholder().outerHTML;\n }\n else {\n const singleValue = document.createElement('div');\n singleValue.classList.add(this.classes.single);\n if (selectedSingle.html) {\n singleValue.innerHTML = selectedSingle.html;\n }\n else {\n singleValue.innerText = selectedSingle.text;\n }\n this.main.values.innerHTML = singleValue.outerHTML;\n }\n if (!this.settings.allowDeselect || !selected.length) {\n this.main.deselect.main.classList.add(this.classes.hide);\n }\n else {\n this.main.deselect.main.classList.remove(this.classes.hide);\n }\n }\n renderMultipleValues() {\n let currentNodes = this.main.values.childNodes;\n let selectedOptions = this.store.filter((opt) => {\n return opt.selected && opt.display;\n }, false);\n if (selectedOptions.length === 0) {\n this.main.values.innerHTML = this.placeholder().outerHTML;\n return;\n }\n else {\n const placeholder = this.main.values.querySelector('.' + this.classes.placeholder);\n if (placeholder) {\n placeholder.remove();\n }\n }\n if (selectedOptions.length > this.settings.maxValuesShown) {\n const singleValue = document.createElement('div');\n singleValue.classList.add(this.classes.max);\n singleValue.textContent = this.settings.maxValuesMessage.replace('{number}', selectedOptions.length.toString());\n this.main.values.innerHTML = singleValue.outerHTML;\n return;\n }\n else {\n const maxValuesMessage = this.main.values.querySelector('.' + this.classes.max);\n if (maxValuesMessage) {\n maxValuesMessage.remove();\n }\n }\n let removeNodes = [];\n for (let i = 0; i < currentNodes.length; i++) {\n const node = currentNodes[i];\n const id = node.getAttribute('data-id');\n if (id) {\n const found = selectedOptions.filter((opt) => {\n return opt.id === id;\n }, false);\n if (!found.length) {\n removeNodes.push(node);\n }\n }\n }\n for (const n of removeNodes) {\n n.classList.add(this.classes.valueOut);\n setTimeout(() => {\n if (this.main.values.hasChildNodes() && this.main.values.contains(n)) {\n this.main.values.removeChild(n);\n }\n }, 100);\n }\n currentNodes = this.main.values.childNodes;\n for (let d = 0; d < selectedOptions.length; d++) {\n let shouldAdd = true;\n for (let i = 0; i < currentNodes.length; i++) {\n if (selectedOptions[d].id === String(currentNodes[i].dataset.id)) {\n shouldAdd = false;\n }\n }\n if (shouldAdd) {\n if (this.settings.keepOrder) {\n this.main.values.appendChild(this.multipleValue(selectedOptions[d]));\n }\n else {\n if (currentNodes.length === 0) {\n this.main.values.appendChild(this.multipleValue(selectedOptions[d]));\n }\n else if (d === 0) {\n this.main.values.insertBefore(this.multipleValue(selectedOptions[d]), currentNodes[d]);\n }\n else {\n currentNodes[d - 1].insertAdjacentElement('afterend', this.multipleValue(selectedOptions[d]));\n }\n }\n }\n }\n }\n multipleValue(option) {\n const value = document.createElement('div');\n value.classList.add(this.classes.value);\n value.dataset.id = option.id;\n const text = document.createElement('div');\n text.classList.add(this.classes.valueText);\n text.innerText = option.text;\n value.appendChild(text);\n if (!option.mandatory) {\n const deleteDiv = document.createElement('div');\n deleteDiv.classList.add(this.classes.valueDelete);\n deleteDiv.onclick = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (this.settings.disabled) {\n return;\n }\n let shouldDelete = true;\n const before = this.store.getSelectedOptions();\n const after = before.filter((o) => {\n return o.selected && o.id !== option.id;\n }, true);\n if (this.settings.minSelected && after.length < this.settings.minSelected) {\n return;\n }\n if (this.callbacks.beforeChange) {\n shouldDelete = this.callbacks.beforeChange(after, before) === true;\n }\n if (shouldDelete) {\n let selectedValues = [];\n for (const o of after) {\n if (o instanceof Optgroup) {\n for (const c of o.options) {\n selectedValues.push(c.value);\n }\n }\n if (o instanceof Option) {\n selectedValues.push(o.value);\n }\n }\n this.callbacks.setSelected(selectedValues, false);\n if (this.settings.closeOnSelect) {\n this.callbacks.close();\n }\n if (this.callbacks.afterChange) {\n this.callbacks.afterChange(after);\n }\n this.updateDeselectAll();\n }\n };\n const deleteSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n deleteSvg.setAttribute('viewBox', '0 0 100 100');\n const deletePath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n deletePath.setAttribute('d', this.classes.optionDelete);\n deleteSvg.appendChild(deletePath);\n deleteDiv.appendChild(deleteSvg);\n value.appendChild(deleteDiv);\n }\n return value;\n }\n contentDiv() {\n const main = document.createElement('div');\n main.dataset.id = this.settings.id;\n const search = this.searchDiv();\n main.appendChild(search.main);\n const list = this.listDiv();\n main.appendChild(list);\n return {\n main: main,\n search: search,\n list: list,\n };\n }\n moveContent() {\n if (this.settings.contentPosition === 'relative') {\n this.moveContentBelow();\n return;\n }\n if (this.settings.openPosition === 'down') {\n this.moveContentBelow();\n return;\n }\n else if (this.settings.openPosition === 'up') {\n this.moveContentAbove();\n return;\n }\n if (this.putContent() === 'up') {\n this.moveContentAbove();\n }\n else {\n this.moveContentBelow();\n }\n }\n searchDiv() {\n const main = document.createElement('div');\n const input = document.createElement('input');\n const addable = document.createElement('div');\n main.classList.add(this.classes.search);\n const searchReturn = {\n main,\n input,\n };\n if (!this.settings.showSearch) {\n main.classList.add(this.classes.hide);\n input.readOnly = true;\n }\n input.type = 'search';\n input.placeholder = this.settings.searchPlaceholder;\n input.tabIndex = -1;\n input.setAttribute('aria-label', this.settings.searchPlaceholder);\n input.setAttribute('autocapitalize', 'off');\n input.setAttribute('autocomplete', 'off');\n input.setAttribute('autocorrect', 'off');\n input.oninput = debounce((e) => {\n this.callbacks.search(e.target.value);\n }, 100);\n input.onkeydown = (e) => {\n switch (e.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n e.key === 'ArrowDown' ? this.highlight('down') : this.highlight('up');\n return false;\n case 'Tab':\n this.callbacks.close();\n return true;\n case 'Escape':\n this.callbacks.close();\n return false;\n case 'Enter':\n case ' ':\n if (this.callbacks.addable && e.ctrlKey) {\n addable.click();\n return false;\n }\n else {\n const highlighted = this.content.list.querySelector('.' + this.classes.highlighted);\n if (highlighted) {\n highlighted.click();\n return false;\n }\n }\n return true;\n }\n return true;\n };\n main.appendChild(input);\n if (this.callbacks.addable) {\n addable.classList.add(this.classes.addable);\n const plus = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n plus.setAttribute('viewBox', '0 0 100 100');\n const plusPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n plusPath.setAttribute('d', this.classes.addablePath);\n plus.appendChild(plusPath);\n addable.appendChild(plus);\n addable.onclick = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (!this.callbacks.addable) {\n return;\n }\n const inputValue = this.content.search.input.value.trim();\n if (inputValue === '') {\n this.content.search.input.focus();\n return;\n }\n const runFinish = (oo) => {\n let newOption = new Option(oo);\n this.callbacks.addOption(newOption);\n if (this.settings.isMultiple) {\n let values = this.store.getSelected();\n values.push(newOption.value);\n this.callbacks.setSelected(values, true);\n }\n else {\n this.callbacks.setSelected([newOption.value], true);\n }\n this.callbacks.search('');\n if (this.settings.closeOnSelect) {\n setTimeout(() => {\n this.callbacks.close();\n }, 100);\n }\n };\n const addableValue = this.callbacks.addable(inputValue);\n if (addableValue === false || addableValue === undefined || addableValue === null) {\n return;\n }\n if (addableValue instanceof Promise) {\n addableValue.then((value) => {\n if (typeof value === 'string') {\n runFinish({\n text: value,\n value: value,\n });\n }\n else {\n runFinish(value);\n }\n });\n }\n else if (typeof addableValue === 'string') {\n runFinish({\n text: addableValue,\n value: addableValue,\n });\n }\n else {\n runFinish(addableValue);\n }\n return;\n };\n main.appendChild(addable);\n searchReturn.addable = {\n main: addable,\n svg: plus,\n path: plusPath,\n };\n }\n return searchReturn;\n }\n searchFocus() {\n this.content.search.input.focus();\n }\n getOptions(notPlaceholder = false, notDisabled = false, notHidden = false) {\n let query = '.' + this.classes.option;\n if (notPlaceholder) {\n query += ':not(.' + this.classes.placeholder + ')';\n }\n if (notDisabled) {\n query += ':not(.' + this.classes.disabled + ')';\n }\n if (notHidden) {\n query += ':not(.' + this.classes.hide + ')';\n }\n return Array.from(this.content.list.querySelectorAll(query));\n }\n highlight(dir) {\n const options = this.getOptions(true, true, true);\n if (options.length === 0) {\n return;\n }\n if (options.length === 1) {\n if (!options[0].classList.contains(this.classes.highlighted)) {\n options[0].classList.add(this.classes.highlighted);\n return;\n }\n }\n let highlighted = false;\n for (const o of options) {\n if (o.classList.contains(this.classes.highlighted)) {\n highlighted = true;\n }\n }\n if (!highlighted) {\n for (const o of options) {\n if (o.classList.contains(this.classes.selected)) {\n o.classList.add(this.classes.highlighted);\n break;\n }\n }\n }\n for (let i = 0; i < options.length; i++) {\n if (options[i].classList.contains(this.classes.highlighted)) {\n const prevOption = options[i];\n prevOption.classList.remove(this.classes.highlighted);\n const prevParent = prevOption.parentElement;\n if (prevParent && prevParent.classList.contains(this.classes.open)) {\n const optgroupLabel = prevParent.querySelector('.' + this.classes.optgroupLabel);\n if (optgroupLabel) {\n optgroupLabel.click();\n }\n }\n let selectOption = options[dir === 'down' ? (i + 1 < options.length ? i + 1 : 0) : i - 1 >= 0 ? i - 1 : options.length - 1];\n selectOption.classList.add(this.classes.highlighted);\n this.ensureElementInView(this.content.list, selectOption);\n const selectParent = selectOption.parentElement;\n if (selectParent && selectParent.classList.contains(this.classes.close)) {\n const optgroupLabel = selectParent.querySelector('.' + this.classes.optgroupLabel);\n if (optgroupLabel) {\n optgroupLabel.click();\n }\n }\n return;\n }\n }\n options[dir === 'down' ? 0 : options.length - 1].classList.add(this.classes.highlighted);\n this.ensureElementInView(this.content.list, options[dir === 'down' ? 0 : options.length - 1]);\n }\n listDiv() {\n const options = document.createElement('div');\n options.classList.add(this.classes.list);\n return options;\n }\n renderError(error) {\n this.content.list.innerHTML = '';\n const errorDiv = document.createElement('div');\n errorDiv.classList.add(this.classes.error);\n errorDiv.textContent = error;\n this.content.list.appendChild(errorDiv);\n }\n renderSearching() {\n this.content.list.innerHTML = '';\n const searchingDiv = document.createElement('div');\n searchingDiv.classList.add(this.classes.searching);\n searchingDiv.textContent = this.settings.searchingText;\n this.content.list.appendChild(searchingDiv);\n }\n renderOptions(data) {\n this.content.list.innerHTML = '';\n if (data.length === 0) {\n const noResults = document.createElement('div');\n noResults.classList.add(this.classes.search);\n noResults.innerHTML = this.settings.searchText;\n this.content.list.appendChild(noResults);\n return;\n }\n for (const d of data) {\n if (d instanceof Optgroup) {\n const optgroupEl = document.createElement('div');\n optgroupEl.classList.add(this.classes.optgroup);\n const optgroupLabel = document.createElement('div');\n optgroupLabel.classList.add(this.classes.optgroupLabel);\n optgroupEl.appendChild(optgroupLabel);\n const optgroupLabelText = document.createElement('div');\n optgroupLabelText.classList.add(this.classes.optgroupLabelText);\n optgroupLabelText.textContent = d.label;\n optgroupLabel.appendChild(optgroupLabelText);\n const optgroupActions = document.createElement('div');\n optgroupActions.classList.add(this.classes.optgroupActions);\n optgroupLabel.appendChild(optgroupActions);\n if (this.settings.isMultiple && d.selectAll) {\n const selectAll = document.createElement('div');\n selectAll.classList.add(this.classes.optgroupSelectAll);\n let allSelected = true;\n for (const o of d.options) {\n if (!o.selected) {\n allSelected = false;\n break;\n }\n }\n if (allSelected) {\n selectAll.classList.add(this.classes.selected);\n }\n const selectAllText = document.createElement('span');\n selectAllText.textContent = d.selectAllText;\n selectAll.appendChild(selectAllText);\n const selectAllSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n selectAllSvg.setAttribute('viewBox', '0 0 100 100');\n selectAll.appendChild(selectAllSvg);\n const selectAllBox = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n selectAllBox.setAttribute('d', this.classes.optgroupSelectAllBox);\n selectAllSvg.appendChild(selectAllBox);\n const selectAllCheck = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n selectAllCheck.setAttribute('d', this.classes.optgroupSelectAllCheck);\n selectAllSvg.appendChild(selectAllCheck);\n selectAll.addEventListener('click', (e) => {\n e.preventDefault();\n e.stopPropagation();\n const currentSelected = this.store.getSelected();\n if (allSelected) {\n const newSelected = currentSelected.filter((s) => {\n for (const o of d.options) {\n if (s === o.value) {\n return false;\n }\n }\n return true;\n });\n this.callbacks.setSelected(newSelected, true);\n return;\n }\n else {\n const newSelected = currentSelected.concat(d.options.map((o) => o.value));\n for (const o of d.options) {\n if (!this.store.getOptionByID(o.id)) {\n this.callbacks.addOption(o);\n }\n }\n this.callbacks.setSelected(newSelected, true);\n return;\n }\n });\n optgroupActions.appendChild(selectAll);\n }\n if (d.closable !== 'off') {\n const optgroupClosable = document.createElement('div');\n optgroupClosable.classList.add(this.classes.optgroupClosable);\n const optgroupClosableSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n optgroupClosableSvg.setAttribute('viewBox', '0 0 100 100');\n optgroupClosableSvg.classList.add(this.classes.arrow);\n optgroupClosable.appendChild(optgroupClosableSvg);\n const optgroupClosableArrow = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n optgroupClosableSvg.appendChild(optgroupClosableArrow);\n if (d.options.some((o) => o.selected) || this.content.search.input.value.trim() !== '') {\n optgroupClosable.classList.add(this.classes.open);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowOpen);\n }\n else if (d.closable === 'open') {\n optgroupEl.classList.add(this.classes.open);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowOpen);\n }\n else if (d.closable === 'close') {\n optgroupEl.classList.add(this.classes.close);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowClose);\n }\n optgroupLabel.addEventListener('click', (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (optgroupEl.classList.contains(this.classes.close)) {\n optgroupEl.classList.remove(this.classes.close);\n optgroupEl.classList.add(this.classes.open);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowOpen);\n }\n else {\n optgroupEl.classList.remove(this.classes.open);\n optgroupEl.classList.add(this.classes.close);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowClose);\n }\n });\n optgroupActions.appendChild(optgroupClosable);\n }\n optgroupEl.appendChild(optgroupLabel);\n for (const o of d.options) {\n optgroupEl.appendChild(this.option(o));\n }\n this.content.list.appendChild(optgroupEl);\n }\n if (d instanceof Option) {\n this.content.list.appendChild(this.option(d));\n }\n }\n }\n option(option) {\n if (option.placeholder) {\n const placeholder = document.createElement('div');\n placeholder.classList.add(this.classes.option);\n placeholder.classList.add(this.classes.hide);\n return placeholder;\n }\n const optionEl = document.createElement('div');\n optionEl.dataset.id = option.id;\n optionEl.id = option.id;\n optionEl.classList.add(this.classes.option);\n optionEl.setAttribute('role', 'option');\n if (option.class) {\n option.class.split(' ').forEach((dataClass) => {\n optionEl.classList.add(dataClass);\n });\n }\n if (option.style) {\n optionEl.style.cssText = option.style;\n }\n if (this.settings.searchHighlight && this.content.search.input.value.trim() !== '') {\n optionEl.innerHTML = this.highlightText(option.html !== '' ? option.html : option.text, this.content.search.input.value, this.classes.searchHighlighter);\n }\n else if (option.html !== '') {\n optionEl.innerHTML = option.html;\n }\n else {\n optionEl.textContent = option.text;\n }\n if (this.settings.showOptionTooltips && optionEl.textContent) {\n optionEl.setAttribute('title', optionEl.textContent);\n }\n if (!option.display) {\n optionEl.classList.add(this.classes.hide);\n }\n if (option.disabled) {\n optionEl.classList.add(this.classes.disabled);\n }\n if (option.selected && this.settings.hideSelected) {\n optionEl.classList.add(this.classes.hide);\n }\n if (option.selected) {\n optionEl.classList.add(this.classes.selected);\n optionEl.setAttribute('aria-selected', 'true');\n this.main.main.setAttribute('aria-activedescendant', optionEl.id);\n }\n else {\n optionEl.classList.remove(this.classes.selected);\n optionEl.setAttribute('aria-selected', 'false');\n }\n optionEl.addEventListener('click', (e) => {\n e.preventDefault();\n e.stopPropagation();\n const selectedOptions = this.store.getSelected();\n const element = e.currentTarget;\n const elementID = String(element.dataset.id);\n if (option.disabled || (option.selected && !this.settings.allowDeselect)) {\n return;\n }\n if ((this.settings.isMultiple && this.settings.maxSelected <= selectedOptions.length && !option.selected) ||\n (this.settings.isMultiple && this.settings.minSelected >= selectedOptions.length && option.selected)) {\n return;\n }\n let shouldUpdate = false;\n const before = this.store.getSelectedOptions();\n let after = [];\n if (this.settings.isMultiple) {\n if (option.selected) {\n after = before.filter((o) => o.id !== elementID);\n }\n else {\n after = before.concat(option);\n }\n }\n if (!this.settings.isMultiple) {\n if (option.selected) {\n after = [];\n }\n else {\n after = [option];\n }\n }\n if (!this.callbacks.beforeChange) {\n shouldUpdate = true;\n }\n if (this.callbacks.beforeChange) {\n if (this.callbacks.beforeChange(after, before) === false) {\n shouldUpdate = false;\n }\n else {\n shouldUpdate = true;\n }\n }\n if (shouldUpdate) {\n if (!this.store.getOptionByID(elementID)) {\n this.callbacks.addOption(option);\n }\n this.callbacks.setSelected(after.map((o) => o.value), false);\n if (this.settings.closeOnSelect) {\n this.callbacks.close();\n }\n if (this.callbacks.afterChange) {\n this.callbacks.afterChange(after);\n }\n }\n });\n return optionEl;\n }\n destroy() {\n this.main.main.remove();\n this.content.main.remove();\n }\n highlightText(str, search, className) {\n let completedString = str;\n const regex = new RegExp('(' + search.trim() + ')(?![^<]*>[^<>]*)', 'i');\n if (!str.match(regex)) {\n return str;\n }\n const matchStartPosition = str.match(regex).index;\n const matchEndPosition = matchStartPosition + str.match(regex)[0].toString().length;\n const originalTextFoundByRegex = str.substring(matchStartPosition, matchEndPosition);\n completedString = completedString.replace(regex, `${originalTextFoundByRegex}`);\n return completedString;\n }\n moveContentAbove() {\n const mainHeight = this.main.main.offsetHeight;\n const contentHeight = this.content.main.offsetHeight;\n this.main.main.classList.remove(this.classes.openBelow);\n this.main.main.classList.add(this.classes.openAbove);\n this.content.main.classList.remove(this.classes.openBelow);\n this.content.main.classList.add(this.classes.openAbove);\n const containerRect = this.main.main.getBoundingClientRect();\n this.content.main.style.margin = '-' + (mainHeight + contentHeight - 1) + 'px 0px 0px 0px';\n this.content.main.style.top = containerRect.top + containerRect.height + window.scrollY + 'px';\n this.content.main.style.left = containerRect.left + window.scrollX + 'px';\n this.content.main.style.width = containerRect.width + 'px';\n }\n moveContentBelow() {\n this.main.main.classList.remove(this.classes.openAbove);\n this.main.main.classList.add(this.classes.openBelow);\n this.content.main.classList.remove(this.classes.openAbove);\n this.content.main.classList.add(this.classes.openBelow);\n const containerRect = this.main.main.getBoundingClientRect();\n this.content.main.style.margin = '-1px 0px 0px 0px';\n if (this.settings.contentPosition !== 'relative') {\n this.content.main.style.top = containerRect.top + containerRect.height + window.scrollY + 'px';\n this.content.main.style.left = containerRect.left + window.scrollX + 'px';\n this.content.main.style.width = containerRect.width + 'px';\n }\n }\n ensureElementInView(container, element) {\n const cTop = container.scrollTop + container.offsetTop;\n const cBottom = cTop + container.clientHeight;\n const eTop = element.offsetTop;\n const eBottom = eTop + element.clientHeight;\n if (eTop < cTop) {\n container.scrollTop -= cTop - eTop;\n }\n else if (eBottom > cBottom) {\n container.scrollTop += eBottom - cBottom;\n }\n }\n putContent() {\n const mainHeight = this.main.main.offsetHeight;\n const mainRect = this.main.main.getBoundingClientRect();\n const contentHeight = this.content.main.offsetHeight;\n const spaceBelow = window.innerHeight - (mainRect.top + mainHeight);\n if (spaceBelow <= contentHeight) {\n if (mainRect.top > contentHeight) {\n return 'up';\n }\n else {\n return 'down';\n }\n }\n return 'down';\n }\n updateDeselectAll() {\n if (!this.store || !this.settings) {\n return;\n }\n const selected = this.store.getSelectedOptions();\n const hasSelectedItems = selected && selected.length > 0;\n const isMultiple = this.settings.isMultiple;\n const allowDeselect = this.settings.allowDeselect;\n const deselectButton = this.main.deselect.main;\n const hideClass = this.classes.hide;\n if (allowDeselect && !(isMultiple && !hasSelectedItems)) {\n deselectButton.classList.remove(hideClass);\n }\n else {\n deselectButton.classList.add(hideClass);\n }\n }\n }\n\n class Select {\n constructor(select) {\n this.listen = false;\n this.observer = null;\n this.select = select;\n this.valueChange = this.valueChange.bind(this);\n this.select.addEventListener('change', this.valueChange, {\n passive: true,\n });\n this.observer = new MutationObserver(this.observeCall.bind(this));\n this.changeListen(true);\n }\n enable() {\n this.select.disabled = false;\n }\n disable() {\n this.select.disabled = true;\n }\n hideUI() {\n this.select.tabIndex = -1;\n this.select.style.display = 'none';\n this.select.setAttribute('aria-hidden', 'true');\n }\n showUI() {\n this.select.removeAttribute('tabindex');\n this.select.style.display = '';\n this.select.removeAttribute('aria-hidden');\n }\n changeListen(listen) {\n this.listen = listen;\n if (listen) {\n if (this.observer) {\n this.observer.observe(this.select, {\n subtree: true,\n childList: true,\n attributes: true,\n });\n }\n }\n if (!listen) {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n }\n valueChange(ev) {\n if (this.listen && this.onValueChange) {\n this.onValueChange(this.getSelectedValues());\n }\n return true;\n }\n observeCall(mutations) {\n if (!this.listen) {\n return;\n }\n let classChanged = false;\n let disabledChanged = false;\n let optgroupOptionChanged = false;\n for (const m of mutations) {\n if (m.target === this.select) {\n if (m.attributeName === 'disabled') {\n disabledChanged = true;\n }\n if (m.attributeName === 'class') {\n classChanged = true;\n }\n }\n if (m.target.nodeName === 'OPTGROUP' || m.target.nodeName === 'OPTION') {\n optgroupOptionChanged = true;\n }\n }\n if (classChanged && this.onClassChange) {\n this.onClassChange(this.select.className.split(' '));\n }\n if (disabledChanged && this.onDisabledChange) {\n this.changeListen(false);\n this.onDisabledChange(this.select.disabled);\n this.changeListen(true);\n }\n if (optgroupOptionChanged && this.onOptionsChange) {\n this.changeListen(false);\n this.onOptionsChange(this.getData());\n this.changeListen(true);\n }\n }\n getData() {\n let data = [];\n const nodes = this.select.childNodes;\n for (const n of nodes) {\n if (n.nodeName === 'OPTGROUP') {\n data.push(this.getDataFromOptgroup(n));\n }\n if (n.nodeName === 'OPTION') {\n data.push(this.getDataFromOption(n));\n }\n }\n return data;\n }\n getDataFromOptgroup(optgroup) {\n let data = {\n id: optgroup.id,\n label: optgroup.label,\n selectAll: optgroup.dataset ? optgroup.dataset.selectall === 'true' : false,\n selectAllText: optgroup.dataset ? optgroup.dataset.selectalltext : 'Select all',\n closable: optgroup.dataset ? optgroup.dataset.closable : 'off',\n options: [],\n };\n const options = optgroup.childNodes;\n for (const o of options) {\n if (o.nodeName === 'OPTION') {\n data.options.push(this.getDataFromOption(o));\n }\n }\n return data;\n }\n getDataFromOption(option) {\n return {\n id: option.id,\n value: option.value,\n text: option.text,\n html: option.dataset && option.dataset.html ? option.dataset.html : '',\n selected: option.selected,\n display: option.style.display === 'none' ? false : true,\n disabled: option.disabled,\n mandatory: option.dataset ? option.dataset.mandatory === 'true' : false,\n placeholder: option.dataset.placeholder === 'true',\n class: option.className,\n style: option.style.cssText,\n data: option.dataset,\n };\n }\n getSelectedValues() {\n let values = [];\n const options = this.select.childNodes;\n for (const o of options) {\n if (o.nodeName === 'OPTGROUP') {\n const optgroupOptions = o.childNodes;\n for (const oo of optgroupOptions) {\n if (oo.nodeName === 'OPTION') {\n const option = oo;\n if (option.selected) {\n values.push(option.value);\n }\n }\n }\n }\n if (o.nodeName === 'OPTION') {\n const option = o;\n if (option.selected) {\n values.push(option.value);\n }\n }\n }\n return values;\n }\n setSelected(value) {\n this.changeListen(false);\n const options = this.select.childNodes;\n for (const o of options) {\n if (o.nodeName === 'OPTGROUP') {\n const optgroup = o;\n const optgroupOptions = optgroup.childNodes;\n for (const oo of optgroupOptions) {\n if (oo.nodeName === 'OPTION') {\n const option = oo;\n option.selected = value.includes(option.value);\n }\n }\n }\n if (o.nodeName === 'OPTION') {\n const option = o;\n option.selected = value.includes(option.value);\n }\n }\n this.changeListen(true);\n }\n updateSelect(id, style, classes) {\n this.changeListen(false);\n if (id) {\n this.select.dataset.id = id;\n }\n if (style) {\n this.select.style.cssText = style;\n }\n if (classes) {\n this.select.className = '';\n classes.forEach((c) => {\n if (c.trim() !== '') {\n this.select.classList.add(c.trim());\n }\n });\n }\n this.changeListen(true);\n }\n updateOptions(data) {\n this.changeListen(false);\n this.select.innerHTML = '';\n for (const d of data) {\n if (d instanceof Optgroup) {\n this.select.appendChild(this.createOptgroup(d));\n }\n if (d instanceof Option) {\n this.select.appendChild(this.createOption(d));\n }\n }\n this.select.dispatchEvent(new Event('change'));\n this.changeListen(true);\n }\n createOptgroup(optgroup) {\n const optgroupEl = document.createElement('optgroup');\n optgroupEl.id = optgroup.id;\n optgroupEl.label = optgroup.label;\n if (optgroup.selectAll) {\n optgroupEl.dataset.selectAll = 'true';\n }\n if (optgroup.closable !== 'off') {\n optgroupEl.dataset.closable = optgroup.closable;\n }\n if (optgroup.options) {\n for (const o of optgroup.options) {\n optgroupEl.appendChild(this.createOption(o));\n }\n }\n return optgroupEl;\n }\n createOption(info) {\n const optionEl = document.createElement('option');\n optionEl.id = info.id;\n optionEl.value = info.value;\n optionEl.innerHTML = info.text;\n if (info.html !== '') {\n optionEl.setAttribute('data-html', info.html);\n }\n if (info.selected) {\n optionEl.selected = info.selected;\n }\n if (info.disabled) {\n optionEl.disabled = true;\n }\n if (info.display === false) {\n optionEl.style.display = 'none';\n }\n if (info.placeholder) {\n optionEl.setAttribute('data-placeholder', 'true');\n }\n if (info.mandatory) {\n optionEl.setAttribute('data-mandatory', 'true');\n }\n if (info.class) {\n info.class.split(' ').forEach((optionClass) => {\n optionEl.classList.add(optionClass);\n });\n }\n if (info.data && typeof info.data === 'object') {\n Object.keys(info.data).forEach((key) => {\n optionEl.setAttribute('data-' + kebabCase(key), info.data[key]);\n });\n }\n return optionEl;\n }\n destroy() {\n this.changeListen(false);\n this.select.removeEventListener('change', this.valueChange);\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n delete this.select.dataset.id;\n this.showUI();\n }\n }\n\n class Settings {\n constructor(settings) {\n this.id = '';\n this.style = '';\n this.class = [];\n this.isMultiple = false;\n this.isOpen = false;\n this.isFullOpen = false;\n this.intervalMove = null;\n if (!settings) {\n settings = {};\n }\n this.id = 'ss-' + generateID();\n this.style = settings.style || '';\n this.class = settings.class || [];\n this.disabled = settings.disabled !== undefined ? settings.disabled : false;\n this.alwaysOpen = settings.alwaysOpen !== undefined ? settings.alwaysOpen : false;\n this.showSearch = settings.showSearch !== undefined ? settings.showSearch : true;\n this.ariaLabel = settings.ariaLabel || 'Combobox';\n this.searchPlaceholder = settings.searchPlaceholder || 'Search';\n this.searchText = settings.searchText || 'No Results';\n this.searchingText = settings.searchingText || 'Searching...';\n this.searchHighlight = settings.searchHighlight !== undefined ? settings.searchHighlight : false;\n this.closeOnSelect = settings.closeOnSelect !== undefined ? settings.closeOnSelect : true;\n this.contentLocation = settings.contentLocation || document.body;\n this.contentPosition = settings.contentPosition || 'absolute';\n this.openPosition = settings.openPosition || 'auto';\n this.placeholderText = settings.placeholderText !== undefined ? settings.placeholderText : 'Select Value';\n this.allowDeselect = settings.allowDeselect !== undefined ? settings.allowDeselect : false;\n this.hideSelected = settings.hideSelected !== undefined ? settings.hideSelected : false;\n this.keepOrder = settings.keepOrder !== undefined ? settings.keepOrder : false;\n this.showOptionTooltips = settings.showOptionTooltips !== undefined ? settings.showOptionTooltips : false;\n this.minSelected = settings.minSelected || 0;\n this.maxSelected = settings.maxSelected || 1000;\n this.timeoutDelay = settings.timeoutDelay || 200;\n this.maxValuesShown = settings.maxValuesShown || 20;\n this.maxValuesMessage = settings.maxValuesMessage || '{number} selected';\n }\n }\n\n class SlimSelect {\n constructor(config) {\n var _a;\n this.events = {\n search: undefined,\n searchFilter: (opt, search) => {\n return opt.text.toLowerCase().indexOf(search.toLowerCase()) !== -1;\n },\n addable: undefined,\n beforeChange: undefined,\n afterChange: undefined,\n beforeOpen: undefined,\n afterOpen: undefined,\n beforeClose: undefined,\n afterClose: undefined,\n };\n this.windowResize = debounce(() => {\n if (!this.settings.isOpen && !this.settings.isFullOpen) {\n return;\n }\n this.render.moveContent();\n });\n this.windowScroll = debounce(() => {\n if (!this.settings.isOpen && !this.settings.isFullOpen) {\n return;\n }\n this.render.moveContent();\n });\n this.documentClick = (e) => {\n if (!this.settings.isOpen) {\n return;\n }\n if (e.target && !hasClassInTree(e.target, this.settings.id)) {\n this.close(e.type);\n }\n };\n this.windowVisibilityChange = () => {\n if (document.hidden) {\n this.close();\n }\n };\n this.selectEl = (typeof config.select === 'string' ? document.querySelector(config.select) : config.select);\n if (!this.selectEl) {\n if (config.events && config.events.error) {\n config.events.error(new Error('Could not find select element'));\n }\n return;\n }\n if (this.selectEl.tagName !== 'SELECT') {\n if (config.events && config.events.error) {\n config.events.error(new Error('Element isnt of type select'));\n }\n return;\n }\n if (this.selectEl.dataset.ssid) {\n this.destroy();\n }\n this.settings = new Settings(config.settings);\n const debounceEvents = ['afterChange', 'beforeOpen', 'afterOpen', 'beforeClose', 'afterClose'];\n for (const key in config.events) {\n if (!config.events.hasOwnProperty(key)) {\n continue;\n }\n if (debounceEvents.indexOf(key) !== -1) {\n this.events[key] = debounce(config.events[key], 100);\n }\n else {\n this.events[key] = config.events[key];\n }\n }\n this.settings.disabled = ((_a = config.settings) === null || _a === void 0 ? void 0 : _a.disabled) ? config.settings.disabled : this.selectEl.disabled;\n this.settings.isMultiple = this.selectEl.multiple;\n this.settings.style = this.selectEl.style.cssText;\n this.settings.class = this.selectEl.className.split(' ');\n this.select = new Select(this.selectEl);\n this.select.updateSelect(this.settings.id, this.settings.style, this.settings.class);\n this.select.hideUI();\n this.select.onValueChange = (values) => {\n this.setSelected(values);\n };\n this.select.onClassChange = (classes) => {\n this.settings.class = classes;\n this.render.updateClassStyles();\n };\n this.select.onDisabledChange = (disabled) => {\n if (disabled) {\n this.disable();\n }\n else {\n this.enable();\n }\n };\n this.select.onOptionsChange = (data) => {\n this.setData(data);\n };\n this.store = new Store(this.settings.isMultiple ? 'multiple' : 'single', config.data ? config.data : this.select.getData());\n if (config.data) {\n this.select.updateOptions(this.store.getData());\n }\n const renderCallbacks = {\n open: this.open.bind(this),\n close: this.close.bind(this),\n addable: this.events.addable ? this.events.addable : undefined,\n setSelected: this.setSelected.bind(this),\n addOption: this.addOption.bind(this),\n search: this.search.bind(this),\n beforeChange: this.events.beforeChange,\n afterChange: this.events.afterChange,\n };\n this.render = new Render(this.settings, this.store, renderCallbacks);\n this.render.renderValues();\n this.render.renderOptions(this.store.getData());\n const selectAriaLabel = this.selectEl.getAttribute('aria-label');\n const selectAriaLabelledBy = this.selectEl.getAttribute('aria-labelledby');\n if (selectAriaLabel) {\n this.render.main.main.setAttribute('aria-label', selectAriaLabel);\n }\n else if (selectAriaLabelledBy) {\n this.render.main.main.setAttribute('aria-labelledby', selectAriaLabelledBy);\n }\n if (this.selectEl.parentNode) {\n this.selectEl.parentNode.insertBefore(this.render.main.main, this.selectEl.nextSibling);\n }\n window.addEventListener('resize', this.windowResize, false);\n if (this.settings.openPosition === 'auto') {\n window.addEventListener('scroll', this.windowScroll, false);\n }\n document.addEventListener('visibilitychange', this.windowVisibilityChange);\n if (this.settings.disabled) {\n this.disable();\n }\n if (this.settings.alwaysOpen) {\n this.open();\n }\n this.selectEl.slim = this;\n }\n enable() {\n this.settings.disabled = false;\n this.select.enable();\n this.render.enable();\n }\n disable() {\n this.settings.disabled = true;\n this.select.disable();\n this.render.disable();\n }\n getData() {\n return this.store.getData();\n }\n setData(data) {\n const selected = this.store.getSelected();\n const err = this.store.validateDataArray(data);\n if (err) {\n if (this.events.error) {\n this.events.error(err);\n }\n return;\n }\n this.store.setData(data);\n const dataClean = this.store.getData();\n this.select.updateOptions(dataClean);\n this.render.renderValues();\n this.render.renderOptions(dataClean);\n if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {\n this.events.afterChange(this.store.getSelectedOptions());\n }\n }\n getSelected() {\n return this.store.getSelected();\n }\n setSelected(value, runAfterChange = true) {\n const selected = this.store.getSelected();\n this.store.setSelectedBy('value', Array.isArray(value) ? value : [value]);\n const data = this.store.getData();\n this.select.updateOptions(data);\n this.render.renderValues();\n if (this.render.content.search.input.value !== '') {\n this.search(this.render.content.search.input.value);\n }\n else {\n this.render.renderOptions(data);\n }\n if (runAfterChange && this.events.afterChange && !isEqual(selected, this.store.getSelected())) {\n this.events.afterChange(this.store.getSelectedOptions());\n }\n }\n addOption(option) {\n const selected = this.store.getSelected();\n if (!this.store.getDataOptions().some((o) => { var _a; return o.value === ((_a = option.value) !== null && _a !== void 0 ? _a : option.text); })) {\n this.store.addOption(option);\n }\n const data = this.store.getData();\n this.select.updateOptions(data);\n this.render.renderValues();\n this.render.renderOptions(data);\n if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {\n this.events.afterChange(this.store.getSelectedOptions());\n }\n }\n open() {\n if (this.settings.disabled || this.settings.isOpen) {\n return;\n }\n if (this.events.beforeOpen) {\n this.events.beforeOpen();\n }\n this.render.open();\n if (this.settings.showSearch) {\n this.render.searchFocus();\n }\n this.settings.isOpen = true;\n setTimeout(() => {\n if (this.events.afterOpen) {\n this.events.afterOpen();\n }\n if (this.settings.isOpen) {\n this.settings.isFullOpen = true;\n }\n document.addEventListener('click', this.documentClick);\n }, this.settings.timeoutDelay);\n if (this.settings.contentPosition === 'absolute') {\n if (this.settings.intervalMove) {\n clearInterval(this.settings.intervalMove);\n }\n this.settings.intervalMove = setInterval(this.render.moveContent.bind(this.render), 500);\n }\n }\n close(eventType = null) {\n if (!this.settings.isOpen || this.settings.alwaysOpen) {\n return;\n }\n if (this.events.beforeClose) {\n this.events.beforeClose();\n }\n this.render.close();\n if (this.render.content.search.input.value !== '') {\n this.search('');\n }\n this.render.mainFocus(eventType);\n this.settings.isOpen = false;\n this.settings.isFullOpen = false;\n setTimeout(() => {\n if (this.events.afterClose) {\n this.events.afterClose();\n }\n document.removeEventListener('click', this.documentClick);\n }, this.settings.timeoutDelay);\n if (this.settings.intervalMove) {\n clearInterval(this.settings.intervalMove);\n }\n }\n search(value) {\n if (this.render.content.search.input.value !== value) {\n this.render.content.search.input.value = value;\n }\n if (!this.events.search) {\n this.render.renderOptions(value === '' ? this.store.getData() : this.store.search(value, this.events.searchFilter));\n return;\n }\n this.render.renderSearching();\n const searchResp = this.events.search(value, this.store.getSelectedOptions());\n if (searchResp instanceof Promise) {\n searchResp\n .then((data) => {\n this.render.renderOptions(this.store.partialToFullData(data));\n })\n .catch((err) => {\n this.render.renderError(typeof err === 'string' ? err : err.message);\n });\n return;\n }\n else if (Array.isArray(searchResp)) {\n this.render.renderOptions(this.store.partialToFullData(searchResp));\n }\n else {\n this.render.renderError('Search event must return a promise or an array of data');\n }\n }\n destroy() {\n document.removeEventListener('click', this.documentClick);\n window.removeEventListener('resize', this.windowResize, false);\n if (this.settings.openPosition === 'auto') {\n window.removeEventListener('scroll', this.windowScroll, false);\n }\n document.removeEventListener('visibilitychange', this.windowVisibilityChange);\n this.store.setData([]);\n this.render.destroy();\n this.select.destroy();\n }\n }\n\n return SlimSelect;\n\n}));\n","/*\n* Notiflix Notify AIO (https://notiflix.github.io)\n* Description: This file has been created automatically that using \"notiflix.js\", and \"notiflix.css\" files.\n* Version: 3.2.6\n* Author: Furkan (https://github.com/furcan)\n* Copyright 2019 - 2023 Notiflix, MIT Licence (https://opensource.org/licenses/MIT)\n*/\n\n/* global define */\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof module === 'object' && typeof module.exports === 'object') {\n module.exports = factory(root);\n } else {\n root.Notiflix = factory(root);\n }\n})(typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this, function (window) {\n\n 'use strict';\n\n // COMMON: SSR check: begin\n if (typeof window === 'undefined' && typeof window.document === 'undefined') {\n return false;\n }\n // COMMON: SSR check: end\n\n // COMMON: Variables: begin\n var notiflixNamespace = 'Notiflix';\n var notiflixConsoleDocs = '\\n\\nVisit documentation page to learn more: https://notiflix.github.io/documentation';\n var defaultFontFamily = '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif';\n // COMMON: Variables: end\n\n // NOTIFY: Default Settings: begin\n var typesNotify = {\n Success: 'Success',\n Failure: 'Failure',\n Warning: 'Warning',\n Info: 'Info',\n };\n var newNotifySettings;\n var notifySettings = {\n wrapID: 'NotiflixNotifyWrap', // can not customizable\n overlayID: 'NotiflixNotifyOverlay', // can not customizable\n width: '280px',\n position: 'right-top', // 'right-top' - 'right-bottom' - 'left-top' - 'left-bottom' - 'center-top' - 'center-bottom' - 'center-center'\n distance: '10px',\n opacity: 1,\n borderRadius: '5px',\n rtl: false,\n timeout: 3000,\n messageMaxLength: 110,\n backOverlay: false,\n backOverlayColor: 'rgba(0,0,0,0.5)',\n plainText: true,\n showOnlyTheLastOne: false,\n clickToClose: false,\n pauseOnHover: true,\n\n ID: 'NotiflixNotify',\n className: 'notiflix-notify',\n zindex: 4001,\n fontFamily: 'Quicksand',\n fontSize: '13px',\n cssAnimation: true,\n cssAnimationDuration: 400,\n cssAnimationStyle: 'fade', // 'fade' - 'zoom' - 'from-right' - 'from-top' - 'from-bottom' - 'from-left'\n closeButton: false,\n useIcon: true,\n useFontAwesome: false,\n fontAwesomeIconStyle: 'basic', // 'basic' - 'shadow'\n fontAwesomeIconSize: '34px',\n\n success: {\n background: '#32c682',\n textColor: '#fff',\n childClassName: 'notiflix-notify-success',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-check-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(50,198,130,0.2)',\n },\n\n failure: {\n background: '#ff5549',\n textColor: '#fff',\n childClassName: 'notiflix-notify-failure',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-times-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(255,85,73,0.2)',\n },\n\n warning: {\n background: '#eebf31',\n textColor: '#fff',\n childClassName: 'notiflix-notify-warning',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-exclamation-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(238,191,49,0.2)',\n },\n\n info: {\n background: '#26c0d3',\n textColor: '#fff',\n childClassName: 'notiflix-notify-info',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-info-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(38,192,211,0.2)',\n },\n };\n // NOTIFY: Default Settings: end\n\n // COMMON: Console Error: begin\n var commonConsoleError = function (message) {\n return console.error('%c ' + notiflixNamespace + ' Error ', 'padding:2px;border-radius:20px;color:#fff;background:#ff5549', '\\n' + message + notiflixConsoleDocs);\n };\n // COMMON: Console Error: end\n\n // COMMON: Check Head or Body: begin\n var commonCheckHeadOrBody = function (element) {\n if (!element) { element = 'head'; }\n if (window.document[element] === null) {\n commonConsoleError('\\nNotiflix needs to be appended to the \"<' + element + '>\" element, but you called it before the \"<' + element + '>\" element has been created.');\n return false;\n }\n return true;\n };\n // COMMON: Check Head or Body: end\n\n // COMMON: Set Internal CSS Codes: begin\n var commonSetInternalCSSCodes = function (getInternalCSSCodes, styleElementId) {\n // check doc head\n if (!commonCheckHeadOrBody('head')) { return false; }\n\n // internal css\n if (getInternalCSSCodes() !== null && !window.document.getElementById(styleElementId)) {\n var internalCSS = window.document.createElement('style');\n internalCSS.id = styleElementId;\n internalCSS.innerHTML = getInternalCSSCodes();\n window.document.head.appendChild(internalCSS);\n }\n };\n // COMMON: Set Internal CSS Codes: end\n\n // COMMON: Extend Options: begin\n var commonExtendOptions = function () {\n // variables\n var extended = {};\n var deep = false;\n var i = 0;\n // check if a deep merge\n if (Object.prototype.toString.call(arguments[0]) === '[object Boolean]') {\n deep = arguments[0];\n i++;\n }\n // merge the object into the extended object\n var merge = function (obj) {\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n // if property is an object, merge properties\n if (deep && Object.prototype.toString.call(obj[prop]) === '[object Object]') {\n extended[prop] = commonExtendOptions(extended[prop], obj[prop]);\n } else {\n extended[prop] = obj[prop];\n }\n }\n }\n };\n // loop through each object and conduct a merge\n for (; i < arguments.length; i++) {\n merge(arguments[i]);\n }\n return extended;\n };\n // COMMON: Extend Options: end\n\n // COMMON: Get Plaintext: begin\n var commonGetPlaintext = function (html) {\n var htmlPool = window.document.createElement('div');\n htmlPool.innerHTML = html;\n return htmlPool.textContent || htmlPool.innerText || '';\n };\n // COMMON: Get Plaintext: end\n\n // NOTIFY: Get Internal CSS Codes: begin\n var notifyGetInternalCSSCodes = function () {\n var notifyCSS = '[id^=NotiflixNotifyWrap]{pointer-events:none;position:fixed;z-index:4001;opacity:1;right:10px;top:10px;width:280px;max-width:96%;-webkit-box-sizing:border-box;box-sizing:border-box;background:transparent}[id^=NotiflixNotifyWrap].nx-flex-center-center{max-height:calc(100vh - 20px);overflow-x:hidden;overflow-y:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin:auto}[id^=NotiflixNotifyWrap]::-webkit-scrollbar{width:0;height:0}[id^=NotiflixNotifyWrap]::-webkit-scrollbar-thumb{background:transparent}[id^=NotiflixNotifyWrap]::-webkit-scrollbar-track{background:transparent}[id^=NotiflixNotifyWrap] *{-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyOverlay]{-webkit-transition:background .3s ease-in-out;-o-transition:background .3s ease-in-out;transition:background .3s ease-in-out}[id^=NotiflixNotifyWrap]>div{pointer-events:all;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:\"Quicksand\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;width:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;margin:0 0 10px;border-radius:5px;background:#1e1e1e;color:#fff;padding:10px 12px;font-size:14px;line-height:1.4}[id^=NotiflixNotifyWrap]>div:last-child{margin:0}[id^=NotiflixNotifyWrap]>div.nx-with-callback{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-icon{padding:8px;min-height:56px}[id^=NotiflixNotifyWrap]>div.nx-paused{cursor:auto}[id^=NotiflixNotifyWrap]>div.nx-notify-click-to-close{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-close-button{padding:10px 36px 10px 12px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button{padding:6px 36px 6px 6px}[id^=NotiflixNotifyWrap]>div>span.nx-message{cursor:inherit;font-weight:normal;font-family:inherit!important;word-break:break-all;word-break:break-word}[id^=NotiflixNotifyWrap]>div>span.nx-close-button{cursor:pointer;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;position:absolute;right:8px;top:0;bottom:0;margin:auto;color:inherit;width:20px;height:20px}[id^=NotiflixNotifyWrap]>div>span.nx-close-button:hover{-webkit-transform:rotate(90deg);transform:rotate(90deg)}[id^=NotiflixNotifyWrap]>div>span.nx-close-button>svg{position:absolute;width:16px;height:16px;right:2px;top:2px}[id^=NotiflixNotifyWrap]>div>.nx-message-icon{position:absolute;width:40px;height:40px;font-size:30px;line-height:40px;text-align:center;left:8px;top:0;bottom:0;margin:auto;border-radius:inherit}[id^=NotiflixNotifyWrap]>div>.nx-message-icon-fa.nx-message-icon-fa-shadow{color:inherit;background:rgba(0,0,0,.15);-webkit-box-shadow:inset 0 0 34px rgba(0,0,0,.2);box-shadow:inset 0 0 34px rgba(0,0,0,.2);text-shadow:0 0 10px rgba(0,0,0,.3)}[id^=NotiflixNotifyWrap]>div>span.nx-with-icon{position:relative;float:left;width:calc(100% - 40px);margin:0 0 0 40px;padding:0 0 0 10px;-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>.nx-message-icon{left:auto;right:8px}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-with-icon{padding:0 10px 0 0;margin:0 40px 0 0}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-close-button{right:auto;left:8px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button.nx-rtl-on{padding:6px 6px 6px 36px}[id^=NotiflixNotifyWrap]>div.nx-with-close-button.nx-rtl-on{padding:10px 12px 10px 36px}[id^=NotiflixNotifyOverlay].nx-with-animation,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade{-webkit-animation:notify-animation-fade .3s ease-in-out 0s normal;animation:notify-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom{-webkit-animation:notify-animation-zoom .3s ease-in-out 0s normal;animation:notify-animation-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right{-webkit-animation:notify-animation-from-right .3s ease-in-out 0s normal;animation:notify-animation-from-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}@keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left{-webkit-animation:notify-animation-from-left .3s ease-in-out 0s normal;animation:notify-animation-from-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}@keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top{-webkit-animation:notify-animation-from-top .3s ease-in-out 0s normal;animation:notify-animation-from-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}@keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom{-webkit-animation:notify-animation-from-bottom .3s ease-in-out 0s normal;animation:notify-animation-from-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}@keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}[id^=NotiflixNotifyOverlay].nx-with-animation.nx-remove,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade.nx-remove{opacity:0;-webkit-animation:notify-remove-fade .3s ease-in-out 0s normal;animation:notify-remove-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}@keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom.nx-remove{-webkit-transform:scale(0);transform:scale(0);-webkit-animation:notify-remove-zoom .3s ease-in-out 0s normal;animation:notify-remove-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}@keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top.nx-remove{opacity:0;-webkit-animation:notify-remove-to-top .3s ease-in-out 0s normal;animation:notify-remove-to-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}@keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right.nx-remove{opacity:0;-webkit-animation:notify-remove-to-right .3s ease-in-out 0s normal;animation:notify-remove-to-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}@keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom.nx-remove{opacity:0;-webkit-animation:notify-remove-to-bottom .3s ease-in-out 0s normal;animation:notify-remove-to-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}@keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left.nx-remove{opacity:0;-webkit-animation:notify-remove-to-left .3s ease-in-out 0s normal;animation:notify-remove-to-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}@keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}';\n return notifyCSS || null;\n };\n // NOTIFY: Get Internal CSS Codes: end\n\n // NOTIFY: Create: begin\n var notifyCreateCounter = 0;\n var notifyCreate = function (notifyType, message, callbackOrOptions, options) {\n // check doc body\n if (!commonCheckHeadOrBody('body')) { return false; }\n\n // if not initialized pretend like init\n if (!newNotifySettings) {\n Notiflix.Notify.init({});\n }\n\n // create a backup for new settings\n var newNotifySettingsBackup = commonExtendOptions(true, newNotifySettings, {});\n\n // check callbackOrOptions and options: begin\n if ((typeof callbackOrOptions === 'object' && !Array.isArray(callbackOrOptions)) || (typeof options === 'object' && !Array.isArray(options))) {\n // new options\n var newOptions = {};\n if (typeof callbackOrOptions === 'object') {\n newOptions = callbackOrOptions;\n } else if (typeof options === 'object') {\n newOptions = options;\n }\n\n // extend new settings with the new options\n newNotifySettings = commonExtendOptions(true, newNotifySettings, newOptions);\n }\n // check callbackOrOptions and options: end\n\n // notify type\n var theType = newNotifySettings[notifyType.toLocaleLowerCase('en')];\n\n // notify counter\n notifyCreateCounter++;\n\n // check the message: begin\n if (typeof message !== 'string') {\n message = 'Notiflix ' + notifyType;\n }\n // check the message: end\n\n // if plainText is true => HTML tags not allowed: begin\n if (newNotifySettings.plainText) {\n message = commonGetPlaintext(message); // message plain text\n }\n // if plainText is true => HTML tags not allowed: end\n\n // if plainText is false but the message length more than messageMaxLength => Possible HTML tags error: begin\n if (!newNotifySettings.plainText && message.length > newNotifySettings.messageMaxLength) {\n // extend settings for error massege\n newNotifySettings = commonExtendOptions(true, newNotifySettings, { closeButton: true, messageMaxLength: 150 });\n // error message\n message = 'Possible HTML Tags Error: The \"plainText\" option is \"false\" and the notification content length is more than the \"messageMaxLength\" option.';\n }\n // if plainText is false but the message length more than messageMaxLength => Possible HTML tags error: end\n\n // check message max length: begin\n if (message.length > newNotifySettings.messageMaxLength) {\n message = message.substring(0, newNotifySettings.messageMaxLength) + '...';\n }\n // check message max length: end\n\n // font awesome icon style: begin\n if (newNotifySettings.fontAwesomeIconStyle === 'shadow') {\n theType.fontAwesomeIconColor = theType.background;\n }\n // font awesome icon style: end\n\n // if cssAnimaion is false => duration: begin\n if (!newNotifySettings.cssAnimation) {\n newNotifySettings.cssAnimationDuration = 0;\n }\n // if cssAnimaion is false => duration: end\n\n // notify wrap: begin\n var ntflxNotifyWrap = window.document.getElementById(notifySettings.wrapID) || window.document.createElement('div');\n ntflxNotifyWrap.id = notifySettings.wrapID;\n ntflxNotifyWrap.style.width = newNotifySettings.width;\n ntflxNotifyWrap.style.zIndex = newNotifySettings.zindex;\n ntflxNotifyWrap.style.opacity = newNotifySettings.opacity;\n\n // wrap position: begin\n if (newNotifySettings.position === 'center-center') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.margin = 'auto';\n ntflxNotifyWrap.classList.add('nx-flex-center-center');\n ntflxNotifyWrap.style.maxHeight = 'calc((100vh - ' + newNotifySettings.distance + ') - ' + newNotifySettings.distance + ')';\n ntflxNotifyWrap.style.display = 'flex';\n ntflxNotifyWrap.style.flexWrap = 'wrap';\n ntflxNotifyWrap.style.flexDirection = 'column';\n ntflxNotifyWrap.style.justifyContent = 'center';\n ntflxNotifyWrap.style.alignItems = 'center';\n ntflxNotifyWrap.style.pointerEvents = 'none';\n } else if (newNotifySettings.position === 'center-top') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = 'auto';\n ntflxNotifyWrap.style.margin = 'auto';\n } else if (newNotifySettings.position === 'center-bottom') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.margin = 'auto';\n } else if (newNotifySettings.position === 'right-bottom') {\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.left = 'auto';\n } else if (newNotifySettings.position === 'left-top') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = 'auto';\n ntflxNotifyWrap.style.bottom = 'auto';\n } else if (newNotifySettings.position === 'left-bottom') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.right = 'auto';\n } else { // 'right-top' or else\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.left = 'auto';\n ntflxNotifyWrap.style.bottom = 'auto';\n }\n // wrap position: end\n\n // if background overlay is true: begin\n if (newNotifySettings.backOverlay) {\n var ntflxNotifyOverlay = window.document.getElementById(notifySettings.overlayID) || window.document.createElement('div');\n ntflxNotifyOverlay.id = notifySettings.overlayID;\n ntflxNotifyOverlay.style.width = '100%';\n ntflxNotifyOverlay.style.height = '100%';\n ntflxNotifyOverlay.style.position = 'fixed';\n ntflxNotifyOverlay.style.zIndex = newNotifySettings.zindex - 1;\n ntflxNotifyOverlay.style.left = 0;\n ntflxNotifyOverlay.style.top = 0;\n ntflxNotifyOverlay.style.right = 0;\n ntflxNotifyOverlay.style.bottom = 0;\n ntflxNotifyOverlay.style.background = theType.backOverlayColor || newNotifySettings.backOverlayColor;\n ntflxNotifyOverlay.className = newNotifySettings.cssAnimation ? 'nx-with-animation' : '';\n ntflxNotifyOverlay.style.animationDuration = newNotifySettings.cssAnimation ? newNotifySettings.cssAnimationDuration + 'ms' : '';\n\n if (!window.document.getElementById(notifySettings.overlayID)) {\n window.document.body.appendChild(ntflxNotifyOverlay);\n }\n }\n // if background overlay is true: end\n\n if (!window.document.getElementById(notifySettings.wrapID)) {\n window.document.body.appendChild(ntflxNotifyWrap);\n }\n // notify wrap: end\n\n // notify content: begin\n var ntflxNotify = window.document.createElement('div');\n ntflxNotify.id = newNotifySettings.ID + '-' + notifyCreateCounter;\n ntflxNotify.className = newNotifySettings.className + ' ' + theType.childClassName + ' ' + (newNotifySettings.cssAnimation ? 'nx-with-animation' : '') + ' ' + (newNotifySettings.useIcon ? 'nx-with-icon' : '') + ' nx-' + newNotifySettings.cssAnimationStyle + ' ' + (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function' ? 'nx-with-close-button' : '') + ' ' + (typeof callbackOrOptions === 'function' ? 'nx-with-callback' : '') + ' ' + (newNotifySettings.clickToClose ? 'nx-notify-click-to-close' : '');\n ntflxNotify.style.fontSize = newNotifySettings.fontSize;\n ntflxNotify.style.color = theType.textColor;\n ntflxNotify.style.background = theType.background;\n ntflxNotify.style.borderRadius = newNotifySettings.borderRadius;\n ntflxNotify.style.pointerEvents = 'all';\n\n // rtl: begin\n if (newNotifySettings.rtl) {\n ntflxNotify.setAttribute('dir', 'rtl');\n ntflxNotify.classList.add('nx-rtl-on');\n }\n // rtl: end\n\n // font-family: begin\n ntflxNotify.style.fontFamily = '\"' + newNotifySettings.fontFamily + '\", ' + defaultFontFamily;\n // font-family: end\n\n // use css animation: begin\n if (newNotifySettings.cssAnimation) {\n ntflxNotify.style.animationDuration = newNotifySettings.cssAnimationDuration + 'ms';\n }\n // use css animation: end\n\n // close button element: begin\n var closeButtonHTML = '';\n if (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n closeButtonHTML = '';\n }\n // close buttpon element: end\n\n // use icon: begin\n if (newNotifySettings.useIcon) {\n // use font awesome\n if (newNotifySettings.useFontAwesome) {\n ntflxNotify.innerHTML = '' + message + '' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n // use notiflix icon\n else {\n var svgIcon = '';\n if (notifyType === typesNotify.Success) { // success\n svgIcon = '';\n } else if (notifyType === typesNotify.Failure) { // failure\n svgIcon = '';\n } else if (notifyType === typesNotify.Warning) { // warning\n svgIcon = '';\n } else if (notifyType === typesNotify.Info) { // info\n svgIcon = '';\n }\n ntflxNotify.innerHTML = svgIcon + '' + message + '' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n }\n // without icon\n else {\n ntflxNotify.innerHTML = '' + message + '' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n // use icon: end\n // notify content: end\n\n // notify append or prepend: begin\n if (newNotifySettings.position === 'left-bottom' || newNotifySettings.position === 'right-bottom') { // the new one will be first\n var notifyWrap = window.document.getElementById(notifySettings.wrapID);\n notifyWrap.insertBefore(ntflxNotify, notifyWrap.firstChild);\n } else {\n window.document.getElementById(notifySettings.wrapID).appendChild(ntflxNotify);\n }\n // notify append or prepend: end\n\n // remove by timeout or click: begin\n var eachNotifyElement = window.document.getElementById(ntflxNotify.id);\n if (eachNotifyElement) {\n // timeout variables\n var timeoutHide;\n var timeoutRemove;\n\n // hide notify elm and hide overlay: begin\n var hideNotifyElementsAndOverlay = function () {\n eachNotifyElement.classList.add('nx-remove');\n var removeOverlay = window.document.getElementById(notifySettings.overlayID);\n if (removeOverlay && ntflxNotifyWrap.childElementCount <= 0) {\n removeOverlay.classList.add('nx-remove');\n }\n clearTimeout(timeoutHide);\n };\n // hide notify elm and hide overlay: end\n\n // remove notify elm and wrapper: begin\n var removeNotifyElmentsAndWrapper = function () {\n if (eachNotifyElement && eachNotifyElement.parentNode !== null) {\n eachNotifyElement.parentNode.removeChild(eachNotifyElement);\n }\n if (ntflxNotifyWrap.childElementCount <= 0 && ntflxNotifyWrap.parentNode !== null) { // if childs count === 0 remove wrap\n ntflxNotifyWrap.parentNode.removeChild(ntflxNotifyWrap);\n var removeOverlay = window.document.getElementById(notifySettings.overlayID);\n if (removeOverlay && removeOverlay.parentNode !== null) {\n removeOverlay.parentNode.removeChild(removeOverlay);\n }\n }\n clearTimeout(timeoutRemove);\n };\n // remove notify elm and wrapper: end\n\n // if has close button and callbackOrOptions is not a function: begin\n if (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n var closeButtonElm = window.document.getElementById(ntflxNotify.id).querySelector('span.nx-close-button');\n closeButtonElm.addEventListener('click', function () {\n hideNotifyElementsAndOverlay();\n var clickToCloseTimeout = setTimeout(function () {\n removeNotifyElmentsAndWrapper();\n clearTimeout(clickToCloseTimeout);\n }, newNotifySettings.cssAnimationDuration);\n });\n }\n // if has close button and callbackOrOptions is not a function: end\n\n // if callbackOrOptions or click to close: begin\n if (typeof callbackOrOptions === 'function' || newNotifySettings.clickToClose) {\n eachNotifyElement.addEventListener('click', function () {\n if (typeof callbackOrOptions === 'function') {\n callbackOrOptions();\n }\n hideNotifyElementsAndOverlay();\n var callbackTimeout = setTimeout(function () {\n removeNotifyElmentsAndWrapper();\n clearTimeout(callbackTimeout);\n }, newNotifySettings.cssAnimationDuration);\n });\n }\n // if callbackOrOptions or click to close: end\n\n // else auto remove: begin\n if (!newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n // auto remove: begin\n var autoRemove = function () {\n timeoutHide = setTimeout(function () {\n hideNotifyElementsAndOverlay();\n }, newNotifySettings.timeout);\n timeoutRemove = setTimeout(function () {\n removeNotifyElmentsAndWrapper();\n }, newNotifySettings.timeout + newNotifySettings.cssAnimationDuration);\n };\n autoRemove();\n // auto remove: end\n\n // pause auto remove: begin\n if (newNotifySettings.pauseOnHover) {\n eachNotifyElement.addEventListener('mouseenter', function () {\n eachNotifyElement.classList.add('nx-paused');\n clearTimeout(timeoutHide);\n clearTimeout(timeoutRemove);\n });\n eachNotifyElement.addEventListener('mouseleave', function () {\n eachNotifyElement.classList.remove('nx-paused');\n autoRemove();\n });\n }\n // pause auto remove: end\n }\n // else auto remove: end\n }\n // remove by timeout or click: end\n\n // notify - show only the last one: begin\n if (newNotifySettings.showOnlyTheLastOne && notifyCreateCounter > 0) {\n var allNotifyElmNotTheLastOne = window.document.querySelectorAll('[id^=' + newNotifySettings.ID + '-]:not([id=' + newNotifySettings.ID + '-' + notifyCreateCounter + '])');\n for (var i = 0; i < allNotifyElmNotTheLastOne.length; i++) {\n var eachNotifyElmNotLastOne = allNotifyElmNotTheLastOne[i];\n if (eachNotifyElmNotLastOne.parentNode !== null) {\n eachNotifyElmNotLastOne.parentNode.removeChild(eachNotifyElmNotLastOne);\n }\n }\n }\n // notify - show only the last one: end\n\n // extend new settings with the backup settings\n newNotifySettings = commonExtendOptions(true, newNotifySettings, newNotifySettingsBackup);\n\n };\n // NOTIFY: Create: end\n\n var Notiflix = {\n Notify: {\n // Init\n init: function (userNotifyOptions) {\n // extend options\n newNotifySettings = commonExtendOptions(true, notifySettings, userNotifyOptions);\n // internal css if exist\n commonSetInternalCSSCodes(notifyGetInternalCSSCodes, 'NotiflixNotifyInternalCSS');\n },\n // Merge First Init\n merge: function (userNotifyExtendOptions) {\n // if initialized already\n if (newNotifySettings) {\n newNotifySettings = commonExtendOptions(true, newNotifySettings, userNotifyExtendOptions);\n }\n // initialize first\n else {\n commonConsoleError('You have to initialize the Notify module before call Merge function.');\n return false;\n }\n },\n // Success\n success: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Success, message, callbackOrOptions, options);\n },\n // Failure\n failure: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Failure, message, callbackOrOptions, options);\n },\n // Warning\n warning: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Warning, message, callbackOrOptions, options);\n },\n // Info\n info: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Info, message, callbackOrOptions, options);\n },\n },\n };\n\n if (typeof window.Notiflix === 'object') {\n return commonExtendOptions(true, window.Notiflix, { Notify: Notiflix.Notify });\n } else {\n return { Notify: Notiflix.Notify };\n }\n\n});","import { fetchBreeds, fetchCatByBreed } from './cat-api';\nimport { createMarkup } from './createMarkup';\nimport SlimSelect from 'slim-select'\nimport { Notify } from 'notiflix/build/notiflix-notify-aio';\nimport 'slim-select/dist/slimselect.css';\nimport '../src/styles.css'\n\nconst breedSelect = document.querySelector('.breed-select');\nconst catInfo = document.querySelector('.cat-info');\nconst loader = document.querySelector('.loader');\nconst error = document.querySelector('.error');\n\n\nerror.classList.add('is-hidden');\n\nlet storedBreeds = [];\n\nfetchBreeds()\n .then(data => {\n data = data.filter(img => img.image?.url != null)\n data.forEach(breed => {\n storedBreeds.push({ text: breed.name, value: breed.id });\n });\n new SlimSelect({\n select: breedSelect,\n data: storedBreeds\n });\n })\n .catch(err => onError(err));\n\n//console.log(storedBreeds)\n \nbreedSelect.addEventListener('change', onSelectBreed);\n\nfunction onSelectBreed(event) {\n const breedId = event.currentTarget.value;\n catInfo.classList.add('is-hidden');\n loader.classList.remove('is-hidden');\n\n // console.log(breedId);\n fetchCatByBreed(breedId)\n .then(data => {\n //console.log(data)\n loader.classList.add('is-hidden');\n catInfo.classList.remove('is-hidden');\n catInfo.innerHTML = createMarkup(data[0]);\n })\n .catch(err=>onError(err));\n};\n\n\nfunction onError(err) {\n breedSelect.classList.add('is-hidden');\n loader.classList.add('is-hidden');\n\n Notify.failure('Oops! Something went wrong! Try reloading the page!',\n {\n position: 'center-center',\n timeout: 3000,\n width: '300px',\n fontSize: '22px'\n });\n};\n\n \n\n\n"],"names":["async","$6b5f202d1456c0af$export$57b7d3a597416aa2","breedId","URL","resp","fetch","ok","Error","status","json","$fdd6bbb96af63f6e$export$24783e9f3a24abe4","catData","url","breeds","name","description","temperament","wikipedia_url","$f753f16ae3da2a89$exports","generateID","Math","random","toString","substring","hasClassInTree","element","className","hasClass","e","c","classList","contains","dataset","id","parentByClass","document","parentNode","debounce","func","wait","immediate","timeout","args","context","self","later","apply","callNow","clearTimeout","setTimeout","isEqual","a","b","JSON","stringify","kebabCase","str","result","replace","match","toLowerCase","toUpperCase","Optgroup","constructor","optgroup","this","label","selectAll","undefined","selectAllText","closable","options","o","push","Option","option","value","text","html","selected","display","disabled","mandatory","placeholder","class","style","data","Store","type","selectType","setData","validateDataArray","Array","isArray","dataObj","validateOption","partialToFullData","dataFinal","forEach","optOptions","length","setSelectedBy","getSelected","getData","filter","getDataOptions","addOption","concat","selectedType","selectedValues","firstOption","hasSelected","includes","selectedOptions","getSelectedOptions","opt","getSelectedIDs","selectedIDs","op","getOptgroupByID","getOptionByID","getSelectType","getFirstOption","search","searchFilter","trim","includeOptgroup","dataSearch","Render","settings","store","callbacks","classes","main","values","single","max","valueText","valueDelete","valueOut","deselect","deselectPath","arrow","arrowClose","arrowOpen","content","openAbove","openBelow","searchHighlighter","searching","addable","addablePath","list","optgroupLabel","optgroupLabelText","optgroupActions","optgroupSelectAll","optgroupSelectAllBox","optgroupSelectAllCheck","optgroupClosable","optionDelete","highlighted","open","close","error","hide","mainDiv","contentDiv","updateClassStyles","updateAriaAttributes","contentLocation","appendChild","enable","remove","input","disable","add","path","setAttribute","openPosition","moveContent","selectedId","selectedOption","querySelector","ensureElementInView","removeAttribute","cssText","contentPosition","role","_a","createElement","ariaLabel","tabIndex","onkeydown","key","highlight","click","onclick","isOpen","allowDeselect","isMultiple","stopPropagation","shouldDelete","before","after","beforeChange","setSelected","updateDeselectAll","closeOnSelect","afterChange","deselectSvg","createElementNS","arrowPath","alwaysOpen","svg","mainFocus","eventType","focus","preventScroll","placeholderOption","placeholderText","innerHTML","renderValues","renderMultipleValues","renderSingleValue","selectedSingle","singleValue","innerText","outerHTML","currentNodes","childNodes","maxValuesShown","textContent","maxValuesMessage","removeNodes","i","node","getAttribute","n","hasChildNodes","removeChild","d","shouldAdd","String","keepOrder","multipleValue","insertBefore","insertAdjacentElement","deleteDiv","preventDefault","minSelected","deleteSvg","deletePath","searchDiv","listDiv","putContent","moveContentAbove","moveContentBelow","searchReturn","showSearch","readOnly","searchPlaceholder","oninput","target","ctrlKey","plus","plusPath","inputValue","runFinish","oo","newOption","addableValue","Promise","then","searchFocus","getOptions","notPlaceholder","notDisabled","notHidden","query","from","querySelectorAll","dir","prevOption","prevParent","parentElement","selectOption","selectParent","renderError","errorDiv","renderSearching","searchingDiv","searchingText","renderOptions","noResults","searchText","optgroupEl","allSelected","o1","selectAllSvg","selectAllBox","selectAllCheck","addEventListener","currentSelected","newSelected","s","map","o5","optgroupClosableSvg","optgroupClosableArrow","some","o2","optionEl","split","dataClass","searchHighlight","highlightText","showOptionTooltips","hideSelected","currentTarget","elementID","maxSelected","shouldUpdate","destroy","completedString","regex","RegExp","matchStartPosition","index","matchEndPosition","originalTextFoundByRegex","mainHeight","offsetHeight","contentHeight","containerRect","getBoundingClientRect","margin","top","height","window","scrollY","left","scrollX","width","container","cTop","scrollTop","offsetTop","cBottom","clientHeight","eTop","eBottom","mainRect","innerHeight","hasSelectedItems","deselectButton","hideClass","Select","select","listen","observer","valueChange","bind","passive","MutationObserver","observeCall","changeListen","hideUI","showUI","observe","subtree","childList","attributes","disconnect","ev","onValueChange","getSelectedValues","mutations","classChanged","disabledChanged","optgroupOptionChanged","m","attributeName","nodeName","onClassChange","onDisabledChange","onOptionsChange","nodes","getDataFromOptgroup","getDataFromOption","selectall","selectalltext","optgroupOptions","updateSelect","updateOptions","createOptgroup","createOption","dispatchEvent","Event","info","optionClass","Object","keys","removeEventListener","Settings","isFullOpen","intervalMove","body","timeoutDelay","SlimSelect","config","events","indexOf","beforeOpen","afterOpen","beforeClose","afterClose","windowResize","render","windowScroll","documentClick","windowVisibilityChange","hidden","selectEl","tagName","ssid","debounceEvents","hasOwnProperty","multiple","renderCallbacks","selectAriaLabel","selectAriaLabelledBy","nextSibling","slim","err","dataClean","runAfterChange","clearInterval","setInterval","searchResp","catch","message","factory","root","$parcel$global","$db8fed00f4c020c9$exports","newNotifySettings","typesNotify","notifySettings","wrapID","overlayID","position","distance","opacity","borderRadius","rtl","messageMaxLength","backOverlay","backOverlayColor","plainText","showOnlyTheLastOne","clickToClose","pauseOnHover","ID","zindex","fontFamily","fontSize","cssAnimation","cssAnimationDuration","cssAnimationStyle","closeButton","useIcon","useFontAwesome","fontAwesomeIconStyle","fontAwesomeIconSize","success","background","textColor","childClassName","notiflixIconColor","fontAwesomeClassName","fontAwesomeIconColor","failure","warning","commonConsoleError","console","commonCheckHeadOrBody","commonExtendOptions","extended","deep","prototype","call","arguments","merge","obj","prop","notifyGetInternalCSSCodes","notifyCreateCounter","notifyCreate","notifyType","callbackOrOptions","Notiflix","Notify","init","newNotifySettingsBackup","newOptions","htmlPool","theType","toLocaleLowerCase","ntflxNotifyWrap","getElementById","zIndex","right","bottom","maxHeight","flexWrap","flexDirection","justifyContent","alignItems","pointerEvents","ntflxNotifyOverlay","animationDuration","ntflxNotify","color","closeButtonHTML","svgIcon","notifyWrap","firstChild","eachNotifyElement","timeoutHide","timeoutRemove","hideNotifyElementsAndOverlay","removeOverlay","childElementCount","removeNotifyElmentsAndWrapper","clickToCloseTimeout","callbackTimeout","autoRemove","allNotifyElmNotTheLastOne","eachNotifyElmNotLastOne","userNotifyOptions","getInternalCSSCodes","styleElementId","internalCSS","head","commonSetInternalCSSCodes","userNotifyExtendOptions","define","amd","$1f0dc3b9307be026$var$breedSelect","$1f0dc3b9307be026$var$catInfo","$1f0dc3b9307be026$var$loader","$1f0dc3b9307be026$var$storedBreeds","$1f0dc3b9307be026$var$onError","statusText","img","image","breed","$parcel$interopDefault","event"],"version":3,"file":"index.5436a612.js.map"}
\ No newline at end of file
diff --git a/index.cbdf542e.js b/index.91728126.js
similarity index 98%
rename from index.cbdf542e.js
rename to index.91728126.js
index 0e1208b..2c3601c 100644
--- a/index.cbdf542e.js
+++ b/index.91728126.js
@@ -1,2 +1,2 @@
-!function(){function t(t){return t&&t.__esModule?t.default:t}var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i={};function n(t,e,i,n,s,a,o){try{var r=t[a](o),l=r.value}catch(t){return void i(t)}r.done?e(l):Promise.resolve(l).then(n,s)}Object.defineProperty(i,"__esModule",{value:!0}),i.default=function(t){return function(){var e=this,i=arguments;return new Promise((function(s,a){var o=t.apply(e,i);function r(t){n(o,s,a,r,l,"next",t)}function l(t){n(o,s,a,r,l,"throw",t)}r(void 0)}))}};var s={},a=function(t){"use strict";var e,i=Object.prototype,n=i.hasOwnProperty,s="function"==typeof Symbol?Symbol:{},a=s.iterator||"@@iterator",o=s.asyncIterator||"@@asyncIterator",r=s.toStringTag||"@@toStringTag";function l(t,e,i){return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,i){return t[e]=i}}function c(t,e,i,n){var s=e&&e.prototype instanceof v?e:v,a=Object.create(s.prototype),o=new E(n||[]);return a._invoke=function(t,e,i){var n=h;return function(s,a){if(n===f)throw new Error("Generator is already running");if(n===p){if("throw"===s)throw a;return T()}for(i.method=s,i.arg=a;;){var o=i.delegate;if(o){var r=N(o,i);if(r){if(r===m)continue;return r}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(n===h)throw n=p,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);n=f;var l=d(t,e,i);if("normal"===l.type){if(n=i.done?p:u,l.arg===m)continue;return{value:l.arg,done:i.done}}"throw"===l.type&&(n=p,i.method="throw",i.arg=l.arg)}}}(t,i,o),a}function d(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var h="suspendedStart",u="suspendedYield",f="executing",p="completed",m={};function v(){}function y(){}function g(){}var b={};l(b,a,(function(){return this}));var x=Object.getPrototypeOf,w=x&&x(x(A([])));w&&w!==i&&n.call(w,a)&&(b=w);var k=g.prototype=v.prototype=Object.create(b);function L(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function C(t,e){function i(s,a,o,r){var l=d(t[s],t,a);if("throw"!==l.type){var c=l.arg,h=c.value;return h&&"object"==typeof h&&n.call(h,"__await")?e.resolve(h.__await).then((function(t){i("next",t,o,r)}),(function(t){i("throw",t,o,r)})):e.resolve(h).then((function(t){c.value=t,o(c)}),(function(t){return i("throw",t,o,r)}))}r(l.arg)}var s;this._invoke=function(t,n){function a(){return new e((function(e,s){i(t,n,e,s)}))}return s=s?s.then(a,a):a()}}function N(t,i){var n=t.iterator[i.method];if(n===e){if(i.delegate=null,"throw"===i.method){if(t.iterator.return&&(i.method="return",i.arg=e,N(t,i),"throw"===i.method))return m;i.method="throw",i.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var s=d(n,t.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var a=s.arg;return a?a.done?(i[t.resultName]=a.value,i.next=t.nextLoc,"return"!==i.method&&(i.method="next",i.arg=e),i.delegate=null,m):a:(i.method="throw",i.arg=new TypeError("iterator result is not an object"),i.delegate=null,m)}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function O(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function A(t){if(t){var i=t[a];if(i)return i.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var s=-1,o=function i(){for(;++s=0;--a){var o=this.tryEntries[a],r=o.completion;if("root"===o.tryLoc)return s("end");if(o.tryLoc<=this.prev){var l=n.call(o,"catchLoc"),c=n.call(o,"finallyLoc");if(l&&c){if(this.prev=0;--i){var s=this.tryEntries[i];if(s.tryLoc<=this.prev&&n.call(s,"finallyLoc")&&this.prev=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),O(i),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var s=n.arg;O(i)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(t,i,n){return this.delegate={iterator:A(t),resultName:i,nextLoc:n},"next"===this.method&&(this.arg=e),m}},t}(s);try{regeneratorRuntime=a}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=a:Function("r","regeneratorRuntime = r")(a)}var o="https://api.thecatapi.com/v1",r="live_ZXvXnN3nLIiVAMYsFosudfyRXWXuiSEi6HJhbZIzZhQtawavdsyjEdVTjhSqCXMm";function l(){return(l=t(i)(t(s).mark((function e(){var i,n;return t(s).wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i="".concat(o,"/breeds?api_key=").concat(r),t.next=3,fetch(i);case 3:if((n=t.sent).ok){t.next=6;break}throw new Error(n.statusText);case 6:return t.next=8,n.json();case 8:return t.abrupt("return",t.sent);case 9:case"end":return t.stop()}}),e)})))).apply(this,arguments)}function c(t){return d.apply(this,arguments)}function d(){return(d=t(i)(t(s).mark((function e(i){var n,a;return t(s).wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n="".concat(o,"/images/search?api_key=").concat(r,"&breed_ids=").concat(i),t.next=3,fetch(n);case 3:if((a=t.sent).ok){t.next=6;break}throw new Error(a.status);case 6:return t.next=8,a.json();case 8:return t.abrupt("return",t.sent);case 9:case"end":return t.stop()}}),e)})))).apply(this,arguments)}var h={},u={};Object.defineProperty(u,"__esModule",{value:!0}),u.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};var f={};function p(t,e){for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:50,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(){for(var s=arguments.length,a=new Array(s),o=0;o0&&e.push(new o(t))}(t instanceof r||"text"in t)&&e.push(new r(t))})),e}},{key:"setData",value:function(t){this.data=this.partialToFullData(t),"single"===this.selectType&&this.setSelectedBy("value",this.getSelected())}},{key:"getData",value:function(){return this.filter(null,!0)}},{key:"getDataOptions",value:function(){return this.filter(null,!1)}},{key:"addOption",value:function(t){this.setData(this.getData().concat(new r(t)))}},{key:"setSelectedBy",value:function(t,e){var i=null,n=!1,s=!0,a=!1,l=void 0;try{for(var c,d=this.data[Symbol.iterator]();!(s=(c=d.next()).done);s=!0){var h=c.value,u=!0,f=!1,p=void 0;if(h instanceof o)try{for(var m,v=h.options[Symbol.iterator]();!(u=(m=v.next()).done);u=!0){var y=m.value;i||(i=y),y.selected=!n&&e.includes(y[t]),y.selected&&"single"===this.selectType&&(n=!0)}}catch(t){f=!0,p=t}finally{try{u||null==v.return||v.return()}finally{if(f)throw p}}h instanceof r&&(i||(i=h),h.selected=!n&&e.includes(h[t]),h.selected&&"single"===this.selectType&&(n=!0))}}catch(t){a=!0,l=t}finally{try{s||null==d.return||d.return()}finally{if(a)throw l}}"single"===this.selectType&&i&&!n&&(i.selected=!0)}},{key:"getSelected",value:function(){var t=this.getSelectedOptions(),e=[];return t.forEach((function(t){e.push(t.value)})),e}},{key:"getSelectedOptions",value:function(){return this.filter((function(t){return t.selected}),!1)}},{key:"getSelectedIDs",value:function(){var t=this.getSelectedOptions(),e=[];return t.forEach((function(t){e.push(t.id)})),e}},{key:"getOptgroupByID",value:function(t){var e=!0,i=!1,n=void 0;try{for(var s,a=this.data[Symbol.iterator]();!(e=(s=a.next()).done);e=!0){var r=s.value;if(r instanceof o&&r.id===t)return r}}catch(t){i=!0,n=t}finally{try{e||null==a.return||a.return()}finally{if(i)throw n}}return null}},{key:"getOptionByID",value:function(t){var e=this.filter((function(e){return e.id===t}),!1);return e.length?e[0]:null}},{key:"getSelectType",value:function(){return this.selectType}},{key:"getFirstOption",value:function(){var t=null,e=!0,i=!1,n=void 0;try{for(var s,a=this.data[Symbol.iterator]();!(e=(s=a.next()).done);e=!0){var l=s.value;if(l instanceof o?t=l.options[0]:l instanceof r&&(t=l),t)break}}catch(t){i=!0,n=t}finally{try{e||null==a.return||a.return()}finally{if(i)throw n}}return t}},{key:"search",value:function(t,e){return""===(t=t.trim())?this.getData():this.filter((function(i){return e(i,t)}),!0)}},{key:"filter",value:function(t,e){var i=[];return this.data.forEach((function(n){if(n instanceof o){var s=[];if(n.options.forEach((function(n){t&&!t(n)||(e?s.push(new r(n)):i.push(new r(n)))})),s.length>0){var a=new o(n);a.options=s,i.push(a)}}n instanceof r&&(t&&!t(n)||i.push(new r(n)))})),i}}]),e}(),c=function(){function e(i,n,s){t(u)(this,e),this.classes={main:"ss-main",placeholder:"ss-placeholder",values:"ss-values",single:"ss-single",max:"ss-max",value:"ss-value",valueText:"ss-value-text",valueDelete:"ss-value-delete",valueOut:"ss-value-out",deselect:"ss-deselect",deselectPath:"M10,10 L90,90 M10,90 L90,10",arrow:"ss-arrow",arrowClose:"M10,30 L50,70 L90,30",arrowOpen:"M10,70 L50,30 L90,70",content:"ss-content",openAbove:"ss-open-above",openBelow:"ss-open-below",search:"ss-search",searchHighlighter:"ss-search-highlight",searching:"ss-searching",addable:"ss-addable",addablePath:"M50,10 L50,90 M10,50 L90,50",list:"ss-list",optgroup:"ss-optgroup",optgroupLabel:"ss-optgroup-label",optgroupLabelText:"ss-optgroup-label-text",optgroupActions:"ss-optgroup-actions",optgroupSelectAll:"ss-selectall",optgroupSelectAllBox:"M60,10 L10,10 L10,90 L90,90 L90,50",optgroupSelectAllCheck:"M30,45 L50,70 L90,10",optgroupClosable:"ss-closable",option:"ss-option",optionDelete:"M10,10 L90,90 M10,90 L90,10",highlighted:"ss-highlighted",open:"ss-open",close:"ss-close",selected:"ss-selected",error:"ss-error",disabled:"ss-disabled",hide:"ss-hide"},this.store=n,this.settings=i,this.callbacks=s,this.main=this.mainDiv(),this.content=this.contentDiv(),this.updateClassStyles(),this.updateAriaAttributes(),this.settings.contentLocation.appendChild(this.content.main)}return t(f)(e,[{key:"enable",value:function(){this.main.main.classList.remove(this.classes.disabled),this.content.search.input.disabled=!1}},{key:"disable",value:function(){this.main.main.classList.add(this.classes.disabled),this.content.search.input.disabled=!0}},{key:"open",value:function(){this.main.arrow.path.setAttribute("d",this.classes.arrowOpen),this.main.main.classList.add("up"===this.settings.openPosition?this.classes.openAbove:this.classes.openBelow),this.main.main.setAttribute("aria-expanded","true"),this.moveContent();var t=this.store.getSelectedOptions();if(t.length){var e=t[t.length-1].id,i=this.content.list.querySelector('[data-id="'+e+'"]');i&&this.ensureElementInView(this.content.list,i)}}},{key:"close",value:function(){this.main.main.classList.remove(this.classes.openAbove),this.main.main.classList.remove(this.classes.openBelow),this.main.main.setAttribute("aria-expanded","false"),this.content.main.classList.remove(this.classes.openAbove),this.content.main.classList.remove(this.classes.openBelow),this.main.arrow.path.setAttribute("d",this.classes.arrowClose)}},{key:"updateClassStyles",value:function(){if(this.main.main.className="",this.main.main.removeAttribute("style"),this.content.main.className="",this.content.main.removeAttribute("style"),this.main.main.classList.add(this.classes.main),this.content.main.classList.add(this.classes.content),""!==this.settings.style&&(this.main.main.style.cssText=this.settings.style,this.content.main.style.cssText=this.settings.style),this.settings.class.length){var t=!0,e=!1,i=void 0;try{for(var n,s=this.settings.class[Symbol.iterator]();!(t=(n=s.next()).done);t=!0){var a=n.value;""!==a.trim()&&(this.main.main.classList.add(a.trim()),this.content.main.classList.add(a.trim()))}}catch(t){e=!0,i=t}finally{try{t||null==s.return||s.return()}finally{if(e)throw i}}}"relative"===this.settings.contentPosition&&this.content.main.classList.add("ss-"+this.settings.contentPosition)}},{key:"updateAriaAttributes",value:function(){this.main.main.role="combobox",this.main.main.setAttribute("aria-haspopup","listbox"),this.main.main.setAttribute("aria-controls",this.content.main.id),this.main.main.setAttribute("aria-expanded","false"),this.content.main.setAttribute("role","listbox")}},{key:"mainDiv",value:function(){var t,e=this,i=document.createElement("div");i.dataset.id=this.settings.id,i.setAttribute("aria-label",this.settings.ariaLabel),i.tabIndex=0,i.onkeydown=function(t){switch(t.key){case"ArrowUp":case"ArrowDown":return e.callbacks.open(),"ArrowDown"===t.key?e.highlight("down"):e.highlight("up"),!1;case"Tab":return e.callbacks.close(),!0;case"Enter":case" ":e.callbacks.open();var i=e.content.list.querySelector("."+e.classes.highlighted);return i&&i.click(),!1;case"Escape":return e.callbacks.close(),!1}return!1},i.onclick=function(t){e.settings.disabled||(e.settings.isOpen?e.callbacks.close():e.callbacks.open())};var n=document.createElement("div");n.classList.add(this.classes.values),i.appendChild(n);var s=document.createElement("div");s.classList.add(this.classes.deselect);var a=null===(t=this.store)||void 0===t?void 0:t.getSelectedOptions();!this.settings.allowDeselect||this.settings.isMultiple&&a&&a.length<=0?s.classList.add(this.classes.hide):s.classList.remove(this.classes.hide),s.onclick=function(t){if(t.stopPropagation(),!e.settings.disabled){var i=!0,n=e.store.getSelectedOptions(),s=[];if(e.callbacks.beforeChange&&(i=!0===e.callbacks.beforeChange(s,n)),i){if(e.settings.isMultiple)e.callbacks.setSelected([],!1),e.updateDeselectAll();else{var a=e.store.getFirstOption(),o=a?a.value:"";e.callbacks.setSelected(o,!1)}e.settings.closeOnSelect&&e.callbacks.close(),e.callbacks.afterChange&&e.callbacks.afterChange(e.store.getSelectedOptions())}}};var o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttribute("viewBox","0 0 100 100");var r=document.createElementNS("http://www.w3.org/2000/svg","path");r.setAttribute("d",this.classes.deselectPath),o.appendChild(r),s.appendChild(o),i.appendChild(s);var l=document.createElementNS("http://www.w3.org/2000/svg","svg");l.classList.add(this.classes.arrow),l.setAttribute("viewBox","0 0 100 100");var c=document.createElementNS("http://www.w3.org/2000/svg","path");return c.setAttribute("d",this.classes.arrowClose),this.settings.alwaysOpen&&l.classList.add(this.classes.hide),l.appendChild(c),i.appendChild(l),{main:i,values:n,deselect:{main:s,svg:o,path:r},arrow:{main:l,path:c}}}},{key:"mainFocus",value:function(t){"click"!==t&&this.main.main.focus({preventScroll:!0})}},{key:"placeholder",value:function(){var t=this.store.filter((function(t){return t.placeholder}),!1),e=this.settings.placeholderText;t.length&&(""!==t[0].html?e=t[0].html:""!==t[0].text&&(e=t[0].text));var i=document.createElement("div");return i.classList.add(this.classes.placeholder),i.innerHTML=e,i}},{key:"renderValues",value:function(){this.settings.isMultiple?(this.renderMultipleValues(),this.updateDeselectAll()):this.renderSingleValue()}},{key:"renderSingleValue",value:function(){var t=this.store.filter((function(t){return t.selected&&!t.placeholder}),!1),e=t.length>0?t[0]:null;if(e){var i=document.createElement("div");i.classList.add(this.classes.single),e.html?i.innerHTML=e.html:i.innerText=e.text,this.main.values.innerHTML=i.outerHTML}else this.main.values.innerHTML=this.placeholder().outerHTML;this.settings.allowDeselect&&t.length?this.main.deselect.main.classList.remove(this.classes.hide):this.main.deselect.main.classList.add(this.classes.hide)}},{key:"renderMultipleValues",value:function(){var t=function(t){var n=e[t],s=n.getAttribute("data-id");s&&(i.filter((function(t){return t.id===s}),!1).length||o.push(n))},e=this.main.values.childNodes,i=this.store.filter((function(t){return t.selected&&t.display}),!1);if(0!==i.length){var n=this.main.values.querySelector("."+this.classes.placeholder);if(n&&n.remove(),i.length>this.settings.maxValuesShown){var s=document.createElement("div");return s.classList.add(this.classes.max),s.textContent=this.settings.maxValuesMessage.replace("{number}",i.length.toString()),void(this.main.values.innerHTML=s.outerHTML)}var a=this.main.values.querySelector("."+this.classes.max);a&&a.remove();for(var o=[],r=0;r0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n="."+this.classes.option;return t&&(n+=":not(."+this.classes.placeholder+")"),e&&(n+=":not(."+this.classes.disabled+")"),i&&(n+=":not(."+this.classes.hide+")"),Array.from(this.content.list.querySelectorAll(n))}},{key:"highlight",value:function(t){var e=this.getOptions(!0,!0,!0);if(0!==e.length)if(1!==e.length||e[0].classList.contains(this.classes.highlighted)){var i=!1,n=!0,s=!1,a=void 0;try{for(var o,r=e[Symbol.iterator]();!(n=(o=r.next()).done);n=!0)o.value.classList.contains(this.classes.highlighted)&&(i=!0)}catch(t){s=!0,a=t}finally{try{n||null==r.return||r.return()}finally{if(s)throw a}}if(!i){var l=!0,c=!1,d=void 0;try{for(var h,u=e[Symbol.iterator]();!(l=(h=u.next()).done);l=!0){var f=h.value;if(f.classList.contains(this.classes.selected)){f.classList.add(this.classes.highlighted);break}}}catch(t){c=!0,d=t}finally{try{l||null==u.return||u.return()}finally{if(c)throw d}}}for(var p=0;p=0?p-1:e.length-1];g.classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,g);var b=g.parentElement;if(b&&b.classList.contains(this.classes.close)){var x=b.querySelector("."+this.classes.optgroupLabel);x&&x.click()}return}e["down"===t?0:e.length-1].classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,e["down"===t?0:e.length-1])}else e[0].classList.add(this.classes.highlighted)}},{key:"listDiv",value:function(){var t=document.createElement("div");return t.classList.add(this.classes.list),t}},{key:"renderError",value:function(t){this.content.list.innerHTML="";var e=document.createElement("div");e.classList.add(this.classes.error),e.textContent=t,this.content.list.appendChild(e)}},{key:"renderSearching",value:function(){this.content.list.innerHTML="";var t=document.createElement("div");t.classList.add(this.classes.searching),t.textContent=this.settings.searchingText,this.content.list.appendChild(t)}},{key:"renderOptions",value:function(t){if(this.content.list.innerHTML="",0===t.length){var e=document.createElement("div");return e.classList.add(this.classes.search),e.innerHTML=this.settings.searchText,void this.content.list.appendChild(e)}var i=!0,n=!1,s=void 0;try{for(var a,l=this,c=function(t,e){var i=e.value;if(i instanceof o){var n=document.createElement("div");n.classList.add(l.classes.optgroup);var s=document.createElement("div");s.classList.add(l.classes.optgroupLabel),n.appendChild(s);var a=document.createElement("div");a.classList.add(l.classes.optgroupLabelText),a.textContent=i.label,s.appendChild(a);var c=document.createElement("div");if(c.classList.add(l.classes.optgroupActions),s.appendChild(c),l.settings.isMultiple&&i.selectAll){var d=l,h=document.createElement("div");h.classList.add(l.classes.optgroupSelectAll);var u=!0,f=!0,p=!1,m=void 0;try{for(var v,y=i.options[Symbol.iterator]();!(f=(v=y.next()).done);f=!0)if(!v.value.selected){u=!1;break}}catch(t){p=!0,m=t}finally{try{f||null==y.return||y.return()}finally{if(p)throw m}}u&&h.classList.add(l.classes.selected);var g=document.createElement("span");g.textContent=i.selectAllText,h.appendChild(g);var b=document.createElementNS("http://www.w3.org/2000/svg","svg");b.setAttribute("viewBox","0 0 100 100"),h.appendChild(b);var x=document.createElementNS("http://www.w3.org/2000/svg","path");x.setAttribute("d",l.classes.optgroupSelectAllBox),b.appendChild(x);var w=document.createElementNS("http://www.w3.org/2000/svg","path");w.setAttribute("d",l.classes.optgroupSelectAllCheck),b.appendChild(w),h.addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation();var e=d.store.getSelected();if(u){var n=e.filter((function(t){var e=!0,n=!1,s=void 0;try{for(var a,o=i.options[Symbol.iterator]();!(e=(a=o.next()).done);e=!0)if(t===a.value.value)return!1}catch(t){n=!0,s=t}finally{try{e||null==o.return||o.return()}finally{if(n)throw s}}return!0}));d.callbacks.setSelected(n,!0)}else{var s=e.concat(i.options.map((function(t){return t.value}))),a=!0,o=!1,r=void 0;try{for(var l,c=i.options[Symbol.iterator]();!(a=(l=c.next()).done);a=!0){var h=l.value;d.store.getOptionByID(h.id)||d.callbacks.addOption(h)}}catch(t){o=!0,r=t}finally{try{a||null==c.return||c.return()}finally{if(o)throw r}}d.callbacks.setSelected(s,!0)}})),c.appendChild(h)}if("off"!==i.closable){var k=l,L=document.createElement("div");L.classList.add(l.classes.optgroupClosable);var C=document.createElementNS("http://www.w3.org/2000/svg","svg");C.setAttribute("viewBox","0 0 100 100"),C.classList.add(l.classes.arrow),L.appendChild(C);var N=document.createElementNS("http://www.w3.org/2000/svg","path");C.appendChild(N),i.options.some((function(t){return t.selected}))||""!==l.content.search.input.value.trim()?(L.classList.add(l.classes.open),N.setAttribute("d",l.classes.arrowOpen)):"open"===i.closable?(n.classList.add(l.classes.open),N.setAttribute("d",l.classes.arrowOpen)):"close"===i.closable&&(n.classList.add(l.classes.close),N.setAttribute("d",l.classes.arrowClose)),s.addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation(),n.classList.contains(k.classes.close)?(n.classList.remove(k.classes.close),n.classList.add(k.classes.open),N.setAttribute("d",k.classes.arrowOpen)):(n.classList.remove(k.classes.open),n.classList.add(k.classes.close),N.setAttribute("d",k.classes.arrowClose))})),c.appendChild(L)}n.appendChild(s);var S=!0,O=!1,E=void 0;try{for(var A,T=i.options[Symbol.iterator]();!(S=(A=T.next()).done);S=!0){var D=A.value;n.appendChild(l.option(D))}}catch(t){O=!0,E=t}finally{try{S||null==T.return||T.return()}finally{if(O)throw E}}l.content.list.appendChild(n)}i instanceof r&&l.content.list.appendChild(l.option(i))},d=t[Symbol.iterator]();!(i=(a=d.next()).done);i=!0)c(d,a)}catch(t){n=!0,s=t}finally{try{i||null==d.return||d.return()}finally{if(n)throw s}}}},{key:"option",value:function(t){var e=this;if(t.placeholder){var i=document.createElement("div");return i.classList.add(this.classes.option),i.classList.add(this.classes.hide),i}var n=document.createElement("div");return n.dataset.id=t.id,n.id=t.id,n.classList.add(this.classes.option),n.setAttribute("role","option"),t.class&&t.class.split(" ").forEach((function(t){n.classList.add(t)})),t.style&&(n.style.cssText=t.style),this.settings.searchHighlight&&""!==this.content.search.input.value.trim()?n.innerHTML=this.highlightText(""!==t.html?t.html:t.text,this.content.search.input.value,this.classes.searchHighlighter):""!==t.html?n.innerHTML=t.html:n.textContent=t.text,this.settings.showOptionTooltips&&n.textContent&&n.setAttribute("title",n.textContent),t.display||n.classList.add(this.classes.hide),t.disabled&&n.classList.add(this.classes.disabled),t.selected&&this.settings.hideSelected&&n.classList.add(this.classes.hide),t.selected?(n.classList.add(this.classes.selected),n.setAttribute("aria-selected","true"),this.main.main.setAttribute("aria-activedescendant",n.id)):(n.classList.remove(this.classes.selected),n.setAttribute("aria-selected","false")),n.addEventListener("click",(function(i){i.preventDefault(),i.stopPropagation();var n=e.store.getSelected(),s=i.currentTarget,a=String(s.dataset.id);if(!(t.disabled||t.selected&&!e.settings.allowDeselect||e.settings.isMultiple&&e.settings.maxSelected<=n.length&&!t.selected||e.settings.isMultiple&&e.settings.minSelected>=n.length&&t.selected)){var o=!1,r=e.store.getSelectedOptions(),l=[];e.settings.isMultiple&&(l=t.selected?r.filter((function(t){return t.id!==a})):r.concat(t)),e.settings.isMultiple||(l=t.selected?[]:[t]),e.callbacks.beforeChange||(o=!0),e.callbacks.beforeChange&&(o=!1!==e.callbacks.beforeChange(l,r)),o&&(e.store.getOptionByID(a)||e.callbacks.addOption(t),e.callbacks.setSelected(l.map((function(t){return t.value})),!1),e.settings.closeOnSelect&&e.callbacks.close(),e.callbacks.afterChange&&e.callbacks.afterChange(l))}})),n}},{key:"destroy",value:function(){this.main.main.remove(),this.content.main.remove()}},{key:"highlightText",value:function(t,e,i){var n=t,s=new RegExp("("+e.trim()+")(?![^<]*>[^<>]*)","i");if(!t.match(s))return t;var a=t.match(s).index,o=a+t.match(s)[0].toString().length,r=t.substring(a,o);return n=n.replace(s,'').concat(r,""))}},{key:"moveContentAbove",value:function(){var t=this.main.main.offsetHeight,e=this.content.main.offsetHeight;this.main.main.classList.remove(this.classes.openBelow),this.main.main.classList.add(this.classes.openAbove),this.content.main.classList.remove(this.classes.openBelow),this.content.main.classList.add(this.classes.openAbove);var i=this.main.main.getBoundingClientRect();this.content.main.style.margin="-"+(t+e-1)+"px 0px 0px 0px",this.content.main.style.top=i.top+i.height+window.scrollY+"px",this.content.main.style.left=i.left+window.scrollX+"px",this.content.main.style.width=i.width+"px"}},{key:"moveContentBelow",value:function(){this.main.main.classList.remove(this.classes.openAbove),this.main.main.classList.add(this.classes.openBelow),this.content.main.classList.remove(this.classes.openAbove),this.content.main.classList.add(this.classes.openBelow);var t=this.main.main.getBoundingClientRect();this.content.main.style.margin="-1px 0px 0px 0px","relative"!==this.settings.contentPosition&&(this.content.main.style.top=t.top+t.height+window.scrollY+"px",this.content.main.style.left=t.left+window.scrollX+"px",this.content.main.style.width=t.width+"px")}},{key:"ensureElementInView",value:function(t,e){var i=t.scrollTop+t.offsetTop,n=i+t.clientHeight,s=e.offsetTop,a=s+e.clientHeight;sn&&(t.scrollTop+=a-n)}},{key:"putContent",value:function(){var t=this.main.main.offsetHeight,e=this.main.main.getBoundingClientRect(),i=this.content.main.offsetHeight;return window.innerHeight-(e.top+t)<=i&&e.top>i?"up":"down"}},{key:"updateDeselectAll",value:function(){if(this.store&&this.settings){var t=this.store.getSelectedOptions(),e=t&&t.length>0,i=this.settings.isMultiple,n=this.settings.allowDeselect,s=this.main.deselect.main,a=this.classes.hide;!n||i&&!e?s.classList.add(a):s.classList.remove(a)}}}]),e}(),d=function(){function e(i){t(u)(this,e),this.listen=!1,this.observer=null,this.select=i,this.valueChange=this.valueChange.bind(this),this.select.addEventListener("change",this.valueChange,{passive:!0}),this.observer=new MutationObserver(this.observeCall.bind(this)),this.changeListen(!0)}return t(f)(e,[{key:"enable",value:function(){this.select.disabled=!1}},{key:"disable",value:function(){this.select.disabled=!0}},{key:"hideUI",value:function(){this.select.tabIndex=-1,this.select.style.display="none",this.select.setAttribute("aria-hidden","true")}},{key:"showUI",value:function(){this.select.removeAttribute("tabindex"),this.select.style.display="",this.select.removeAttribute("aria-hidden")}},{key:"changeListen",value:function(t){this.listen=t,t&&this.observer&&this.observer.observe(this.select,{subtree:!0,childList:!0,attributes:!0}),t||this.observer&&this.observer.disconnect()}},{key:"valueChange",value:function(t){return this.listen&&this.onValueChange&&this.onValueChange(this.getSelectedValues()),!0}},{key:"observeCall",value:function(t){if(this.listen){var e=!1,i=!1,n=!1,s=!0,a=!1,o=void 0;try{for(var r,l=t[Symbol.iterator]();!(s=(r=l.next()).done);s=!0){var c=r.value;c.target===this.select&&("disabled"===c.attributeName&&(i=!0),"class"===c.attributeName&&(e=!0)),"OPTGROUP"!==c.target.nodeName&&"OPTION"!==c.target.nodeName||(n=!0)}}catch(t){a=!0,o=t}finally{try{s||null==l.return||l.return()}finally{if(a)throw o}}e&&this.onClassChange&&this.onClassChange(this.select.className.split(" ")),i&&this.onDisabledChange&&(this.changeListen(!1),this.onDisabledChange(this.select.disabled),this.changeListen(!0)),n&&this.onOptionsChange&&(this.changeListen(!1),this.onOptionsChange(this.getData()),this.changeListen(!0))}}},{key:"getData",value:function(){var t=[],e=this.select.childNodes,i=!0,n=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(i=(a=o.next()).done);i=!0){var r=a.value;"OPTGROUP"===r.nodeName&&t.push(this.getDataFromOptgroup(r)),"OPTION"===r.nodeName&&t.push(this.getDataFromOption(r))}}catch(t){n=!0,s=t}finally{try{i||null==o.return||o.return()}finally{if(n)throw s}}return t}},{key:"getDataFromOptgroup",value:function(t){var e={id:t.id,label:t.label,selectAll:!!t.dataset&&"true"===t.dataset.selectall,selectAllText:t.dataset?t.dataset.selectalltext:"Select all",closable:t.dataset?t.dataset.closable:"off",options:[]},i=t.childNodes,n=!0,s=!1,a=void 0;try{for(var o,r=i[Symbol.iterator]();!(n=(o=r.next()).done);n=!0){var l=o.value;"OPTION"===l.nodeName&&e.options.push(this.getDataFromOption(l))}}catch(t){s=!0,a=t}finally{try{n||null==r.return||r.return()}finally{if(s)throw a}}return e}},{key:"getDataFromOption",value:function(t){return{id:t.id,value:t.value,text:t.text,html:t.dataset&&t.dataset.html?t.dataset.html:"",selected:t.selected,display:"none"!==t.style.display,disabled:t.disabled,mandatory:!!t.dataset&&"true"===t.dataset.mandatory,placeholder:"true"===t.dataset.placeholder,class:t.className,style:t.style.cssText,data:t.dataset}}},{key:"getSelectedValues",value:function(){var t=[],e=this.select.childNodes,i=!0,n=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(i=(a=o.next()).done);i=!0){var r=a.value;if("OPTGROUP"===r.nodeName){var l=r.childNodes,c=!0,d=!1,h=void 0;try{for(var u,f=l[Symbol.iterator]();!(c=(u=f.next()).done);c=!0){var p=u.value;if("OPTION"===p.nodeName){var m=p;m.selected&&t.push(m.value)}}}catch(t){d=!0,h=t}finally{try{c||null==f.return||f.return()}finally{if(d)throw h}}}if("OPTION"===r.nodeName){var v=r;v.selected&&t.push(v.value)}}}catch(t){n=!0,s=t}finally{try{i||null==o.return||o.return()}finally{if(n)throw s}}return t}},{key:"setSelected",value:function(t){this.changeListen(!1);var e=this.select.childNodes,i=!0,n=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(i=(a=o.next()).done);i=!0){var r=a.value;if("OPTGROUP"===r.nodeName){var l=r.childNodes,c=!0,d=!1,h=void 0;try{for(var u,f=l[Symbol.iterator]();!(c=(u=f.next()).done);c=!0){var p=u.value;if("OPTION"===p.nodeName){var m=p;m.selected=t.includes(m.value)}}}catch(t){d=!0,h=t}finally{try{c||null==f.return||f.return()}finally{if(d)throw h}}}if("OPTION"===r.nodeName){var v=r;v.selected=t.includes(v.value)}}}catch(t){n=!0,s=t}finally{try{i||null==o.return||o.return()}finally{if(n)throw s}}this.changeListen(!0)}},{key:"updateSelect",value:function(t,e,i){if(this.changeListen(!1),t&&(this.select.dataset.id=t),e&&(this.select.style.cssText=e),i){var n=this;this.select.className="",i.forEach((function(t){""!==t.trim()&&n.select.classList.add(t.trim())}))}this.changeListen(!0)}},{key:"updateOptions",value:function(t){this.changeListen(!1),this.select.innerHTML="";var e=!0,i=!1,n=void 0;try{for(var s,a=t[Symbol.iterator]();!(e=(s=a.next()).done);e=!0){var l=s.value;l instanceof o&&this.select.appendChild(this.createOptgroup(l)),l instanceof r&&this.select.appendChild(this.createOption(l))}}catch(t){i=!0,n=t}finally{try{e||null==a.return||a.return()}finally{if(i)throw n}}this.select.dispatchEvent(new Event("change")),this.changeListen(!0)}},{key:"createOptgroup",value:function(t){var e=document.createElement("optgroup");e.id=t.id,e.label=t.label,t.selectAll&&(e.dataset.selectAll="true"),"off"!==t.closable&&(e.dataset.closable=t.closable);var i=!0,n=!1,s=void 0;if(t.options)try{for(var a,o=t.options[Symbol.iterator]();!(i=(a=o.next()).done);i=!0){var r=a.value;e.appendChild(this.createOption(r))}}catch(t){n=!0,s=t}finally{try{i||null==o.return||o.return()}finally{if(n)throw s}}return e}},{key:"createOption",value:function(t){var e=document.createElement("option");return e.id=t.id,e.value=t.value,e.innerHTML=t.text,""!==t.html&&e.setAttribute("data-html",t.html),t.selected&&(e.selected=t.selected),t.disabled&&(e.disabled=!0),!1===t.display&&(e.style.display="none"),t.placeholder&&e.setAttribute("data-placeholder","true"),t.mandatory&&e.setAttribute("data-mandatory","true"),t.class&&t.class.split(" ").forEach((function(t){e.classList.add(t)})),t.data&&"object"==typeof t.data&&Object.keys(t.data).forEach((function(i){e.setAttribute("data-"+a(i),t.data[i])})),e}},{key:"destroy",value:function(){this.changeListen(!1),this.select.removeEventListener("change",this.valueChange),this.observer&&(this.observer.disconnect(),this.observer=null),delete this.select.dataset.id,this.showUI()}}]),e}(),h=function i(n){t(u)(this,i),this.id="",this.style="",this.class=[],this.isMultiple=!1,this.isOpen=!1,this.isFullOpen=!1,this.intervalMove=null,n||(n={}),this.id="ss-"+e(),this.style=n.style||"",this.class=n.class||[],this.disabled=void 0!==n.disabled&&n.disabled,this.alwaysOpen=void 0!==n.alwaysOpen&&n.alwaysOpen,this.showSearch=void 0===n.showSearch||n.showSearch,this.ariaLabel=n.ariaLabel||"Combobox",this.searchPlaceholder=n.searchPlaceholder||"Search",this.searchText=n.searchText||"No Results",this.searchingText=n.searchingText||"Searching...",this.searchHighlight=void 0!==n.searchHighlight&&n.searchHighlight,this.closeOnSelect=void 0===n.closeOnSelect||n.closeOnSelect,this.contentLocation=n.contentLocation||document.body,this.contentPosition=n.contentPosition||"absolute",this.openPosition=n.openPosition||"auto",this.placeholderText=void 0!==n.placeholderText?n.placeholderText:"Select Value",this.allowDeselect=void 0!==n.allowDeselect&&n.allowDeselect,this.hideSelected=void 0!==n.hideSelected&&n.hideSelected,this.keepOrder=void 0!==n.keepOrder&&n.keepOrder,this.showOptionTooltips=void 0!==n.showOptionTooltips&&n.showOptionTooltips,this.minSelected=n.minSelected||0,this.maxSelected=n.maxSelected||1e3,this.timeoutDelay=n.timeoutDelay||200,this.maxValuesShown=n.maxValuesShown||20,this.maxValuesMessage=n.maxValuesMessage||"{number} selected"},p=function(){function e(s){var a,o=this;if(t(u)(this,e),this.events={search:void 0,searchFilter:function(t,e){return-1!==t.text.toLowerCase().indexOf(e.toLowerCase())},addable:void 0,beforeChange:void 0,afterChange:void 0,beforeOpen:void 0,afterOpen:void 0,beforeClose:void 0,afterClose:void 0},this.windowResize=n((function(){(o.settings.isOpen||o.settings.isFullOpen)&&o.render.moveContent()})),this.windowScroll=n((function(){(o.settings.isOpen||o.settings.isFullOpen)&&o.render.moveContent()})),this.documentClick=function(t){o.settings.isOpen&&t.target&&!i(t.target,o.settings.id)&&o.close(t.type)},this.windowVisibilityChange=function(){document.hidden&&o.close()},this.selectEl="string"==typeof s.select?document.querySelector(s.select):s.select,this.selectEl)if("SELECT"===this.selectEl.tagName){this.selectEl.dataset.ssid&&this.destroy(),this.settings=new h(s.settings);var r=["afterChange","beforeOpen","afterOpen","beforeClose","afterClose"];for(var f in s.events)s.events.hasOwnProperty(f)&&(-1!==r.indexOf(f)?this.events[f]=n(s.events[f],100):this.events[f]=s.events[f]);this.settings.disabled=(null===(a=s.settings)||void 0===a?void 0:a.disabled)?s.settings.disabled:this.selectEl.disabled,this.settings.isMultiple=this.selectEl.multiple,this.settings.style=this.selectEl.style.cssText,this.settings.class=this.selectEl.className.split(" "),this.select=new d(this.selectEl),this.select.updateSelect(this.settings.id,this.settings.style,this.settings.class),this.select.hideUI(),this.select.onValueChange=function(t){o.setSelected(t)},this.select.onClassChange=function(t){o.settings.class=t,o.render.updateClassStyles()},this.select.onDisabledChange=function(t){t?o.disable():o.enable()},this.select.onOptionsChange=function(t){o.setData(t)},this.store=new l(this.settings.isMultiple?"multiple":"single",s.data?s.data:this.select.getData()),s.data&&this.select.updateOptions(this.store.getData());var p={open:this.open.bind(this),close:this.close.bind(this),addable:this.events.addable?this.events.addable:void 0,setSelected:this.setSelected.bind(this),addOption:this.addOption.bind(this),search:this.search.bind(this),beforeChange:this.events.beforeChange,afterChange:this.events.afterChange};this.render=new c(this.settings,this.store,p),this.render.renderValues(),this.render.renderOptions(this.store.getData());var m=this.selectEl.getAttribute("aria-label"),v=this.selectEl.getAttribute("aria-labelledby");m?this.render.main.main.setAttribute("aria-label",m):v&&this.render.main.main.setAttribute("aria-labelledby",v),this.selectEl.parentNode&&this.selectEl.parentNode.insertBefore(this.render.main.main,this.selectEl.nextSibling),window.addEventListener("resize",this.windowResize,!1),"auto"===this.settings.openPosition&&window.addEventListener("scroll",this.windowScroll,!1),document.addEventListener("visibilitychange",this.windowVisibilityChange),this.settings.disabled&&this.disable(),this.settings.alwaysOpen&&this.open(),this.selectEl.slim=this}else s.events&&s.events.error&&s.events.error(new Error("Element isnt of type select"));else s.events&&s.events.error&&s.events.error(new Error("Could not find select element"))}return t(f)(e,[{key:"enable",value:function(){this.settings.disabled=!1,this.select.enable(),this.render.enable()}},{key:"disable",value:function(){this.settings.disabled=!0,this.select.disable(),this.render.disable()}},{key:"getData",value:function(){return this.store.getData()}},{key:"setData",value:function(t){var e=this.store.getSelected(),i=this.store.validateDataArray(t);if(i)this.events.error&&this.events.error(i);else{this.store.setData(t);var n=this.store.getData();this.select.updateOptions(n),this.render.renderValues(),this.render.renderOptions(n),this.events.afterChange&&!s(e,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}}},{key:"getSelected",value:function(){return this.store.getSelected()}},{key:"setSelected",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.store.getSelected();this.store.setSelectedBy("value",Array.isArray(t)?t:[t]);var n=this.store.getData();this.select.updateOptions(n),this.render.renderValues(),""!==this.render.content.search.input.value?this.search(this.render.content.search.input.value):this.render.renderOptions(n),e&&this.events.afterChange&&!s(i,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}},{key:"addOption",value:function(t){var e=this.store.getSelected();this.store.getDataOptions().some((function(e){var i;return e.value===(null!==(i=t.value)&&void 0!==i?i:t.text)}))||this.store.addOption(t);var i=this.store.getData();this.select.updateOptions(i),this.render.renderValues(),this.render.renderOptions(i),this.events.afterChange&&!s(e,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}},{key:"open",value:function(){var t=this;this.settings.disabled||this.settings.isOpen||(this.events.beforeOpen&&this.events.beforeOpen(),this.render.open(),this.settings.showSearch&&this.render.searchFocus(),this.settings.isOpen=!0,setTimeout((function(){t.events.afterOpen&&t.events.afterOpen(),t.settings.isOpen&&(t.settings.isFullOpen=!0),document.addEventListener("click",t.documentClick)}),this.settings.timeoutDelay),"absolute"===this.settings.contentPosition&&(this.settings.intervalMove&&clearInterval(this.settings.intervalMove),this.settings.intervalMove=setInterval(this.render.moveContent.bind(this.render),500)))}},{key:"close",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this;this.settings.isOpen&&!this.settings.alwaysOpen&&(this.events.beforeClose&&this.events.beforeClose(),this.render.close(),""!==this.render.content.search.input.value&&this.search(""),this.render.mainFocus(t),this.settings.isOpen=!1,this.settings.isFullOpen=!1,setTimeout((function(){e.events.afterClose&&e.events.afterClose(),document.removeEventListener("click",e.documentClick)}),this.settings.timeoutDelay),this.settings.intervalMove&&clearInterval(this.settings.intervalMove))}},{key:"search",value:function(t){if(this.render.content.search.input.value!==t&&(this.render.content.search.input.value=t),this.events.search){this.render.renderSearching();var e=this.events.search(t,this.store.getSelectedOptions());if(e instanceof Promise){var i=this;e.then((function(t){i.render.renderOptions(i.store.partialToFullData(t))})).catch((function(t){i.render.renderError("string"==typeof t?t:t.message)}))}else Array.isArray(e)?this.render.renderOptions(this.store.partialToFullData(e)):this.render.renderError("Search event must return a promise or an array of data")}else this.render.renderOptions(""===t?this.store.getData():this.store.search(t,this.events.searchFilter))}},{key:"destroy",value:function(){document.removeEventListener("click",this.documentClick),window.removeEventListener("resize",this.windowResize,!1),"auto"===this.settings.openPosition&&window.removeEventListener("scroll",this.windowScroll,!1),document.removeEventListener("visibilitychange",this.windowVisibilityChange),this.store.setData([]),this.render.destroy(),this.select.destroy()}}]),e}();return p}();var m,v,y={};m=void 0!==e?e:"undefined"!=typeof window?window:y,v=function(t){"use strict";if(void 0===t&&void 0===t.document)return!1;var e,i="Success",n="Failure",s="Warning",a="Info",o={wrapID:"NotiflixNotifyWrap",overlayID:"NotiflixNotifyOverlay",width:"280px",position:"right-top",distance:"10px",opacity:1,borderRadius:"5px",rtl:!1,timeout:3e3,messageMaxLength:110,backOverlay:!1,backOverlayColor:"rgba(0,0,0,0.5)",plainText:!0,showOnlyTheLastOne:!1,clickToClose:!1,pauseOnHover:!0,ID:"NotiflixNotify",className:"notiflix-notify",zindex:4001,fontFamily:"Quicksand",fontSize:"13px",cssAnimation:!0,cssAnimationDuration:400,cssAnimationStyle:"fade",closeButton:!1,useIcon:!0,useFontAwesome:!1,fontAwesomeIconStyle:"basic",fontAwesomeIconSize:"34px",success:{background:"#32c682",textColor:"#fff",childClassName:"notiflix-notify-success",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-check-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(50,198,130,0.2)"},failure:{background:"#ff5549",textColor:"#fff",childClassName:"notiflix-notify-failure",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-times-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(255,85,73,0.2)"},warning:{background:"#eebf31",textColor:"#fff",childClassName:"notiflix-notify-warning",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-exclamation-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(238,191,49,0.2)"},info:{background:"#26c0d3",textColor:"#fff",childClassName:"notiflix-notify-info",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-info-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(38,192,211,0.2)"}},r=function(t){return console.error("%c Notiflix Error ","padding:2px;border-radius:20px;color:#fff;background:#ff5549","\n"+t+"\n\nVisit documentation page to learn more: https://notiflix.github.io/documentation")},l=function(e){return e||(e="head"),null!==t.document[e]||(r('\nNotiflix needs to be appended to the "<'+e+'>" element, but you called it before the "<'+e+'>" element has been created.'),!1)},c=function(){var t={},e=!1,i=0;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(e=arguments[0],i++);for(var n=function(i){for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e&&"[object Object]"===Object.prototype.toString.call(i[n])?t[n]=c(t[n],i[n]):t[n]=i[n])};idiv{pointer-events:all;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:"Quicksand",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;width:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;margin:0 0 10px;border-radius:5px;background:#1e1e1e;color:#fff;padding:10px 12px;font-size:14px;line-height:1.4}[id^=NotiflixNotifyWrap]>div:last-child{margin:0}[id^=NotiflixNotifyWrap]>div.nx-with-callback{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-icon{padding:8px;min-height:56px}[id^=NotiflixNotifyWrap]>div.nx-paused{cursor:auto}[id^=NotiflixNotifyWrap]>div.nx-notify-click-to-close{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-close-button{padding:10px 36px 10px 12px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button{padding:6px 36px 6px 6px}[id^=NotiflixNotifyWrap]>div>span.nx-message{cursor:inherit;font-weight:normal;font-family:inherit!important;word-break:break-all;word-break:break-word}[id^=NotiflixNotifyWrap]>div>span.nx-close-button{cursor:pointer;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;position:absolute;right:8px;top:0;bottom:0;margin:auto;color:inherit;width:20px;height:20px}[id^=NotiflixNotifyWrap]>div>span.nx-close-button:hover{-webkit-transform:rotate(90deg);transform:rotate(90deg)}[id^=NotiflixNotifyWrap]>div>span.nx-close-button>svg{position:absolute;width:16px;height:16px;right:2px;top:2px}[id^=NotiflixNotifyWrap]>div>.nx-message-icon{position:absolute;width:40px;height:40px;font-size:30px;line-height:40px;text-align:center;left:8px;top:0;bottom:0;margin:auto;border-radius:inherit}[id^=NotiflixNotifyWrap]>div>.nx-message-icon-fa.nx-message-icon-fa-shadow{color:inherit;background:rgba(0,0,0,.15);-webkit-box-shadow:inset 0 0 34px rgba(0,0,0,.2);box-shadow:inset 0 0 34px rgba(0,0,0,.2);text-shadow:0 0 10px rgba(0,0,0,.3)}[id^=NotiflixNotifyWrap]>div>span.nx-with-icon{position:relative;float:left;width:calc(100% - 40px);margin:0 0 0 40px;padding:0 0 0 10px;-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>.nx-message-icon{left:auto;right:8px}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-with-icon{padding:0 10px 0 0;margin:0 40px 0 0}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-close-button{right:auto;left:8px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button.nx-rtl-on{padding:6px 6px 6px 36px}[id^=NotiflixNotifyWrap]>div.nx-with-close-button.nx-rtl-on{padding:10px 12px 10px 36px}[id^=NotiflixNotifyOverlay].nx-with-animation,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade{-webkit-animation:notify-animation-fade .3s ease-in-out 0s normal;animation:notify-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom{-webkit-animation:notify-animation-zoom .3s ease-in-out 0s normal;animation:notify-animation-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right{-webkit-animation:notify-animation-from-right .3s ease-in-out 0s normal;animation:notify-animation-from-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}@keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left{-webkit-animation:notify-animation-from-left .3s ease-in-out 0s normal;animation:notify-animation-from-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}@keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top{-webkit-animation:notify-animation-from-top .3s ease-in-out 0s normal;animation:notify-animation-from-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}@keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom{-webkit-animation:notify-animation-from-bottom .3s ease-in-out 0s normal;animation:notify-animation-from-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}@keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}[id^=NotiflixNotifyOverlay].nx-with-animation.nx-remove,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade.nx-remove{opacity:0;-webkit-animation:notify-remove-fade .3s ease-in-out 0s normal;animation:notify-remove-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}@keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom.nx-remove{-webkit-transform:scale(0);transform:scale(0);-webkit-animation:notify-remove-zoom .3s ease-in-out 0s normal;animation:notify-remove-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}@keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top.nx-remove{opacity:0;-webkit-animation:notify-remove-to-top .3s ease-in-out 0s normal;animation:notify-remove-to-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}@keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right.nx-remove{opacity:0;-webkit-animation:notify-remove-to-right .3s ease-in-out 0s normal;animation:notify-remove-to-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}@keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom.nx-remove{opacity:0;-webkit-animation:notify-remove-to-bottom .3s ease-in-out 0s normal;animation:notify-remove-to-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}@keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left.nx-remove{opacity:0;-webkit-animation:notify-remove-to-left .3s ease-in-out 0s normal;animation:notify-remove-to-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}@keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}'},h=0,u=function(r,d,u,p){if(!l("body"))return!1;e||f.Notify.init({});var m=c(!0,e,{});if("object"==typeof u&&!Array.isArray(u)||"object"==typeof p&&!Array.isArray(p)){var v={};"object"==typeof u?v=u:"object"==typeof p&&(v=p),e=c(!0,e,v)}var y,g,b=e[r.toLocaleLowerCase("en")];h++,"string"!=typeof d&&(d="Notiflix "+r),e.plainText&&(y=d,(g=t.document.createElement("div")).innerHTML=y,d=g.textContent||g.innerText||""),!e.plainText&&d.length>e.messageMaxLength&&(e=c(!0,e,{closeButton:!0,messageMaxLength:150}),d='Possible HTML Tags Error: The "plainText" option is "false" and the notification content length is more than the "messageMaxLength" option.'),d.length>e.messageMaxLength&&(d=d.substring(0,e.messageMaxLength)+"..."),"shadow"===e.fontAwesomeIconStyle&&(b.fontAwesomeIconColor=b.background),e.cssAnimation||(e.cssAnimationDuration=0);var x=t.document.getElementById(o.wrapID)||t.document.createElement("div");if(x.id=o.wrapID,x.style.width=e.width,x.style.zIndex=e.zindex,x.style.opacity=e.opacity,"center-center"===e.position?(x.style.left=e.distance,x.style.top=e.distance,x.style.right=e.distance,x.style.bottom=e.distance,x.style.margin="auto",x.classList.add("nx-flex-center-center"),x.style.maxHeight="calc((100vh - "+e.distance+") - "+e.distance+")",x.style.display="flex",x.style.flexWrap="wrap",x.style.flexDirection="column",x.style.justifyContent="center",x.style.alignItems="center",x.style.pointerEvents="none"):"center-top"===e.position?(x.style.left=e.distance,x.style.right=e.distance,x.style.top=e.distance,x.style.bottom="auto",x.style.margin="auto"):"center-bottom"===e.position?(x.style.left=e.distance,x.style.right=e.distance,x.style.bottom=e.distance,x.style.top="auto",x.style.margin="auto"):"right-bottom"===e.position?(x.style.right=e.distance,x.style.bottom=e.distance,x.style.top="auto",x.style.left="auto"):"left-top"===e.position?(x.style.left=e.distance,x.style.top=e.distance,x.style.right="auto",x.style.bottom="auto"):"left-bottom"===e.position?(x.style.left=e.distance,x.style.bottom=e.distance,x.style.top="auto",x.style.right="auto"):(x.style.right=e.distance,x.style.top=e.distance,x.style.left="auto",x.style.bottom="auto"),e.backOverlay){var w=t.document.getElementById(o.overlayID)||t.document.createElement("div");w.id=o.overlayID,w.style.width="100%",w.style.height="100%",w.style.position="fixed",w.style.zIndex=e.zindex-1,w.style.left=0,w.style.top=0,w.style.right=0,w.style.bottom=0,w.style.background=b.backOverlayColor||e.backOverlayColor,w.className=e.cssAnimation?"nx-with-animation":"",w.style.animationDuration=e.cssAnimation?e.cssAnimationDuration+"ms":"",t.document.getElementById(o.overlayID)||t.document.body.appendChild(w)}t.document.getElementById(o.wrapID)||t.document.body.appendChild(x);var k=t.document.createElement("div");k.id=e.ID+"-"+h,k.className=e.className+" "+b.childClassName+" "+(e.cssAnimation?"nx-with-animation":"")+" "+(e.useIcon?"nx-with-icon":"")+" nx-"+e.cssAnimationStyle+" "+(e.closeButton&&"function"!=typeof u?"nx-with-close-button":"")+" "+("function"==typeof u?"nx-with-callback":"")+" "+(e.clickToClose?"nx-notify-click-to-close":""),k.style.fontSize=e.fontSize,k.style.color=b.textColor,k.style.background=b.background,k.style.borderRadius=e.borderRadius,k.style.pointerEvents="all",e.rtl&&(k.setAttribute("dir","rtl"),k.classList.add("nx-rtl-on")),k.style.fontFamily='"'+e.fontFamily+'", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif',e.cssAnimation&&(k.style.animationDuration=e.cssAnimationDuration+"ms");var L="";if(e.closeButton&&"function"!=typeof u&&(L=''),e.useIcon)if(e.useFontAwesome)k.innerHTML=''+d+""+(e.closeButton?L:"");else{var C="";r===i?C='':r===n?C='':r===s?C='':r===a&&(C=''),k.innerHTML=C+''+d+""+(e.closeButton?L:"")}else k.innerHTML=''+d+""+(e.closeButton?L:"");if("left-bottom"===e.position||"right-bottom"===e.position){var N=t.document.getElementById(o.wrapID);N.insertBefore(k,N.firstChild)}else t.document.getElementById(o.wrapID).appendChild(k);var S=t.document.getElementById(k.id);if(S){var O,E,A=function(){S.classList.add("nx-remove");var e=t.document.getElementById(o.overlayID);e&&x.childElementCount<=0&&e.classList.add("nx-remove"),clearTimeout(O)},T=function(){if(S&&null!==S.parentNode&&S.parentNode.removeChild(S),x.childElementCount<=0&&null!==x.parentNode){x.parentNode.removeChild(x);var e=t.document.getElementById(o.overlayID);e&&null!==e.parentNode&&e.parentNode.removeChild(e)}clearTimeout(E)};if(e.closeButton&&"function"!=typeof u&&t.document.getElementById(k.id).querySelector("span.nx-close-button").addEventListener("click",(function(){A();var t=setTimeout((function(){T(),clearTimeout(t)}),e.cssAnimationDuration)})),("function"==typeof u||e.clickToClose)&&S.addEventListener("click",(function(){"function"==typeof u&&u(),A();var t=setTimeout((function(){T(),clearTimeout(t)}),e.cssAnimationDuration)})),!e.closeButton&&"function"!=typeof u){var D=function(){O=setTimeout((function(){A()}),e.timeout),E=setTimeout((function(){T()}),e.timeout+e.cssAnimationDuration)};D(),e.pauseOnHover&&(S.addEventListener("mouseenter",(function(){S.classList.add("nx-paused"),clearTimeout(O),clearTimeout(E)})),S.addEventListener("mouseleave",(function(){S.classList.remove("nx-paused"),D()})))}}if(e.showOnlyTheLastOne&&h>0)for(var I=t.document.querySelectorAll("[id^="+e.ID+"-]:not([id="+e.ID+"-"+h+"])"),M=0;M\n \n \n \n
').concat(n[0].name||"No name","
\n
").concat(n[0].description||"Not found","
\n
Temperament: ").concat(n[0].temperament,'
\n
Link to Wikipedia page\n
'))})).catch((function(t){return console.log(t)}))}))}();
-//# sourceMappingURL=index.cbdf542e.js.map
+!function(){function t(t){return t&&t.__esModule?t.default:t}var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},i={};function n(t,e,i,n,s,a,o){try{var r=t[a](o),l=r.value}catch(t){return void i(t)}r.done?e(l):Promise.resolve(l).then(n,s)}Object.defineProperty(i,"__esModule",{value:!0}),i.default=function(t){return function(){var e=this,i=arguments;return new Promise((function(s,a){var o=t.apply(e,i);function r(t){n(o,s,a,r,l,"next",t)}function l(t){n(o,s,a,r,l,"throw",t)}r(void 0)}))}};var s={},a=function(t){"use strict";var e,i=Object.prototype,n=i.hasOwnProperty,s="function"==typeof Symbol?Symbol:{},a=s.iterator||"@@iterator",o=s.asyncIterator||"@@asyncIterator",r=s.toStringTag||"@@toStringTag";function l(t,e,i){return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,i){return t[e]=i}}function c(t,e,i,n){var s=e&&e.prototype instanceof v?e:v,a=Object.create(s.prototype),o=new E(n||[]);return a._invoke=function(t,e,i){var n=h;return function(s,a){if(n===f)throw new Error("Generator is already running");if(n===p){if("throw"===s)throw a;return T()}for(i.method=s,i.arg=a;;){var o=i.delegate;if(o){var r=N(o,i);if(r){if(r===m)continue;return r}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(n===h)throw n=p,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);n=f;var l=d(t,e,i);if("normal"===l.type){if(n=i.done?p:u,l.arg===m)continue;return{value:l.arg,done:i.done}}"throw"===l.type&&(n=p,i.method="throw",i.arg=l.arg)}}}(t,i,o),a}function d(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var h="suspendedStart",u="suspendedYield",f="executing",p="completed",m={};function v(){}function y(){}function g(){}var b={};l(b,a,(function(){return this}));var x=Object.getPrototypeOf,w=x&&x(x(A([])));w&&w!==i&&n.call(w,a)&&(b=w);var k=g.prototype=v.prototype=Object.create(b);function L(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function C(t,e){function i(s,a,o,r){var l=d(t[s],t,a);if("throw"!==l.type){var c=l.arg,h=c.value;return h&&"object"==typeof h&&n.call(h,"__await")?e.resolve(h.__await).then((function(t){i("next",t,o,r)}),(function(t){i("throw",t,o,r)})):e.resolve(h).then((function(t){c.value=t,o(c)}),(function(t){return i("throw",t,o,r)}))}r(l.arg)}var s;this._invoke=function(t,n){function a(){return new e((function(e,s){i(t,n,e,s)}))}return s=s?s.then(a,a):a()}}function N(t,i){var n=t.iterator[i.method];if(n===e){if(i.delegate=null,"throw"===i.method){if(t.iterator.return&&(i.method="return",i.arg=e,N(t,i),"throw"===i.method))return m;i.method="throw",i.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var s=d(n,t.iterator,i.arg);if("throw"===s.type)return i.method="throw",i.arg=s.arg,i.delegate=null,m;var a=s.arg;return a?a.done?(i[t.resultName]=a.value,i.next=t.nextLoc,"return"!==i.method&&(i.method="next",i.arg=e),i.delegate=null,m):a:(i.method="throw",i.arg=new TypeError("iterator result is not an object"),i.delegate=null,m)}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function O(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function A(t){if(t){var i=t[a];if(i)return i.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var s=-1,o=function i(){for(;++s=0;--a){var o=this.tryEntries[a],r=o.completion;if("root"===o.tryLoc)return s("end");if(o.tryLoc<=this.prev){var l=n.call(o,"catchLoc"),c=n.call(o,"finallyLoc");if(l&&c){if(this.prev=0;--i){var s=this.tryEntries[i];if(s.tryLoc<=this.prev&&n.call(s,"finallyLoc")&&this.prev=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),O(i),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var s=n.arg;O(i)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(t,i,n){return this.delegate={iterator:A(t),resultName:i,nextLoc:n},"next"===this.method&&(this.arg=e),m}},t}(s);try{regeneratorRuntime=a}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=a:Function("r","regeneratorRuntime = r")(a)}var o="https://api.thecatapi.com/v1",r="live_ZXvXnN3nLIiVAMYsFosudfyRXWXuiSEi6HJhbZIzZhQtawavdsyjEdVTjhSqCXMm";function l(){return(l=t(i)(t(s).mark((function e(){var i,n;return t(s).wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i="".concat(o,"/breeds?api_key=").concat(r),t.next=3,fetch(i);case 3:if((n=t.sent).ok){t.next=6;break}throw new Error(n.statusText);case 6:return t.next=8,n.json();case 8:return t.abrupt("return",t.sent);case 9:case"end":return t.stop()}}),e)})))).apply(this,arguments)}function c(t){return d.apply(this,arguments)}function d(){return(d=t(i)(t(s).mark((function e(i){var n,a;return t(s).wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n="".concat(o,"/images/search?api_key=").concat(r,"&breed_ids=").concat(i),t.next=3,fetch(n);case 3:if((a=t.sent).ok){t.next=6;break}throw new Error(a.status);case 6:return t.next=8,a.json();case 8:return t.abrupt("return",t.sent);case 9:case"end":return t.stop()}}),e)})))).apply(this,arguments)}var h={},u={};Object.defineProperty(u,"__esModule",{value:!0}),u.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};var f={};function p(t,e){for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:50,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(){for(var s=arguments.length,a=new Array(s),o=0;o0&&e.push(new o(t))}(t instanceof r||"text"in t)&&e.push(new r(t))})),e}},{key:"setData",value:function(t){this.data=this.partialToFullData(t),"single"===this.selectType&&this.setSelectedBy("value",this.getSelected())}},{key:"getData",value:function(){return this.filter(null,!0)}},{key:"getDataOptions",value:function(){return this.filter(null,!1)}},{key:"addOption",value:function(t){this.setData(this.getData().concat(new r(t)))}},{key:"setSelectedBy",value:function(t,e){var i=null,n=!1,s=!0,a=!1,l=void 0;try{for(var c,d=this.data[Symbol.iterator]();!(s=(c=d.next()).done);s=!0){var h=c.value,u=!0,f=!1,p=void 0;if(h instanceof o)try{for(var m,v=h.options[Symbol.iterator]();!(u=(m=v.next()).done);u=!0){var y=m.value;i||(i=y),y.selected=!n&&e.includes(y[t]),y.selected&&"single"===this.selectType&&(n=!0)}}catch(t){f=!0,p=t}finally{try{u||null==v.return||v.return()}finally{if(f)throw p}}h instanceof r&&(i||(i=h),h.selected=!n&&e.includes(h[t]),h.selected&&"single"===this.selectType&&(n=!0))}}catch(t){a=!0,l=t}finally{try{s||null==d.return||d.return()}finally{if(a)throw l}}"single"===this.selectType&&i&&!n&&(i.selected=!0)}},{key:"getSelected",value:function(){var t=this.getSelectedOptions(),e=[];return t.forEach((function(t){e.push(t.value)})),e}},{key:"getSelectedOptions",value:function(){return this.filter((function(t){return t.selected}),!1)}},{key:"getSelectedIDs",value:function(){var t=this.getSelectedOptions(),e=[];return t.forEach((function(t){e.push(t.id)})),e}},{key:"getOptgroupByID",value:function(t){var e=!0,i=!1,n=void 0;try{for(var s,a=this.data[Symbol.iterator]();!(e=(s=a.next()).done);e=!0){var r=s.value;if(r instanceof o&&r.id===t)return r}}catch(t){i=!0,n=t}finally{try{e||null==a.return||a.return()}finally{if(i)throw n}}return null}},{key:"getOptionByID",value:function(t){var e=this.filter((function(e){return e.id===t}),!1);return e.length?e[0]:null}},{key:"getSelectType",value:function(){return this.selectType}},{key:"getFirstOption",value:function(){var t=null,e=!0,i=!1,n=void 0;try{for(var s,a=this.data[Symbol.iterator]();!(e=(s=a.next()).done);e=!0){var l=s.value;if(l instanceof o?t=l.options[0]:l instanceof r&&(t=l),t)break}}catch(t){i=!0,n=t}finally{try{e||null==a.return||a.return()}finally{if(i)throw n}}return t}},{key:"search",value:function(t,e){return""===(t=t.trim())?this.getData():this.filter((function(i){return e(i,t)}),!0)}},{key:"filter",value:function(t,e){var i=[];return this.data.forEach((function(n){if(n instanceof o){var s=[];if(n.options.forEach((function(n){t&&!t(n)||(e?s.push(new r(n)):i.push(new r(n)))})),s.length>0){var a=new o(n);a.options=s,i.push(a)}}n instanceof r&&(t&&!t(n)||i.push(new r(n)))})),i}}]),e}(),c=function(){function e(i,n,s){t(u)(this,e),this.classes={main:"ss-main",placeholder:"ss-placeholder",values:"ss-values",single:"ss-single",max:"ss-max",value:"ss-value",valueText:"ss-value-text",valueDelete:"ss-value-delete",valueOut:"ss-value-out",deselect:"ss-deselect",deselectPath:"M10,10 L90,90 M10,90 L90,10",arrow:"ss-arrow",arrowClose:"M10,30 L50,70 L90,30",arrowOpen:"M10,70 L50,30 L90,70",content:"ss-content",openAbove:"ss-open-above",openBelow:"ss-open-below",search:"ss-search",searchHighlighter:"ss-search-highlight",searching:"ss-searching",addable:"ss-addable",addablePath:"M50,10 L50,90 M10,50 L90,50",list:"ss-list",optgroup:"ss-optgroup",optgroupLabel:"ss-optgroup-label",optgroupLabelText:"ss-optgroup-label-text",optgroupActions:"ss-optgroup-actions",optgroupSelectAll:"ss-selectall",optgroupSelectAllBox:"M60,10 L10,10 L10,90 L90,90 L90,50",optgroupSelectAllCheck:"M30,45 L50,70 L90,10",optgroupClosable:"ss-closable",option:"ss-option",optionDelete:"M10,10 L90,90 M10,90 L90,10",highlighted:"ss-highlighted",open:"ss-open",close:"ss-close",selected:"ss-selected",error:"ss-error",disabled:"ss-disabled",hide:"ss-hide"},this.store=n,this.settings=i,this.callbacks=s,this.main=this.mainDiv(),this.content=this.contentDiv(),this.updateClassStyles(),this.updateAriaAttributes(),this.settings.contentLocation.appendChild(this.content.main)}return t(f)(e,[{key:"enable",value:function(){this.main.main.classList.remove(this.classes.disabled),this.content.search.input.disabled=!1}},{key:"disable",value:function(){this.main.main.classList.add(this.classes.disabled),this.content.search.input.disabled=!0}},{key:"open",value:function(){this.main.arrow.path.setAttribute("d",this.classes.arrowOpen),this.main.main.classList.add("up"===this.settings.openPosition?this.classes.openAbove:this.classes.openBelow),this.main.main.setAttribute("aria-expanded","true"),this.moveContent();var t=this.store.getSelectedOptions();if(t.length){var e=t[t.length-1].id,i=this.content.list.querySelector('[data-id="'+e+'"]');i&&this.ensureElementInView(this.content.list,i)}}},{key:"close",value:function(){this.main.main.classList.remove(this.classes.openAbove),this.main.main.classList.remove(this.classes.openBelow),this.main.main.setAttribute("aria-expanded","false"),this.content.main.classList.remove(this.classes.openAbove),this.content.main.classList.remove(this.classes.openBelow),this.main.arrow.path.setAttribute("d",this.classes.arrowClose)}},{key:"updateClassStyles",value:function(){if(this.main.main.className="",this.main.main.removeAttribute("style"),this.content.main.className="",this.content.main.removeAttribute("style"),this.main.main.classList.add(this.classes.main),this.content.main.classList.add(this.classes.content),""!==this.settings.style&&(this.main.main.style.cssText=this.settings.style,this.content.main.style.cssText=this.settings.style),this.settings.class.length){var t=!0,e=!1,i=void 0;try{for(var n,s=this.settings.class[Symbol.iterator]();!(t=(n=s.next()).done);t=!0){var a=n.value;""!==a.trim()&&(this.main.main.classList.add(a.trim()),this.content.main.classList.add(a.trim()))}}catch(t){e=!0,i=t}finally{try{t||null==s.return||s.return()}finally{if(e)throw i}}}"relative"===this.settings.contentPosition&&this.content.main.classList.add("ss-"+this.settings.contentPosition)}},{key:"updateAriaAttributes",value:function(){this.main.main.role="combobox",this.main.main.setAttribute("aria-haspopup","listbox"),this.main.main.setAttribute("aria-controls",this.content.main.id),this.main.main.setAttribute("aria-expanded","false"),this.content.main.setAttribute("role","listbox")}},{key:"mainDiv",value:function(){var t,e=this,i=document.createElement("div");i.dataset.id=this.settings.id,i.setAttribute("aria-label",this.settings.ariaLabel),i.tabIndex=0,i.onkeydown=function(t){switch(t.key){case"ArrowUp":case"ArrowDown":return e.callbacks.open(),"ArrowDown"===t.key?e.highlight("down"):e.highlight("up"),!1;case"Tab":return e.callbacks.close(),!0;case"Enter":case" ":e.callbacks.open();var i=e.content.list.querySelector("."+e.classes.highlighted);return i&&i.click(),!1;case"Escape":return e.callbacks.close(),!1}return!1},i.onclick=function(t){e.settings.disabled||(e.settings.isOpen?e.callbacks.close():e.callbacks.open())};var n=document.createElement("div");n.classList.add(this.classes.values),i.appendChild(n);var s=document.createElement("div");s.classList.add(this.classes.deselect);var a=null===(t=this.store)||void 0===t?void 0:t.getSelectedOptions();!this.settings.allowDeselect||this.settings.isMultiple&&a&&a.length<=0?s.classList.add(this.classes.hide):s.classList.remove(this.classes.hide),s.onclick=function(t){if(t.stopPropagation(),!e.settings.disabled){var i=!0,n=e.store.getSelectedOptions(),s=[];if(e.callbacks.beforeChange&&(i=!0===e.callbacks.beforeChange(s,n)),i){if(e.settings.isMultiple)e.callbacks.setSelected([],!1),e.updateDeselectAll();else{var a=e.store.getFirstOption(),o=a?a.value:"";e.callbacks.setSelected(o,!1)}e.settings.closeOnSelect&&e.callbacks.close(),e.callbacks.afterChange&&e.callbacks.afterChange(e.store.getSelectedOptions())}}};var o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttribute("viewBox","0 0 100 100");var r=document.createElementNS("http://www.w3.org/2000/svg","path");r.setAttribute("d",this.classes.deselectPath),o.appendChild(r),s.appendChild(o),i.appendChild(s);var l=document.createElementNS("http://www.w3.org/2000/svg","svg");l.classList.add(this.classes.arrow),l.setAttribute("viewBox","0 0 100 100");var c=document.createElementNS("http://www.w3.org/2000/svg","path");return c.setAttribute("d",this.classes.arrowClose),this.settings.alwaysOpen&&l.classList.add(this.classes.hide),l.appendChild(c),i.appendChild(l),{main:i,values:n,deselect:{main:s,svg:o,path:r},arrow:{main:l,path:c}}}},{key:"mainFocus",value:function(t){"click"!==t&&this.main.main.focus({preventScroll:!0})}},{key:"placeholder",value:function(){var t=this.store.filter((function(t){return t.placeholder}),!1),e=this.settings.placeholderText;t.length&&(""!==t[0].html?e=t[0].html:""!==t[0].text&&(e=t[0].text));var i=document.createElement("div");return i.classList.add(this.classes.placeholder),i.innerHTML=e,i}},{key:"renderValues",value:function(){this.settings.isMultiple?(this.renderMultipleValues(),this.updateDeselectAll()):this.renderSingleValue()}},{key:"renderSingleValue",value:function(){var t=this.store.filter((function(t){return t.selected&&!t.placeholder}),!1),e=t.length>0?t[0]:null;if(e){var i=document.createElement("div");i.classList.add(this.classes.single),e.html?i.innerHTML=e.html:i.innerText=e.text,this.main.values.innerHTML=i.outerHTML}else this.main.values.innerHTML=this.placeholder().outerHTML;this.settings.allowDeselect&&t.length?this.main.deselect.main.classList.remove(this.classes.hide):this.main.deselect.main.classList.add(this.classes.hide)}},{key:"renderMultipleValues",value:function(){var t=function(t){var n=e[t],s=n.getAttribute("data-id");s&&(i.filter((function(t){return t.id===s}),!1).length||o.push(n))},e=this.main.values.childNodes,i=this.store.filter((function(t){return t.selected&&t.display}),!1);if(0!==i.length){var n=this.main.values.querySelector("."+this.classes.placeholder);if(n&&n.remove(),i.length>this.settings.maxValuesShown){var s=document.createElement("div");return s.classList.add(this.classes.max),s.textContent=this.settings.maxValuesMessage.replace("{number}",i.length.toString()),void(this.main.values.innerHTML=s.outerHTML)}var a=this.main.values.querySelector("."+this.classes.max);a&&a.remove();for(var o=[],r=0;r0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n="."+this.classes.option;return t&&(n+=":not(."+this.classes.placeholder+")"),e&&(n+=":not(."+this.classes.disabled+")"),i&&(n+=":not(."+this.classes.hide+")"),Array.from(this.content.list.querySelectorAll(n))}},{key:"highlight",value:function(t){var e=this.getOptions(!0,!0,!0);if(0!==e.length)if(1!==e.length||e[0].classList.contains(this.classes.highlighted)){var i=!1,n=!0,s=!1,a=void 0;try{for(var o,r=e[Symbol.iterator]();!(n=(o=r.next()).done);n=!0)o.value.classList.contains(this.classes.highlighted)&&(i=!0)}catch(t){s=!0,a=t}finally{try{n||null==r.return||r.return()}finally{if(s)throw a}}if(!i){var l=!0,c=!1,d=void 0;try{for(var h,u=e[Symbol.iterator]();!(l=(h=u.next()).done);l=!0){var f=h.value;if(f.classList.contains(this.classes.selected)){f.classList.add(this.classes.highlighted);break}}}catch(t){c=!0,d=t}finally{try{l||null==u.return||u.return()}finally{if(c)throw d}}}for(var p=0;p=0?p-1:e.length-1];g.classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,g);var b=g.parentElement;if(b&&b.classList.contains(this.classes.close)){var x=b.querySelector("."+this.classes.optgroupLabel);x&&x.click()}return}e["down"===t?0:e.length-1].classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,e["down"===t?0:e.length-1])}else e[0].classList.add(this.classes.highlighted)}},{key:"listDiv",value:function(){var t=document.createElement("div");return t.classList.add(this.classes.list),t}},{key:"renderError",value:function(t){this.content.list.innerHTML="";var e=document.createElement("div");e.classList.add(this.classes.error),e.textContent=t,this.content.list.appendChild(e)}},{key:"renderSearching",value:function(){this.content.list.innerHTML="";var t=document.createElement("div");t.classList.add(this.classes.searching),t.textContent=this.settings.searchingText,this.content.list.appendChild(t)}},{key:"renderOptions",value:function(t){if(this.content.list.innerHTML="",0===t.length){var e=document.createElement("div");return e.classList.add(this.classes.search),e.innerHTML=this.settings.searchText,void this.content.list.appendChild(e)}var i=!0,n=!1,s=void 0;try{for(var a,l=this,c=function(t,e){var i=e.value;if(i instanceof o){var n=document.createElement("div");n.classList.add(l.classes.optgroup);var s=document.createElement("div");s.classList.add(l.classes.optgroupLabel),n.appendChild(s);var a=document.createElement("div");a.classList.add(l.classes.optgroupLabelText),a.textContent=i.label,s.appendChild(a);var c=document.createElement("div");if(c.classList.add(l.classes.optgroupActions),s.appendChild(c),l.settings.isMultiple&&i.selectAll){var d=l,h=document.createElement("div");h.classList.add(l.classes.optgroupSelectAll);var u=!0,f=!0,p=!1,m=void 0;try{for(var v,y=i.options[Symbol.iterator]();!(f=(v=y.next()).done);f=!0)if(!v.value.selected){u=!1;break}}catch(t){p=!0,m=t}finally{try{f||null==y.return||y.return()}finally{if(p)throw m}}u&&h.classList.add(l.classes.selected);var g=document.createElement("span");g.textContent=i.selectAllText,h.appendChild(g);var b=document.createElementNS("http://www.w3.org/2000/svg","svg");b.setAttribute("viewBox","0 0 100 100"),h.appendChild(b);var x=document.createElementNS("http://www.w3.org/2000/svg","path");x.setAttribute("d",l.classes.optgroupSelectAllBox),b.appendChild(x);var w=document.createElementNS("http://www.w3.org/2000/svg","path");w.setAttribute("d",l.classes.optgroupSelectAllCheck),b.appendChild(w),h.addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation();var e=d.store.getSelected();if(u){var n=e.filter((function(t){var e=!0,n=!1,s=void 0;try{for(var a,o=i.options[Symbol.iterator]();!(e=(a=o.next()).done);e=!0)if(t===a.value.value)return!1}catch(t){n=!0,s=t}finally{try{e||null==o.return||o.return()}finally{if(n)throw s}}return!0}));d.callbacks.setSelected(n,!0)}else{var s=e.concat(i.options.map((function(t){return t.value}))),a=!0,o=!1,r=void 0;try{for(var l,c=i.options[Symbol.iterator]();!(a=(l=c.next()).done);a=!0){var h=l.value;d.store.getOptionByID(h.id)||d.callbacks.addOption(h)}}catch(t){o=!0,r=t}finally{try{a||null==c.return||c.return()}finally{if(o)throw r}}d.callbacks.setSelected(s,!0)}})),c.appendChild(h)}if("off"!==i.closable){var k=l,L=document.createElement("div");L.classList.add(l.classes.optgroupClosable);var C=document.createElementNS("http://www.w3.org/2000/svg","svg");C.setAttribute("viewBox","0 0 100 100"),C.classList.add(l.classes.arrow),L.appendChild(C);var N=document.createElementNS("http://www.w3.org/2000/svg","path");C.appendChild(N),i.options.some((function(t){return t.selected}))||""!==l.content.search.input.value.trim()?(L.classList.add(l.classes.open),N.setAttribute("d",l.classes.arrowOpen)):"open"===i.closable?(n.classList.add(l.classes.open),N.setAttribute("d",l.classes.arrowOpen)):"close"===i.closable&&(n.classList.add(l.classes.close),N.setAttribute("d",l.classes.arrowClose)),s.addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation(),n.classList.contains(k.classes.close)?(n.classList.remove(k.classes.close),n.classList.add(k.classes.open),N.setAttribute("d",k.classes.arrowOpen)):(n.classList.remove(k.classes.open),n.classList.add(k.classes.close),N.setAttribute("d",k.classes.arrowClose))})),c.appendChild(L)}n.appendChild(s);var S=!0,O=!1,E=void 0;try{for(var A,T=i.options[Symbol.iterator]();!(S=(A=T.next()).done);S=!0){var D=A.value;n.appendChild(l.option(D))}}catch(t){O=!0,E=t}finally{try{S||null==T.return||T.return()}finally{if(O)throw E}}l.content.list.appendChild(n)}i instanceof r&&l.content.list.appendChild(l.option(i))},d=t[Symbol.iterator]();!(i=(a=d.next()).done);i=!0)c(d,a)}catch(t){n=!0,s=t}finally{try{i||null==d.return||d.return()}finally{if(n)throw s}}}},{key:"option",value:function(t){var e=this;if(t.placeholder){var i=document.createElement("div");return i.classList.add(this.classes.option),i.classList.add(this.classes.hide),i}var n=document.createElement("div");return n.dataset.id=t.id,n.id=t.id,n.classList.add(this.classes.option),n.setAttribute("role","option"),t.class&&t.class.split(" ").forEach((function(t){n.classList.add(t)})),t.style&&(n.style.cssText=t.style),this.settings.searchHighlight&&""!==this.content.search.input.value.trim()?n.innerHTML=this.highlightText(""!==t.html?t.html:t.text,this.content.search.input.value,this.classes.searchHighlighter):""!==t.html?n.innerHTML=t.html:n.textContent=t.text,this.settings.showOptionTooltips&&n.textContent&&n.setAttribute("title",n.textContent),t.display||n.classList.add(this.classes.hide),t.disabled&&n.classList.add(this.classes.disabled),t.selected&&this.settings.hideSelected&&n.classList.add(this.classes.hide),t.selected?(n.classList.add(this.classes.selected),n.setAttribute("aria-selected","true"),this.main.main.setAttribute("aria-activedescendant",n.id)):(n.classList.remove(this.classes.selected),n.setAttribute("aria-selected","false")),n.addEventListener("click",(function(i){i.preventDefault(),i.stopPropagation();var n=e.store.getSelected(),s=i.currentTarget,a=String(s.dataset.id);if(!(t.disabled||t.selected&&!e.settings.allowDeselect||e.settings.isMultiple&&e.settings.maxSelected<=n.length&&!t.selected||e.settings.isMultiple&&e.settings.minSelected>=n.length&&t.selected)){var o=!1,r=e.store.getSelectedOptions(),l=[];e.settings.isMultiple&&(l=t.selected?r.filter((function(t){return t.id!==a})):r.concat(t)),e.settings.isMultiple||(l=t.selected?[]:[t]),e.callbacks.beforeChange||(o=!0),e.callbacks.beforeChange&&(o=!1!==e.callbacks.beforeChange(l,r)),o&&(e.store.getOptionByID(a)||e.callbacks.addOption(t),e.callbacks.setSelected(l.map((function(t){return t.value})),!1),e.settings.closeOnSelect&&e.callbacks.close(),e.callbacks.afterChange&&e.callbacks.afterChange(l))}})),n}},{key:"destroy",value:function(){this.main.main.remove(),this.content.main.remove()}},{key:"highlightText",value:function(t,e,i){var n=t,s=new RegExp("("+e.trim()+")(?![^<]*>[^<>]*)","i");if(!t.match(s))return t;var a=t.match(s).index,o=a+t.match(s)[0].toString().length,r=t.substring(a,o);return n=n.replace(s,'').concat(r,""))}},{key:"moveContentAbove",value:function(){var t=this.main.main.offsetHeight,e=this.content.main.offsetHeight;this.main.main.classList.remove(this.classes.openBelow),this.main.main.classList.add(this.classes.openAbove),this.content.main.classList.remove(this.classes.openBelow),this.content.main.classList.add(this.classes.openAbove);var i=this.main.main.getBoundingClientRect();this.content.main.style.margin="-"+(t+e-1)+"px 0px 0px 0px",this.content.main.style.top=i.top+i.height+window.scrollY+"px",this.content.main.style.left=i.left+window.scrollX+"px",this.content.main.style.width=i.width+"px"}},{key:"moveContentBelow",value:function(){this.main.main.classList.remove(this.classes.openAbove),this.main.main.classList.add(this.classes.openBelow),this.content.main.classList.remove(this.classes.openAbove),this.content.main.classList.add(this.classes.openBelow);var t=this.main.main.getBoundingClientRect();this.content.main.style.margin="-1px 0px 0px 0px","relative"!==this.settings.contentPosition&&(this.content.main.style.top=t.top+t.height+window.scrollY+"px",this.content.main.style.left=t.left+window.scrollX+"px",this.content.main.style.width=t.width+"px")}},{key:"ensureElementInView",value:function(t,e){var i=t.scrollTop+t.offsetTop,n=i+t.clientHeight,s=e.offsetTop,a=s+e.clientHeight;sn&&(t.scrollTop+=a-n)}},{key:"putContent",value:function(){var t=this.main.main.offsetHeight,e=this.main.main.getBoundingClientRect(),i=this.content.main.offsetHeight;return window.innerHeight-(e.top+t)<=i&&e.top>i?"up":"down"}},{key:"updateDeselectAll",value:function(){if(this.store&&this.settings){var t=this.store.getSelectedOptions(),e=t&&t.length>0,i=this.settings.isMultiple,n=this.settings.allowDeselect,s=this.main.deselect.main,a=this.classes.hide;!n||i&&!e?s.classList.add(a):s.classList.remove(a)}}}]),e}(),d=function(){function e(i){t(u)(this,e),this.listen=!1,this.observer=null,this.select=i,this.valueChange=this.valueChange.bind(this),this.select.addEventListener("change",this.valueChange,{passive:!0}),this.observer=new MutationObserver(this.observeCall.bind(this)),this.changeListen(!0)}return t(f)(e,[{key:"enable",value:function(){this.select.disabled=!1}},{key:"disable",value:function(){this.select.disabled=!0}},{key:"hideUI",value:function(){this.select.tabIndex=-1,this.select.style.display="none",this.select.setAttribute("aria-hidden","true")}},{key:"showUI",value:function(){this.select.removeAttribute("tabindex"),this.select.style.display="",this.select.removeAttribute("aria-hidden")}},{key:"changeListen",value:function(t){this.listen=t,t&&this.observer&&this.observer.observe(this.select,{subtree:!0,childList:!0,attributes:!0}),t||this.observer&&this.observer.disconnect()}},{key:"valueChange",value:function(t){return this.listen&&this.onValueChange&&this.onValueChange(this.getSelectedValues()),!0}},{key:"observeCall",value:function(t){if(this.listen){var e=!1,i=!1,n=!1,s=!0,a=!1,o=void 0;try{for(var r,l=t[Symbol.iterator]();!(s=(r=l.next()).done);s=!0){var c=r.value;c.target===this.select&&("disabled"===c.attributeName&&(i=!0),"class"===c.attributeName&&(e=!0)),"OPTGROUP"!==c.target.nodeName&&"OPTION"!==c.target.nodeName||(n=!0)}}catch(t){a=!0,o=t}finally{try{s||null==l.return||l.return()}finally{if(a)throw o}}e&&this.onClassChange&&this.onClassChange(this.select.className.split(" ")),i&&this.onDisabledChange&&(this.changeListen(!1),this.onDisabledChange(this.select.disabled),this.changeListen(!0)),n&&this.onOptionsChange&&(this.changeListen(!1),this.onOptionsChange(this.getData()),this.changeListen(!0))}}},{key:"getData",value:function(){var t=[],e=this.select.childNodes,i=!0,n=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(i=(a=o.next()).done);i=!0){var r=a.value;"OPTGROUP"===r.nodeName&&t.push(this.getDataFromOptgroup(r)),"OPTION"===r.nodeName&&t.push(this.getDataFromOption(r))}}catch(t){n=!0,s=t}finally{try{i||null==o.return||o.return()}finally{if(n)throw s}}return t}},{key:"getDataFromOptgroup",value:function(t){var e={id:t.id,label:t.label,selectAll:!!t.dataset&&"true"===t.dataset.selectall,selectAllText:t.dataset?t.dataset.selectalltext:"Select all",closable:t.dataset?t.dataset.closable:"off",options:[]},i=t.childNodes,n=!0,s=!1,a=void 0;try{for(var o,r=i[Symbol.iterator]();!(n=(o=r.next()).done);n=!0){var l=o.value;"OPTION"===l.nodeName&&e.options.push(this.getDataFromOption(l))}}catch(t){s=!0,a=t}finally{try{n||null==r.return||r.return()}finally{if(s)throw a}}return e}},{key:"getDataFromOption",value:function(t){return{id:t.id,value:t.value,text:t.text,html:t.dataset&&t.dataset.html?t.dataset.html:"",selected:t.selected,display:"none"!==t.style.display,disabled:t.disabled,mandatory:!!t.dataset&&"true"===t.dataset.mandatory,placeholder:"true"===t.dataset.placeholder,class:t.className,style:t.style.cssText,data:t.dataset}}},{key:"getSelectedValues",value:function(){var t=[],e=this.select.childNodes,i=!0,n=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(i=(a=o.next()).done);i=!0){var r=a.value;if("OPTGROUP"===r.nodeName){var l=r.childNodes,c=!0,d=!1,h=void 0;try{for(var u,f=l[Symbol.iterator]();!(c=(u=f.next()).done);c=!0){var p=u.value;if("OPTION"===p.nodeName){var m=p;m.selected&&t.push(m.value)}}}catch(t){d=!0,h=t}finally{try{c||null==f.return||f.return()}finally{if(d)throw h}}}if("OPTION"===r.nodeName){var v=r;v.selected&&t.push(v.value)}}}catch(t){n=!0,s=t}finally{try{i||null==o.return||o.return()}finally{if(n)throw s}}return t}},{key:"setSelected",value:function(t){this.changeListen(!1);var e=this.select.childNodes,i=!0,n=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(i=(a=o.next()).done);i=!0){var r=a.value;if("OPTGROUP"===r.nodeName){var l=r.childNodes,c=!0,d=!1,h=void 0;try{for(var u,f=l[Symbol.iterator]();!(c=(u=f.next()).done);c=!0){var p=u.value;if("OPTION"===p.nodeName){var m=p;m.selected=t.includes(m.value)}}}catch(t){d=!0,h=t}finally{try{c||null==f.return||f.return()}finally{if(d)throw h}}}if("OPTION"===r.nodeName){var v=r;v.selected=t.includes(v.value)}}}catch(t){n=!0,s=t}finally{try{i||null==o.return||o.return()}finally{if(n)throw s}}this.changeListen(!0)}},{key:"updateSelect",value:function(t,e,i){if(this.changeListen(!1),t&&(this.select.dataset.id=t),e&&(this.select.style.cssText=e),i){var n=this;this.select.className="",i.forEach((function(t){""!==t.trim()&&n.select.classList.add(t.trim())}))}this.changeListen(!0)}},{key:"updateOptions",value:function(t){this.changeListen(!1),this.select.innerHTML="";var e=!0,i=!1,n=void 0;try{for(var s,a=t[Symbol.iterator]();!(e=(s=a.next()).done);e=!0){var l=s.value;l instanceof o&&this.select.appendChild(this.createOptgroup(l)),l instanceof r&&this.select.appendChild(this.createOption(l))}}catch(t){i=!0,n=t}finally{try{e||null==a.return||a.return()}finally{if(i)throw n}}this.select.dispatchEvent(new Event("change")),this.changeListen(!0)}},{key:"createOptgroup",value:function(t){var e=document.createElement("optgroup");e.id=t.id,e.label=t.label,t.selectAll&&(e.dataset.selectAll="true"),"off"!==t.closable&&(e.dataset.closable=t.closable);var i=!0,n=!1,s=void 0;if(t.options)try{for(var a,o=t.options[Symbol.iterator]();!(i=(a=o.next()).done);i=!0){var r=a.value;e.appendChild(this.createOption(r))}}catch(t){n=!0,s=t}finally{try{i||null==o.return||o.return()}finally{if(n)throw s}}return e}},{key:"createOption",value:function(t){var e=document.createElement("option");return e.id=t.id,e.value=t.value,e.innerHTML=t.text,""!==t.html&&e.setAttribute("data-html",t.html),t.selected&&(e.selected=t.selected),t.disabled&&(e.disabled=!0),!1===t.display&&(e.style.display="none"),t.placeholder&&e.setAttribute("data-placeholder","true"),t.mandatory&&e.setAttribute("data-mandatory","true"),t.class&&t.class.split(" ").forEach((function(t){e.classList.add(t)})),t.data&&"object"==typeof t.data&&Object.keys(t.data).forEach((function(i){e.setAttribute("data-"+a(i),t.data[i])})),e}},{key:"destroy",value:function(){this.changeListen(!1),this.select.removeEventListener("change",this.valueChange),this.observer&&(this.observer.disconnect(),this.observer=null),delete this.select.dataset.id,this.showUI()}}]),e}(),h=function i(n){t(u)(this,i),this.id="",this.style="",this.class=[],this.isMultiple=!1,this.isOpen=!1,this.isFullOpen=!1,this.intervalMove=null,n||(n={}),this.id="ss-"+e(),this.style=n.style||"",this.class=n.class||[],this.disabled=void 0!==n.disabled&&n.disabled,this.alwaysOpen=void 0!==n.alwaysOpen&&n.alwaysOpen,this.showSearch=void 0===n.showSearch||n.showSearch,this.ariaLabel=n.ariaLabel||"Combobox",this.searchPlaceholder=n.searchPlaceholder||"Search",this.searchText=n.searchText||"No Results",this.searchingText=n.searchingText||"Searching...",this.searchHighlight=void 0!==n.searchHighlight&&n.searchHighlight,this.closeOnSelect=void 0===n.closeOnSelect||n.closeOnSelect,this.contentLocation=n.contentLocation||document.body,this.contentPosition=n.contentPosition||"absolute",this.openPosition=n.openPosition||"auto",this.placeholderText=void 0!==n.placeholderText?n.placeholderText:"Select Value",this.allowDeselect=void 0!==n.allowDeselect&&n.allowDeselect,this.hideSelected=void 0!==n.hideSelected&&n.hideSelected,this.keepOrder=void 0!==n.keepOrder&&n.keepOrder,this.showOptionTooltips=void 0!==n.showOptionTooltips&&n.showOptionTooltips,this.minSelected=n.minSelected||0,this.maxSelected=n.maxSelected||1e3,this.timeoutDelay=n.timeoutDelay||200,this.maxValuesShown=n.maxValuesShown||20,this.maxValuesMessage=n.maxValuesMessage||"{number} selected"},p=function(){function e(s){var a,o=this;if(t(u)(this,e),this.events={search:void 0,searchFilter:function(t,e){return-1!==t.text.toLowerCase().indexOf(e.toLowerCase())},addable:void 0,beforeChange:void 0,afterChange:void 0,beforeOpen:void 0,afterOpen:void 0,beforeClose:void 0,afterClose:void 0},this.windowResize=n((function(){(o.settings.isOpen||o.settings.isFullOpen)&&o.render.moveContent()})),this.windowScroll=n((function(){(o.settings.isOpen||o.settings.isFullOpen)&&o.render.moveContent()})),this.documentClick=function(t){o.settings.isOpen&&t.target&&!i(t.target,o.settings.id)&&o.close(t.type)},this.windowVisibilityChange=function(){document.hidden&&o.close()},this.selectEl="string"==typeof s.select?document.querySelector(s.select):s.select,this.selectEl)if("SELECT"===this.selectEl.tagName){this.selectEl.dataset.ssid&&this.destroy(),this.settings=new h(s.settings);var r=["afterChange","beforeOpen","afterOpen","beforeClose","afterClose"];for(var f in s.events)s.events.hasOwnProperty(f)&&(-1!==r.indexOf(f)?this.events[f]=n(s.events[f],100):this.events[f]=s.events[f]);this.settings.disabled=(null===(a=s.settings)||void 0===a?void 0:a.disabled)?s.settings.disabled:this.selectEl.disabled,this.settings.isMultiple=this.selectEl.multiple,this.settings.style=this.selectEl.style.cssText,this.settings.class=this.selectEl.className.split(" "),this.select=new d(this.selectEl),this.select.updateSelect(this.settings.id,this.settings.style,this.settings.class),this.select.hideUI(),this.select.onValueChange=function(t){o.setSelected(t)},this.select.onClassChange=function(t){o.settings.class=t,o.render.updateClassStyles()},this.select.onDisabledChange=function(t){t?o.disable():o.enable()},this.select.onOptionsChange=function(t){o.setData(t)},this.store=new l(this.settings.isMultiple?"multiple":"single",s.data?s.data:this.select.getData()),s.data&&this.select.updateOptions(this.store.getData());var p={open:this.open.bind(this),close:this.close.bind(this),addable:this.events.addable?this.events.addable:void 0,setSelected:this.setSelected.bind(this),addOption:this.addOption.bind(this),search:this.search.bind(this),beforeChange:this.events.beforeChange,afterChange:this.events.afterChange};this.render=new c(this.settings,this.store,p),this.render.renderValues(),this.render.renderOptions(this.store.getData());var m=this.selectEl.getAttribute("aria-label"),v=this.selectEl.getAttribute("aria-labelledby");m?this.render.main.main.setAttribute("aria-label",m):v&&this.render.main.main.setAttribute("aria-labelledby",v),this.selectEl.parentNode&&this.selectEl.parentNode.insertBefore(this.render.main.main,this.selectEl.nextSibling),window.addEventListener("resize",this.windowResize,!1),"auto"===this.settings.openPosition&&window.addEventListener("scroll",this.windowScroll,!1),document.addEventListener("visibilitychange",this.windowVisibilityChange),this.settings.disabled&&this.disable(),this.settings.alwaysOpen&&this.open(),this.selectEl.slim=this}else s.events&&s.events.error&&s.events.error(new Error("Element isnt of type select"));else s.events&&s.events.error&&s.events.error(new Error("Could not find select element"))}return t(f)(e,[{key:"enable",value:function(){this.settings.disabled=!1,this.select.enable(),this.render.enable()}},{key:"disable",value:function(){this.settings.disabled=!0,this.select.disable(),this.render.disable()}},{key:"getData",value:function(){return this.store.getData()}},{key:"setData",value:function(t){var e=this.store.getSelected(),i=this.store.validateDataArray(t);if(i)this.events.error&&this.events.error(i);else{this.store.setData(t);var n=this.store.getData();this.select.updateOptions(n),this.render.renderValues(),this.render.renderOptions(n),this.events.afterChange&&!s(e,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}}},{key:"getSelected",value:function(){return this.store.getSelected()}},{key:"setSelected",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.store.getSelected();this.store.setSelectedBy("value",Array.isArray(t)?t:[t]);var n=this.store.getData();this.select.updateOptions(n),this.render.renderValues(),""!==this.render.content.search.input.value?this.search(this.render.content.search.input.value):this.render.renderOptions(n),e&&this.events.afterChange&&!s(i,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}},{key:"addOption",value:function(t){var e=this.store.getSelected();this.store.getDataOptions().some((function(e){var i;return e.value===(null!==(i=t.value)&&void 0!==i?i:t.text)}))||this.store.addOption(t);var i=this.store.getData();this.select.updateOptions(i),this.render.renderValues(),this.render.renderOptions(i),this.events.afterChange&&!s(e,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}},{key:"open",value:function(){var t=this;this.settings.disabled||this.settings.isOpen||(this.events.beforeOpen&&this.events.beforeOpen(),this.render.open(),this.settings.showSearch&&this.render.searchFocus(),this.settings.isOpen=!0,setTimeout((function(){t.events.afterOpen&&t.events.afterOpen(),t.settings.isOpen&&(t.settings.isFullOpen=!0),document.addEventListener("click",t.documentClick)}),this.settings.timeoutDelay),"absolute"===this.settings.contentPosition&&(this.settings.intervalMove&&clearInterval(this.settings.intervalMove),this.settings.intervalMove=setInterval(this.render.moveContent.bind(this.render),500)))}},{key:"close",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this;this.settings.isOpen&&!this.settings.alwaysOpen&&(this.events.beforeClose&&this.events.beforeClose(),this.render.close(),""!==this.render.content.search.input.value&&this.search(""),this.render.mainFocus(t),this.settings.isOpen=!1,this.settings.isFullOpen=!1,setTimeout((function(){e.events.afterClose&&e.events.afterClose(),document.removeEventListener("click",e.documentClick)}),this.settings.timeoutDelay),this.settings.intervalMove&&clearInterval(this.settings.intervalMove))}},{key:"search",value:function(t){if(this.render.content.search.input.value!==t&&(this.render.content.search.input.value=t),this.events.search){this.render.renderSearching();var e=this.events.search(t,this.store.getSelectedOptions());if(e instanceof Promise){var i=this;e.then((function(t){i.render.renderOptions(i.store.partialToFullData(t))})).catch((function(t){i.render.renderError("string"==typeof t?t:t.message)}))}else Array.isArray(e)?this.render.renderOptions(this.store.partialToFullData(e)):this.render.renderError("Search event must return a promise or an array of data")}else this.render.renderOptions(""===t?this.store.getData():this.store.search(t,this.events.searchFilter))}},{key:"destroy",value:function(){document.removeEventListener("click",this.documentClick),window.removeEventListener("resize",this.windowResize,!1),"auto"===this.settings.openPosition&&window.removeEventListener("scroll",this.windowScroll,!1),document.removeEventListener("visibilitychange",this.windowVisibilityChange),this.store.setData([]),this.render.destroy(),this.select.destroy()}}]),e}();return p}();var m,v,y={};m=void 0!==e?e:"undefined"!=typeof window?window:y,v=function(t){"use strict";if(void 0===t&&void 0===t.document)return!1;var e,i="Success",n="Failure",s="Warning",a="Info",o={wrapID:"NotiflixNotifyWrap",overlayID:"NotiflixNotifyOverlay",width:"280px",position:"right-top",distance:"10px",opacity:1,borderRadius:"5px",rtl:!1,timeout:3e3,messageMaxLength:110,backOverlay:!1,backOverlayColor:"rgba(0,0,0,0.5)",plainText:!0,showOnlyTheLastOne:!1,clickToClose:!1,pauseOnHover:!0,ID:"NotiflixNotify",className:"notiflix-notify",zindex:4001,fontFamily:"Quicksand",fontSize:"13px",cssAnimation:!0,cssAnimationDuration:400,cssAnimationStyle:"fade",closeButton:!1,useIcon:!0,useFontAwesome:!1,fontAwesomeIconStyle:"basic",fontAwesomeIconSize:"34px",success:{background:"#32c682",textColor:"#fff",childClassName:"notiflix-notify-success",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-check-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(50,198,130,0.2)"},failure:{background:"#ff5549",textColor:"#fff",childClassName:"notiflix-notify-failure",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-times-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(255,85,73,0.2)"},warning:{background:"#eebf31",textColor:"#fff",childClassName:"notiflix-notify-warning",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-exclamation-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(238,191,49,0.2)"},info:{background:"#26c0d3",textColor:"#fff",childClassName:"notiflix-notify-info",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-info-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(38,192,211,0.2)"}},r=function(t){return console.error("%c Notiflix Error ","padding:2px;border-radius:20px;color:#fff;background:#ff5549","\n"+t+"\n\nVisit documentation page to learn more: https://notiflix.github.io/documentation")},l=function(e){return e||(e="head"),null!==t.document[e]||(r('\nNotiflix needs to be appended to the "<'+e+'>" element, but you called it before the "<'+e+'>" element has been created.'),!1)},c=function(){var t={},e=!1,i=0;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(e=arguments[0],i++);for(var n=function(i){for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e&&"[object Object]"===Object.prototype.toString.call(i[n])?t[n]=c(t[n],i[n]):t[n]=i[n])};idiv{pointer-events:all;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:"Quicksand",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;width:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;margin:0 0 10px;border-radius:5px;background:#1e1e1e;color:#fff;padding:10px 12px;font-size:14px;line-height:1.4}[id^=NotiflixNotifyWrap]>div:last-child{margin:0}[id^=NotiflixNotifyWrap]>div.nx-with-callback{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-icon{padding:8px;min-height:56px}[id^=NotiflixNotifyWrap]>div.nx-paused{cursor:auto}[id^=NotiflixNotifyWrap]>div.nx-notify-click-to-close{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-close-button{padding:10px 36px 10px 12px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button{padding:6px 36px 6px 6px}[id^=NotiflixNotifyWrap]>div>span.nx-message{cursor:inherit;font-weight:normal;font-family:inherit!important;word-break:break-all;word-break:break-word}[id^=NotiflixNotifyWrap]>div>span.nx-close-button{cursor:pointer;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;position:absolute;right:8px;top:0;bottom:0;margin:auto;color:inherit;width:20px;height:20px}[id^=NotiflixNotifyWrap]>div>span.nx-close-button:hover{-webkit-transform:rotate(90deg);transform:rotate(90deg)}[id^=NotiflixNotifyWrap]>div>span.nx-close-button>svg{position:absolute;width:16px;height:16px;right:2px;top:2px}[id^=NotiflixNotifyWrap]>div>.nx-message-icon{position:absolute;width:40px;height:40px;font-size:30px;line-height:40px;text-align:center;left:8px;top:0;bottom:0;margin:auto;border-radius:inherit}[id^=NotiflixNotifyWrap]>div>.nx-message-icon-fa.nx-message-icon-fa-shadow{color:inherit;background:rgba(0,0,0,.15);-webkit-box-shadow:inset 0 0 34px rgba(0,0,0,.2);box-shadow:inset 0 0 34px rgba(0,0,0,.2);text-shadow:0 0 10px rgba(0,0,0,.3)}[id^=NotiflixNotifyWrap]>div>span.nx-with-icon{position:relative;float:left;width:calc(100% - 40px);margin:0 0 0 40px;padding:0 0 0 10px;-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>.nx-message-icon{left:auto;right:8px}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-with-icon{padding:0 10px 0 0;margin:0 40px 0 0}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-close-button{right:auto;left:8px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button.nx-rtl-on{padding:6px 6px 6px 36px}[id^=NotiflixNotifyWrap]>div.nx-with-close-button.nx-rtl-on{padding:10px 12px 10px 36px}[id^=NotiflixNotifyOverlay].nx-with-animation,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade{-webkit-animation:notify-animation-fade .3s ease-in-out 0s normal;animation:notify-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom{-webkit-animation:notify-animation-zoom .3s ease-in-out 0s normal;animation:notify-animation-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right{-webkit-animation:notify-animation-from-right .3s ease-in-out 0s normal;animation:notify-animation-from-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}@keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left{-webkit-animation:notify-animation-from-left .3s ease-in-out 0s normal;animation:notify-animation-from-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}@keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top{-webkit-animation:notify-animation-from-top .3s ease-in-out 0s normal;animation:notify-animation-from-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}@keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom{-webkit-animation:notify-animation-from-bottom .3s ease-in-out 0s normal;animation:notify-animation-from-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}@keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}[id^=NotiflixNotifyOverlay].nx-with-animation.nx-remove,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade.nx-remove{opacity:0;-webkit-animation:notify-remove-fade .3s ease-in-out 0s normal;animation:notify-remove-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}@keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom.nx-remove{-webkit-transform:scale(0);transform:scale(0);-webkit-animation:notify-remove-zoom .3s ease-in-out 0s normal;animation:notify-remove-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}@keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top.nx-remove{opacity:0;-webkit-animation:notify-remove-to-top .3s ease-in-out 0s normal;animation:notify-remove-to-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}@keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right.nx-remove{opacity:0;-webkit-animation:notify-remove-to-right .3s ease-in-out 0s normal;animation:notify-remove-to-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}@keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom.nx-remove{opacity:0;-webkit-animation:notify-remove-to-bottom .3s ease-in-out 0s normal;animation:notify-remove-to-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}@keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left.nx-remove{opacity:0;-webkit-animation:notify-remove-to-left .3s ease-in-out 0s normal;animation:notify-remove-to-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}@keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}'},h=0,u=function(r,d,u,p){if(!l("body"))return!1;e||f.Notify.init({});var m=c(!0,e,{});if("object"==typeof u&&!Array.isArray(u)||"object"==typeof p&&!Array.isArray(p)){var v={};"object"==typeof u?v=u:"object"==typeof p&&(v=p),e=c(!0,e,v)}var y,g,b=e[r.toLocaleLowerCase("en")];h++,"string"!=typeof d&&(d="Notiflix "+r),e.plainText&&(y=d,(g=t.document.createElement("div")).innerHTML=y,d=g.textContent||g.innerText||""),!e.plainText&&d.length>e.messageMaxLength&&(e=c(!0,e,{closeButton:!0,messageMaxLength:150}),d='Possible HTML Tags Error: The "plainText" option is "false" and the notification content length is more than the "messageMaxLength" option.'),d.length>e.messageMaxLength&&(d=d.substring(0,e.messageMaxLength)+"..."),"shadow"===e.fontAwesomeIconStyle&&(b.fontAwesomeIconColor=b.background),e.cssAnimation||(e.cssAnimationDuration=0);var x=t.document.getElementById(o.wrapID)||t.document.createElement("div");if(x.id=o.wrapID,x.style.width=e.width,x.style.zIndex=e.zindex,x.style.opacity=e.opacity,"center-center"===e.position?(x.style.left=e.distance,x.style.top=e.distance,x.style.right=e.distance,x.style.bottom=e.distance,x.style.margin="auto",x.classList.add("nx-flex-center-center"),x.style.maxHeight="calc((100vh - "+e.distance+") - "+e.distance+")",x.style.display="flex",x.style.flexWrap="wrap",x.style.flexDirection="column",x.style.justifyContent="center",x.style.alignItems="center",x.style.pointerEvents="none"):"center-top"===e.position?(x.style.left=e.distance,x.style.right=e.distance,x.style.top=e.distance,x.style.bottom="auto",x.style.margin="auto"):"center-bottom"===e.position?(x.style.left=e.distance,x.style.right=e.distance,x.style.bottom=e.distance,x.style.top="auto",x.style.margin="auto"):"right-bottom"===e.position?(x.style.right=e.distance,x.style.bottom=e.distance,x.style.top="auto",x.style.left="auto"):"left-top"===e.position?(x.style.left=e.distance,x.style.top=e.distance,x.style.right="auto",x.style.bottom="auto"):"left-bottom"===e.position?(x.style.left=e.distance,x.style.bottom=e.distance,x.style.top="auto",x.style.right="auto"):(x.style.right=e.distance,x.style.top=e.distance,x.style.left="auto",x.style.bottom="auto"),e.backOverlay){var w=t.document.getElementById(o.overlayID)||t.document.createElement("div");w.id=o.overlayID,w.style.width="100%",w.style.height="100%",w.style.position="fixed",w.style.zIndex=e.zindex-1,w.style.left=0,w.style.top=0,w.style.right=0,w.style.bottom=0,w.style.background=b.backOverlayColor||e.backOverlayColor,w.className=e.cssAnimation?"nx-with-animation":"",w.style.animationDuration=e.cssAnimation?e.cssAnimationDuration+"ms":"",t.document.getElementById(o.overlayID)||t.document.body.appendChild(w)}t.document.getElementById(o.wrapID)||t.document.body.appendChild(x);var k=t.document.createElement("div");k.id=e.ID+"-"+h,k.className=e.className+" "+b.childClassName+" "+(e.cssAnimation?"nx-with-animation":"")+" "+(e.useIcon?"nx-with-icon":"")+" nx-"+e.cssAnimationStyle+" "+(e.closeButton&&"function"!=typeof u?"nx-with-close-button":"")+" "+("function"==typeof u?"nx-with-callback":"")+" "+(e.clickToClose?"nx-notify-click-to-close":""),k.style.fontSize=e.fontSize,k.style.color=b.textColor,k.style.background=b.background,k.style.borderRadius=e.borderRadius,k.style.pointerEvents="all",e.rtl&&(k.setAttribute("dir","rtl"),k.classList.add("nx-rtl-on")),k.style.fontFamily='"'+e.fontFamily+'", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif',e.cssAnimation&&(k.style.animationDuration=e.cssAnimationDuration+"ms");var L="";if(e.closeButton&&"function"!=typeof u&&(L=''),e.useIcon)if(e.useFontAwesome)k.innerHTML=''+d+""+(e.closeButton?L:"");else{var C="";r===i?C='':r===n?C='':r===s?C='':r===a&&(C=''),k.innerHTML=C+''+d+""+(e.closeButton?L:"")}else k.innerHTML=''+d+""+(e.closeButton?L:"");if("left-bottom"===e.position||"right-bottom"===e.position){var N=t.document.getElementById(o.wrapID);N.insertBefore(k,N.firstChild)}else t.document.getElementById(o.wrapID).appendChild(k);var S=t.document.getElementById(k.id);if(S){var O,E,A=function(){S.classList.add("nx-remove");var e=t.document.getElementById(o.overlayID);e&&x.childElementCount<=0&&e.classList.add("nx-remove"),clearTimeout(O)},T=function(){if(S&&null!==S.parentNode&&S.parentNode.removeChild(S),x.childElementCount<=0&&null!==x.parentNode){x.parentNode.removeChild(x);var e=t.document.getElementById(o.overlayID);e&&null!==e.parentNode&&e.parentNode.removeChild(e)}clearTimeout(E)};if(e.closeButton&&"function"!=typeof u&&t.document.getElementById(k.id).querySelector("span.nx-close-button").addEventListener("click",(function(){A();var t=setTimeout((function(){T(),clearTimeout(t)}),e.cssAnimationDuration)})),("function"==typeof u||e.clickToClose)&&S.addEventListener("click",(function(){"function"==typeof u&&u(),A();var t=setTimeout((function(){T(),clearTimeout(t)}),e.cssAnimationDuration)})),!e.closeButton&&"function"!=typeof u){var D=function(){O=setTimeout((function(){A()}),e.timeout),E=setTimeout((function(){T()}),e.timeout+e.cssAnimationDuration)};D(),e.pauseOnHover&&(S.addEventListener("mouseenter",(function(){S.classList.add("nx-paused"),clearTimeout(O),clearTimeout(E)})),S.addEventListener("mouseleave",(function(){S.classList.remove("nx-paused"),D()})))}}if(e.showOnlyTheLastOne&&h>0)for(var I=t.document.querySelectorAll("[id^="+e.ID+"-]:not([id="+e.ID+"-"+h+"])"),M=0;M\n \n \n
').concat(n[0].name||"No name",'
\n
').concat(n[0].description||"Not found",'
\n
Temperament: ').concat(n[0].temperament,'
\n
Link to Wikipedia page\n
\n '))})).catch((function(t){return k(t)}))}))}();
+//# sourceMappingURL=index.91728126.js.map
diff --git a/index.91728126.js.map b/index.91728126.js.map
new file mode 100644
index 0000000..47ac2f8
--- /dev/null
+++ b/index.91728126.js.map
@@ -0,0 +1 @@
+{"mappings":"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","sources":["node_modules/@swc/helpers/lib/_async_to_generator.js","node_modules/regenerator-runtime/runtime.js","src/cat-api.js","node_modules/@swc/helpers/lib/_class_call_check.js","node_modules/@swc/helpers/lib/_create_class.js","node_modules/slim-select/dist/slimselect.umd.js","node_modules/notiflix/build/notiflix-notify-aio.js","src/index.js","src/createMarkup.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _asyncToGenerator;\nfunction _asyncToGenerator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","const BASE_URL = 'https://api.thecatapi.com/v1';\nconst API_KEY = 'live_ZXvXnN3nLIiVAMYsFosudfyRXWXuiSEi6HJhbZIzZhQtawavdsyjEdVTjhSqCXMm';\n\nasync function fetchBreeds() {\n const URL = `${BASE_URL}/breeds?api_key=${API_KEY}`\n const resp = await fetch(URL);\n if (!resp.ok) {\n throw new Error(resp.statusText);\n }\n return await resp.json(); \n};\n\nasync function fetchCatByBreed(breedId) {\n const URL = `${BASE_URL}/images/search?api_key=${API_KEY}&breed_ids=${breedId}`\n const resp = await fetch(URL);\n if (!resp.ok) {\n throw new Error(resp.status);\n }\n return await resp.json(); \n};\n\n\nexport { fetchBreeds, fetchCatByBreed };","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _classCallCheck;\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _createClass;\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.SlimSelect = factory());\n})(this, (function () { 'use strict';\n\n function generateID() {\n return Math.random().toString(36).substring(2, 10);\n }\n function hasClassInTree(element, className) {\n function hasClass(e, c) {\n if (c && e && e.classList && e.classList.contains(c)) {\n return e;\n }\n if (c && e && e.dataset && e.dataset.id && e.dataset.id === className) {\n return e;\n }\n return null;\n }\n function parentByClass(e, c) {\n if (!e || e === document) {\n return null;\n }\n else if (hasClass(e, c)) {\n return e;\n }\n else {\n return parentByClass(e.parentNode, c);\n }\n }\n return hasClass(element, className) || parentByClass(element, className);\n }\n function debounce(func, wait = 50, immediate = false) {\n let timeout;\n return function (...args) {\n const context = self;\n const later = () => {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n };\n }\n function isEqual(a, b) {\n return JSON.stringify(a) === JSON.stringify(b);\n }\n function kebabCase(str) {\n const result = str.replace(/[A-Z\\u00C0-\\u00D6\\u00D8-\\u00DE]/g, (match) => '-' + match.toLowerCase());\n return str[0] === str[0].toUpperCase() ? result.substring(1) : result;\n }\n\n class Optgroup {\n constructor(optgroup) {\n this.id = !optgroup.id || optgroup.id === '' ? generateID() : optgroup.id;\n this.label = optgroup.label || '';\n this.selectAll = optgroup.selectAll === undefined ? false : optgroup.selectAll;\n this.selectAllText = optgroup.selectAllText || 'Select All';\n this.closable = optgroup.closable || 'off';\n this.options = [];\n if (optgroup.options) {\n for (const o of optgroup.options) {\n this.options.push(new Option(o));\n }\n }\n }\n }\n class Option {\n constructor(option) {\n this.id = !option.id || option.id === '' ? generateID() : option.id;\n this.value = option.value === undefined ? option.text : option.value;\n this.text = option.text || '';\n this.html = option.html || '';\n this.selected = option.selected !== undefined ? option.selected : false;\n this.display = option.display !== undefined ? option.display : true;\n this.disabled = option.disabled !== undefined ? option.disabled : false;\n this.mandatory = option.mandatory !== undefined ? option.mandatory : false;\n this.placeholder = option.placeholder !== undefined ? option.placeholder : false;\n this.class = option.class || '';\n this.style = option.style || '';\n this.data = option.data || {};\n }\n }\n class Store {\n constructor(type, data) {\n this.selectType = 'single';\n this.data = [];\n this.selectType = type;\n this.setData(data);\n }\n validateDataArray(data) {\n if (!Array.isArray(data)) {\n return new Error('Data must be an array');\n }\n for (let dataObj of data) {\n if (dataObj instanceof Optgroup || 'label' in dataObj) {\n if (!('label' in dataObj)) {\n return new Error('Optgroup must have a label');\n }\n if ('options' in dataObj && dataObj.options) {\n for (let option of dataObj.options) {\n return this.validateOption(option);\n }\n }\n }\n else if (dataObj instanceof Option || 'text' in dataObj) {\n return this.validateOption(dataObj);\n }\n else {\n return new Error('Data object must be a valid optgroup or option');\n }\n }\n return null;\n }\n validateOption(option) {\n if (!('text' in option)) {\n return new Error('Option must have a text');\n }\n return null;\n }\n partialToFullData(data) {\n let dataFinal = [];\n data.forEach((dataObj) => {\n if (dataObj instanceof Optgroup || 'label' in dataObj) {\n let optOptions = [];\n if ('options' in dataObj && dataObj.options) {\n dataObj.options.forEach((option) => {\n optOptions.push(new Option(option));\n });\n }\n if (optOptions.length > 0) {\n dataFinal.push(new Optgroup(dataObj));\n }\n }\n if (dataObj instanceof Option || 'text' in dataObj) {\n dataFinal.push(new Option(dataObj));\n }\n });\n return dataFinal;\n }\n setData(data) {\n this.data = this.partialToFullData(data);\n if (this.selectType === 'single') {\n this.setSelectedBy('value', this.getSelected());\n }\n }\n getData() {\n return this.filter(null, true);\n }\n getDataOptions() {\n return this.filter(null, false);\n }\n addOption(option) {\n this.setData(this.getData().concat(new Option(option)));\n }\n setSelectedBy(selectedType, selectedValues) {\n let firstOption = null;\n let hasSelected = false;\n for (let dataObj of this.data) {\n if (dataObj instanceof Optgroup) {\n for (let option of dataObj.options) {\n if (!firstOption) {\n firstOption = option;\n }\n option.selected = hasSelected ? false : selectedValues.includes(option[selectedType]);\n if (option.selected && this.selectType === 'single') {\n hasSelected = true;\n }\n }\n }\n if (dataObj instanceof Option) {\n if (!firstOption) {\n firstOption = dataObj;\n }\n dataObj.selected = hasSelected ? false : selectedValues.includes(dataObj[selectedType]);\n if (dataObj.selected && this.selectType === 'single') {\n hasSelected = true;\n }\n }\n }\n if (this.selectType === 'single' && firstOption && !hasSelected) {\n firstOption.selected = true;\n }\n }\n getSelected() {\n let selectedOptions = this.getSelectedOptions();\n let selectedValues = [];\n selectedOptions.forEach((option) => {\n selectedValues.push(option.value);\n });\n return selectedValues;\n }\n getSelectedOptions() {\n return this.filter((opt) => {\n return opt.selected;\n }, false);\n }\n getSelectedIDs() {\n let selectedOptions = this.getSelectedOptions();\n let selectedIDs = [];\n selectedOptions.forEach((op) => {\n selectedIDs.push(op.id);\n });\n return selectedIDs;\n }\n getOptgroupByID(id) {\n for (let dataObj of this.data) {\n if (dataObj instanceof Optgroup && dataObj.id === id) {\n return dataObj;\n }\n }\n return null;\n }\n getOptionByID(id) {\n let options = this.filter((opt) => {\n return opt.id === id;\n }, false);\n return options.length ? options[0] : null;\n }\n getSelectType() {\n return this.selectType;\n }\n getFirstOption() {\n let option = null;\n for (let dataObj of this.data) {\n if (dataObj instanceof Optgroup) {\n option = dataObj.options[0];\n }\n else if (dataObj instanceof Option) {\n option = dataObj;\n }\n if (option) {\n break;\n }\n }\n return option;\n }\n search(search, searchFilter) {\n search = search.trim();\n if (search === '') {\n return this.getData();\n }\n return this.filter((opt) => {\n return searchFilter(opt, search);\n }, true);\n }\n filter(filter, includeOptgroup) {\n const dataSearch = [];\n this.data.forEach((dataObj) => {\n if (dataObj instanceof Optgroup) {\n let optOptions = [];\n dataObj.options.forEach((option) => {\n if (!filter || filter(option)) {\n if (!includeOptgroup) {\n dataSearch.push(new Option(option));\n }\n else {\n optOptions.push(new Option(option));\n }\n }\n });\n if (optOptions.length > 0) {\n let optgroup = new Optgroup(dataObj);\n optgroup.options = optOptions;\n dataSearch.push(optgroup);\n }\n }\n if (dataObj instanceof Option) {\n if (!filter || filter(dataObj)) {\n dataSearch.push(new Option(dataObj));\n }\n }\n });\n return dataSearch;\n }\n }\n\n class Render {\n constructor(settings, store, callbacks) {\n this.classes = {\n main: 'ss-main',\n placeholder: 'ss-placeholder',\n values: 'ss-values',\n single: 'ss-single',\n max: 'ss-max',\n value: 'ss-value',\n valueText: 'ss-value-text',\n valueDelete: 'ss-value-delete',\n valueOut: 'ss-value-out',\n deselect: 'ss-deselect',\n deselectPath: 'M10,10 L90,90 M10,90 L90,10',\n arrow: 'ss-arrow',\n arrowClose: 'M10,30 L50,70 L90,30',\n arrowOpen: 'M10,70 L50,30 L90,70',\n content: 'ss-content',\n openAbove: 'ss-open-above',\n openBelow: 'ss-open-below',\n search: 'ss-search',\n searchHighlighter: 'ss-search-highlight',\n searching: 'ss-searching',\n addable: 'ss-addable',\n addablePath: 'M50,10 L50,90 M10,50 L90,50',\n list: 'ss-list',\n optgroup: 'ss-optgroup',\n optgroupLabel: 'ss-optgroup-label',\n optgroupLabelText: 'ss-optgroup-label-text',\n optgroupActions: 'ss-optgroup-actions',\n optgroupSelectAll: 'ss-selectall',\n optgroupSelectAllBox: 'M60,10 L10,10 L10,90 L90,90 L90,50',\n optgroupSelectAllCheck: 'M30,45 L50,70 L90,10',\n optgroupClosable: 'ss-closable',\n option: 'ss-option',\n optionDelete: 'M10,10 L90,90 M10,90 L90,10',\n highlighted: 'ss-highlighted',\n open: 'ss-open',\n close: 'ss-close',\n selected: 'ss-selected',\n error: 'ss-error',\n disabled: 'ss-disabled',\n hide: 'ss-hide',\n };\n this.store = store;\n this.settings = settings;\n this.callbacks = callbacks;\n this.main = this.mainDiv();\n this.content = this.contentDiv();\n this.updateClassStyles();\n this.updateAriaAttributes();\n this.settings.contentLocation.appendChild(this.content.main);\n }\n enable() {\n this.main.main.classList.remove(this.classes.disabled);\n this.content.search.input.disabled = false;\n }\n disable() {\n this.main.main.classList.add(this.classes.disabled);\n this.content.search.input.disabled = true;\n }\n open() {\n this.main.arrow.path.setAttribute('d', this.classes.arrowOpen);\n this.main.main.classList.add(this.settings.openPosition === 'up' ? this.classes.openAbove : this.classes.openBelow);\n this.main.main.setAttribute('aria-expanded', 'true');\n this.moveContent();\n const selectedOptions = this.store.getSelectedOptions();\n if (selectedOptions.length) {\n const selectedId = selectedOptions[selectedOptions.length - 1].id;\n const selectedOption = this.content.list.querySelector('[data-id=\"' + selectedId + '\"]');\n if (selectedOption) {\n this.ensureElementInView(this.content.list, selectedOption);\n }\n }\n }\n close() {\n this.main.main.classList.remove(this.classes.openAbove);\n this.main.main.classList.remove(this.classes.openBelow);\n this.main.main.setAttribute('aria-expanded', 'false');\n this.content.main.classList.remove(this.classes.openAbove);\n this.content.main.classList.remove(this.classes.openBelow);\n this.main.arrow.path.setAttribute('d', this.classes.arrowClose);\n }\n updateClassStyles() {\n this.main.main.className = '';\n this.main.main.removeAttribute('style');\n this.content.main.className = '';\n this.content.main.removeAttribute('style');\n this.main.main.classList.add(this.classes.main);\n this.content.main.classList.add(this.classes.content);\n if (this.settings.style !== '') {\n this.main.main.style.cssText = this.settings.style;\n this.content.main.style.cssText = this.settings.style;\n }\n if (this.settings.class.length) {\n for (const c of this.settings.class) {\n if (c.trim() !== '') {\n this.main.main.classList.add(c.trim());\n this.content.main.classList.add(c.trim());\n }\n }\n }\n if (this.settings.contentPosition === 'relative') {\n this.content.main.classList.add('ss-' + this.settings.contentPosition);\n }\n }\n updateAriaAttributes() {\n this.main.main.role = 'combobox';\n this.main.main.setAttribute('aria-haspopup', 'listbox');\n this.main.main.setAttribute('aria-controls', this.content.main.id);\n this.main.main.setAttribute('aria-expanded', 'false');\n this.content.main.setAttribute('role', 'listbox');\n }\n mainDiv() {\n var _a;\n const main = document.createElement('div');\n main.dataset.id = this.settings.id;\n main.setAttribute('aria-label', this.settings.ariaLabel);\n main.tabIndex = 0;\n main.onkeydown = (e) => {\n switch (e.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n this.callbacks.open();\n e.key === 'ArrowDown' ? this.highlight('down') : this.highlight('up');\n return false;\n case 'Tab':\n this.callbacks.close();\n return true;\n case 'Enter':\n case ' ':\n this.callbacks.open();\n const highlighted = this.content.list.querySelector('.' + this.classes.highlighted);\n if (highlighted) {\n highlighted.click();\n }\n return false;\n case 'Escape':\n this.callbacks.close();\n return false;\n }\n return false;\n };\n main.onclick = (e) => {\n if (this.settings.disabled) {\n return;\n }\n this.settings.isOpen ? this.callbacks.close() : this.callbacks.open();\n };\n const values = document.createElement('div');\n values.classList.add(this.classes.values);\n main.appendChild(values);\n const deselect = document.createElement('div');\n deselect.classList.add(this.classes.deselect);\n const selectedOptions = (_a = this.store) === null || _a === void 0 ? void 0 : _a.getSelectedOptions();\n if (!this.settings.allowDeselect || (this.settings.isMultiple && selectedOptions && selectedOptions.length <= 0)) {\n deselect.classList.add(this.classes.hide);\n }\n else {\n deselect.classList.remove(this.classes.hide);\n }\n deselect.onclick = (e) => {\n e.stopPropagation();\n if (this.settings.disabled) {\n return;\n }\n let shouldDelete = true;\n const before = this.store.getSelectedOptions();\n const after = [];\n if (this.callbacks.beforeChange) {\n shouldDelete = this.callbacks.beforeChange(after, before) === true;\n }\n if (shouldDelete) {\n if (this.settings.isMultiple) {\n this.callbacks.setSelected([], false);\n this.updateDeselectAll();\n }\n else {\n const firstOption = this.store.getFirstOption();\n const value = firstOption ? firstOption.value : '';\n this.callbacks.setSelected(value, false);\n }\n if (this.settings.closeOnSelect) {\n this.callbacks.close();\n }\n if (this.callbacks.afterChange) {\n this.callbacks.afterChange(this.store.getSelectedOptions());\n }\n }\n };\n const deselectSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n deselectSvg.setAttribute('viewBox', '0 0 100 100');\n const deselectPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n deselectPath.setAttribute('d', this.classes.deselectPath);\n deselectSvg.appendChild(deselectPath);\n deselect.appendChild(deselectSvg);\n main.appendChild(deselect);\n const arrow = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n arrow.classList.add(this.classes.arrow);\n arrow.setAttribute('viewBox', '0 0 100 100');\n const arrowPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n arrowPath.setAttribute('d', this.classes.arrowClose);\n if (this.settings.alwaysOpen) {\n arrow.classList.add(this.classes.hide);\n }\n arrow.appendChild(arrowPath);\n main.appendChild(arrow);\n return {\n main: main,\n values: values,\n deselect: {\n main: deselect,\n svg: deselectSvg,\n path: deselectPath,\n },\n arrow: {\n main: arrow,\n path: arrowPath,\n },\n };\n }\n mainFocus(eventType) {\n if (eventType !== 'click') {\n this.main.main.focus({ preventScroll: true });\n }\n }\n placeholder() {\n const placeholderOption = this.store.filter((o) => o.placeholder, false);\n let placeholderText = this.settings.placeholderText;\n if (placeholderOption.length) {\n if (placeholderOption[0].html !== '') {\n placeholderText = placeholderOption[0].html;\n }\n else if (placeholderOption[0].text !== '') {\n placeholderText = placeholderOption[0].text;\n }\n }\n const placeholder = document.createElement('div');\n placeholder.classList.add(this.classes.placeholder);\n placeholder.innerHTML = placeholderText;\n return placeholder;\n }\n renderValues() {\n if (!this.settings.isMultiple) {\n this.renderSingleValue();\n return;\n }\n this.renderMultipleValues();\n this.updateDeselectAll();\n }\n renderSingleValue() {\n const selected = this.store.filter((o) => {\n return o.selected && !o.placeholder;\n }, false);\n const selectedSingle = selected.length > 0 ? selected[0] : null;\n if (!selectedSingle) {\n this.main.values.innerHTML = this.placeholder().outerHTML;\n }\n else {\n const singleValue = document.createElement('div');\n singleValue.classList.add(this.classes.single);\n if (selectedSingle.html) {\n singleValue.innerHTML = selectedSingle.html;\n }\n else {\n singleValue.innerText = selectedSingle.text;\n }\n this.main.values.innerHTML = singleValue.outerHTML;\n }\n if (!this.settings.allowDeselect || !selected.length) {\n this.main.deselect.main.classList.add(this.classes.hide);\n }\n else {\n this.main.deselect.main.classList.remove(this.classes.hide);\n }\n }\n renderMultipleValues() {\n let currentNodes = this.main.values.childNodes;\n let selectedOptions = this.store.filter((opt) => {\n return opt.selected && opt.display;\n }, false);\n if (selectedOptions.length === 0) {\n this.main.values.innerHTML = this.placeholder().outerHTML;\n return;\n }\n else {\n const placeholder = this.main.values.querySelector('.' + this.classes.placeholder);\n if (placeholder) {\n placeholder.remove();\n }\n }\n if (selectedOptions.length > this.settings.maxValuesShown) {\n const singleValue = document.createElement('div');\n singleValue.classList.add(this.classes.max);\n singleValue.textContent = this.settings.maxValuesMessage.replace('{number}', selectedOptions.length.toString());\n this.main.values.innerHTML = singleValue.outerHTML;\n return;\n }\n else {\n const maxValuesMessage = this.main.values.querySelector('.' + this.classes.max);\n if (maxValuesMessage) {\n maxValuesMessage.remove();\n }\n }\n let removeNodes = [];\n for (let i = 0; i < currentNodes.length; i++) {\n const node = currentNodes[i];\n const id = node.getAttribute('data-id');\n if (id) {\n const found = selectedOptions.filter((opt) => {\n return opt.id === id;\n }, false);\n if (!found.length) {\n removeNodes.push(node);\n }\n }\n }\n for (const n of removeNodes) {\n n.classList.add(this.classes.valueOut);\n setTimeout(() => {\n if (this.main.values.hasChildNodes() && this.main.values.contains(n)) {\n this.main.values.removeChild(n);\n }\n }, 100);\n }\n currentNodes = this.main.values.childNodes;\n for (let d = 0; d < selectedOptions.length; d++) {\n let shouldAdd = true;\n for (let i = 0; i < currentNodes.length; i++) {\n if (selectedOptions[d].id === String(currentNodes[i].dataset.id)) {\n shouldAdd = false;\n }\n }\n if (shouldAdd) {\n if (this.settings.keepOrder) {\n this.main.values.appendChild(this.multipleValue(selectedOptions[d]));\n }\n else {\n if (currentNodes.length === 0) {\n this.main.values.appendChild(this.multipleValue(selectedOptions[d]));\n }\n else if (d === 0) {\n this.main.values.insertBefore(this.multipleValue(selectedOptions[d]), currentNodes[d]);\n }\n else {\n currentNodes[d - 1].insertAdjacentElement('afterend', this.multipleValue(selectedOptions[d]));\n }\n }\n }\n }\n }\n multipleValue(option) {\n const value = document.createElement('div');\n value.classList.add(this.classes.value);\n value.dataset.id = option.id;\n const text = document.createElement('div');\n text.classList.add(this.classes.valueText);\n text.innerText = option.text;\n value.appendChild(text);\n if (!option.mandatory) {\n const deleteDiv = document.createElement('div');\n deleteDiv.classList.add(this.classes.valueDelete);\n deleteDiv.onclick = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (this.settings.disabled) {\n return;\n }\n let shouldDelete = true;\n const before = this.store.getSelectedOptions();\n const after = before.filter((o) => {\n return o.selected && o.id !== option.id;\n }, true);\n if (this.settings.minSelected && after.length < this.settings.minSelected) {\n return;\n }\n if (this.callbacks.beforeChange) {\n shouldDelete = this.callbacks.beforeChange(after, before) === true;\n }\n if (shouldDelete) {\n let selectedValues = [];\n for (const o of after) {\n if (o instanceof Optgroup) {\n for (const c of o.options) {\n selectedValues.push(c.value);\n }\n }\n if (o instanceof Option) {\n selectedValues.push(o.value);\n }\n }\n this.callbacks.setSelected(selectedValues, false);\n if (this.settings.closeOnSelect) {\n this.callbacks.close();\n }\n if (this.callbacks.afterChange) {\n this.callbacks.afterChange(after);\n }\n this.updateDeselectAll();\n }\n };\n const deleteSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n deleteSvg.setAttribute('viewBox', '0 0 100 100');\n const deletePath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n deletePath.setAttribute('d', this.classes.optionDelete);\n deleteSvg.appendChild(deletePath);\n deleteDiv.appendChild(deleteSvg);\n value.appendChild(deleteDiv);\n }\n return value;\n }\n contentDiv() {\n const main = document.createElement('div');\n main.dataset.id = this.settings.id;\n const search = this.searchDiv();\n main.appendChild(search.main);\n const list = this.listDiv();\n main.appendChild(list);\n return {\n main: main,\n search: search,\n list: list,\n };\n }\n moveContent() {\n if (this.settings.contentPosition === 'relative') {\n this.moveContentBelow();\n return;\n }\n if (this.settings.openPosition === 'down') {\n this.moveContentBelow();\n return;\n }\n else if (this.settings.openPosition === 'up') {\n this.moveContentAbove();\n return;\n }\n if (this.putContent() === 'up') {\n this.moveContentAbove();\n }\n else {\n this.moveContentBelow();\n }\n }\n searchDiv() {\n const main = document.createElement('div');\n const input = document.createElement('input');\n const addable = document.createElement('div');\n main.classList.add(this.classes.search);\n const searchReturn = {\n main,\n input,\n };\n if (!this.settings.showSearch) {\n main.classList.add(this.classes.hide);\n input.readOnly = true;\n }\n input.type = 'search';\n input.placeholder = this.settings.searchPlaceholder;\n input.tabIndex = -1;\n input.setAttribute('aria-label', this.settings.searchPlaceholder);\n input.setAttribute('autocapitalize', 'off');\n input.setAttribute('autocomplete', 'off');\n input.setAttribute('autocorrect', 'off');\n input.oninput = debounce((e) => {\n this.callbacks.search(e.target.value);\n }, 100);\n input.onkeydown = (e) => {\n switch (e.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n e.key === 'ArrowDown' ? this.highlight('down') : this.highlight('up');\n return false;\n case 'Tab':\n this.callbacks.close();\n return true;\n case 'Escape':\n this.callbacks.close();\n return false;\n case 'Enter':\n case ' ':\n if (this.callbacks.addable && e.ctrlKey) {\n addable.click();\n return false;\n }\n else {\n const highlighted = this.content.list.querySelector('.' + this.classes.highlighted);\n if (highlighted) {\n highlighted.click();\n return false;\n }\n }\n return true;\n }\n return true;\n };\n main.appendChild(input);\n if (this.callbacks.addable) {\n addable.classList.add(this.classes.addable);\n const plus = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n plus.setAttribute('viewBox', '0 0 100 100');\n const plusPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n plusPath.setAttribute('d', this.classes.addablePath);\n plus.appendChild(plusPath);\n addable.appendChild(plus);\n addable.onclick = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (!this.callbacks.addable) {\n return;\n }\n const inputValue = this.content.search.input.value.trim();\n if (inputValue === '') {\n this.content.search.input.focus();\n return;\n }\n const runFinish = (oo) => {\n let newOption = new Option(oo);\n this.callbacks.addOption(newOption);\n if (this.settings.isMultiple) {\n let values = this.store.getSelected();\n values.push(newOption.value);\n this.callbacks.setSelected(values, true);\n }\n else {\n this.callbacks.setSelected([newOption.value], true);\n }\n this.callbacks.search('');\n if (this.settings.closeOnSelect) {\n setTimeout(() => {\n this.callbacks.close();\n }, 100);\n }\n };\n const addableValue = this.callbacks.addable(inputValue);\n if (addableValue === false || addableValue === undefined || addableValue === null) {\n return;\n }\n if (addableValue instanceof Promise) {\n addableValue.then((value) => {\n if (typeof value === 'string') {\n runFinish({\n text: value,\n value: value,\n });\n }\n else {\n runFinish(value);\n }\n });\n }\n else if (typeof addableValue === 'string') {\n runFinish({\n text: addableValue,\n value: addableValue,\n });\n }\n else {\n runFinish(addableValue);\n }\n return;\n };\n main.appendChild(addable);\n searchReturn.addable = {\n main: addable,\n svg: plus,\n path: plusPath,\n };\n }\n return searchReturn;\n }\n searchFocus() {\n this.content.search.input.focus();\n }\n getOptions(notPlaceholder = false, notDisabled = false, notHidden = false) {\n let query = '.' + this.classes.option;\n if (notPlaceholder) {\n query += ':not(.' + this.classes.placeholder + ')';\n }\n if (notDisabled) {\n query += ':not(.' + this.classes.disabled + ')';\n }\n if (notHidden) {\n query += ':not(.' + this.classes.hide + ')';\n }\n return Array.from(this.content.list.querySelectorAll(query));\n }\n highlight(dir) {\n const options = this.getOptions(true, true, true);\n if (options.length === 0) {\n return;\n }\n if (options.length === 1) {\n if (!options[0].classList.contains(this.classes.highlighted)) {\n options[0].classList.add(this.classes.highlighted);\n return;\n }\n }\n let highlighted = false;\n for (const o of options) {\n if (o.classList.contains(this.classes.highlighted)) {\n highlighted = true;\n }\n }\n if (!highlighted) {\n for (const o of options) {\n if (o.classList.contains(this.classes.selected)) {\n o.classList.add(this.classes.highlighted);\n break;\n }\n }\n }\n for (let i = 0; i < options.length; i++) {\n if (options[i].classList.contains(this.classes.highlighted)) {\n const prevOption = options[i];\n prevOption.classList.remove(this.classes.highlighted);\n const prevParent = prevOption.parentElement;\n if (prevParent && prevParent.classList.contains(this.classes.open)) {\n const optgroupLabel = prevParent.querySelector('.' + this.classes.optgroupLabel);\n if (optgroupLabel) {\n optgroupLabel.click();\n }\n }\n let selectOption = options[dir === 'down' ? (i + 1 < options.length ? i + 1 : 0) : i - 1 >= 0 ? i - 1 : options.length - 1];\n selectOption.classList.add(this.classes.highlighted);\n this.ensureElementInView(this.content.list, selectOption);\n const selectParent = selectOption.parentElement;\n if (selectParent && selectParent.classList.contains(this.classes.close)) {\n const optgroupLabel = selectParent.querySelector('.' + this.classes.optgroupLabel);\n if (optgroupLabel) {\n optgroupLabel.click();\n }\n }\n return;\n }\n }\n options[dir === 'down' ? 0 : options.length - 1].classList.add(this.classes.highlighted);\n this.ensureElementInView(this.content.list, options[dir === 'down' ? 0 : options.length - 1]);\n }\n listDiv() {\n const options = document.createElement('div');\n options.classList.add(this.classes.list);\n return options;\n }\n renderError(error) {\n this.content.list.innerHTML = '';\n const errorDiv = document.createElement('div');\n errorDiv.classList.add(this.classes.error);\n errorDiv.textContent = error;\n this.content.list.appendChild(errorDiv);\n }\n renderSearching() {\n this.content.list.innerHTML = '';\n const searchingDiv = document.createElement('div');\n searchingDiv.classList.add(this.classes.searching);\n searchingDiv.textContent = this.settings.searchingText;\n this.content.list.appendChild(searchingDiv);\n }\n renderOptions(data) {\n this.content.list.innerHTML = '';\n if (data.length === 0) {\n const noResults = document.createElement('div');\n noResults.classList.add(this.classes.search);\n noResults.innerHTML = this.settings.searchText;\n this.content.list.appendChild(noResults);\n return;\n }\n for (const d of data) {\n if (d instanceof Optgroup) {\n const optgroupEl = document.createElement('div');\n optgroupEl.classList.add(this.classes.optgroup);\n const optgroupLabel = document.createElement('div');\n optgroupLabel.classList.add(this.classes.optgroupLabel);\n optgroupEl.appendChild(optgroupLabel);\n const optgroupLabelText = document.createElement('div');\n optgroupLabelText.classList.add(this.classes.optgroupLabelText);\n optgroupLabelText.textContent = d.label;\n optgroupLabel.appendChild(optgroupLabelText);\n const optgroupActions = document.createElement('div');\n optgroupActions.classList.add(this.classes.optgroupActions);\n optgroupLabel.appendChild(optgroupActions);\n if (this.settings.isMultiple && d.selectAll) {\n const selectAll = document.createElement('div');\n selectAll.classList.add(this.classes.optgroupSelectAll);\n let allSelected = true;\n for (const o of d.options) {\n if (!o.selected) {\n allSelected = false;\n break;\n }\n }\n if (allSelected) {\n selectAll.classList.add(this.classes.selected);\n }\n const selectAllText = document.createElement('span');\n selectAllText.textContent = d.selectAllText;\n selectAll.appendChild(selectAllText);\n const selectAllSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n selectAllSvg.setAttribute('viewBox', '0 0 100 100');\n selectAll.appendChild(selectAllSvg);\n const selectAllBox = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n selectAllBox.setAttribute('d', this.classes.optgroupSelectAllBox);\n selectAllSvg.appendChild(selectAllBox);\n const selectAllCheck = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n selectAllCheck.setAttribute('d', this.classes.optgroupSelectAllCheck);\n selectAllSvg.appendChild(selectAllCheck);\n selectAll.addEventListener('click', (e) => {\n e.preventDefault();\n e.stopPropagation();\n const currentSelected = this.store.getSelected();\n if (allSelected) {\n const newSelected = currentSelected.filter((s) => {\n for (const o of d.options) {\n if (s === o.value) {\n return false;\n }\n }\n return true;\n });\n this.callbacks.setSelected(newSelected, true);\n return;\n }\n else {\n const newSelected = currentSelected.concat(d.options.map((o) => o.value));\n for (const o of d.options) {\n if (!this.store.getOptionByID(o.id)) {\n this.callbacks.addOption(o);\n }\n }\n this.callbacks.setSelected(newSelected, true);\n return;\n }\n });\n optgroupActions.appendChild(selectAll);\n }\n if (d.closable !== 'off') {\n const optgroupClosable = document.createElement('div');\n optgroupClosable.classList.add(this.classes.optgroupClosable);\n const optgroupClosableSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n optgroupClosableSvg.setAttribute('viewBox', '0 0 100 100');\n optgroupClosableSvg.classList.add(this.classes.arrow);\n optgroupClosable.appendChild(optgroupClosableSvg);\n const optgroupClosableArrow = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n optgroupClosableSvg.appendChild(optgroupClosableArrow);\n if (d.options.some((o) => o.selected) || this.content.search.input.value.trim() !== '') {\n optgroupClosable.classList.add(this.classes.open);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowOpen);\n }\n else if (d.closable === 'open') {\n optgroupEl.classList.add(this.classes.open);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowOpen);\n }\n else if (d.closable === 'close') {\n optgroupEl.classList.add(this.classes.close);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowClose);\n }\n optgroupLabel.addEventListener('click', (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (optgroupEl.classList.contains(this.classes.close)) {\n optgroupEl.classList.remove(this.classes.close);\n optgroupEl.classList.add(this.classes.open);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowOpen);\n }\n else {\n optgroupEl.classList.remove(this.classes.open);\n optgroupEl.classList.add(this.classes.close);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowClose);\n }\n });\n optgroupActions.appendChild(optgroupClosable);\n }\n optgroupEl.appendChild(optgroupLabel);\n for (const o of d.options) {\n optgroupEl.appendChild(this.option(o));\n }\n this.content.list.appendChild(optgroupEl);\n }\n if (d instanceof Option) {\n this.content.list.appendChild(this.option(d));\n }\n }\n }\n option(option) {\n if (option.placeholder) {\n const placeholder = document.createElement('div');\n placeholder.classList.add(this.classes.option);\n placeholder.classList.add(this.classes.hide);\n return placeholder;\n }\n const optionEl = document.createElement('div');\n optionEl.dataset.id = option.id;\n optionEl.id = option.id;\n optionEl.classList.add(this.classes.option);\n optionEl.setAttribute('role', 'option');\n if (option.class) {\n option.class.split(' ').forEach((dataClass) => {\n optionEl.classList.add(dataClass);\n });\n }\n if (option.style) {\n optionEl.style.cssText = option.style;\n }\n if (this.settings.searchHighlight && this.content.search.input.value.trim() !== '') {\n optionEl.innerHTML = this.highlightText(option.html !== '' ? option.html : option.text, this.content.search.input.value, this.classes.searchHighlighter);\n }\n else if (option.html !== '') {\n optionEl.innerHTML = option.html;\n }\n else {\n optionEl.textContent = option.text;\n }\n if (this.settings.showOptionTooltips && optionEl.textContent) {\n optionEl.setAttribute('title', optionEl.textContent);\n }\n if (!option.display) {\n optionEl.classList.add(this.classes.hide);\n }\n if (option.disabled) {\n optionEl.classList.add(this.classes.disabled);\n }\n if (option.selected && this.settings.hideSelected) {\n optionEl.classList.add(this.classes.hide);\n }\n if (option.selected) {\n optionEl.classList.add(this.classes.selected);\n optionEl.setAttribute('aria-selected', 'true');\n this.main.main.setAttribute('aria-activedescendant', optionEl.id);\n }\n else {\n optionEl.classList.remove(this.classes.selected);\n optionEl.setAttribute('aria-selected', 'false');\n }\n optionEl.addEventListener('click', (e) => {\n e.preventDefault();\n e.stopPropagation();\n const selectedOptions = this.store.getSelected();\n const element = e.currentTarget;\n const elementID = String(element.dataset.id);\n if (option.disabled || (option.selected && !this.settings.allowDeselect)) {\n return;\n }\n if ((this.settings.isMultiple && this.settings.maxSelected <= selectedOptions.length && !option.selected) ||\n (this.settings.isMultiple && this.settings.minSelected >= selectedOptions.length && option.selected)) {\n return;\n }\n let shouldUpdate = false;\n const before = this.store.getSelectedOptions();\n let after = [];\n if (this.settings.isMultiple) {\n if (option.selected) {\n after = before.filter((o) => o.id !== elementID);\n }\n else {\n after = before.concat(option);\n }\n }\n if (!this.settings.isMultiple) {\n if (option.selected) {\n after = [];\n }\n else {\n after = [option];\n }\n }\n if (!this.callbacks.beforeChange) {\n shouldUpdate = true;\n }\n if (this.callbacks.beforeChange) {\n if (this.callbacks.beforeChange(after, before) === false) {\n shouldUpdate = false;\n }\n else {\n shouldUpdate = true;\n }\n }\n if (shouldUpdate) {\n if (!this.store.getOptionByID(elementID)) {\n this.callbacks.addOption(option);\n }\n this.callbacks.setSelected(after.map((o) => o.value), false);\n if (this.settings.closeOnSelect) {\n this.callbacks.close();\n }\n if (this.callbacks.afterChange) {\n this.callbacks.afterChange(after);\n }\n }\n });\n return optionEl;\n }\n destroy() {\n this.main.main.remove();\n this.content.main.remove();\n }\n highlightText(str, search, className) {\n let completedString = str;\n const regex = new RegExp('(' + search.trim() + ')(?![^<]*>[^<>]*)', 'i');\n if (!str.match(regex)) {\n return str;\n }\n const matchStartPosition = str.match(regex).index;\n const matchEndPosition = matchStartPosition + str.match(regex)[0].toString().length;\n const originalTextFoundByRegex = str.substring(matchStartPosition, matchEndPosition);\n completedString = completedString.replace(regex, `${originalTextFoundByRegex}`);\n return completedString;\n }\n moveContentAbove() {\n const mainHeight = this.main.main.offsetHeight;\n const contentHeight = this.content.main.offsetHeight;\n this.main.main.classList.remove(this.classes.openBelow);\n this.main.main.classList.add(this.classes.openAbove);\n this.content.main.classList.remove(this.classes.openBelow);\n this.content.main.classList.add(this.classes.openAbove);\n const containerRect = this.main.main.getBoundingClientRect();\n this.content.main.style.margin = '-' + (mainHeight + contentHeight - 1) + 'px 0px 0px 0px';\n this.content.main.style.top = containerRect.top + containerRect.height + window.scrollY + 'px';\n this.content.main.style.left = containerRect.left + window.scrollX + 'px';\n this.content.main.style.width = containerRect.width + 'px';\n }\n moveContentBelow() {\n this.main.main.classList.remove(this.classes.openAbove);\n this.main.main.classList.add(this.classes.openBelow);\n this.content.main.classList.remove(this.classes.openAbove);\n this.content.main.classList.add(this.classes.openBelow);\n const containerRect = this.main.main.getBoundingClientRect();\n this.content.main.style.margin = '-1px 0px 0px 0px';\n if (this.settings.contentPosition !== 'relative') {\n this.content.main.style.top = containerRect.top + containerRect.height + window.scrollY + 'px';\n this.content.main.style.left = containerRect.left + window.scrollX + 'px';\n this.content.main.style.width = containerRect.width + 'px';\n }\n }\n ensureElementInView(container, element) {\n const cTop = container.scrollTop + container.offsetTop;\n const cBottom = cTop + container.clientHeight;\n const eTop = element.offsetTop;\n const eBottom = eTop + element.clientHeight;\n if (eTop < cTop) {\n container.scrollTop -= cTop - eTop;\n }\n else if (eBottom > cBottom) {\n container.scrollTop += eBottom - cBottom;\n }\n }\n putContent() {\n const mainHeight = this.main.main.offsetHeight;\n const mainRect = this.main.main.getBoundingClientRect();\n const contentHeight = this.content.main.offsetHeight;\n const spaceBelow = window.innerHeight - (mainRect.top + mainHeight);\n if (spaceBelow <= contentHeight) {\n if (mainRect.top > contentHeight) {\n return 'up';\n }\n else {\n return 'down';\n }\n }\n return 'down';\n }\n updateDeselectAll() {\n if (!this.store || !this.settings) {\n return;\n }\n const selected = this.store.getSelectedOptions();\n const hasSelectedItems = selected && selected.length > 0;\n const isMultiple = this.settings.isMultiple;\n const allowDeselect = this.settings.allowDeselect;\n const deselectButton = this.main.deselect.main;\n const hideClass = this.classes.hide;\n if (allowDeselect && !(isMultiple && !hasSelectedItems)) {\n deselectButton.classList.remove(hideClass);\n }\n else {\n deselectButton.classList.add(hideClass);\n }\n }\n }\n\n class Select {\n constructor(select) {\n this.listen = false;\n this.observer = null;\n this.select = select;\n this.valueChange = this.valueChange.bind(this);\n this.select.addEventListener('change', this.valueChange, {\n passive: true,\n });\n this.observer = new MutationObserver(this.observeCall.bind(this));\n this.changeListen(true);\n }\n enable() {\n this.select.disabled = false;\n }\n disable() {\n this.select.disabled = true;\n }\n hideUI() {\n this.select.tabIndex = -1;\n this.select.style.display = 'none';\n this.select.setAttribute('aria-hidden', 'true');\n }\n showUI() {\n this.select.removeAttribute('tabindex');\n this.select.style.display = '';\n this.select.removeAttribute('aria-hidden');\n }\n changeListen(listen) {\n this.listen = listen;\n if (listen) {\n if (this.observer) {\n this.observer.observe(this.select, {\n subtree: true,\n childList: true,\n attributes: true,\n });\n }\n }\n if (!listen) {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n }\n valueChange(ev) {\n if (this.listen && this.onValueChange) {\n this.onValueChange(this.getSelectedValues());\n }\n return true;\n }\n observeCall(mutations) {\n if (!this.listen) {\n return;\n }\n let classChanged = false;\n let disabledChanged = false;\n let optgroupOptionChanged = false;\n for (const m of mutations) {\n if (m.target === this.select) {\n if (m.attributeName === 'disabled') {\n disabledChanged = true;\n }\n if (m.attributeName === 'class') {\n classChanged = true;\n }\n }\n if (m.target.nodeName === 'OPTGROUP' || m.target.nodeName === 'OPTION') {\n optgroupOptionChanged = true;\n }\n }\n if (classChanged && this.onClassChange) {\n this.onClassChange(this.select.className.split(' '));\n }\n if (disabledChanged && this.onDisabledChange) {\n this.changeListen(false);\n this.onDisabledChange(this.select.disabled);\n this.changeListen(true);\n }\n if (optgroupOptionChanged && this.onOptionsChange) {\n this.changeListen(false);\n this.onOptionsChange(this.getData());\n this.changeListen(true);\n }\n }\n getData() {\n let data = [];\n const nodes = this.select.childNodes;\n for (const n of nodes) {\n if (n.nodeName === 'OPTGROUP') {\n data.push(this.getDataFromOptgroup(n));\n }\n if (n.nodeName === 'OPTION') {\n data.push(this.getDataFromOption(n));\n }\n }\n return data;\n }\n getDataFromOptgroup(optgroup) {\n let data = {\n id: optgroup.id,\n label: optgroup.label,\n selectAll: optgroup.dataset ? optgroup.dataset.selectall === 'true' : false,\n selectAllText: optgroup.dataset ? optgroup.dataset.selectalltext : 'Select all',\n closable: optgroup.dataset ? optgroup.dataset.closable : 'off',\n options: [],\n };\n const options = optgroup.childNodes;\n for (const o of options) {\n if (o.nodeName === 'OPTION') {\n data.options.push(this.getDataFromOption(o));\n }\n }\n return data;\n }\n getDataFromOption(option) {\n return {\n id: option.id,\n value: option.value,\n text: option.text,\n html: option.dataset && option.dataset.html ? option.dataset.html : '',\n selected: option.selected,\n display: option.style.display === 'none' ? false : true,\n disabled: option.disabled,\n mandatory: option.dataset ? option.dataset.mandatory === 'true' : false,\n placeholder: option.dataset.placeholder === 'true',\n class: option.className,\n style: option.style.cssText,\n data: option.dataset,\n };\n }\n getSelectedValues() {\n let values = [];\n const options = this.select.childNodes;\n for (const o of options) {\n if (o.nodeName === 'OPTGROUP') {\n const optgroupOptions = o.childNodes;\n for (const oo of optgroupOptions) {\n if (oo.nodeName === 'OPTION') {\n const option = oo;\n if (option.selected) {\n values.push(option.value);\n }\n }\n }\n }\n if (o.nodeName === 'OPTION') {\n const option = o;\n if (option.selected) {\n values.push(option.value);\n }\n }\n }\n return values;\n }\n setSelected(value) {\n this.changeListen(false);\n const options = this.select.childNodes;\n for (const o of options) {\n if (o.nodeName === 'OPTGROUP') {\n const optgroup = o;\n const optgroupOptions = optgroup.childNodes;\n for (const oo of optgroupOptions) {\n if (oo.nodeName === 'OPTION') {\n const option = oo;\n option.selected = value.includes(option.value);\n }\n }\n }\n if (o.nodeName === 'OPTION') {\n const option = o;\n option.selected = value.includes(option.value);\n }\n }\n this.changeListen(true);\n }\n updateSelect(id, style, classes) {\n this.changeListen(false);\n if (id) {\n this.select.dataset.id = id;\n }\n if (style) {\n this.select.style.cssText = style;\n }\n if (classes) {\n this.select.className = '';\n classes.forEach((c) => {\n if (c.trim() !== '') {\n this.select.classList.add(c.trim());\n }\n });\n }\n this.changeListen(true);\n }\n updateOptions(data) {\n this.changeListen(false);\n this.select.innerHTML = '';\n for (const d of data) {\n if (d instanceof Optgroup) {\n this.select.appendChild(this.createOptgroup(d));\n }\n if (d instanceof Option) {\n this.select.appendChild(this.createOption(d));\n }\n }\n this.select.dispatchEvent(new Event('change'));\n this.changeListen(true);\n }\n createOptgroup(optgroup) {\n const optgroupEl = document.createElement('optgroup');\n optgroupEl.id = optgroup.id;\n optgroupEl.label = optgroup.label;\n if (optgroup.selectAll) {\n optgroupEl.dataset.selectAll = 'true';\n }\n if (optgroup.closable !== 'off') {\n optgroupEl.dataset.closable = optgroup.closable;\n }\n if (optgroup.options) {\n for (const o of optgroup.options) {\n optgroupEl.appendChild(this.createOption(o));\n }\n }\n return optgroupEl;\n }\n createOption(info) {\n const optionEl = document.createElement('option');\n optionEl.id = info.id;\n optionEl.value = info.value;\n optionEl.innerHTML = info.text;\n if (info.html !== '') {\n optionEl.setAttribute('data-html', info.html);\n }\n if (info.selected) {\n optionEl.selected = info.selected;\n }\n if (info.disabled) {\n optionEl.disabled = true;\n }\n if (info.display === false) {\n optionEl.style.display = 'none';\n }\n if (info.placeholder) {\n optionEl.setAttribute('data-placeholder', 'true');\n }\n if (info.mandatory) {\n optionEl.setAttribute('data-mandatory', 'true');\n }\n if (info.class) {\n info.class.split(' ').forEach((optionClass) => {\n optionEl.classList.add(optionClass);\n });\n }\n if (info.data && typeof info.data === 'object') {\n Object.keys(info.data).forEach((key) => {\n optionEl.setAttribute('data-' + kebabCase(key), info.data[key]);\n });\n }\n return optionEl;\n }\n destroy() {\n this.changeListen(false);\n this.select.removeEventListener('change', this.valueChange);\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n delete this.select.dataset.id;\n this.showUI();\n }\n }\n\n class Settings {\n constructor(settings) {\n this.id = '';\n this.style = '';\n this.class = [];\n this.isMultiple = false;\n this.isOpen = false;\n this.isFullOpen = false;\n this.intervalMove = null;\n if (!settings) {\n settings = {};\n }\n this.id = 'ss-' + generateID();\n this.style = settings.style || '';\n this.class = settings.class || [];\n this.disabled = settings.disabled !== undefined ? settings.disabled : false;\n this.alwaysOpen = settings.alwaysOpen !== undefined ? settings.alwaysOpen : false;\n this.showSearch = settings.showSearch !== undefined ? settings.showSearch : true;\n this.ariaLabel = settings.ariaLabel || 'Combobox';\n this.searchPlaceholder = settings.searchPlaceholder || 'Search';\n this.searchText = settings.searchText || 'No Results';\n this.searchingText = settings.searchingText || 'Searching...';\n this.searchHighlight = settings.searchHighlight !== undefined ? settings.searchHighlight : false;\n this.closeOnSelect = settings.closeOnSelect !== undefined ? settings.closeOnSelect : true;\n this.contentLocation = settings.contentLocation || document.body;\n this.contentPosition = settings.contentPosition || 'absolute';\n this.openPosition = settings.openPosition || 'auto';\n this.placeholderText = settings.placeholderText !== undefined ? settings.placeholderText : 'Select Value';\n this.allowDeselect = settings.allowDeselect !== undefined ? settings.allowDeselect : false;\n this.hideSelected = settings.hideSelected !== undefined ? settings.hideSelected : false;\n this.keepOrder = settings.keepOrder !== undefined ? settings.keepOrder : false;\n this.showOptionTooltips = settings.showOptionTooltips !== undefined ? settings.showOptionTooltips : false;\n this.minSelected = settings.minSelected || 0;\n this.maxSelected = settings.maxSelected || 1000;\n this.timeoutDelay = settings.timeoutDelay || 200;\n this.maxValuesShown = settings.maxValuesShown || 20;\n this.maxValuesMessage = settings.maxValuesMessage || '{number} selected';\n }\n }\n\n class SlimSelect {\n constructor(config) {\n var _a;\n this.events = {\n search: undefined,\n searchFilter: (opt, search) => {\n return opt.text.toLowerCase().indexOf(search.toLowerCase()) !== -1;\n },\n addable: undefined,\n beforeChange: undefined,\n afterChange: undefined,\n beforeOpen: undefined,\n afterOpen: undefined,\n beforeClose: undefined,\n afterClose: undefined,\n };\n this.windowResize = debounce(() => {\n if (!this.settings.isOpen && !this.settings.isFullOpen) {\n return;\n }\n this.render.moveContent();\n });\n this.windowScroll = debounce(() => {\n if (!this.settings.isOpen && !this.settings.isFullOpen) {\n return;\n }\n this.render.moveContent();\n });\n this.documentClick = (e) => {\n if (!this.settings.isOpen) {\n return;\n }\n if (e.target && !hasClassInTree(e.target, this.settings.id)) {\n this.close(e.type);\n }\n };\n this.windowVisibilityChange = () => {\n if (document.hidden) {\n this.close();\n }\n };\n this.selectEl = (typeof config.select === 'string' ? document.querySelector(config.select) : config.select);\n if (!this.selectEl) {\n if (config.events && config.events.error) {\n config.events.error(new Error('Could not find select element'));\n }\n return;\n }\n if (this.selectEl.tagName !== 'SELECT') {\n if (config.events && config.events.error) {\n config.events.error(new Error('Element isnt of type select'));\n }\n return;\n }\n if (this.selectEl.dataset.ssid) {\n this.destroy();\n }\n this.settings = new Settings(config.settings);\n const debounceEvents = ['afterChange', 'beforeOpen', 'afterOpen', 'beforeClose', 'afterClose'];\n for (const key in config.events) {\n if (!config.events.hasOwnProperty(key)) {\n continue;\n }\n if (debounceEvents.indexOf(key) !== -1) {\n this.events[key] = debounce(config.events[key], 100);\n }\n else {\n this.events[key] = config.events[key];\n }\n }\n this.settings.disabled = ((_a = config.settings) === null || _a === void 0 ? void 0 : _a.disabled) ? config.settings.disabled : this.selectEl.disabled;\n this.settings.isMultiple = this.selectEl.multiple;\n this.settings.style = this.selectEl.style.cssText;\n this.settings.class = this.selectEl.className.split(' ');\n this.select = new Select(this.selectEl);\n this.select.updateSelect(this.settings.id, this.settings.style, this.settings.class);\n this.select.hideUI();\n this.select.onValueChange = (values) => {\n this.setSelected(values);\n };\n this.select.onClassChange = (classes) => {\n this.settings.class = classes;\n this.render.updateClassStyles();\n };\n this.select.onDisabledChange = (disabled) => {\n if (disabled) {\n this.disable();\n }\n else {\n this.enable();\n }\n };\n this.select.onOptionsChange = (data) => {\n this.setData(data);\n };\n this.store = new Store(this.settings.isMultiple ? 'multiple' : 'single', config.data ? config.data : this.select.getData());\n if (config.data) {\n this.select.updateOptions(this.store.getData());\n }\n const renderCallbacks = {\n open: this.open.bind(this),\n close: this.close.bind(this),\n addable: this.events.addable ? this.events.addable : undefined,\n setSelected: this.setSelected.bind(this),\n addOption: this.addOption.bind(this),\n search: this.search.bind(this),\n beforeChange: this.events.beforeChange,\n afterChange: this.events.afterChange,\n };\n this.render = new Render(this.settings, this.store, renderCallbacks);\n this.render.renderValues();\n this.render.renderOptions(this.store.getData());\n const selectAriaLabel = this.selectEl.getAttribute('aria-label');\n const selectAriaLabelledBy = this.selectEl.getAttribute('aria-labelledby');\n if (selectAriaLabel) {\n this.render.main.main.setAttribute('aria-label', selectAriaLabel);\n }\n else if (selectAriaLabelledBy) {\n this.render.main.main.setAttribute('aria-labelledby', selectAriaLabelledBy);\n }\n if (this.selectEl.parentNode) {\n this.selectEl.parentNode.insertBefore(this.render.main.main, this.selectEl.nextSibling);\n }\n window.addEventListener('resize', this.windowResize, false);\n if (this.settings.openPosition === 'auto') {\n window.addEventListener('scroll', this.windowScroll, false);\n }\n document.addEventListener('visibilitychange', this.windowVisibilityChange);\n if (this.settings.disabled) {\n this.disable();\n }\n if (this.settings.alwaysOpen) {\n this.open();\n }\n this.selectEl.slim = this;\n }\n enable() {\n this.settings.disabled = false;\n this.select.enable();\n this.render.enable();\n }\n disable() {\n this.settings.disabled = true;\n this.select.disable();\n this.render.disable();\n }\n getData() {\n return this.store.getData();\n }\n setData(data) {\n const selected = this.store.getSelected();\n const err = this.store.validateDataArray(data);\n if (err) {\n if (this.events.error) {\n this.events.error(err);\n }\n return;\n }\n this.store.setData(data);\n const dataClean = this.store.getData();\n this.select.updateOptions(dataClean);\n this.render.renderValues();\n this.render.renderOptions(dataClean);\n if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {\n this.events.afterChange(this.store.getSelectedOptions());\n }\n }\n getSelected() {\n return this.store.getSelected();\n }\n setSelected(value, runAfterChange = true) {\n const selected = this.store.getSelected();\n this.store.setSelectedBy('value', Array.isArray(value) ? value : [value]);\n const data = this.store.getData();\n this.select.updateOptions(data);\n this.render.renderValues();\n if (this.render.content.search.input.value !== '') {\n this.search(this.render.content.search.input.value);\n }\n else {\n this.render.renderOptions(data);\n }\n if (runAfterChange && this.events.afterChange && !isEqual(selected, this.store.getSelected())) {\n this.events.afterChange(this.store.getSelectedOptions());\n }\n }\n addOption(option) {\n const selected = this.store.getSelected();\n if (!this.store.getDataOptions().some((o) => { var _a; return o.value === ((_a = option.value) !== null && _a !== void 0 ? _a : option.text); })) {\n this.store.addOption(option);\n }\n const data = this.store.getData();\n this.select.updateOptions(data);\n this.render.renderValues();\n this.render.renderOptions(data);\n if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {\n this.events.afterChange(this.store.getSelectedOptions());\n }\n }\n open() {\n if (this.settings.disabled || this.settings.isOpen) {\n return;\n }\n if (this.events.beforeOpen) {\n this.events.beforeOpen();\n }\n this.render.open();\n if (this.settings.showSearch) {\n this.render.searchFocus();\n }\n this.settings.isOpen = true;\n setTimeout(() => {\n if (this.events.afterOpen) {\n this.events.afterOpen();\n }\n if (this.settings.isOpen) {\n this.settings.isFullOpen = true;\n }\n document.addEventListener('click', this.documentClick);\n }, this.settings.timeoutDelay);\n if (this.settings.contentPosition === 'absolute') {\n if (this.settings.intervalMove) {\n clearInterval(this.settings.intervalMove);\n }\n this.settings.intervalMove = setInterval(this.render.moveContent.bind(this.render), 500);\n }\n }\n close(eventType = null) {\n if (!this.settings.isOpen || this.settings.alwaysOpen) {\n return;\n }\n if (this.events.beforeClose) {\n this.events.beforeClose();\n }\n this.render.close();\n if (this.render.content.search.input.value !== '') {\n this.search('');\n }\n this.render.mainFocus(eventType);\n this.settings.isOpen = false;\n this.settings.isFullOpen = false;\n setTimeout(() => {\n if (this.events.afterClose) {\n this.events.afterClose();\n }\n document.removeEventListener('click', this.documentClick);\n }, this.settings.timeoutDelay);\n if (this.settings.intervalMove) {\n clearInterval(this.settings.intervalMove);\n }\n }\n search(value) {\n if (this.render.content.search.input.value !== value) {\n this.render.content.search.input.value = value;\n }\n if (!this.events.search) {\n this.render.renderOptions(value === '' ? this.store.getData() : this.store.search(value, this.events.searchFilter));\n return;\n }\n this.render.renderSearching();\n const searchResp = this.events.search(value, this.store.getSelectedOptions());\n if (searchResp instanceof Promise) {\n searchResp\n .then((data) => {\n this.render.renderOptions(this.store.partialToFullData(data));\n })\n .catch((err) => {\n this.render.renderError(typeof err === 'string' ? err : err.message);\n });\n return;\n }\n else if (Array.isArray(searchResp)) {\n this.render.renderOptions(this.store.partialToFullData(searchResp));\n }\n else {\n this.render.renderError('Search event must return a promise or an array of data');\n }\n }\n destroy() {\n document.removeEventListener('click', this.documentClick);\n window.removeEventListener('resize', this.windowResize, false);\n if (this.settings.openPosition === 'auto') {\n window.removeEventListener('scroll', this.windowScroll, false);\n }\n document.removeEventListener('visibilitychange', this.windowVisibilityChange);\n this.store.setData([]);\n this.render.destroy();\n this.select.destroy();\n }\n }\n\n return SlimSelect;\n\n}));\n","/*\n* Notiflix Notify AIO (https://notiflix.github.io)\n* Description: This file has been created automatically that using \"notiflix.js\", and \"notiflix.css\" files.\n* Version: 3.2.6\n* Author: Furkan (https://github.com/furcan)\n* Copyright 2019 - 2023 Notiflix, MIT Licence (https://opensource.org/licenses/MIT)\n*/\n\n/* global define */\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof module === 'object' && typeof module.exports === 'object') {\n module.exports = factory(root);\n } else {\n root.Notiflix = factory(root);\n }\n})(typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this, function (window) {\n\n 'use strict';\n\n // COMMON: SSR check: begin\n if (typeof window === 'undefined' && typeof window.document === 'undefined') {\n return false;\n }\n // COMMON: SSR check: end\n\n // COMMON: Variables: begin\n var notiflixNamespace = 'Notiflix';\n var notiflixConsoleDocs = '\\n\\nVisit documentation page to learn more: https://notiflix.github.io/documentation';\n var defaultFontFamily = '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif';\n // COMMON: Variables: end\n\n // NOTIFY: Default Settings: begin\n var typesNotify = {\n Success: 'Success',\n Failure: 'Failure',\n Warning: 'Warning',\n Info: 'Info',\n };\n var newNotifySettings;\n var notifySettings = {\n wrapID: 'NotiflixNotifyWrap', // can not customizable\n overlayID: 'NotiflixNotifyOverlay', // can not customizable\n width: '280px',\n position: 'right-top', // 'right-top' - 'right-bottom' - 'left-top' - 'left-bottom' - 'center-top' - 'center-bottom' - 'center-center'\n distance: '10px',\n opacity: 1,\n borderRadius: '5px',\n rtl: false,\n timeout: 3000,\n messageMaxLength: 110,\n backOverlay: false,\n backOverlayColor: 'rgba(0,0,0,0.5)',\n plainText: true,\n showOnlyTheLastOne: false,\n clickToClose: false,\n pauseOnHover: true,\n\n ID: 'NotiflixNotify',\n className: 'notiflix-notify',\n zindex: 4001,\n fontFamily: 'Quicksand',\n fontSize: '13px',\n cssAnimation: true,\n cssAnimationDuration: 400,\n cssAnimationStyle: 'fade', // 'fade' - 'zoom' - 'from-right' - 'from-top' - 'from-bottom' - 'from-left'\n closeButton: false,\n useIcon: true,\n useFontAwesome: false,\n fontAwesomeIconStyle: 'basic', // 'basic' - 'shadow'\n fontAwesomeIconSize: '34px',\n\n success: {\n background: '#32c682',\n textColor: '#fff',\n childClassName: 'notiflix-notify-success',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-check-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(50,198,130,0.2)',\n },\n\n failure: {\n background: '#ff5549',\n textColor: '#fff',\n childClassName: 'notiflix-notify-failure',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-times-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(255,85,73,0.2)',\n },\n\n warning: {\n background: '#eebf31',\n textColor: '#fff',\n childClassName: 'notiflix-notify-warning',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-exclamation-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(238,191,49,0.2)',\n },\n\n info: {\n background: '#26c0d3',\n textColor: '#fff',\n childClassName: 'notiflix-notify-info',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-info-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(38,192,211,0.2)',\n },\n };\n // NOTIFY: Default Settings: end\n\n // COMMON: Console Error: begin\n var commonConsoleError = function (message) {\n return console.error('%c ' + notiflixNamespace + ' Error ', 'padding:2px;border-radius:20px;color:#fff;background:#ff5549', '\\n' + message + notiflixConsoleDocs);\n };\n // COMMON: Console Error: end\n\n // COMMON: Check Head or Body: begin\n var commonCheckHeadOrBody = function (element) {\n if (!element) { element = 'head'; }\n if (window.document[element] === null) {\n commonConsoleError('\\nNotiflix needs to be appended to the \"<' + element + '>\" element, but you called it before the \"<' + element + '>\" element has been created.');\n return false;\n }\n return true;\n };\n // COMMON: Check Head or Body: end\n\n // COMMON: Set Internal CSS Codes: begin\n var commonSetInternalCSSCodes = function (getInternalCSSCodes, styleElementId) {\n // check doc head\n if (!commonCheckHeadOrBody('head')) { return false; }\n\n // internal css\n if (getInternalCSSCodes() !== null && !window.document.getElementById(styleElementId)) {\n var internalCSS = window.document.createElement('style');\n internalCSS.id = styleElementId;\n internalCSS.innerHTML = getInternalCSSCodes();\n window.document.head.appendChild(internalCSS);\n }\n };\n // COMMON: Set Internal CSS Codes: end\n\n // COMMON: Extend Options: begin\n var commonExtendOptions = function () {\n // variables\n var extended = {};\n var deep = false;\n var i = 0;\n // check if a deep merge\n if (Object.prototype.toString.call(arguments[0]) === '[object Boolean]') {\n deep = arguments[0];\n i++;\n }\n // merge the object into the extended object\n var merge = function (obj) {\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n // if property is an object, merge properties\n if (deep && Object.prototype.toString.call(obj[prop]) === '[object Object]') {\n extended[prop] = commonExtendOptions(extended[prop], obj[prop]);\n } else {\n extended[prop] = obj[prop];\n }\n }\n }\n };\n // loop through each object and conduct a merge\n for (; i < arguments.length; i++) {\n merge(arguments[i]);\n }\n return extended;\n };\n // COMMON: Extend Options: end\n\n // COMMON: Get Plaintext: begin\n var commonGetPlaintext = function (html) {\n var htmlPool = window.document.createElement('div');\n htmlPool.innerHTML = html;\n return htmlPool.textContent || htmlPool.innerText || '';\n };\n // COMMON: Get Plaintext: end\n\n // NOTIFY: Get Internal CSS Codes: begin\n var notifyGetInternalCSSCodes = function () {\n var notifyCSS = '[id^=NotiflixNotifyWrap]{pointer-events:none;position:fixed;z-index:4001;opacity:1;right:10px;top:10px;width:280px;max-width:96%;-webkit-box-sizing:border-box;box-sizing:border-box;background:transparent}[id^=NotiflixNotifyWrap].nx-flex-center-center{max-height:calc(100vh - 20px);overflow-x:hidden;overflow-y:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin:auto}[id^=NotiflixNotifyWrap]::-webkit-scrollbar{width:0;height:0}[id^=NotiflixNotifyWrap]::-webkit-scrollbar-thumb{background:transparent}[id^=NotiflixNotifyWrap]::-webkit-scrollbar-track{background:transparent}[id^=NotiflixNotifyWrap] *{-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyOverlay]{-webkit-transition:background .3s ease-in-out;-o-transition:background .3s ease-in-out;transition:background .3s ease-in-out}[id^=NotiflixNotifyWrap]>div{pointer-events:all;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:\"Quicksand\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;width:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;margin:0 0 10px;border-radius:5px;background:#1e1e1e;color:#fff;padding:10px 12px;font-size:14px;line-height:1.4}[id^=NotiflixNotifyWrap]>div:last-child{margin:0}[id^=NotiflixNotifyWrap]>div.nx-with-callback{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-icon{padding:8px;min-height:56px}[id^=NotiflixNotifyWrap]>div.nx-paused{cursor:auto}[id^=NotiflixNotifyWrap]>div.nx-notify-click-to-close{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-close-button{padding:10px 36px 10px 12px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button{padding:6px 36px 6px 6px}[id^=NotiflixNotifyWrap]>div>span.nx-message{cursor:inherit;font-weight:normal;font-family:inherit!important;word-break:break-all;word-break:break-word}[id^=NotiflixNotifyWrap]>div>span.nx-close-button{cursor:pointer;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;position:absolute;right:8px;top:0;bottom:0;margin:auto;color:inherit;width:20px;height:20px}[id^=NotiflixNotifyWrap]>div>span.nx-close-button:hover{-webkit-transform:rotate(90deg);transform:rotate(90deg)}[id^=NotiflixNotifyWrap]>div>span.nx-close-button>svg{position:absolute;width:16px;height:16px;right:2px;top:2px}[id^=NotiflixNotifyWrap]>div>.nx-message-icon{position:absolute;width:40px;height:40px;font-size:30px;line-height:40px;text-align:center;left:8px;top:0;bottom:0;margin:auto;border-radius:inherit}[id^=NotiflixNotifyWrap]>div>.nx-message-icon-fa.nx-message-icon-fa-shadow{color:inherit;background:rgba(0,0,0,.15);-webkit-box-shadow:inset 0 0 34px rgba(0,0,0,.2);box-shadow:inset 0 0 34px rgba(0,0,0,.2);text-shadow:0 0 10px rgba(0,0,0,.3)}[id^=NotiflixNotifyWrap]>div>span.nx-with-icon{position:relative;float:left;width:calc(100% - 40px);margin:0 0 0 40px;padding:0 0 0 10px;-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>.nx-message-icon{left:auto;right:8px}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-with-icon{padding:0 10px 0 0;margin:0 40px 0 0}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-close-button{right:auto;left:8px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button.nx-rtl-on{padding:6px 6px 6px 36px}[id^=NotiflixNotifyWrap]>div.nx-with-close-button.nx-rtl-on{padding:10px 12px 10px 36px}[id^=NotiflixNotifyOverlay].nx-with-animation,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade{-webkit-animation:notify-animation-fade .3s ease-in-out 0s normal;animation:notify-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom{-webkit-animation:notify-animation-zoom .3s ease-in-out 0s normal;animation:notify-animation-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right{-webkit-animation:notify-animation-from-right .3s ease-in-out 0s normal;animation:notify-animation-from-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}@keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left{-webkit-animation:notify-animation-from-left .3s ease-in-out 0s normal;animation:notify-animation-from-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}@keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top{-webkit-animation:notify-animation-from-top .3s ease-in-out 0s normal;animation:notify-animation-from-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}@keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom{-webkit-animation:notify-animation-from-bottom .3s ease-in-out 0s normal;animation:notify-animation-from-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}@keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}[id^=NotiflixNotifyOverlay].nx-with-animation.nx-remove,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade.nx-remove{opacity:0;-webkit-animation:notify-remove-fade .3s ease-in-out 0s normal;animation:notify-remove-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}@keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom.nx-remove{-webkit-transform:scale(0);transform:scale(0);-webkit-animation:notify-remove-zoom .3s ease-in-out 0s normal;animation:notify-remove-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}@keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top.nx-remove{opacity:0;-webkit-animation:notify-remove-to-top .3s ease-in-out 0s normal;animation:notify-remove-to-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}@keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right.nx-remove{opacity:0;-webkit-animation:notify-remove-to-right .3s ease-in-out 0s normal;animation:notify-remove-to-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}@keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom.nx-remove{opacity:0;-webkit-animation:notify-remove-to-bottom .3s ease-in-out 0s normal;animation:notify-remove-to-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}@keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left.nx-remove{opacity:0;-webkit-animation:notify-remove-to-left .3s ease-in-out 0s normal;animation:notify-remove-to-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}@keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}';\n return notifyCSS || null;\n };\n // NOTIFY: Get Internal CSS Codes: end\n\n // NOTIFY: Create: begin\n var notifyCreateCounter = 0;\n var notifyCreate = function (notifyType, message, callbackOrOptions, options) {\n // check doc body\n if (!commonCheckHeadOrBody('body')) { return false; }\n\n // if not initialized pretend like init\n if (!newNotifySettings) {\n Notiflix.Notify.init({});\n }\n\n // create a backup for new settings\n var newNotifySettingsBackup = commonExtendOptions(true, newNotifySettings, {});\n\n // check callbackOrOptions and options: begin\n if ((typeof callbackOrOptions === 'object' && !Array.isArray(callbackOrOptions)) || (typeof options === 'object' && !Array.isArray(options))) {\n // new options\n var newOptions = {};\n if (typeof callbackOrOptions === 'object') {\n newOptions = callbackOrOptions;\n } else if (typeof options === 'object') {\n newOptions = options;\n }\n\n // extend new settings with the new options\n newNotifySettings = commonExtendOptions(true, newNotifySettings, newOptions);\n }\n // check callbackOrOptions and options: end\n\n // notify type\n var theType = newNotifySettings[notifyType.toLocaleLowerCase('en')];\n\n // notify counter\n notifyCreateCounter++;\n\n // check the message: begin\n if (typeof message !== 'string') {\n message = 'Notiflix ' + notifyType;\n }\n // check the message: end\n\n // if plainText is true => HTML tags not allowed: begin\n if (newNotifySettings.plainText) {\n message = commonGetPlaintext(message); // message plain text\n }\n // if plainText is true => HTML tags not allowed: end\n\n // if plainText is false but the message length more than messageMaxLength => Possible HTML tags error: begin\n if (!newNotifySettings.plainText && message.length > newNotifySettings.messageMaxLength) {\n // extend settings for error massege\n newNotifySettings = commonExtendOptions(true, newNotifySettings, { closeButton: true, messageMaxLength: 150 });\n // error message\n message = 'Possible HTML Tags Error: The \"plainText\" option is \"false\" and the notification content length is more than the \"messageMaxLength\" option.';\n }\n // if plainText is false but the message length more than messageMaxLength => Possible HTML tags error: end\n\n // check message max length: begin\n if (message.length > newNotifySettings.messageMaxLength) {\n message = message.substring(0, newNotifySettings.messageMaxLength) + '...';\n }\n // check message max length: end\n\n // font awesome icon style: begin\n if (newNotifySettings.fontAwesomeIconStyle === 'shadow') {\n theType.fontAwesomeIconColor = theType.background;\n }\n // font awesome icon style: end\n\n // if cssAnimaion is false => duration: begin\n if (!newNotifySettings.cssAnimation) {\n newNotifySettings.cssAnimationDuration = 0;\n }\n // if cssAnimaion is false => duration: end\n\n // notify wrap: begin\n var ntflxNotifyWrap = window.document.getElementById(notifySettings.wrapID) || window.document.createElement('div');\n ntflxNotifyWrap.id = notifySettings.wrapID;\n ntflxNotifyWrap.style.width = newNotifySettings.width;\n ntflxNotifyWrap.style.zIndex = newNotifySettings.zindex;\n ntflxNotifyWrap.style.opacity = newNotifySettings.opacity;\n\n // wrap position: begin\n if (newNotifySettings.position === 'center-center') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.margin = 'auto';\n ntflxNotifyWrap.classList.add('nx-flex-center-center');\n ntflxNotifyWrap.style.maxHeight = 'calc((100vh - ' + newNotifySettings.distance + ') - ' + newNotifySettings.distance + ')';\n ntflxNotifyWrap.style.display = 'flex';\n ntflxNotifyWrap.style.flexWrap = 'wrap';\n ntflxNotifyWrap.style.flexDirection = 'column';\n ntflxNotifyWrap.style.justifyContent = 'center';\n ntflxNotifyWrap.style.alignItems = 'center';\n ntflxNotifyWrap.style.pointerEvents = 'none';\n } else if (newNotifySettings.position === 'center-top') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = 'auto';\n ntflxNotifyWrap.style.margin = 'auto';\n } else if (newNotifySettings.position === 'center-bottom') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.margin = 'auto';\n } else if (newNotifySettings.position === 'right-bottom') {\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.left = 'auto';\n } else if (newNotifySettings.position === 'left-top') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = 'auto';\n ntflxNotifyWrap.style.bottom = 'auto';\n } else if (newNotifySettings.position === 'left-bottom') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.right = 'auto';\n } else { // 'right-top' or else\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.left = 'auto';\n ntflxNotifyWrap.style.bottom = 'auto';\n }\n // wrap position: end\n\n // if background overlay is true: begin\n if (newNotifySettings.backOverlay) {\n var ntflxNotifyOverlay = window.document.getElementById(notifySettings.overlayID) || window.document.createElement('div');\n ntflxNotifyOverlay.id = notifySettings.overlayID;\n ntflxNotifyOverlay.style.width = '100%';\n ntflxNotifyOverlay.style.height = '100%';\n ntflxNotifyOverlay.style.position = 'fixed';\n ntflxNotifyOverlay.style.zIndex = newNotifySettings.zindex - 1;\n ntflxNotifyOverlay.style.left = 0;\n ntflxNotifyOverlay.style.top = 0;\n ntflxNotifyOverlay.style.right = 0;\n ntflxNotifyOverlay.style.bottom = 0;\n ntflxNotifyOverlay.style.background = theType.backOverlayColor || newNotifySettings.backOverlayColor;\n ntflxNotifyOverlay.className = newNotifySettings.cssAnimation ? 'nx-with-animation' : '';\n ntflxNotifyOverlay.style.animationDuration = newNotifySettings.cssAnimation ? newNotifySettings.cssAnimationDuration + 'ms' : '';\n\n if (!window.document.getElementById(notifySettings.overlayID)) {\n window.document.body.appendChild(ntflxNotifyOverlay);\n }\n }\n // if background overlay is true: end\n\n if (!window.document.getElementById(notifySettings.wrapID)) {\n window.document.body.appendChild(ntflxNotifyWrap);\n }\n // notify wrap: end\n\n // notify content: begin\n var ntflxNotify = window.document.createElement('div');\n ntflxNotify.id = newNotifySettings.ID + '-' + notifyCreateCounter;\n ntflxNotify.className = newNotifySettings.className + ' ' + theType.childClassName + ' ' + (newNotifySettings.cssAnimation ? 'nx-with-animation' : '') + ' ' + (newNotifySettings.useIcon ? 'nx-with-icon' : '') + ' nx-' + newNotifySettings.cssAnimationStyle + ' ' + (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function' ? 'nx-with-close-button' : '') + ' ' + (typeof callbackOrOptions === 'function' ? 'nx-with-callback' : '') + ' ' + (newNotifySettings.clickToClose ? 'nx-notify-click-to-close' : '');\n ntflxNotify.style.fontSize = newNotifySettings.fontSize;\n ntflxNotify.style.color = theType.textColor;\n ntflxNotify.style.background = theType.background;\n ntflxNotify.style.borderRadius = newNotifySettings.borderRadius;\n ntflxNotify.style.pointerEvents = 'all';\n\n // rtl: begin\n if (newNotifySettings.rtl) {\n ntflxNotify.setAttribute('dir', 'rtl');\n ntflxNotify.classList.add('nx-rtl-on');\n }\n // rtl: end\n\n // font-family: begin\n ntflxNotify.style.fontFamily = '\"' + newNotifySettings.fontFamily + '\", ' + defaultFontFamily;\n // font-family: end\n\n // use css animation: begin\n if (newNotifySettings.cssAnimation) {\n ntflxNotify.style.animationDuration = newNotifySettings.cssAnimationDuration + 'ms';\n }\n // use css animation: end\n\n // close button element: begin\n var closeButtonHTML = '';\n if (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n closeButtonHTML = '';\n }\n // close buttpon element: end\n\n // use icon: begin\n if (newNotifySettings.useIcon) {\n // use font awesome\n if (newNotifySettings.useFontAwesome) {\n ntflxNotify.innerHTML = '' + message + '' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n // use notiflix icon\n else {\n var svgIcon = '';\n if (notifyType === typesNotify.Success) { // success\n svgIcon = '';\n } else if (notifyType === typesNotify.Failure) { // failure\n svgIcon = '';\n } else if (notifyType === typesNotify.Warning) { // warning\n svgIcon = '';\n } else if (notifyType === typesNotify.Info) { // info\n svgIcon = '';\n }\n ntflxNotify.innerHTML = svgIcon + '' + message + '' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n }\n // without icon\n else {\n ntflxNotify.innerHTML = '' + message + '' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n // use icon: end\n // notify content: end\n\n // notify append or prepend: begin\n if (newNotifySettings.position === 'left-bottom' || newNotifySettings.position === 'right-bottom') { // the new one will be first\n var notifyWrap = window.document.getElementById(notifySettings.wrapID);\n notifyWrap.insertBefore(ntflxNotify, notifyWrap.firstChild);\n } else {\n window.document.getElementById(notifySettings.wrapID).appendChild(ntflxNotify);\n }\n // notify append or prepend: end\n\n // remove by timeout or click: begin\n var eachNotifyElement = window.document.getElementById(ntflxNotify.id);\n if (eachNotifyElement) {\n // timeout variables\n var timeoutHide;\n var timeoutRemove;\n\n // hide notify elm and hide overlay: begin\n var hideNotifyElementsAndOverlay = function () {\n eachNotifyElement.classList.add('nx-remove');\n var removeOverlay = window.document.getElementById(notifySettings.overlayID);\n if (removeOverlay && ntflxNotifyWrap.childElementCount <= 0) {\n removeOverlay.classList.add('nx-remove');\n }\n clearTimeout(timeoutHide);\n };\n // hide notify elm and hide overlay: end\n\n // remove notify elm and wrapper: begin\n var removeNotifyElmentsAndWrapper = function () {\n if (eachNotifyElement && eachNotifyElement.parentNode !== null) {\n eachNotifyElement.parentNode.removeChild(eachNotifyElement);\n }\n if (ntflxNotifyWrap.childElementCount <= 0 && ntflxNotifyWrap.parentNode !== null) { // if childs count === 0 remove wrap\n ntflxNotifyWrap.parentNode.removeChild(ntflxNotifyWrap);\n var removeOverlay = window.document.getElementById(notifySettings.overlayID);\n if (removeOverlay && removeOverlay.parentNode !== null) {\n removeOverlay.parentNode.removeChild(removeOverlay);\n }\n }\n clearTimeout(timeoutRemove);\n };\n // remove notify elm and wrapper: end\n\n // if has close button and callbackOrOptions is not a function: begin\n if (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n var closeButtonElm = window.document.getElementById(ntflxNotify.id).querySelector('span.nx-close-button');\n closeButtonElm.addEventListener('click', function () {\n hideNotifyElementsAndOverlay();\n var clickToCloseTimeout = setTimeout(function () {\n removeNotifyElmentsAndWrapper();\n clearTimeout(clickToCloseTimeout);\n }, newNotifySettings.cssAnimationDuration);\n });\n }\n // if has close button and callbackOrOptions is not a function: end\n\n // if callbackOrOptions or click to close: begin\n if (typeof callbackOrOptions === 'function' || newNotifySettings.clickToClose) {\n eachNotifyElement.addEventListener('click', function () {\n if (typeof callbackOrOptions === 'function') {\n callbackOrOptions();\n }\n hideNotifyElementsAndOverlay();\n var callbackTimeout = setTimeout(function () {\n removeNotifyElmentsAndWrapper();\n clearTimeout(callbackTimeout);\n }, newNotifySettings.cssAnimationDuration);\n });\n }\n // if callbackOrOptions or click to close: end\n\n // else auto remove: begin\n if (!newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n // auto remove: begin\n var autoRemove = function () {\n timeoutHide = setTimeout(function () {\n hideNotifyElementsAndOverlay();\n }, newNotifySettings.timeout);\n timeoutRemove = setTimeout(function () {\n removeNotifyElmentsAndWrapper();\n }, newNotifySettings.timeout + newNotifySettings.cssAnimationDuration);\n };\n autoRemove();\n // auto remove: end\n\n // pause auto remove: begin\n if (newNotifySettings.pauseOnHover) {\n eachNotifyElement.addEventListener('mouseenter', function () {\n eachNotifyElement.classList.add('nx-paused');\n clearTimeout(timeoutHide);\n clearTimeout(timeoutRemove);\n });\n eachNotifyElement.addEventListener('mouseleave', function () {\n eachNotifyElement.classList.remove('nx-paused');\n autoRemove();\n });\n }\n // pause auto remove: end\n }\n // else auto remove: end\n }\n // remove by timeout or click: end\n\n // notify - show only the last one: begin\n if (newNotifySettings.showOnlyTheLastOne && notifyCreateCounter > 0) {\n var allNotifyElmNotTheLastOne = window.document.querySelectorAll('[id^=' + newNotifySettings.ID + '-]:not([id=' + newNotifySettings.ID + '-' + notifyCreateCounter + '])');\n for (var i = 0; i < allNotifyElmNotTheLastOne.length; i++) {\n var eachNotifyElmNotLastOne = allNotifyElmNotTheLastOne[i];\n if (eachNotifyElmNotLastOne.parentNode !== null) {\n eachNotifyElmNotLastOne.parentNode.removeChild(eachNotifyElmNotLastOne);\n }\n }\n }\n // notify - show only the last one: end\n\n // extend new settings with the backup settings\n newNotifySettings = commonExtendOptions(true, newNotifySettings, newNotifySettingsBackup);\n\n };\n // NOTIFY: Create: end\n\n var Notiflix = {\n Notify: {\n // Init\n init: function (userNotifyOptions) {\n // extend options\n newNotifySettings = commonExtendOptions(true, notifySettings, userNotifyOptions);\n // internal css if exist\n commonSetInternalCSSCodes(notifyGetInternalCSSCodes, 'NotiflixNotifyInternalCSS');\n },\n // Merge First Init\n merge: function (userNotifyExtendOptions) {\n // if initialized already\n if (newNotifySettings) {\n newNotifySettings = commonExtendOptions(true, newNotifySettings, userNotifyExtendOptions);\n }\n // initialize first\n else {\n commonConsoleError('You have to initialize the Notify module before call Merge function.');\n return false;\n }\n },\n // Success\n success: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Success, message, callbackOrOptions, options);\n },\n // Failure\n failure: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Failure, message, callbackOrOptions, options);\n },\n // Warning\n warning: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Warning, message, callbackOrOptions, options);\n },\n // Info\n info: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Info, message, callbackOrOptions, options);\n },\n },\n };\n\n if (typeof window.Notiflix === 'object') {\n return commonExtendOptions(true, window.Notiflix, { Notify: Notiflix.Notify });\n } else {\n return { Notify: Notiflix.Notify };\n }\n\n});","import { fetchBreeds, fetchCatByBreed } from './cat-api';\nimport { createMarkup } from './createMarkup';\nimport SlimSelect from 'slim-select'\nimport { Notify } from 'notiflix/build/notiflix-notify-aio';\nimport 'slim-select/dist/slimselect.css';\nimport '../src/styles.css'\n\nconst breedSelect = document.querySelector('.breed-select');\nconst catInfo = document.querySelector('.cat-info');\nconst loader = document.querySelector('.loader');\nconst error = document.querySelector('.error');\n\n\nerror.classList.add('is-hidden');\n\nlet storedBreeds = [];\n\nfetchBreeds()\n .then(data => {\n data = data.filter(img => img.image?.url != null)\n data.forEach(breed => {\n storedBreeds.push({ text: breed.name, value: breed.id });\n });\n new SlimSelect({\n select: breedSelect,\n data: storedBreeds\n });\n })\n .catch(err => onError(err));\n\n//console.log(storedBreeds)\n \nbreedSelect.addEventListener('change', onSelectBreed);\n\nfunction onSelectBreed(event) {\n const breedId = event.currentTarget.value;\n catInfo.classList.add('is-hidden');\n loader.classList.remove('is-hidden');\n\n // console.log(breedId);\n fetchCatByBreed(breedId)\n .then(data => {\n //console.log(data)\n loader.classList.add('is-hidden');\n catInfo.classList.remove('is-hidden');\n catInfo.innerHTML = createMarkup(data[0]);\n })\n .catch(err=>onError(err));\n};\n\n\nfunction onError(err) {\n breedSelect.classList.add('is-hidden');\n loader.classList.add('is-hidden');\n\n Notify.failure('Oops! Something went wrong! Try reloading the page!',\n {\n position: 'center-center',\n timeout: 3000,\n width: '300px',\n fontSize: '22px'\n });\n};\n\n \n\n\n","function createMarkup(catData) {\n const { url, breeds } = catData;\n return `\n
\n
\n
${breeds[0].name || 'No name'}
\n
${breeds[0].description || 'Not found'}
\n
Temperament: ${breeds[0].temperament}
\n
Link to Wikipedia page\n
\n
`;\n};\n\nexport { createMarkup };"],"names":["$84ebd01c1ddf4bef$var$asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","Object","defineProperty","$84ebd01c1ddf4bef$exports","default","fn","self","this","args","arguments","apply","err","undefined","$21b983287c82ebd3$var$runtime","exports","Op","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","enumerable","configurable","writable","err1","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","GenStateSuspendedStart","method","GenStateExecuting","Error","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","GenStateSuspendedYield","makeInvokeMethod","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","invoke","result","value1","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","TypeError","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","next1","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","iter","keys","object","key1","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","$21b983287c82ebd3$exports","regeneratorRuntime","accidentalStrictMode","globalThis","Function","$ae0c329fb0fb36dc$var$BASE_URL","$ae0c329fb0fb36dc$var$API_KEY","$ae0c329fb0fb36dc$var$_fetchBreeds","$parcel$interopDefault","_callee","URL","resp","concat","fetch","_ctx","ok","statusText","json","$ae0c329fb0fb36dc$export$57b7d3a597416aa2","breedId","$ae0c329fb0fb36dc$var$_fetchCatByBreed","status","$665014edacbfe17b$exports","instance","Constructor","$74e7f8130373505f$var$_defineProperties","target","props","descriptor","$74e7f8130373505f$exports","protoProps","staticProps","$72df7f47b4163a4e$exports","generateID","Math","random","toString","substring","hasClassInTree","element","className","hasClass","e","c","classList","contains","dataset","id","parentByClass","document","parentNode","debounce","func","timeout","wait","immediate","_len","Array","_key","later","callNow","clearTimeout","setTimeout","isEqual","a","b","JSON","stringify","kebabCase","str","replace","match","toLowerCase","toUpperCase","Optgroup1","Optgroup","optgroup","label","selectAll","selectAllText","closable","options","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","o","Option1","return","Option","option","text","html","selected","display","disabled","mandatory","placeholder","class","style","data","Store1","Store","selectType","setData","isArray","dataObj","validateOption","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_step1","_iterator1","dataFinal","optOptions","partialToFullData","setSelectedBy","getSelected","filter","getData","selectedType","selectedValues","firstOption","hasSelected","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","includes","selectedOptions","getSelectedOptions","opt","selectedIDs","op","search","searchFilter","trim","includeOptgroup","dataSearch","Render1","Render","settings","store","callbacks","classes","main","single","max","valueText","valueDelete","valueOut","deselect","deselectPath","arrow","arrowClose","arrowOpen","content","openAbove","openBelow","searchHighlighter","searching","addable","addablePath","list","optgroupLabel","optgroupLabelText","optgroupActions","optgroupSelectAll","optgroupSelectAllBox","optgroupSelectAllCheck","optgroupClosable","optionDelete","highlighted","open","close","hide","mainDiv","contentDiv","updateClassStyles","updateAriaAttributes","contentLocation","appendChild","remove","input","add","path","setAttribute","openPosition","moveContent","selectedId","selectedOption","querySelector","ensureElementInView","removeAttribute","cssText","contentPosition","role","_a","createElement","ariaLabel","tabIndex","onkeydown","_this","highlight","click","onclick","isOpen","allowDeselect","isMultiple","stopPropagation","shouldDelete","before","after","beforeChange","setSelected","updateDeselectAll","getFirstOption","closeOnSelect","afterChange","deselectSvg","createElementNS","arrowPath","alwaysOpen","svg","eventType","focus","preventScroll","placeholderOption","placeholderText","placeholder1","innerHTML","renderMultipleValues","renderSingleValue","selectedSingle","singleValue","innerText","outerHTML","node","currentNodes","getAttribute","removeNodes","childNodes","maxValuesShown","textContent","maxValuesMessage","i2","_loop","_step3","n","_this1","hasChildNodes","removeChild","_loop1","d","shouldAdd","i1","String","keepOrder","multipleValue","insertBefore","insertAdjacentElement","deleteDiv","preventDefault","minSelected","o1","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","deleteSvg","deletePath","searchDiv","listDiv","putContent","moveContentAbove","moveContentBelow","searchReturn","showSearch","readOnly","searchPlaceholder","oninput","_this3","ctrlKey","plus","plusPath","_this2","inputValue","runFinish","oo","newOption","addOption","_this4","addableValue","notPlaceholder","notDisabled","notHidden","query","from","querySelectorAll","dir","getOptions","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","o2","prevOption","prevParent","parentElement","selectOption","selectParent","optgroupLabel1","errorDiv","searchingDiv","searchingText","noResults","searchText","_iteratorNormalCompletion6","_didIteratorError6","_iteratorError6","_step71","_step7","optgroupEl","allSelected","_iteratorNormalCompletion7","_didIteratorError7","_iteratorError7","_step5","_iterator5","selectAllSvg","selectAllBox","selectAllCheck","addEventListener","currentSelected","_this6","newSelected","s","newSelected1","map","_iteratorNormalCompletion10","_didIteratorError10","_iteratorError10","_step10","_iterator10","o4","getOptionByID","optgroupClosableSvg","optgroupClosableArrow","some","_this5","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_step6","_iterator6","o3","_iterator7","optionEl","split","dataClass","searchHighlight","highlightText","showOptionTooltips","hideSelected","currentTarget","elementID","maxSelected","shouldUpdate","completedString","regex","RegExp","matchStartPosition","index","matchEndPosition","originalTextFoundByRegex","mainHeight","offsetHeight","contentHeight","containerRect","getBoundingClientRect","margin","top","height","window","scrollY","left","scrollX","width","container","cTop","scrollTop","offsetTop","cBottom","clientHeight","eTop","eBottom","mainRect","innerHeight","hasSelectedItems","deselectButton","hideClass","Select1","Select","select","listen","observer","valueChange","bind","passive","MutationObserver","observeCall","changeListen","observe","subtree","childList","attributes","disconnect","ev","onValueChange","getSelectedValues","mutations","classChanged","disabledChanged","optgroupOptionChanged","m","attributeName","nodeName","onClassChange","onDisabledChange","onOptionsChange","nodes","getDataFromOptgroup","getDataFromOption","selectall","selectalltext","optgroupOptions","_iteratorNormalCompletion11","_didIteratorError11","_iteratorError11","_step11","_iterator11","option2","_iteratorNormalCompletion12","_didIteratorError12","_iteratorError12","_step12","_iterator12","option3","createOptgroup","createOption","dispatchEvent","Event","optionClass","removeEventListener","showUI","Settings1","Settings","isFullOpen","intervalMove","body","timeoutDelay","SlimSelect1","SlimSelect","config","events","indexOf","beforeOpen","afterOpen","beforeClose","afterClose","windowResize","render","windowScroll","documentClick","windowVisibilityChange","hidden","selectEl","tagName","ssid","destroy","debounceEvents","multiple","updateSelect","hideUI","disable","enable","updateOptions","renderCallbacks","renderValues","renderOptions","selectAriaLabel","selectAriaLabelledBy","nextSibling","slim","validateDataArray","dataClean","runAfterChange","getDataOptions","searchFocus","clearInterval","setInterval","mainFocus","renderSearching","searchResp","renderError","message","factory","root","$parcel$global","$c72c4ee5f4be9835$exports","newNotifySettings","typesNotify","notifySettings","wrapID","overlayID","position","distance","opacity","borderRadius","rtl","messageMaxLength","backOverlay","backOverlayColor","plainText","showOnlyTheLastOne","clickToClose","pauseOnHover","ID","zindex","fontFamily","fontSize","cssAnimation","cssAnimationDuration","cssAnimationStyle","closeButton","useIcon","useFontAwesome","fontAwesomeIconStyle","fontAwesomeIconSize","success","background","textColor","childClassName","notiflixIconColor","fontAwesomeClassName","fontAwesomeIconColor","failure","warning","commonConsoleError","console","commonCheckHeadOrBody","commonExtendOptions","extended","deep","merge","prop","notifyGetInternalCSSCodes","notifyCreateCounter","notifyCreate","notifyType","callbackOrOptions","Notiflix","Notify","init","newNotifySettingsBackup","newOptions","htmlPool","theType","toLocaleLowerCase","ntflxNotifyWrap","getElementById","zIndex","right","bottom","maxHeight","flexWrap","flexDirection","justifyContent","alignItems","pointerEvents","ntflxNotifyOverlay","animationDuration","ntflxNotify","color","closeButtonHTML","svgIcon","notifyWrap","firstChild","eachNotifyElement","timeoutHide","timeoutRemove","hideNotifyElementsAndOverlay","removeOverlay","childElementCount","removeNotifyElmentsAndWrapper","clickToCloseTimeout","callbackTimeout","autoRemove","allNotifyElmNotTheLastOne","eachNotifyElmNotLastOne","userNotifyOptions","getInternalCSSCodes","styleElementId","internalCSS","head","commonSetInternalCSSCodes","userNotifyExtendOptions","amd","$b8f9b7833fa37166$var$breedSelect","$b8f9b7833fa37166$var$catInfo","$b8f9b7833fa37166$var$loader","$b8f9b7833fa37166$var$storedBreeds","$b8f9b7833fa37166$var$onError","img","ref","image","url","breed","event","catData","breeds","description","temperament","wikipedia_url"],"version":3,"file":"index.91728126.js.map"}
\ No newline at end of file
diff --git a/index.b06baf61.css.map b/index.b06baf61.css.map
deleted file mode 100644
index c23f658..0000000
--- a/index.b06baf61.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"mappings":"AEAA,0aA4BA,uFAUA,wFAYA,gCAKA,4aAkBE,wDAIA,kFAKI,wEAKE,8EAON,0EAIA,gFAKA,yFAME,mSAcA,wSAcA,qFAMA,yUAYE,uJAMA,kJAOA,kQAUE,wGAIE,yJAYR,yKASE,+CAIE,kIAUJ,uKASE,qMAaJ,kYAiBE,sDAKA,6MASA,kLAQA,wJAME,kVAgBE,iHAAA,uGAKA,4EAKF,qPAWE,2LASE,+IAWN,6EAME,uFAKA,0FAQI,6EAKF,2NAOE,kIAOA,mFAIA,wLAQE,iJAME,yGAMI,0IAMJ,iOAUA,+HAKE,qLAOA,yHAGA,yHAMJ,kJAME,kIAKE,mRAcR,0IAKF,kNAOE,qNAWA,yGAIE,6EAMF,gGClfN,wBAIA,yNASA,sCAMA,kBAKA,uBAIA,uCAWA,mMAaA,uJAaA,mDAOA,2EAUA","sources":["index.b06baf61.css","node_modules/slim-select/dist/slimselect.css","node_modules/slim-select/src/slim-select/slimselect.scss","src/styles.css"],"sourcesContent":[":root {\n --ss-primary-color: #5897fb;\n --ss-bg-color: #fff;\n --ss-font-color: #4d4d4d;\n --ss-font-placeholder-color: #8d8d8d;\n --ss-disabled-color: #dcdee2;\n --ss-border-color: #dcdee2;\n --ss-highlight-color: #fffb8c;\n --ss-success-color: #00b755;\n --ss-error-color: #dc3545;\n --ss-focus-color: #5897fb;\n --ss-main-height: 30px;\n --ss-content-height: 300px;\n --ss-spacing-l: 7px;\n --ss-spacing-m: 5px;\n --ss-spacing-s: 3px;\n --ss-animation-timing: .2s;\n --ss-border-radius: 4px;\n}\n\n@keyframes ss-valueIn {\n 0% {\n opacity: 0;\n transform: scale(0);\n }\n\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@keyframes ss-valueOut {\n 0% {\n opacity: 1;\n transform: scale(1);\n }\n\n 100% {\n opacity: 0;\n transform: scale(0);\n }\n}\n\n.ss-hide {\n display: none !important;\n}\n\n.ss-main {\n -ms-user-select: none;\n user-select: none;\n color: var(--ss-font-color);\n min-height: var(--ss-main-height);\n width: 100%;\n padding: var(--ss-spacing-s);\n cursor: pointer;\n border: 1px solid var(--ss-border-color);\n border-radius: var(--ss-border-radius);\n background-color: var(--ss-bg-color);\n box-sizing: border-box;\n transition: background-color var(--ss-animation-timing);\n outline: 0;\n flex-direction: row;\n display: flex;\n position: relative;\n overflow: hidden;\n}\n\n.ss-main:focus {\n box-shadow: 0 0 5px var(--ss-focus-color);\n}\n\n.ss-main.ss-disabled {\n background-color: var(--ss-disabled-color);\n cursor: not-allowed;\n}\n\n.ss-main.ss-disabled .ss-values .ss-disabled {\n color: var(--ss-font-color);\n}\n\n.ss-main.ss-disabled .ss-values .ss-value .ss-value-delete {\n cursor: not-allowed;\n}\n\n.ss-main.ss-open-above {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.ss-main.ss-open-below {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.ss-main .ss-values {\n gap: var(--ss-spacing-m);\n flex-wrap: wrap;\n flex: 100%;\n display: inline-flex;\n}\n\n.ss-main .ss-values .ss-placeholder {\n padding: var(--ss-spacing-s) var(--ss-spacing-m) var(--ss-spacing-s) var(--ss-spacing-m);\n width: 100%;\n color: var(--ss-font-placeholder-color);\n text-overflow: ellipsis;\n white-space: nowrap;\n align-items: center;\n margin: auto 0;\n line-height: 1em;\n display: flex;\n overflow: hidden;\n}\n\n.ss-main .ss-values .ss-max {\n -ms-user-select: none;\n user-select: none;\n width: fit-content;\n color: var(--ss-bg-color);\n padding: var(--ss-spacing-s) var(--ss-spacing-m);\n background-color: var(--ss-primary-color);\n border-radius: var(--ss-border-radius);\n align-items: center;\n font-size: 12px;\n line-height: 1;\n display: flex;\n}\n\n.ss-main .ss-values .ss-single {\n margin: auto 0px auto var(--ss-spacing-s);\n display: flex;\n}\n\n.ss-main .ss-values .ss-value {\n -ms-user-select: none;\n user-select: none;\n width: fit-content;\n background-color: var(--ss-primary-color);\n border-radius: var(--ss-border-radius);\n animation-name: ss-valueIn;\n animation-duration: var(--ss-animation-timing);\n align-items: center;\n animation-timing-function: ease-out;\n animation-fill-mode: both;\n display: flex;\n}\n\n.ss-main .ss-values .ss-value.ss-value-out {\n animation-name: ss-valueOut;\n animation-duration: var(--ss-animation-timing);\n animation-timing-function: ease-out;\n}\n\n.ss-main .ss-values .ss-value .ss-value-text {\n color: var(--ss-bg-color);\n padding: var(--ss-spacing-s) var(--ss-spacing-m);\n font-size: 12px;\n line-height: 1;\n}\n\n.ss-main .ss-values .ss-value .ss-value-delete {\n height: var(--ss-spacing-l);\n width: var(--ss-spacing-l);\n padding: var(--ss-spacing-s) var(--ss-spacing-m);\n cursor: pointer;\n border-left: solid 1px var(--ss-bg-color);\n box-sizing: content-box;\n align-items: center;\n display: flex;\n}\n\n.ss-main .ss-values .ss-value .ss-value-delete svg {\n height: var(--ss-spacing-l);\n width: var(--ss-spacing-l);\n}\n\n.ss-main .ss-values .ss-value .ss-value-delete svg path {\n fill: none;\n stroke: var(--ss-bg-color);\n stroke-width: 18px;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.ss-main .ss-deselect {\n width: fit-content;\n height: auto;\n margin: 0 var(--ss-spacing-m) 0 var(--ss-spacing-m);\n flex: 0 auto;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.ss-main .ss-deselect svg {\n width: 8px;\n height: 8px;\n}\n\n.ss-main .ss-deselect svg path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-width: 20px;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.ss-main .ss-arrow {\n width: 12px;\n height: 12px;\n margin: auto var(--ss-spacing-m) auto var(--ss-spacing-m);\n flex: 0 auto;\n justify-content: flex-end;\n align-items: center;\n display: flex;\n}\n\n.ss-main .ss-arrow path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-width: 18px;\n stroke-linecap: round;\n stroke-linejoin: round;\n transition-timing-function: ease-out;\n transition: var(--ss-animation-timing);\n}\n\n.ss-content {\n height: auto;\n width: auto;\n max-height: var(--ss-content-height);\n box-sizing: border-box;\n border: solid 1px var(--ss-border-color);\n background-color: var(--ss-bg-color);\n transition: transform var(--ss-animation-timing), opacity var(--ss-animation-timing);\n opacity: 0;\n transform-origin: top;\n z-index: 10000;\n flex-direction: column;\n display: flex;\n position: absolute;\n overflow: hidden;\n transform: scaleY(0);\n}\n\n.ss-content.ss-relative {\n height: 100%;\n position: relative;\n}\n\n.ss-content.ss-open-above {\n opacity: 1;\n transform-origin: bottom;\n border-top-left-radius: var(--ss-border-radius);\n border-top-right-radius: var(--ss-border-radius);\n flex-direction: column-reverse;\n transform: scaleY(1);\n}\n\n.ss-content.ss-open-below {\n opacity: 1;\n transform-origin: top;\n border-bottom-left-radius: var(--ss-border-radius);\n border-bottom-right-radius: var(--ss-border-radius);\n transform: scaleY(1);\n}\n\n.ss-content .ss-search {\n padding: var(--ss-spacing-l) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);\n flex-direction: row;\n flex: 0 auto;\n display: flex;\n}\n\n.ss-content .ss-search input {\n font-size: inherit;\n line-height: inherit;\n width: 100%;\n min-width: 0;\n padding: var(--ss-spacing-m) var(--ss-spacing-l);\n border: 1px solid var(--ss-border-color);\n border-radius: var(--ss-border-radius);\n background-color: var(--ss-bg-color);\n text-align: left;\n box-sizing: border-box;\n outline: 0;\n flex: auto;\n margin: 0;\n display: inline-flex;\n}\n\n.ss-content .ss-search input::-ms-input-placeholder {\n color: var(--ss-font-placeholder-color);\n vertical-align: middle;\n}\n\n.ss-content .ss-search input::placeholder {\n color: var(--ss-font-placeholder-color);\n vertical-align: middle;\n}\n\n.ss-content .ss-search input:focus {\n box-shadow: 0 0 5px var(--ss-focus-color);\n}\n\n.ss-content .ss-search .ss-addable {\n cursor: pointer;\n height: auto;\n margin: 0 0 0 var(--ss-spacing-m);\n border: 1px solid var(--ss-border-color);\n border-radius: var(--ss-border-radius);\n flex: none;\n justify-content: center;\n align-items: center;\n display: inline-flex;\n}\n\n.ss-content .ss-search .ss-addable svg {\n width: 12px;\n height: 12px;\n margin: auto var(--ss-spacing-m) auto var(--ss-spacing-m);\n flex: 0 auto;\n justify-content: flex-end;\n align-items: center;\n display: flex;\n}\n\n.ss-content .ss-search .ss-addable svg path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-width: 18px;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.ss-content .ss-list {\n height: auto;\n flex: auto;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.ss-content .ss-list .ss-error {\n color: var(--ss-error-color);\n padding: var(--ss-spacing-l);\n}\n\n.ss-content .ss-list .ss-searching {\n color: var(--ss-font-color);\n padding: var(--ss-spacing-l);\n}\n\n.ss-content .ss-list .ss-optgroup.ss-close .ss-option {\n display: none !important;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label {\n padding: var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n display: flex;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-label-text {\n color: var(--ss-font-color);\n flex: auto;\n font-weight: bold;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label:has(.ss-arrow) {\n cursor: pointer;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions {\n justify-content: center;\n align-items: center;\n gap: var(--ss-spacing-m);\n flex-direction: row;\n flex: 0 auto;\n display: flex;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall {\n cursor: pointer;\n flex-direction: row;\n flex: none;\n display: flex;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall:hover {\n opacity: .5;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall.ss-selected svg path {\n stroke: var(--ss-error-color);\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall span {\n text-align: center;\n padding: 0 var(--ss-spacing-s) 0 0;\n flex: 0 auto;\n justify-content: center;\n align-items: center;\n font-size: 60%;\n display: flex;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg {\n width: 13px;\n height: 13px;\n flex: 0 auto;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg path {\n fill: none;\n stroke: var(--ss-success-color);\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:first-child {\n stroke-width: 5px;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:last-child {\n stroke-width: 11px;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable {\n cursor: pointer;\n flex-direction: row;\n flex: 0 auto;\n display: flex;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow {\n width: 10px;\n height: 10px;\n flex: auto;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-width: 18px;\n stroke-linecap: round;\n stroke-linejoin: round;\n transition-timing-function: ease-out;\n transition: var(--ss-animation-timing);\n}\n\n.ss-content .ss-list .ss-optgroup .ss-option {\n padding: var(--ss-spacing-s) var(--ss-spacing-s) var(--ss-spacing-s) calc(var(--ss-spacing-l) * 3);\n}\n\n.ss-content .ss-list .ss-option {\n padding: var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);\n color: var(--ss-font-color);\n cursor: pointer;\n -ms-user-select: none;\n user-select: none;\n display: flex;\n}\n\n.ss-content .ss-list .ss-option:hover, .ss-content .ss-list .ss-option.ss-highlighted, .ss-content .ss-list .ss-option:not(.ss-disabled).ss-selected {\n color: var(--ss-bg-color);\n background-color: var(--ss-primary-color);\n}\n\n.ss-content .ss-list .ss-option.ss-disabled {\n cursor: not-allowed;\n background-color: var(--ss-disabled-color);\n}\n\n.ss-content .ss-list .ss-option.ss-disabled:hover {\n color: var(--ss-font-color);\n}\n\n.ss-content .ss-list .ss-option .ss-search-highlight {\n background-color: var(--ss-highlight-color);\n}\n\n* {\n box-sizing: border-box;\n}\n\nbody {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n margin: 0;\n padding: 20px;\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Open Sans, Helvetica Neue, sans-serif;\n}\n\nul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\nimg {\n display: block;\n}\n\na {\n text-decoration: none;\n}\n\nh1, h2, h3, h4, h5, h6, p {\n margin: 0;\n padding: 0;\n}\n\n.loader {\n width: 80px;\n height: 80px;\n border: 2px solid #52bc54;\n border-radius: 50%;\n margin-top: 150px;\n margin-left: auto;\n margin-right: auto;\n animation: rotation 1s linear infinite;\n display: flex;\n position: relative;\n}\n\n.loader:after, .loader:before {\n content: \"\";\n box-sizing: border-box;\n width: 6px;\n height: 6px;\n background: #ff3d00;\n border-radius: 50%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.loader:before {\n top: auto;\n bottom: 0;\n left: auto;\n right: 0;\n}\n\n@keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.is-hidden {\n width: 1px;\n height: 1px;\n white-space: nowrap;\n clip: rect(0 0 0 0);\n clip-path: inset(100%);\n border: 0;\n margin: -1px;\n padding: 0;\n position: absolute;\n overflow: hidden;\n}\n\n/*# sourceMappingURL=index.b06baf61.css.map */\n",":root{--ss-primary-color: #5897fb;--ss-bg-color: #ffffff;--ss-font-color: #4d4d4d;--ss-font-placeholder-color: #8d8d8d;--ss-disabled-color: #dcdee2;--ss-border-color: #dcdee2;--ss-highlight-color: #fffb8c;--ss-success-color: #00b755;--ss-error-color: #dc3545;--ss-focus-color: #5897fb;--ss-main-height: 30px;--ss-content-height: 300px;--ss-spacing-l: 7px;--ss-spacing-m: 5px;--ss-spacing-s: 3px;--ss-animation-timing: 0.2s;--ss-border-radius: 4px}@keyframes ss-valueIn{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes ss-valueOut{0%{transform:scale(1);opacity:1}100%{transform:scale(0);opacity:0}}.ss-hide{display:none !important}.ss-main{display:flex;flex-direction:row;position:relative;user-select:none;color:var(--ss-font-color);min-height:var(--ss-main-height);width:100%;padding:var(--ss-spacing-s);cursor:pointer;border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);background-color:var(--ss-bg-color);outline:0;box-sizing:border-box;transition:background-color var(--ss-animation-timing);overflow:hidden}.ss-main:focus{box-shadow:0 0 5px var(--ss-focus-color)}.ss-main.ss-disabled{background-color:var(--ss-disabled-color);cursor:not-allowed}.ss-main.ss-disabled .ss-values .ss-disabled{color:var(--ss-font-color)}.ss-main.ss-disabled .ss-values .ss-value .ss-value-delete{cursor:not-allowed}.ss-main.ss-open-above{border-top-left-radius:0px;border-top-right-radius:0px}.ss-main.ss-open-below{border-bottom-left-radius:0px;border-bottom-right-radius:0px}.ss-main .ss-values{display:inline-flex;flex-wrap:wrap;gap:var(--ss-spacing-m);flex:1 1 100%}.ss-main .ss-values .ss-placeholder{display:flex;padding:var(--ss-spacing-s) var(--ss-spacing-m) var(--ss-spacing-s) var(--ss-spacing-m);margin:auto 0px auto 0px;line-height:1em;align-items:center;width:100%;color:var(--ss-font-placeholder-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-main .ss-values .ss-max{display:flex;user-select:none;align-items:center;width:fit-content;font-size:12px;color:var(--ss-bg-color);line-height:1;padding:var(--ss-spacing-s) var(--ss-spacing-m);background-color:var(--ss-primary-color);border-radius:var(--ss-border-radius)}.ss-main .ss-values .ss-single{display:flex;margin:auto 0px auto var(--ss-spacing-s)}.ss-main .ss-values .ss-value{display:flex;user-select:none;align-items:center;width:fit-content;background-color:var(--ss-primary-color);border-radius:var(--ss-border-radius);animation-name:ss-valueIn;animation-duration:var(--ss-animation-timing);animation-timing-function:ease-out;animation-fill-mode:both}.ss-main .ss-values .ss-value.ss-value-out{animation-name:ss-valueOut;animation-duration:var(--ss-animation-timing);animation-timing-function:ease-out}.ss-main .ss-values .ss-value .ss-value-text{font-size:12px;color:var(--ss-bg-color);line-height:1;padding:var(--ss-spacing-s) var(--ss-spacing-m)}.ss-main .ss-values .ss-value .ss-value-delete{display:flex;align-items:center;height:var(--ss-spacing-l);width:var(--ss-spacing-l);padding:var(--ss-spacing-s) var(--ss-spacing-m);cursor:pointer;border-left:solid 1px var(--ss-bg-color);box-sizing:content-box}.ss-main .ss-values .ss-value .ss-value-delete svg{height:var(--ss-spacing-l);width:var(--ss-spacing-l)}.ss-main .ss-values .ss-value .ss-value-delete svg path{fill:none;stroke:var(--ss-bg-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round}.ss-main .ss-deselect{flex:0 1 auto;display:flex;align-items:center;justify-content:center;width:fit-content;height:auto;margin:0 var(--ss-spacing-m) 0 var(--ss-spacing-m)}.ss-main .ss-deselect svg{width:8px;height:8px}.ss-main .ss-deselect svg path{fill:none;stroke:var(--ss-font-color);stroke-width:20;stroke-linecap:round;stroke-linejoin:round}.ss-main .ss-arrow{flex:0 1 auto;display:flex;align-items:center;justify-content:flex-end;width:12px;height:12px;margin:auto var(--ss-spacing-m) auto var(--ss-spacing-m)}.ss-main .ss-arrow path{fill:none;stroke:var(--ss-font-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round;transition-timing-function:ease-out;transition:var(--ss-animation-timing)}.ss-content{position:absolute;display:flex;height:auto;flex-direction:column;width:auto;max-height:var(--ss-content-height);box-sizing:border-box;border:solid 1px var(--ss-border-color);background-color:var(--ss-bg-color);transition:transform var(--ss-animation-timing),opacity var(--ss-animation-timing);opacity:0;transform:scaleY(0);transform-origin:center top;overflow:hidden;z-index:10000}.ss-content.ss-relative{position:relative;height:100%}.ss-content.ss-open-above{flex-direction:column-reverse;opacity:1;transform:scaleY(1);transform-origin:center bottom;border-top-left-radius:var(--ss-border-radius);border-top-right-radius:var(--ss-border-radius)}.ss-content.ss-open-below{opacity:1;transform:scaleY(1);transform-origin:center top;border-bottom-left-radius:var(--ss-border-radius);border-bottom-right-radius:var(--ss-border-radius)}.ss-content .ss-search{flex:0 1 auto;display:flex;flex-direction:row;padding:var(--ss-spacing-l) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l)}.ss-content .ss-search input{display:inline-flex;font-size:inherit;line-height:inherit;flex:1 1 auto;width:100%;min-width:0px;padding:var(--ss-spacing-m) var(--ss-spacing-l);margin:0;border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);background-color:var(--ss-bg-color);outline:0;text-align:left;box-sizing:border-box}.ss-content .ss-search input::placeholder{color:var(--ss-font-placeholder-color);vertical-align:middle}.ss-content .ss-search input:focus{box-shadow:0 0 5px var(--ss-focus-color)}.ss-content .ss-search .ss-addable{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;flex:0 0 auto;height:auto;margin:0 0 0 var(--ss-spacing-m);border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius)}.ss-content .ss-search .ss-addable svg{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;width:12px;height:12px;margin:auto var(--ss-spacing-m) auto var(--ss-spacing-m)}.ss-content .ss-search .ss-addable svg path{fill:none;stroke:var(--ss-font-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round}.ss-content .ss-list{flex:1 1 auto;height:auto;overflow-x:hidden;overflow-y:auto}.ss-content .ss-list .ss-error{color:var(--ss-error-color);padding:var(--ss-spacing-l)}.ss-content .ss-list .ss-searching{color:var(--ss-font-color);padding:var(--ss-spacing-l)}.ss-content .ss-list .ss-optgroup.ss-close .ss-option{display:none !important}.ss-content .ss-list .ss-optgroup .ss-optgroup-label{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-label-text{flex:1 1 auto;font-weight:bold;color:var(--ss-font-color)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label:has(.ss-arrow){cursor:pointer}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions{flex:0 1 auto;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--ss-spacing-m)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall{flex:0 0 auto;display:flex;flex-direction:row;cursor:pointer}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall:hover{opacity:.5}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall.ss-selected svg path{stroke:var(--ss-error-color)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall span{flex:0 1 auto;display:flex;align-items:center;justify-content:center;font-size:60%;text-align:center;padding:0 var(--ss-spacing-s) 0 0}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg{flex:0 1 auto;width:13px;height:13px}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg path{fill:none;stroke:var(--ss-success-color);stroke-linecap:round;stroke-linejoin:round}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:first-child{stroke-width:5}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:last-child{stroke-width:11}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable{flex:0 1 auto;display:flex;flex-direction:row;cursor:pointer}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow{flex:1 1 auto;width:10px;height:10px}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow path{fill:none;stroke:var(--ss-font-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round;transition-timing-function:ease-out;transition:var(--ss-animation-timing)}.ss-content .ss-list .ss-optgroup .ss-option{padding:var(--ss-spacing-s) var(--ss-spacing-s) var(--ss-spacing-s) calc(var(--ss-spacing-l)*3)}.ss-content .ss-list .ss-option{display:flex;padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);color:var(--ss-font-color);cursor:pointer;user-select:none}.ss-content .ss-list .ss-option:hover{color:var(--ss-bg-color);background-color:var(--ss-primary-color)}.ss-content .ss-list .ss-option.ss-highlighted,.ss-content .ss-list .ss-option:not(.ss-disabled).ss-selected{color:var(--ss-bg-color);background-color:var(--ss-primary-color)}.ss-content .ss-list .ss-option.ss-disabled{cursor:not-allowed;background-color:var(--ss-disabled-color)}.ss-content .ss-list .ss-option.ss-disabled:hover{color:var(--ss-font-color)}.ss-content .ss-list .ss-option .ss-search-highlight{background-color:var(--ss-highlight-color)}",":root {\n // Colors\n --ss-primary-color: #5897fb;\n --ss-bg-color: #ffffff;\n --ss-font-color: #4d4d4d;\n --ss-font-placeholder-color: #8d8d8d;\n --ss-disabled-color: #dcdee2;\n --ss-border-color: #dcdee2;\n --ss-highlight-color: #fffb8c;\n --ss-success-color: #00b755;\n --ss-error-color: #dc3545;\n --ss-focus-color: #5897fb;\n\n // Heights\n --ss-main-height: 30px;\n --ss-content-height: 300px;\n\n // Spacing\n --ss-spacing-l: 7px;\n --ss-spacing-m: 5px;\n --ss-spacing-s: 3px;\n\n // Misc\n --ss-animation-timing: 0.2s;\n --ss-border-radius: 4px;\n}\n\n// Animation keyframes\n@keyframes ss-valueIn {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n@keyframes ss-valueOut {\n 0% {\n transform: scale(1);\n opacity: 1;\n }\n 100% {\n transform: scale(0);\n opacity: 0;\n }\n}\n\n// Misc classes\n.ss-hide {\n display: none !important;\n}\n\n// Main container\n.ss-main {\n display: flex;\n flex-direction: row;\n position: relative;\n user-select: none;\n color: var(--ss-font-color);\n min-height: var(--ss-main-height);\n width: 100%;\n padding: var(--ss-spacing-s);\n cursor: pointer;\n border: 1px solid var(--ss-border-color);\n border-radius: var(--ss-border-radius);\n background-color: var(--ss-bg-color);\n outline: 0;\n box-sizing: border-box;\n transition: background-color var(--ss-animation-timing);\n overflow: hidden;\n\n &:focus {\n box-shadow: 0 0 5px var(--ss-focus-color);\n }\n\n &.ss-disabled {\n background-color: var(--ss-disabled-color);\n cursor: not-allowed;\n\n .ss-values {\n .ss-disabled {\n color: var(--ss-font-color);\n }\n\n .ss-value {\n .ss-value-delete {\n cursor: not-allowed;\n }\n }\n }\n }\n\n &.ss-open-above {\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n }\n &.ss-open-below {\n border-bottom-left-radius: 0px;\n border-bottom-right-radius: 0px;\n }\n\n .ss-values {\n display: inline-flex;\n flex-wrap: wrap;\n gap: var(--ss-spacing-m);\n flex: 1 1 100%;\n\n .ss-placeholder {\n display: flex;\n padding: var(--ss-spacing-s) var(--ss-spacing-m) var(--ss-spacing-s) var(--ss-spacing-m);\n margin: auto 0px auto 0px;\n line-height: 1em;\n align-items: center;\n width: 100%;\n color: var(--ss-font-placeholder-color);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n // Max is used to display max number of values\n .ss-max {\n display: flex;\n user-select: none;\n align-items: center;\n width: fit-content;\n font-size: 12px;\n color: var(--ss-bg-color);\n line-height: 1;\n padding: var(--ss-spacing-s) var(--ss-spacing-m);\n background-color: var(--ss-primary-color);\n border-radius: var(--ss-border-radius);\n }\n\n // Used for single select selected value\n .ss-single {\n display: flex;\n margin: auto 0px auto var(--ss-spacing-s);\n }\n\n // Used for the selected values\n .ss-value {\n display: flex;\n user-select: none;\n align-items: center;\n width: fit-content;\n background-color: var(--ss-primary-color);\n border-radius: var(--ss-border-radius);\n animation-name: ss-valueIn;\n animation-duration: var(--ss-animation-timing);\n animation-timing-function: ease-out;\n animation-fill-mode: both;\n\n &.ss-value-out {\n animation-name: ss-valueOut;\n animation-duration: var(--ss-animation-timing);\n animation-timing-function: ease-out;\n }\n\n .ss-value-text {\n font-size: 12px;\n color: var(--ss-bg-color);\n line-height: 1;\n padding: var(--ss-spacing-s) var(--ss-spacing-m);\n }\n\n .ss-value-delete {\n display: flex;\n align-items: center;\n height: var(--ss-spacing-l);\n width: var(--ss-spacing-l);\n padding: var(--ss-spacing-s) var(--ss-spacing-m);\n cursor: pointer;\n border-left: solid 1px var(--ss-bg-color);\n box-sizing: content-box;\n\n svg {\n height: var(--ss-spacing-l);\n width: var(--ss-spacing-l);\n\n path {\n fill: none;\n stroke: var(--ss-bg-color);\n stroke-width: 18;\n stroke-linecap: round;\n stroke-linejoin: round;\n }\n }\n }\n }\n }\n\n .ss-deselect {\n flex: 0 1 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n width: fit-content;\n height: auto;\n margin: 0 var(--ss-spacing-m) 0 var(--ss-spacing-m);\n\n svg {\n width: 8px;\n height: 8px;\n\n path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-width: 20;\n stroke-linecap: round;\n stroke-linejoin: round;\n }\n }\n }\n\n .ss-arrow {\n flex: 0 1 auto;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n width: 12px;\n height: 12px;\n margin: auto var(--ss-spacing-m) auto var(--ss-spacing-m);\n\n path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-width: 18;\n stroke-linecap: round;\n stroke-linejoin: round;\n transition-timing-function: ease-out;\n transition: var(--ss-animation-timing);\n }\n }\n}\n\n// Content container\n.ss-content {\n position: absolute; // default position\n display: flex;\n height: auto;\n flex-direction: column;\n width: auto;\n max-height: var(--ss-content-height);\n box-sizing: border-box;\n border: solid 1px var(--ss-border-color);\n background-color: var(--ss-bg-color);\n transition: transform var(--ss-animation-timing), opacity var(--ss-animation-timing);\n opacity: 0;\n transform: scaleY(0);\n transform-origin: center top;\n overflow: hidden;\n z-index: 10000;\n\n &.ss-relative {\n position: relative;\n height: 100%;\n }\n\n &.ss-open-above {\n flex-direction: column-reverse;\n opacity: 1;\n transform: scaleY(1);\n transform-origin: center bottom;\n border-top-left-radius: var(--ss-border-radius);\n border-top-right-radius: var(--ss-border-radius);\n }\n\n &.ss-open-below {\n opacity: 1;\n transform: scaleY(1);\n transform-origin: center top;\n border-bottom-left-radius: var(--ss-border-radius);\n border-bottom-right-radius: var(--ss-border-radius);\n }\n\n .ss-search {\n flex: 0 1 auto;\n display: flex;\n flex-direction: row;\n padding: var(--ss-spacing-l) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);\n\n input {\n display: inline-flex;\n font-size: inherit;\n line-height: inherit;\n flex: 1 1 auto;\n width: 100%;\n min-width: 0px;\n padding: var(--ss-spacing-m) var(--ss-spacing-l);\n margin: 0;\n border: 1px solid var(--ss-border-color);\n border-radius: var(--ss-border-radius);\n background-color: var(--ss-bg-color);\n outline: 0;\n text-align: left;\n box-sizing: border-box;\n\n &::placeholder {\n color: var(--ss-font-placeholder-color);\n vertical-align: middle;\n }\n\n &:focus {\n box-shadow: 0 0 5px var(--ss-focus-color);\n }\n }\n\n .ss-addable {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n flex: 0 0 auto;\n height: auto;\n margin: 0 0 0 var(--ss-spacing-m);\n border: 1px solid var(--ss-border-color);\n border-radius: var(--ss-border-radius);\n\n svg {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex: 0 1 auto;\n width: 12px;\n height: 12px;\n margin: auto var(--ss-spacing-m) auto var(--ss-spacing-m);\n\n path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-width: 18;\n stroke-linecap: round;\n stroke-linejoin: round;\n }\n }\n }\n }\n\n .ss-list {\n flex: 1 1 auto;\n height: auto;\n overflow-x: hidden;\n overflow-y: auto;\n\n .ss-error {\n color: var(--ss-error-color);\n padding: var(--ss-spacing-l);\n }\n\n .ss-searching {\n color: var(--ss-font-color);\n padding: var(--ss-spacing-l);\n }\n\n .ss-optgroup {\n // If optgroup has close, hide all options\n &.ss-close {\n .ss-option {\n display: none !important;\n }\n }\n\n .ss-optgroup-label {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n padding: var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);\n\n .ss-optgroup-label-text {\n flex: 1 1 auto;\n font-weight: bold;\n color: var(--ss-font-color);\n }\n\n // If optgroup has arrow, make label clickable\n &:has(.ss-arrow) {\n cursor: pointer;\n }\n\n .ss-optgroup-actions {\n flex: 0 1 auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: var(--ss-spacing-m);\n\n .ss-selectall {\n flex: 0 0 auto;\n display: flex;\n flex-direction: row;\n cursor: pointer;\n\n &:hover {\n opacity: 0.5;\n }\n\n &.ss-selected {\n svg {\n path {\n stroke: var(--ss-error-color);\n }\n }\n }\n\n span {\n flex: 0 1 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: calc(100% * 0.6);\n text-align: center;\n padding: 0 var(--ss-spacing-s) 0 0;\n }\n\n svg {\n flex: 0 1 auto;\n width: 13px;\n height: 13px;\n\n path {\n fill: none;\n stroke: var(--ss-success-color);\n stroke-linecap: round;\n stroke-linejoin: round;\n }\n\n &:first-child {\n stroke-width: 5;\n }\n &:last-child {\n stroke-width: 11;\n }\n }\n }\n\n .ss-closable {\n flex: 0 1 auto;\n display: flex;\n flex-direction: row;\n cursor: pointer;\n\n .ss-arrow {\n flex: 1 1 auto;\n width: 10px;\n height: 10px;\n\n path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-width: 18;\n stroke-linecap: round;\n stroke-linejoin: round;\n transition-timing-function: ease-out;\n transition: var(--ss-animation-timing);\n }\n }\n }\n }\n }\n\n .ss-option {\n padding: var(--ss-spacing-s) var(--ss-spacing-s) var(--ss-spacing-s) calc(var(--ss-spacing-l) * 3);\n }\n }\n\n .ss-option {\n display: flex;\n padding: var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);\n color: var(--ss-font-color);\n cursor: pointer;\n user-select: none;\n\n &:hover {\n color: var(--ss-bg-color);\n background-color: var(--ss-primary-color);\n }\n\n &.ss-highlighted,\n &:not(.ss-disabled).ss-selected {\n color: var(--ss-bg-color);\n background-color: var(--ss-primary-color);\n }\n\n &.ss-disabled {\n cursor: not-allowed;\n background-color: var(--ss-disabled-color);\n\n &:hover {\n color: var(--ss-font-color);\n }\n }\n\n // Sub div wrapper for highlighting text\n .ss-search-highlight {\n background-color: var(--ss-highlight-color);\n }\n }\n }\n}\n","* {\n box-sizing: border-box;\n}\n\nbody {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,\n Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n padding: 20px;\n margin: 0;\n}\n\nul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\nimg {\n display: block;\n\n}\n\na {\n text-decoration: none;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np {\n margin: 0;\n padding: 0;\n}\n\n.loader {\n position: relative;\n width: 80px;\n height: 80px;\n border: 2px solid hsl(121, 44%, 53%);\n border-radius: 50%;\n display: flex; \n margin-left: auto;\n margin-right: auto;\n margin-top: 150px;\n animation: rotation 1s linear infinite;\n}\n\n.loader::after,\n.loader::before {\n content: '';\n box-sizing: border-box;\n position: absolute;\n left: 0;\n top: 0;\n background: #FF3D00;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n}\n\n.loader::before {\n left: auto;\n top: auto;\n right: 0;\n bottom: 0;\n}\n\n@keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.is-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n border: 0;\n white-space: nowrap;\n clip: rect(0 0 0 0);\n clip-path: inset(100%);\n overflow: hidden;\n}"],"names":[],"version":3,"file":"index.b06baf61.css.map"}
\ No newline at end of file
diff --git a/index.cbdf542e.js.map b/index.cbdf542e.js.map
deleted file mode 100644
index 864a943..0000000
--- a/index.cbdf542e.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"mappings":"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","sources":["node_modules/@swc/helpers/lib/_async_to_generator.js","node_modules/regenerator-runtime/runtime.js","src/cat-api.js","node_modules/@swc/helpers/lib/_class_call_check.js","node_modules/@swc/helpers/lib/_create_class.js","node_modules/slim-select/dist/slimselect.umd.js","node_modules/notiflix/build/notiflix-notify-aio.js","src/index.js","src/createMarkup.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _asyncToGenerator;\nfunction _asyncToGenerator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","const BASE_URL = 'https://api.thecatapi.com/v1';\nconst API_KEY = 'live_ZXvXnN3nLIiVAMYsFosudfyRXWXuiSEi6HJhbZIzZhQtawavdsyjEdVTjhSqCXMm';\n\nasync function fetchBreeds() {\n const URL = `${BASE_URL}/breeds?api_key=${API_KEY}`\n const resp = await fetch(URL);\n if (!resp.ok) {\n throw new Error(resp.statusText);\n }\n return await resp.json(); \n};\n\nasync function fetchCatByBreed(breedId) {\n const URL = `${BASE_URL}/images/search?api_key=${API_KEY}&breed_ids=${breedId}`\n const resp = await fetch(URL);\n if (!resp.ok) {\n throw new Error(resp.status);\n }\n return await resp.json(); \n};\n\n\nexport { fetchBreeds, fetchCatByBreed };","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _classCallCheck;\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _createClass;\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.SlimSelect = factory());\n})(this, (function () { 'use strict';\n\n function generateID() {\n return Math.random().toString(36).substring(2, 10);\n }\n function hasClassInTree(element, className) {\n function hasClass(e, c) {\n if (c && e && e.classList && e.classList.contains(c)) {\n return e;\n }\n if (c && e && e.dataset && e.dataset.id && e.dataset.id === className) {\n return e;\n }\n return null;\n }\n function parentByClass(e, c) {\n if (!e || e === document) {\n return null;\n }\n else if (hasClass(e, c)) {\n return e;\n }\n else {\n return parentByClass(e.parentNode, c);\n }\n }\n return hasClass(element, className) || parentByClass(element, className);\n }\n function debounce(func, wait = 50, immediate = false) {\n let timeout;\n return function (...args) {\n const context = self;\n const later = () => {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n };\n }\n function isEqual(a, b) {\n return JSON.stringify(a) === JSON.stringify(b);\n }\n function kebabCase(str) {\n const result = str.replace(/[A-Z\\u00C0-\\u00D6\\u00D8-\\u00DE]/g, (match) => '-' + match.toLowerCase());\n return str[0] === str[0].toUpperCase() ? result.substring(1) : result;\n }\n\n class Optgroup {\n constructor(optgroup) {\n this.id = !optgroup.id || optgroup.id === '' ? generateID() : optgroup.id;\n this.label = optgroup.label || '';\n this.selectAll = optgroup.selectAll === undefined ? false : optgroup.selectAll;\n this.selectAllText = optgroup.selectAllText || 'Select All';\n this.closable = optgroup.closable || 'off';\n this.options = [];\n if (optgroup.options) {\n for (const o of optgroup.options) {\n this.options.push(new Option(o));\n }\n }\n }\n }\n class Option {\n constructor(option) {\n this.id = !option.id || option.id === '' ? generateID() : option.id;\n this.value = option.value === undefined ? option.text : option.value;\n this.text = option.text || '';\n this.html = option.html || '';\n this.selected = option.selected !== undefined ? option.selected : false;\n this.display = option.display !== undefined ? option.display : true;\n this.disabled = option.disabled !== undefined ? option.disabled : false;\n this.mandatory = option.mandatory !== undefined ? option.mandatory : false;\n this.placeholder = option.placeholder !== undefined ? option.placeholder : false;\n this.class = option.class || '';\n this.style = option.style || '';\n this.data = option.data || {};\n }\n }\n class Store {\n constructor(type, data) {\n this.selectType = 'single';\n this.data = [];\n this.selectType = type;\n this.setData(data);\n }\n validateDataArray(data) {\n if (!Array.isArray(data)) {\n return new Error('Data must be an array');\n }\n for (let dataObj of data) {\n if (dataObj instanceof Optgroup || 'label' in dataObj) {\n if (!('label' in dataObj)) {\n return new Error('Optgroup must have a label');\n }\n if ('options' in dataObj && dataObj.options) {\n for (let option of dataObj.options) {\n return this.validateOption(option);\n }\n }\n }\n else if (dataObj instanceof Option || 'text' in dataObj) {\n return this.validateOption(dataObj);\n }\n else {\n return new Error('Data object must be a valid optgroup or option');\n }\n }\n return null;\n }\n validateOption(option) {\n if (!('text' in option)) {\n return new Error('Option must have a text');\n }\n return null;\n }\n partialToFullData(data) {\n let dataFinal = [];\n data.forEach((dataObj) => {\n if (dataObj instanceof Optgroup || 'label' in dataObj) {\n let optOptions = [];\n if ('options' in dataObj && dataObj.options) {\n dataObj.options.forEach((option) => {\n optOptions.push(new Option(option));\n });\n }\n if (optOptions.length > 0) {\n dataFinal.push(new Optgroup(dataObj));\n }\n }\n if (dataObj instanceof Option || 'text' in dataObj) {\n dataFinal.push(new Option(dataObj));\n }\n });\n return dataFinal;\n }\n setData(data) {\n this.data = this.partialToFullData(data);\n if (this.selectType === 'single') {\n this.setSelectedBy('value', this.getSelected());\n }\n }\n getData() {\n return this.filter(null, true);\n }\n getDataOptions() {\n return this.filter(null, false);\n }\n addOption(option) {\n this.setData(this.getData().concat(new Option(option)));\n }\n setSelectedBy(selectedType, selectedValues) {\n let firstOption = null;\n let hasSelected = false;\n for (let dataObj of this.data) {\n if (dataObj instanceof Optgroup) {\n for (let option of dataObj.options) {\n if (!firstOption) {\n firstOption = option;\n }\n option.selected = hasSelected ? false : selectedValues.includes(option[selectedType]);\n if (option.selected && this.selectType === 'single') {\n hasSelected = true;\n }\n }\n }\n if (dataObj instanceof Option) {\n if (!firstOption) {\n firstOption = dataObj;\n }\n dataObj.selected = hasSelected ? false : selectedValues.includes(dataObj[selectedType]);\n if (dataObj.selected && this.selectType === 'single') {\n hasSelected = true;\n }\n }\n }\n if (this.selectType === 'single' && firstOption && !hasSelected) {\n firstOption.selected = true;\n }\n }\n getSelected() {\n let selectedOptions = this.getSelectedOptions();\n let selectedValues = [];\n selectedOptions.forEach((option) => {\n selectedValues.push(option.value);\n });\n return selectedValues;\n }\n getSelectedOptions() {\n return this.filter((opt) => {\n return opt.selected;\n }, false);\n }\n getSelectedIDs() {\n let selectedOptions = this.getSelectedOptions();\n let selectedIDs = [];\n selectedOptions.forEach((op) => {\n selectedIDs.push(op.id);\n });\n return selectedIDs;\n }\n getOptgroupByID(id) {\n for (let dataObj of this.data) {\n if (dataObj instanceof Optgroup && dataObj.id === id) {\n return dataObj;\n }\n }\n return null;\n }\n getOptionByID(id) {\n let options = this.filter((opt) => {\n return opt.id === id;\n }, false);\n return options.length ? options[0] : null;\n }\n getSelectType() {\n return this.selectType;\n }\n getFirstOption() {\n let option = null;\n for (let dataObj of this.data) {\n if (dataObj instanceof Optgroup) {\n option = dataObj.options[0];\n }\n else if (dataObj instanceof Option) {\n option = dataObj;\n }\n if (option) {\n break;\n }\n }\n return option;\n }\n search(search, searchFilter) {\n search = search.trim();\n if (search === '') {\n return this.getData();\n }\n return this.filter((opt) => {\n return searchFilter(opt, search);\n }, true);\n }\n filter(filter, includeOptgroup) {\n const dataSearch = [];\n this.data.forEach((dataObj) => {\n if (dataObj instanceof Optgroup) {\n let optOptions = [];\n dataObj.options.forEach((option) => {\n if (!filter || filter(option)) {\n if (!includeOptgroup) {\n dataSearch.push(new Option(option));\n }\n else {\n optOptions.push(new Option(option));\n }\n }\n });\n if (optOptions.length > 0) {\n let optgroup = new Optgroup(dataObj);\n optgroup.options = optOptions;\n dataSearch.push(optgroup);\n }\n }\n if (dataObj instanceof Option) {\n if (!filter || filter(dataObj)) {\n dataSearch.push(new Option(dataObj));\n }\n }\n });\n return dataSearch;\n }\n }\n\n class Render {\n constructor(settings, store, callbacks) {\n this.classes = {\n main: 'ss-main',\n placeholder: 'ss-placeholder',\n values: 'ss-values',\n single: 'ss-single',\n max: 'ss-max',\n value: 'ss-value',\n valueText: 'ss-value-text',\n valueDelete: 'ss-value-delete',\n valueOut: 'ss-value-out',\n deselect: 'ss-deselect',\n deselectPath: 'M10,10 L90,90 M10,90 L90,10',\n arrow: 'ss-arrow',\n arrowClose: 'M10,30 L50,70 L90,30',\n arrowOpen: 'M10,70 L50,30 L90,70',\n content: 'ss-content',\n openAbove: 'ss-open-above',\n openBelow: 'ss-open-below',\n search: 'ss-search',\n searchHighlighter: 'ss-search-highlight',\n searching: 'ss-searching',\n addable: 'ss-addable',\n addablePath: 'M50,10 L50,90 M10,50 L90,50',\n list: 'ss-list',\n optgroup: 'ss-optgroup',\n optgroupLabel: 'ss-optgroup-label',\n optgroupLabelText: 'ss-optgroup-label-text',\n optgroupActions: 'ss-optgroup-actions',\n optgroupSelectAll: 'ss-selectall',\n optgroupSelectAllBox: 'M60,10 L10,10 L10,90 L90,90 L90,50',\n optgroupSelectAllCheck: 'M30,45 L50,70 L90,10',\n optgroupClosable: 'ss-closable',\n option: 'ss-option',\n optionDelete: 'M10,10 L90,90 M10,90 L90,10',\n highlighted: 'ss-highlighted',\n open: 'ss-open',\n close: 'ss-close',\n selected: 'ss-selected',\n error: 'ss-error',\n disabled: 'ss-disabled',\n hide: 'ss-hide',\n };\n this.store = store;\n this.settings = settings;\n this.callbacks = callbacks;\n this.main = this.mainDiv();\n this.content = this.contentDiv();\n this.updateClassStyles();\n this.updateAriaAttributes();\n this.settings.contentLocation.appendChild(this.content.main);\n }\n enable() {\n this.main.main.classList.remove(this.classes.disabled);\n this.content.search.input.disabled = false;\n }\n disable() {\n this.main.main.classList.add(this.classes.disabled);\n this.content.search.input.disabled = true;\n }\n open() {\n this.main.arrow.path.setAttribute('d', this.classes.arrowOpen);\n this.main.main.classList.add(this.settings.openPosition === 'up' ? this.classes.openAbove : this.classes.openBelow);\n this.main.main.setAttribute('aria-expanded', 'true');\n this.moveContent();\n const selectedOptions = this.store.getSelectedOptions();\n if (selectedOptions.length) {\n const selectedId = selectedOptions[selectedOptions.length - 1].id;\n const selectedOption = this.content.list.querySelector('[data-id=\"' + selectedId + '\"]');\n if (selectedOption) {\n this.ensureElementInView(this.content.list, selectedOption);\n }\n }\n }\n close() {\n this.main.main.classList.remove(this.classes.openAbove);\n this.main.main.classList.remove(this.classes.openBelow);\n this.main.main.setAttribute('aria-expanded', 'false');\n this.content.main.classList.remove(this.classes.openAbove);\n this.content.main.classList.remove(this.classes.openBelow);\n this.main.arrow.path.setAttribute('d', this.classes.arrowClose);\n }\n updateClassStyles() {\n this.main.main.className = '';\n this.main.main.removeAttribute('style');\n this.content.main.className = '';\n this.content.main.removeAttribute('style');\n this.main.main.classList.add(this.classes.main);\n this.content.main.classList.add(this.classes.content);\n if (this.settings.style !== '') {\n this.main.main.style.cssText = this.settings.style;\n this.content.main.style.cssText = this.settings.style;\n }\n if (this.settings.class.length) {\n for (const c of this.settings.class) {\n if (c.trim() !== '') {\n this.main.main.classList.add(c.trim());\n this.content.main.classList.add(c.trim());\n }\n }\n }\n if (this.settings.contentPosition === 'relative') {\n this.content.main.classList.add('ss-' + this.settings.contentPosition);\n }\n }\n updateAriaAttributes() {\n this.main.main.role = 'combobox';\n this.main.main.setAttribute('aria-haspopup', 'listbox');\n this.main.main.setAttribute('aria-controls', this.content.main.id);\n this.main.main.setAttribute('aria-expanded', 'false');\n this.content.main.setAttribute('role', 'listbox');\n }\n mainDiv() {\n var _a;\n const main = document.createElement('div');\n main.dataset.id = this.settings.id;\n main.setAttribute('aria-label', this.settings.ariaLabel);\n main.tabIndex = 0;\n main.onkeydown = (e) => {\n switch (e.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n this.callbacks.open();\n e.key === 'ArrowDown' ? this.highlight('down') : this.highlight('up');\n return false;\n case 'Tab':\n this.callbacks.close();\n return true;\n case 'Enter':\n case ' ':\n this.callbacks.open();\n const highlighted = this.content.list.querySelector('.' + this.classes.highlighted);\n if (highlighted) {\n highlighted.click();\n }\n return false;\n case 'Escape':\n this.callbacks.close();\n return false;\n }\n return false;\n };\n main.onclick = (e) => {\n if (this.settings.disabled) {\n return;\n }\n this.settings.isOpen ? this.callbacks.close() : this.callbacks.open();\n };\n const values = document.createElement('div');\n values.classList.add(this.classes.values);\n main.appendChild(values);\n const deselect = document.createElement('div');\n deselect.classList.add(this.classes.deselect);\n const selectedOptions = (_a = this.store) === null || _a === void 0 ? void 0 : _a.getSelectedOptions();\n if (!this.settings.allowDeselect || (this.settings.isMultiple && selectedOptions && selectedOptions.length <= 0)) {\n deselect.classList.add(this.classes.hide);\n }\n else {\n deselect.classList.remove(this.classes.hide);\n }\n deselect.onclick = (e) => {\n e.stopPropagation();\n if (this.settings.disabled) {\n return;\n }\n let shouldDelete = true;\n const before = this.store.getSelectedOptions();\n const after = [];\n if (this.callbacks.beforeChange) {\n shouldDelete = this.callbacks.beforeChange(after, before) === true;\n }\n if (shouldDelete) {\n if (this.settings.isMultiple) {\n this.callbacks.setSelected([], false);\n this.updateDeselectAll();\n }\n else {\n const firstOption = this.store.getFirstOption();\n const value = firstOption ? firstOption.value : '';\n this.callbacks.setSelected(value, false);\n }\n if (this.settings.closeOnSelect) {\n this.callbacks.close();\n }\n if (this.callbacks.afterChange) {\n this.callbacks.afterChange(this.store.getSelectedOptions());\n }\n }\n };\n const deselectSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n deselectSvg.setAttribute('viewBox', '0 0 100 100');\n const deselectPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n deselectPath.setAttribute('d', this.classes.deselectPath);\n deselectSvg.appendChild(deselectPath);\n deselect.appendChild(deselectSvg);\n main.appendChild(deselect);\n const arrow = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n arrow.classList.add(this.classes.arrow);\n arrow.setAttribute('viewBox', '0 0 100 100');\n const arrowPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n arrowPath.setAttribute('d', this.classes.arrowClose);\n if (this.settings.alwaysOpen) {\n arrow.classList.add(this.classes.hide);\n }\n arrow.appendChild(arrowPath);\n main.appendChild(arrow);\n return {\n main: main,\n values: values,\n deselect: {\n main: deselect,\n svg: deselectSvg,\n path: deselectPath,\n },\n arrow: {\n main: arrow,\n path: arrowPath,\n },\n };\n }\n mainFocus(eventType) {\n if (eventType !== 'click') {\n this.main.main.focus({ preventScroll: true });\n }\n }\n placeholder() {\n const placeholderOption = this.store.filter((o) => o.placeholder, false);\n let placeholderText = this.settings.placeholderText;\n if (placeholderOption.length) {\n if (placeholderOption[0].html !== '') {\n placeholderText = placeholderOption[0].html;\n }\n else if (placeholderOption[0].text !== '') {\n placeholderText = placeholderOption[0].text;\n }\n }\n const placeholder = document.createElement('div');\n placeholder.classList.add(this.classes.placeholder);\n placeholder.innerHTML = placeholderText;\n return placeholder;\n }\n renderValues() {\n if (!this.settings.isMultiple) {\n this.renderSingleValue();\n return;\n }\n this.renderMultipleValues();\n this.updateDeselectAll();\n }\n renderSingleValue() {\n const selected = this.store.filter((o) => {\n return o.selected && !o.placeholder;\n }, false);\n const selectedSingle = selected.length > 0 ? selected[0] : null;\n if (!selectedSingle) {\n this.main.values.innerHTML = this.placeholder().outerHTML;\n }\n else {\n const singleValue = document.createElement('div');\n singleValue.classList.add(this.classes.single);\n if (selectedSingle.html) {\n singleValue.innerHTML = selectedSingle.html;\n }\n else {\n singleValue.innerText = selectedSingle.text;\n }\n this.main.values.innerHTML = singleValue.outerHTML;\n }\n if (!this.settings.allowDeselect || !selected.length) {\n this.main.deselect.main.classList.add(this.classes.hide);\n }\n else {\n this.main.deselect.main.classList.remove(this.classes.hide);\n }\n }\n renderMultipleValues() {\n let currentNodes = this.main.values.childNodes;\n let selectedOptions = this.store.filter((opt) => {\n return opt.selected && opt.display;\n }, false);\n if (selectedOptions.length === 0) {\n this.main.values.innerHTML = this.placeholder().outerHTML;\n return;\n }\n else {\n const placeholder = this.main.values.querySelector('.' + this.classes.placeholder);\n if (placeholder) {\n placeholder.remove();\n }\n }\n if (selectedOptions.length > this.settings.maxValuesShown) {\n const singleValue = document.createElement('div');\n singleValue.classList.add(this.classes.max);\n singleValue.textContent = this.settings.maxValuesMessage.replace('{number}', selectedOptions.length.toString());\n this.main.values.innerHTML = singleValue.outerHTML;\n return;\n }\n else {\n const maxValuesMessage = this.main.values.querySelector('.' + this.classes.max);\n if (maxValuesMessage) {\n maxValuesMessage.remove();\n }\n }\n let removeNodes = [];\n for (let i = 0; i < currentNodes.length; i++) {\n const node = currentNodes[i];\n const id = node.getAttribute('data-id');\n if (id) {\n const found = selectedOptions.filter((opt) => {\n return opt.id === id;\n }, false);\n if (!found.length) {\n removeNodes.push(node);\n }\n }\n }\n for (const n of removeNodes) {\n n.classList.add(this.classes.valueOut);\n setTimeout(() => {\n if (this.main.values.hasChildNodes() && this.main.values.contains(n)) {\n this.main.values.removeChild(n);\n }\n }, 100);\n }\n currentNodes = this.main.values.childNodes;\n for (let d = 0; d < selectedOptions.length; d++) {\n let shouldAdd = true;\n for (let i = 0; i < currentNodes.length; i++) {\n if (selectedOptions[d].id === String(currentNodes[i].dataset.id)) {\n shouldAdd = false;\n }\n }\n if (shouldAdd) {\n if (this.settings.keepOrder) {\n this.main.values.appendChild(this.multipleValue(selectedOptions[d]));\n }\n else {\n if (currentNodes.length === 0) {\n this.main.values.appendChild(this.multipleValue(selectedOptions[d]));\n }\n else if (d === 0) {\n this.main.values.insertBefore(this.multipleValue(selectedOptions[d]), currentNodes[d]);\n }\n else {\n currentNodes[d - 1].insertAdjacentElement('afterend', this.multipleValue(selectedOptions[d]));\n }\n }\n }\n }\n }\n multipleValue(option) {\n const value = document.createElement('div');\n value.classList.add(this.classes.value);\n value.dataset.id = option.id;\n const text = document.createElement('div');\n text.classList.add(this.classes.valueText);\n text.innerText = option.text;\n value.appendChild(text);\n if (!option.mandatory) {\n const deleteDiv = document.createElement('div');\n deleteDiv.classList.add(this.classes.valueDelete);\n deleteDiv.onclick = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (this.settings.disabled) {\n return;\n }\n let shouldDelete = true;\n const before = this.store.getSelectedOptions();\n const after = before.filter((o) => {\n return o.selected && o.id !== option.id;\n }, true);\n if (this.settings.minSelected && after.length < this.settings.minSelected) {\n return;\n }\n if (this.callbacks.beforeChange) {\n shouldDelete = this.callbacks.beforeChange(after, before) === true;\n }\n if (shouldDelete) {\n let selectedValues = [];\n for (const o of after) {\n if (o instanceof Optgroup) {\n for (const c of o.options) {\n selectedValues.push(c.value);\n }\n }\n if (o instanceof Option) {\n selectedValues.push(o.value);\n }\n }\n this.callbacks.setSelected(selectedValues, false);\n if (this.settings.closeOnSelect) {\n this.callbacks.close();\n }\n if (this.callbacks.afterChange) {\n this.callbacks.afterChange(after);\n }\n this.updateDeselectAll();\n }\n };\n const deleteSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n deleteSvg.setAttribute('viewBox', '0 0 100 100');\n const deletePath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n deletePath.setAttribute('d', this.classes.optionDelete);\n deleteSvg.appendChild(deletePath);\n deleteDiv.appendChild(deleteSvg);\n value.appendChild(deleteDiv);\n }\n return value;\n }\n contentDiv() {\n const main = document.createElement('div');\n main.dataset.id = this.settings.id;\n const search = this.searchDiv();\n main.appendChild(search.main);\n const list = this.listDiv();\n main.appendChild(list);\n return {\n main: main,\n search: search,\n list: list,\n };\n }\n moveContent() {\n if (this.settings.contentPosition === 'relative') {\n this.moveContentBelow();\n return;\n }\n if (this.settings.openPosition === 'down') {\n this.moveContentBelow();\n return;\n }\n else if (this.settings.openPosition === 'up') {\n this.moveContentAbove();\n return;\n }\n if (this.putContent() === 'up') {\n this.moveContentAbove();\n }\n else {\n this.moveContentBelow();\n }\n }\n searchDiv() {\n const main = document.createElement('div');\n const input = document.createElement('input');\n const addable = document.createElement('div');\n main.classList.add(this.classes.search);\n const searchReturn = {\n main,\n input,\n };\n if (!this.settings.showSearch) {\n main.classList.add(this.classes.hide);\n input.readOnly = true;\n }\n input.type = 'search';\n input.placeholder = this.settings.searchPlaceholder;\n input.tabIndex = -1;\n input.setAttribute('aria-label', this.settings.searchPlaceholder);\n input.setAttribute('autocapitalize', 'off');\n input.setAttribute('autocomplete', 'off');\n input.setAttribute('autocorrect', 'off');\n input.oninput = debounce((e) => {\n this.callbacks.search(e.target.value);\n }, 100);\n input.onkeydown = (e) => {\n switch (e.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n e.key === 'ArrowDown' ? this.highlight('down') : this.highlight('up');\n return false;\n case 'Tab':\n this.callbacks.close();\n return true;\n case 'Escape':\n this.callbacks.close();\n return false;\n case 'Enter':\n case ' ':\n if (this.callbacks.addable && e.ctrlKey) {\n addable.click();\n return false;\n }\n else {\n const highlighted = this.content.list.querySelector('.' + this.classes.highlighted);\n if (highlighted) {\n highlighted.click();\n return false;\n }\n }\n return true;\n }\n return true;\n };\n main.appendChild(input);\n if (this.callbacks.addable) {\n addable.classList.add(this.classes.addable);\n const plus = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n plus.setAttribute('viewBox', '0 0 100 100');\n const plusPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n plusPath.setAttribute('d', this.classes.addablePath);\n plus.appendChild(plusPath);\n addable.appendChild(plus);\n addable.onclick = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (!this.callbacks.addable) {\n return;\n }\n const inputValue = this.content.search.input.value.trim();\n if (inputValue === '') {\n this.content.search.input.focus();\n return;\n }\n const runFinish = (oo) => {\n let newOption = new Option(oo);\n this.callbacks.addOption(newOption);\n if (this.settings.isMultiple) {\n let values = this.store.getSelected();\n values.push(newOption.value);\n this.callbacks.setSelected(values, true);\n }\n else {\n this.callbacks.setSelected([newOption.value], true);\n }\n this.callbacks.search('');\n if (this.settings.closeOnSelect) {\n setTimeout(() => {\n this.callbacks.close();\n }, 100);\n }\n };\n const addableValue = this.callbacks.addable(inputValue);\n if (addableValue === false || addableValue === undefined || addableValue === null) {\n return;\n }\n if (addableValue instanceof Promise) {\n addableValue.then((value) => {\n if (typeof value === 'string') {\n runFinish({\n text: value,\n value: value,\n });\n }\n else {\n runFinish(value);\n }\n });\n }\n else if (typeof addableValue === 'string') {\n runFinish({\n text: addableValue,\n value: addableValue,\n });\n }\n else {\n runFinish(addableValue);\n }\n return;\n };\n main.appendChild(addable);\n searchReturn.addable = {\n main: addable,\n svg: plus,\n path: plusPath,\n };\n }\n return searchReturn;\n }\n searchFocus() {\n this.content.search.input.focus();\n }\n getOptions(notPlaceholder = false, notDisabled = false, notHidden = false) {\n let query = '.' + this.classes.option;\n if (notPlaceholder) {\n query += ':not(.' + this.classes.placeholder + ')';\n }\n if (notDisabled) {\n query += ':not(.' + this.classes.disabled + ')';\n }\n if (notHidden) {\n query += ':not(.' + this.classes.hide + ')';\n }\n return Array.from(this.content.list.querySelectorAll(query));\n }\n highlight(dir) {\n const options = this.getOptions(true, true, true);\n if (options.length === 0) {\n return;\n }\n if (options.length === 1) {\n if (!options[0].classList.contains(this.classes.highlighted)) {\n options[0].classList.add(this.classes.highlighted);\n return;\n }\n }\n let highlighted = false;\n for (const o of options) {\n if (o.classList.contains(this.classes.highlighted)) {\n highlighted = true;\n }\n }\n if (!highlighted) {\n for (const o of options) {\n if (o.classList.contains(this.classes.selected)) {\n o.classList.add(this.classes.highlighted);\n break;\n }\n }\n }\n for (let i = 0; i < options.length; i++) {\n if (options[i].classList.contains(this.classes.highlighted)) {\n const prevOption = options[i];\n prevOption.classList.remove(this.classes.highlighted);\n const prevParent = prevOption.parentElement;\n if (prevParent && prevParent.classList.contains(this.classes.open)) {\n const optgroupLabel = prevParent.querySelector('.' + this.classes.optgroupLabel);\n if (optgroupLabel) {\n optgroupLabel.click();\n }\n }\n let selectOption = options[dir === 'down' ? (i + 1 < options.length ? i + 1 : 0) : i - 1 >= 0 ? i - 1 : options.length - 1];\n selectOption.classList.add(this.classes.highlighted);\n this.ensureElementInView(this.content.list, selectOption);\n const selectParent = selectOption.parentElement;\n if (selectParent && selectParent.classList.contains(this.classes.close)) {\n const optgroupLabel = selectParent.querySelector('.' + this.classes.optgroupLabel);\n if (optgroupLabel) {\n optgroupLabel.click();\n }\n }\n return;\n }\n }\n options[dir === 'down' ? 0 : options.length - 1].classList.add(this.classes.highlighted);\n this.ensureElementInView(this.content.list, options[dir === 'down' ? 0 : options.length - 1]);\n }\n listDiv() {\n const options = document.createElement('div');\n options.classList.add(this.classes.list);\n return options;\n }\n renderError(error) {\n this.content.list.innerHTML = '';\n const errorDiv = document.createElement('div');\n errorDiv.classList.add(this.classes.error);\n errorDiv.textContent = error;\n this.content.list.appendChild(errorDiv);\n }\n renderSearching() {\n this.content.list.innerHTML = '';\n const searchingDiv = document.createElement('div');\n searchingDiv.classList.add(this.classes.searching);\n searchingDiv.textContent = this.settings.searchingText;\n this.content.list.appendChild(searchingDiv);\n }\n renderOptions(data) {\n this.content.list.innerHTML = '';\n if (data.length === 0) {\n const noResults = document.createElement('div');\n noResults.classList.add(this.classes.search);\n noResults.innerHTML = this.settings.searchText;\n this.content.list.appendChild(noResults);\n return;\n }\n for (const d of data) {\n if (d instanceof Optgroup) {\n const optgroupEl = document.createElement('div');\n optgroupEl.classList.add(this.classes.optgroup);\n const optgroupLabel = document.createElement('div');\n optgroupLabel.classList.add(this.classes.optgroupLabel);\n optgroupEl.appendChild(optgroupLabel);\n const optgroupLabelText = document.createElement('div');\n optgroupLabelText.classList.add(this.classes.optgroupLabelText);\n optgroupLabelText.textContent = d.label;\n optgroupLabel.appendChild(optgroupLabelText);\n const optgroupActions = document.createElement('div');\n optgroupActions.classList.add(this.classes.optgroupActions);\n optgroupLabel.appendChild(optgroupActions);\n if (this.settings.isMultiple && d.selectAll) {\n const selectAll = document.createElement('div');\n selectAll.classList.add(this.classes.optgroupSelectAll);\n let allSelected = true;\n for (const o of d.options) {\n if (!o.selected) {\n allSelected = false;\n break;\n }\n }\n if (allSelected) {\n selectAll.classList.add(this.classes.selected);\n }\n const selectAllText = document.createElement('span');\n selectAllText.textContent = d.selectAllText;\n selectAll.appendChild(selectAllText);\n const selectAllSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n selectAllSvg.setAttribute('viewBox', '0 0 100 100');\n selectAll.appendChild(selectAllSvg);\n const selectAllBox = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n selectAllBox.setAttribute('d', this.classes.optgroupSelectAllBox);\n selectAllSvg.appendChild(selectAllBox);\n const selectAllCheck = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n selectAllCheck.setAttribute('d', this.classes.optgroupSelectAllCheck);\n selectAllSvg.appendChild(selectAllCheck);\n selectAll.addEventListener('click', (e) => {\n e.preventDefault();\n e.stopPropagation();\n const currentSelected = this.store.getSelected();\n if (allSelected) {\n const newSelected = currentSelected.filter((s) => {\n for (const o of d.options) {\n if (s === o.value) {\n return false;\n }\n }\n return true;\n });\n this.callbacks.setSelected(newSelected, true);\n return;\n }\n else {\n const newSelected = currentSelected.concat(d.options.map((o) => o.value));\n for (const o of d.options) {\n if (!this.store.getOptionByID(o.id)) {\n this.callbacks.addOption(o);\n }\n }\n this.callbacks.setSelected(newSelected, true);\n return;\n }\n });\n optgroupActions.appendChild(selectAll);\n }\n if (d.closable !== 'off') {\n const optgroupClosable = document.createElement('div');\n optgroupClosable.classList.add(this.classes.optgroupClosable);\n const optgroupClosableSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n optgroupClosableSvg.setAttribute('viewBox', '0 0 100 100');\n optgroupClosableSvg.classList.add(this.classes.arrow);\n optgroupClosable.appendChild(optgroupClosableSvg);\n const optgroupClosableArrow = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n optgroupClosableSvg.appendChild(optgroupClosableArrow);\n if (d.options.some((o) => o.selected) || this.content.search.input.value.trim() !== '') {\n optgroupClosable.classList.add(this.classes.open);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowOpen);\n }\n else if (d.closable === 'open') {\n optgroupEl.classList.add(this.classes.open);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowOpen);\n }\n else if (d.closable === 'close') {\n optgroupEl.classList.add(this.classes.close);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowClose);\n }\n optgroupLabel.addEventListener('click', (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (optgroupEl.classList.contains(this.classes.close)) {\n optgroupEl.classList.remove(this.classes.close);\n optgroupEl.classList.add(this.classes.open);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowOpen);\n }\n else {\n optgroupEl.classList.remove(this.classes.open);\n optgroupEl.classList.add(this.classes.close);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowClose);\n }\n });\n optgroupActions.appendChild(optgroupClosable);\n }\n optgroupEl.appendChild(optgroupLabel);\n for (const o of d.options) {\n optgroupEl.appendChild(this.option(o));\n }\n this.content.list.appendChild(optgroupEl);\n }\n if (d instanceof Option) {\n this.content.list.appendChild(this.option(d));\n }\n }\n }\n option(option) {\n if (option.placeholder) {\n const placeholder = document.createElement('div');\n placeholder.classList.add(this.classes.option);\n placeholder.classList.add(this.classes.hide);\n return placeholder;\n }\n const optionEl = document.createElement('div');\n optionEl.dataset.id = option.id;\n optionEl.id = option.id;\n optionEl.classList.add(this.classes.option);\n optionEl.setAttribute('role', 'option');\n if (option.class) {\n option.class.split(' ').forEach((dataClass) => {\n optionEl.classList.add(dataClass);\n });\n }\n if (option.style) {\n optionEl.style.cssText = option.style;\n }\n if (this.settings.searchHighlight && this.content.search.input.value.trim() !== '') {\n optionEl.innerHTML = this.highlightText(option.html !== '' ? option.html : option.text, this.content.search.input.value, this.classes.searchHighlighter);\n }\n else if (option.html !== '') {\n optionEl.innerHTML = option.html;\n }\n else {\n optionEl.textContent = option.text;\n }\n if (this.settings.showOptionTooltips && optionEl.textContent) {\n optionEl.setAttribute('title', optionEl.textContent);\n }\n if (!option.display) {\n optionEl.classList.add(this.classes.hide);\n }\n if (option.disabled) {\n optionEl.classList.add(this.classes.disabled);\n }\n if (option.selected && this.settings.hideSelected) {\n optionEl.classList.add(this.classes.hide);\n }\n if (option.selected) {\n optionEl.classList.add(this.classes.selected);\n optionEl.setAttribute('aria-selected', 'true');\n this.main.main.setAttribute('aria-activedescendant', optionEl.id);\n }\n else {\n optionEl.classList.remove(this.classes.selected);\n optionEl.setAttribute('aria-selected', 'false');\n }\n optionEl.addEventListener('click', (e) => {\n e.preventDefault();\n e.stopPropagation();\n const selectedOptions = this.store.getSelected();\n const element = e.currentTarget;\n const elementID = String(element.dataset.id);\n if (option.disabled || (option.selected && !this.settings.allowDeselect)) {\n return;\n }\n if ((this.settings.isMultiple && this.settings.maxSelected <= selectedOptions.length && !option.selected) ||\n (this.settings.isMultiple && this.settings.minSelected >= selectedOptions.length && option.selected)) {\n return;\n }\n let shouldUpdate = false;\n const before = this.store.getSelectedOptions();\n let after = [];\n if (this.settings.isMultiple) {\n if (option.selected) {\n after = before.filter((o) => o.id !== elementID);\n }\n else {\n after = before.concat(option);\n }\n }\n if (!this.settings.isMultiple) {\n if (option.selected) {\n after = [];\n }\n else {\n after = [option];\n }\n }\n if (!this.callbacks.beforeChange) {\n shouldUpdate = true;\n }\n if (this.callbacks.beforeChange) {\n if (this.callbacks.beforeChange(after, before) === false) {\n shouldUpdate = false;\n }\n else {\n shouldUpdate = true;\n }\n }\n if (shouldUpdate) {\n if (!this.store.getOptionByID(elementID)) {\n this.callbacks.addOption(option);\n }\n this.callbacks.setSelected(after.map((o) => o.value), false);\n if (this.settings.closeOnSelect) {\n this.callbacks.close();\n }\n if (this.callbacks.afterChange) {\n this.callbacks.afterChange(after);\n }\n }\n });\n return optionEl;\n }\n destroy() {\n this.main.main.remove();\n this.content.main.remove();\n }\n highlightText(str, search, className) {\n let completedString = str;\n const regex = new RegExp('(' + search.trim() + ')(?![^<]*>[^<>]*)', 'i');\n if (!str.match(regex)) {\n return str;\n }\n const matchStartPosition = str.match(regex).index;\n const matchEndPosition = matchStartPosition + str.match(regex)[0].toString().length;\n const originalTextFoundByRegex = str.substring(matchStartPosition, matchEndPosition);\n completedString = completedString.replace(regex, `${originalTextFoundByRegex}`);\n return completedString;\n }\n moveContentAbove() {\n const mainHeight = this.main.main.offsetHeight;\n const contentHeight = this.content.main.offsetHeight;\n this.main.main.classList.remove(this.classes.openBelow);\n this.main.main.classList.add(this.classes.openAbove);\n this.content.main.classList.remove(this.classes.openBelow);\n this.content.main.classList.add(this.classes.openAbove);\n const containerRect = this.main.main.getBoundingClientRect();\n this.content.main.style.margin = '-' + (mainHeight + contentHeight - 1) + 'px 0px 0px 0px';\n this.content.main.style.top = containerRect.top + containerRect.height + window.scrollY + 'px';\n this.content.main.style.left = containerRect.left + window.scrollX + 'px';\n this.content.main.style.width = containerRect.width + 'px';\n }\n moveContentBelow() {\n this.main.main.classList.remove(this.classes.openAbove);\n this.main.main.classList.add(this.classes.openBelow);\n this.content.main.classList.remove(this.classes.openAbove);\n this.content.main.classList.add(this.classes.openBelow);\n const containerRect = this.main.main.getBoundingClientRect();\n this.content.main.style.margin = '-1px 0px 0px 0px';\n if (this.settings.contentPosition !== 'relative') {\n this.content.main.style.top = containerRect.top + containerRect.height + window.scrollY + 'px';\n this.content.main.style.left = containerRect.left + window.scrollX + 'px';\n this.content.main.style.width = containerRect.width + 'px';\n }\n }\n ensureElementInView(container, element) {\n const cTop = container.scrollTop + container.offsetTop;\n const cBottom = cTop + container.clientHeight;\n const eTop = element.offsetTop;\n const eBottom = eTop + element.clientHeight;\n if (eTop < cTop) {\n container.scrollTop -= cTop - eTop;\n }\n else if (eBottom > cBottom) {\n container.scrollTop += eBottom - cBottom;\n }\n }\n putContent() {\n const mainHeight = this.main.main.offsetHeight;\n const mainRect = this.main.main.getBoundingClientRect();\n const contentHeight = this.content.main.offsetHeight;\n const spaceBelow = window.innerHeight - (mainRect.top + mainHeight);\n if (spaceBelow <= contentHeight) {\n if (mainRect.top > contentHeight) {\n return 'up';\n }\n else {\n return 'down';\n }\n }\n return 'down';\n }\n updateDeselectAll() {\n if (!this.store || !this.settings) {\n return;\n }\n const selected = this.store.getSelectedOptions();\n const hasSelectedItems = selected && selected.length > 0;\n const isMultiple = this.settings.isMultiple;\n const allowDeselect = this.settings.allowDeselect;\n const deselectButton = this.main.deselect.main;\n const hideClass = this.classes.hide;\n if (allowDeselect && !(isMultiple && !hasSelectedItems)) {\n deselectButton.classList.remove(hideClass);\n }\n else {\n deselectButton.classList.add(hideClass);\n }\n }\n }\n\n class Select {\n constructor(select) {\n this.listen = false;\n this.observer = null;\n this.select = select;\n this.valueChange = this.valueChange.bind(this);\n this.select.addEventListener('change', this.valueChange, {\n passive: true,\n });\n this.observer = new MutationObserver(this.observeCall.bind(this));\n this.changeListen(true);\n }\n enable() {\n this.select.disabled = false;\n }\n disable() {\n this.select.disabled = true;\n }\n hideUI() {\n this.select.tabIndex = -1;\n this.select.style.display = 'none';\n this.select.setAttribute('aria-hidden', 'true');\n }\n showUI() {\n this.select.removeAttribute('tabindex');\n this.select.style.display = '';\n this.select.removeAttribute('aria-hidden');\n }\n changeListen(listen) {\n this.listen = listen;\n if (listen) {\n if (this.observer) {\n this.observer.observe(this.select, {\n subtree: true,\n childList: true,\n attributes: true,\n });\n }\n }\n if (!listen) {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n }\n valueChange(ev) {\n if (this.listen && this.onValueChange) {\n this.onValueChange(this.getSelectedValues());\n }\n return true;\n }\n observeCall(mutations) {\n if (!this.listen) {\n return;\n }\n let classChanged = false;\n let disabledChanged = false;\n let optgroupOptionChanged = false;\n for (const m of mutations) {\n if (m.target === this.select) {\n if (m.attributeName === 'disabled') {\n disabledChanged = true;\n }\n if (m.attributeName === 'class') {\n classChanged = true;\n }\n }\n if (m.target.nodeName === 'OPTGROUP' || m.target.nodeName === 'OPTION') {\n optgroupOptionChanged = true;\n }\n }\n if (classChanged && this.onClassChange) {\n this.onClassChange(this.select.className.split(' '));\n }\n if (disabledChanged && this.onDisabledChange) {\n this.changeListen(false);\n this.onDisabledChange(this.select.disabled);\n this.changeListen(true);\n }\n if (optgroupOptionChanged && this.onOptionsChange) {\n this.changeListen(false);\n this.onOptionsChange(this.getData());\n this.changeListen(true);\n }\n }\n getData() {\n let data = [];\n const nodes = this.select.childNodes;\n for (const n of nodes) {\n if (n.nodeName === 'OPTGROUP') {\n data.push(this.getDataFromOptgroup(n));\n }\n if (n.nodeName === 'OPTION') {\n data.push(this.getDataFromOption(n));\n }\n }\n return data;\n }\n getDataFromOptgroup(optgroup) {\n let data = {\n id: optgroup.id,\n label: optgroup.label,\n selectAll: optgroup.dataset ? optgroup.dataset.selectall === 'true' : false,\n selectAllText: optgroup.dataset ? optgroup.dataset.selectalltext : 'Select all',\n closable: optgroup.dataset ? optgroup.dataset.closable : 'off',\n options: [],\n };\n const options = optgroup.childNodes;\n for (const o of options) {\n if (o.nodeName === 'OPTION') {\n data.options.push(this.getDataFromOption(o));\n }\n }\n return data;\n }\n getDataFromOption(option) {\n return {\n id: option.id,\n value: option.value,\n text: option.text,\n html: option.dataset && option.dataset.html ? option.dataset.html : '',\n selected: option.selected,\n display: option.style.display === 'none' ? false : true,\n disabled: option.disabled,\n mandatory: option.dataset ? option.dataset.mandatory === 'true' : false,\n placeholder: option.dataset.placeholder === 'true',\n class: option.className,\n style: option.style.cssText,\n data: option.dataset,\n };\n }\n getSelectedValues() {\n let values = [];\n const options = this.select.childNodes;\n for (const o of options) {\n if (o.nodeName === 'OPTGROUP') {\n const optgroupOptions = o.childNodes;\n for (const oo of optgroupOptions) {\n if (oo.nodeName === 'OPTION') {\n const option = oo;\n if (option.selected) {\n values.push(option.value);\n }\n }\n }\n }\n if (o.nodeName === 'OPTION') {\n const option = o;\n if (option.selected) {\n values.push(option.value);\n }\n }\n }\n return values;\n }\n setSelected(value) {\n this.changeListen(false);\n const options = this.select.childNodes;\n for (const o of options) {\n if (o.nodeName === 'OPTGROUP') {\n const optgroup = o;\n const optgroupOptions = optgroup.childNodes;\n for (const oo of optgroupOptions) {\n if (oo.nodeName === 'OPTION') {\n const option = oo;\n option.selected = value.includes(option.value);\n }\n }\n }\n if (o.nodeName === 'OPTION') {\n const option = o;\n option.selected = value.includes(option.value);\n }\n }\n this.changeListen(true);\n }\n updateSelect(id, style, classes) {\n this.changeListen(false);\n if (id) {\n this.select.dataset.id = id;\n }\n if (style) {\n this.select.style.cssText = style;\n }\n if (classes) {\n this.select.className = '';\n classes.forEach((c) => {\n if (c.trim() !== '') {\n this.select.classList.add(c.trim());\n }\n });\n }\n this.changeListen(true);\n }\n updateOptions(data) {\n this.changeListen(false);\n this.select.innerHTML = '';\n for (const d of data) {\n if (d instanceof Optgroup) {\n this.select.appendChild(this.createOptgroup(d));\n }\n if (d instanceof Option) {\n this.select.appendChild(this.createOption(d));\n }\n }\n this.select.dispatchEvent(new Event('change'));\n this.changeListen(true);\n }\n createOptgroup(optgroup) {\n const optgroupEl = document.createElement('optgroup');\n optgroupEl.id = optgroup.id;\n optgroupEl.label = optgroup.label;\n if (optgroup.selectAll) {\n optgroupEl.dataset.selectAll = 'true';\n }\n if (optgroup.closable !== 'off') {\n optgroupEl.dataset.closable = optgroup.closable;\n }\n if (optgroup.options) {\n for (const o of optgroup.options) {\n optgroupEl.appendChild(this.createOption(o));\n }\n }\n return optgroupEl;\n }\n createOption(info) {\n const optionEl = document.createElement('option');\n optionEl.id = info.id;\n optionEl.value = info.value;\n optionEl.innerHTML = info.text;\n if (info.html !== '') {\n optionEl.setAttribute('data-html', info.html);\n }\n if (info.selected) {\n optionEl.selected = info.selected;\n }\n if (info.disabled) {\n optionEl.disabled = true;\n }\n if (info.display === false) {\n optionEl.style.display = 'none';\n }\n if (info.placeholder) {\n optionEl.setAttribute('data-placeholder', 'true');\n }\n if (info.mandatory) {\n optionEl.setAttribute('data-mandatory', 'true');\n }\n if (info.class) {\n info.class.split(' ').forEach((optionClass) => {\n optionEl.classList.add(optionClass);\n });\n }\n if (info.data && typeof info.data === 'object') {\n Object.keys(info.data).forEach((key) => {\n optionEl.setAttribute('data-' + kebabCase(key), info.data[key]);\n });\n }\n return optionEl;\n }\n destroy() {\n this.changeListen(false);\n this.select.removeEventListener('change', this.valueChange);\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n delete this.select.dataset.id;\n this.showUI();\n }\n }\n\n class Settings {\n constructor(settings) {\n this.id = '';\n this.style = '';\n this.class = [];\n this.isMultiple = false;\n this.isOpen = false;\n this.isFullOpen = false;\n this.intervalMove = null;\n if (!settings) {\n settings = {};\n }\n this.id = 'ss-' + generateID();\n this.style = settings.style || '';\n this.class = settings.class || [];\n this.disabled = settings.disabled !== undefined ? settings.disabled : false;\n this.alwaysOpen = settings.alwaysOpen !== undefined ? settings.alwaysOpen : false;\n this.showSearch = settings.showSearch !== undefined ? settings.showSearch : true;\n this.ariaLabel = settings.ariaLabel || 'Combobox';\n this.searchPlaceholder = settings.searchPlaceholder || 'Search';\n this.searchText = settings.searchText || 'No Results';\n this.searchingText = settings.searchingText || 'Searching...';\n this.searchHighlight = settings.searchHighlight !== undefined ? settings.searchHighlight : false;\n this.closeOnSelect = settings.closeOnSelect !== undefined ? settings.closeOnSelect : true;\n this.contentLocation = settings.contentLocation || document.body;\n this.contentPosition = settings.contentPosition || 'absolute';\n this.openPosition = settings.openPosition || 'auto';\n this.placeholderText = settings.placeholderText !== undefined ? settings.placeholderText : 'Select Value';\n this.allowDeselect = settings.allowDeselect !== undefined ? settings.allowDeselect : false;\n this.hideSelected = settings.hideSelected !== undefined ? settings.hideSelected : false;\n this.keepOrder = settings.keepOrder !== undefined ? settings.keepOrder : false;\n this.showOptionTooltips = settings.showOptionTooltips !== undefined ? settings.showOptionTooltips : false;\n this.minSelected = settings.minSelected || 0;\n this.maxSelected = settings.maxSelected || 1000;\n this.timeoutDelay = settings.timeoutDelay || 200;\n this.maxValuesShown = settings.maxValuesShown || 20;\n this.maxValuesMessage = settings.maxValuesMessage || '{number} selected';\n }\n }\n\n class SlimSelect {\n constructor(config) {\n var _a;\n this.events = {\n search: undefined,\n searchFilter: (opt, search) => {\n return opt.text.toLowerCase().indexOf(search.toLowerCase()) !== -1;\n },\n addable: undefined,\n beforeChange: undefined,\n afterChange: undefined,\n beforeOpen: undefined,\n afterOpen: undefined,\n beforeClose: undefined,\n afterClose: undefined,\n };\n this.windowResize = debounce(() => {\n if (!this.settings.isOpen && !this.settings.isFullOpen) {\n return;\n }\n this.render.moveContent();\n });\n this.windowScroll = debounce(() => {\n if (!this.settings.isOpen && !this.settings.isFullOpen) {\n return;\n }\n this.render.moveContent();\n });\n this.documentClick = (e) => {\n if (!this.settings.isOpen) {\n return;\n }\n if (e.target && !hasClassInTree(e.target, this.settings.id)) {\n this.close(e.type);\n }\n };\n this.windowVisibilityChange = () => {\n if (document.hidden) {\n this.close();\n }\n };\n this.selectEl = (typeof config.select === 'string' ? document.querySelector(config.select) : config.select);\n if (!this.selectEl) {\n if (config.events && config.events.error) {\n config.events.error(new Error('Could not find select element'));\n }\n return;\n }\n if (this.selectEl.tagName !== 'SELECT') {\n if (config.events && config.events.error) {\n config.events.error(new Error('Element isnt of type select'));\n }\n return;\n }\n if (this.selectEl.dataset.ssid) {\n this.destroy();\n }\n this.settings = new Settings(config.settings);\n const debounceEvents = ['afterChange', 'beforeOpen', 'afterOpen', 'beforeClose', 'afterClose'];\n for (const key in config.events) {\n if (!config.events.hasOwnProperty(key)) {\n continue;\n }\n if (debounceEvents.indexOf(key) !== -1) {\n this.events[key] = debounce(config.events[key], 100);\n }\n else {\n this.events[key] = config.events[key];\n }\n }\n this.settings.disabled = ((_a = config.settings) === null || _a === void 0 ? void 0 : _a.disabled) ? config.settings.disabled : this.selectEl.disabled;\n this.settings.isMultiple = this.selectEl.multiple;\n this.settings.style = this.selectEl.style.cssText;\n this.settings.class = this.selectEl.className.split(' ');\n this.select = new Select(this.selectEl);\n this.select.updateSelect(this.settings.id, this.settings.style, this.settings.class);\n this.select.hideUI();\n this.select.onValueChange = (values) => {\n this.setSelected(values);\n };\n this.select.onClassChange = (classes) => {\n this.settings.class = classes;\n this.render.updateClassStyles();\n };\n this.select.onDisabledChange = (disabled) => {\n if (disabled) {\n this.disable();\n }\n else {\n this.enable();\n }\n };\n this.select.onOptionsChange = (data) => {\n this.setData(data);\n };\n this.store = new Store(this.settings.isMultiple ? 'multiple' : 'single', config.data ? config.data : this.select.getData());\n if (config.data) {\n this.select.updateOptions(this.store.getData());\n }\n const renderCallbacks = {\n open: this.open.bind(this),\n close: this.close.bind(this),\n addable: this.events.addable ? this.events.addable : undefined,\n setSelected: this.setSelected.bind(this),\n addOption: this.addOption.bind(this),\n search: this.search.bind(this),\n beforeChange: this.events.beforeChange,\n afterChange: this.events.afterChange,\n };\n this.render = new Render(this.settings, this.store, renderCallbacks);\n this.render.renderValues();\n this.render.renderOptions(this.store.getData());\n const selectAriaLabel = this.selectEl.getAttribute('aria-label');\n const selectAriaLabelledBy = this.selectEl.getAttribute('aria-labelledby');\n if (selectAriaLabel) {\n this.render.main.main.setAttribute('aria-label', selectAriaLabel);\n }\n else if (selectAriaLabelledBy) {\n this.render.main.main.setAttribute('aria-labelledby', selectAriaLabelledBy);\n }\n if (this.selectEl.parentNode) {\n this.selectEl.parentNode.insertBefore(this.render.main.main, this.selectEl.nextSibling);\n }\n window.addEventListener('resize', this.windowResize, false);\n if (this.settings.openPosition === 'auto') {\n window.addEventListener('scroll', this.windowScroll, false);\n }\n document.addEventListener('visibilitychange', this.windowVisibilityChange);\n if (this.settings.disabled) {\n this.disable();\n }\n if (this.settings.alwaysOpen) {\n this.open();\n }\n this.selectEl.slim = this;\n }\n enable() {\n this.settings.disabled = false;\n this.select.enable();\n this.render.enable();\n }\n disable() {\n this.settings.disabled = true;\n this.select.disable();\n this.render.disable();\n }\n getData() {\n return this.store.getData();\n }\n setData(data) {\n const selected = this.store.getSelected();\n const err = this.store.validateDataArray(data);\n if (err) {\n if (this.events.error) {\n this.events.error(err);\n }\n return;\n }\n this.store.setData(data);\n const dataClean = this.store.getData();\n this.select.updateOptions(dataClean);\n this.render.renderValues();\n this.render.renderOptions(dataClean);\n if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {\n this.events.afterChange(this.store.getSelectedOptions());\n }\n }\n getSelected() {\n return this.store.getSelected();\n }\n setSelected(value, runAfterChange = true) {\n const selected = this.store.getSelected();\n this.store.setSelectedBy('value', Array.isArray(value) ? value : [value]);\n const data = this.store.getData();\n this.select.updateOptions(data);\n this.render.renderValues();\n if (this.render.content.search.input.value !== '') {\n this.search(this.render.content.search.input.value);\n }\n else {\n this.render.renderOptions(data);\n }\n if (runAfterChange && this.events.afterChange && !isEqual(selected, this.store.getSelected())) {\n this.events.afterChange(this.store.getSelectedOptions());\n }\n }\n addOption(option) {\n const selected = this.store.getSelected();\n if (!this.store.getDataOptions().some((o) => { var _a; return o.value === ((_a = option.value) !== null && _a !== void 0 ? _a : option.text); })) {\n this.store.addOption(option);\n }\n const data = this.store.getData();\n this.select.updateOptions(data);\n this.render.renderValues();\n this.render.renderOptions(data);\n if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {\n this.events.afterChange(this.store.getSelectedOptions());\n }\n }\n open() {\n if (this.settings.disabled || this.settings.isOpen) {\n return;\n }\n if (this.events.beforeOpen) {\n this.events.beforeOpen();\n }\n this.render.open();\n if (this.settings.showSearch) {\n this.render.searchFocus();\n }\n this.settings.isOpen = true;\n setTimeout(() => {\n if (this.events.afterOpen) {\n this.events.afterOpen();\n }\n if (this.settings.isOpen) {\n this.settings.isFullOpen = true;\n }\n document.addEventListener('click', this.documentClick);\n }, this.settings.timeoutDelay);\n if (this.settings.contentPosition === 'absolute') {\n if (this.settings.intervalMove) {\n clearInterval(this.settings.intervalMove);\n }\n this.settings.intervalMove = setInterval(this.render.moveContent.bind(this.render), 500);\n }\n }\n close(eventType = null) {\n if (!this.settings.isOpen || this.settings.alwaysOpen) {\n return;\n }\n if (this.events.beforeClose) {\n this.events.beforeClose();\n }\n this.render.close();\n if (this.render.content.search.input.value !== '') {\n this.search('');\n }\n this.render.mainFocus(eventType);\n this.settings.isOpen = false;\n this.settings.isFullOpen = false;\n setTimeout(() => {\n if (this.events.afterClose) {\n this.events.afterClose();\n }\n document.removeEventListener('click', this.documentClick);\n }, this.settings.timeoutDelay);\n if (this.settings.intervalMove) {\n clearInterval(this.settings.intervalMove);\n }\n }\n search(value) {\n if (this.render.content.search.input.value !== value) {\n this.render.content.search.input.value = value;\n }\n if (!this.events.search) {\n this.render.renderOptions(value === '' ? this.store.getData() : this.store.search(value, this.events.searchFilter));\n return;\n }\n this.render.renderSearching();\n const searchResp = this.events.search(value, this.store.getSelectedOptions());\n if (searchResp instanceof Promise) {\n searchResp\n .then((data) => {\n this.render.renderOptions(this.store.partialToFullData(data));\n })\n .catch((err) => {\n this.render.renderError(typeof err === 'string' ? err : err.message);\n });\n return;\n }\n else if (Array.isArray(searchResp)) {\n this.render.renderOptions(this.store.partialToFullData(searchResp));\n }\n else {\n this.render.renderError('Search event must return a promise or an array of data');\n }\n }\n destroy() {\n document.removeEventListener('click', this.documentClick);\n window.removeEventListener('resize', this.windowResize, false);\n if (this.settings.openPosition === 'auto') {\n window.removeEventListener('scroll', this.windowScroll, false);\n }\n document.removeEventListener('visibilitychange', this.windowVisibilityChange);\n this.store.setData([]);\n this.render.destroy();\n this.select.destroy();\n }\n }\n\n return SlimSelect;\n\n}));\n","/*\n* Notiflix Notify AIO (https://notiflix.github.io)\n* Description: This file has been created automatically that using \"notiflix.js\", and \"notiflix.css\" files.\n* Version: 3.2.6\n* Author: Furkan (https://github.com/furcan)\n* Copyright 2019 - 2023 Notiflix, MIT Licence (https://opensource.org/licenses/MIT)\n*/\n\n/* global define */\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof module === 'object' && typeof module.exports === 'object') {\n module.exports = factory(root);\n } else {\n root.Notiflix = factory(root);\n }\n})(typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this, function (window) {\n\n 'use strict';\n\n // COMMON: SSR check: begin\n if (typeof window === 'undefined' && typeof window.document === 'undefined') {\n return false;\n }\n // COMMON: SSR check: end\n\n // COMMON: Variables: begin\n var notiflixNamespace = 'Notiflix';\n var notiflixConsoleDocs = '\\n\\nVisit documentation page to learn more: https://notiflix.github.io/documentation';\n var defaultFontFamily = '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif';\n // COMMON: Variables: end\n\n // NOTIFY: Default Settings: begin\n var typesNotify = {\n Success: 'Success',\n Failure: 'Failure',\n Warning: 'Warning',\n Info: 'Info',\n };\n var newNotifySettings;\n var notifySettings = {\n wrapID: 'NotiflixNotifyWrap', // can not customizable\n overlayID: 'NotiflixNotifyOverlay', // can not customizable\n width: '280px',\n position: 'right-top', // 'right-top' - 'right-bottom' - 'left-top' - 'left-bottom' - 'center-top' - 'center-bottom' - 'center-center'\n distance: '10px',\n opacity: 1,\n borderRadius: '5px',\n rtl: false,\n timeout: 3000,\n messageMaxLength: 110,\n backOverlay: false,\n backOverlayColor: 'rgba(0,0,0,0.5)',\n plainText: true,\n showOnlyTheLastOne: false,\n clickToClose: false,\n pauseOnHover: true,\n\n ID: 'NotiflixNotify',\n className: 'notiflix-notify',\n zindex: 4001,\n fontFamily: 'Quicksand',\n fontSize: '13px',\n cssAnimation: true,\n cssAnimationDuration: 400,\n cssAnimationStyle: 'fade', // 'fade' - 'zoom' - 'from-right' - 'from-top' - 'from-bottom' - 'from-left'\n closeButton: false,\n useIcon: true,\n useFontAwesome: false,\n fontAwesomeIconStyle: 'basic', // 'basic' - 'shadow'\n fontAwesomeIconSize: '34px',\n\n success: {\n background: '#32c682',\n textColor: '#fff',\n childClassName: 'notiflix-notify-success',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-check-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(50,198,130,0.2)',\n },\n\n failure: {\n background: '#ff5549',\n textColor: '#fff',\n childClassName: 'notiflix-notify-failure',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-times-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(255,85,73,0.2)',\n },\n\n warning: {\n background: '#eebf31',\n textColor: '#fff',\n childClassName: 'notiflix-notify-warning',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-exclamation-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(238,191,49,0.2)',\n },\n\n info: {\n background: '#26c0d3',\n textColor: '#fff',\n childClassName: 'notiflix-notify-info',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-info-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(38,192,211,0.2)',\n },\n };\n // NOTIFY: Default Settings: end\n\n // COMMON: Console Error: begin\n var commonConsoleError = function (message) {\n return console.error('%c ' + notiflixNamespace + ' Error ', 'padding:2px;border-radius:20px;color:#fff;background:#ff5549', '\\n' + message + notiflixConsoleDocs);\n };\n // COMMON: Console Error: end\n\n // COMMON: Check Head or Body: begin\n var commonCheckHeadOrBody = function (element) {\n if (!element) { element = 'head'; }\n if (window.document[element] === null) {\n commonConsoleError('\\nNotiflix needs to be appended to the \"<' + element + '>\" element, but you called it before the \"<' + element + '>\" element has been created.');\n return false;\n }\n return true;\n };\n // COMMON: Check Head or Body: end\n\n // COMMON: Set Internal CSS Codes: begin\n var commonSetInternalCSSCodes = function (getInternalCSSCodes, styleElementId) {\n // check doc head\n if (!commonCheckHeadOrBody('head')) { return false; }\n\n // internal css\n if (getInternalCSSCodes() !== null && !window.document.getElementById(styleElementId)) {\n var internalCSS = window.document.createElement('style');\n internalCSS.id = styleElementId;\n internalCSS.innerHTML = getInternalCSSCodes();\n window.document.head.appendChild(internalCSS);\n }\n };\n // COMMON: Set Internal CSS Codes: end\n\n // COMMON: Extend Options: begin\n var commonExtendOptions = function () {\n // variables\n var extended = {};\n var deep = false;\n var i = 0;\n // check if a deep merge\n if (Object.prototype.toString.call(arguments[0]) === '[object Boolean]') {\n deep = arguments[0];\n i++;\n }\n // merge the object into the extended object\n var merge = function (obj) {\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n // if property is an object, merge properties\n if (deep && Object.prototype.toString.call(obj[prop]) === '[object Object]') {\n extended[prop] = commonExtendOptions(extended[prop], obj[prop]);\n } else {\n extended[prop] = obj[prop];\n }\n }\n }\n };\n // loop through each object and conduct a merge\n for (; i < arguments.length; i++) {\n merge(arguments[i]);\n }\n return extended;\n };\n // COMMON: Extend Options: end\n\n // COMMON: Get Plaintext: begin\n var commonGetPlaintext = function (html) {\n var htmlPool = window.document.createElement('div');\n htmlPool.innerHTML = html;\n return htmlPool.textContent || htmlPool.innerText || '';\n };\n // COMMON: Get Plaintext: end\n\n // NOTIFY: Get Internal CSS Codes: begin\n var notifyGetInternalCSSCodes = function () {\n var notifyCSS = '[id^=NotiflixNotifyWrap]{pointer-events:none;position:fixed;z-index:4001;opacity:1;right:10px;top:10px;width:280px;max-width:96%;-webkit-box-sizing:border-box;box-sizing:border-box;background:transparent}[id^=NotiflixNotifyWrap].nx-flex-center-center{max-height:calc(100vh - 20px);overflow-x:hidden;overflow-y:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin:auto}[id^=NotiflixNotifyWrap]::-webkit-scrollbar{width:0;height:0}[id^=NotiflixNotifyWrap]::-webkit-scrollbar-thumb{background:transparent}[id^=NotiflixNotifyWrap]::-webkit-scrollbar-track{background:transparent}[id^=NotiflixNotifyWrap] *{-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyOverlay]{-webkit-transition:background .3s ease-in-out;-o-transition:background .3s ease-in-out;transition:background .3s ease-in-out}[id^=NotiflixNotifyWrap]>div{pointer-events:all;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:\"Quicksand\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;width:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;margin:0 0 10px;border-radius:5px;background:#1e1e1e;color:#fff;padding:10px 12px;font-size:14px;line-height:1.4}[id^=NotiflixNotifyWrap]>div:last-child{margin:0}[id^=NotiflixNotifyWrap]>div.nx-with-callback{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-icon{padding:8px;min-height:56px}[id^=NotiflixNotifyWrap]>div.nx-paused{cursor:auto}[id^=NotiflixNotifyWrap]>div.nx-notify-click-to-close{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-close-button{padding:10px 36px 10px 12px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button{padding:6px 36px 6px 6px}[id^=NotiflixNotifyWrap]>div>span.nx-message{cursor:inherit;font-weight:normal;font-family:inherit!important;word-break:break-all;word-break:break-word}[id^=NotiflixNotifyWrap]>div>span.nx-close-button{cursor:pointer;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;position:absolute;right:8px;top:0;bottom:0;margin:auto;color:inherit;width:20px;height:20px}[id^=NotiflixNotifyWrap]>div>span.nx-close-button:hover{-webkit-transform:rotate(90deg);transform:rotate(90deg)}[id^=NotiflixNotifyWrap]>div>span.nx-close-button>svg{position:absolute;width:16px;height:16px;right:2px;top:2px}[id^=NotiflixNotifyWrap]>div>.nx-message-icon{position:absolute;width:40px;height:40px;font-size:30px;line-height:40px;text-align:center;left:8px;top:0;bottom:0;margin:auto;border-radius:inherit}[id^=NotiflixNotifyWrap]>div>.nx-message-icon-fa.nx-message-icon-fa-shadow{color:inherit;background:rgba(0,0,0,.15);-webkit-box-shadow:inset 0 0 34px rgba(0,0,0,.2);box-shadow:inset 0 0 34px rgba(0,0,0,.2);text-shadow:0 0 10px rgba(0,0,0,.3)}[id^=NotiflixNotifyWrap]>div>span.nx-with-icon{position:relative;float:left;width:calc(100% - 40px);margin:0 0 0 40px;padding:0 0 0 10px;-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>.nx-message-icon{left:auto;right:8px}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-with-icon{padding:0 10px 0 0;margin:0 40px 0 0}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-close-button{right:auto;left:8px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button.nx-rtl-on{padding:6px 6px 6px 36px}[id^=NotiflixNotifyWrap]>div.nx-with-close-button.nx-rtl-on{padding:10px 12px 10px 36px}[id^=NotiflixNotifyOverlay].nx-with-animation,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade{-webkit-animation:notify-animation-fade .3s ease-in-out 0s normal;animation:notify-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom{-webkit-animation:notify-animation-zoom .3s ease-in-out 0s normal;animation:notify-animation-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right{-webkit-animation:notify-animation-from-right .3s ease-in-out 0s normal;animation:notify-animation-from-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}@keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left{-webkit-animation:notify-animation-from-left .3s ease-in-out 0s normal;animation:notify-animation-from-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}@keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top{-webkit-animation:notify-animation-from-top .3s ease-in-out 0s normal;animation:notify-animation-from-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}@keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom{-webkit-animation:notify-animation-from-bottom .3s ease-in-out 0s normal;animation:notify-animation-from-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}@keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}[id^=NotiflixNotifyOverlay].nx-with-animation.nx-remove,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade.nx-remove{opacity:0;-webkit-animation:notify-remove-fade .3s ease-in-out 0s normal;animation:notify-remove-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}@keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom.nx-remove{-webkit-transform:scale(0);transform:scale(0);-webkit-animation:notify-remove-zoom .3s ease-in-out 0s normal;animation:notify-remove-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}@keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top.nx-remove{opacity:0;-webkit-animation:notify-remove-to-top .3s ease-in-out 0s normal;animation:notify-remove-to-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}@keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right.nx-remove{opacity:0;-webkit-animation:notify-remove-to-right .3s ease-in-out 0s normal;animation:notify-remove-to-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}@keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom.nx-remove{opacity:0;-webkit-animation:notify-remove-to-bottom .3s ease-in-out 0s normal;animation:notify-remove-to-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}@keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left.nx-remove{opacity:0;-webkit-animation:notify-remove-to-left .3s ease-in-out 0s normal;animation:notify-remove-to-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}@keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}';\n return notifyCSS || null;\n };\n // NOTIFY: Get Internal CSS Codes: end\n\n // NOTIFY: Create: begin\n var notifyCreateCounter = 0;\n var notifyCreate = function (notifyType, message, callbackOrOptions, options) {\n // check doc body\n if (!commonCheckHeadOrBody('body')) { return false; }\n\n // if not initialized pretend like init\n if (!newNotifySettings) {\n Notiflix.Notify.init({});\n }\n\n // create a backup for new settings\n var newNotifySettingsBackup = commonExtendOptions(true, newNotifySettings, {});\n\n // check callbackOrOptions and options: begin\n if ((typeof callbackOrOptions === 'object' && !Array.isArray(callbackOrOptions)) || (typeof options === 'object' && !Array.isArray(options))) {\n // new options\n var newOptions = {};\n if (typeof callbackOrOptions === 'object') {\n newOptions = callbackOrOptions;\n } else if (typeof options === 'object') {\n newOptions = options;\n }\n\n // extend new settings with the new options\n newNotifySettings = commonExtendOptions(true, newNotifySettings, newOptions);\n }\n // check callbackOrOptions and options: end\n\n // notify type\n var theType = newNotifySettings[notifyType.toLocaleLowerCase('en')];\n\n // notify counter\n notifyCreateCounter++;\n\n // check the message: begin\n if (typeof message !== 'string') {\n message = 'Notiflix ' + notifyType;\n }\n // check the message: end\n\n // if plainText is true => HTML tags not allowed: begin\n if (newNotifySettings.plainText) {\n message = commonGetPlaintext(message); // message plain text\n }\n // if plainText is true => HTML tags not allowed: end\n\n // if plainText is false but the message length more than messageMaxLength => Possible HTML tags error: begin\n if (!newNotifySettings.plainText && message.length > newNotifySettings.messageMaxLength) {\n // extend settings for error massege\n newNotifySettings = commonExtendOptions(true, newNotifySettings, { closeButton: true, messageMaxLength: 150 });\n // error message\n message = 'Possible HTML Tags Error: The \"plainText\" option is \"false\" and the notification content length is more than the \"messageMaxLength\" option.';\n }\n // if plainText is false but the message length more than messageMaxLength => Possible HTML tags error: end\n\n // check message max length: begin\n if (message.length > newNotifySettings.messageMaxLength) {\n message = message.substring(0, newNotifySettings.messageMaxLength) + '...';\n }\n // check message max length: end\n\n // font awesome icon style: begin\n if (newNotifySettings.fontAwesomeIconStyle === 'shadow') {\n theType.fontAwesomeIconColor = theType.background;\n }\n // font awesome icon style: end\n\n // if cssAnimaion is false => duration: begin\n if (!newNotifySettings.cssAnimation) {\n newNotifySettings.cssAnimationDuration = 0;\n }\n // if cssAnimaion is false => duration: end\n\n // notify wrap: begin\n var ntflxNotifyWrap = window.document.getElementById(notifySettings.wrapID) || window.document.createElement('div');\n ntflxNotifyWrap.id = notifySettings.wrapID;\n ntflxNotifyWrap.style.width = newNotifySettings.width;\n ntflxNotifyWrap.style.zIndex = newNotifySettings.zindex;\n ntflxNotifyWrap.style.opacity = newNotifySettings.opacity;\n\n // wrap position: begin\n if (newNotifySettings.position === 'center-center') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.margin = 'auto';\n ntflxNotifyWrap.classList.add('nx-flex-center-center');\n ntflxNotifyWrap.style.maxHeight = 'calc((100vh - ' + newNotifySettings.distance + ') - ' + newNotifySettings.distance + ')';\n ntflxNotifyWrap.style.display = 'flex';\n ntflxNotifyWrap.style.flexWrap = 'wrap';\n ntflxNotifyWrap.style.flexDirection = 'column';\n ntflxNotifyWrap.style.justifyContent = 'center';\n ntflxNotifyWrap.style.alignItems = 'center';\n ntflxNotifyWrap.style.pointerEvents = 'none';\n } else if (newNotifySettings.position === 'center-top') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = 'auto';\n ntflxNotifyWrap.style.margin = 'auto';\n } else if (newNotifySettings.position === 'center-bottom') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.margin = 'auto';\n } else if (newNotifySettings.position === 'right-bottom') {\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.left = 'auto';\n } else if (newNotifySettings.position === 'left-top') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = 'auto';\n ntflxNotifyWrap.style.bottom = 'auto';\n } else if (newNotifySettings.position === 'left-bottom') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.right = 'auto';\n } else { // 'right-top' or else\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.left = 'auto';\n ntflxNotifyWrap.style.bottom = 'auto';\n }\n // wrap position: end\n\n // if background overlay is true: begin\n if (newNotifySettings.backOverlay) {\n var ntflxNotifyOverlay = window.document.getElementById(notifySettings.overlayID) || window.document.createElement('div');\n ntflxNotifyOverlay.id = notifySettings.overlayID;\n ntflxNotifyOverlay.style.width = '100%';\n ntflxNotifyOverlay.style.height = '100%';\n ntflxNotifyOverlay.style.position = 'fixed';\n ntflxNotifyOverlay.style.zIndex = newNotifySettings.zindex - 1;\n ntflxNotifyOverlay.style.left = 0;\n ntflxNotifyOverlay.style.top = 0;\n ntflxNotifyOverlay.style.right = 0;\n ntflxNotifyOverlay.style.bottom = 0;\n ntflxNotifyOverlay.style.background = theType.backOverlayColor || newNotifySettings.backOverlayColor;\n ntflxNotifyOverlay.className = newNotifySettings.cssAnimation ? 'nx-with-animation' : '';\n ntflxNotifyOverlay.style.animationDuration = newNotifySettings.cssAnimation ? newNotifySettings.cssAnimationDuration + 'ms' : '';\n\n if (!window.document.getElementById(notifySettings.overlayID)) {\n window.document.body.appendChild(ntflxNotifyOverlay);\n }\n }\n // if background overlay is true: end\n\n if (!window.document.getElementById(notifySettings.wrapID)) {\n window.document.body.appendChild(ntflxNotifyWrap);\n }\n // notify wrap: end\n\n // notify content: begin\n var ntflxNotify = window.document.createElement('div');\n ntflxNotify.id = newNotifySettings.ID + '-' + notifyCreateCounter;\n ntflxNotify.className = newNotifySettings.className + ' ' + theType.childClassName + ' ' + (newNotifySettings.cssAnimation ? 'nx-with-animation' : '') + ' ' + (newNotifySettings.useIcon ? 'nx-with-icon' : '') + ' nx-' + newNotifySettings.cssAnimationStyle + ' ' + (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function' ? 'nx-with-close-button' : '') + ' ' + (typeof callbackOrOptions === 'function' ? 'nx-with-callback' : '') + ' ' + (newNotifySettings.clickToClose ? 'nx-notify-click-to-close' : '');\n ntflxNotify.style.fontSize = newNotifySettings.fontSize;\n ntflxNotify.style.color = theType.textColor;\n ntflxNotify.style.background = theType.background;\n ntflxNotify.style.borderRadius = newNotifySettings.borderRadius;\n ntflxNotify.style.pointerEvents = 'all';\n\n // rtl: begin\n if (newNotifySettings.rtl) {\n ntflxNotify.setAttribute('dir', 'rtl');\n ntflxNotify.classList.add('nx-rtl-on');\n }\n // rtl: end\n\n // font-family: begin\n ntflxNotify.style.fontFamily = '\"' + newNotifySettings.fontFamily + '\", ' + defaultFontFamily;\n // font-family: end\n\n // use css animation: begin\n if (newNotifySettings.cssAnimation) {\n ntflxNotify.style.animationDuration = newNotifySettings.cssAnimationDuration + 'ms';\n }\n // use css animation: end\n\n // close button element: begin\n var closeButtonHTML = '';\n if (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n closeButtonHTML = '';\n }\n // close buttpon element: end\n\n // use icon: begin\n if (newNotifySettings.useIcon) {\n // use font awesome\n if (newNotifySettings.useFontAwesome) {\n ntflxNotify.innerHTML = '' + message + '' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n // use notiflix icon\n else {\n var svgIcon = '';\n if (notifyType === typesNotify.Success) { // success\n svgIcon = '';\n } else if (notifyType === typesNotify.Failure) { // failure\n svgIcon = '';\n } else if (notifyType === typesNotify.Warning) { // warning\n svgIcon = '';\n } else if (notifyType === typesNotify.Info) { // info\n svgIcon = '';\n }\n ntflxNotify.innerHTML = svgIcon + '' + message + '' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n }\n // without icon\n else {\n ntflxNotify.innerHTML = '' + message + '' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n // use icon: end\n // notify content: end\n\n // notify append or prepend: begin\n if (newNotifySettings.position === 'left-bottom' || newNotifySettings.position === 'right-bottom') { // the new one will be first\n var notifyWrap = window.document.getElementById(notifySettings.wrapID);\n notifyWrap.insertBefore(ntflxNotify, notifyWrap.firstChild);\n } else {\n window.document.getElementById(notifySettings.wrapID).appendChild(ntflxNotify);\n }\n // notify append or prepend: end\n\n // remove by timeout or click: begin\n var eachNotifyElement = window.document.getElementById(ntflxNotify.id);\n if (eachNotifyElement) {\n // timeout variables\n var timeoutHide;\n var timeoutRemove;\n\n // hide notify elm and hide overlay: begin\n var hideNotifyElementsAndOverlay = function () {\n eachNotifyElement.classList.add('nx-remove');\n var removeOverlay = window.document.getElementById(notifySettings.overlayID);\n if (removeOverlay && ntflxNotifyWrap.childElementCount <= 0) {\n removeOverlay.classList.add('nx-remove');\n }\n clearTimeout(timeoutHide);\n };\n // hide notify elm and hide overlay: end\n\n // remove notify elm and wrapper: begin\n var removeNotifyElmentsAndWrapper = function () {\n if (eachNotifyElement && eachNotifyElement.parentNode !== null) {\n eachNotifyElement.parentNode.removeChild(eachNotifyElement);\n }\n if (ntflxNotifyWrap.childElementCount <= 0 && ntflxNotifyWrap.parentNode !== null) { // if childs count === 0 remove wrap\n ntflxNotifyWrap.parentNode.removeChild(ntflxNotifyWrap);\n var removeOverlay = window.document.getElementById(notifySettings.overlayID);\n if (removeOverlay && removeOverlay.parentNode !== null) {\n removeOverlay.parentNode.removeChild(removeOverlay);\n }\n }\n clearTimeout(timeoutRemove);\n };\n // remove notify elm and wrapper: end\n\n // if has close button and callbackOrOptions is not a function: begin\n if (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n var closeButtonElm = window.document.getElementById(ntflxNotify.id).querySelector('span.nx-close-button');\n closeButtonElm.addEventListener('click', function () {\n hideNotifyElementsAndOverlay();\n var clickToCloseTimeout = setTimeout(function () {\n removeNotifyElmentsAndWrapper();\n clearTimeout(clickToCloseTimeout);\n }, newNotifySettings.cssAnimationDuration);\n });\n }\n // if has close button and callbackOrOptions is not a function: end\n\n // if callbackOrOptions or click to close: begin\n if (typeof callbackOrOptions === 'function' || newNotifySettings.clickToClose) {\n eachNotifyElement.addEventListener('click', function () {\n if (typeof callbackOrOptions === 'function') {\n callbackOrOptions();\n }\n hideNotifyElementsAndOverlay();\n var callbackTimeout = setTimeout(function () {\n removeNotifyElmentsAndWrapper();\n clearTimeout(callbackTimeout);\n }, newNotifySettings.cssAnimationDuration);\n });\n }\n // if callbackOrOptions or click to close: end\n\n // else auto remove: begin\n if (!newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n // auto remove: begin\n var autoRemove = function () {\n timeoutHide = setTimeout(function () {\n hideNotifyElementsAndOverlay();\n }, newNotifySettings.timeout);\n timeoutRemove = setTimeout(function () {\n removeNotifyElmentsAndWrapper();\n }, newNotifySettings.timeout + newNotifySettings.cssAnimationDuration);\n };\n autoRemove();\n // auto remove: end\n\n // pause auto remove: begin\n if (newNotifySettings.pauseOnHover) {\n eachNotifyElement.addEventListener('mouseenter', function () {\n eachNotifyElement.classList.add('nx-paused');\n clearTimeout(timeoutHide);\n clearTimeout(timeoutRemove);\n });\n eachNotifyElement.addEventListener('mouseleave', function () {\n eachNotifyElement.classList.remove('nx-paused');\n autoRemove();\n });\n }\n // pause auto remove: end\n }\n // else auto remove: end\n }\n // remove by timeout or click: end\n\n // notify - show only the last one: begin\n if (newNotifySettings.showOnlyTheLastOne && notifyCreateCounter > 0) {\n var allNotifyElmNotTheLastOne = window.document.querySelectorAll('[id^=' + newNotifySettings.ID + '-]:not([id=' + newNotifySettings.ID + '-' + notifyCreateCounter + '])');\n for (var i = 0; i < allNotifyElmNotTheLastOne.length; i++) {\n var eachNotifyElmNotLastOne = allNotifyElmNotTheLastOne[i];\n if (eachNotifyElmNotLastOne.parentNode !== null) {\n eachNotifyElmNotLastOne.parentNode.removeChild(eachNotifyElmNotLastOne);\n }\n }\n }\n // notify - show only the last one: end\n\n // extend new settings with the backup settings\n newNotifySettings = commonExtendOptions(true, newNotifySettings, newNotifySettingsBackup);\n\n };\n // NOTIFY: Create: end\n\n var Notiflix = {\n Notify: {\n // Init\n init: function (userNotifyOptions) {\n // extend options\n newNotifySettings = commonExtendOptions(true, notifySettings, userNotifyOptions);\n // internal css if exist\n commonSetInternalCSSCodes(notifyGetInternalCSSCodes, 'NotiflixNotifyInternalCSS');\n },\n // Merge First Init\n merge: function (userNotifyExtendOptions) {\n // if initialized already\n if (newNotifySettings) {\n newNotifySettings = commonExtendOptions(true, newNotifySettings, userNotifyExtendOptions);\n }\n // initialize first\n else {\n commonConsoleError('You have to initialize the Notify module before call Merge function.');\n return false;\n }\n },\n // Success\n success: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Success, message, callbackOrOptions, options);\n },\n // Failure\n failure: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Failure, message, callbackOrOptions, options);\n },\n // Warning\n warning: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Warning, message, callbackOrOptions, options);\n },\n // Info\n info: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Info, message, callbackOrOptions, options);\n },\n },\n };\n\n if (typeof window.Notiflix === 'object') {\n return commonExtendOptions(true, window.Notiflix, { Notify: Notiflix.Notify });\n } else {\n return { Notify: Notiflix.Notify };\n }\n\n});","import { fetchBreeds, fetchCatByBreed } from './cat-api';\nimport { createMarkup } from './createMarkup';\nimport SlimSelect from 'slim-select'\nimport { Notify } from 'notiflix/build/notiflix-notify-aio';\nimport 'slim-select/dist/slimselect.css';\nimport '../src/styles.css'\n\nconst breedSelect = document.querySelector('.breed-select');\nconst catInfo = document.querySelector('.cat-info');\nconst loader = document.querySelector('.loader');\nconst error = document.querySelector('.error');\n\nerror.classList.add('is-hidden');\n\nlet storedBreeds = [];\n\nfetchBreeds()\n .then(data => {\n data.forEach(breed => {\n storedBreeds.push({ text: breed.name, value: breed.id });\n });\n new SlimSelect({\n select: breedSelect,\n data: storedBreeds\n });\n })\n .catch(err => console.log(err));\n\n//console.log(storedBreeds)\n \nbreedSelect.addEventListener('change', onSelectBreed);\n\nfunction onSelectBreed(event) {\n const breedId = event.currentTarget.value;\n catInfo.classList.add('is-hidden');\n loader.classList.remove('is-hidden');\n\n // console.log(breedId);\n fetchCatByBreed(breedId)\n .then(data => {\n loader.classList.add('is-hidden');\n catInfo.classList.remove('is-hidden');\n catInfo.innerHTML = createMarkup(data[0]);\n })\n .catch(err => console.log(err));\n};\n\n\n \n\n\n","function createMarkup(catData) {\n const { url, breeds } = catData;\n return `\n
\n
\n \n
${breeds[0].name || 'No name'}
\n
${breeds[0].description || 'Not found'}
\n
Temperament: ${breeds[0].temperament}
\n
Link to Wikipedia page\n
`;\n};\n\nexport { createMarkup };"],"names":["$84ebd01c1ddf4bef$var$asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","Object","defineProperty","$84ebd01c1ddf4bef$exports","default","fn","self","this","args","arguments","apply","err","undefined","$21b983287c82ebd3$var$runtime","exports","Op","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","enumerable","configurable","writable","err1","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","GenStateSuspendedStart","method","GenStateExecuting","Error","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","GenStateSuspendedYield","makeInvokeMethod","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","invoke","result","value1","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","TypeError","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","next1","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","iter","keys","object","key1","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","$21b983287c82ebd3$exports","regeneratorRuntime","accidentalStrictMode","globalThis","Function","$ae0c329fb0fb36dc$var$BASE_URL","$ae0c329fb0fb36dc$var$API_KEY","$ae0c329fb0fb36dc$var$_fetchBreeds","$parcel$interopDefault","_callee","URL","resp","concat","fetch","_ctx","ok","statusText","json","$ae0c329fb0fb36dc$export$57b7d3a597416aa2","breedId","$ae0c329fb0fb36dc$var$_fetchCatByBreed","status","$665014edacbfe17b$exports","instance","Constructor","$74e7f8130373505f$var$_defineProperties","target","props","descriptor","$74e7f8130373505f$exports","protoProps","staticProps","$72df7f47b4163a4e$exports","generateID","Math","random","toString","substring","hasClassInTree","element","className","hasClass","e","c","classList","contains","dataset","id","parentByClass","document","parentNode","debounce","func","timeout","wait","immediate","_len","Array","_key","later","callNow","clearTimeout","setTimeout","isEqual","a","b","JSON","stringify","kebabCase","str","replace","match","toLowerCase","toUpperCase","Optgroup1","Optgroup","optgroup","label","selectAll","selectAllText","closable","options","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","o","Option1","return","Option","option","text","html","selected","display","disabled","mandatory","placeholder","class","style","data","Store1","Store","selectType","setData","isArray","dataObj","validateOption","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_step1","_iterator1","dataFinal","optOptions","partialToFullData","setSelectedBy","getSelected","filter","getData","selectedType","selectedValues","firstOption","hasSelected","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","includes","selectedOptions","getSelectedOptions","opt","selectedIDs","op","search","searchFilter","trim","includeOptgroup","dataSearch","Render1","Render","settings","store","callbacks","classes","main","single","max","valueText","valueDelete","valueOut","deselect","deselectPath","arrow","arrowClose","arrowOpen","content","openAbove","openBelow","searchHighlighter","searching","addable","addablePath","list","optgroupLabel","optgroupLabelText","optgroupActions","optgroupSelectAll","optgroupSelectAllBox","optgroupSelectAllCheck","optgroupClosable","optionDelete","highlighted","open","close","hide","mainDiv","contentDiv","updateClassStyles","updateAriaAttributes","contentLocation","appendChild","remove","input","add","path","setAttribute","openPosition","moveContent","selectedId","selectedOption","querySelector","ensureElementInView","removeAttribute","cssText","contentPosition","role","_a","createElement","ariaLabel","tabIndex","onkeydown","_this","highlight","click","onclick","isOpen","allowDeselect","isMultiple","stopPropagation","shouldDelete","before","after","beforeChange","setSelected","updateDeselectAll","getFirstOption","closeOnSelect","afterChange","deselectSvg","createElementNS","arrowPath","alwaysOpen","svg","eventType","focus","preventScroll","placeholderOption","placeholderText","placeholder1","innerHTML","renderMultipleValues","renderSingleValue","selectedSingle","singleValue","innerText","outerHTML","node","currentNodes","getAttribute","removeNodes","childNodes","maxValuesShown","textContent","maxValuesMessage","i2","_loop","_step3","n","_this1","hasChildNodes","removeChild","_loop1","d","shouldAdd","i1","String","keepOrder","multipleValue","insertBefore","insertAdjacentElement","deleteDiv","preventDefault","minSelected","o1","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","deleteSvg","deletePath","searchDiv","listDiv","putContent","moveContentAbove","moveContentBelow","searchReturn","showSearch","readOnly","searchPlaceholder","oninput","_this3","ctrlKey","plus","plusPath","_this2","inputValue","runFinish","oo","newOption","addOption","_this4","addableValue","notPlaceholder","notDisabled","notHidden","query","from","querySelectorAll","dir","getOptions","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","o2","prevOption","prevParent","parentElement","selectOption","selectParent","optgroupLabel1","errorDiv","searchingDiv","searchingText","noResults","searchText","_iteratorNormalCompletion6","_didIteratorError6","_iteratorError6","_step71","_step7","optgroupEl","allSelected","_iteratorNormalCompletion7","_didIteratorError7","_iteratorError7","_step5","_iterator5","selectAllSvg","selectAllBox","selectAllCheck","addEventListener","currentSelected","_this6","newSelected","s","newSelected1","map","_iteratorNormalCompletion10","_didIteratorError10","_iteratorError10","_step10","_iterator10","o4","getOptionByID","optgroupClosableSvg","optgroupClosableArrow","some","_this5","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_step6","_iterator6","o3","_iterator7","optionEl","split","dataClass","searchHighlight","highlightText","showOptionTooltips","hideSelected","currentTarget","elementID","maxSelected","shouldUpdate","completedString","regex","RegExp","matchStartPosition","index","matchEndPosition","originalTextFoundByRegex","mainHeight","offsetHeight","contentHeight","containerRect","getBoundingClientRect","margin","top","height","window","scrollY","left","scrollX","width","container","cTop","scrollTop","offsetTop","cBottom","clientHeight","eTop","eBottom","mainRect","innerHeight","hasSelectedItems","deselectButton","hideClass","Select1","Select","select","listen","observer","valueChange","bind","passive","MutationObserver","observeCall","changeListen","observe","subtree","childList","attributes","disconnect","ev","onValueChange","getSelectedValues","mutations","classChanged","disabledChanged","optgroupOptionChanged","m","attributeName","nodeName","onClassChange","onDisabledChange","onOptionsChange","nodes","getDataFromOptgroup","getDataFromOption","selectall","selectalltext","optgroupOptions","_iteratorNormalCompletion11","_didIteratorError11","_iteratorError11","_step11","_iterator11","option2","_iteratorNormalCompletion12","_didIteratorError12","_iteratorError12","_step12","_iterator12","option3","createOptgroup","createOption","dispatchEvent","Event","optionClass","removeEventListener","showUI","Settings1","Settings","isFullOpen","intervalMove","body","timeoutDelay","SlimSelect1","SlimSelect","config","events","indexOf","beforeOpen","afterOpen","beforeClose","afterClose","windowResize","render","windowScroll","documentClick","windowVisibilityChange","hidden","selectEl","tagName","ssid","destroy","debounceEvents","multiple","updateSelect","hideUI","disable","enable","updateOptions","renderCallbacks","renderValues","renderOptions","selectAriaLabel","selectAriaLabelledBy","nextSibling","slim","validateDataArray","dataClean","runAfterChange","getDataOptions","searchFocus","clearInterval","setInterval","mainFocus","renderSearching","searchResp","renderError","message","factory","root","$parcel$global","$c72c4ee5f4be9835$exports","newNotifySettings","typesNotify","notifySettings","wrapID","overlayID","position","distance","opacity","borderRadius","rtl","messageMaxLength","backOverlay","backOverlayColor","plainText","showOnlyTheLastOne","clickToClose","pauseOnHover","ID","zindex","fontFamily","fontSize","cssAnimation","cssAnimationDuration","cssAnimationStyle","closeButton","useIcon","useFontAwesome","fontAwesomeIconStyle","fontAwesomeIconSize","success","background","textColor","childClassName","notiflixIconColor","fontAwesomeClassName","fontAwesomeIconColor","failure","warning","commonConsoleError","console","commonCheckHeadOrBody","commonExtendOptions","extended","deep","merge","prop","notifyGetInternalCSSCodes","notifyCreateCounter","notifyCreate","notifyType","callbackOrOptions","Notiflix","Notify","init","newNotifySettingsBackup","newOptions","htmlPool","theType","toLocaleLowerCase","ntflxNotifyWrap","getElementById","zIndex","right","bottom","maxHeight","flexWrap","flexDirection","justifyContent","alignItems","pointerEvents","ntflxNotifyOverlay","animationDuration","ntflxNotify","color","closeButtonHTML","svgIcon","notifyWrap","firstChild","eachNotifyElement","timeoutHide","timeoutRemove","hideNotifyElementsAndOverlay","removeOverlay","childElementCount","removeNotifyElmentsAndWrapper","clickToCloseTimeout","callbackTimeout","autoRemove","allNotifyElmNotTheLastOne","eachNotifyElmNotLastOne","userNotifyOptions","getInternalCSSCodes","styleElementId","internalCSS","head","commonSetInternalCSSCodes","userNotifyExtendOptions","amd","$b8f9b7833fa37166$var$breedSelect","$b8f9b7833fa37166$var$catInfo","$b8f9b7833fa37166$var$loader","$b8f9b7833fa37166$var$storedBreeds","breed","log","event","catData","url","breeds","description","temperament","wikipedia_url"],"version":3,"file":"index.cbdf542e.js.map"}
\ No newline at end of file
diff --git a/index.b06baf61.css b/index.d67eff29.css
similarity index 87%
rename from index.b06baf61.css
rename to index.d67eff29.css
index dc8519c..d0fe86a 100644
--- a/index.b06baf61.css
+++ b/index.d67eff29.css
@@ -1,2 +1,2 @@
-:root{--ss-primary-color:#5897fb;--ss-bg-color:#fff;--ss-font-color:#4d4d4d;--ss-font-placeholder-color:#8d8d8d;--ss-disabled-color:#dcdee2;--ss-border-color:#dcdee2;--ss-highlight-color:#fffb8c;--ss-success-color:#00b755;--ss-error-color:#dc3545;--ss-focus-color:#5897fb;--ss-main-height:30px;--ss-content-height:300px;--ss-spacing-l:7px;--ss-spacing-m:5px;--ss-spacing-s:3px;--ss-animation-timing:.2s;--ss-border-radius:4px}@keyframes ss-valueIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes ss-valueOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}.ss-hide{display:none!important}.ss-main{-ms-user-select:none;user-select:none;color:var(--ss-font-color);min-height:var(--ss-main-height);width:100%;padding:var(--ss-spacing-s);cursor:pointer;border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);background-color:var(--ss-bg-color);box-sizing:border-box;transition:background-color var(--ss-animation-timing);outline:0;flex-direction:row;display:flex;position:relative;overflow:hidden}.ss-main:focus{box-shadow:0 0 5px var(--ss-focus-color)}.ss-main.ss-disabled{background-color:var(--ss-disabled-color);cursor:not-allowed}.ss-main.ss-disabled .ss-values .ss-disabled{color:var(--ss-font-color)}.ss-main.ss-disabled .ss-values .ss-value .ss-value-delete{cursor:not-allowed}.ss-main.ss-open-above{border-top-left-radius:0;border-top-right-radius:0}.ss-main.ss-open-below{border-bottom-left-radius:0;border-bottom-right-radius:0}.ss-main .ss-values{gap:var(--ss-spacing-m);flex-wrap:wrap;flex:100%;display:inline-flex}.ss-main .ss-values .ss-placeholder{padding:var(--ss-spacing-s)var(--ss-spacing-m)var(--ss-spacing-s)var(--ss-spacing-m);width:100%;color:var(--ss-font-placeholder-color);text-overflow:ellipsis;white-space:nowrap;align-items:center;margin:auto 0;line-height:1em;display:flex;overflow:hidden}.ss-main .ss-values .ss-max{-ms-user-select:none;user-select:none;width:fit-content;color:var(--ss-bg-color);padding:var(--ss-spacing-s)var(--ss-spacing-m);background-color:var(--ss-primary-color);border-radius:var(--ss-border-radius);align-items:center;font-size:12px;line-height:1;display:flex}.ss-main .ss-values .ss-single{margin:auto 0px auto var(--ss-spacing-s);display:flex}.ss-main .ss-values .ss-value{-ms-user-select:none;user-select:none;width:fit-content;background-color:var(--ss-primary-color);border-radius:var(--ss-border-radius);animation-name:ss-valueIn;animation-duration:var(--ss-animation-timing);align-items:center;animation-timing-function:ease-out;animation-fill-mode:both;display:flex}.ss-main .ss-values .ss-value.ss-value-out{animation-name:ss-valueOut;animation-duration:var(--ss-animation-timing);animation-timing-function:ease-out}.ss-main .ss-values .ss-value .ss-value-text{color:var(--ss-bg-color);padding:var(--ss-spacing-s)var(--ss-spacing-m);font-size:12px;line-height:1}.ss-main .ss-values .ss-value .ss-value-delete{height:var(--ss-spacing-l);width:var(--ss-spacing-l);padding:var(--ss-spacing-s)var(--ss-spacing-m);cursor:pointer;border-left:solid 1px var(--ss-bg-color);box-sizing:content-box;align-items:center;display:flex}.ss-main .ss-values .ss-value .ss-value-delete svg{height:var(--ss-spacing-l);width:var(--ss-spacing-l)}.ss-main .ss-values .ss-value .ss-value-delete svg path{fill:none;stroke:var(--ss-bg-color);stroke-width:18px;stroke-linecap:round;stroke-linejoin:round}.ss-main .ss-deselect{width:fit-content;height:auto;margin:0 var(--ss-spacing-m)0 var(--ss-spacing-m);flex:0 auto;justify-content:center;align-items:center;display:flex}.ss-main .ss-deselect svg{width:8px;height:8px}.ss-main .ss-deselect svg path{fill:none;stroke:var(--ss-font-color);stroke-width:20px;stroke-linecap:round;stroke-linejoin:round}.ss-main .ss-arrow{width:12px;height:12px;margin:auto var(--ss-spacing-m)auto var(--ss-spacing-m);flex:0 auto;justify-content:flex-end;align-items:center;display:flex}.ss-main .ss-arrow path{fill:none;stroke:var(--ss-font-color);stroke-width:18px;stroke-linecap:round;stroke-linejoin:round;transition-timing-function:ease-out;transition:var(--ss-animation-timing)}.ss-content{height:auto;width:auto;max-height:var(--ss-content-height);box-sizing:border-box;border:solid 1px var(--ss-border-color);background-color:var(--ss-bg-color);transition:transform var(--ss-animation-timing),opacity var(--ss-animation-timing);opacity:0;transform-origin:top;z-index:10000;flex-direction:column;display:flex;position:absolute;overflow:hidden;transform:scaleY(0)}.ss-content.ss-relative{height:100%;position:relative}.ss-content.ss-open-above{opacity:1;transform-origin:bottom;border-top-left-radius:var(--ss-border-radius);border-top-right-radius:var(--ss-border-radius);flex-direction:column-reverse;transform:scaleY(1)}.ss-content.ss-open-below{opacity:1;transform-origin:top;border-bottom-left-radius:var(--ss-border-radius);border-bottom-right-radius:var(--ss-border-radius);transform:scaleY(1)}.ss-content .ss-search{padding:var(--ss-spacing-l)var(--ss-spacing-l)var(--ss-spacing-m)var(--ss-spacing-l);flex-direction:row;flex:0 auto;display:flex}.ss-content .ss-search input{font-size:inherit;line-height:inherit;width:100%;min-width:0;padding:var(--ss-spacing-m)var(--ss-spacing-l);border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);background-color:var(--ss-bg-color);text-align:left;box-sizing:border-box;outline:0;flex:auto;margin:0;display:inline-flex}.ss-content .ss-search input::-ms-input-placeholder{color:var(--ss-font-placeholder-color);vertical-align:middle}.ss-content .ss-search input::placeholder{color:var(--ss-font-placeholder-color);vertical-align:middle}.ss-content .ss-search input:focus{box-shadow:0 0 5px var(--ss-focus-color)}.ss-content .ss-search .ss-addable{cursor:pointer;height:auto;margin:0 0 0 var(--ss-spacing-m);border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);flex:none;justify-content:center;align-items:center;display:inline-flex}.ss-content .ss-search .ss-addable svg{width:12px;height:12px;margin:auto var(--ss-spacing-m)auto var(--ss-spacing-m);flex:0 auto;justify-content:flex-end;align-items:center;display:flex}.ss-content .ss-search .ss-addable svg path{fill:none;stroke:var(--ss-font-color);stroke-width:18px;stroke-linecap:round;stroke-linejoin:round}.ss-content .ss-list{height:auto;flex:auto;overflow-x:hidden;overflow-y:auto}.ss-content .ss-list .ss-error{color:var(--ss-error-color);padding:var(--ss-spacing-l)}.ss-content .ss-list .ss-searching{color:var(--ss-font-color);padding:var(--ss-spacing-l)}.ss-content .ss-list .ss-optgroup.ss-close .ss-option{display:none!important}.ss-content .ss-list .ss-optgroup .ss-optgroup-label{padding:var(--ss-spacing-m)var(--ss-spacing-l)var(--ss-spacing-m)var(--ss-spacing-l);flex-direction:row;justify-content:space-between;align-items:center;display:flex}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-label-text{color:var(--ss-font-color);flex:auto;font-weight:700}.ss-content .ss-list .ss-optgroup .ss-optgroup-label:has(.ss-arrow){cursor:pointer}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions{justify-content:center;align-items:center;gap:var(--ss-spacing-m);flex-direction:row;flex:0 auto;display:flex}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall{cursor:pointer;flex-direction:row;flex:none;display:flex}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall:hover{opacity:.5}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall.ss-selected svg path{stroke:var(--ss-error-color)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall span{text-align:center;padding:0 var(--ss-spacing-s)0 0;flex:0 auto;justify-content:center;align-items:center;font-size:60%;display:flex}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg{width:13px;height:13px;flex:0 auto}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg path{fill:none;stroke:var(--ss-success-color);stroke-linecap:round;stroke-linejoin:round}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:first-child{stroke-width:5px}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:last-child{stroke-width:11px}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable{cursor:pointer;flex-direction:row;flex:0 auto;display:flex}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow{width:10px;height:10px;flex:auto}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow path{fill:none;stroke:var(--ss-font-color);stroke-width:18px;stroke-linecap:round;stroke-linejoin:round;transition-timing-function:ease-out;transition:var(--ss-animation-timing)}.ss-content .ss-list .ss-optgroup .ss-option{padding:var(--ss-spacing-s)var(--ss-spacing-s)var(--ss-spacing-s)calc(var(--ss-spacing-l)*3)}.ss-content .ss-list .ss-option{padding:var(--ss-spacing-m)var(--ss-spacing-l)var(--ss-spacing-m)var(--ss-spacing-l);color:var(--ss-font-color);cursor:pointer;-ms-user-select:none;user-select:none;display:flex}.ss-content .ss-list .ss-option:hover,.ss-content .ss-list .ss-option.ss-highlighted,.ss-content .ss-list .ss-option:not(.ss-disabled).ss-selected{color:var(--ss-bg-color);background-color:var(--ss-primary-color)}.ss-content .ss-list .ss-option.ss-disabled{cursor:not-allowed;background-color:var(--ss-disabled-color)}.ss-content .ss-list .ss-option.ss-disabled:hover{color:var(--ss-font-color)}.ss-content .ss-list .ss-option .ss-search-highlight{background-color:var(--ss-highlight-color)}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}ul{margin:0;padding:0;list-style:none}img{display:block}a{text-decoration:none}h1,h2,h3,h4,h5,h6,p{margin:0;padding:0}.loader{width:80px;height:80px;border:2px solid #52bc54;border-radius:50%;margin-top:150px;margin-left:auto;margin-right:auto;animation:rotation 1s linear infinite;display:flex;position:relative}.loader:after,.loader:before{content:"";box-sizing:border-box;width:6px;height:6px;background:#ff3d00;border-radius:50%;position:absolute;top:0;left:0}.loader:before{top:auto;bottom:0;left:auto;right:0}@keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.is-hidden{width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(100%);border:0;margin:-1px;padding:0;position:absolute;overflow:hidden}
-/*# sourceMappingURL=index.b06baf61.css.map */
+:root{--ss-primary-color:#5897fb;--ss-bg-color:#fff;--ss-font-color:#4d4d4d;--ss-font-placeholder-color:#8d8d8d;--ss-disabled-color:#dcdee2;--ss-border-color:#dcdee2;--ss-highlight-color:#fffb8c;--ss-success-color:#00b755;--ss-error-color:#dc3545;--ss-focus-color:#5897fb;--ss-main-height:30px;--ss-content-height:300px;--ss-spacing-l:7px;--ss-spacing-m:5px;--ss-spacing-s:3px;--ss-animation-timing:.2s;--ss-border-radius:4px}@keyframes ss-valueIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes ss-valueOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}.ss-hide{display:none!important}.ss-main{-ms-user-select:none;user-select:none;color:var(--ss-font-color);min-height:var(--ss-main-height);width:100%;padding:var(--ss-spacing-s);cursor:pointer;border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);background-color:var(--ss-bg-color);box-sizing:border-box;transition:background-color var(--ss-animation-timing);outline:0;flex-direction:row;display:flex;position:relative;overflow:hidden}.ss-main:focus{box-shadow:0 0 5px var(--ss-focus-color)}.ss-main.ss-disabled{background-color:var(--ss-disabled-color);cursor:not-allowed}.ss-main.ss-disabled .ss-values .ss-disabled{color:var(--ss-font-color)}.ss-main.ss-disabled .ss-values .ss-value .ss-value-delete{cursor:not-allowed}.ss-main.ss-open-above{border-top-left-radius:0;border-top-right-radius:0}.ss-main.ss-open-below{border-bottom-left-radius:0;border-bottom-right-radius:0}.ss-main .ss-values{gap:var(--ss-spacing-m);flex-wrap:wrap;flex:100%;display:inline-flex}.ss-main .ss-values .ss-placeholder{padding:var(--ss-spacing-s)var(--ss-spacing-m)var(--ss-spacing-s)var(--ss-spacing-m);width:100%;color:var(--ss-font-placeholder-color);text-overflow:ellipsis;white-space:nowrap;align-items:center;margin:auto 0;line-height:1em;display:flex;overflow:hidden}.ss-main .ss-values .ss-max{-ms-user-select:none;user-select:none;width:fit-content;color:var(--ss-bg-color);padding:var(--ss-spacing-s)var(--ss-spacing-m);background-color:var(--ss-primary-color);border-radius:var(--ss-border-radius);align-items:center;font-size:12px;line-height:1;display:flex}.ss-main .ss-values .ss-single{margin:auto 0px auto var(--ss-spacing-s);display:flex}.ss-main .ss-values .ss-value{-ms-user-select:none;user-select:none;width:fit-content;background-color:var(--ss-primary-color);border-radius:var(--ss-border-radius);animation-name:ss-valueIn;animation-duration:var(--ss-animation-timing);align-items:center;animation-timing-function:ease-out;animation-fill-mode:both;display:flex}.ss-main .ss-values .ss-value.ss-value-out{animation-name:ss-valueOut;animation-duration:var(--ss-animation-timing);animation-timing-function:ease-out}.ss-main .ss-values .ss-value .ss-value-text{color:var(--ss-bg-color);padding:var(--ss-spacing-s)var(--ss-spacing-m);font-size:12px;line-height:1}.ss-main .ss-values .ss-value .ss-value-delete{height:var(--ss-spacing-l);width:var(--ss-spacing-l);padding:var(--ss-spacing-s)var(--ss-spacing-m);cursor:pointer;border-left:solid 1px var(--ss-bg-color);box-sizing:content-box;align-items:center;display:flex}.ss-main .ss-values .ss-value .ss-value-delete svg{height:var(--ss-spacing-l);width:var(--ss-spacing-l)}.ss-main .ss-values .ss-value .ss-value-delete svg path{fill:none;stroke:var(--ss-bg-color);stroke-width:18px;stroke-linecap:round;stroke-linejoin:round}.ss-main .ss-deselect{width:fit-content;height:auto;margin:0 var(--ss-spacing-m)0 var(--ss-spacing-m);flex:0 auto;justify-content:center;align-items:center;display:flex}.ss-main .ss-deselect svg{width:8px;height:8px}.ss-main .ss-deselect svg path{fill:none;stroke:var(--ss-font-color);stroke-width:20px;stroke-linecap:round;stroke-linejoin:round}.ss-main .ss-arrow{width:12px;height:12px;margin:auto var(--ss-spacing-m)auto var(--ss-spacing-m);flex:0 auto;justify-content:flex-end;align-items:center;display:flex}.ss-main .ss-arrow path{fill:none;stroke:var(--ss-font-color);stroke-width:18px;stroke-linecap:round;stroke-linejoin:round;transition-timing-function:ease-out;transition:var(--ss-animation-timing)}.ss-content{height:auto;width:auto;max-height:var(--ss-content-height);box-sizing:border-box;border:solid 1px var(--ss-border-color);background-color:var(--ss-bg-color);transition:transform var(--ss-animation-timing),opacity var(--ss-animation-timing);opacity:0;transform-origin:top;z-index:10000;flex-direction:column;display:flex;position:absolute;overflow:hidden;transform:scaleY(0)}.ss-content.ss-relative{height:100%;position:relative}.ss-content.ss-open-above{opacity:1;transform-origin:bottom;border-top-left-radius:var(--ss-border-radius);border-top-right-radius:var(--ss-border-radius);flex-direction:column-reverse;transform:scaleY(1)}.ss-content.ss-open-below{opacity:1;transform-origin:top;border-bottom-left-radius:var(--ss-border-radius);border-bottom-right-radius:var(--ss-border-radius);transform:scaleY(1)}.ss-content .ss-search{padding:var(--ss-spacing-l)var(--ss-spacing-l)var(--ss-spacing-m)var(--ss-spacing-l);flex-direction:row;flex:0 auto;display:flex}.ss-content .ss-search input{font-size:inherit;line-height:inherit;width:100%;min-width:0;padding:var(--ss-spacing-m)var(--ss-spacing-l);border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);background-color:var(--ss-bg-color);text-align:left;box-sizing:border-box;outline:0;flex:auto;margin:0;display:inline-flex}.ss-content .ss-search input::-ms-input-placeholder{color:var(--ss-font-placeholder-color);vertical-align:middle}.ss-content .ss-search input::placeholder{color:var(--ss-font-placeholder-color);vertical-align:middle}.ss-content .ss-search input:focus{box-shadow:0 0 5px var(--ss-focus-color)}.ss-content .ss-search .ss-addable{cursor:pointer;height:auto;margin:0 0 0 var(--ss-spacing-m);border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);flex:none;justify-content:center;align-items:center;display:inline-flex}.ss-content .ss-search .ss-addable svg{width:12px;height:12px;margin:auto var(--ss-spacing-m)auto var(--ss-spacing-m);flex:0 auto;justify-content:flex-end;align-items:center;display:flex}.ss-content .ss-search .ss-addable svg path{fill:none;stroke:var(--ss-font-color);stroke-width:18px;stroke-linecap:round;stroke-linejoin:round}.ss-content .ss-list{height:auto;flex:auto;overflow-x:hidden;overflow-y:auto}.ss-content .ss-list .ss-error{color:var(--ss-error-color);padding:var(--ss-spacing-l)}.ss-content .ss-list .ss-searching{color:var(--ss-font-color);padding:var(--ss-spacing-l)}.ss-content .ss-list .ss-optgroup.ss-close .ss-option{display:none!important}.ss-content .ss-list .ss-optgroup .ss-optgroup-label{padding:var(--ss-spacing-m)var(--ss-spacing-l)var(--ss-spacing-m)var(--ss-spacing-l);flex-direction:row;justify-content:space-between;align-items:center;display:flex}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-label-text{color:var(--ss-font-color);flex:auto;font-weight:700}.ss-content .ss-list .ss-optgroup .ss-optgroup-label:has(.ss-arrow){cursor:pointer}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions{justify-content:center;align-items:center;gap:var(--ss-spacing-m);flex-direction:row;flex:0 auto;display:flex}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall{cursor:pointer;flex-direction:row;flex:none;display:flex}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall:hover{opacity:.5}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall.ss-selected svg path{stroke:var(--ss-error-color)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall span{text-align:center;padding:0 var(--ss-spacing-s)0 0;flex:0 auto;justify-content:center;align-items:center;font-size:60%;display:flex}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg{width:13px;height:13px;flex:0 auto}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg path{fill:none;stroke:var(--ss-success-color);stroke-linecap:round;stroke-linejoin:round}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:first-child{stroke-width:5px}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:last-child{stroke-width:11px}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable{cursor:pointer;flex-direction:row;flex:0 auto;display:flex}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow{width:10px;height:10px;flex:auto}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow path{fill:none;stroke:var(--ss-font-color);stroke-width:18px;stroke-linecap:round;stroke-linejoin:round;transition-timing-function:ease-out;transition:var(--ss-animation-timing)}.ss-content .ss-list .ss-optgroup .ss-option{padding:var(--ss-spacing-s)var(--ss-spacing-s)var(--ss-spacing-s)calc(var(--ss-spacing-l)*3)}.ss-content .ss-list .ss-option{padding:var(--ss-spacing-m)var(--ss-spacing-l)var(--ss-spacing-m)var(--ss-spacing-l);color:var(--ss-font-color);cursor:pointer;-ms-user-select:none;user-select:none;display:flex}.ss-content .ss-list .ss-option:hover,.ss-content .ss-list .ss-option.ss-highlighted,.ss-content .ss-list .ss-option:not(.ss-disabled).ss-selected{color:var(--ss-bg-color);background-color:var(--ss-primary-color)}.ss-content .ss-list .ss-option.ss-disabled{cursor:not-allowed;background-color:var(--ss-disabled-color)}.ss-content .ss-list .ss-option.ss-disabled:hover{color:var(--ss-font-color)}.ss-content .ss-list .ss-option .ss-search-highlight{background-color:var(--ss-highlight-color)}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}ul{margin:0;padding:0;list-style:none}img{height:auto;display:block}a{text-decoration:none}h1,h2,h3,h4,h5,h6,p{margin:0;padding:0}.loader{width:80px;height:80px;border:2px solid #52bc54;border-radius:50%;margin-top:150px;margin-left:auto;margin-right:auto;animation:rotation 1s linear infinite;display:flex;position:relative}.loader:after,.loader:before{content:"";box-sizing:border-box;width:6px;height:6px;background:#ff3d00;border-radius:50%;position:absolute;top:0;left:0}.loader:before{top:auto;bottom:0;left:auto;right:0}@keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.is-hidden{width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(100%);border:0;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{height:100vh;max-width:1200px;background-color:#faebd7;margin:0 auto;padding:20px}.box-description{display:flex}@media (max-width:600px){.box-description{flex-wrap:wrap}}.breed-select{margin-bottom:20px}.img-thumb{max-width:500px;margin-bottom:20px;margin-right:20px}@media (max-width:600px){img{max-width:100%}}.title{margin-bottom:20px;font-size:26px}.description{margin-bottom:20px;font-size:18px}.description>span{font-size:20px;font-weight:500}.wikipedia-link{color:#007bff;transition:color .3s}.wikipedia-link:hover{color:#0056b3}
+/*# sourceMappingURL=index.d67eff29.css.map */
diff --git a/index.d67eff29.css.map b/index.d67eff29.css.map
new file mode 100644
index 0000000..6afc281
--- /dev/null
+++ b/index.d67eff29.css.map
@@ -0,0 +1 @@
+{"mappings":"AEAA,0aA4BA,uFAUA,wFAYA,gCAKA,4aAkBE,wDAIA,kFAKI,wEAKE,8EAON,0EAIA,gFAKA,yFAME,mSAcA,wSAcA,qFAMA,yUAYE,uJAMA,kJAOA,kQAUE,wGAIE,yJAYR,yKASE,+CAIE,kIAUJ,uKASE,qMAaJ,kYAiBE,sDAKA,6MASA,kLAQA,wJAME,kVAgBE,iHAAA,uGAKA,4EAKF,qPAWE,2LASE,+IAWN,6EAME,uFAKA,0FAQI,6EAKF,2NAOE,kIAOA,mFAIA,wLAQE,iJAME,yGAMI,0IAMJ,iOAUA,+HAKE,qLAOA,yHAGA,yHAMJ,kJAME,kIAKE,mRAcR,0IAKF,kNAOE,qNAWA,yGAIE,6EAMF,gGClfN,wBAIA,yNASA,sCAMA,8BAKA,uBAIA,uCAWA,mMAaA,uJAaA,mDAOA,2EAUA,6JAaA,6FAQA,8BAIA,yBACI,iCAKJ,iCAIA,gEAOA,yBACI,oBAKJ,yCAKA,+CAKA,iDAKA,mDAKA","sources":["index.d67eff29.css","node_modules/slim-select/dist/slimselect.css","node_modules/slim-select/src/slim-select/slimselect.scss","src/styles.css"],"sourcesContent":[":root {\n --ss-primary-color: #5897fb;\n --ss-bg-color: #fff;\n --ss-font-color: #4d4d4d;\n --ss-font-placeholder-color: #8d8d8d;\n --ss-disabled-color: #dcdee2;\n --ss-border-color: #dcdee2;\n --ss-highlight-color: #fffb8c;\n --ss-success-color: #00b755;\n --ss-error-color: #dc3545;\n --ss-focus-color: #5897fb;\n --ss-main-height: 30px;\n --ss-content-height: 300px;\n --ss-spacing-l: 7px;\n --ss-spacing-m: 5px;\n --ss-spacing-s: 3px;\n --ss-animation-timing: .2s;\n --ss-border-radius: 4px;\n}\n\n@keyframes ss-valueIn {\n 0% {\n opacity: 0;\n transform: scale(0);\n }\n\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@keyframes ss-valueOut {\n 0% {\n opacity: 1;\n transform: scale(1);\n }\n\n 100% {\n opacity: 0;\n transform: scale(0);\n }\n}\n\n.ss-hide {\n display: none !important;\n}\n\n.ss-main {\n -ms-user-select: none;\n user-select: none;\n color: var(--ss-font-color);\n min-height: var(--ss-main-height);\n width: 100%;\n padding: var(--ss-spacing-s);\n cursor: pointer;\n border: 1px solid var(--ss-border-color);\n border-radius: var(--ss-border-radius);\n background-color: var(--ss-bg-color);\n box-sizing: border-box;\n transition: background-color var(--ss-animation-timing);\n outline: 0;\n flex-direction: row;\n display: flex;\n position: relative;\n overflow: hidden;\n}\n\n.ss-main:focus {\n box-shadow: 0 0 5px var(--ss-focus-color);\n}\n\n.ss-main.ss-disabled {\n background-color: var(--ss-disabled-color);\n cursor: not-allowed;\n}\n\n.ss-main.ss-disabled .ss-values .ss-disabled {\n color: var(--ss-font-color);\n}\n\n.ss-main.ss-disabled .ss-values .ss-value .ss-value-delete {\n cursor: not-allowed;\n}\n\n.ss-main.ss-open-above {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.ss-main.ss-open-below {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.ss-main .ss-values {\n gap: var(--ss-spacing-m);\n flex-wrap: wrap;\n flex: 100%;\n display: inline-flex;\n}\n\n.ss-main .ss-values .ss-placeholder {\n padding: var(--ss-spacing-s) var(--ss-spacing-m) var(--ss-spacing-s) var(--ss-spacing-m);\n width: 100%;\n color: var(--ss-font-placeholder-color);\n text-overflow: ellipsis;\n white-space: nowrap;\n align-items: center;\n margin: auto 0;\n line-height: 1em;\n display: flex;\n overflow: hidden;\n}\n\n.ss-main .ss-values .ss-max {\n -ms-user-select: none;\n user-select: none;\n width: fit-content;\n color: var(--ss-bg-color);\n padding: var(--ss-spacing-s) var(--ss-spacing-m);\n background-color: var(--ss-primary-color);\n border-radius: var(--ss-border-radius);\n align-items: center;\n font-size: 12px;\n line-height: 1;\n display: flex;\n}\n\n.ss-main .ss-values .ss-single {\n margin: auto 0px auto var(--ss-spacing-s);\n display: flex;\n}\n\n.ss-main .ss-values .ss-value {\n -ms-user-select: none;\n user-select: none;\n width: fit-content;\n background-color: var(--ss-primary-color);\n border-radius: var(--ss-border-radius);\n animation-name: ss-valueIn;\n animation-duration: var(--ss-animation-timing);\n align-items: center;\n animation-timing-function: ease-out;\n animation-fill-mode: both;\n display: flex;\n}\n\n.ss-main .ss-values .ss-value.ss-value-out {\n animation-name: ss-valueOut;\n animation-duration: var(--ss-animation-timing);\n animation-timing-function: ease-out;\n}\n\n.ss-main .ss-values .ss-value .ss-value-text {\n color: var(--ss-bg-color);\n padding: var(--ss-spacing-s) var(--ss-spacing-m);\n font-size: 12px;\n line-height: 1;\n}\n\n.ss-main .ss-values .ss-value .ss-value-delete {\n height: var(--ss-spacing-l);\n width: var(--ss-spacing-l);\n padding: var(--ss-spacing-s) var(--ss-spacing-m);\n cursor: pointer;\n border-left: solid 1px var(--ss-bg-color);\n box-sizing: content-box;\n align-items: center;\n display: flex;\n}\n\n.ss-main .ss-values .ss-value .ss-value-delete svg {\n height: var(--ss-spacing-l);\n width: var(--ss-spacing-l);\n}\n\n.ss-main .ss-values .ss-value .ss-value-delete svg path {\n fill: none;\n stroke: var(--ss-bg-color);\n stroke-width: 18px;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.ss-main .ss-deselect {\n width: fit-content;\n height: auto;\n margin: 0 var(--ss-spacing-m) 0 var(--ss-spacing-m);\n flex: 0 auto;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.ss-main .ss-deselect svg {\n width: 8px;\n height: 8px;\n}\n\n.ss-main .ss-deselect svg path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-width: 20px;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.ss-main .ss-arrow {\n width: 12px;\n height: 12px;\n margin: auto var(--ss-spacing-m) auto var(--ss-spacing-m);\n flex: 0 auto;\n justify-content: flex-end;\n align-items: center;\n display: flex;\n}\n\n.ss-main .ss-arrow path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-width: 18px;\n stroke-linecap: round;\n stroke-linejoin: round;\n transition-timing-function: ease-out;\n transition: var(--ss-animation-timing);\n}\n\n.ss-content {\n height: auto;\n width: auto;\n max-height: var(--ss-content-height);\n box-sizing: border-box;\n border: solid 1px var(--ss-border-color);\n background-color: var(--ss-bg-color);\n transition: transform var(--ss-animation-timing), opacity var(--ss-animation-timing);\n opacity: 0;\n transform-origin: top;\n z-index: 10000;\n flex-direction: column;\n display: flex;\n position: absolute;\n overflow: hidden;\n transform: scaleY(0);\n}\n\n.ss-content.ss-relative {\n height: 100%;\n position: relative;\n}\n\n.ss-content.ss-open-above {\n opacity: 1;\n transform-origin: bottom;\n border-top-left-radius: var(--ss-border-radius);\n border-top-right-radius: var(--ss-border-radius);\n flex-direction: column-reverse;\n transform: scaleY(1);\n}\n\n.ss-content.ss-open-below {\n opacity: 1;\n transform-origin: top;\n border-bottom-left-radius: var(--ss-border-radius);\n border-bottom-right-radius: var(--ss-border-radius);\n transform: scaleY(1);\n}\n\n.ss-content .ss-search {\n padding: var(--ss-spacing-l) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);\n flex-direction: row;\n flex: 0 auto;\n display: flex;\n}\n\n.ss-content .ss-search input {\n font-size: inherit;\n line-height: inherit;\n width: 100%;\n min-width: 0;\n padding: var(--ss-spacing-m) var(--ss-spacing-l);\n border: 1px solid var(--ss-border-color);\n border-radius: var(--ss-border-radius);\n background-color: var(--ss-bg-color);\n text-align: left;\n box-sizing: border-box;\n outline: 0;\n flex: auto;\n margin: 0;\n display: inline-flex;\n}\n\n.ss-content .ss-search input::-ms-input-placeholder {\n color: var(--ss-font-placeholder-color);\n vertical-align: middle;\n}\n\n.ss-content .ss-search input::placeholder {\n color: var(--ss-font-placeholder-color);\n vertical-align: middle;\n}\n\n.ss-content .ss-search input:focus {\n box-shadow: 0 0 5px var(--ss-focus-color);\n}\n\n.ss-content .ss-search .ss-addable {\n cursor: pointer;\n height: auto;\n margin: 0 0 0 var(--ss-spacing-m);\n border: 1px solid var(--ss-border-color);\n border-radius: var(--ss-border-radius);\n flex: none;\n justify-content: center;\n align-items: center;\n display: inline-flex;\n}\n\n.ss-content .ss-search .ss-addable svg {\n width: 12px;\n height: 12px;\n margin: auto var(--ss-spacing-m) auto var(--ss-spacing-m);\n flex: 0 auto;\n justify-content: flex-end;\n align-items: center;\n display: flex;\n}\n\n.ss-content .ss-search .ss-addable svg path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-width: 18px;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.ss-content .ss-list {\n height: auto;\n flex: auto;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.ss-content .ss-list .ss-error {\n color: var(--ss-error-color);\n padding: var(--ss-spacing-l);\n}\n\n.ss-content .ss-list .ss-searching {\n color: var(--ss-font-color);\n padding: var(--ss-spacing-l);\n}\n\n.ss-content .ss-list .ss-optgroup.ss-close .ss-option {\n display: none !important;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label {\n padding: var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n display: flex;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-label-text {\n color: var(--ss-font-color);\n flex: auto;\n font-weight: bold;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label:has(.ss-arrow) {\n cursor: pointer;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions {\n justify-content: center;\n align-items: center;\n gap: var(--ss-spacing-m);\n flex-direction: row;\n flex: 0 auto;\n display: flex;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall {\n cursor: pointer;\n flex-direction: row;\n flex: none;\n display: flex;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall:hover {\n opacity: .5;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall.ss-selected svg path {\n stroke: var(--ss-error-color);\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall span {\n text-align: center;\n padding: 0 var(--ss-spacing-s) 0 0;\n flex: 0 auto;\n justify-content: center;\n align-items: center;\n font-size: 60%;\n display: flex;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg {\n width: 13px;\n height: 13px;\n flex: 0 auto;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg path {\n fill: none;\n stroke: var(--ss-success-color);\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:first-child {\n stroke-width: 5px;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:last-child {\n stroke-width: 11px;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable {\n cursor: pointer;\n flex-direction: row;\n flex: 0 auto;\n display: flex;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow {\n width: 10px;\n height: 10px;\n flex: auto;\n}\n\n.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-width: 18px;\n stroke-linecap: round;\n stroke-linejoin: round;\n transition-timing-function: ease-out;\n transition: var(--ss-animation-timing);\n}\n\n.ss-content .ss-list .ss-optgroup .ss-option {\n padding: var(--ss-spacing-s) var(--ss-spacing-s) var(--ss-spacing-s) calc(var(--ss-spacing-l) * 3);\n}\n\n.ss-content .ss-list .ss-option {\n padding: var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);\n color: var(--ss-font-color);\n cursor: pointer;\n -ms-user-select: none;\n user-select: none;\n display: flex;\n}\n\n.ss-content .ss-list .ss-option:hover, .ss-content .ss-list .ss-option.ss-highlighted, .ss-content .ss-list .ss-option:not(.ss-disabled).ss-selected {\n color: var(--ss-bg-color);\n background-color: var(--ss-primary-color);\n}\n\n.ss-content .ss-list .ss-option.ss-disabled {\n cursor: not-allowed;\n background-color: var(--ss-disabled-color);\n}\n\n.ss-content .ss-list .ss-option.ss-disabled:hover {\n color: var(--ss-font-color);\n}\n\n.ss-content .ss-list .ss-option .ss-search-highlight {\n background-color: var(--ss-highlight-color);\n}\n\n* {\n box-sizing: border-box;\n}\n\nbody {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n height: 100vh;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Open Sans, Helvetica Neue, sans-serif;\n}\n\nul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\nimg {\n height: auto;\n display: block;\n}\n\na {\n text-decoration: none;\n}\n\nh1, h2, h3, h4, h5, h6, p {\n margin: 0;\n padding: 0;\n}\n\n.loader {\n width: 80px;\n height: 80px;\n border: 2px solid #52bc54;\n border-radius: 50%;\n margin-top: 150px;\n margin-left: auto;\n margin-right: auto;\n animation: rotation 1s linear infinite;\n display: flex;\n position: relative;\n}\n\n.loader:after, .loader:before {\n content: \"\";\n box-sizing: border-box;\n width: 6px;\n height: 6px;\n background: #ff3d00;\n border-radius: 50%;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.loader:before {\n top: auto;\n bottom: 0;\n left: auto;\n right: 0;\n}\n\n@keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.is-hidden {\n width: 1px;\n height: 1px;\n white-space: nowrap;\n clip: rect(0 0 0 0);\n clip-path: inset(100%);\n border: 0;\n margin: -1px;\n padding: 0;\n position: absolute;\n overflow: hidden;\n}\n\n.container {\n height: 100vh;\n max-width: 1200px;\n background-color: #faebd7;\n margin: 0 auto;\n padding: 20px;\n}\n\n.box-description {\n display: flex;\n}\n\n@media (max-width: 600px) {\n .box-description {\n flex-wrap: wrap;\n }\n}\n\n.breed-select {\n margin-bottom: 20px;\n}\n\n.img-thumb {\n max-width: 500px;\n margin-bottom: 20px;\n margin-right: 20px;\n}\n\n@media (max-width: 600px) {\n img {\n max-width: 100%;\n }\n}\n\n.title {\n margin-bottom: 20px;\n font-size: 26px;\n}\n\n.description {\n margin-bottom: 20px;\n font-size: 18px;\n}\n\n.description > span {\n font-size: 20px;\n font-weight: 500;\n}\n\n.wikipedia-link {\n color: #007bff;\n transition: color .3s;\n}\n\n.wikipedia-link:hover {\n color: #0056b3;\n}\n\n/*# sourceMappingURL=index.d67eff29.css.map */\n",":root{--ss-primary-color: #5897fb;--ss-bg-color: #ffffff;--ss-font-color: #4d4d4d;--ss-font-placeholder-color: #8d8d8d;--ss-disabled-color: #dcdee2;--ss-border-color: #dcdee2;--ss-highlight-color: #fffb8c;--ss-success-color: #00b755;--ss-error-color: #dc3545;--ss-focus-color: #5897fb;--ss-main-height: 30px;--ss-content-height: 300px;--ss-spacing-l: 7px;--ss-spacing-m: 5px;--ss-spacing-s: 3px;--ss-animation-timing: 0.2s;--ss-border-radius: 4px}@keyframes ss-valueIn{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes ss-valueOut{0%{transform:scale(1);opacity:1}100%{transform:scale(0);opacity:0}}.ss-hide{display:none !important}.ss-main{display:flex;flex-direction:row;position:relative;user-select:none;color:var(--ss-font-color);min-height:var(--ss-main-height);width:100%;padding:var(--ss-spacing-s);cursor:pointer;border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);background-color:var(--ss-bg-color);outline:0;box-sizing:border-box;transition:background-color var(--ss-animation-timing);overflow:hidden}.ss-main:focus{box-shadow:0 0 5px var(--ss-focus-color)}.ss-main.ss-disabled{background-color:var(--ss-disabled-color);cursor:not-allowed}.ss-main.ss-disabled .ss-values .ss-disabled{color:var(--ss-font-color)}.ss-main.ss-disabled .ss-values .ss-value .ss-value-delete{cursor:not-allowed}.ss-main.ss-open-above{border-top-left-radius:0px;border-top-right-radius:0px}.ss-main.ss-open-below{border-bottom-left-radius:0px;border-bottom-right-radius:0px}.ss-main .ss-values{display:inline-flex;flex-wrap:wrap;gap:var(--ss-spacing-m);flex:1 1 100%}.ss-main .ss-values .ss-placeholder{display:flex;padding:var(--ss-spacing-s) var(--ss-spacing-m) var(--ss-spacing-s) var(--ss-spacing-m);margin:auto 0px auto 0px;line-height:1em;align-items:center;width:100%;color:var(--ss-font-placeholder-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-main .ss-values .ss-max{display:flex;user-select:none;align-items:center;width:fit-content;font-size:12px;color:var(--ss-bg-color);line-height:1;padding:var(--ss-spacing-s) var(--ss-spacing-m);background-color:var(--ss-primary-color);border-radius:var(--ss-border-radius)}.ss-main .ss-values .ss-single{display:flex;margin:auto 0px auto var(--ss-spacing-s)}.ss-main .ss-values .ss-value{display:flex;user-select:none;align-items:center;width:fit-content;background-color:var(--ss-primary-color);border-radius:var(--ss-border-radius);animation-name:ss-valueIn;animation-duration:var(--ss-animation-timing);animation-timing-function:ease-out;animation-fill-mode:both}.ss-main .ss-values .ss-value.ss-value-out{animation-name:ss-valueOut;animation-duration:var(--ss-animation-timing);animation-timing-function:ease-out}.ss-main .ss-values .ss-value .ss-value-text{font-size:12px;color:var(--ss-bg-color);line-height:1;padding:var(--ss-spacing-s) var(--ss-spacing-m)}.ss-main .ss-values .ss-value .ss-value-delete{display:flex;align-items:center;height:var(--ss-spacing-l);width:var(--ss-spacing-l);padding:var(--ss-spacing-s) var(--ss-spacing-m);cursor:pointer;border-left:solid 1px var(--ss-bg-color);box-sizing:content-box}.ss-main .ss-values .ss-value .ss-value-delete svg{height:var(--ss-spacing-l);width:var(--ss-spacing-l)}.ss-main .ss-values .ss-value .ss-value-delete svg path{fill:none;stroke:var(--ss-bg-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round}.ss-main .ss-deselect{flex:0 1 auto;display:flex;align-items:center;justify-content:center;width:fit-content;height:auto;margin:0 var(--ss-spacing-m) 0 var(--ss-spacing-m)}.ss-main .ss-deselect svg{width:8px;height:8px}.ss-main .ss-deselect svg path{fill:none;stroke:var(--ss-font-color);stroke-width:20;stroke-linecap:round;stroke-linejoin:round}.ss-main .ss-arrow{flex:0 1 auto;display:flex;align-items:center;justify-content:flex-end;width:12px;height:12px;margin:auto var(--ss-spacing-m) auto var(--ss-spacing-m)}.ss-main .ss-arrow path{fill:none;stroke:var(--ss-font-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round;transition-timing-function:ease-out;transition:var(--ss-animation-timing)}.ss-content{position:absolute;display:flex;height:auto;flex-direction:column;width:auto;max-height:var(--ss-content-height);box-sizing:border-box;border:solid 1px var(--ss-border-color);background-color:var(--ss-bg-color);transition:transform var(--ss-animation-timing),opacity var(--ss-animation-timing);opacity:0;transform:scaleY(0);transform-origin:center top;overflow:hidden;z-index:10000}.ss-content.ss-relative{position:relative;height:100%}.ss-content.ss-open-above{flex-direction:column-reverse;opacity:1;transform:scaleY(1);transform-origin:center bottom;border-top-left-radius:var(--ss-border-radius);border-top-right-radius:var(--ss-border-radius)}.ss-content.ss-open-below{opacity:1;transform:scaleY(1);transform-origin:center top;border-bottom-left-radius:var(--ss-border-radius);border-bottom-right-radius:var(--ss-border-radius)}.ss-content .ss-search{flex:0 1 auto;display:flex;flex-direction:row;padding:var(--ss-spacing-l) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l)}.ss-content .ss-search input{display:inline-flex;font-size:inherit;line-height:inherit;flex:1 1 auto;width:100%;min-width:0px;padding:var(--ss-spacing-m) var(--ss-spacing-l);margin:0;border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);background-color:var(--ss-bg-color);outline:0;text-align:left;box-sizing:border-box}.ss-content .ss-search input::placeholder{color:var(--ss-font-placeholder-color);vertical-align:middle}.ss-content .ss-search input:focus{box-shadow:0 0 5px var(--ss-focus-color)}.ss-content .ss-search .ss-addable{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;flex:0 0 auto;height:auto;margin:0 0 0 var(--ss-spacing-m);border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius)}.ss-content .ss-search .ss-addable svg{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;width:12px;height:12px;margin:auto var(--ss-spacing-m) auto var(--ss-spacing-m)}.ss-content .ss-search .ss-addable svg path{fill:none;stroke:var(--ss-font-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round}.ss-content .ss-list{flex:1 1 auto;height:auto;overflow-x:hidden;overflow-y:auto}.ss-content .ss-list .ss-error{color:var(--ss-error-color);padding:var(--ss-spacing-l)}.ss-content .ss-list .ss-searching{color:var(--ss-font-color);padding:var(--ss-spacing-l)}.ss-content .ss-list .ss-optgroup.ss-close .ss-option{display:none !important}.ss-content .ss-list .ss-optgroup .ss-optgroup-label{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-label-text{flex:1 1 auto;font-weight:bold;color:var(--ss-font-color)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label:has(.ss-arrow){cursor:pointer}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions{flex:0 1 auto;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--ss-spacing-m)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall{flex:0 0 auto;display:flex;flex-direction:row;cursor:pointer}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall:hover{opacity:.5}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall.ss-selected svg path{stroke:var(--ss-error-color)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall span{flex:0 1 auto;display:flex;align-items:center;justify-content:center;font-size:60%;text-align:center;padding:0 var(--ss-spacing-s) 0 0}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg{flex:0 1 auto;width:13px;height:13px}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg path{fill:none;stroke:var(--ss-success-color);stroke-linecap:round;stroke-linejoin:round}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:first-child{stroke-width:5}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:last-child{stroke-width:11}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable{flex:0 1 auto;display:flex;flex-direction:row;cursor:pointer}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow{flex:1 1 auto;width:10px;height:10px}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow path{fill:none;stroke:var(--ss-font-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round;transition-timing-function:ease-out;transition:var(--ss-animation-timing)}.ss-content .ss-list .ss-optgroup .ss-option{padding:var(--ss-spacing-s) var(--ss-spacing-s) var(--ss-spacing-s) calc(var(--ss-spacing-l)*3)}.ss-content .ss-list .ss-option{display:flex;padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);color:var(--ss-font-color);cursor:pointer;user-select:none}.ss-content .ss-list .ss-option:hover{color:var(--ss-bg-color);background-color:var(--ss-primary-color)}.ss-content .ss-list .ss-option.ss-highlighted,.ss-content .ss-list .ss-option:not(.ss-disabled).ss-selected{color:var(--ss-bg-color);background-color:var(--ss-primary-color)}.ss-content .ss-list .ss-option.ss-disabled{cursor:not-allowed;background-color:var(--ss-disabled-color)}.ss-content .ss-list .ss-option.ss-disabled:hover{color:var(--ss-font-color)}.ss-content .ss-list .ss-option .ss-search-highlight{background-color:var(--ss-highlight-color)}",":root {\n // Colors\n --ss-primary-color: #5897fb;\n --ss-bg-color: #ffffff;\n --ss-font-color: #4d4d4d;\n --ss-font-placeholder-color: #8d8d8d;\n --ss-disabled-color: #dcdee2;\n --ss-border-color: #dcdee2;\n --ss-highlight-color: #fffb8c;\n --ss-success-color: #00b755;\n --ss-error-color: #dc3545;\n --ss-focus-color: #5897fb;\n\n // Heights\n --ss-main-height: 30px;\n --ss-content-height: 300px;\n\n // Spacing\n --ss-spacing-l: 7px;\n --ss-spacing-m: 5px;\n --ss-spacing-s: 3px;\n\n // Misc\n --ss-animation-timing: 0.2s;\n --ss-border-radius: 4px;\n}\n\n// Animation keyframes\n@keyframes ss-valueIn {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n@keyframes ss-valueOut {\n 0% {\n transform: scale(1);\n opacity: 1;\n }\n 100% {\n transform: scale(0);\n opacity: 0;\n }\n}\n\n// Misc classes\n.ss-hide {\n display: none !important;\n}\n\n// Main container\n.ss-main {\n display: flex;\n flex-direction: row;\n position: relative;\n user-select: none;\n color: var(--ss-font-color);\n min-height: var(--ss-main-height);\n width: 100%;\n padding: var(--ss-spacing-s);\n cursor: pointer;\n border: 1px solid var(--ss-border-color);\n border-radius: var(--ss-border-radius);\n background-color: var(--ss-bg-color);\n outline: 0;\n box-sizing: border-box;\n transition: background-color var(--ss-animation-timing);\n overflow: hidden;\n\n &:focus {\n box-shadow: 0 0 5px var(--ss-focus-color);\n }\n\n &.ss-disabled {\n background-color: var(--ss-disabled-color);\n cursor: not-allowed;\n\n .ss-values {\n .ss-disabled {\n color: var(--ss-font-color);\n }\n\n .ss-value {\n .ss-value-delete {\n cursor: not-allowed;\n }\n }\n }\n }\n\n &.ss-open-above {\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n }\n &.ss-open-below {\n border-bottom-left-radius: 0px;\n border-bottom-right-radius: 0px;\n }\n\n .ss-values {\n display: inline-flex;\n flex-wrap: wrap;\n gap: var(--ss-spacing-m);\n flex: 1 1 100%;\n\n .ss-placeholder {\n display: flex;\n padding: var(--ss-spacing-s) var(--ss-spacing-m) var(--ss-spacing-s) var(--ss-spacing-m);\n margin: auto 0px auto 0px;\n line-height: 1em;\n align-items: center;\n width: 100%;\n color: var(--ss-font-placeholder-color);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n // Max is used to display max number of values\n .ss-max {\n display: flex;\n user-select: none;\n align-items: center;\n width: fit-content;\n font-size: 12px;\n color: var(--ss-bg-color);\n line-height: 1;\n padding: var(--ss-spacing-s) var(--ss-spacing-m);\n background-color: var(--ss-primary-color);\n border-radius: var(--ss-border-radius);\n }\n\n // Used for single select selected value\n .ss-single {\n display: flex;\n margin: auto 0px auto var(--ss-spacing-s);\n }\n\n // Used for the selected values\n .ss-value {\n display: flex;\n user-select: none;\n align-items: center;\n width: fit-content;\n background-color: var(--ss-primary-color);\n border-radius: var(--ss-border-radius);\n animation-name: ss-valueIn;\n animation-duration: var(--ss-animation-timing);\n animation-timing-function: ease-out;\n animation-fill-mode: both;\n\n &.ss-value-out {\n animation-name: ss-valueOut;\n animation-duration: var(--ss-animation-timing);\n animation-timing-function: ease-out;\n }\n\n .ss-value-text {\n font-size: 12px;\n color: var(--ss-bg-color);\n line-height: 1;\n padding: var(--ss-spacing-s) var(--ss-spacing-m);\n }\n\n .ss-value-delete {\n display: flex;\n align-items: center;\n height: var(--ss-spacing-l);\n width: var(--ss-spacing-l);\n padding: var(--ss-spacing-s) var(--ss-spacing-m);\n cursor: pointer;\n border-left: solid 1px var(--ss-bg-color);\n box-sizing: content-box;\n\n svg {\n height: var(--ss-spacing-l);\n width: var(--ss-spacing-l);\n\n path {\n fill: none;\n stroke: var(--ss-bg-color);\n stroke-width: 18;\n stroke-linecap: round;\n stroke-linejoin: round;\n }\n }\n }\n }\n }\n\n .ss-deselect {\n flex: 0 1 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n width: fit-content;\n height: auto;\n margin: 0 var(--ss-spacing-m) 0 var(--ss-spacing-m);\n\n svg {\n width: 8px;\n height: 8px;\n\n path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-width: 20;\n stroke-linecap: round;\n stroke-linejoin: round;\n }\n }\n }\n\n .ss-arrow {\n flex: 0 1 auto;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n width: 12px;\n height: 12px;\n margin: auto var(--ss-spacing-m) auto var(--ss-spacing-m);\n\n path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-width: 18;\n stroke-linecap: round;\n stroke-linejoin: round;\n transition-timing-function: ease-out;\n transition: var(--ss-animation-timing);\n }\n }\n}\n\n// Content container\n.ss-content {\n position: absolute; // default position\n display: flex;\n height: auto;\n flex-direction: column;\n width: auto;\n max-height: var(--ss-content-height);\n box-sizing: border-box;\n border: solid 1px var(--ss-border-color);\n background-color: var(--ss-bg-color);\n transition: transform var(--ss-animation-timing), opacity var(--ss-animation-timing);\n opacity: 0;\n transform: scaleY(0);\n transform-origin: center top;\n overflow: hidden;\n z-index: 10000;\n\n &.ss-relative {\n position: relative;\n height: 100%;\n }\n\n &.ss-open-above {\n flex-direction: column-reverse;\n opacity: 1;\n transform: scaleY(1);\n transform-origin: center bottom;\n border-top-left-radius: var(--ss-border-radius);\n border-top-right-radius: var(--ss-border-radius);\n }\n\n &.ss-open-below {\n opacity: 1;\n transform: scaleY(1);\n transform-origin: center top;\n border-bottom-left-radius: var(--ss-border-radius);\n border-bottom-right-radius: var(--ss-border-radius);\n }\n\n .ss-search {\n flex: 0 1 auto;\n display: flex;\n flex-direction: row;\n padding: var(--ss-spacing-l) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);\n\n input {\n display: inline-flex;\n font-size: inherit;\n line-height: inherit;\n flex: 1 1 auto;\n width: 100%;\n min-width: 0px;\n padding: var(--ss-spacing-m) var(--ss-spacing-l);\n margin: 0;\n border: 1px solid var(--ss-border-color);\n border-radius: var(--ss-border-radius);\n background-color: var(--ss-bg-color);\n outline: 0;\n text-align: left;\n box-sizing: border-box;\n\n &::placeholder {\n color: var(--ss-font-placeholder-color);\n vertical-align: middle;\n }\n\n &:focus {\n box-shadow: 0 0 5px var(--ss-focus-color);\n }\n }\n\n .ss-addable {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n flex: 0 0 auto;\n height: auto;\n margin: 0 0 0 var(--ss-spacing-m);\n border: 1px solid var(--ss-border-color);\n border-radius: var(--ss-border-radius);\n\n svg {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex: 0 1 auto;\n width: 12px;\n height: 12px;\n margin: auto var(--ss-spacing-m) auto var(--ss-spacing-m);\n\n path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-width: 18;\n stroke-linecap: round;\n stroke-linejoin: round;\n }\n }\n }\n }\n\n .ss-list {\n flex: 1 1 auto;\n height: auto;\n overflow-x: hidden;\n overflow-y: auto;\n\n .ss-error {\n color: var(--ss-error-color);\n padding: var(--ss-spacing-l);\n }\n\n .ss-searching {\n color: var(--ss-font-color);\n padding: var(--ss-spacing-l);\n }\n\n .ss-optgroup {\n // If optgroup has close, hide all options\n &.ss-close {\n .ss-option {\n display: none !important;\n }\n }\n\n .ss-optgroup-label {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n padding: var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);\n\n .ss-optgroup-label-text {\n flex: 1 1 auto;\n font-weight: bold;\n color: var(--ss-font-color);\n }\n\n // If optgroup has arrow, make label clickable\n &:has(.ss-arrow) {\n cursor: pointer;\n }\n\n .ss-optgroup-actions {\n flex: 0 1 auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: var(--ss-spacing-m);\n\n .ss-selectall {\n flex: 0 0 auto;\n display: flex;\n flex-direction: row;\n cursor: pointer;\n\n &:hover {\n opacity: 0.5;\n }\n\n &.ss-selected {\n svg {\n path {\n stroke: var(--ss-error-color);\n }\n }\n }\n\n span {\n flex: 0 1 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: calc(100% * 0.6);\n text-align: center;\n padding: 0 var(--ss-spacing-s) 0 0;\n }\n\n svg {\n flex: 0 1 auto;\n width: 13px;\n height: 13px;\n\n path {\n fill: none;\n stroke: var(--ss-success-color);\n stroke-linecap: round;\n stroke-linejoin: round;\n }\n\n &:first-child {\n stroke-width: 5;\n }\n &:last-child {\n stroke-width: 11;\n }\n }\n }\n\n .ss-closable {\n flex: 0 1 auto;\n display: flex;\n flex-direction: row;\n cursor: pointer;\n\n .ss-arrow {\n flex: 1 1 auto;\n width: 10px;\n height: 10px;\n\n path {\n fill: none;\n stroke: var(--ss-font-color);\n stroke-width: 18;\n stroke-linecap: round;\n stroke-linejoin: round;\n transition-timing-function: ease-out;\n transition: var(--ss-animation-timing);\n }\n }\n }\n }\n }\n\n .ss-option {\n padding: var(--ss-spacing-s) var(--ss-spacing-s) var(--ss-spacing-s) calc(var(--ss-spacing-l) * 3);\n }\n }\n\n .ss-option {\n display: flex;\n padding: var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);\n color: var(--ss-font-color);\n cursor: pointer;\n user-select: none;\n\n &:hover {\n color: var(--ss-bg-color);\n background-color: var(--ss-primary-color);\n }\n\n &.ss-highlighted,\n &:not(.ss-disabled).ss-selected {\n color: var(--ss-bg-color);\n background-color: var(--ss-primary-color);\n }\n\n &.ss-disabled {\n cursor: not-allowed;\n background-color: var(--ss-disabled-color);\n\n &:hover {\n color: var(--ss-font-color);\n }\n }\n\n // Sub div wrapper for highlighting text\n .ss-search-highlight {\n background-color: var(--ss-highlight-color);\n }\n }\n }\n}\n","* {\n box-sizing: border-box;\n}\n\nbody {\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,\n Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n margin: 0;\n height: 100vh;\n}\n\nul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\nimg {\n display: block;\n height: auto;\n}\n\na {\n text-decoration: none;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np {\n margin: 0;\n padding: 0;\n}\n\n.loader {\n position: relative;\n width: 80px;\n height: 80px;\n border: 2px solid hsl(121, 44%, 53%);\n border-radius: 50%;\n display: flex; \n margin-left: auto;\n margin-right: auto;\n margin-top: 150px;\n animation: rotation 1s linear infinite;\n}\n\n.loader::after,\n.loader::before {\n content: '';\n box-sizing: border-box;\n position: absolute;\n left: 0;\n top: 0;\n background: #FF3D00;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n}\n\n.loader::before {\n left: auto;\n top: auto;\n right: 0;\n bottom: 0;\n}\n\n@keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.is-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n border: 0;\n white-space: nowrap;\n clip: rect(0 0 0 0);\n clip-path: inset(100%);\n overflow: hidden;\n}\n\n.container{\n margin: 0 auto;\n height: 100vh;\n padding: 20px;\n max-width: 1200px;\n background-color: #faebd7;\n}\n\n.box-description{\n display: flex;\n}\n\n@media (max-width: 600px) {\n .box-description {\n flex-wrap: wrap;\n }\n}\n\n.breed-select{\n margin-bottom: 20px;\n}\n\n.img-thumb{\n margin-bottom: 20px;\n margin-right: 20px; \n max-width: 500px; \n}\n\n\n@media (max-width: 600px) {\n img {\n max-width: 100%;\n }\n}\n\n.title{\n margin-bottom: 20px;\n font-size: 26px;\n}\n\n.description{\n margin-bottom: 20px;\n font-size: 18px;\n}\n\n.description>span{\n font-weight: 500;\n font-size: 20px;\n}\n\n.wikipedia-link{\n color: #007bff;\n transition: color 0.3s ease;\n}\n\n.wikipedia-link:hover {\n color: #0056b3;\n}"],"names":[],"version":3,"file":"index.d67eff29.css.map"}
\ No newline at end of file
diff --git a/index.f6504df7.js b/index.f6504df7.js
deleted file mode 100644
index afda21c..0000000
--- a/index.f6504df7.js
+++ /dev/null
@@ -1,2 +0,0 @@
-function t(t){return t&&t.__esModule?t.default:t}var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{};async function s(t){const e=`https://api.thecatapi.com/v1/images/search?api_key=live_ZXvXnN3nLIiVAMYsFosudfyRXWXuiSEi6HJhbZIzZhQtawavdsyjEdVTjhSqCXMm&breed_ids=${t}`,s=await fetch(e);if(!s.ok)throw new Error(s.status);return await s.json()}function i(t){const{url:e,breeds:s}=t;return`\n
\n
\n \n
${s[0].name||"No name"}
\n
${s[0].description||"Not found"}
\n
Temperament: ${s[0].temperament}
\n
Link to Wikipedia page\n
`}var n={};n=function(){function t(){return Math.random().toString(36).substring(2,10)}function e(t,e){function s(t,s){return s&&t&&t.classList&&t.classList.contains(s)||s&&t&&t.dataset&&t.dataset.id&&t.dataset.id===e?t:null}function i(t,e){return t&&t!==document?s(t,e)?t:i(t.parentNode,e):null}return s(t,e)||i(t,e)}function s(t,e=50,s=!1){let i;return function(...n){const o=self,a=()=>{i=null,s||t.apply(o,n)},l=s&&!i;clearTimeout(i),i=setTimeout(a,e),l&&t.apply(o,n)}}function i(t,e){return JSON.stringify(t)===JSON.stringify(e)}function n(t){const e=t.replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g,(t=>"-"+t.toLowerCase()));return t[0]===t[0].toUpperCase()?e.substring(1):e}class o{constructor(e){if(this.id=e.id&&""!==e.id?e.id:t(),this.label=e.label||"",this.selectAll=void 0!==e.selectAll&&e.selectAll,this.selectAllText=e.selectAllText||"Select All",this.closable=e.closable||"off",this.options=[],e.options)for(const t of e.options)this.options.push(new a(t))}}class a{constructor(e){this.id=e.id&&""!==e.id?e.id:t(),this.value=void 0===e.value?e.text:e.value,this.text=e.text||"",this.html=e.html||"",this.selected=void 0!==e.selected&&e.selected,this.display=void 0===e.display||e.display,this.disabled=void 0!==e.disabled&&e.disabled,this.mandatory=void 0!==e.mandatory&&e.mandatory,this.placeholder=void 0!==e.placeholder&&e.placeholder,this.class=e.class||"",this.style=e.style||"",this.data=e.data||{}}}class l{constructor(t,e){this.selectType="single",this.data=[],this.selectType=t,this.setData(e)}validateDataArray(t){if(!Array.isArray(t))return new Error("Data must be an array");for(let e of t){if(!(e instanceof o||"label"in e))return e instanceof a||"text"in e?this.validateOption(e):new Error("Data object must be a valid optgroup or option");if(!("label"in e))return new Error("Optgroup must have a label");if("options"in e&&e.options)for(let t of e.options)return this.validateOption(t)}return null}validateOption(t){return"text"in t?null:new Error("Option must have a text")}partialToFullData(t){let e=[];return t.forEach((t=>{if(t instanceof o||"label"in t){let s=[];"options"in t&&t.options&&t.options.forEach((t=>{s.push(new a(t))})),s.length>0&&e.push(new o(t))}(t instanceof a||"text"in t)&&e.push(new a(t))})),e}setData(t){this.data=this.partialToFullData(t),"single"===this.selectType&&this.setSelectedBy("value",this.getSelected())}getData(){return this.filter(null,!0)}getDataOptions(){return this.filter(null,!1)}addOption(t){this.setData(this.getData().concat(new a(t)))}setSelectedBy(t,e){let s=null,i=!1;for(let n of this.data){if(n instanceof o)for(let o of n.options)s||(s=o),o.selected=!i&&e.includes(o[t]),o.selected&&"single"===this.selectType&&(i=!0);n instanceof a&&(s||(s=n),n.selected=!i&&e.includes(n[t]),n.selected&&"single"===this.selectType&&(i=!0))}"single"===this.selectType&&s&&!i&&(s.selected=!0)}getSelected(){let t=this.getSelectedOptions(),e=[];return t.forEach((t=>{e.push(t.value)})),e}getSelectedOptions(){return this.filter((t=>t.selected),!1)}getSelectedIDs(){let t=this.getSelectedOptions(),e=[];return t.forEach((t=>{e.push(t.id)})),e}getOptgroupByID(t){for(let e of this.data)if(e instanceof o&&e.id===t)return e;return null}getOptionByID(t){let e=this.filter((e=>e.id===t),!1);return e.length?e[0]:null}getSelectType(){return this.selectType}getFirstOption(){let t=null;for(let e of this.data)if(e instanceof o?t=e.options[0]:e instanceof a&&(t=e),t)break;return t}search(t,e){return""===(t=t.trim())?this.getData():this.filter((s=>e(s,t)),!0)}filter(t,e){const s=[];return this.data.forEach((i=>{if(i instanceof o){let n=[];if(i.options.forEach((i=>{t&&!t(i)||(e?n.push(new a(i)):s.push(new a(i)))})),n.length>0){let t=new o(i);t.options=n,s.push(t)}}i instanceof a&&(t&&!t(i)||s.push(new a(i)))})),s}}class r{constructor(t,e,s){this.classes={main:"ss-main",placeholder:"ss-placeholder",values:"ss-values",single:"ss-single",max:"ss-max",value:"ss-value",valueText:"ss-value-text",valueDelete:"ss-value-delete",valueOut:"ss-value-out",deselect:"ss-deselect",deselectPath:"M10,10 L90,90 M10,90 L90,10",arrow:"ss-arrow",arrowClose:"M10,30 L50,70 L90,30",arrowOpen:"M10,70 L50,30 L90,70",content:"ss-content",openAbove:"ss-open-above",openBelow:"ss-open-below",search:"ss-search",searchHighlighter:"ss-search-highlight",searching:"ss-searching",addable:"ss-addable",addablePath:"M50,10 L50,90 M10,50 L90,50",list:"ss-list",optgroup:"ss-optgroup",optgroupLabel:"ss-optgroup-label",optgroupLabelText:"ss-optgroup-label-text",optgroupActions:"ss-optgroup-actions",optgroupSelectAll:"ss-selectall",optgroupSelectAllBox:"M60,10 L10,10 L10,90 L90,90 L90,50",optgroupSelectAllCheck:"M30,45 L50,70 L90,10",optgroupClosable:"ss-closable",option:"ss-option",optionDelete:"M10,10 L90,90 M10,90 L90,10",highlighted:"ss-highlighted",open:"ss-open",close:"ss-close",selected:"ss-selected",error:"ss-error",disabled:"ss-disabled",hide:"ss-hide"},this.store=e,this.settings=t,this.callbacks=s,this.main=this.mainDiv(),this.content=this.contentDiv(),this.updateClassStyles(),this.updateAriaAttributes(),this.settings.contentLocation.appendChild(this.content.main)}enable(){this.main.main.classList.remove(this.classes.disabled),this.content.search.input.disabled=!1}disable(){this.main.main.classList.add(this.classes.disabled),this.content.search.input.disabled=!0}open(){this.main.arrow.path.setAttribute("d",this.classes.arrowOpen),this.main.main.classList.add("up"===this.settings.openPosition?this.classes.openAbove:this.classes.openBelow),this.main.main.setAttribute("aria-expanded","true"),this.moveContent();const t=this.store.getSelectedOptions();if(t.length){const e=t[t.length-1].id,s=this.content.list.querySelector('[data-id="'+e+'"]');s&&this.ensureElementInView(this.content.list,s)}}close(){this.main.main.classList.remove(this.classes.openAbove),this.main.main.classList.remove(this.classes.openBelow),this.main.main.setAttribute("aria-expanded","false"),this.content.main.classList.remove(this.classes.openAbove),this.content.main.classList.remove(this.classes.openBelow),this.main.arrow.path.setAttribute("d",this.classes.arrowClose)}updateClassStyles(){if(this.main.main.className="",this.main.main.removeAttribute("style"),this.content.main.className="",this.content.main.removeAttribute("style"),this.main.main.classList.add(this.classes.main),this.content.main.classList.add(this.classes.content),""!==this.settings.style&&(this.main.main.style.cssText=this.settings.style,this.content.main.style.cssText=this.settings.style),this.settings.class.length)for(const t of this.settings.class)""!==t.trim()&&(this.main.main.classList.add(t.trim()),this.content.main.classList.add(t.trim()));"relative"===this.settings.contentPosition&&this.content.main.classList.add("ss-"+this.settings.contentPosition)}updateAriaAttributes(){this.main.main.role="combobox",this.main.main.setAttribute("aria-haspopup","listbox"),this.main.main.setAttribute("aria-controls",this.content.main.id),this.main.main.setAttribute("aria-expanded","false"),this.content.main.setAttribute("role","listbox")}mainDiv(){var t;const e=document.createElement("div");e.dataset.id=this.settings.id,e.setAttribute("aria-label",this.settings.ariaLabel),e.tabIndex=0,e.onkeydown=t=>{switch(t.key){case"ArrowUp":case"ArrowDown":return this.callbacks.open(),"ArrowDown"===t.key?this.highlight("down"):this.highlight("up"),!1;case"Tab":return this.callbacks.close(),!0;case"Enter":case" ":this.callbacks.open();const e=this.content.list.querySelector("."+this.classes.highlighted);return e&&e.click(),!1;case"Escape":return this.callbacks.close(),!1}return!1},e.onclick=t=>{this.settings.disabled||(this.settings.isOpen?this.callbacks.close():this.callbacks.open())};const s=document.createElement("div");s.classList.add(this.classes.values),e.appendChild(s);const i=document.createElement("div");i.classList.add(this.classes.deselect);const n=null===(t=this.store)||void 0===t?void 0:t.getSelectedOptions();!this.settings.allowDeselect||this.settings.isMultiple&&n&&n.length<=0?i.classList.add(this.classes.hide):i.classList.remove(this.classes.hide),i.onclick=t=>{if(t.stopPropagation(),this.settings.disabled)return;let e=!0;const s=this.store.getSelectedOptions(),i=[];if(this.callbacks.beforeChange&&(e=!0===this.callbacks.beforeChange(i,s)),e){if(this.settings.isMultiple)this.callbacks.setSelected([],!1),this.updateDeselectAll();else{const t=this.store.getFirstOption(),e=t?t.value:"";this.callbacks.setSelected(e,!1)}this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(this.store.getSelectedOptions())}};const o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttribute("viewBox","0 0 100 100");const a=document.createElementNS("http://www.w3.org/2000/svg","path");a.setAttribute("d",this.classes.deselectPath),o.appendChild(a),i.appendChild(o),e.appendChild(i);const l=document.createElementNS("http://www.w3.org/2000/svg","svg");l.classList.add(this.classes.arrow),l.setAttribute("viewBox","0 0 100 100");const r=document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d",this.classes.arrowClose),this.settings.alwaysOpen&&l.classList.add(this.classes.hide),l.appendChild(r),e.appendChild(l),{main:e,values:s,deselect:{main:i,svg:o,path:a},arrow:{main:l,path:r}}}mainFocus(t){"click"!==t&&this.main.main.focus({preventScroll:!0})}placeholder(){const t=this.store.filter((t=>t.placeholder),!1);let e=this.settings.placeholderText;t.length&&(""!==t[0].html?e=t[0].html:""!==t[0].text&&(e=t[0].text));const s=document.createElement("div");return s.classList.add(this.classes.placeholder),s.innerHTML=e,s}renderValues(){this.settings.isMultiple?(this.renderMultipleValues(),this.updateDeselectAll()):this.renderSingleValue()}renderSingleValue(){const t=this.store.filter((t=>t.selected&&!t.placeholder),!1),e=t.length>0?t[0]:null;if(e){const t=document.createElement("div");t.classList.add(this.classes.single),e.html?t.innerHTML=e.html:t.innerText=e.text,this.main.values.innerHTML=t.outerHTML}else this.main.values.innerHTML=this.placeholder().outerHTML;this.settings.allowDeselect&&t.length?this.main.deselect.main.classList.remove(this.classes.hide):this.main.deselect.main.classList.add(this.classes.hide)}renderMultipleValues(){let t=this.main.values.childNodes,e=this.store.filter((t=>t.selected&&t.display),!1);if(0===e.length)return void(this.main.values.innerHTML=this.placeholder().outerHTML);{const t=this.main.values.querySelector("."+this.classes.placeholder);t&&t.remove()}if(e.length>this.settings.maxValuesShown){const t=document.createElement("div");return t.classList.add(this.classes.max),t.textContent=this.settings.maxValuesMessage.replace("{number}",e.length.toString()),void(this.main.values.innerHTML=t.outerHTML)}{const t=this.main.values.querySelector("."+this.classes.max);t&&t.remove()}let s=[];for(let i=0;it.id===o),!1).length||s.push(n))}for(const t of s)t.classList.add(this.classes.valueOut),setTimeout((()=>{this.main.values.hasChildNodes()&&this.main.values.contains(t)&&this.main.values.removeChild(t)}),100);t=this.main.values.childNodes;for(let s=0;s{if(e.preventDefault(),e.stopPropagation(),this.settings.disabled)return;let s=!0;const i=this.store.getSelectedOptions(),n=i.filter((e=>e.selected&&e.id!==t.id),!0);if(!(this.settings.minSelected&&n.length{this.callbacks.search(t.target.value)}),100),e.onkeydown=t=>{switch(t.key){case"ArrowUp":case"ArrowDown":return"ArrowDown"===t.key?this.highlight("down"):this.highlight("up"),!1;case"Tab":return this.callbacks.close(),!0;case"Escape":return this.callbacks.close(),!1;case"Enter":case" ":if(this.callbacks.addable&&t.ctrlKey)return i.click(),!1;{const t=this.content.list.querySelector("."+this.classes.highlighted);if(t)return t.click(),!1}return!0}return!0},t.appendChild(e),this.callbacks.addable){i.classList.add(this.classes.addable);const e=document.createElementNS("http://www.w3.org/2000/svg","svg");e.setAttribute("viewBox","0 0 100 100");const s=document.createElementNS("http://www.w3.org/2000/svg","path");s.setAttribute("d",this.classes.addablePath),e.appendChild(s),i.appendChild(e),i.onclick=t=>{if(t.preventDefault(),t.stopPropagation(),!this.callbacks.addable)return;const e=this.content.search.input.value.trim();if(""===e)return void this.content.search.input.focus();const s=t=>{let e=new a(t);if(this.callbacks.addOption(e),this.settings.isMultiple){let t=this.store.getSelected();t.push(e.value),this.callbacks.setSelected(t,!0)}else this.callbacks.setSelected([e.value],!0);this.callbacks.search(""),this.settings.closeOnSelect&&setTimeout((()=>{this.callbacks.close()}),100)},i=this.callbacks.addable(e);!1!==i&&null!=i&&(i instanceof Promise?i.then((t=>{s("string"==typeof t?{text:t,value:t}:t)})):s("string"==typeof i?{text:i,value:i}:i))},t.appendChild(i),n.addable={main:i,svg:e,path:s}}return n}searchFocus(){this.content.search.input.focus()}getOptions(t=!1,e=!1,s=!1){let i="."+this.classes.option;return t&&(i+=":not(."+this.classes.placeholder+")"),e&&(i+=":not(."+this.classes.disabled+")"),s&&(i+=":not(."+this.classes.hide+")"),Array.from(this.content.list.querySelectorAll(i))}highlight(t){const e=this.getOptions(!0,!0,!0);if(0===e.length)return;if(1===e.length&&!e[0].classList.contains(this.classes.highlighted))return void e[0].classList.add(this.classes.highlighted);let s=!1;for(const t of e)t.classList.contains(this.classes.highlighted)&&(s=!0);if(!s)for(const t of e)if(t.classList.contains(this.classes.selected)){t.classList.add(this.classes.highlighted);break}for(let s=0;s=0?s-1:e.length-1];o.classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,o);const a=o.parentElement;if(a&&a.classList.contains(this.classes.close)){const t=a.querySelector("."+this.classes.optgroupLabel);t&&t.click()}return}e["down"===t?0:e.length-1].classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,e["down"===t?0:e.length-1])}listDiv(){const t=document.createElement("div");return t.classList.add(this.classes.list),t}renderError(t){this.content.list.innerHTML="";const e=document.createElement("div");e.classList.add(this.classes.error),e.textContent=t,this.content.list.appendChild(e)}renderSearching(){this.content.list.innerHTML="";const t=document.createElement("div");t.classList.add(this.classes.searching),t.textContent=this.settings.searchingText,this.content.list.appendChild(t)}renderOptions(t){if(this.content.list.innerHTML="",0===t.length){const t=document.createElement("div");return t.classList.add(this.classes.search),t.innerHTML=this.settings.searchText,void this.content.list.appendChild(t)}for(const e of t){if(e instanceof o){const t=document.createElement("div");t.classList.add(this.classes.optgroup);const s=document.createElement("div");s.classList.add(this.classes.optgroupLabel),t.appendChild(s);const i=document.createElement("div");i.classList.add(this.classes.optgroupLabelText),i.textContent=e.label,s.appendChild(i);const n=document.createElement("div");if(n.classList.add(this.classes.optgroupActions),s.appendChild(n),this.settings.isMultiple&&e.selectAll){const t=document.createElement("div");t.classList.add(this.classes.optgroupSelectAll);let s=!0;for(const t of e.options)if(!t.selected){s=!1;break}s&&t.classList.add(this.classes.selected);const i=document.createElement("span");i.textContent=e.selectAllText,t.appendChild(i);const o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttribute("viewBox","0 0 100 100"),t.appendChild(o);const a=document.createElementNS("http://www.w3.org/2000/svg","path");a.setAttribute("d",this.classes.optgroupSelectAllBox),o.appendChild(a);const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",this.classes.optgroupSelectAllCheck),o.appendChild(l),t.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation();const i=this.store.getSelected();if(s){const t=i.filter((t=>{for(const s of e.options)if(t===s.value)return!1;return!0}));this.callbacks.setSelected(t,!0)}else{const t=i.concat(e.options.map((t=>t.value)));for(const t of e.options)this.store.getOptionByID(t.id)||this.callbacks.addOption(t);this.callbacks.setSelected(t,!0)}})),n.appendChild(t)}if("off"!==e.closable){const i=document.createElement("div");i.classList.add(this.classes.optgroupClosable);const o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttribute("viewBox","0 0 100 100"),o.classList.add(this.classes.arrow),i.appendChild(o);const a=document.createElementNS("http://www.w3.org/2000/svg","path");o.appendChild(a),e.options.some((t=>t.selected))||""!==this.content.search.input.value.trim()?(i.classList.add(this.classes.open),a.setAttribute("d",this.classes.arrowOpen)):"open"===e.closable?(t.classList.add(this.classes.open),a.setAttribute("d",this.classes.arrowOpen)):"close"===e.closable&&(t.classList.add(this.classes.close),a.setAttribute("d",this.classes.arrowClose)),s.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),t.classList.contains(this.classes.close)?(t.classList.remove(this.classes.close),t.classList.add(this.classes.open),a.setAttribute("d",this.classes.arrowOpen)):(t.classList.remove(this.classes.open),t.classList.add(this.classes.close),a.setAttribute("d",this.classes.arrowClose))})),n.appendChild(i)}t.appendChild(s);for(const s of e.options)t.appendChild(this.option(s));this.content.list.appendChild(t)}e instanceof a&&this.content.list.appendChild(this.option(e))}}option(t){if(t.placeholder){const t=document.createElement("div");return t.classList.add(this.classes.option),t.classList.add(this.classes.hide),t}const e=document.createElement("div");return e.dataset.id=t.id,e.id=t.id,e.classList.add(this.classes.option),e.setAttribute("role","option"),t.class&&t.class.split(" ").forEach((t=>{e.classList.add(t)})),t.style&&(e.style.cssText=t.style),this.settings.searchHighlight&&""!==this.content.search.input.value.trim()?e.innerHTML=this.highlightText(""!==t.html?t.html:t.text,this.content.search.input.value,this.classes.searchHighlighter):""!==t.html?e.innerHTML=t.html:e.textContent=t.text,this.settings.showOptionTooltips&&e.textContent&&e.setAttribute("title",e.textContent),t.display||e.classList.add(this.classes.hide),t.disabled&&e.classList.add(this.classes.disabled),t.selected&&this.settings.hideSelected&&e.classList.add(this.classes.hide),t.selected?(e.classList.add(this.classes.selected),e.setAttribute("aria-selected","true"),this.main.main.setAttribute("aria-activedescendant",e.id)):(e.classList.remove(this.classes.selected),e.setAttribute("aria-selected","false")),e.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation();const s=this.store.getSelected(),i=e.currentTarget,n=String(i.dataset.id);if(t.disabled||t.selected&&!this.settings.allowDeselect)return;if(this.settings.isMultiple&&this.settings.maxSelected<=s.length&&!t.selected||this.settings.isMultiple&&this.settings.minSelected>=s.length&&t.selected)return;let o=!1;const a=this.store.getSelectedOptions();let l=[];this.settings.isMultiple&&(l=t.selected?a.filter((t=>t.id!==n)):a.concat(t)),this.settings.isMultiple||(l=t.selected?[]:[t]),this.callbacks.beforeChange||(o=!0),this.callbacks.beforeChange&&(o=!1!==this.callbacks.beforeChange(l,a)),o&&(this.store.getOptionByID(n)||this.callbacks.addOption(t),this.callbacks.setSelected(l.map((t=>t.value)),!1),this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(l))})),e}destroy(){this.main.main.remove(),this.content.main.remove()}highlightText(t,e,s){let i=t;const n=new RegExp("("+e.trim()+")(?![^<]*>[^<>]*)","i");if(!t.match(n))return t;const o=t.match(n).index,a=o+t.match(n)[0].toString().length,l=t.substring(o,a);return i=i.replace(n,`${l}`),i}moveContentAbove(){const t=this.main.main.offsetHeight,e=this.content.main.offsetHeight;this.main.main.classList.remove(this.classes.openBelow),this.main.main.classList.add(this.classes.openAbove),this.content.main.classList.remove(this.classes.openBelow),this.content.main.classList.add(this.classes.openAbove);const s=this.main.main.getBoundingClientRect();this.content.main.style.margin="-"+(t+e-1)+"px 0px 0px 0px",this.content.main.style.top=s.top+s.height+window.scrollY+"px",this.content.main.style.left=s.left+window.scrollX+"px",this.content.main.style.width=s.width+"px"}moveContentBelow(){this.main.main.classList.remove(this.classes.openAbove),this.main.main.classList.add(this.classes.openBelow),this.content.main.classList.remove(this.classes.openAbove),this.content.main.classList.add(this.classes.openBelow);const t=this.main.main.getBoundingClientRect();this.content.main.style.margin="-1px 0px 0px 0px","relative"!==this.settings.contentPosition&&(this.content.main.style.top=t.top+t.height+window.scrollY+"px",this.content.main.style.left=t.left+window.scrollX+"px",this.content.main.style.width=t.width+"px")}ensureElementInView(t,e){const s=t.scrollTop+t.offsetTop,i=s+t.clientHeight,n=e.offsetTop,o=n+e.clientHeight;ni&&(t.scrollTop+=o-i)}putContent(){const t=this.main.main.offsetHeight,e=this.main.main.getBoundingClientRect(),s=this.content.main.offsetHeight;return window.innerHeight-(e.top+t)<=s&&e.top>s?"up":"down"}updateDeselectAll(){if(!this.store||!this.settings)return;const t=this.store.getSelectedOptions(),e=t&&t.length>0,s=this.settings.isMultiple,i=this.settings.allowDeselect,n=this.main.deselect.main,o=this.classes.hide;!i||s&&!e?n.classList.add(o):n.classList.remove(o)}}class c{constructor(t){this.listen=!1,this.observer=null,this.select=t,this.valueChange=this.valueChange.bind(this),this.select.addEventListener("change",this.valueChange,{passive:!0}),this.observer=new MutationObserver(this.observeCall.bind(this)),this.changeListen(!0)}enable(){this.select.disabled=!1}disable(){this.select.disabled=!0}hideUI(){this.select.tabIndex=-1,this.select.style.display="none",this.select.setAttribute("aria-hidden","true")}showUI(){this.select.removeAttribute("tabindex"),this.select.style.display="",this.select.removeAttribute("aria-hidden")}changeListen(t){this.listen=t,t&&this.observer&&this.observer.observe(this.select,{subtree:!0,childList:!0,attributes:!0}),t||this.observer&&this.observer.disconnect()}valueChange(t){return this.listen&&this.onValueChange&&this.onValueChange(this.getSelectedValues()),!0}observeCall(t){if(!this.listen)return;let e=!1,s=!1,i=!1;for(const n of t)n.target===this.select&&("disabled"===n.attributeName&&(s=!0),"class"===n.attributeName&&(e=!0)),"OPTGROUP"!==n.target.nodeName&&"OPTION"!==n.target.nodeName||(i=!0);e&&this.onClassChange&&this.onClassChange(this.select.className.split(" ")),s&&this.onDisabledChange&&(this.changeListen(!1),this.onDisabledChange(this.select.disabled),this.changeListen(!0)),i&&this.onOptionsChange&&(this.changeListen(!1),this.onOptionsChange(this.getData()),this.changeListen(!0))}getData(){let t=[];const e=this.select.childNodes;for(const s of e)"OPTGROUP"===s.nodeName&&t.push(this.getDataFromOptgroup(s)),"OPTION"===s.nodeName&&t.push(this.getDataFromOption(s));return t}getDataFromOptgroup(t){let e={id:t.id,label:t.label,selectAll:!!t.dataset&&"true"===t.dataset.selectall,selectAllText:t.dataset?t.dataset.selectalltext:"Select all",closable:t.dataset?t.dataset.closable:"off",options:[]};const s=t.childNodes;for(const t of s)"OPTION"===t.nodeName&&e.options.push(this.getDataFromOption(t));return e}getDataFromOption(t){return{id:t.id,value:t.value,text:t.text,html:t.dataset&&t.dataset.html?t.dataset.html:"",selected:t.selected,display:"none"!==t.style.display,disabled:t.disabled,mandatory:!!t.dataset&&"true"===t.dataset.mandatory,placeholder:"true"===t.dataset.placeholder,class:t.className,style:t.style.cssText,data:t.dataset}}getSelectedValues(){let t=[];const e=this.select.childNodes;for(const s of e){if("OPTGROUP"===s.nodeName){const e=s.childNodes;for(const s of e)if("OPTION"===s.nodeName){const e=s;e.selected&&t.push(e.value)}}if("OPTION"===s.nodeName){const e=s;e.selected&&t.push(e.value)}}return t}setSelected(t){this.changeListen(!1);const e=this.select.childNodes;for(const s of e){if("OPTGROUP"===s.nodeName){const e=s.childNodes;for(const s of e)if("OPTION"===s.nodeName){const e=s;e.selected=t.includes(e.value)}}if("OPTION"===s.nodeName){const e=s;e.selected=t.includes(e.value)}}this.changeListen(!0)}updateSelect(t,e,s){this.changeListen(!1),t&&(this.select.dataset.id=t),e&&(this.select.style.cssText=e),s&&(this.select.className="",s.forEach((t=>{""!==t.trim()&&this.select.classList.add(t.trim())}))),this.changeListen(!0)}updateOptions(t){this.changeListen(!1),this.select.innerHTML="";for(const e of t)e instanceof o&&this.select.appendChild(this.createOptgroup(e)),e instanceof a&&this.select.appendChild(this.createOption(e));this.select.dispatchEvent(new Event("change")),this.changeListen(!0)}createOptgroup(t){const e=document.createElement("optgroup");if(e.id=t.id,e.label=t.label,t.selectAll&&(e.dataset.selectAll="true"),"off"!==t.closable&&(e.dataset.closable=t.closable),t.options)for(const s of t.options)e.appendChild(this.createOption(s));return e}createOption(t){const e=document.createElement("option");return e.id=t.id,e.value=t.value,e.innerHTML=t.text,""!==t.html&&e.setAttribute("data-html",t.html),t.selected&&(e.selected=t.selected),t.disabled&&(e.disabled=!0),!1===t.display&&(e.style.display="none"),t.placeholder&&e.setAttribute("data-placeholder","true"),t.mandatory&&e.setAttribute("data-mandatory","true"),t.class&&t.class.split(" ").forEach((t=>{e.classList.add(t)})),t.data&&"object"==typeof t.data&&Object.keys(t.data).forEach((s=>{e.setAttribute("data-"+n(s),t.data[s])})),e}destroy(){this.changeListen(!1),this.select.removeEventListener("change",this.valueChange),this.observer&&(this.observer.disconnect(),this.observer=null),delete this.select.dataset.id,this.showUI()}}class h{constructor(e){this.id="",this.style="",this.class=[],this.isMultiple=!1,this.isOpen=!1,this.isFullOpen=!1,this.intervalMove=null,e||(e={}),this.id="ss-"+t(),this.style=e.style||"",this.class=e.class||[],this.disabled=void 0!==e.disabled&&e.disabled,this.alwaysOpen=void 0!==e.alwaysOpen&&e.alwaysOpen,this.showSearch=void 0===e.showSearch||e.showSearch,this.ariaLabel=e.ariaLabel||"Combobox",this.searchPlaceholder=e.searchPlaceholder||"Search",this.searchText=e.searchText||"No Results",this.searchingText=e.searchingText||"Searching...",this.searchHighlight=void 0!==e.searchHighlight&&e.searchHighlight,this.closeOnSelect=void 0===e.closeOnSelect||e.closeOnSelect,this.contentLocation=e.contentLocation||document.body,this.contentPosition=e.contentPosition||"absolute",this.openPosition=e.openPosition||"auto",this.placeholderText=void 0!==e.placeholderText?e.placeholderText:"Select Value",this.allowDeselect=void 0!==e.allowDeselect&&e.allowDeselect,this.hideSelected=void 0!==e.hideSelected&&e.hideSelected,this.keepOrder=void 0!==e.keepOrder&&e.keepOrder,this.showOptionTooltips=void 0!==e.showOptionTooltips&&e.showOptionTooltips,this.minSelected=e.minSelected||0,this.maxSelected=e.maxSelected||1e3,this.timeoutDelay=e.timeoutDelay||200,this.maxValuesShown=e.maxValuesShown||20,this.maxValuesMessage=e.maxValuesMessage||"{number} selected"}}class d{constructor(t){var i;if(this.events={search:void 0,searchFilter:(t,e)=>-1!==t.text.toLowerCase().indexOf(e.toLowerCase()),addable:void 0,beforeChange:void 0,afterChange:void 0,beforeOpen:void 0,afterOpen:void 0,beforeClose:void 0,afterClose:void 0},this.windowResize=s((()=>{(this.settings.isOpen||this.settings.isFullOpen)&&this.render.moveContent()})),this.windowScroll=s((()=>{(this.settings.isOpen||this.settings.isFullOpen)&&this.render.moveContent()})),this.documentClick=t=>{this.settings.isOpen&&t.target&&!e(t.target,this.settings.id)&&this.close(t.type)},this.windowVisibilityChange=()=>{document.hidden&&this.close()},this.selectEl="string"==typeof t.select?document.querySelector(t.select):t.select,!this.selectEl)return void(t.events&&t.events.error&&t.events.error(new Error("Could not find select element")));if("SELECT"!==this.selectEl.tagName)return void(t.events&&t.events.error&&t.events.error(new Error("Element isnt of type select")));this.selectEl.dataset.ssid&&this.destroy(),this.settings=new h(t.settings);const n=["afterChange","beforeOpen","afterOpen","beforeClose","afterClose"];for(const e in t.events)t.events.hasOwnProperty(e)&&(-1!==n.indexOf(e)?this.events[e]=s(t.events[e],100):this.events[e]=t.events[e]);this.settings.disabled=(null===(i=t.settings)||void 0===i?void 0:i.disabled)?t.settings.disabled:this.selectEl.disabled,this.settings.isMultiple=this.selectEl.multiple,this.settings.style=this.selectEl.style.cssText,this.settings.class=this.selectEl.className.split(" "),this.select=new c(this.selectEl),this.select.updateSelect(this.settings.id,this.settings.style,this.settings.class),this.select.hideUI(),this.select.onValueChange=t=>{this.setSelected(t)},this.select.onClassChange=t=>{this.settings.class=t,this.render.updateClassStyles()},this.select.onDisabledChange=t=>{t?this.disable():this.enable()},this.select.onOptionsChange=t=>{this.setData(t)},this.store=new l(this.settings.isMultiple?"multiple":"single",t.data?t.data:this.select.getData()),t.data&&this.select.updateOptions(this.store.getData());const o={open:this.open.bind(this),close:this.close.bind(this),addable:this.events.addable?this.events.addable:void 0,setSelected:this.setSelected.bind(this),addOption:this.addOption.bind(this),search:this.search.bind(this),beforeChange:this.events.beforeChange,afterChange:this.events.afterChange};this.render=new r(this.settings,this.store,o),this.render.renderValues(),this.render.renderOptions(this.store.getData());const a=this.selectEl.getAttribute("aria-label"),d=this.selectEl.getAttribute("aria-labelledby");a?this.render.main.main.setAttribute("aria-label",a):d&&this.render.main.main.setAttribute("aria-labelledby",d),this.selectEl.parentNode&&this.selectEl.parentNode.insertBefore(this.render.main.main,this.selectEl.nextSibling),window.addEventListener("resize",this.windowResize,!1),"auto"===this.settings.openPosition&&window.addEventListener("scroll",this.windowScroll,!1),document.addEventListener("visibilitychange",this.windowVisibilityChange),this.settings.disabled&&this.disable(),this.settings.alwaysOpen&&this.open(),this.selectEl.slim=this}enable(){this.settings.disabled=!1,this.select.enable(),this.render.enable()}disable(){this.settings.disabled=!0,this.select.disable(),this.render.disable()}getData(){return this.store.getData()}setData(t){const e=this.store.getSelected(),s=this.store.validateDataArray(t);if(s)return void(this.events.error&&this.events.error(s));this.store.setData(t);const n=this.store.getData();this.select.updateOptions(n),this.render.renderValues(),this.render.renderOptions(n),this.events.afterChange&&!i(e,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}getSelected(){return this.store.getSelected()}setSelected(t,e=!0){const s=this.store.getSelected();this.store.setSelectedBy("value",Array.isArray(t)?t:[t]);const n=this.store.getData();this.select.updateOptions(n),this.render.renderValues(),""!==this.render.content.search.input.value?this.search(this.render.content.search.input.value):this.render.renderOptions(n),e&&this.events.afterChange&&!i(s,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}addOption(t){const e=this.store.getSelected();this.store.getDataOptions().some((e=>{var s;return e.value===(null!==(s=t.value)&&void 0!==s?s:t.text)}))||this.store.addOption(t);const s=this.store.getData();this.select.updateOptions(s),this.render.renderValues(),this.render.renderOptions(s),this.events.afterChange&&!i(e,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}open(){this.settings.disabled||this.settings.isOpen||(this.events.beforeOpen&&this.events.beforeOpen(),this.render.open(),this.settings.showSearch&&this.render.searchFocus(),this.settings.isOpen=!0,setTimeout((()=>{this.events.afterOpen&&this.events.afterOpen(),this.settings.isOpen&&(this.settings.isFullOpen=!0),document.addEventListener("click",this.documentClick)}),this.settings.timeoutDelay),"absolute"===this.settings.contentPosition&&(this.settings.intervalMove&&clearInterval(this.settings.intervalMove),this.settings.intervalMove=setInterval(this.render.moveContent.bind(this.render),500)))}close(t=null){this.settings.isOpen&&!this.settings.alwaysOpen&&(this.events.beforeClose&&this.events.beforeClose(),this.render.close(),""!==this.render.content.search.input.value&&this.search(""),this.render.mainFocus(t),this.settings.isOpen=!1,this.settings.isFullOpen=!1,setTimeout((()=>{this.events.afterClose&&this.events.afterClose(),document.removeEventListener("click",this.documentClick)}),this.settings.timeoutDelay),this.settings.intervalMove&&clearInterval(this.settings.intervalMove))}search(t){if(this.render.content.search.input.value!==t&&(this.render.content.search.input.value=t),!this.events.search)return void this.render.renderOptions(""===t?this.store.getData():this.store.search(t,this.events.searchFilter));this.render.renderSearching();const e=this.events.search(t,this.store.getSelectedOptions());e instanceof Promise?e.then((t=>{this.render.renderOptions(this.store.partialToFullData(t))})).catch((t=>{this.render.renderError("string"==typeof t?t:t.message)})):Array.isArray(e)?this.render.renderOptions(this.store.partialToFullData(e)):this.render.renderError("Search event must return a promise or an array of data")}destroy(){document.removeEventListener("click",this.documentClick),window.removeEventListener("resize",this.windowResize,!1),"auto"===this.settings.openPosition&&window.removeEventListener("scroll",this.windowScroll,!1),document.removeEventListener("visibilitychange",this.windowVisibilityChange),this.store.setData([]),this.render.destroy(),this.select.destroy()}}return d}();var o,a,l={};o=void 0!==e?e:"undefined"!=typeof window?window:l,a=function(t){if(void 0===t&&void 0===t.document)return!1;var e,s="Success",i="Failure",n="Warning",o="Info",a={wrapID:"NotiflixNotifyWrap",overlayID:"NotiflixNotifyOverlay",width:"280px",position:"right-top",distance:"10px",opacity:1,borderRadius:"5px",rtl:!1,timeout:3e3,messageMaxLength:110,backOverlay:!1,backOverlayColor:"rgba(0,0,0,0.5)",plainText:!0,showOnlyTheLastOne:!1,clickToClose:!1,pauseOnHover:!0,ID:"NotiflixNotify",className:"notiflix-notify",zindex:4001,fontFamily:"Quicksand",fontSize:"13px",cssAnimation:!0,cssAnimationDuration:400,cssAnimationStyle:"fade",closeButton:!1,useIcon:!0,useFontAwesome:!1,fontAwesomeIconStyle:"basic",fontAwesomeIconSize:"34px",success:{background:"#32c682",textColor:"#fff",childClassName:"notiflix-notify-success",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-check-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(50,198,130,0.2)"},failure:{background:"#ff5549",textColor:"#fff",childClassName:"notiflix-notify-failure",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-times-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(255,85,73,0.2)"},warning:{background:"#eebf31",textColor:"#fff",childClassName:"notiflix-notify-warning",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-exclamation-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(238,191,49,0.2)"},info:{background:"#26c0d3",textColor:"#fff",childClassName:"notiflix-notify-info",notiflixIconColor:"rgba(0,0,0,0.2)",fontAwesomeClassName:"fas fa-info-circle",fontAwesomeIconColor:"rgba(0,0,0,0.2)",backOverlayColor:"rgba(38,192,211,0.2)"}},l=function(t){return console.error("%c Notiflix Error ","padding:2px;border-radius:20px;color:#fff;background:#ff5549","\n"+t+"\n\nVisit documentation page to learn more: https://notiflix.github.io/documentation")},r=function(e){return e||(e="head"),null!==t.document[e]||(l('\nNotiflix needs to be appended to the "<'+e+'>" element, but you called it before the "<'+e+'>" element has been created.'),!1)},c=function(){var t={},e=!1,s=0;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(e=arguments[0],s++);for(var i=function(s){for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(e&&"[object Object]"===Object.prototype.toString.call(s[i])?t[i]=c(t[i],s[i]):t[i]=s[i])};sdiv{pointer-events:all;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:"Quicksand",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;width:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;margin:0 0 10px;border-radius:5px;background:#1e1e1e;color:#fff;padding:10px 12px;font-size:14px;line-height:1.4}[id^=NotiflixNotifyWrap]>div:last-child{margin:0}[id^=NotiflixNotifyWrap]>div.nx-with-callback{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-icon{padding:8px;min-height:56px}[id^=NotiflixNotifyWrap]>div.nx-paused{cursor:auto}[id^=NotiflixNotifyWrap]>div.nx-notify-click-to-close{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-close-button{padding:10px 36px 10px 12px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button{padding:6px 36px 6px 6px}[id^=NotiflixNotifyWrap]>div>span.nx-message{cursor:inherit;font-weight:normal;font-family:inherit!important;word-break:break-all;word-break:break-word}[id^=NotiflixNotifyWrap]>div>span.nx-close-button{cursor:pointer;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;position:absolute;right:8px;top:0;bottom:0;margin:auto;color:inherit;width:20px;height:20px}[id^=NotiflixNotifyWrap]>div>span.nx-close-button:hover{-webkit-transform:rotate(90deg);transform:rotate(90deg)}[id^=NotiflixNotifyWrap]>div>span.nx-close-button>svg{position:absolute;width:16px;height:16px;right:2px;top:2px}[id^=NotiflixNotifyWrap]>div>.nx-message-icon{position:absolute;width:40px;height:40px;font-size:30px;line-height:40px;text-align:center;left:8px;top:0;bottom:0;margin:auto;border-radius:inherit}[id^=NotiflixNotifyWrap]>div>.nx-message-icon-fa.nx-message-icon-fa-shadow{color:inherit;background:rgba(0,0,0,.15);-webkit-box-shadow:inset 0 0 34px rgba(0,0,0,.2);box-shadow:inset 0 0 34px rgba(0,0,0,.2);text-shadow:0 0 10px rgba(0,0,0,.3)}[id^=NotiflixNotifyWrap]>div>span.nx-with-icon{position:relative;float:left;width:calc(100% - 40px);margin:0 0 0 40px;padding:0 0 0 10px;-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>.nx-message-icon{left:auto;right:8px}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-with-icon{padding:0 10px 0 0;margin:0 40px 0 0}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-close-button{right:auto;left:8px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button.nx-rtl-on{padding:6px 6px 6px 36px}[id^=NotiflixNotifyWrap]>div.nx-with-close-button.nx-rtl-on{padding:10px 12px 10px 36px}[id^=NotiflixNotifyOverlay].nx-with-animation,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade{-webkit-animation:notify-animation-fade .3s ease-in-out 0s normal;animation:notify-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom{-webkit-animation:notify-animation-zoom .3s ease-in-out 0s normal;animation:notify-animation-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right{-webkit-animation:notify-animation-from-right .3s ease-in-out 0s normal;animation:notify-animation-from-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}@keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left{-webkit-animation:notify-animation-from-left .3s ease-in-out 0s normal;animation:notify-animation-from-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}@keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top{-webkit-animation:notify-animation-from-top .3s ease-in-out 0s normal;animation:notify-animation-from-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}@keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom{-webkit-animation:notify-animation-from-bottom .3s ease-in-out 0s normal;animation:notify-animation-from-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}@keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}[id^=NotiflixNotifyOverlay].nx-with-animation.nx-remove,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade.nx-remove{opacity:0;-webkit-animation:notify-remove-fade .3s ease-in-out 0s normal;animation:notify-remove-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}@keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom.nx-remove{-webkit-transform:scale(0);transform:scale(0);-webkit-animation:notify-remove-zoom .3s ease-in-out 0s normal;animation:notify-remove-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}@keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top.nx-remove{opacity:0;-webkit-animation:notify-remove-to-top .3s ease-in-out 0s normal;animation:notify-remove-to-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}@keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right.nx-remove{opacity:0;-webkit-animation:notify-remove-to-right .3s ease-in-out 0s normal;animation:notify-remove-to-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}@keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom.nx-remove{opacity:0;-webkit-animation:notify-remove-to-bottom .3s ease-in-out 0s normal;animation:notify-remove-to-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}@keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left.nx-remove{opacity:0;-webkit-animation:notify-remove-to-left .3s ease-in-out 0s normal;animation:notify-remove-to-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}@keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}'},d=0,p=function(l,h,p,u){if(!r("body"))return!1;e||m.Notify.init({});var f=c(!0,e,{});if("object"==typeof p&&!Array.isArray(p)||"object"==typeof u&&!Array.isArray(u)){var g={};"object"==typeof p?g=p:"object"==typeof u&&(g=u),e=c(!0,e,g)}var b,v,y=e[l.toLocaleLowerCase("en")];d++,"string"!=typeof h&&(h="Notiflix "+l),e.plainText&&(b=h,(v=t.document.createElement("div")).innerHTML=b,h=v.textContent||v.innerText||""),!e.plainText&&h.length>e.messageMaxLength&&(e=c(!0,e,{closeButton:!0,messageMaxLength:150}),h='Possible HTML Tags Error: The "plainText" option is "false" and the notification content length is more than the "messageMaxLength" option.'),h.length>e.messageMaxLength&&(h=h.substring(0,e.messageMaxLength)+"..."),"shadow"===e.fontAwesomeIconStyle&&(y.fontAwesomeIconColor=y.background),e.cssAnimation||(e.cssAnimationDuration=0);var x=t.document.getElementById(a.wrapID)||t.document.createElement("div");if(x.id=a.wrapID,x.style.width=e.width,x.style.zIndex=e.zindex,x.style.opacity=e.opacity,"center-center"===e.position?(x.style.left=e.distance,x.style.top=e.distance,x.style.right=e.distance,x.style.bottom=e.distance,x.style.margin="auto",x.classList.add("nx-flex-center-center"),x.style.maxHeight="calc((100vh - "+e.distance+") - "+e.distance+")",x.style.display="flex",x.style.flexWrap="wrap",x.style.flexDirection="column",x.style.justifyContent="center",x.style.alignItems="center",x.style.pointerEvents="none"):"center-top"===e.position?(x.style.left=e.distance,x.style.right=e.distance,x.style.top=e.distance,x.style.bottom="auto",x.style.margin="auto"):"center-bottom"===e.position?(x.style.left=e.distance,x.style.right=e.distance,x.style.bottom=e.distance,x.style.top="auto",x.style.margin="auto"):"right-bottom"===e.position?(x.style.right=e.distance,x.style.bottom=e.distance,x.style.top="auto",x.style.left="auto"):"left-top"===e.position?(x.style.left=e.distance,x.style.top=e.distance,x.style.right="auto",x.style.bottom="auto"):"left-bottom"===e.position?(x.style.left=e.distance,x.style.bottom=e.distance,x.style.top="auto",x.style.right="auto"):(x.style.right=e.distance,x.style.top=e.distance,x.style.left="auto",x.style.bottom="auto"),e.backOverlay){var w=t.document.getElementById(a.overlayID)||t.document.createElement("div");w.id=a.overlayID,w.style.width="100%",w.style.height="100%",w.style.position="fixed",w.style.zIndex=e.zindex-1,w.style.left=0,w.style.top=0,w.style.right=0,w.style.bottom=0,w.style.background=y.backOverlayColor||e.backOverlayColor,w.className=e.cssAnimation?"nx-with-animation":"",w.style.animationDuration=e.cssAnimation?e.cssAnimationDuration+"ms":"",t.document.getElementById(a.overlayID)||t.document.body.appendChild(w)}t.document.getElementById(a.wrapID)||t.document.body.appendChild(x);var k=t.document.createElement("div");k.id=e.ID+"-"+d,k.className=e.className+" "+y.childClassName+" "+(e.cssAnimation?"nx-with-animation":"")+" "+(e.useIcon?"nx-with-icon":"")+" nx-"+e.cssAnimationStyle+" "+(e.closeButton&&"function"!=typeof p?"nx-with-close-button":"")+" "+("function"==typeof p?"nx-with-callback":"")+" "+(e.clickToClose?"nx-notify-click-to-close":""),k.style.fontSize=e.fontSize,k.style.color=y.textColor,k.style.background=y.background,k.style.borderRadius=e.borderRadius,k.style.pointerEvents="all",e.rtl&&(k.setAttribute("dir","rtl"),k.classList.add("nx-rtl-on")),k.style.fontFamily='"'+e.fontFamily+'", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif',e.cssAnimation&&(k.style.animationDuration=e.cssAnimationDuration+"ms");var C="";if(e.closeButton&&"function"!=typeof p&&(C=''),e.useIcon)if(e.useFontAwesome)k.innerHTML=''+h+""+(e.closeButton?C:"");else{var L="";l===s?L='':l===i?L='':l===n?L='':l===o&&(L=''),k.innerHTML=L+''+h+""+(e.closeButton?C:"")}else k.innerHTML=''+h+""+(e.closeButton?C:"");if("left-bottom"===e.position||"right-bottom"===e.position){var N=t.document.getElementById(a.wrapID);N.insertBefore(k,N.firstChild)}else t.document.getElementById(a.wrapID).appendChild(k);var O=t.document.getElementById(k.id);if(O){var S,A,E=function(){O.classList.add("nx-remove");var e=t.document.getElementById(a.overlayID);e&&x.childElementCount<=0&&e.classList.add("nx-remove"),clearTimeout(S)},T=function(){if(O&&null!==O.parentNode&&O.parentNode.removeChild(O),x.childElementCount<=0&&null!==x.parentNode){x.parentNode.removeChild(x);var e=t.document.getElementById(a.overlayID);e&&null!==e.parentNode&&e.parentNode.removeChild(e)}clearTimeout(A)};if(e.closeButton&&"function"!=typeof p&&t.document.getElementById(k.id).querySelector("span.nx-close-button").addEventListener("click",(function(){E();var t=setTimeout((function(){T(),clearTimeout(t)}),e.cssAnimationDuration)})),("function"==typeof p||e.clickToClose)&&O.addEventListener("click",(function(){"function"==typeof p&&p(),E();var t=setTimeout((function(){T(),clearTimeout(t)}),e.cssAnimationDuration)})),!e.closeButton&&"function"!=typeof p){var D=function(){S=setTimeout((function(){E()}),e.timeout),A=setTimeout((function(){T()}),e.timeout+e.cssAnimationDuration)};D(),e.pauseOnHover&&(O.addEventListener("mouseenter",(function(){O.classList.add("nx-paused"),clearTimeout(S),clearTimeout(A)})),O.addEventListener("mouseleave",(function(){O.classList.remove("nx-paused"),D()})))}}if(e.showOnlyTheLastOne&&d>0)for(var I=t.document.querySelectorAll("[id^="+e.ID+"-]:not([id="+e.ID+"-"+d+"])"),M=0;M{e.forEach((t=>{d.push({text:t.name,value:t.id})})),new(t(n))({select:r,data:d})})).catch((t=>console.log(t))),r.addEventListener("change",(function(t){const e=t.currentTarget.value;c.classList.add("is-hidden"),h.classList.remove("is-hidden"),s(e).then((t=>{h.classList.add("is-hidden"),c.classList.remove("is-hidden"),c.innerHTML=i(t[0])})).catch((t=>console.log(t)))}));
-//# sourceMappingURL=index.f6504df7.js.map
diff --git a/index.f6504df7.js.map b/index.f6504df7.js.map
deleted file mode 100644
index d473c1b..0000000
--- a/index.f6504df7.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"mappings":"sMAYAA,eAAeC,EAAgBC,GAC3B,MAAMC,EAAM,sIAA0DD,IAChEE,QAAaC,MAAMF,GACzB,IAAKC,EAAKE,GACN,MAAM,IAAIC,MAAMH,EAAKI,QAEzB,aAAaJ,EAAKK,M,CClBtB,SAASC,EAAaC,GAClB,MAAMC,IAAEA,EAAGC,OAAEA,GAAWF,EACxB,MAAO,4BACSC,GAAO,sEAAsEC,EAAO,GAAGC,2DAG7FD,EAAO,GAAGC,MAAQ,8BACnBD,EAAO,GAAGE,aAAe,yDACCF,EAAO,GAAGG,qCAC9BH,EAAO,GAAGI,uE,UCRsCC,EAGzD,WAEN,SAASC,IACL,OAAOC,KAAKC,SAASC,SAAS,IAAIC,UAAU,EAAG,G,CAEnD,SAASC,EAAeC,EAASC,GAC7B,SAASC,EAASC,EAAGC,GACjB,OAAIA,GAAKD,GAAKA,EAAEE,WAAaF,EAAEE,UAAUC,SAASF,IAG9CA,GAAKD,GAAKA,EAAEI,SAAWJ,EAAEI,QAAQC,IAAML,EAAEI,QAAQC,KAAOP,EAFjDE,EAKJ,I,CAEX,SAASM,EAAcN,EAAGC,GACtB,OAAKD,GAAKA,IAAMO,SAGPR,EAASC,EAAGC,GACVD,EAGAM,EAAcN,EAAEQ,WAAYP,GAN5B,I,CASf,OAAOF,EAASF,EAASC,IAAcQ,EAAcT,EAASC,E,CAElE,SAASW,EAASC,EAAMC,EAAO,GAAIC,GAAY,GAC3C,IAAIC,EACJ,OAAO,YAAaC,GAChB,MAAMC,EAAUC,KACVC,EAAQ,KACVJ,EAAU,KACLD,GACDF,EAAKQ,MAAMH,EAASD,EAAK,EAG3BK,EAAUP,IAAcC,EAC9BO,aAAaP,GACbA,EAAUQ,WAAWJ,EAAON,GACxBQ,GACAT,EAAKQ,MAAMH,EAASD,E,EAIhC,SAASQ,EAAQC,EAAGC,GAChB,OAAOC,KAAKC,UAAUH,KAAOE,KAAKC,UAAUF,E,CAEhD,SAASG,EAAUC,GACf,MAAMC,EAASD,EAAIE,QAAO,oCAAsCC,GAAU,IAAMA,EAAMC,gBACtF,OAAOJ,EAAI,KAAOA,EAAI,GAAGK,cAAgBJ,EAAOlC,UAAU,GAAKkC,C,CAGnE,MAAMK,EACFC,YAAYC,GAOR,GANAC,KAAKhC,GAAM+B,EAAS/B,IAAsB,KAAhB+B,EAAS/B,GAA2B+B,EAAS/B,GAAxBd,IAC/C8C,KAAKC,MAAQF,EAASE,OAAS,GAC/BD,KAAKE,eAAmCC,IAAvBJ,EAASG,WAAkCH,EAASG,UACrEF,KAAKI,cAAgBL,EAASK,eAAiB,aAC/CJ,KAAKK,SAAWN,EAASM,UAAY,MACrCL,KAAKM,QAAU,GACXP,EAASO,QACT,IAAK,MAAMC,KAAKR,EAASO,QACrBN,KAAKM,QAAQE,KAAK,IAAIC,EAAOF,G,EAK7C,MAAME,EACFX,YAAYY,GACRV,KAAKhC,GAAM0C,EAAO1C,IAAoB,KAAd0C,EAAO1C,GAA2B0C,EAAO1C,GAAtBd,IAC3C8C,KAAKW,WAAyBR,IAAjBO,EAAOC,MAAsBD,EAAOE,KAAOF,EAAOC,MAC/DX,KAAKY,KAAOF,EAAOE,MAAQ,GAC3BZ,KAAKa,KAAOH,EAAOG,MAAQ,GAC3Bb,KAAKc,cAA+BX,IAApBO,EAAOI,UAAyBJ,EAAOI,SACvDd,KAAKe,aAA6BZ,IAAnBO,EAAOK,SAAwBL,EAAOK,QACrDf,KAAKgB,cAA+Bb,IAApBO,EAAOM,UAAyBN,EAAOM,SACvDhB,KAAKiB,eAAiCd,IAArBO,EAAOO,WAA0BP,EAAOO,UACzDjB,KAAKkB,iBAAqCf,IAAvBO,EAAOQ,aAA4BR,EAAOQ,YAC7DlB,KAAKmB,MAAQT,EAAOS,OAAS,GAC7BnB,KAAKoB,MAAQV,EAAOU,OAAS,GAC7BpB,KAAKqB,KAAOX,EAAOW,MAAQ,E,EAGnC,MAAMC,EACFxB,YAAYyB,EAAMF,GACdrB,KAAKwB,WAAa,SAClBxB,KAAKqB,KAAO,GACZrB,KAAKwB,WAAaD,EAClBvB,KAAKyB,QAAQJ,E,CAEjBK,kBAAkBL,GACd,IAAKM,MAAMC,QAAQP,GACf,OAAO,IAAI/E,MAAM,yBAErB,IAAK,IAAIuF,KAAWR,EAAM,CACtB,KAAIQ,aAAmBhC,GAAY,UAAWgC,GAUzC,OAAIA,aAAmBpB,GAAU,SAAUoB,EACrC7B,KAAK8B,eAAeD,GAGpB,IAAIvF,MAAM,kDAbjB,KAAM,UAAWuF,GACb,OAAO,IAAIvF,MAAM,8BAErB,GAAI,YAAauF,GAAWA,EAAQvB,QAChC,IAAK,IAAII,KAAUmB,EAAQvB,QACvB,OAAON,KAAK8B,eAAepB,E,CAW3C,OAAO,I,CAEXoB,eAAepB,GACX,MAAM,SAAUA,EAGT,KAFI,IAAIpE,MAAM,0B,CAIzByF,kBAAkBV,GACd,IAAIW,EAAY,GAiBhB,OAhBAX,EAAKY,SAASJ,IACV,GAAIA,aAAmBhC,GAAY,UAAWgC,EAAS,CACnD,IAAIK,EAAa,GACb,YAAaL,GAAWA,EAAQvB,SAChCuB,EAAQvB,QAAQ2B,SAASvB,IACrBwB,EAAW1B,KAAK,IAAIC,EAAOC,GAAQ,IAGvCwB,EAAWC,OAAS,GACpBH,EAAUxB,KAAK,IAAIX,EAASgC,G,EAGhCA,aAAmBpB,GAAU,SAAUoB,IACvCG,EAAUxB,KAAK,IAAIC,EAAOoB,GAAS,IAGpCG,C,CAEXP,QAAQJ,GACJrB,KAAKqB,KAAOrB,KAAK+B,kBAAkBV,GACX,WAApBrB,KAAKwB,YACLxB,KAAKoC,cAAc,QAASpC,KAAKqC,c,CAGzCC,UACI,OAAOtC,KAAKuC,OAAO,MAAM,E,CAE7BC,iBACI,OAAOxC,KAAKuC,OAAO,MAAM,E,CAE7BE,UAAU/B,GACNV,KAAKyB,QAAQzB,KAAKsC,UAAUI,OAAO,IAAIjC,EAAOC,I,CAElD0B,cAAcO,EAAcC,GACxB,IAAIC,EAAc,KACdC,GAAc,EAClB,IAAK,IAAIjB,KAAW7B,KAAKqB,KAAM,CAC3B,GAAIQ,aAAmBhC,EACnB,IAAK,IAAIa,KAAUmB,EAAQvB,QAClBuC,IACDA,EAAcnC,GAElBA,EAAOI,UAAWgC,GAAsBF,EAAeG,SAASrC,EAAOiC,IACnEjC,EAAOI,UAAgC,WAApBd,KAAKwB,aACxBsB,GAAc,GAItBjB,aAAmBpB,IACdoC,IACDA,EAAchB,GAElBA,EAAQf,UAAWgC,GAAsBF,EAAeG,SAASlB,EAAQc,IACrEd,EAAQf,UAAgC,WAApBd,KAAKwB,aACzBsB,GAAc,G,CAIF,WAApB9C,KAAKwB,YAA2BqB,IAAgBC,IAChDD,EAAY/B,UAAW,E,CAG/BuB,cACI,IAAIW,EAAkBhD,KAAKiD,qBACvBL,EAAiB,GAIrB,OAHAI,EAAgBf,SAASvB,IACrBkC,EAAepC,KAAKE,EAAOC,MAAM,IAE9BiC,C,CAEXK,qBACI,OAAOjD,KAAKuC,QAAQW,GACTA,EAAIpC,WACZ,E,CAEPqC,iBACI,IAAIH,EAAkBhD,KAAKiD,qBACvBG,EAAc,GAIlB,OAHAJ,EAAgBf,SAASoB,IACrBD,EAAY5C,KAAK6C,EAAGrF,GAAG,IAEpBoF,C,CAEXE,gBAAgBtF,GACZ,IAAK,IAAI6D,KAAW7B,KAAKqB,KACrB,GAAIQ,aAAmBhC,GAAYgC,EAAQ7D,KAAOA,EAC9C,OAAO6D,EAGf,OAAO,I,CAEX0B,cAAcvF,GACV,IAAIsC,EAAUN,KAAKuC,QAAQW,GAChBA,EAAIlF,KAAOA,IACnB,GACH,OAAOsC,EAAQ6B,OAAS7B,EAAQ,GAAK,I,CAEzCkD,gBACI,OAAOxD,KAAKwB,U,CAEhBiC,iBACI,IAAI/C,EAAS,KACb,IAAK,IAAImB,KAAW7B,KAAKqB,KAOrB,GANIQ,aAAmBhC,EACnBa,EAASmB,EAAQvB,QAAQ,GAEpBuB,aAAmBpB,IACxBC,EAASmB,GAETnB,EACA,MAGR,OAAOA,C,CAEXgD,OAAOA,EAAQC,GAEX,MAAe,MADfD,EAASA,EAAOE,QAEL5D,KAAKsC,UAETtC,KAAKuC,QAAQW,GACTS,EAAaT,EAAKQ,KAC1B,E,CAEPnB,OAAOA,EAAQsB,GACX,MAAMC,EAAa,GA0BnB,OAzBA9D,KAAKqB,KAAKY,SAASJ,IACf,GAAIA,aAAmBhC,EAAU,CAC7B,IAAIqC,EAAa,GAWjB,GAVAL,EAAQvB,QAAQ2B,SAASvB,IAChB6B,IAAUA,EAAO7B,KACbmD,EAID3B,EAAW1B,KAAK,IAAIC,EAAOC,IAH3BoD,EAAWtD,KAAK,IAAIC,EAAOC,I,IAOnCwB,EAAWC,OAAS,EAAG,CACvB,IAAIpC,EAAW,IAAIF,EAASgC,GAC5B9B,EAASO,QAAU4B,EACnB4B,EAAWtD,KAAKT,E,EAGpB8B,aAAmBpB,IACd8B,IAAUA,EAAOV,IAClBiC,EAAWtD,KAAK,IAAIC,EAAOoB,I,IAIhCiC,C,EAIf,MAAMC,EACFjE,YAAYkE,EAAUC,EAAOC,GACzBlE,KAAKmE,QAAU,CACXC,KAAM,UACNlD,YAAa,iBACbmD,OAAQ,YACRC,OAAQ,YACRC,IAAK,SACL5D,MAAO,WACP6D,UAAW,gBACXC,YAAa,kBACbC,SAAU,eACVC,SAAU,cACVC,aAAc,8BACdC,MAAO,WACPC,WAAY,uBACZC,UAAW,uBACXC,QAAS,aACTC,UAAW,gBACXC,UAAW,gBACXxB,OAAQ,YACRyB,kBAAmB,sBACnBC,UAAW,eACXC,QAAS,aACTC,YAAa,8BACbC,KAAM,UACNxF,SAAU,cACVyF,cAAe,oBACfC,kBAAmB,yBACnBC,gBAAiB,sBACjBC,kBAAmB,eACnBC,qBAAsB,qCACtBC,uBAAwB,uBACxBC,iBAAkB,cAClBpF,OAAQ,YACRqF,aAAc,8BACdC,YAAa,iBACbC,KAAM,UACNC,MAAO,WACPpF,SAAU,cACVqF,MAAO,WACPnF,SAAU,cACVoF,KAAM,WAEVpG,KAAKiE,MAAQA,EACbjE,KAAKgE,SAAWA,EAChBhE,KAAKkE,UAAYA,EACjBlE,KAAKoE,KAAOpE,KAAKqG,UACjBrG,KAAKgF,QAAUhF,KAAKsG,aACpBtG,KAAKuG,oBACLvG,KAAKwG,uBACLxG,KAAKgE,SAASyC,gBAAgBC,YAAY1G,KAAKgF,QAAQZ,K,CAE3DuC,SACI3G,KAAKoE,KAAKA,KAAKvG,UAAU+I,OAAO5G,KAAKmE,QAAQnD,UAC7ChB,KAAKgF,QAAQtB,OAAOmD,MAAM7F,UAAW,C,CAEzC8F,UACI9G,KAAKoE,KAAKA,KAAKvG,UAAUkJ,IAAI/G,KAAKmE,QAAQnD,UAC1ChB,KAAKgF,QAAQtB,OAAOmD,MAAM7F,UAAW,C,CAEzCiF,OACIjG,KAAKoE,KAAKS,MAAMmC,KAAKC,aAAa,IAAKjH,KAAKmE,QAAQY,WACpD/E,KAAKoE,KAAKA,KAAKvG,UAAUkJ,IAAmC,OAA/B/G,KAAKgE,SAASkD,aAAwBlH,KAAKmE,QAAQc,UAAYjF,KAAKmE,QAAQe,WACzGlF,KAAKoE,KAAKA,KAAK6C,aAAa,gBAAiB,QAC7CjH,KAAKmH,cACL,MAAMnE,EAAkBhD,KAAKiE,MAAMhB,qBACnC,GAAID,EAAgBb,OAAQ,CACxB,MAAMiF,EAAapE,EAAgBA,EAAgBb,OAAS,GAAGnE,GACzDqJ,EAAiBrH,KAAKgF,QAAQO,KAAK+B,cAAc,aAAeF,EAAa,MAC/EC,GACArH,KAAKuH,oBAAoBvH,KAAKgF,QAAQO,KAAM8B,E,EAIxDnB,QACIlG,KAAKoE,KAAKA,KAAKvG,UAAU+I,OAAO5G,KAAKmE,QAAQc,WAC7CjF,KAAKoE,KAAKA,KAAKvG,UAAU+I,OAAO5G,KAAKmE,QAAQe,WAC7ClF,KAAKoE,KAAKA,KAAK6C,aAAa,gBAAiB,SAC7CjH,KAAKgF,QAAQZ,KAAKvG,UAAU+I,OAAO5G,KAAKmE,QAAQc,WAChDjF,KAAKgF,QAAQZ,KAAKvG,UAAU+I,OAAO5G,KAAKmE,QAAQe,WAChDlF,KAAKoE,KAAKS,MAAMmC,KAAKC,aAAa,IAAKjH,KAAKmE,QAAQW,W,CAExDyB,oBAWI,GAVAvG,KAAKoE,KAAKA,KAAK3G,UAAY,GAC3BuC,KAAKoE,KAAKA,KAAKoD,gBAAgB,SAC/BxH,KAAKgF,QAAQZ,KAAK3G,UAAY,GAC9BuC,KAAKgF,QAAQZ,KAAKoD,gBAAgB,SAClCxH,KAAKoE,KAAKA,KAAKvG,UAAUkJ,IAAI/G,KAAKmE,QAAQC,MAC1CpE,KAAKgF,QAAQZ,KAAKvG,UAAUkJ,IAAI/G,KAAKmE,QAAQa,SACjB,KAAxBhF,KAAKgE,SAAS5C,QACdpB,KAAKoE,KAAKA,KAAKhD,MAAMqG,QAAUzH,KAAKgE,SAAS5C,MAC7CpB,KAAKgF,QAAQZ,KAAKhD,MAAMqG,QAAUzH,KAAKgE,SAAS5C,OAEhDpB,KAAKgE,SAAS7C,MAAMgB,OACpB,IAAK,MAAMvE,KAAKoC,KAAKgE,SAAS7C,MACT,KAAbvD,EAAEgG,SACF5D,KAAKoE,KAAKA,KAAKvG,UAAUkJ,IAAInJ,EAAEgG,QAC/B5D,KAAKgF,QAAQZ,KAAKvG,UAAUkJ,IAAInJ,EAAEgG,SAIR,aAAlC5D,KAAKgE,SAAS0D,iBACd1H,KAAKgF,QAAQZ,KAAKvG,UAAUkJ,IAAI,MAAQ/G,KAAKgE,SAAS0D,gB,CAG9DlB,uBACIxG,KAAKoE,KAAKA,KAAKuD,KAAO,WACtB3H,KAAKoE,KAAKA,KAAK6C,aAAa,gBAAiB,WAC7CjH,KAAKoE,KAAKA,KAAK6C,aAAa,gBAAiBjH,KAAKgF,QAAQZ,KAAKpG,IAC/DgC,KAAKoE,KAAKA,KAAK6C,aAAa,gBAAiB,SAC7CjH,KAAKgF,QAAQZ,KAAK6C,aAAa,OAAQ,U,CAE3CZ,UACI,IAAIuB,EACJ,MAAMxD,EAAOlG,SAAS2J,cAAc,OACpCzD,EAAKrG,QAAQC,GAAKgC,KAAKgE,SAAShG,GAChCoG,EAAK6C,aAAa,aAAcjH,KAAKgE,SAAS8D,WAC9C1D,EAAK2D,SAAW,EAChB3D,EAAK4D,UAAarK,IACd,OAAQA,EAAEsK,KACN,IAAK,UACL,IAAK,YAGD,OAFAjI,KAAKkE,UAAU+B,OACL,cAAVtI,EAAEsK,IAAsBjI,KAAKkI,UAAU,QAAUlI,KAAKkI,UAAU,OACzD,EACX,IAAK,MAED,OADAlI,KAAKkE,UAAUgC,SACR,EACX,IAAK,QACL,IAAK,IACDlG,KAAKkE,UAAU+B,OACf,MAAMD,EAAchG,KAAKgF,QAAQO,KAAK+B,cAAc,IAAMtH,KAAKmE,QAAQ6B,aAIvE,OAHIA,GACAA,EAAYmC,SAET,EACX,IAAK,SAED,OADAnI,KAAKkE,UAAUgC,SACR,EAEf,OAAO,CAAK,EAEhB9B,EAAKgE,QAAWzK,IACRqC,KAAKgE,SAAShD,WAGlBhB,KAAKgE,SAASqE,OAASrI,KAAKkE,UAAUgC,QAAUlG,KAAKkE,UAAU+B,OAAM,EAEzE,MAAM5B,EAASnG,SAAS2J,cAAc,OACtCxD,EAAOxG,UAAUkJ,IAAI/G,KAAKmE,QAAQE,QAClCD,EAAKsC,YAAYrC,GACjB,MAAMM,EAAWzG,SAAS2J,cAAc,OACxClD,EAAS9G,UAAUkJ,IAAI/G,KAAKmE,QAAQQ,UACpC,MAAM3B,EAAwC,QAArB4E,EAAK5H,KAAKiE,aAA0B,IAAP2D,OAAgB,EAASA,EAAG3E,sBAC7EjD,KAAKgE,SAASsE,eAAkBtI,KAAKgE,SAASuE,YAAcvF,GAAmBA,EAAgBb,QAAU,EAC1GwC,EAAS9G,UAAUkJ,IAAI/G,KAAKmE,QAAQiC,MAGpCzB,EAAS9G,UAAU+I,OAAO5G,KAAKmE,QAAQiC,MAE3CzB,EAASyD,QAAWzK,IAEhB,GADAA,EAAE6K,kBACExI,KAAKgE,SAAShD,SACd,OAEJ,IAAIyH,GAAe,EACnB,MAAMC,EAAS1I,KAAKiE,MAAMhB,qBACpB0F,EAAQ,GAId,GAHI3I,KAAKkE,UAAU0E,eACfH,GAA8D,IAA/CzI,KAAKkE,UAAU0E,aAAaD,EAAOD,IAElDD,EAAc,CACd,GAAIzI,KAAKgE,SAASuE,WACdvI,KAAKkE,UAAU2E,YAAY,IAAI,GAC/B7I,KAAK8I,wBAEJ,CACD,MAAMjG,EAAc7C,KAAKiE,MAAMR,iBACzB9C,EAAQkC,EAAcA,EAAYlC,MAAQ,GAChDX,KAAKkE,UAAU2E,YAAYlI,GAAO,E,CAElCX,KAAKgE,SAAS+E,eACd/I,KAAKkE,UAAUgC,QAEflG,KAAKkE,UAAU8E,aACfhJ,KAAKkE,UAAU8E,YAAYhJ,KAAKiE,MAAMhB,qB,GAIlD,MAAMgG,EAAc/K,SAASgL,gBAAgB,6BAA8B,OAC3ED,EAAYhC,aAAa,UAAW,eACpC,MAAMrC,EAAe1G,SAASgL,gBAAgB,6BAA8B,QAC5EtE,EAAaqC,aAAa,IAAKjH,KAAKmE,QAAQS,cAC5CqE,EAAYvC,YAAY9B,GACxBD,EAAS+B,YAAYuC,GACrB7E,EAAKsC,YAAY/B,GACjB,MAAME,EAAQ3G,SAASgL,gBAAgB,6BAA8B,OACrErE,EAAMhH,UAAUkJ,IAAI/G,KAAKmE,QAAQU,OACjCA,EAAMoC,aAAa,UAAW,eAC9B,MAAMkC,EAAYjL,SAASgL,gBAAgB,6BAA8B,QAOzE,OANAC,EAAUlC,aAAa,IAAKjH,KAAKmE,QAAQW,YACrC9E,KAAKgE,SAASoF,YACdvE,EAAMhH,UAAUkJ,IAAI/G,KAAKmE,QAAQiC,MAErCvB,EAAM6B,YAAYyC,GAClB/E,EAAKsC,YAAY7B,GACV,CACHT,KAAMA,EACNC,OAAQA,EACRM,SAAU,CACNP,KAAMO,EACN0E,IAAKJ,EACLjC,KAAMpC,GAEVC,MAAO,CACHT,KAAMS,EACNmC,KAAMmC,G,CAIlBG,UAAUC,GACY,UAAdA,GACAvJ,KAAKoE,KAAKA,KAAKoF,MAAM,CAAEC,eAAe,G,CAG9CvI,cACI,MAAMwI,EAAoB1J,KAAKiE,MAAM1B,QAAQhC,GAAMA,EAAEW,cAAa,GAClE,IAAIyI,EAAkB3J,KAAKgE,SAAS2F,gBAChCD,EAAkBvH,SACgB,KAA9BuH,EAAkB,GAAG7I,KACrB8I,EAAkBD,EAAkB,GAAG7I,KAEJ,KAA9B6I,EAAkB,GAAG9I,OAC1B+I,EAAkBD,EAAkB,GAAG9I,OAG/C,MAAMM,EAAchD,SAAS2J,cAAc,OAG3C,OAFA3G,EAAYrD,UAAUkJ,IAAI/G,KAAKmE,QAAQjD,aACvCA,EAAY0I,UAAYD,EACjBzI,C,CAEX2I,eACS7J,KAAKgE,SAASuE,YAInBvI,KAAK8J,uBACL9J,KAAK8I,qBAJD9I,KAAK+J,mB,CAMbA,oBACI,MAAMjJ,EAAWd,KAAKiE,MAAM1B,QAAQhC,GACzBA,EAAEO,WAAaP,EAAEW,cACzB,GACG8I,EAAiBlJ,EAASqB,OAAS,EAAIrB,EAAS,GAAK,KAC3D,GAAKkJ,EAGA,CACD,MAAMC,EAAc/L,SAAS2J,cAAc,OAC3CoC,EAAYpM,UAAUkJ,IAAI/G,KAAKmE,QAAQG,QACnC0F,EAAenJ,KACfoJ,EAAYL,UAAYI,EAAenJ,KAGvCoJ,EAAYC,UAAYF,EAAepJ,KAE3CZ,KAAKoE,KAAKC,OAAOuF,UAAYK,EAAYE,S,MAXzCnK,KAAKoE,KAAKC,OAAOuF,UAAY5J,KAAKkB,cAAciJ,UAa/CnK,KAAKgE,SAASsE,eAAkBxH,EAASqB,OAI1CnC,KAAKoE,KAAKO,SAASP,KAAKvG,UAAU+I,OAAO5G,KAAKmE,QAAQiC,MAHtDpG,KAAKoE,KAAKO,SAASP,KAAKvG,UAAUkJ,IAAI/G,KAAKmE,QAAQiC,K,CAM3D0D,uBACI,IAAIM,EAAepK,KAAKoE,KAAKC,OAAOgG,WAChCrH,EAAkBhD,KAAKiE,MAAM1B,QAAQW,GAC9BA,EAAIpC,UAAYoC,EAAInC,UAC5B,GACH,GAA+B,IAA3BiC,EAAgBb,OAEhB,YADAnC,KAAKoE,KAAKC,OAAOuF,UAAY5J,KAAKkB,cAAciJ,WAG/C,CACD,MAAMjJ,EAAclB,KAAKoE,KAAKC,OAAOiD,cAAc,IAAMtH,KAAKmE,QAAQjD,aAClEA,GACAA,EAAY0F,Q,CAGpB,GAAI5D,EAAgBb,OAASnC,KAAKgE,SAASsG,eAAgB,CACvD,MAAML,EAAc/L,SAAS2J,cAAc,OAI3C,OAHAoC,EAAYpM,UAAUkJ,IAAI/G,KAAKmE,QAAQI,KACvC0F,EAAYM,YAAcvK,KAAKgE,SAASwG,iBAAiB/K,QAAQ,WAAYuD,EAAgBb,OAAO9E,iBACpG2C,KAAKoE,KAAKC,OAAOuF,UAAYK,EAAYE,U,CAGxC,CACD,MAAMK,EAAmBxK,KAAKoE,KAAKC,OAAOiD,cAAc,IAAMtH,KAAKmE,QAAQI,KACvEiG,GACAA,EAAiB5D,Q,CAGzB,IAAI6D,EAAc,GAClB,IAAK,IAAIC,EAAI,EAAGA,EAAIN,EAAajI,OAAQuI,IAAK,CAC1C,MAAMC,EAAOP,EAAaM,GACpB1M,EAAK2M,EAAKC,aAAa,WACzB5M,IACcgF,EAAgBT,QAAQW,GAC3BA,EAAIlF,KAAOA,IACnB,GACQmE,QACPsI,EAAYjK,KAAKmK,G,CAI7B,IAAK,MAAME,KAAKJ,EACZI,EAAEhN,UAAUkJ,IAAI/G,KAAKmE,QAAQO,UAC7B1F,YAAW,KACHgB,KAAKoE,KAAKC,OAAOyG,iBAAmB9K,KAAKoE,KAAKC,OAAOvG,SAAS+M,IAC9D7K,KAAKoE,KAAKC,OAAO0G,YAAYF,EAAE,GAEpC,KAEPT,EAAepK,KAAKoE,KAAKC,OAAOgG,WAChC,IAAK,IAAIW,EAAI,EAAGA,EAAIhI,EAAgBb,OAAQ6I,IAAK,CAC7C,IAAIC,GAAY,EAChB,IAAK,IAAIP,EAAI,EAAGA,EAAIN,EAAajI,OAAQuI,IACjC1H,EAAgBgI,GAAGhN,KAAOkN,OAAOd,EAAaM,GAAG3M,QAAQC,MACzDiN,GAAY,GAGhBA,IACIjL,KAAKgE,SAASmH,WAIc,IAAxBf,EAAajI,OAHjBnC,KAAKoE,KAAKC,OAAOqC,YAAY1G,KAAKoL,cAAcpI,EAAgBgI,KAMjD,IAANA,EACLhL,KAAKoE,KAAKC,OAAOgH,aAAarL,KAAKoL,cAAcpI,EAAgBgI,IAAKZ,EAAaY,IAGnFZ,EAAaY,EAAI,GAAGM,sBAAsB,WAAYtL,KAAKoL,cAAcpI,EAAgBgI,K,EAM7GI,cAAc1K,GACV,MAAMC,EAAQzC,SAAS2J,cAAc,OACrClH,EAAM9C,UAAUkJ,IAAI/G,KAAKmE,QAAQxD,OACjCA,EAAM5C,QAAQC,GAAK0C,EAAO1C,GAC1B,MAAM4C,EAAO1C,SAAS2J,cAAc,OAIpC,GAHAjH,EAAK/C,UAAUkJ,IAAI/G,KAAKmE,QAAQK,WAChC5D,EAAKsJ,UAAYxJ,EAAOE,KACxBD,EAAM+F,YAAY9F,IACbF,EAAOO,UAAW,CACnB,MAAMsK,EAAYrN,SAAS2J,cAAc,OACzC0D,EAAU1N,UAAUkJ,IAAI/G,KAAKmE,QAAQM,aACrC8G,EAAUnD,QAAWzK,IAGjB,GAFAA,EAAE6N,iBACF7N,EAAE6K,kBACExI,KAAKgE,SAAShD,SACd,OAEJ,IAAIyH,GAAe,EACnB,MAAMC,EAAS1I,KAAKiE,MAAMhB,qBACpB0F,EAAQD,EAAOnG,QAAQhC,GAClBA,EAAEO,UAAYP,EAAEvC,KAAO0C,EAAO1C,KACtC,GACH,KAAIgC,KAAKgE,SAASyH,aAAe9C,EAAMxG,OAASnC,KAAKgE,SAASyH,eAG1DzL,KAAKkE,UAAU0E,eACfH,GAA8D,IAA/CzI,KAAKkE,UAAU0E,aAAaD,EAAOD,IAElDD,GAAc,CACd,IAAI7F,EAAiB,GACrB,IAAK,MAAMrC,KAAKoI,EAAO,CACnB,GAAIpI,aAAaV,EACb,IAAK,MAAMjC,KAAK2C,EAAED,QACdsC,EAAepC,KAAK5C,EAAE+C,OAG1BJ,aAAaE,GACbmC,EAAepC,KAAKD,EAAEI,M,CAG9BX,KAAKkE,UAAU2E,YAAYjG,GAAgB,GACvC5C,KAAKgE,SAAS+E,eACd/I,KAAKkE,UAAUgC,QAEflG,KAAKkE,UAAU8E,aACfhJ,KAAKkE,UAAU8E,YAAYL,GAE/B3I,KAAK8I,mB,GAGb,MAAM4C,EAAYxN,SAASgL,gBAAgB,6BAA8B,OACzEwC,EAAUzE,aAAa,UAAW,eAClC,MAAM0E,EAAazN,SAASgL,gBAAgB,6BAA8B,QAC1EyC,EAAW1E,aAAa,IAAKjH,KAAKmE,QAAQ4B,cAC1C2F,EAAUhF,YAAYiF,GACtBJ,EAAU7E,YAAYgF,GACtB/K,EAAM+F,YAAY6E,E,CAEtB,OAAO5K,C,CAEX2F,aACI,MAAMlC,EAAOlG,SAAS2J,cAAc,OACpCzD,EAAKrG,QAAQC,GAAKgC,KAAKgE,SAAShG,GAChC,MAAM0F,EAAS1D,KAAK4L,YACpBxH,EAAKsC,YAAYhD,EAAOU,MACxB,MAAMmB,EAAOvF,KAAK6L,UAElB,OADAzH,EAAKsC,YAAYnB,GACV,CACHnB,KAAMA,EACNV,OAAQA,EACR6B,KAAMA,E,CAGd4B,cAC0C,aAAlCnH,KAAKgE,SAAS0D,iBAIiB,SAA/B1H,KAAKgE,SAASkD,aAIsB,OAA/BlH,KAAKgE,SAASkD,aAIG,OAAtBlH,KAAK8L,aACL9L,KAAK+L,mBAGL/L,KAAKgM,mBAPLhM,KAAK+L,mBARL/L,KAAKgM,kB,CAkBbJ,YACI,MAAMxH,EAAOlG,SAAS2J,cAAc,OAC9BhB,EAAQ3I,SAAS2J,cAAc,SAC/BxC,EAAUnH,SAAS2J,cAAc,OACvCzD,EAAKvG,UAAUkJ,IAAI/G,KAAKmE,QAAQT,QAChC,MAAMuI,EAAe,C,KACjB7H,E,MACAyC,GA8CJ,GA5CK7G,KAAKgE,SAASkI,aACf9H,EAAKvG,UAAUkJ,IAAI/G,KAAKmE,QAAQiC,MAChCS,EAAMsF,UAAW,GAErBtF,EAAMtF,KAAO,SACbsF,EAAM3F,YAAclB,KAAKgE,SAASoI,kBAClCvF,EAAMkB,UAAW,EACjBlB,EAAMI,aAAa,aAAcjH,KAAKgE,SAASoI,mBAC/CvF,EAAMI,aAAa,iBAAkB,OACrCJ,EAAMI,aAAa,eAAgB,OACnCJ,EAAMI,aAAa,cAAe,OAClCJ,EAAMwF,QAAUjO,GAAUT,IACtBqC,KAAKkE,UAAUR,OAAO/F,EAAE2O,OAAO3L,MAAM,GACtC,KACHkG,EAAMmB,UAAarK,IACf,OAAQA,EAAEsK,KACN,IAAK,UACL,IAAK,YAED,MADU,cAAVtK,EAAEsK,IAAsBjI,KAAKkI,UAAU,QAAUlI,KAAKkI,UAAU,OACzD,EACX,IAAK,MAED,OADAlI,KAAKkE,UAAUgC,SACR,EACX,IAAK,SAED,OADAlG,KAAKkE,UAAUgC,SACR,EACX,IAAK,QACL,IAAK,IACD,GAAIlG,KAAKkE,UAAUmB,SAAW1H,EAAE4O,QAE5B,OADAlH,EAAQ8C,SACD,EAEN,CACD,MAAMnC,EAAchG,KAAKgF,QAAQO,KAAK+B,cAAc,IAAMtH,KAAKmE,QAAQ6B,aACvE,GAAIA,EAEA,OADAA,EAAYmC,SACL,C,CAGf,OAAO,EAEf,OAAO,CAAI,EAEf/D,EAAKsC,YAAYG,GACb7G,KAAKkE,UAAUmB,QAAS,CACxBA,EAAQxH,UAAUkJ,IAAI/G,KAAKmE,QAAQkB,SACnC,MAAMmH,EAAOtO,SAASgL,gBAAgB,6BAA8B,OACpEsD,EAAKvF,aAAa,UAAW,eAC7B,MAAMwF,EAAWvO,SAASgL,gBAAgB,6BAA8B,QACxEuD,EAASxF,aAAa,IAAKjH,KAAKmE,QAAQmB,aACxCkH,EAAK9F,YAAY+F,GACjBpH,EAAQqB,YAAY8F,GACpBnH,EAAQ+C,QAAWzK,IAGf,GAFAA,EAAE6N,iBACF7N,EAAE6K,mBACGxI,KAAKkE,UAAUmB,QAChB,OAEJ,MAAMqH,EAAa1M,KAAKgF,QAAQtB,OAAOmD,MAAMlG,MAAMiD,OACnD,GAAmB,KAAf8I,EAEA,YADA1M,KAAKgF,QAAQtB,OAAOmD,MAAM2C,QAG9B,MAAMmD,EAAaC,IACf,IAAIC,EAAY,IAAIpM,EAAOmM,GAE3B,GADA5M,KAAKkE,UAAUzB,UAAUoK,GACrB7M,KAAKgE,SAASuE,WAAY,CAC1B,IAAIlE,EAASrE,KAAKiE,MAAM5B,cACxBgC,EAAO7D,KAAKqM,EAAUlM,OACtBX,KAAKkE,UAAU2E,YAAYxE,GAAQ,E,MAGnCrE,KAAKkE,UAAU2E,YAAY,CAACgE,EAAUlM,QAAQ,GAElDX,KAAKkE,UAAUR,OAAO,IAClB1D,KAAKgE,SAAS+E,eACd/J,YAAW,KACPgB,KAAKkE,UAAUgC,OAAO,GACvB,IAAI,EAGT4G,EAAe9M,KAAKkE,UAAUmB,QAAQqH,IACvB,IAAjBI,SAA0BA,IAG1BA,aAAwBC,QACxBD,EAAaE,MAAMrM,IAEXgM,EADiB,iBAAVhM,EACG,CACNC,KAAMD,EACNA,MAAOA,GAIDA,EAAM,IAKxBgM,EAD6B,iBAAjBG,EACF,CACNlM,KAAMkM,EACNnM,MAAOmM,GAIDA,GAEd,EAEJ1I,EAAKsC,YAAYrB,GACjB4G,EAAa5G,QAAU,CACnBjB,KAAMiB,EACNgE,IAAKmD,EACLxF,KAAMyF,E,CAGd,OAAOR,C,CAEXgB,cACIjN,KAAKgF,QAAQtB,OAAOmD,MAAM2C,O,CAE9B0D,WAAWC,GAAiB,EAAOC,GAAc,EAAOC,GAAY,GAChE,IAAIC,EAAQ,IAAMtN,KAAKmE,QAAQzD,OAU/B,OATIyM,IACAG,GAAS,SAAWtN,KAAKmE,QAAQjD,YAAc,KAE/CkM,IACAE,GAAS,SAAWtN,KAAKmE,QAAQnD,SAAW,KAE5CqM,IACAC,GAAS,SAAWtN,KAAKmE,QAAQiC,KAAO,KAErCzE,MAAM4L,KAAKvN,KAAKgF,QAAQO,KAAKiI,iBAAiBF,G,CAEzDpF,UAAUuF,GACN,MAAMnN,EAAUN,KAAKkN,YAAW,GAAM,GAAM,GAC5C,GAAuB,IAAnB5M,EAAQ6B,OACR,OAEJ,GAAuB,IAAnB7B,EAAQ6B,SACH7B,EAAQ,GAAGzC,UAAUC,SAASkC,KAAKmE,QAAQ6B,aAE5C,YADA1F,EAAQ,GAAGzC,UAAUkJ,IAAI/G,KAAKmE,QAAQ6B,aAI9C,IAAIA,GAAc,EAClB,IAAK,MAAMzF,KAAKD,EACRC,EAAE1C,UAAUC,SAASkC,KAAKmE,QAAQ6B,eAClCA,GAAc,GAGtB,IAAKA,EACD,IAAK,MAAMzF,KAAKD,EACZ,GAAIC,EAAE1C,UAAUC,SAASkC,KAAKmE,QAAQrD,UAAW,CAC7CP,EAAE1C,UAAUkJ,IAAI/G,KAAKmE,QAAQ6B,aAC7B,K,CAIZ,IAAK,IAAI0E,EAAI,EAAGA,EAAIpK,EAAQ6B,OAAQuI,IAChC,GAAIpK,EAAQoK,GAAG7M,UAAUC,SAASkC,KAAKmE,QAAQ6B,aAAc,CACzD,MAAM0H,EAAapN,EAAQoK,GAC3BgD,EAAW7P,UAAU+I,OAAO5G,KAAKmE,QAAQ6B,aACzC,MAAM2H,EAAaD,EAAWE,cAC9B,GAAID,GAAcA,EAAW9P,UAAUC,SAASkC,KAAKmE,QAAQ8B,MAAO,CAChE,MAAMT,EAAgBmI,EAAWrG,cAAc,IAAMtH,KAAKmE,QAAQqB,eAC9DA,GACAA,EAAc2C,O,CAGtB,IAAI0F,EAAevN,EAAgB,SAARmN,EAAkB/C,EAAI,EAAIpK,EAAQ6B,OAASuI,EAAI,EAAI,EAAKA,EAAI,GAAK,EAAIA,EAAI,EAAIpK,EAAQ6B,OAAS,GACzH0L,EAAahQ,UAAUkJ,IAAI/G,KAAKmE,QAAQ6B,aACxChG,KAAKuH,oBAAoBvH,KAAKgF,QAAQO,KAAMsI,GAC5C,MAAMC,EAAeD,EAAaD,cAClC,GAAIE,GAAgBA,EAAajQ,UAAUC,SAASkC,KAAKmE,QAAQ+B,OAAQ,CACrE,MAAMV,EAAgBsI,EAAaxG,cAAc,IAAMtH,KAAKmE,QAAQqB,eAChEA,GACAA,EAAc2C,O,CAGtB,M,CAGR7H,EAAgB,SAARmN,EAAiB,EAAInN,EAAQ6B,OAAS,GAAGtE,UAAUkJ,IAAI/G,KAAKmE,QAAQ6B,aAC5EhG,KAAKuH,oBAAoBvH,KAAKgF,QAAQO,KAAMjF,EAAgB,SAARmN,EAAiB,EAAInN,EAAQ6B,OAAS,G,CAE9F0J,UACI,MAAMvL,EAAUpC,SAAS2J,cAAc,OAEvC,OADAvH,EAAQzC,UAAUkJ,IAAI/G,KAAKmE,QAAQoB,MAC5BjF,C,CAEXyN,YAAY5H,GACRnG,KAAKgF,QAAQO,KAAKqE,UAAY,GAC9B,MAAMoE,EAAW9P,SAAS2J,cAAc,OACxCmG,EAASnQ,UAAUkJ,IAAI/G,KAAKmE,QAAQgC,OACpC6H,EAASzD,YAAcpE,EACvBnG,KAAKgF,QAAQO,KAAKmB,YAAYsH,E,CAElCC,kBACIjO,KAAKgF,QAAQO,KAAKqE,UAAY,GAC9B,MAAMsE,EAAehQ,SAAS2J,cAAc,OAC5CqG,EAAarQ,UAAUkJ,IAAI/G,KAAKmE,QAAQiB,WACxC8I,EAAa3D,YAAcvK,KAAKgE,SAASmK,cACzCnO,KAAKgF,QAAQO,KAAKmB,YAAYwH,E,CAElCE,cAAc/M,GAEV,GADArB,KAAKgF,QAAQO,KAAKqE,UAAY,GACV,IAAhBvI,EAAKc,OAAc,CACnB,MAAMkM,EAAYnQ,SAAS2J,cAAc,OAIzC,OAHAwG,EAAUxQ,UAAUkJ,IAAI/G,KAAKmE,QAAQT,QACrC2K,EAAUzE,UAAY5J,KAAKgE,SAASsK,gBACpCtO,KAAKgF,QAAQO,KAAKmB,YAAY2H,E,CAGlC,IAAK,MAAMrD,KAAK3J,EAAM,CAClB,GAAI2J,aAAanL,EAAU,CACvB,MAAM0O,EAAarQ,SAAS2J,cAAc,OAC1C0G,EAAW1Q,UAAUkJ,IAAI/G,KAAKmE,QAAQpE,UACtC,MAAMyF,EAAgBtH,SAAS2J,cAAc,OAC7CrC,EAAc3H,UAAUkJ,IAAI/G,KAAKmE,QAAQqB,eACzC+I,EAAW7H,YAAYlB,GACvB,MAAMC,EAAoBvH,SAAS2J,cAAc,OACjDpC,EAAkB5H,UAAUkJ,IAAI/G,KAAKmE,QAAQsB,mBAC7CA,EAAkB8E,YAAcS,EAAE/K,MAClCuF,EAAckB,YAAYjB,GAC1B,MAAMC,EAAkBxH,SAAS2J,cAAc,OAG/C,GAFAnC,EAAgB7H,UAAUkJ,IAAI/G,KAAKmE,QAAQuB,iBAC3CF,EAAckB,YAAYhB,GACtB1F,KAAKgE,SAASuE,YAAcyC,EAAE9K,UAAW,CACzC,MAAMA,EAAYhC,SAAS2J,cAAc,OACzC3H,EAAUrC,UAAUkJ,IAAI/G,KAAKmE,QAAQwB,mBACrC,IAAI6I,GAAc,EAClB,IAAK,MAAMC,KAAKzD,EAAE1K,QACd,IAAKmO,EAAE3N,SAAU,CACb0N,GAAc,EACd,K,CAGJA,GACAtO,EAAUrC,UAAUkJ,IAAI/G,KAAKmE,QAAQrD,UAEzC,MAAMV,EAAgBlC,SAAS2J,cAAc,QAC7CzH,EAAcmK,YAAcS,EAAE5K,cAC9BF,EAAUwG,YAAYtG,GACtB,MAAMsO,EAAexQ,SAASgL,gBAAgB,6BAA8B,OAC5EwF,EAAazH,aAAa,UAAW,eACrC/G,EAAUwG,YAAYgI,GACtB,MAAMC,EAAezQ,SAASgL,gBAAgB,6BAA8B,QAC5EyF,EAAa1H,aAAa,IAAKjH,KAAKmE,QAAQyB,sBAC5C8I,EAAahI,YAAYiI,GACzB,MAAMC,EAAiB1Q,SAASgL,gBAAgB,6BAA8B,QAC9E0F,EAAe3H,aAAa,IAAKjH,KAAKmE,QAAQ0B,wBAC9C6I,EAAahI,YAAYkI,GACzB1O,EAAU2O,iBAAiB,SAAUlR,IACjCA,EAAE6N,iBACF7N,EAAE6K,kBACF,MAAMsG,EAAkB9O,KAAKiE,MAAM5B,cACnC,GAAImM,EAAJ,CACI,MAAMO,EAAcD,EAAgBvM,QAAQyM,IACxC,IAAK,MAAMzO,KAAKyK,EAAE1K,QACd,GAAI0O,IAAMzO,EAAEI,MACR,OAAO,EAGf,OAAO,CAAI,IAEfX,KAAKkE,UAAU2E,YAAYkG,GAAa,E,KAT5C,CAaI,MAAMA,EAAcD,EAAgBpM,OAAOsI,EAAE1K,QAAQ2O,KAAK1O,GAAMA,EAAEI,SAClE,IAAK,MAAMuO,KAAKlE,EAAE1K,QACTN,KAAKiE,MAAMV,cAAc2L,EAAElR,KAC5BgC,KAAKkE,UAAUzB,UAAUyM,GAGjClP,KAAKkE,UAAU2E,YAAYkG,GAAa,E,KAIhDrJ,EAAgBgB,YAAYxG,E,CAEhC,GAAmB,QAAf8K,EAAE3K,SAAoB,CACtB,MAAMyF,EAAmB5H,SAAS2J,cAAc,OAChD/B,EAAiBjI,UAAUkJ,IAAI/G,KAAKmE,QAAQ2B,kBAC5C,MAAMqJ,EAAsBjR,SAASgL,gBAAgB,6BAA8B,OACnFiG,EAAoBlI,aAAa,UAAW,eAC5CkI,EAAoBtR,UAAUkJ,IAAI/G,KAAKmE,QAAQU,OAC/CiB,EAAiBY,YAAYyI,GAC7B,MAAMC,EAAwBlR,SAASgL,gBAAgB,6BAA8B,QACrFiG,EAAoBzI,YAAY0I,GAC5BpE,EAAE1K,QAAQ+O,MAAM9O,GAAMA,EAAEO,YAAwD,KAA3Cd,KAAKgF,QAAQtB,OAAOmD,MAAMlG,MAAMiD,QACrEkC,EAAiBjI,UAAUkJ,IAAI/G,KAAKmE,QAAQ8B,MAC5CmJ,EAAsBnI,aAAa,IAAKjH,KAAKmE,QAAQY,YAEjC,SAAfiG,EAAE3K,UACPkO,EAAW1Q,UAAUkJ,IAAI/G,KAAKmE,QAAQ8B,MACtCmJ,EAAsBnI,aAAa,IAAKjH,KAAKmE,QAAQY,YAEjC,UAAfiG,EAAE3K,WACPkO,EAAW1Q,UAAUkJ,IAAI/G,KAAKmE,QAAQ+B,OACtCkJ,EAAsBnI,aAAa,IAAKjH,KAAKmE,QAAQW,aAEzDU,EAAcqJ,iBAAiB,SAAUlR,IACrCA,EAAE6N,iBACF7N,EAAE6K,kBACE+F,EAAW1Q,UAAUC,SAASkC,KAAKmE,QAAQ+B,QAC3CqI,EAAW1Q,UAAU+I,OAAO5G,KAAKmE,QAAQ+B,OACzCqI,EAAW1Q,UAAUkJ,IAAI/G,KAAKmE,QAAQ8B,MACtCmJ,EAAsBnI,aAAa,IAAKjH,KAAKmE,QAAQY,aAGrDwJ,EAAW1Q,UAAU+I,OAAO5G,KAAKmE,QAAQ8B,MACzCsI,EAAW1Q,UAAUkJ,IAAI/G,KAAKmE,QAAQ+B,OACtCkJ,EAAsBnI,aAAa,IAAKjH,KAAKmE,QAAQW,Y,IAG7DY,EAAgBgB,YAAYZ,E,CAEhCyI,EAAW7H,YAAYlB,GACvB,IAAK,MAAM8J,KAAKtE,EAAE1K,QACdiO,EAAW7H,YAAY1G,KAAKU,OAAO4O,IAEvCtP,KAAKgF,QAAQO,KAAKmB,YAAY6H,E,CAE9BvD,aAAavK,GACbT,KAAKgF,QAAQO,KAAKmB,YAAY1G,KAAKU,OAAOsK,G,EAItDtK,OAAOA,GACH,GAAIA,EAAOQ,YAAa,CACpB,MAAMA,EAAchD,SAAS2J,cAAc,OAG3C,OAFA3G,EAAYrD,UAAUkJ,IAAI/G,KAAKmE,QAAQzD,QACvCQ,EAAYrD,UAAUkJ,IAAI/G,KAAKmE,QAAQiC,MAChClF,C,CAEX,MAAMqO,EAAWrR,SAAS2J,cAAc,OAmGxC,OAlGA0H,EAASxR,QAAQC,GAAK0C,EAAO1C,GAC7BuR,EAASvR,GAAK0C,EAAO1C,GACrBuR,EAAS1R,UAAUkJ,IAAI/G,KAAKmE,QAAQzD,QACpC6O,EAAStI,aAAa,OAAQ,UAC1BvG,EAAOS,OACPT,EAAOS,MAAMqO,MAAM,KAAKvN,SAASwN,IAC7BF,EAAS1R,UAAUkJ,IAAI0I,EAAU,IAGrC/O,EAAOU,QACPmO,EAASnO,MAAMqG,QAAU/G,EAAOU,OAEhCpB,KAAKgE,SAAS0L,iBAA8D,KAA3C1P,KAAKgF,QAAQtB,OAAOmD,MAAMlG,MAAMiD,OACjE2L,EAAS3F,UAAY5J,KAAK2P,cAA8B,KAAhBjP,EAAOG,KAAcH,EAAOG,KAAOH,EAAOE,KAAMZ,KAAKgF,QAAQtB,OAAOmD,MAAMlG,MAAOX,KAAKmE,QAAQgB,mBAEjH,KAAhBzE,EAAOG,KACZ0O,EAAS3F,UAAYlJ,EAAOG,KAG5B0O,EAAShF,YAAc7J,EAAOE,KAE9BZ,KAAKgE,SAAS4L,oBAAsBL,EAAShF,aAC7CgF,EAAStI,aAAa,QAASsI,EAAShF,aAEvC7J,EAAOK,SACRwO,EAAS1R,UAAUkJ,IAAI/G,KAAKmE,QAAQiC,MAEpC1F,EAAOM,UACPuO,EAAS1R,UAAUkJ,IAAI/G,KAAKmE,QAAQnD,UAEpCN,EAAOI,UAAYd,KAAKgE,SAAS6L,cACjCN,EAAS1R,UAAUkJ,IAAI/G,KAAKmE,QAAQiC,MAEpC1F,EAAOI,UACPyO,EAAS1R,UAAUkJ,IAAI/G,KAAKmE,QAAQrD,UACpCyO,EAAStI,aAAa,gBAAiB,QACvCjH,KAAKoE,KAAKA,KAAK6C,aAAa,wBAAyBsI,EAASvR,MAG9DuR,EAAS1R,UAAU+I,OAAO5G,KAAKmE,QAAQrD,UACvCyO,EAAStI,aAAa,gBAAiB,UAE3CsI,EAASV,iBAAiB,SAAUlR,IAChCA,EAAE6N,iBACF7N,EAAE6K,kBACF,MAAMxF,EAAkBhD,KAAKiE,MAAM5B,cAC7B7E,EAAUG,EAAEmS,cACZC,EAAY7E,OAAO1N,EAAQO,QAAQC,IACzC,GAAI0C,EAAOM,UAAaN,EAAOI,WAAad,KAAKgE,SAASsE,cACtD,OAEJ,GAAItI,KAAMgE,SAASuE,YAAcvI,KAAKgE,SAASgM,aAAehN,EAAgBb,SAAWzB,EAAOI,UAC3Fd,KAAKgE,SAASuE,YAAcvI,KAAKgE,SAASyH,aAAezI,EAAgBb,QAAUzB,EAAOI,SAC3F,OAEJ,IAAImP,GAAe,EACnB,MAAMvH,EAAS1I,KAAKiE,MAAMhB,qBAC1B,IAAI0F,EAAQ,GACR3I,KAAKgE,SAASuE,aAEVI,EADAjI,EAAOI,SACC4H,EAAOnG,QAAQhC,GAAMA,EAAEvC,KAAO+R,IAG9BrH,EAAOhG,OAAOhC,IAGzBV,KAAKgE,SAASuE,aAEXI,EADAjI,EAAOI,SACC,GAGA,CAACJ,IAGZV,KAAKkE,UAAU0E,eAChBqH,GAAe,GAEfjQ,KAAKkE,UAAU0E,eAEXqH,GAD+C,IAA/CjQ,KAAKkE,UAAU0E,aAAaD,EAAOD,IAOvCuH,IACKjQ,KAAKiE,MAAMV,cAAcwM,IAC1B/P,KAAKkE,UAAUzB,UAAU/B,GAE7BV,KAAKkE,UAAU2E,YAAYF,EAAMsG,KAAK1O,GAAMA,EAAEI,SAAQ,GAClDX,KAAKgE,SAAS+E,eACd/I,KAAKkE,UAAUgC,QAEflG,KAAKkE,UAAU8E,aACfhJ,KAAKkE,UAAU8E,YAAYL,G,IAIhC4G,C,CAEXW,UACIlQ,KAAKoE,KAAKA,KAAKwC,SACf5G,KAAKgF,QAAQZ,KAAKwC,Q,CAEtB+I,cAAcpQ,EAAKmE,EAAQjG,GACvB,IAAI0S,EAAkB5Q,EACtB,MAAM6Q,EAAQ,IAAIC,OAAO,IAAM3M,EAAOE,OAAS,sBAAuB,KACtE,IAAKrE,EAAIG,MAAM0Q,GACX,OAAO7Q,EAEX,MAAM+Q,EAAqB/Q,EAAIG,MAAM0Q,GAAOG,MACtCC,EAAmBF,EAAqB/Q,EAAIG,MAAM0Q,GAAO,GAAG/S,WAAW8E,OACvEsO,EAA2BlR,EAAIjC,UAAUgT,EAAoBE,GAEnE,OADAL,EAAkBA,EAAgB1Q,QAAQ2Q,EAAO,gBAAgB3S,MAAcgT,YACxEN,C,CAEXpE,mBACI,MAAM2E,EAAa1Q,KAAKoE,KAAKA,KAAKuM,aAC5BC,EAAgB5Q,KAAKgF,QAAQZ,KAAKuM,aACxC3Q,KAAKoE,KAAKA,KAAKvG,UAAU+I,OAAO5G,KAAKmE,QAAQe,WAC7ClF,KAAKoE,KAAKA,KAAKvG,UAAUkJ,IAAI/G,KAAKmE,QAAQc,WAC1CjF,KAAKgF,QAAQZ,KAAKvG,UAAU+I,OAAO5G,KAAKmE,QAAQe,WAChDlF,KAAKgF,QAAQZ,KAAKvG,UAAUkJ,IAAI/G,KAAKmE,QAAQc,WAC7C,MAAM4L,EAAgB7Q,KAAKoE,KAAKA,KAAK0M,wBACrC9Q,KAAKgF,QAAQZ,KAAKhD,MAAM2P,OAAS,KAAOL,EAAaE,EAAgB,GAAK,iBAC1E5Q,KAAKgF,QAAQZ,KAAKhD,MAAM4P,IAAMH,EAAcG,IAAMH,EAAcI,OAASC,OAAOC,QAAU,KAC1FnR,KAAKgF,QAAQZ,KAAKhD,MAAMgQ,KAAOP,EAAcO,KAAOF,OAAOG,QAAU,KACrErR,KAAKgF,QAAQZ,KAAKhD,MAAMkQ,MAAQT,EAAcS,MAAQ,I,CAE1DtF,mBACIhM,KAAKoE,KAAKA,KAAKvG,UAAU+I,OAAO5G,KAAKmE,QAAQc,WAC7CjF,KAAKoE,KAAKA,KAAKvG,UAAUkJ,IAAI/G,KAAKmE,QAAQe,WAC1ClF,KAAKgF,QAAQZ,KAAKvG,UAAU+I,OAAO5G,KAAKmE,QAAQc,WAChDjF,KAAKgF,QAAQZ,KAAKvG,UAAUkJ,IAAI/G,KAAKmE,QAAQe,WAC7C,MAAM2L,EAAgB7Q,KAAKoE,KAAKA,KAAK0M,wBACrC9Q,KAAKgF,QAAQZ,KAAKhD,MAAM2P,OAAS,mBACK,aAAlC/Q,KAAKgE,SAAS0D,kBACd1H,KAAKgF,QAAQZ,KAAKhD,MAAM4P,IAAMH,EAAcG,IAAMH,EAAcI,OAASC,OAAOC,QAAU,KAC1FnR,KAAKgF,QAAQZ,KAAKhD,MAAMgQ,KAAOP,EAAcO,KAAOF,OAAOG,QAAU,KACrErR,KAAKgF,QAAQZ,KAAKhD,MAAMkQ,MAAQT,EAAcS,MAAQ,K,CAG9D/J,oBAAoBgK,EAAW/T,GAC3B,MAAMgU,EAAOD,EAAUE,UAAYF,EAAUG,UACvCC,EAAUH,EAAOD,EAAUK,aAC3BC,EAAOrU,EAAQkU,UACfI,EAAUD,EAAOrU,EAAQoU,aAC3BC,EAAOL,EACPD,EAAUE,WAAaD,EAAOK,EAEzBC,EAAUH,IACfJ,EAAUE,WAAaK,EAAUH,E,CAGzC7F,aACI,MAAM4E,EAAa1Q,KAAKoE,KAAKA,KAAKuM,aAC5BoB,EAAW/R,KAAKoE,KAAKA,KAAK0M,wBAC1BF,EAAgB5Q,KAAKgF,QAAQZ,KAAKuM,aAExC,OADmBO,OAAOc,aAAeD,EAASf,IAAMN,IACtCE,GACVmB,EAASf,IAAMJ,EACR,KAMR,M,CAEX9H,oBACI,IAAK9I,KAAKiE,QAAUjE,KAAKgE,SACrB,OAEJ,MAAMlD,EAAWd,KAAKiE,MAAMhB,qBACtBgP,EAAmBnR,GAAYA,EAASqB,OAAS,EACjDoG,EAAavI,KAAKgE,SAASuE,WAC3BD,EAAgBtI,KAAKgE,SAASsE,cAC9B4J,EAAiBlS,KAAKoE,KAAKO,SAASP,KACpC+N,EAAYnS,KAAKmE,QAAQiC,MAC3BkC,GAAmBC,IAAe0J,EAIlCC,EAAerU,UAAUkJ,IAAIoL,GAH7BD,EAAerU,UAAU+I,OAAOuL,E,EAQ5C,MAAMC,EACFtS,YAAYuS,GACRrS,KAAKsS,QAAS,EACdtS,KAAKuS,SAAW,KAChBvS,KAAKqS,OAASA,EACdrS,KAAKwS,YAAcxS,KAAKwS,YAAYC,KAAKzS,MACzCA,KAAKqS,OAAOxD,iBAAiB,SAAU7O,KAAKwS,YAAa,CACrDE,SAAS,IAEb1S,KAAKuS,SAAW,IAAII,iBAAiB3S,KAAK4S,YAAYH,KAAKzS,OAC3DA,KAAK6S,cAAa,E,CAEtBlM,SACI3G,KAAKqS,OAAOrR,UAAW,C,CAE3B8F,UACI9G,KAAKqS,OAAOrR,UAAW,C,CAE3B8R,SACI9S,KAAKqS,OAAOtK,UAAW,EACvB/H,KAAKqS,OAAOjR,MAAML,QAAU,OAC5Bf,KAAKqS,OAAOpL,aAAa,cAAe,O,CAE5C8L,SACI/S,KAAKqS,OAAO7K,gBAAgB,YAC5BxH,KAAKqS,OAAOjR,MAAML,QAAU,GAC5Bf,KAAKqS,OAAO7K,gBAAgB,c,CAEhCqL,aAAaP,GACTtS,KAAKsS,OAASA,EACVA,GACItS,KAAKuS,UACLvS,KAAKuS,SAASS,QAAQhT,KAAKqS,OAAQ,CAC/BY,SAAS,EACTC,WAAW,EACXC,YAAY,IAInBb,GACGtS,KAAKuS,UACLvS,KAAKuS,SAASa,Y,CAI1BZ,YAAYa,GAIR,OAHIrT,KAAKsS,QAAUtS,KAAKsT,eACpBtT,KAAKsT,cAActT,KAAKuT,sBAErB,C,CAEXX,YAAYY,GACR,IAAKxT,KAAKsS,OACN,OAEJ,IAAImB,GAAe,EACfC,GAAkB,EAClBC,GAAwB,EAC5B,IAAK,MAAMC,KAAKJ,EACRI,EAAEtH,SAAWtM,KAAKqS,SACM,aAApBuB,EAAEC,gBACFH,GAAkB,GAEE,UAApBE,EAAEC,gBACFJ,GAAe,IAGG,aAAtBG,EAAEtH,OAAOwH,UAAiD,WAAtBF,EAAEtH,OAAOwH,WAC7CH,GAAwB,GAG5BF,GAAgBzT,KAAK+T,eACrB/T,KAAK+T,cAAc/T,KAAKqS,OAAO5U,UAAU+R,MAAM,MAE/CkE,GAAmB1T,KAAKgU,mBACxBhU,KAAK6S,cAAa,GAClB7S,KAAKgU,iBAAiBhU,KAAKqS,OAAOrR,UAClChB,KAAK6S,cAAa,IAElBc,GAAyB3T,KAAKiU,kBAC9BjU,KAAK6S,cAAa,GAClB7S,KAAKiU,gBAAgBjU,KAAKsC,WAC1BtC,KAAK6S,cAAa,G,CAG1BvQ,UACI,IAAIjB,EAAO,GACX,MAAM6S,EAAQlU,KAAKqS,OAAOhI,WAC1B,IAAK,MAAMQ,KAAKqJ,EACO,aAAfrJ,EAAEiJ,UACFzS,EAAKb,KAAKR,KAAKmU,oBAAoBtJ,IAEpB,WAAfA,EAAEiJ,UACFzS,EAAKb,KAAKR,KAAKoU,kBAAkBvJ,IAGzC,OAAOxJ,C,CAEX8S,oBAAoBpU,GAChB,IAAIsB,EAAO,CACPrD,GAAI+B,EAAS/B,GACbiC,MAAOF,EAASE,MAChBC,YAAWH,EAAShC,SAAyC,SAA/BgC,EAAShC,QAAQsW,UAC/CjU,cAAeL,EAAShC,QAAUgC,EAAShC,QAAQuW,cAAgB,aACnEjU,SAAUN,EAAShC,QAAUgC,EAAShC,QAAQsC,SAAW,MACzDC,QAAS,IAEb,MAAMA,EAAUP,EAASsK,WACzB,IAAK,MAAM9J,KAAKD,EACO,WAAfC,EAAEuT,UACFzS,EAAKf,QAAQE,KAAKR,KAAKoU,kBAAkB7T,IAGjD,OAAOc,C,CAEX+S,kBAAkB1T,GACd,MAAO,CACH1C,GAAI0C,EAAO1C,GACX2C,MAAOD,EAAOC,MACdC,KAAMF,EAAOE,KACbC,KAAMH,EAAO3C,SAAW2C,EAAO3C,QAAQ8C,KAAOH,EAAO3C,QAAQ8C,KAAO,GACpEC,SAAUJ,EAAOI,SACjBC,QAAkC,SAAzBL,EAAOU,MAAML,QACtBC,SAAUN,EAAOM,SACjBC,YAAWP,EAAO3C,SAAuC,SAA7B2C,EAAO3C,QAAQkD,UAC3CC,YAA4C,SAA/BR,EAAO3C,QAAQmD,YAC5BC,MAAOT,EAAOjD,UACd2D,MAAOV,EAAOU,MAAMqG,QACpBpG,KAAMX,EAAO3C,Q,CAGrBwV,oBACI,IAAIlP,EAAS,GACb,MAAM/D,EAAUN,KAAKqS,OAAOhI,WAC5B,IAAK,MAAM9J,KAAKD,EAAS,CACrB,GAAmB,aAAfC,EAAEuT,SAAyB,CAC3B,MAAMS,EAAkBhU,EAAE8J,WAC1B,IAAK,MAAMuC,KAAM2H,EACb,GAAoB,WAAhB3H,EAAGkH,SAAuB,CAC1B,MAAMpT,EAASkM,EACXlM,EAAOI,UACPuD,EAAO7D,KAAKE,EAAOC,M,EAKnC,GAAmB,WAAfJ,EAAEuT,SAAuB,CACzB,MAAMpT,EAASH,EACXG,EAAOI,UACPuD,EAAO7D,KAAKE,EAAOC,M,EAI/B,OAAO0D,C,CAEXwE,YAAYlI,GACRX,KAAK6S,cAAa,GAClB,MAAMvS,EAAUN,KAAKqS,OAAOhI,WAC5B,IAAK,MAAM9J,KAAKD,EAAS,CACrB,GAAmB,aAAfC,EAAEuT,SAAyB,CAC3B,MACMS,EADWhU,EACgB8J,WACjC,IAAK,MAAMuC,KAAM2H,EACb,GAAoB,WAAhB3H,EAAGkH,SAAuB,CAC1B,MAAMpT,EAASkM,EACflM,EAAOI,SAAWH,EAAMoC,SAASrC,EAAOC,M,EAIpD,GAAmB,WAAfJ,EAAEuT,SAAuB,CACzB,MAAMpT,EAASH,EACfG,EAAOI,SAAWH,EAAMoC,SAASrC,EAAOC,M,EAGhDX,KAAK6S,cAAa,E,CAEtB2B,aAAaxW,EAAIoD,EAAO+C,GACpBnE,KAAK6S,cAAa,GACd7U,IACAgC,KAAKqS,OAAOtU,QAAQC,GAAKA,GAEzBoD,IACApB,KAAKqS,OAAOjR,MAAMqG,QAAUrG,GAE5B+C,IACAnE,KAAKqS,OAAO5U,UAAY,GACxB0G,EAAQlC,SAASrE,IACI,KAAbA,EAAEgG,QACF5D,KAAKqS,OAAOxU,UAAUkJ,IAAInJ,EAAEgG,OAAO,KAI/C5D,KAAK6S,cAAa,E,CAEtB4B,cAAcpT,GACVrB,KAAK6S,cAAa,GAClB7S,KAAKqS,OAAOzI,UAAY,GACxB,IAAK,MAAMoB,KAAK3J,EACR2J,aAAanL,GACbG,KAAKqS,OAAO3L,YAAY1G,KAAK0U,eAAe1J,IAE5CA,aAAavK,GACbT,KAAKqS,OAAO3L,YAAY1G,KAAK2U,aAAa3J,IAGlDhL,KAAKqS,OAAOuC,cAAc,IAAIC,MAAM,WACpC7U,KAAK6S,cAAa,E,CAEtB6B,eAAe3U,GACX,MAAMwO,EAAarQ,SAAS2J,cAAc,YAS1C,GARA0G,EAAWvQ,GAAK+B,EAAS/B,GACzBuQ,EAAWtO,MAAQF,EAASE,MACxBF,EAASG,YACTqO,EAAWxQ,QAAQmC,UAAY,QAET,QAAtBH,EAASM,WACTkO,EAAWxQ,QAAQsC,SAAWN,EAASM,UAEvCN,EAASO,QACT,IAAK,MAAMC,KAAKR,EAASO,QACrBiO,EAAW7H,YAAY1G,KAAK2U,aAAapU,IAGjD,OAAOgO,C,CAEXoG,aAAaG,GACT,MAAMvF,EAAWrR,SAAS2J,cAAc,UAgCxC,OA/BA0H,EAASvR,GAAK8W,EAAK9W,GACnBuR,EAAS5O,MAAQmU,EAAKnU,MACtB4O,EAAS3F,UAAYkL,EAAKlU,KACR,KAAdkU,EAAKjU,MACL0O,EAAStI,aAAa,YAAa6N,EAAKjU,MAExCiU,EAAKhU,WACLyO,EAASzO,SAAWgU,EAAKhU,UAEzBgU,EAAK9T,WACLuO,EAASvO,UAAW,IAEH,IAAjB8T,EAAK/T,UACLwO,EAASnO,MAAML,QAAU,QAEzB+T,EAAK5T,aACLqO,EAAStI,aAAa,mBAAoB,QAE1C6N,EAAK7T,WACLsO,EAAStI,aAAa,iBAAkB,QAExC6N,EAAK3T,OACL2T,EAAK3T,MAAMqO,MAAM,KAAKvN,SAAS8S,IAC3BxF,EAAS1R,UAAUkJ,IAAIgO,EAAY,IAGvCD,EAAKzT,MAA6B,iBAAdyT,EAAKzT,MACzB2T,OAAOC,KAAKH,EAAKzT,MAAMY,SAASgG,IAC5BsH,EAAStI,aAAa,QAAU3H,EAAU2I,GAAM6M,EAAKzT,KAAK4G,GAAK,IAGhEsH,C,CAEXW,UACIlQ,KAAK6S,cAAa,GAClB7S,KAAKqS,OAAO6C,oBAAoB,SAAUlV,KAAKwS,aAC3CxS,KAAKuS,WACLvS,KAAKuS,SAASa,aACdpT,KAAKuS,SAAW,aAEbvS,KAAKqS,OAAOtU,QAAQC,GAC3BgC,KAAK+S,Q,EAIb,MAAMoC,EACFrV,YAAYkE,GACRhE,KAAKhC,GAAK,GACVgC,KAAKoB,MAAQ,GACbpB,KAAKmB,MAAQ,GACbnB,KAAKuI,YAAa,EAClBvI,KAAKqI,QAAS,EACdrI,KAAKoV,YAAa,EAClBpV,KAAKqV,aAAe,KACfrR,IACDA,EAAW,IAEfhE,KAAKhC,GAAK,MAAQd,IAClB8C,KAAKoB,MAAQ4C,EAAS5C,OAAS,GAC/BpB,KAAKmB,MAAQ6C,EAAS7C,OAAS,GAC/BnB,KAAKgB,cAAiCb,IAAtB6D,EAAShD,UAAyBgD,EAAShD,SAC3DhB,KAAKoJ,gBAAqCjJ,IAAxB6D,EAASoF,YAA2BpF,EAASoF,WAC/DpJ,KAAKkM,gBAAqC/L,IAAxB6D,EAASkI,YAA2BlI,EAASkI,WAC/DlM,KAAK8H,UAAY9D,EAAS8D,WAAa,WACvC9H,KAAKoM,kBAAoBpI,EAASoI,mBAAqB,SACvDpM,KAAKsO,WAAatK,EAASsK,YAAc,aACzCtO,KAAKmO,cAAgBnK,EAASmK,eAAiB,eAC/CnO,KAAK0P,qBAA+CvP,IAA7B6D,EAAS0L,iBAAgC1L,EAAS0L,gBACzE1P,KAAK+I,mBAA2C5I,IAA3B6D,EAAS+E,eAA8B/E,EAAS+E,cACrE/I,KAAKyG,gBAAkBzC,EAASyC,iBAAmBvI,SAASoX,KAC5DtV,KAAK0H,gBAAkB1D,EAAS0D,iBAAmB,WACnD1H,KAAKkH,aAAelD,EAASkD,cAAgB,OAC7ClH,KAAK2J,qBAA+CxJ,IAA7B6D,EAAS2F,gBAAgC3F,EAAS2F,gBAAkB,eAC3F3J,KAAKsI,mBAA2CnI,IAA3B6D,EAASsE,eAA8BtE,EAASsE,cACrEtI,KAAK6P,kBAAyC1P,IAA1B6D,EAAS6L,cAA6B7L,EAAS6L,aACnE7P,KAAKmL,eAAmChL,IAAvB6D,EAASmH,WAA0BnH,EAASmH,UAC7DnL,KAAK4P,wBAAqDzP,IAAhC6D,EAAS4L,oBAAmC5L,EAAS4L,mBAC/E5P,KAAKyL,YAAczH,EAASyH,aAAe,EAC3CzL,KAAKgQ,YAAchM,EAASgM,aAAe,IAC3ChQ,KAAKuV,aAAevR,EAASuR,cAAgB,IAC7CvV,KAAKsK,eAAiBtG,EAASsG,gBAAkB,GACjDtK,KAAKwK,iBAAmBxG,EAASwG,kBAAoB,mB,EAI7D,MAAMgL,EACF1V,YAAY2V,GACR,IAAI7N,EAwCJ,GAvCA5H,KAAK0V,OAAS,CACVhS,YAAQvD,EACRwD,aAAc,CAACT,EAAKQ,KACgD,IAAzDR,EAAItC,KAAKjB,cAAcgW,QAAQjS,EAAO/D,eAEjD0F,aAASlF,EACTyI,kBAAczI,EACd6I,iBAAa7I,EACbyV,gBAAYzV,EACZ0V,eAAW1V,EACX2V,iBAAa3V,EACb4V,gBAAY5V,GAEhBH,KAAKgW,aAAe5X,GAAS,MACpB4B,KAAKgE,SAASqE,QAAWrI,KAAKgE,SAASoR,aAG5CpV,KAAKiW,OAAO9O,aAAa,IAE7BnH,KAAKkW,aAAe9X,GAAS,MACpB4B,KAAKgE,SAASqE,QAAWrI,KAAKgE,SAASoR,aAG5CpV,KAAKiW,OAAO9O,aAAa,IAE7BnH,KAAKmW,cAAiBxY,IACbqC,KAAKgE,SAASqE,QAGf1K,EAAE2O,SAAW/O,EAAeI,EAAE2O,OAAQtM,KAAKgE,SAAShG,KACpDgC,KAAKkG,MAAMvI,EAAE4D,KAAK,EAG1BvB,KAAKoW,uBAAyB,KACtBlY,SAASmY,QACTrW,KAAKkG,OAAO,EAGpBlG,KAAKsW,SAAqC,iBAAlBb,EAAOpD,OAAsBnU,SAASoJ,cAAcmO,EAAOpD,QAAUoD,EAAOpD,QAC/FrS,KAAKsW,SAIN,YAHIb,EAAOC,QAAUD,EAAOC,OAAOvP,OAC/BsP,EAAOC,OAAOvP,MAAM,IAAI7J,MAAM,mCAItC,GAA8B,WAA1B0D,KAAKsW,SAASC,QAId,YAHId,EAAOC,QAAUD,EAAOC,OAAOvP,OAC/BsP,EAAOC,OAAOvP,MAAM,IAAI7J,MAAM,iCAIlC0D,KAAKsW,SAASvY,QAAQyY,MACtBxW,KAAKkQ,UAETlQ,KAAKgE,SAAW,IAAImR,EAASM,EAAOzR,UACpC,MAAMyS,EAAiB,CAAC,cAAe,aAAc,YAAa,cAAe,cACjF,IAAK,MAAMxO,KAAOwN,EAAOC,OAChBD,EAAOC,OAAOgB,eAAezO,MAGE,IAAhCwO,EAAed,QAAQ1N,GACvBjI,KAAK0V,OAAOzN,GAAO7J,EAASqX,EAAOC,OAAOzN,GAAM,KAGhDjI,KAAK0V,OAAOzN,GAAOwN,EAAOC,OAAOzN,IAGzCjI,KAAKgE,SAAShD,UAAuC,QAA1B4G,EAAK6N,EAAOzR,gBAA6B,IAAP4D,OAAgB,EAASA,EAAG5G,UAAYyU,EAAOzR,SAAShD,SAAWhB,KAAKsW,SAAStV,SAC9IhB,KAAKgE,SAASuE,WAAavI,KAAKsW,SAASK,SACzC3W,KAAKgE,SAAS5C,MAAQpB,KAAKsW,SAASlV,MAAMqG,QAC1CzH,KAAKgE,SAAS7C,MAAQnB,KAAKsW,SAAS7Y,UAAU+R,MAAM,KACpDxP,KAAKqS,OAAS,IAAID,EAAOpS,KAAKsW,UAC9BtW,KAAKqS,OAAOmC,aAAaxU,KAAKgE,SAAShG,GAAIgC,KAAKgE,SAAS5C,MAAOpB,KAAKgE,SAAS7C,OAC9EnB,KAAKqS,OAAOS,SACZ9S,KAAKqS,OAAOiB,cAAiBjP,IACzBrE,KAAK6I,YAAYxE,EAAO,EAE5BrE,KAAKqS,OAAO0B,cAAiB5P,IACzBnE,KAAKgE,SAAS7C,MAAQgD,EACtBnE,KAAKiW,OAAO1P,mBAAmB,EAEnCvG,KAAKqS,OAAO2B,iBAAoBhT,IACxBA,EACAhB,KAAK8G,UAGL9G,KAAK2G,QAAQ,EAGrB3G,KAAKqS,OAAO4B,gBAAmB5S,IAC3BrB,KAAKyB,QAAQJ,EAAK,EAEtBrB,KAAKiE,MAAQ,IAAI3C,EAAMtB,KAAKgE,SAASuE,WAAa,WAAa,SAAUkN,EAAOpU,KAAOoU,EAAOpU,KAAOrB,KAAKqS,OAAO/P,WAC7GmT,EAAOpU,MACPrB,KAAKqS,OAAOoC,cAAczU,KAAKiE,MAAM3B,WAEzC,MAAMsU,EAAkB,CACpB3Q,KAAMjG,KAAKiG,KAAKwM,KAAKzS,MACrBkG,MAAOlG,KAAKkG,MAAMuM,KAAKzS,MACvBqF,QAASrF,KAAK0V,OAAOrQ,QAAUrF,KAAK0V,OAAOrQ,aAAUlF,EACrD0I,YAAa7I,KAAK6I,YAAY4J,KAAKzS,MACnCyC,UAAWzC,KAAKyC,UAAUgQ,KAAKzS,MAC/B0D,OAAQ1D,KAAK0D,OAAO+O,KAAKzS,MACzB4I,aAAc5I,KAAK0V,OAAO9M,aAC1BI,YAAahJ,KAAK0V,OAAO1M,aAE7BhJ,KAAKiW,OAAS,IAAIlS,EAAO/D,KAAKgE,SAAUhE,KAAKiE,MAAO2S,GACpD5W,KAAKiW,OAAOpM,eACZ7J,KAAKiW,OAAO7H,cAAcpO,KAAKiE,MAAM3B,WACrC,MAAMuU,EAAkB7W,KAAKsW,SAAS1L,aAAa,cAC7CkM,EAAuB9W,KAAKsW,SAAS1L,aAAa,mBACpDiM,EACA7W,KAAKiW,OAAO7R,KAAKA,KAAK6C,aAAa,aAAc4P,GAE5CC,GACL9W,KAAKiW,OAAO7R,KAAKA,KAAK6C,aAAa,kBAAmB6P,GAEtD9W,KAAKsW,SAASnY,YACd6B,KAAKsW,SAASnY,WAAWkN,aAAarL,KAAKiW,OAAO7R,KAAKA,KAAMpE,KAAKsW,SAASS,aAE/E7F,OAAOrC,iBAAiB,SAAU7O,KAAKgW,cAAc,GAClB,SAA/BhW,KAAKgE,SAASkD,cACdgK,OAAOrC,iBAAiB,SAAU7O,KAAKkW,cAAc,GAEzDhY,SAAS2Q,iBAAiB,mBAAoB7O,KAAKoW,wBAC/CpW,KAAKgE,SAAShD,UACdhB,KAAK8G,UAEL9G,KAAKgE,SAASoF,YACdpJ,KAAKiG,OAETjG,KAAKsW,SAASU,KAAOhX,I,CAEzB2G,SACI3G,KAAKgE,SAAShD,UAAW,EACzBhB,KAAKqS,OAAO1L,SACZ3G,KAAKiW,OAAOtP,Q,CAEhBG,UACI9G,KAAKgE,SAAShD,UAAW,EACzBhB,KAAKqS,OAAOvL,UACZ9G,KAAKiW,OAAOnP,S,CAEhBxE,UACI,OAAOtC,KAAKiE,MAAM3B,S,CAEtBb,QAAQJ,GACJ,MAAMP,EAAWd,KAAKiE,MAAM5B,cACtB4U,EAAMjX,KAAKiE,MAAMvC,kBAAkBL,GACzC,GAAI4V,EAIA,YAHIjX,KAAK0V,OAAOvP,OACZnG,KAAK0V,OAAOvP,MAAM8Q,IAI1BjX,KAAKiE,MAAMxC,QAAQJ,GACnB,MAAM6V,EAAYlX,KAAKiE,MAAM3B,UAC7BtC,KAAKqS,OAAOoC,cAAcyC,GAC1BlX,KAAKiW,OAAOpM,eACZ7J,KAAKiW,OAAO7H,cAAc8I,GACtBlX,KAAK0V,OAAO1M,cAAgB/J,EAAQ6B,EAAUd,KAAKiE,MAAM5B,gBACzDrC,KAAK0V,OAAO1M,YAAYhJ,KAAKiE,MAAMhB,qB,CAG3CZ,cACI,OAAOrC,KAAKiE,MAAM5B,a,CAEtBwG,YAAYlI,EAAOwW,GAAiB,GAChC,MAAMrW,EAAWd,KAAKiE,MAAM5B,cAC5BrC,KAAKiE,MAAM7B,cAAc,QAAST,MAAMC,QAAQjB,GAASA,EAAQ,CAACA,IAClE,MAAMU,EAAOrB,KAAKiE,MAAM3B,UACxBtC,KAAKqS,OAAOoC,cAAcpT,GAC1BrB,KAAKiW,OAAOpM,eACmC,KAA3C7J,KAAKiW,OAAOjR,QAAQtB,OAAOmD,MAAMlG,MACjCX,KAAK0D,OAAO1D,KAAKiW,OAAOjR,QAAQtB,OAAOmD,MAAMlG,OAG7CX,KAAKiW,OAAO7H,cAAc/M,GAE1B8V,GAAkBnX,KAAK0V,OAAO1M,cAAgB/J,EAAQ6B,EAAUd,KAAKiE,MAAM5B,gBAC3ErC,KAAK0V,OAAO1M,YAAYhJ,KAAKiE,MAAMhB,qB,CAG3CR,UAAU/B,GACN,MAAMI,EAAWd,KAAKiE,MAAM5B,cACvBrC,KAAKiE,MAAMzB,iBAAiB6M,MAAM9O,IAAQ,IAAIqH,EAAI,OAAOrH,EAAEI,SAAmC,QAAvBiH,EAAKlH,EAAOC,aAA0B,IAAPiH,EAAgBA,EAAKlH,EAAOE,KAAI,KACvIZ,KAAKiE,MAAMxB,UAAU/B,GAEzB,MAAMW,EAAOrB,KAAKiE,MAAM3B,UACxBtC,KAAKqS,OAAOoC,cAAcpT,GAC1BrB,KAAKiW,OAAOpM,eACZ7J,KAAKiW,OAAO7H,cAAc/M,GACtBrB,KAAK0V,OAAO1M,cAAgB/J,EAAQ6B,EAAUd,KAAKiE,MAAM5B,gBACzDrC,KAAK0V,OAAO1M,YAAYhJ,KAAKiE,MAAMhB,qB,CAG3CgD,OACQjG,KAAKgE,SAAShD,UAAYhB,KAAKgE,SAASqE,SAGxCrI,KAAK0V,OAAOE,YACZ5V,KAAK0V,OAAOE,aAEhB5V,KAAKiW,OAAOhQ,OACRjG,KAAKgE,SAASkI,YACdlM,KAAKiW,OAAOhJ,cAEhBjN,KAAKgE,SAASqE,QAAS,EACvBrJ,YAAW,KACHgB,KAAK0V,OAAOG,WACZ7V,KAAK0V,OAAOG,YAEZ7V,KAAKgE,SAASqE,SACdrI,KAAKgE,SAASoR,YAAa,GAE/BlX,SAAS2Q,iBAAiB,QAAS7O,KAAKmW,cAAc,GACvDnW,KAAKgE,SAASuR,cACqB,aAAlCvV,KAAKgE,SAAS0D,kBACV1H,KAAKgE,SAASqR,cACd+B,cAAcpX,KAAKgE,SAASqR,cAEhCrV,KAAKgE,SAASqR,aAAegC,YAAYrX,KAAKiW,OAAO9O,YAAYsL,KAAKzS,KAAKiW,QAAS,M,CAG5F/P,MAAMqD,EAAY,MACTvJ,KAAKgE,SAASqE,SAAUrI,KAAKgE,SAASoF,aAGvCpJ,KAAK0V,OAAOI,aACZ9V,KAAK0V,OAAOI,cAEhB9V,KAAKiW,OAAO/P,QACmC,KAA3ClG,KAAKiW,OAAOjR,QAAQtB,OAAOmD,MAAMlG,OACjCX,KAAK0D,OAAO,IAEhB1D,KAAKiW,OAAO3M,UAAUC,GACtBvJ,KAAKgE,SAASqE,QAAS,EACvBrI,KAAKgE,SAASoR,YAAa,EAC3BpW,YAAW,KACHgB,KAAK0V,OAAOK,YACZ/V,KAAK0V,OAAOK,aAEhB7X,SAASgX,oBAAoB,QAASlV,KAAKmW,cAAc,GAC1DnW,KAAKgE,SAASuR,cACbvV,KAAKgE,SAASqR,cACd+B,cAAcpX,KAAKgE,SAASqR,c,CAGpC3R,OAAO/C,GAIH,GAHIX,KAAKiW,OAAOjR,QAAQtB,OAAOmD,MAAMlG,QAAUA,IAC3CX,KAAKiW,OAAOjR,QAAQtB,OAAOmD,MAAMlG,MAAQA,IAExCX,KAAK0V,OAAOhS,OAEb,YADA1D,KAAKiW,OAAO7H,cAAwB,KAAVzN,EAAeX,KAAKiE,MAAM3B,UAAYtC,KAAKiE,MAAMP,OAAO/C,EAAOX,KAAK0V,OAAO/R,eAGzG3D,KAAKiW,OAAOhI,kBACZ,MAAMqJ,EAAatX,KAAK0V,OAAOhS,OAAO/C,EAAOX,KAAKiE,MAAMhB,sBACpDqU,aAAsBvK,QACtBuK,EACKtK,MAAM3L,IACPrB,KAAKiW,OAAO7H,cAAcpO,KAAKiE,MAAMlC,kBAAkBV,GAAM,IAE5DkW,OAAON,IACRjX,KAAKiW,OAAOlI,YAA2B,iBAARkJ,EAAmBA,EAAMA,EAAIO,QAAQ,IAInE7V,MAAMC,QAAQ0V,GACnBtX,KAAKiW,OAAO7H,cAAcpO,KAAKiE,MAAMlC,kBAAkBuV,IAGvDtX,KAAKiW,OAAOlI,YAAY,yD,CAGhCmC,UACIhS,SAASgX,oBAAoB,QAASlV,KAAKmW,eAC3CjF,OAAOgE,oBAAoB,SAAUlV,KAAKgW,cAAc,GACrB,SAA/BhW,KAAKgE,SAASkD,cACdgK,OAAOgE,oBAAoB,SAAUlV,KAAKkW,cAAc,GAE5DhY,SAASgX,oBAAoB,mBAAoBlV,KAAKoW,wBACtDpW,KAAKiE,MAAMxC,QAAQ,IACnBzB,KAAKiW,OAAO/F,UACZlQ,KAAKqS,OAAOnC,S,EAIpB,OAAOsF,C,CAx0DyEiC,G,ICQzEC,EAAMD,E,KAANC,OAUU,IAAXC,EAAyBA,EAA2B,oBAAXzG,OAAyBA,OAAS0G,EAVpEH,EAU0E,SAAUvG,GAKnG,QAAsB,IAAXA,QAAqD,IAApBA,EAAOhT,SACjD,OAAO,EAKT,IAYI2Z,EANAC,EACO,UADPA,EAEO,UAFPA,EAGO,UAHPA,EAII,OAGJC,EAAiB,CACnBC,OAAQ,qBACRC,UAAW,wBACX3G,MAAO,QACP4G,SAAU,YACVC,SAAU,OACVC,QAAS,EACTC,aAAc,MACdC,KAAK,EACL9Z,QAAS,IACT+Z,iBAAkB,IAClBC,aAAa,EACbC,iBAAkB,kBAClBC,WAAW,EACXC,oBAAoB,EACpBC,cAAc,EACdC,cAAc,EAEdC,GAAI,iBACJrb,UAAW,kBACXsb,OAAQ,KACRC,WAAY,YACZC,SAAU,OACVC,cAAc,EACdC,qBAAsB,IACtBC,kBAAmB,OACnBC,aAAa,EACbC,SAAS,EACTC,gBAAgB,EAChBC,qBAAsB,QACtBC,oBAAqB,OAErBC,QAAS,CACPC,WAAY,UACZC,UAAW,OACXC,eAAgB,0BAChBC,kBAAmB,kBACnBC,qBAAsB,sBACtBC,qBAAsB,kBACtBvB,iBAAkB,wBAGpBwB,QAAS,CACPN,WAAY,UACZC,UAAW,OACXC,eAAgB,0BAChBC,kBAAmB,kBACnBC,qBAAsB,sBACtBC,qBAAsB,kBACtBvB,iBAAkB,uBAGpByB,QAAS,CACPP,WAAY,UACZC,UAAW,OACXC,eAAgB,0BAChBC,kBAAmB,kBACnBC,qBAAsB,4BACtBC,qBAAsB,kBACtBvB,iBAAkB,wBAGpB3D,KAAM,CACJ6E,WAAY,UACZC,UAAW,OACXC,eAAgB,uBAChBC,kBAAmB,kBACnBC,qBAAsB,qBACtBC,qBAAsB,kBACtBvB,iBAAkB,yBAMlB0B,EAAqB,SAAU3C,GACjC,OAAO4C,QAAQjU,MAAM,qBAAuC,+DAAgE,KAAOqR,EAxF3G,uF,EA6FtB6C,EAAwB,SAAU7c,GAEpC,OADKA,IAAWA,EAAU,QACO,OAA7B0T,EAAOhT,SAASV,KAClB2c,EAAmB,4CAA8C3c,EAAU,8CAAgDA,EAAU,iCAC9H,E,EAsBP8c,EAAsB,WAExB,IAAIC,EAAW,GACXC,GAAO,EACP9P,EAAI,EAE6C,qBAAjDsK,OAAOyF,UAAUpd,SAASqd,KAAKC,UAAU,MAC3CH,EAAOG,UAAU,GACjBjQ,KAgBF,IAbA,IAAIkQ,EAAQ,SAAUC,GACpB,IAAK,IAAIC,KAAQD,EACX7F,OAAOyF,UAAU/D,eAAegE,KAAKG,EAAKC,KAExCN,GAAsD,oBAA9CxF,OAAOyF,UAAUpd,SAASqd,KAAKG,EAAIC,IAC7CP,EAASO,GAAQR,EAAoBC,EAASO,GAAOD,EAAIC,IAEzDP,EAASO,GAAQD,EAAIC,G,EAMtBpQ,EAAIiQ,UAAUxY,OAAQuI,IAC3BkQ,EAAMD,UAAUjQ,IAElB,OAAO6P,C,EAaLQ,EAA4B,WAE9B,MADgB,snS,EAMdC,EAAsB,EACtBC,EAAe,SAAUC,EAAY1D,EAAS2D,EAAmB7a,GAEnE,IAAK+Z,EAAsB,QAAW,OAAO,EAGxCxC,GACHuD,EAASC,OAAOC,KAAK,IAIvB,IAAIC,EAA0BjB,GAAoB,EAAMzC,EAAmB,IAG3E,GAAkC,iBAAtBsD,IAAmCxZ,MAAMC,QAAQuZ,IAA2C,iBAAZ7a,IAAyBqB,MAAMC,QAAQtB,GAAW,CAE5I,IAAIkb,EAAa,GACgB,iBAAtBL,EACTK,EAAaL,EACe,iBAAZ7a,IAChBkb,EAAalb,GAIfuX,EAAoByC,GAAoB,EAAMzC,EAAmB2D,E,CAKnE,IA5CiC3a,EAC7B4a,EA2CAC,EAAU7D,EAAkBqD,EAAWS,kBAAkB,OAG7DX,IAGuB,iBAAZxD,IACTA,EAAU,YAAc0D,GAKtBrD,EAAkBa,YAxDW7X,EAyDF2W,GAxD3BiE,EAAWvK,EAAOhT,SAAS2J,cAAc,QACpC+B,UAAY/I,EAuDnB2W,EAtDKiE,EAASlR,aAAekR,EAASvR,WAAa,KA2DhD2N,EAAkBa,WAAalB,EAAQrV,OAAS0V,EAAkBU,mBAErEV,EAAoByC,GAAoB,EAAMzC,EAAmB,CAAEwB,aAAa,EAAMd,iBAAkB,MAExGf,EAAU,+IAKRA,EAAQrV,OAAS0V,EAAkBU,mBACrCf,EAAUA,EAAQla,UAAU,EAAGua,EAAkBU,kBAAoB,OAKxB,WAA3CV,EAAkB2B,uBACpBkC,EAAQ1B,qBAAuB0B,EAAQ/B,YAKpC9B,EAAkBqB,eACrBrB,EAAkBsB,qBAAuB,GAK3C,IAAIyC,EAAkB1K,EAAOhT,SAAS2d,eAAe9D,EAAeC,SAAW9G,EAAOhT,SAAS2J,cAAc,OAyD7G,GAxDA+T,EAAgB5d,GAAK+Z,EAAeC,OACpC4D,EAAgBxa,MAAMkQ,MAAQuG,EAAkBvG,MAChDsK,EAAgBxa,MAAM0a,OAASjE,EAAkBkB,OACjD6C,EAAgBxa,MAAMgX,QAAUP,EAAkBO,QAGf,kBAA/BP,EAAkBK,UACpB0D,EAAgBxa,MAAMgQ,KAAOyG,EAAkBM,SAC/CyD,EAAgBxa,MAAM4P,IAAM6G,EAAkBM,SAC9CyD,EAAgBxa,MAAM2a,MAAQlE,EAAkBM,SAChDyD,EAAgBxa,MAAM4a,OAASnE,EAAkBM,SACjDyD,EAAgBxa,MAAM2P,OAAS,OAC/B6K,EAAgB/d,UAAUkJ,IAAI,yBAC9B6U,EAAgBxa,MAAM6a,UAAY,iBAAmBpE,EAAkBM,SAAW,OAASN,EAAkBM,SAAW,IACxHyD,EAAgBxa,MAAML,QAAU,OAChC6a,EAAgBxa,MAAM8a,SAAW,OACjCN,EAAgBxa,MAAM+a,cAAgB,SACtCP,EAAgBxa,MAAMgb,eAAiB,SACvCR,EAAgBxa,MAAMib,WAAa,SACnCT,EAAgBxa,MAAMkb,cAAgB,QACE,eAA/BzE,EAAkBK,UAC3B0D,EAAgBxa,MAAMgQ,KAAOyG,EAAkBM,SAC/CyD,EAAgBxa,MAAM2a,MAAQlE,EAAkBM,SAChDyD,EAAgBxa,MAAM4P,IAAM6G,EAAkBM,SAC9CyD,EAAgBxa,MAAM4a,OAAS,OAC/BJ,EAAgBxa,MAAM2P,OAAS,QACS,kBAA/B8G,EAAkBK,UAC3B0D,EAAgBxa,MAAMgQ,KAAOyG,EAAkBM,SAC/CyD,EAAgBxa,MAAM2a,MAAQlE,EAAkBM,SAChDyD,EAAgBxa,MAAM4a,OAASnE,EAAkBM,SACjDyD,EAAgBxa,MAAM4P,IAAM,OAC5B4K,EAAgBxa,MAAM2P,OAAS,QACS,iBAA/B8G,EAAkBK,UAC3B0D,EAAgBxa,MAAM2a,MAAQlE,EAAkBM,SAChDyD,EAAgBxa,MAAM4a,OAASnE,EAAkBM,SACjDyD,EAAgBxa,MAAM4P,IAAM,OAC5B4K,EAAgBxa,MAAMgQ,KAAO,QACW,aAA/ByG,EAAkBK,UAC3B0D,EAAgBxa,MAAMgQ,KAAOyG,EAAkBM,SAC/CyD,EAAgBxa,MAAM4P,IAAM6G,EAAkBM,SAC9CyD,EAAgBxa,MAAM2a,MAAQ,OAC9BH,EAAgBxa,MAAM4a,OAAS,QACS,gBAA/BnE,EAAkBK,UAC3B0D,EAAgBxa,MAAMgQ,KAAOyG,EAAkBM,SAC/CyD,EAAgBxa,MAAM4a,OAASnE,EAAkBM,SACjDyD,EAAgBxa,MAAM4P,IAAM,OAC5B4K,EAAgBxa,MAAM2a,MAAQ,SAE9BH,EAAgBxa,MAAM2a,MAAQlE,EAAkBM,SAChDyD,EAAgBxa,MAAM4P,IAAM6G,EAAkBM,SAC9CyD,EAAgBxa,MAAMgQ,KAAO,OAC7BwK,EAAgBxa,MAAM4a,OAAS,QAK7BnE,EAAkBW,YAAa,CACjC,IAAI+D,EAAqBrL,EAAOhT,SAAS2d,eAAe9D,EAAeE,YAAc/G,EAAOhT,SAAS2J,cAAc,OACnH0U,EAAmBve,GAAK+Z,EAAeE,UACvCsE,EAAmBnb,MAAMkQ,MAAQ,OACjCiL,EAAmBnb,MAAM6P,OAAS,OAClCsL,EAAmBnb,MAAM8W,SAAW,QACpCqE,EAAmBnb,MAAM0a,OAASjE,EAAkBkB,OAAS,EAC7DwD,EAAmBnb,MAAMgQ,KAAO,EAChCmL,EAAmBnb,MAAM4P,IAAM,EAC/BuL,EAAmBnb,MAAM2a,MAAQ,EACjCQ,EAAmBnb,MAAM4a,OAAS,EAClCO,EAAmBnb,MAAMuY,WAAa+B,EAAQjD,kBAAoBZ,EAAkBY,iBACpF8D,EAAmB9e,UAAYoa,EAAkBqB,aAAe,oBAAsB,GACtFqD,EAAmBnb,MAAMob,kBAAoB3E,EAAkBqB,aAAerB,EAAkBsB,qBAAuB,KAAO,GAEzHjI,EAAOhT,SAAS2d,eAAe9D,EAAeE,YACjD/G,EAAOhT,SAASoX,KAAK5O,YAAY6V,E,CAKhCrL,EAAOhT,SAAS2d,eAAe9D,EAAeC,SACjD9G,EAAOhT,SAASoX,KAAK5O,YAAYkV,GAKnC,IAAIa,EAAcvL,EAAOhT,SAAS2J,cAAc,OAChD4U,EAAYze,GAAK6Z,EAAkBiB,GAAK,IAAMkC,EAC9CyB,EAAYhf,UAAYoa,EAAkBpa,UAAY,IAAMie,EAAQ7B,eAAiB,KAAOhC,EAAkBqB,aAAe,oBAAsB,IAAM,KAAOrB,EAAkByB,QAAU,eAAiB,IAAM,OAASzB,EAAkBuB,kBAAoB,KAAOvB,EAAkBwB,aAA4C,mBAAtB8B,EAAmC,uBAAyB,IAAM,KAAoC,mBAAtBA,EAAmC,mBAAqB,IAAM,KAAOtD,EAAkBe,aAAe,2BAA6B,IACpgB6D,EAAYrb,MAAM6X,SAAWpB,EAAkBoB,SAC/CwD,EAAYrb,MAAMsb,MAAQhB,EAAQ9B,UAClC6C,EAAYrb,MAAMuY,WAAa+B,EAAQ/B,WACvC8C,EAAYrb,MAAMiX,aAAeR,EAAkBQ,aACnDoE,EAAYrb,MAAMkb,cAAgB,MAG9BzE,EAAkBS,MACpBmE,EAAYxV,aAAa,MAAO,OAChCwV,EAAY5e,UAAUkJ,IAAI,cAK5B0V,EAAYrb,MAAM4X,WAAa,IAAMnB,EAAkBmB,WAAxB,6GAI3BnB,EAAkBqB,eACpBuD,EAAYrb,MAAMob,kBAAoB3E,EAAkBsB,qBAAuB,MAKjF,IAAIwD,EAAkB,GAOtB,GANI9E,EAAkBwB,aAA4C,mBAAtB8B,IAC1CwB,EAAkB,mIAAqIjB,EAAQ5B,kBAAoB,oaAKjLjC,EAAkByB,QAEpB,GAAIzB,EAAkB0B,eACpBkD,EAAY7S,UAAY,mBAAqB8R,EAAQ1B,qBAAuB,eAAiBnC,EAAkB4B,oBAAsB,gDAAkDiC,EAAQ3B,qBAAuB,KAAkD,WAA3ClC,EAAkB2B,qBAAoC,4BAA8B,4BAA8B,+CAAiDhC,EAAU,WAAaK,EAAkBwB,YAAcsD,EAAkB,QAGtc,CACH,IAAIC,EAAU,GACV1B,IAAepD,EACjB8E,EAAU,6HAA+HlB,EAAQ5B,kBAAoB,ogBAC5JoB,IAAepD,EACxB8E,EAAU,6HAA+HlB,EAAQ5B,kBAAoB,2pBAC5JoB,IAAepD,EACxB8E,EAAU,6HAA+HlB,EAAQ5B,kBAAoB,kkBAC5JoB,IAAepD,IACxB8E,EAAU,6HAA+HlB,EAAQ5B,kBAAoB,2iBAEvK2C,EAAY7S,UAAYgT,EAAU,yCAA2CpF,EAAU,WAAaK,EAAkBwB,YAAcsD,EAAkB,G,MAKxJF,EAAY7S,UAAY,4BAA8B4N,EAAU,WAAaK,EAAkBwB,YAAcsD,EAAkB,IAMjI,GAAmC,gBAA/B9E,EAAkBK,UAA6D,iBAA/BL,EAAkBK,SAA6B,CACjG,IAAI2E,EAAa3L,EAAOhT,SAAS2d,eAAe9D,EAAeC,QAC/D6E,EAAWxR,aAAaoR,EAAaI,EAAWC,W,MAEhD5L,EAAOhT,SAAS2d,eAAe9D,EAAeC,QAAQtR,YAAY+V,GAKpE,IAAIM,EAAoB7L,EAAOhT,SAAS2d,eAAeY,EAAYze,IACnE,GAAI+e,EAAmB,CAErB,IAAIC,EACAC,EAGAC,EAA+B,WACjCH,EAAkBlf,UAAUkJ,IAAI,aAChC,IAAIoW,EAAgBjM,EAAOhT,SAAS2d,eAAe9D,EAAeE,WAC9DkF,GAAiBvB,EAAgBwB,mBAAqB,GACxDD,EAActf,UAAUkJ,IAAI,aAE9BhI,aAAaie,E,EAKXK,EAAgC,WAIlC,GAHIN,GAAsD,OAAjCA,EAAkB5e,YACzC4e,EAAkB5e,WAAW4M,YAAYgS,GAEvCnB,EAAgBwB,mBAAqB,GAAoC,OAA/BxB,EAAgBzd,WAAqB,CACjFyd,EAAgBzd,WAAW4M,YAAY6Q,GACvC,IAAIuB,EAAgBjM,EAAOhT,SAAS2d,eAAe9D,EAAeE,WAC9DkF,GAA8C,OAA7BA,EAAchf,YACjCgf,EAAchf,WAAW4M,YAAYoS,E,CAGzCpe,aAAake,E,EAiCf,GA5BIpF,EAAkBwB,aAA4C,mBAAtB8B,GACrBjK,EAAOhT,SAAS2d,eAAeY,EAAYze,IAAIsJ,cAAc,wBACnEuH,iBAAiB,SAAS,WACvCqO,IACA,IAAII,EAAsBte,YAAW,WACnCqe,IACAte,aAAaue,E,GACZzF,EAAkBsB,qB,KAMQ,mBAAtBgC,GAAoCtD,EAAkBe,eAC/DmE,EAAkBlO,iBAAiB,SAAS,WACT,mBAAtBsM,GACTA,IAEF+B,IACA,IAAIK,EAAkBve,YAAW,WAC/Bqe,IACAte,aAAawe,E,GACZ1F,EAAkBsB,qB,KAMpBtB,EAAkBwB,aAA4C,mBAAtB8B,EAAkC,CAE7E,IAAIqC,EAAa,WACfR,EAAche,YAAW,WACvBke,G,GACCrF,EAAkBrZ,SACrBye,EAAgBje,YAAW,WACzBqe,G,GACCxF,EAAkBrZ,QAAUqZ,EAAkBsB,qB,EAEnDqE,IAII3F,EAAkBgB,eACpBkE,EAAkBlO,iBAAiB,cAAc,WAC/CkO,EAAkBlf,UAAUkJ,IAAI,aAChChI,aAAaie,GACbje,aAAake,E,IAEfF,EAAkBlO,iBAAiB,cAAc,WAC/CkO,EAAkBlf,UAAU+I,OAAO,aACnC4W,G,MAUR,GAAI3F,EAAkBc,oBAAsBqC,EAAsB,EAEhE,IADA,IAAIyC,EAA4BvM,EAAOhT,SAASsP,iBAAiB,QAAUqK,EAAkBiB,GAAK,cAAgBjB,EAAkBiB,GAAK,IAAMkC,EAAsB,MAC5JtQ,EAAI,EAAGA,EAAI+S,EAA0Btb,OAAQuI,IAAK,CACzD,IAAIgT,EAA0BD,EAA0B/S,GACb,OAAvCgT,EAAwBvf,YAC1Buf,EAAwBvf,WAAW4M,YAAY2S,E,CAOrD7F,EAAoByC,GAAoB,EAAMzC,EAAmB0D,E,EAK/DH,EAAW,CACbC,OAAQ,CAENC,KAAM,SAAUqC,GAEd9F,EAAoByC,GAAoB,EAAMvC,EAAgB4F,GAvZpC,SAAUC,EAAqBC,GAE7D,IAAKxD,EAAsB,QAAW,OAAO,EAG7C,GAA8B,OAA1BuD,MAAmC1M,EAAOhT,SAAS2d,eAAegC,GAAiB,CACrF,IAAIC,EAAc5M,EAAOhT,SAAS2J,cAAc,SAChDiW,EAAY9f,GAAK6f,EACjBC,EAAYlU,UAAYgU,IACxB1M,EAAOhT,SAAS6f,KAAKrX,YAAYoX,E,EAgZ/BE,CAA0BjD,EAA2B,4B,EAGvDH,MAAO,SAAUqD,GAEf,IAAIpG,EAMF,OADAsC,EAAmB,yEACZ,EALPtC,EAAoByC,GAAoB,EAAMzC,EAAmBoG,E,EASrEvE,QAAS,SAAUlC,EAAS2D,EAAmB7a,GAC7C2a,EAAanD,EAAqBN,EAAS2D,EAAmB7a,E,EAGhE2Z,QAAS,SAAUzC,EAAS2D,EAAmB7a,GAC7C2a,EAAanD,EAAqBN,EAAS2D,EAAmB7a,E,EAGhE4Z,QAAS,SAAU1C,EAAS2D,EAAmB7a,GAC7C2a,EAAanD,EAAqBN,EAAS2D,EAAmB7a,E,EAGhEwU,KAAM,SAAU0C,EAAS2D,EAAmB7a,GAC1C2a,EAAanD,EAAkBN,EAAS2D,EAAmB7a,E,IAKjE,MAA+B,iBAApB4Q,EAAOkK,SACTd,GAAoB,EAAMpJ,EAAOkK,SAAU,CAAEC,OAAQD,EAASC,SAE9D,CAAEA,OAAQD,EAASC,O,EA1jBN,mBAAX6C,QAAyBA,OAAOC,IACzCD,OAAO,IAAI,WACT,OAAOzG,EAAQC,E,IAEgD,iBAAnBE,EAC9CA,EAAiBH,EAAQC,GAEzBA,EAAK0D,SAAW3D,EAAQC,GCV5B,MAAM0G,EAAclgB,SAASoJ,cAAc,iBACrC+W,EAAUngB,SAASoJ,cAAc,aACjCgX,EAASpgB,SAASoJ,cAAc,WACxBpJ,SAASoJ,cAAc,UAE/BzJ,UAAUkJ,IAAI,aAEpB,IAAIwX,EAAe,IJXnBxiB,iBACI,MACMI,QAAaC,MADP,qHAEZ,IAAKD,EAAKE,GACN,MAAM,IAAIC,MAAMH,EAAKqiB,YAEzB,aAAariB,EAAKK,M,EIOtB,GACKwQ,MAAK3L,IACFA,EAAKY,SAAQwc,IACTF,EAAa/d,KAAK,CAAEI,KAAM6d,EAAM5hB,KAAM8D,MAAO8d,EAAMzgB,IAAK,IAE5D,IAAI0gB,EAAAzhB,GAAJ,CAAe,CACXoV,OAAQ+L,EACR/c,KAAMkd,GACR,IAELhH,OAAMN,GAAOmD,QAAQuE,IAAI1H,KAI9BmH,EAAYvP,iBAAiB,UAE7B,SAAuB+P,GACnB,MAAM3iB,EAAU2iB,EAAM9O,cAAcnP,MACpC0d,EAAQxgB,UAAUkJ,IAAI,aACtBuX,EAAOzgB,UAAU+I,OAAO,aAGxB5K,EAAgBC,GACX+Q,MAAK3L,IACFid,EAAOzgB,UAAUkJ,IAAI,aACrBsX,EAAQxgB,UAAU+I,OAAO,aACzByX,EAAQzU,UAAYnN,EAAa4E,EAAK,GAAG,IAE5CkW,OAAMN,GAAOmD,QAAQuE,IAAI1H,I","sources":["src/cat-api.js","src/createMarkup.js","node_modules/slim-select/dist/slimselect.umd.js","node_modules/notiflix/build/notiflix-notify-aio.js","src/index.js"],"sourcesContent":["const BASE_URL = 'https://api.thecatapi.com/v1';\nconst API_KEY = 'live_ZXvXnN3nLIiVAMYsFosudfyRXWXuiSEi6HJhbZIzZhQtawavdsyjEdVTjhSqCXMm';\n\nasync function fetchBreeds() {\n const URL = `${BASE_URL}/breeds?api_key=${API_KEY}`\n const resp = await fetch(URL);\n if (!resp.ok) {\n throw new Error(resp.statusText);\n }\n return await resp.json(); \n};\n\nasync function fetchCatByBreed(breedId) {\n const URL = `${BASE_URL}/images/search?api_key=${API_KEY}&breed_ids=${breedId}`\n const resp = await fetch(URL);\n if (!resp.ok) {\n throw new Error(resp.status);\n }\n return await resp.json(); \n};\n\n\nexport { fetchBreeds, fetchCatByBreed };","function createMarkup(catData) {\n const { url, breeds } = catData;\n return `\n
\n
\n \n
${breeds[0].name || 'No name'}
\n
${breeds[0].description || 'Not found'}
\n
Temperament: ${breeds[0].temperament}
\n
Link to Wikipedia page\n
`;\n};\n\nexport { createMarkup };","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.SlimSelect = factory());\n})(this, (function () { 'use strict';\n\n function generateID() {\n return Math.random().toString(36).substring(2, 10);\n }\n function hasClassInTree(element, className) {\n function hasClass(e, c) {\n if (c && e && e.classList && e.classList.contains(c)) {\n return e;\n }\n if (c && e && e.dataset && e.dataset.id && e.dataset.id === className) {\n return e;\n }\n return null;\n }\n function parentByClass(e, c) {\n if (!e || e === document) {\n return null;\n }\n else if (hasClass(e, c)) {\n return e;\n }\n else {\n return parentByClass(e.parentNode, c);\n }\n }\n return hasClass(element, className) || parentByClass(element, className);\n }\n function debounce(func, wait = 50, immediate = false) {\n let timeout;\n return function (...args) {\n const context = self;\n const later = () => {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n };\n }\n function isEqual(a, b) {\n return JSON.stringify(a) === JSON.stringify(b);\n }\n function kebabCase(str) {\n const result = str.replace(/[A-Z\\u00C0-\\u00D6\\u00D8-\\u00DE]/g, (match) => '-' + match.toLowerCase());\n return str[0] === str[0].toUpperCase() ? result.substring(1) : result;\n }\n\n class Optgroup {\n constructor(optgroup) {\n this.id = !optgroup.id || optgroup.id === '' ? generateID() : optgroup.id;\n this.label = optgroup.label || '';\n this.selectAll = optgroup.selectAll === undefined ? false : optgroup.selectAll;\n this.selectAllText = optgroup.selectAllText || 'Select All';\n this.closable = optgroup.closable || 'off';\n this.options = [];\n if (optgroup.options) {\n for (const o of optgroup.options) {\n this.options.push(new Option(o));\n }\n }\n }\n }\n class Option {\n constructor(option) {\n this.id = !option.id || option.id === '' ? generateID() : option.id;\n this.value = option.value === undefined ? option.text : option.value;\n this.text = option.text || '';\n this.html = option.html || '';\n this.selected = option.selected !== undefined ? option.selected : false;\n this.display = option.display !== undefined ? option.display : true;\n this.disabled = option.disabled !== undefined ? option.disabled : false;\n this.mandatory = option.mandatory !== undefined ? option.mandatory : false;\n this.placeholder = option.placeholder !== undefined ? option.placeholder : false;\n this.class = option.class || '';\n this.style = option.style || '';\n this.data = option.data || {};\n }\n }\n class Store {\n constructor(type, data) {\n this.selectType = 'single';\n this.data = [];\n this.selectType = type;\n this.setData(data);\n }\n validateDataArray(data) {\n if (!Array.isArray(data)) {\n return new Error('Data must be an array');\n }\n for (let dataObj of data) {\n if (dataObj instanceof Optgroup || 'label' in dataObj) {\n if (!('label' in dataObj)) {\n return new Error('Optgroup must have a label');\n }\n if ('options' in dataObj && dataObj.options) {\n for (let option of dataObj.options) {\n return this.validateOption(option);\n }\n }\n }\n else if (dataObj instanceof Option || 'text' in dataObj) {\n return this.validateOption(dataObj);\n }\n else {\n return new Error('Data object must be a valid optgroup or option');\n }\n }\n return null;\n }\n validateOption(option) {\n if (!('text' in option)) {\n return new Error('Option must have a text');\n }\n return null;\n }\n partialToFullData(data) {\n let dataFinal = [];\n data.forEach((dataObj) => {\n if (dataObj instanceof Optgroup || 'label' in dataObj) {\n let optOptions = [];\n if ('options' in dataObj && dataObj.options) {\n dataObj.options.forEach((option) => {\n optOptions.push(new Option(option));\n });\n }\n if (optOptions.length > 0) {\n dataFinal.push(new Optgroup(dataObj));\n }\n }\n if (dataObj instanceof Option || 'text' in dataObj) {\n dataFinal.push(new Option(dataObj));\n }\n });\n return dataFinal;\n }\n setData(data) {\n this.data = this.partialToFullData(data);\n if (this.selectType === 'single') {\n this.setSelectedBy('value', this.getSelected());\n }\n }\n getData() {\n return this.filter(null, true);\n }\n getDataOptions() {\n return this.filter(null, false);\n }\n addOption(option) {\n this.setData(this.getData().concat(new Option(option)));\n }\n setSelectedBy(selectedType, selectedValues) {\n let firstOption = null;\n let hasSelected = false;\n for (let dataObj of this.data) {\n if (dataObj instanceof Optgroup) {\n for (let option of dataObj.options) {\n if (!firstOption) {\n firstOption = option;\n }\n option.selected = hasSelected ? false : selectedValues.includes(option[selectedType]);\n if (option.selected && this.selectType === 'single') {\n hasSelected = true;\n }\n }\n }\n if (dataObj instanceof Option) {\n if (!firstOption) {\n firstOption = dataObj;\n }\n dataObj.selected = hasSelected ? false : selectedValues.includes(dataObj[selectedType]);\n if (dataObj.selected && this.selectType === 'single') {\n hasSelected = true;\n }\n }\n }\n if (this.selectType === 'single' && firstOption && !hasSelected) {\n firstOption.selected = true;\n }\n }\n getSelected() {\n let selectedOptions = this.getSelectedOptions();\n let selectedValues = [];\n selectedOptions.forEach((option) => {\n selectedValues.push(option.value);\n });\n return selectedValues;\n }\n getSelectedOptions() {\n return this.filter((opt) => {\n return opt.selected;\n }, false);\n }\n getSelectedIDs() {\n let selectedOptions = this.getSelectedOptions();\n let selectedIDs = [];\n selectedOptions.forEach((op) => {\n selectedIDs.push(op.id);\n });\n return selectedIDs;\n }\n getOptgroupByID(id) {\n for (let dataObj of this.data) {\n if (dataObj instanceof Optgroup && dataObj.id === id) {\n return dataObj;\n }\n }\n return null;\n }\n getOptionByID(id) {\n let options = this.filter((opt) => {\n return opt.id === id;\n }, false);\n return options.length ? options[0] : null;\n }\n getSelectType() {\n return this.selectType;\n }\n getFirstOption() {\n let option = null;\n for (let dataObj of this.data) {\n if (dataObj instanceof Optgroup) {\n option = dataObj.options[0];\n }\n else if (dataObj instanceof Option) {\n option = dataObj;\n }\n if (option) {\n break;\n }\n }\n return option;\n }\n search(search, searchFilter) {\n search = search.trim();\n if (search === '') {\n return this.getData();\n }\n return this.filter((opt) => {\n return searchFilter(opt, search);\n }, true);\n }\n filter(filter, includeOptgroup) {\n const dataSearch = [];\n this.data.forEach((dataObj) => {\n if (dataObj instanceof Optgroup) {\n let optOptions = [];\n dataObj.options.forEach((option) => {\n if (!filter || filter(option)) {\n if (!includeOptgroup) {\n dataSearch.push(new Option(option));\n }\n else {\n optOptions.push(new Option(option));\n }\n }\n });\n if (optOptions.length > 0) {\n let optgroup = new Optgroup(dataObj);\n optgroup.options = optOptions;\n dataSearch.push(optgroup);\n }\n }\n if (dataObj instanceof Option) {\n if (!filter || filter(dataObj)) {\n dataSearch.push(new Option(dataObj));\n }\n }\n });\n return dataSearch;\n }\n }\n\n class Render {\n constructor(settings, store, callbacks) {\n this.classes = {\n main: 'ss-main',\n placeholder: 'ss-placeholder',\n values: 'ss-values',\n single: 'ss-single',\n max: 'ss-max',\n value: 'ss-value',\n valueText: 'ss-value-text',\n valueDelete: 'ss-value-delete',\n valueOut: 'ss-value-out',\n deselect: 'ss-deselect',\n deselectPath: 'M10,10 L90,90 M10,90 L90,10',\n arrow: 'ss-arrow',\n arrowClose: 'M10,30 L50,70 L90,30',\n arrowOpen: 'M10,70 L50,30 L90,70',\n content: 'ss-content',\n openAbove: 'ss-open-above',\n openBelow: 'ss-open-below',\n search: 'ss-search',\n searchHighlighter: 'ss-search-highlight',\n searching: 'ss-searching',\n addable: 'ss-addable',\n addablePath: 'M50,10 L50,90 M10,50 L90,50',\n list: 'ss-list',\n optgroup: 'ss-optgroup',\n optgroupLabel: 'ss-optgroup-label',\n optgroupLabelText: 'ss-optgroup-label-text',\n optgroupActions: 'ss-optgroup-actions',\n optgroupSelectAll: 'ss-selectall',\n optgroupSelectAllBox: 'M60,10 L10,10 L10,90 L90,90 L90,50',\n optgroupSelectAllCheck: 'M30,45 L50,70 L90,10',\n optgroupClosable: 'ss-closable',\n option: 'ss-option',\n optionDelete: 'M10,10 L90,90 M10,90 L90,10',\n highlighted: 'ss-highlighted',\n open: 'ss-open',\n close: 'ss-close',\n selected: 'ss-selected',\n error: 'ss-error',\n disabled: 'ss-disabled',\n hide: 'ss-hide',\n };\n this.store = store;\n this.settings = settings;\n this.callbacks = callbacks;\n this.main = this.mainDiv();\n this.content = this.contentDiv();\n this.updateClassStyles();\n this.updateAriaAttributes();\n this.settings.contentLocation.appendChild(this.content.main);\n }\n enable() {\n this.main.main.classList.remove(this.classes.disabled);\n this.content.search.input.disabled = false;\n }\n disable() {\n this.main.main.classList.add(this.classes.disabled);\n this.content.search.input.disabled = true;\n }\n open() {\n this.main.arrow.path.setAttribute('d', this.classes.arrowOpen);\n this.main.main.classList.add(this.settings.openPosition === 'up' ? this.classes.openAbove : this.classes.openBelow);\n this.main.main.setAttribute('aria-expanded', 'true');\n this.moveContent();\n const selectedOptions = this.store.getSelectedOptions();\n if (selectedOptions.length) {\n const selectedId = selectedOptions[selectedOptions.length - 1].id;\n const selectedOption = this.content.list.querySelector('[data-id=\"' + selectedId + '\"]');\n if (selectedOption) {\n this.ensureElementInView(this.content.list, selectedOption);\n }\n }\n }\n close() {\n this.main.main.classList.remove(this.classes.openAbove);\n this.main.main.classList.remove(this.classes.openBelow);\n this.main.main.setAttribute('aria-expanded', 'false');\n this.content.main.classList.remove(this.classes.openAbove);\n this.content.main.classList.remove(this.classes.openBelow);\n this.main.arrow.path.setAttribute('d', this.classes.arrowClose);\n }\n updateClassStyles() {\n this.main.main.className = '';\n this.main.main.removeAttribute('style');\n this.content.main.className = '';\n this.content.main.removeAttribute('style');\n this.main.main.classList.add(this.classes.main);\n this.content.main.classList.add(this.classes.content);\n if (this.settings.style !== '') {\n this.main.main.style.cssText = this.settings.style;\n this.content.main.style.cssText = this.settings.style;\n }\n if (this.settings.class.length) {\n for (const c of this.settings.class) {\n if (c.trim() !== '') {\n this.main.main.classList.add(c.trim());\n this.content.main.classList.add(c.trim());\n }\n }\n }\n if (this.settings.contentPosition === 'relative') {\n this.content.main.classList.add('ss-' + this.settings.contentPosition);\n }\n }\n updateAriaAttributes() {\n this.main.main.role = 'combobox';\n this.main.main.setAttribute('aria-haspopup', 'listbox');\n this.main.main.setAttribute('aria-controls', this.content.main.id);\n this.main.main.setAttribute('aria-expanded', 'false');\n this.content.main.setAttribute('role', 'listbox');\n }\n mainDiv() {\n var _a;\n const main = document.createElement('div');\n main.dataset.id = this.settings.id;\n main.setAttribute('aria-label', this.settings.ariaLabel);\n main.tabIndex = 0;\n main.onkeydown = (e) => {\n switch (e.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n this.callbacks.open();\n e.key === 'ArrowDown' ? this.highlight('down') : this.highlight('up');\n return false;\n case 'Tab':\n this.callbacks.close();\n return true;\n case 'Enter':\n case ' ':\n this.callbacks.open();\n const highlighted = this.content.list.querySelector('.' + this.classes.highlighted);\n if (highlighted) {\n highlighted.click();\n }\n return false;\n case 'Escape':\n this.callbacks.close();\n return false;\n }\n return false;\n };\n main.onclick = (e) => {\n if (this.settings.disabled) {\n return;\n }\n this.settings.isOpen ? this.callbacks.close() : this.callbacks.open();\n };\n const values = document.createElement('div');\n values.classList.add(this.classes.values);\n main.appendChild(values);\n const deselect = document.createElement('div');\n deselect.classList.add(this.classes.deselect);\n const selectedOptions = (_a = this.store) === null || _a === void 0 ? void 0 : _a.getSelectedOptions();\n if (!this.settings.allowDeselect || (this.settings.isMultiple && selectedOptions && selectedOptions.length <= 0)) {\n deselect.classList.add(this.classes.hide);\n }\n else {\n deselect.classList.remove(this.classes.hide);\n }\n deselect.onclick = (e) => {\n e.stopPropagation();\n if (this.settings.disabled) {\n return;\n }\n let shouldDelete = true;\n const before = this.store.getSelectedOptions();\n const after = [];\n if (this.callbacks.beforeChange) {\n shouldDelete = this.callbacks.beforeChange(after, before) === true;\n }\n if (shouldDelete) {\n if (this.settings.isMultiple) {\n this.callbacks.setSelected([], false);\n this.updateDeselectAll();\n }\n else {\n const firstOption = this.store.getFirstOption();\n const value = firstOption ? firstOption.value : '';\n this.callbacks.setSelected(value, false);\n }\n if (this.settings.closeOnSelect) {\n this.callbacks.close();\n }\n if (this.callbacks.afterChange) {\n this.callbacks.afterChange(this.store.getSelectedOptions());\n }\n }\n };\n const deselectSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n deselectSvg.setAttribute('viewBox', '0 0 100 100');\n const deselectPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n deselectPath.setAttribute('d', this.classes.deselectPath);\n deselectSvg.appendChild(deselectPath);\n deselect.appendChild(deselectSvg);\n main.appendChild(deselect);\n const arrow = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n arrow.classList.add(this.classes.arrow);\n arrow.setAttribute('viewBox', '0 0 100 100');\n const arrowPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n arrowPath.setAttribute('d', this.classes.arrowClose);\n if (this.settings.alwaysOpen) {\n arrow.classList.add(this.classes.hide);\n }\n arrow.appendChild(arrowPath);\n main.appendChild(arrow);\n return {\n main: main,\n values: values,\n deselect: {\n main: deselect,\n svg: deselectSvg,\n path: deselectPath,\n },\n arrow: {\n main: arrow,\n path: arrowPath,\n },\n };\n }\n mainFocus(eventType) {\n if (eventType !== 'click') {\n this.main.main.focus({ preventScroll: true });\n }\n }\n placeholder() {\n const placeholderOption = this.store.filter((o) => o.placeholder, false);\n let placeholderText = this.settings.placeholderText;\n if (placeholderOption.length) {\n if (placeholderOption[0].html !== '') {\n placeholderText = placeholderOption[0].html;\n }\n else if (placeholderOption[0].text !== '') {\n placeholderText = placeholderOption[0].text;\n }\n }\n const placeholder = document.createElement('div');\n placeholder.classList.add(this.classes.placeholder);\n placeholder.innerHTML = placeholderText;\n return placeholder;\n }\n renderValues() {\n if (!this.settings.isMultiple) {\n this.renderSingleValue();\n return;\n }\n this.renderMultipleValues();\n this.updateDeselectAll();\n }\n renderSingleValue() {\n const selected = this.store.filter((o) => {\n return o.selected && !o.placeholder;\n }, false);\n const selectedSingle = selected.length > 0 ? selected[0] : null;\n if (!selectedSingle) {\n this.main.values.innerHTML = this.placeholder().outerHTML;\n }\n else {\n const singleValue = document.createElement('div');\n singleValue.classList.add(this.classes.single);\n if (selectedSingle.html) {\n singleValue.innerHTML = selectedSingle.html;\n }\n else {\n singleValue.innerText = selectedSingle.text;\n }\n this.main.values.innerHTML = singleValue.outerHTML;\n }\n if (!this.settings.allowDeselect || !selected.length) {\n this.main.deselect.main.classList.add(this.classes.hide);\n }\n else {\n this.main.deselect.main.classList.remove(this.classes.hide);\n }\n }\n renderMultipleValues() {\n let currentNodes = this.main.values.childNodes;\n let selectedOptions = this.store.filter((opt) => {\n return opt.selected && opt.display;\n }, false);\n if (selectedOptions.length === 0) {\n this.main.values.innerHTML = this.placeholder().outerHTML;\n return;\n }\n else {\n const placeholder = this.main.values.querySelector('.' + this.classes.placeholder);\n if (placeholder) {\n placeholder.remove();\n }\n }\n if (selectedOptions.length > this.settings.maxValuesShown) {\n const singleValue = document.createElement('div');\n singleValue.classList.add(this.classes.max);\n singleValue.textContent = this.settings.maxValuesMessage.replace('{number}', selectedOptions.length.toString());\n this.main.values.innerHTML = singleValue.outerHTML;\n return;\n }\n else {\n const maxValuesMessage = this.main.values.querySelector('.' + this.classes.max);\n if (maxValuesMessage) {\n maxValuesMessage.remove();\n }\n }\n let removeNodes = [];\n for (let i = 0; i < currentNodes.length; i++) {\n const node = currentNodes[i];\n const id = node.getAttribute('data-id');\n if (id) {\n const found = selectedOptions.filter((opt) => {\n return opt.id === id;\n }, false);\n if (!found.length) {\n removeNodes.push(node);\n }\n }\n }\n for (const n of removeNodes) {\n n.classList.add(this.classes.valueOut);\n setTimeout(() => {\n if (this.main.values.hasChildNodes() && this.main.values.contains(n)) {\n this.main.values.removeChild(n);\n }\n }, 100);\n }\n currentNodes = this.main.values.childNodes;\n for (let d = 0; d < selectedOptions.length; d++) {\n let shouldAdd = true;\n for (let i = 0; i < currentNodes.length; i++) {\n if (selectedOptions[d].id === String(currentNodes[i].dataset.id)) {\n shouldAdd = false;\n }\n }\n if (shouldAdd) {\n if (this.settings.keepOrder) {\n this.main.values.appendChild(this.multipleValue(selectedOptions[d]));\n }\n else {\n if (currentNodes.length === 0) {\n this.main.values.appendChild(this.multipleValue(selectedOptions[d]));\n }\n else if (d === 0) {\n this.main.values.insertBefore(this.multipleValue(selectedOptions[d]), currentNodes[d]);\n }\n else {\n currentNodes[d - 1].insertAdjacentElement('afterend', this.multipleValue(selectedOptions[d]));\n }\n }\n }\n }\n }\n multipleValue(option) {\n const value = document.createElement('div');\n value.classList.add(this.classes.value);\n value.dataset.id = option.id;\n const text = document.createElement('div');\n text.classList.add(this.classes.valueText);\n text.innerText = option.text;\n value.appendChild(text);\n if (!option.mandatory) {\n const deleteDiv = document.createElement('div');\n deleteDiv.classList.add(this.classes.valueDelete);\n deleteDiv.onclick = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (this.settings.disabled) {\n return;\n }\n let shouldDelete = true;\n const before = this.store.getSelectedOptions();\n const after = before.filter((o) => {\n return o.selected && o.id !== option.id;\n }, true);\n if (this.settings.minSelected && after.length < this.settings.minSelected) {\n return;\n }\n if (this.callbacks.beforeChange) {\n shouldDelete = this.callbacks.beforeChange(after, before) === true;\n }\n if (shouldDelete) {\n let selectedValues = [];\n for (const o of after) {\n if (o instanceof Optgroup) {\n for (const c of o.options) {\n selectedValues.push(c.value);\n }\n }\n if (o instanceof Option) {\n selectedValues.push(o.value);\n }\n }\n this.callbacks.setSelected(selectedValues, false);\n if (this.settings.closeOnSelect) {\n this.callbacks.close();\n }\n if (this.callbacks.afterChange) {\n this.callbacks.afterChange(after);\n }\n this.updateDeselectAll();\n }\n };\n const deleteSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n deleteSvg.setAttribute('viewBox', '0 0 100 100');\n const deletePath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n deletePath.setAttribute('d', this.classes.optionDelete);\n deleteSvg.appendChild(deletePath);\n deleteDiv.appendChild(deleteSvg);\n value.appendChild(deleteDiv);\n }\n return value;\n }\n contentDiv() {\n const main = document.createElement('div');\n main.dataset.id = this.settings.id;\n const search = this.searchDiv();\n main.appendChild(search.main);\n const list = this.listDiv();\n main.appendChild(list);\n return {\n main: main,\n search: search,\n list: list,\n };\n }\n moveContent() {\n if (this.settings.contentPosition === 'relative') {\n this.moveContentBelow();\n return;\n }\n if (this.settings.openPosition === 'down') {\n this.moveContentBelow();\n return;\n }\n else if (this.settings.openPosition === 'up') {\n this.moveContentAbove();\n return;\n }\n if (this.putContent() === 'up') {\n this.moveContentAbove();\n }\n else {\n this.moveContentBelow();\n }\n }\n searchDiv() {\n const main = document.createElement('div');\n const input = document.createElement('input');\n const addable = document.createElement('div');\n main.classList.add(this.classes.search);\n const searchReturn = {\n main,\n input,\n };\n if (!this.settings.showSearch) {\n main.classList.add(this.classes.hide);\n input.readOnly = true;\n }\n input.type = 'search';\n input.placeholder = this.settings.searchPlaceholder;\n input.tabIndex = -1;\n input.setAttribute('aria-label', this.settings.searchPlaceholder);\n input.setAttribute('autocapitalize', 'off');\n input.setAttribute('autocomplete', 'off');\n input.setAttribute('autocorrect', 'off');\n input.oninput = debounce((e) => {\n this.callbacks.search(e.target.value);\n }, 100);\n input.onkeydown = (e) => {\n switch (e.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n e.key === 'ArrowDown' ? this.highlight('down') : this.highlight('up');\n return false;\n case 'Tab':\n this.callbacks.close();\n return true;\n case 'Escape':\n this.callbacks.close();\n return false;\n case 'Enter':\n case ' ':\n if (this.callbacks.addable && e.ctrlKey) {\n addable.click();\n return false;\n }\n else {\n const highlighted = this.content.list.querySelector('.' + this.classes.highlighted);\n if (highlighted) {\n highlighted.click();\n return false;\n }\n }\n return true;\n }\n return true;\n };\n main.appendChild(input);\n if (this.callbacks.addable) {\n addable.classList.add(this.classes.addable);\n const plus = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n plus.setAttribute('viewBox', '0 0 100 100');\n const plusPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n plusPath.setAttribute('d', this.classes.addablePath);\n plus.appendChild(plusPath);\n addable.appendChild(plus);\n addable.onclick = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (!this.callbacks.addable) {\n return;\n }\n const inputValue = this.content.search.input.value.trim();\n if (inputValue === '') {\n this.content.search.input.focus();\n return;\n }\n const runFinish = (oo) => {\n let newOption = new Option(oo);\n this.callbacks.addOption(newOption);\n if (this.settings.isMultiple) {\n let values = this.store.getSelected();\n values.push(newOption.value);\n this.callbacks.setSelected(values, true);\n }\n else {\n this.callbacks.setSelected([newOption.value], true);\n }\n this.callbacks.search('');\n if (this.settings.closeOnSelect) {\n setTimeout(() => {\n this.callbacks.close();\n }, 100);\n }\n };\n const addableValue = this.callbacks.addable(inputValue);\n if (addableValue === false || addableValue === undefined || addableValue === null) {\n return;\n }\n if (addableValue instanceof Promise) {\n addableValue.then((value) => {\n if (typeof value === 'string') {\n runFinish({\n text: value,\n value: value,\n });\n }\n else {\n runFinish(value);\n }\n });\n }\n else if (typeof addableValue === 'string') {\n runFinish({\n text: addableValue,\n value: addableValue,\n });\n }\n else {\n runFinish(addableValue);\n }\n return;\n };\n main.appendChild(addable);\n searchReturn.addable = {\n main: addable,\n svg: plus,\n path: plusPath,\n };\n }\n return searchReturn;\n }\n searchFocus() {\n this.content.search.input.focus();\n }\n getOptions(notPlaceholder = false, notDisabled = false, notHidden = false) {\n let query = '.' + this.classes.option;\n if (notPlaceholder) {\n query += ':not(.' + this.classes.placeholder + ')';\n }\n if (notDisabled) {\n query += ':not(.' + this.classes.disabled + ')';\n }\n if (notHidden) {\n query += ':not(.' + this.classes.hide + ')';\n }\n return Array.from(this.content.list.querySelectorAll(query));\n }\n highlight(dir) {\n const options = this.getOptions(true, true, true);\n if (options.length === 0) {\n return;\n }\n if (options.length === 1) {\n if (!options[0].classList.contains(this.classes.highlighted)) {\n options[0].classList.add(this.classes.highlighted);\n return;\n }\n }\n let highlighted = false;\n for (const o of options) {\n if (o.classList.contains(this.classes.highlighted)) {\n highlighted = true;\n }\n }\n if (!highlighted) {\n for (const o of options) {\n if (o.classList.contains(this.classes.selected)) {\n o.classList.add(this.classes.highlighted);\n break;\n }\n }\n }\n for (let i = 0; i < options.length; i++) {\n if (options[i].classList.contains(this.classes.highlighted)) {\n const prevOption = options[i];\n prevOption.classList.remove(this.classes.highlighted);\n const prevParent = prevOption.parentElement;\n if (prevParent && prevParent.classList.contains(this.classes.open)) {\n const optgroupLabel = prevParent.querySelector('.' + this.classes.optgroupLabel);\n if (optgroupLabel) {\n optgroupLabel.click();\n }\n }\n let selectOption = options[dir === 'down' ? (i + 1 < options.length ? i + 1 : 0) : i - 1 >= 0 ? i - 1 : options.length - 1];\n selectOption.classList.add(this.classes.highlighted);\n this.ensureElementInView(this.content.list, selectOption);\n const selectParent = selectOption.parentElement;\n if (selectParent && selectParent.classList.contains(this.classes.close)) {\n const optgroupLabel = selectParent.querySelector('.' + this.classes.optgroupLabel);\n if (optgroupLabel) {\n optgroupLabel.click();\n }\n }\n return;\n }\n }\n options[dir === 'down' ? 0 : options.length - 1].classList.add(this.classes.highlighted);\n this.ensureElementInView(this.content.list, options[dir === 'down' ? 0 : options.length - 1]);\n }\n listDiv() {\n const options = document.createElement('div');\n options.classList.add(this.classes.list);\n return options;\n }\n renderError(error) {\n this.content.list.innerHTML = '';\n const errorDiv = document.createElement('div');\n errorDiv.classList.add(this.classes.error);\n errorDiv.textContent = error;\n this.content.list.appendChild(errorDiv);\n }\n renderSearching() {\n this.content.list.innerHTML = '';\n const searchingDiv = document.createElement('div');\n searchingDiv.classList.add(this.classes.searching);\n searchingDiv.textContent = this.settings.searchingText;\n this.content.list.appendChild(searchingDiv);\n }\n renderOptions(data) {\n this.content.list.innerHTML = '';\n if (data.length === 0) {\n const noResults = document.createElement('div');\n noResults.classList.add(this.classes.search);\n noResults.innerHTML = this.settings.searchText;\n this.content.list.appendChild(noResults);\n return;\n }\n for (const d of data) {\n if (d instanceof Optgroup) {\n const optgroupEl = document.createElement('div');\n optgroupEl.classList.add(this.classes.optgroup);\n const optgroupLabel = document.createElement('div');\n optgroupLabel.classList.add(this.classes.optgroupLabel);\n optgroupEl.appendChild(optgroupLabel);\n const optgroupLabelText = document.createElement('div');\n optgroupLabelText.classList.add(this.classes.optgroupLabelText);\n optgroupLabelText.textContent = d.label;\n optgroupLabel.appendChild(optgroupLabelText);\n const optgroupActions = document.createElement('div');\n optgroupActions.classList.add(this.classes.optgroupActions);\n optgroupLabel.appendChild(optgroupActions);\n if (this.settings.isMultiple && d.selectAll) {\n const selectAll = document.createElement('div');\n selectAll.classList.add(this.classes.optgroupSelectAll);\n let allSelected = true;\n for (const o of d.options) {\n if (!o.selected) {\n allSelected = false;\n break;\n }\n }\n if (allSelected) {\n selectAll.classList.add(this.classes.selected);\n }\n const selectAllText = document.createElement('span');\n selectAllText.textContent = d.selectAllText;\n selectAll.appendChild(selectAllText);\n const selectAllSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n selectAllSvg.setAttribute('viewBox', '0 0 100 100');\n selectAll.appendChild(selectAllSvg);\n const selectAllBox = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n selectAllBox.setAttribute('d', this.classes.optgroupSelectAllBox);\n selectAllSvg.appendChild(selectAllBox);\n const selectAllCheck = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n selectAllCheck.setAttribute('d', this.classes.optgroupSelectAllCheck);\n selectAllSvg.appendChild(selectAllCheck);\n selectAll.addEventListener('click', (e) => {\n e.preventDefault();\n e.stopPropagation();\n const currentSelected = this.store.getSelected();\n if (allSelected) {\n const newSelected = currentSelected.filter((s) => {\n for (const o of d.options) {\n if (s === o.value) {\n return false;\n }\n }\n return true;\n });\n this.callbacks.setSelected(newSelected, true);\n return;\n }\n else {\n const newSelected = currentSelected.concat(d.options.map((o) => o.value));\n for (const o of d.options) {\n if (!this.store.getOptionByID(o.id)) {\n this.callbacks.addOption(o);\n }\n }\n this.callbacks.setSelected(newSelected, true);\n return;\n }\n });\n optgroupActions.appendChild(selectAll);\n }\n if (d.closable !== 'off') {\n const optgroupClosable = document.createElement('div');\n optgroupClosable.classList.add(this.classes.optgroupClosable);\n const optgroupClosableSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n optgroupClosableSvg.setAttribute('viewBox', '0 0 100 100');\n optgroupClosableSvg.classList.add(this.classes.arrow);\n optgroupClosable.appendChild(optgroupClosableSvg);\n const optgroupClosableArrow = document.createElementNS('http://www.w3.org/2000/svg', 'path');\n optgroupClosableSvg.appendChild(optgroupClosableArrow);\n if (d.options.some((o) => o.selected) || this.content.search.input.value.trim() !== '') {\n optgroupClosable.classList.add(this.classes.open);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowOpen);\n }\n else if (d.closable === 'open') {\n optgroupEl.classList.add(this.classes.open);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowOpen);\n }\n else if (d.closable === 'close') {\n optgroupEl.classList.add(this.classes.close);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowClose);\n }\n optgroupLabel.addEventListener('click', (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (optgroupEl.classList.contains(this.classes.close)) {\n optgroupEl.classList.remove(this.classes.close);\n optgroupEl.classList.add(this.classes.open);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowOpen);\n }\n else {\n optgroupEl.classList.remove(this.classes.open);\n optgroupEl.classList.add(this.classes.close);\n optgroupClosableArrow.setAttribute('d', this.classes.arrowClose);\n }\n });\n optgroupActions.appendChild(optgroupClosable);\n }\n optgroupEl.appendChild(optgroupLabel);\n for (const o of d.options) {\n optgroupEl.appendChild(this.option(o));\n }\n this.content.list.appendChild(optgroupEl);\n }\n if (d instanceof Option) {\n this.content.list.appendChild(this.option(d));\n }\n }\n }\n option(option) {\n if (option.placeholder) {\n const placeholder = document.createElement('div');\n placeholder.classList.add(this.classes.option);\n placeholder.classList.add(this.classes.hide);\n return placeholder;\n }\n const optionEl = document.createElement('div');\n optionEl.dataset.id = option.id;\n optionEl.id = option.id;\n optionEl.classList.add(this.classes.option);\n optionEl.setAttribute('role', 'option');\n if (option.class) {\n option.class.split(' ').forEach((dataClass) => {\n optionEl.classList.add(dataClass);\n });\n }\n if (option.style) {\n optionEl.style.cssText = option.style;\n }\n if (this.settings.searchHighlight && this.content.search.input.value.trim() !== '') {\n optionEl.innerHTML = this.highlightText(option.html !== '' ? option.html : option.text, this.content.search.input.value, this.classes.searchHighlighter);\n }\n else if (option.html !== '') {\n optionEl.innerHTML = option.html;\n }\n else {\n optionEl.textContent = option.text;\n }\n if (this.settings.showOptionTooltips && optionEl.textContent) {\n optionEl.setAttribute('title', optionEl.textContent);\n }\n if (!option.display) {\n optionEl.classList.add(this.classes.hide);\n }\n if (option.disabled) {\n optionEl.classList.add(this.classes.disabled);\n }\n if (option.selected && this.settings.hideSelected) {\n optionEl.classList.add(this.classes.hide);\n }\n if (option.selected) {\n optionEl.classList.add(this.classes.selected);\n optionEl.setAttribute('aria-selected', 'true');\n this.main.main.setAttribute('aria-activedescendant', optionEl.id);\n }\n else {\n optionEl.classList.remove(this.classes.selected);\n optionEl.setAttribute('aria-selected', 'false');\n }\n optionEl.addEventListener('click', (e) => {\n e.preventDefault();\n e.stopPropagation();\n const selectedOptions = this.store.getSelected();\n const element = e.currentTarget;\n const elementID = String(element.dataset.id);\n if (option.disabled || (option.selected && !this.settings.allowDeselect)) {\n return;\n }\n if ((this.settings.isMultiple && this.settings.maxSelected <= selectedOptions.length && !option.selected) ||\n (this.settings.isMultiple && this.settings.minSelected >= selectedOptions.length && option.selected)) {\n return;\n }\n let shouldUpdate = false;\n const before = this.store.getSelectedOptions();\n let after = [];\n if (this.settings.isMultiple) {\n if (option.selected) {\n after = before.filter((o) => o.id !== elementID);\n }\n else {\n after = before.concat(option);\n }\n }\n if (!this.settings.isMultiple) {\n if (option.selected) {\n after = [];\n }\n else {\n after = [option];\n }\n }\n if (!this.callbacks.beforeChange) {\n shouldUpdate = true;\n }\n if (this.callbacks.beforeChange) {\n if (this.callbacks.beforeChange(after, before) === false) {\n shouldUpdate = false;\n }\n else {\n shouldUpdate = true;\n }\n }\n if (shouldUpdate) {\n if (!this.store.getOptionByID(elementID)) {\n this.callbacks.addOption(option);\n }\n this.callbacks.setSelected(after.map((o) => o.value), false);\n if (this.settings.closeOnSelect) {\n this.callbacks.close();\n }\n if (this.callbacks.afterChange) {\n this.callbacks.afterChange(after);\n }\n }\n });\n return optionEl;\n }\n destroy() {\n this.main.main.remove();\n this.content.main.remove();\n }\n highlightText(str, search, className) {\n let completedString = str;\n const regex = new RegExp('(' + search.trim() + ')(?![^<]*>[^<>]*)', 'i');\n if (!str.match(regex)) {\n return str;\n }\n const matchStartPosition = str.match(regex).index;\n const matchEndPosition = matchStartPosition + str.match(regex)[0].toString().length;\n const originalTextFoundByRegex = str.substring(matchStartPosition, matchEndPosition);\n completedString = completedString.replace(regex, `${originalTextFoundByRegex}`);\n return completedString;\n }\n moveContentAbove() {\n const mainHeight = this.main.main.offsetHeight;\n const contentHeight = this.content.main.offsetHeight;\n this.main.main.classList.remove(this.classes.openBelow);\n this.main.main.classList.add(this.classes.openAbove);\n this.content.main.classList.remove(this.classes.openBelow);\n this.content.main.classList.add(this.classes.openAbove);\n const containerRect = this.main.main.getBoundingClientRect();\n this.content.main.style.margin = '-' + (mainHeight + contentHeight - 1) + 'px 0px 0px 0px';\n this.content.main.style.top = containerRect.top + containerRect.height + window.scrollY + 'px';\n this.content.main.style.left = containerRect.left + window.scrollX + 'px';\n this.content.main.style.width = containerRect.width + 'px';\n }\n moveContentBelow() {\n this.main.main.classList.remove(this.classes.openAbove);\n this.main.main.classList.add(this.classes.openBelow);\n this.content.main.classList.remove(this.classes.openAbove);\n this.content.main.classList.add(this.classes.openBelow);\n const containerRect = this.main.main.getBoundingClientRect();\n this.content.main.style.margin = '-1px 0px 0px 0px';\n if (this.settings.contentPosition !== 'relative') {\n this.content.main.style.top = containerRect.top + containerRect.height + window.scrollY + 'px';\n this.content.main.style.left = containerRect.left + window.scrollX + 'px';\n this.content.main.style.width = containerRect.width + 'px';\n }\n }\n ensureElementInView(container, element) {\n const cTop = container.scrollTop + container.offsetTop;\n const cBottom = cTop + container.clientHeight;\n const eTop = element.offsetTop;\n const eBottom = eTop + element.clientHeight;\n if (eTop < cTop) {\n container.scrollTop -= cTop - eTop;\n }\n else if (eBottom > cBottom) {\n container.scrollTop += eBottom - cBottom;\n }\n }\n putContent() {\n const mainHeight = this.main.main.offsetHeight;\n const mainRect = this.main.main.getBoundingClientRect();\n const contentHeight = this.content.main.offsetHeight;\n const spaceBelow = window.innerHeight - (mainRect.top + mainHeight);\n if (spaceBelow <= contentHeight) {\n if (mainRect.top > contentHeight) {\n return 'up';\n }\n else {\n return 'down';\n }\n }\n return 'down';\n }\n updateDeselectAll() {\n if (!this.store || !this.settings) {\n return;\n }\n const selected = this.store.getSelectedOptions();\n const hasSelectedItems = selected && selected.length > 0;\n const isMultiple = this.settings.isMultiple;\n const allowDeselect = this.settings.allowDeselect;\n const deselectButton = this.main.deselect.main;\n const hideClass = this.classes.hide;\n if (allowDeselect && !(isMultiple && !hasSelectedItems)) {\n deselectButton.classList.remove(hideClass);\n }\n else {\n deselectButton.classList.add(hideClass);\n }\n }\n }\n\n class Select {\n constructor(select) {\n this.listen = false;\n this.observer = null;\n this.select = select;\n this.valueChange = this.valueChange.bind(this);\n this.select.addEventListener('change', this.valueChange, {\n passive: true,\n });\n this.observer = new MutationObserver(this.observeCall.bind(this));\n this.changeListen(true);\n }\n enable() {\n this.select.disabled = false;\n }\n disable() {\n this.select.disabled = true;\n }\n hideUI() {\n this.select.tabIndex = -1;\n this.select.style.display = 'none';\n this.select.setAttribute('aria-hidden', 'true');\n }\n showUI() {\n this.select.removeAttribute('tabindex');\n this.select.style.display = '';\n this.select.removeAttribute('aria-hidden');\n }\n changeListen(listen) {\n this.listen = listen;\n if (listen) {\n if (this.observer) {\n this.observer.observe(this.select, {\n subtree: true,\n childList: true,\n attributes: true,\n });\n }\n }\n if (!listen) {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n }\n valueChange(ev) {\n if (this.listen && this.onValueChange) {\n this.onValueChange(this.getSelectedValues());\n }\n return true;\n }\n observeCall(mutations) {\n if (!this.listen) {\n return;\n }\n let classChanged = false;\n let disabledChanged = false;\n let optgroupOptionChanged = false;\n for (const m of mutations) {\n if (m.target === this.select) {\n if (m.attributeName === 'disabled') {\n disabledChanged = true;\n }\n if (m.attributeName === 'class') {\n classChanged = true;\n }\n }\n if (m.target.nodeName === 'OPTGROUP' || m.target.nodeName === 'OPTION') {\n optgroupOptionChanged = true;\n }\n }\n if (classChanged && this.onClassChange) {\n this.onClassChange(this.select.className.split(' '));\n }\n if (disabledChanged && this.onDisabledChange) {\n this.changeListen(false);\n this.onDisabledChange(this.select.disabled);\n this.changeListen(true);\n }\n if (optgroupOptionChanged && this.onOptionsChange) {\n this.changeListen(false);\n this.onOptionsChange(this.getData());\n this.changeListen(true);\n }\n }\n getData() {\n let data = [];\n const nodes = this.select.childNodes;\n for (const n of nodes) {\n if (n.nodeName === 'OPTGROUP') {\n data.push(this.getDataFromOptgroup(n));\n }\n if (n.nodeName === 'OPTION') {\n data.push(this.getDataFromOption(n));\n }\n }\n return data;\n }\n getDataFromOptgroup(optgroup) {\n let data = {\n id: optgroup.id,\n label: optgroup.label,\n selectAll: optgroup.dataset ? optgroup.dataset.selectall === 'true' : false,\n selectAllText: optgroup.dataset ? optgroup.dataset.selectalltext : 'Select all',\n closable: optgroup.dataset ? optgroup.dataset.closable : 'off',\n options: [],\n };\n const options = optgroup.childNodes;\n for (const o of options) {\n if (o.nodeName === 'OPTION') {\n data.options.push(this.getDataFromOption(o));\n }\n }\n return data;\n }\n getDataFromOption(option) {\n return {\n id: option.id,\n value: option.value,\n text: option.text,\n html: option.dataset && option.dataset.html ? option.dataset.html : '',\n selected: option.selected,\n display: option.style.display === 'none' ? false : true,\n disabled: option.disabled,\n mandatory: option.dataset ? option.dataset.mandatory === 'true' : false,\n placeholder: option.dataset.placeholder === 'true',\n class: option.className,\n style: option.style.cssText,\n data: option.dataset,\n };\n }\n getSelectedValues() {\n let values = [];\n const options = this.select.childNodes;\n for (const o of options) {\n if (o.nodeName === 'OPTGROUP') {\n const optgroupOptions = o.childNodes;\n for (const oo of optgroupOptions) {\n if (oo.nodeName === 'OPTION') {\n const option = oo;\n if (option.selected) {\n values.push(option.value);\n }\n }\n }\n }\n if (o.nodeName === 'OPTION') {\n const option = o;\n if (option.selected) {\n values.push(option.value);\n }\n }\n }\n return values;\n }\n setSelected(value) {\n this.changeListen(false);\n const options = this.select.childNodes;\n for (const o of options) {\n if (o.nodeName === 'OPTGROUP') {\n const optgroup = o;\n const optgroupOptions = optgroup.childNodes;\n for (const oo of optgroupOptions) {\n if (oo.nodeName === 'OPTION') {\n const option = oo;\n option.selected = value.includes(option.value);\n }\n }\n }\n if (o.nodeName === 'OPTION') {\n const option = o;\n option.selected = value.includes(option.value);\n }\n }\n this.changeListen(true);\n }\n updateSelect(id, style, classes) {\n this.changeListen(false);\n if (id) {\n this.select.dataset.id = id;\n }\n if (style) {\n this.select.style.cssText = style;\n }\n if (classes) {\n this.select.className = '';\n classes.forEach((c) => {\n if (c.trim() !== '') {\n this.select.classList.add(c.trim());\n }\n });\n }\n this.changeListen(true);\n }\n updateOptions(data) {\n this.changeListen(false);\n this.select.innerHTML = '';\n for (const d of data) {\n if (d instanceof Optgroup) {\n this.select.appendChild(this.createOptgroup(d));\n }\n if (d instanceof Option) {\n this.select.appendChild(this.createOption(d));\n }\n }\n this.select.dispatchEvent(new Event('change'));\n this.changeListen(true);\n }\n createOptgroup(optgroup) {\n const optgroupEl = document.createElement('optgroup');\n optgroupEl.id = optgroup.id;\n optgroupEl.label = optgroup.label;\n if (optgroup.selectAll) {\n optgroupEl.dataset.selectAll = 'true';\n }\n if (optgroup.closable !== 'off') {\n optgroupEl.dataset.closable = optgroup.closable;\n }\n if (optgroup.options) {\n for (const o of optgroup.options) {\n optgroupEl.appendChild(this.createOption(o));\n }\n }\n return optgroupEl;\n }\n createOption(info) {\n const optionEl = document.createElement('option');\n optionEl.id = info.id;\n optionEl.value = info.value;\n optionEl.innerHTML = info.text;\n if (info.html !== '') {\n optionEl.setAttribute('data-html', info.html);\n }\n if (info.selected) {\n optionEl.selected = info.selected;\n }\n if (info.disabled) {\n optionEl.disabled = true;\n }\n if (info.display === false) {\n optionEl.style.display = 'none';\n }\n if (info.placeholder) {\n optionEl.setAttribute('data-placeholder', 'true');\n }\n if (info.mandatory) {\n optionEl.setAttribute('data-mandatory', 'true');\n }\n if (info.class) {\n info.class.split(' ').forEach((optionClass) => {\n optionEl.classList.add(optionClass);\n });\n }\n if (info.data && typeof info.data === 'object') {\n Object.keys(info.data).forEach((key) => {\n optionEl.setAttribute('data-' + kebabCase(key), info.data[key]);\n });\n }\n return optionEl;\n }\n destroy() {\n this.changeListen(false);\n this.select.removeEventListener('change', this.valueChange);\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n delete this.select.dataset.id;\n this.showUI();\n }\n }\n\n class Settings {\n constructor(settings) {\n this.id = '';\n this.style = '';\n this.class = [];\n this.isMultiple = false;\n this.isOpen = false;\n this.isFullOpen = false;\n this.intervalMove = null;\n if (!settings) {\n settings = {};\n }\n this.id = 'ss-' + generateID();\n this.style = settings.style || '';\n this.class = settings.class || [];\n this.disabled = settings.disabled !== undefined ? settings.disabled : false;\n this.alwaysOpen = settings.alwaysOpen !== undefined ? settings.alwaysOpen : false;\n this.showSearch = settings.showSearch !== undefined ? settings.showSearch : true;\n this.ariaLabel = settings.ariaLabel || 'Combobox';\n this.searchPlaceholder = settings.searchPlaceholder || 'Search';\n this.searchText = settings.searchText || 'No Results';\n this.searchingText = settings.searchingText || 'Searching...';\n this.searchHighlight = settings.searchHighlight !== undefined ? settings.searchHighlight : false;\n this.closeOnSelect = settings.closeOnSelect !== undefined ? settings.closeOnSelect : true;\n this.contentLocation = settings.contentLocation || document.body;\n this.contentPosition = settings.contentPosition || 'absolute';\n this.openPosition = settings.openPosition || 'auto';\n this.placeholderText = settings.placeholderText !== undefined ? settings.placeholderText : 'Select Value';\n this.allowDeselect = settings.allowDeselect !== undefined ? settings.allowDeselect : false;\n this.hideSelected = settings.hideSelected !== undefined ? settings.hideSelected : false;\n this.keepOrder = settings.keepOrder !== undefined ? settings.keepOrder : false;\n this.showOptionTooltips = settings.showOptionTooltips !== undefined ? settings.showOptionTooltips : false;\n this.minSelected = settings.minSelected || 0;\n this.maxSelected = settings.maxSelected || 1000;\n this.timeoutDelay = settings.timeoutDelay || 200;\n this.maxValuesShown = settings.maxValuesShown || 20;\n this.maxValuesMessage = settings.maxValuesMessage || '{number} selected';\n }\n }\n\n class SlimSelect {\n constructor(config) {\n var _a;\n this.events = {\n search: undefined,\n searchFilter: (opt, search) => {\n return opt.text.toLowerCase().indexOf(search.toLowerCase()) !== -1;\n },\n addable: undefined,\n beforeChange: undefined,\n afterChange: undefined,\n beforeOpen: undefined,\n afterOpen: undefined,\n beforeClose: undefined,\n afterClose: undefined,\n };\n this.windowResize = debounce(() => {\n if (!this.settings.isOpen && !this.settings.isFullOpen) {\n return;\n }\n this.render.moveContent();\n });\n this.windowScroll = debounce(() => {\n if (!this.settings.isOpen && !this.settings.isFullOpen) {\n return;\n }\n this.render.moveContent();\n });\n this.documentClick = (e) => {\n if (!this.settings.isOpen) {\n return;\n }\n if (e.target && !hasClassInTree(e.target, this.settings.id)) {\n this.close(e.type);\n }\n };\n this.windowVisibilityChange = () => {\n if (document.hidden) {\n this.close();\n }\n };\n this.selectEl = (typeof config.select === 'string' ? document.querySelector(config.select) : config.select);\n if (!this.selectEl) {\n if (config.events && config.events.error) {\n config.events.error(new Error('Could not find select element'));\n }\n return;\n }\n if (this.selectEl.tagName !== 'SELECT') {\n if (config.events && config.events.error) {\n config.events.error(new Error('Element isnt of type select'));\n }\n return;\n }\n if (this.selectEl.dataset.ssid) {\n this.destroy();\n }\n this.settings = new Settings(config.settings);\n const debounceEvents = ['afterChange', 'beforeOpen', 'afterOpen', 'beforeClose', 'afterClose'];\n for (const key in config.events) {\n if (!config.events.hasOwnProperty(key)) {\n continue;\n }\n if (debounceEvents.indexOf(key) !== -1) {\n this.events[key] = debounce(config.events[key], 100);\n }\n else {\n this.events[key] = config.events[key];\n }\n }\n this.settings.disabled = ((_a = config.settings) === null || _a === void 0 ? void 0 : _a.disabled) ? config.settings.disabled : this.selectEl.disabled;\n this.settings.isMultiple = this.selectEl.multiple;\n this.settings.style = this.selectEl.style.cssText;\n this.settings.class = this.selectEl.className.split(' ');\n this.select = new Select(this.selectEl);\n this.select.updateSelect(this.settings.id, this.settings.style, this.settings.class);\n this.select.hideUI();\n this.select.onValueChange = (values) => {\n this.setSelected(values);\n };\n this.select.onClassChange = (classes) => {\n this.settings.class = classes;\n this.render.updateClassStyles();\n };\n this.select.onDisabledChange = (disabled) => {\n if (disabled) {\n this.disable();\n }\n else {\n this.enable();\n }\n };\n this.select.onOptionsChange = (data) => {\n this.setData(data);\n };\n this.store = new Store(this.settings.isMultiple ? 'multiple' : 'single', config.data ? config.data : this.select.getData());\n if (config.data) {\n this.select.updateOptions(this.store.getData());\n }\n const renderCallbacks = {\n open: this.open.bind(this),\n close: this.close.bind(this),\n addable: this.events.addable ? this.events.addable : undefined,\n setSelected: this.setSelected.bind(this),\n addOption: this.addOption.bind(this),\n search: this.search.bind(this),\n beforeChange: this.events.beforeChange,\n afterChange: this.events.afterChange,\n };\n this.render = new Render(this.settings, this.store, renderCallbacks);\n this.render.renderValues();\n this.render.renderOptions(this.store.getData());\n const selectAriaLabel = this.selectEl.getAttribute('aria-label');\n const selectAriaLabelledBy = this.selectEl.getAttribute('aria-labelledby');\n if (selectAriaLabel) {\n this.render.main.main.setAttribute('aria-label', selectAriaLabel);\n }\n else if (selectAriaLabelledBy) {\n this.render.main.main.setAttribute('aria-labelledby', selectAriaLabelledBy);\n }\n if (this.selectEl.parentNode) {\n this.selectEl.parentNode.insertBefore(this.render.main.main, this.selectEl.nextSibling);\n }\n window.addEventListener('resize', this.windowResize, false);\n if (this.settings.openPosition === 'auto') {\n window.addEventListener('scroll', this.windowScroll, false);\n }\n document.addEventListener('visibilitychange', this.windowVisibilityChange);\n if (this.settings.disabled) {\n this.disable();\n }\n if (this.settings.alwaysOpen) {\n this.open();\n }\n this.selectEl.slim = this;\n }\n enable() {\n this.settings.disabled = false;\n this.select.enable();\n this.render.enable();\n }\n disable() {\n this.settings.disabled = true;\n this.select.disable();\n this.render.disable();\n }\n getData() {\n return this.store.getData();\n }\n setData(data) {\n const selected = this.store.getSelected();\n const err = this.store.validateDataArray(data);\n if (err) {\n if (this.events.error) {\n this.events.error(err);\n }\n return;\n }\n this.store.setData(data);\n const dataClean = this.store.getData();\n this.select.updateOptions(dataClean);\n this.render.renderValues();\n this.render.renderOptions(dataClean);\n if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {\n this.events.afterChange(this.store.getSelectedOptions());\n }\n }\n getSelected() {\n return this.store.getSelected();\n }\n setSelected(value, runAfterChange = true) {\n const selected = this.store.getSelected();\n this.store.setSelectedBy('value', Array.isArray(value) ? value : [value]);\n const data = this.store.getData();\n this.select.updateOptions(data);\n this.render.renderValues();\n if (this.render.content.search.input.value !== '') {\n this.search(this.render.content.search.input.value);\n }\n else {\n this.render.renderOptions(data);\n }\n if (runAfterChange && this.events.afterChange && !isEqual(selected, this.store.getSelected())) {\n this.events.afterChange(this.store.getSelectedOptions());\n }\n }\n addOption(option) {\n const selected = this.store.getSelected();\n if (!this.store.getDataOptions().some((o) => { var _a; return o.value === ((_a = option.value) !== null && _a !== void 0 ? _a : option.text); })) {\n this.store.addOption(option);\n }\n const data = this.store.getData();\n this.select.updateOptions(data);\n this.render.renderValues();\n this.render.renderOptions(data);\n if (this.events.afterChange && !isEqual(selected, this.store.getSelected())) {\n this.events.afterChange(this.store.getSelectedOptions());\n }\n }\n open() {\n if (this.settings.disabled || this.settings.isOpen) {\n return;\n }\n if (this.events.beforeOpen) {\n this.events.beforeOpen();\n }\n this.render.open();\n if (this.settings.showSearch) {\n this.render.searchFocus();\n }\n this.settings.isOpen = true;\n setTimeout(() => {\n if (this.events.afterOpen) {\n this.events.afterOpen();\n }\n if (this.settings.isOpen) {\n this.settings.isFullOpen = true;\n }\n document.addEventListener('click', this.documentClick);\n }, this.settings.timeoutDelay);\n if (this.settings.contentPosition === 'absolute') {\n if (this.settings.intervalMove) {\n clearInterval(this.settings.intervalMove);\n }\n this.settings.intervalMove = setInterval(this.render.moveContent.bind(this.render), 500);\n }\n }\n close(eventType = null) {\n if (!this.settings.isOpen || this.settings.alwaysOpen) {\n return;\n }\n if (this.events.beforeClose) {\n this.events.beforeClose();\n }\n this.render.close();\n if (this.render.content.search.input.value !== '') {\n this.search('');\n }\n this.render.mainFocus(eventType);\n this.settings.isOpen = false;\n this.settings.isFullOpen = false;\n setTimeout(() => {\n if (this.events.afterClose) {\n this.events.afterClose();\n }\n document.removeEventListener('click', this.documentClick);\n }, this.settings.timeoutDelay);\n if (this.settings.intervalMove) {\n clearInterval(this.settings.intervalMove);\n }\n }\n search(value) {\n if (this.render.content.search.input.value !== value) {\n this.render.content.search.input.value = value;\n }\n if (!this.events.search) {\n this.render.renderOptions(value === '' ? this.store.getData() : this.store.search(value, this.events.searchFilter));\n return;\n }\n this.render.renderSearching();\n const searchResp = this.events.search(value, this.store.getSelectedOptions());\n if (searchResp instanceof Promise) {\n searchResp\n .then((data) => {\n this.render.renderOptions(this.store.partialToFullData(data));\n })\n .catch((err) => {\n this.render.renderError(typeof err === 'string' ? err : err.message);\n });\n return;\n }\n else if (Array.isArray(searchResp)) {\n this.render.renderOptions(this.store.partialToFullData(searchResp));\n }\n else {\n this.render.renderError('Search event must return a promise or an array of data');\n }\n }\n destroy() {\n document.removeEventListener('click', this.documentClick);\n window.removeEventListener('resize', this.windowResize, false);\n if (this.settings.openPosition === 'auto') {\n window.removeEventListener('scroll', this.windowScroll, false);\n }\n document.removeEventListener('visibilitychange', this.windowVisibilityChange);\n this.store.setData([]);\n this.render.destroy();\n this.select.destroy();\n }\n }\n\n return SlimSelect;\n\n}));\n","/*\n* Notiflix Notify AIO (https://notiflix.github.io)\n* Description: This file has been created automatically that using \"notiflix.js\", and \"notiflix.css\" files.\n* Version: 3.2.6\n* Author: Furkan (https://github.com/furcan)\n* Copyright 2019 - 2023 Notiflix, MIT Licence (https://opensource.org/licenses/MIT)\n*/\n\n/* global define */\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof module === 'object' && typeof module.exports === 'object') {\n module.exports = factory(root);\n } else {\n root.Notiflix = factory(root);\n }\n})(typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this, function (window) {\n\n 'use strict';\n\n // COMMON: SSR check: begin\n if (typeof window === 'undefined' && typeof window.document === 'undefined') {\n return false;\n }\n // COMMON: SSR check: end\n\n // COMMON: Variables: begin\n var notiflixNamespace = 'Notiflix';\n var notiflixConsoleDocs = '\\n\\nVisit documentation page to learn more: https://notiflix.github.io/documentation';\n var defaultFontFamily = '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif';\n // COMMON: Variables: end\n\n // NOTIFY: Default Settings: begin\n var typesNotify = {\n Success: 'Success',\n Failure: 'Failure',\n Warning: 'Warning',\n Info: 'Info',\n };\n var newNotifySettings;\n var notifySettings = {\n wrapID: 'NotiflixNotifyWrap', // can not customizable\n overlayID: 'NotiflixNotifyOverlay', // can not customizable\n width: '280px',\n position: 'right-top', // 'right-top' - 'right-bottom' - 'left-top' - 'left-bottom' - 'center-top' - 'center-bottom' - 'center-center'\n distance: '10px',\n opacity: 1,\n borderRadius: '5px',\n rtl: false,\n timeout: 3000,\n messageMaxLength: 110,\n backOverlay: false,\n backOverlayColor: 'rgba(0,0,0,0.5)',\n plainText: true,\n showOnlyTheLastOne: false,\n clickToClose: false,\n pauseOnHover: true,\n\n ID: 'NotiflixNotify',\n className: 'notiflix-notify',\n zindex: 4001,\n fontFamily: 'Quicksand',\n fontSize: '13px',\n cssAnimation: true,\n cssAnimationDuration: 400,\n cssAnimationStyle: 'fade', // 'fade' - 'zoom' - 'from-right' - 'from-top' - 'from-bottom' - 'from-left'\n closeButton: false,\n useIcon: true,\n useFontAwesome: false,\n fontAwesomeIconStyle: 'basic', // 'basic' - 'shadow'\n fontAwesomeIconSize: '34px',\n\n success: {\n background: '#32c682',\n textColor: '#fff',\n childClassName: 'notiflix-notify-success',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-check-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(50,198,130,0.2)',\n },\n\n failure: {\n background: '#ff5549',\n textColor: '#fff',\n childClassName: 'notiflix-notify-failure',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-times-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(255,85,73,0.2)',\n },\n\n warning: {\n background: '#eebf31',\n textColor: '#fff',\n childClassName: 'notiflix-notify-warning',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-exclamation-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(238,191,49,0.2)',\n },\n\n info: {\n background: '#26c0d3',\n textColor: '#fff',\n childClassName: 'notiflix-notify-info',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-info-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(38,192,211,0.2)',\n },\n };\n // NOTIFY: Default Settings: end\n\n // COMMON: Console Error: begin\n var commonConsoleError = function (message) {\n return console.error('%c ' + notiflixNamespace + ' Error ', 'padding:2px;border-radius:20px;color:#fff;background:#ff5549', '\\n' + message + notiflixConsoleDocs);\n };\n // COMMON: Console Error: end\n\n // COMMON: Check Head or Body: begin\n var commonCheckHeadOrBody = function (element) {\n if (!element) { element = 'head'; }\n if (window.document[element] === null) {\n commonConsoleError('\\nNotiflix needs to be appended to the \"<' + element + '>\" element, but you called it before the \"<' + element + '>\" element has been created.');\n return false;\n }\n return true;\n };\n // COMMON: Check Head or Body: end\n\n // COMMON: Set Internal CSS Codes: begin\n var commonSetInternalCSSCodes = function (getInternalCSSCodes, styleElementId) {\n // check doc head\n if (!commonCheckHeadOrBody('head')) { return false; }\n\n // internal css\n if (getInternalCSSCodes() !== null && !window.document.getElementById(styleElementId)) {\n var internalCSS = window.document.createElement('style');\n internalCSS.id = styleElementId;\n internalCSS.innerHTML = getInternalCSSCodes();\n window.document.head.appendChild(internalCSS);\n }\n };\n // COMMON: Set Internal CSS Codes: end\n\n // COMMON: Extend Options: begin\n var commonExtendOptions = function () {\n // variables\n var extended = {};\n var deep = false;\n var i = 0;\n // check if a deep merge\n if (Object.prototype.toString.call(arguments[0]) === '[object Boolean]') {\n deep = arguments[0];\n i++;\n }\n // merge the object into the extended object\n var merge = function (obj) {\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n // if property is an object, merge properties\n if (deep && Object.prototype.toString.call(obj[prop]) === '[object Object]') {\n extended[prop] = commonExtendOptions(extended[prop], obj[prop]);\n } else {\n extended[prop] = obj[prop];\n }\n }\n }\n };\n // loop through each object and conduct a merge\n for (; i < arguments.length; i++) {\n merge(arguments[i]);\n }\n return extended;\n };\n // COMMON: Extend Options: end\n\n // COMMON: Get Plaintext: begin\n var commonGetPlaintext = function (html) {\n var htmlPool = window.document.createElement('div');\n htmlPool.innerHTML = html;\n return htmlPool.textContent || htmlPool.innerText || '';\n };\n // COMMON: Get Plaintext: end\n\n // NOTIFY: Get Internal CSS Codes: begin\n var notifyGetInternalCSSCodes = function () {\n var notifyCSS = '[id^=NotiflixNotifyWrap]{pointer-events:none;position:fixed;z-index:4001;opacity:1;right:10px;top:10px;width:280px;max-width:96%;-webkit-box-sizing:border-box;box-sizing:border-box;background:transparent}[id^=NotiflixNotifyWrap].nx-flex-center-center{max-height:calc(100vh - 20px);overflow-x:hidden;overflow-y:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin:auto}[id^=NotiflixNotifyWrap]::-webkit-scrollbar{width:0;height:0}[id^=NotiflixNotifyWrap]::-webkit-scrollbar-thumb{background:transparent}[id^=NotiflixNotifyWrap]::-webkit-scrollbar-track{background:transparent}[id^=NotiflixNotifyWrap] *{-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyOverlay]{-webkit-transition:background .3s ease-in-out;-o-transition:background .3s ease-in-out;transition:background .3s ease-in-out}[id^=NotiflixNotifyWrap]>div{pointer-events:all;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:\"Quicksand\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;width:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;margin:0 0 10px;border-radius:5px;background:#1e1e1e;color:#fff;padding:10px 12px;font-size:14px;line-height:1.4}[id^=NotiflixNotifyWrap]>div:last-child{margin:0}[id^=NotiflixNotifyWrap]>div.nx-with-callback{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-icon{padding:8px;min-height:56px}[id^=NotiflixNotifyWrap]>div.nx-paused{cursor:auto}[id^=NotiflixNotifyWrap]>div.nx-notify-click-to-close{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-close-button{padding:10px 36px 10px 12px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button{padding:6px 36px 6px 6px}[id^=NotiflixNotifyWrap]>div>span.nx-message{cursor:inherit;font-weight:normal;font-family:inherit!important;word-break:break-all;word-break:break-word}[id^=NotiflixNotifyWrap]>div>span.nx-close-button{cursor:pointer;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;position:absolute;right:8px;top:0;bottom:0;margin:auto;color:inherit;width:20px;height:20px}[id^=NotiflixNotifyWrap]>div>span.nx-close-button:hover{-webkit-transform:rotate(90deg);transform:rotate(90deg)}[id^=NotiflixNotifyWrap]>div>span.nx-close-button>svg{position:absolute;width:16px;height:16px;right:2px;top:2px}[id^=NotiflixNotifyWrap]>div>.nx-message-icon{position:absolute;width:40px;height:40px;font-size:30px;line-height:40px;text-align:center;left:8px;top:0;bottom:0;margin:auto;border-radius:inherit}[id^=NotiflixNotifyWrap]>div>.nx-message-icon-fa.nx-message-icon-fa-shadow{color:inherit;background:rgba(0,0,0,.15);-webkit-box-shadow:inset 0 0 34px rgba(0,0,0,.2);box-shadow:inset 0 0 34px rgba(0,0,0,.2);text-shadow:0 0 10px rgba(0,0,0,.3)}[id^=NotiflixNotifyWrap]>div>span.nx-with-icon{position:relative;float:left;width:calc(100% - 40px);margin:0 0 0 40px;padding:0 0 0 10px;-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>.nx-message-icon{left:auto;right:8px}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-with-icon{padding:0 10px 0 0;margin:0 40px 0 0}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-close-button{right:auto;left:8px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button.nx-rtl-on{padding:6px 6px 6px 36px}[id^=NotiflixNotifyWrap]>div.nx-with-close-button.nx-rtl-on{padding:10px 12px 10px 36px}[id^=NotiflixNotifyOverlay].nx-with-animation,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade{-webkit-animation:notify-animation-fade .3s ease-in-out 0s normal;animation:notify-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom{-webkit-animation:notify-animation-zoom .3s ease-in-out 0s normal;animation:notify-animation-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right{-webkit-animation:notify-animation-from-right .3s ease-in-out 0s normal;animation:notify-animation-from-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}@keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left{-webkit-animation:notify-animation-from-left .3s ease-in-out 0s normal;animation:notify-animation-from-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}@keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top{-webkit-animation:notify-animation-from-top .3s ease-in-out 0s normal;animation:notify-animation-from-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}@keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom{-webkit-animation:notify-animation-from-bottom .3s ease-in-out 0s normal;animation:notify-animation-from-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}@keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}[id^=NotiflixNotifyOverlay].nx-with-animation.nx-remove,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade.nx-remove{opacity:0;-webkit-animation:notify-remove-fade .3s ease-in-out 0s normal;animation:notify-remove-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}@keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom.nx-remove{-webkit-transform:scale(0);transform:scale(0);-webkit-animation:notify-remove-zoom .3s ease-in-out 0s normal;animation:notify-remove-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}@keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top.nx-remove{opacity:0;-webkit-animation:notify-remove-to-top .3s ease-in-out 0s normal;animation:notify-remove-to-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}@keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right.nx-remove{opacity:0;-webkit-animation:notify-remove-to-right .3s ease-in-out 0s normal;animation:notify-remove-to-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}@keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom.nx-remove{opacity:0;-webkit-animation:notify-remove-to-bottom .3s ease-in-out 0s normal;animation:notify-remove-to-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}@keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left.nx-remove{opacity:0;-webkit-animation:notify-remove-to-left .3s ease-in-out 0s normal;animation:notify-remove-to-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}@keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}';\n return notifyCSS || null;\n };\n // NOTIFY: Get Internal CSS Codes: end\n\n // NOTIFY: Create: begin\n var notifyCreateCounter = 0;\n var notifyCreate = function (notifyType, message, callbackOrOptions, options) {\n // check doc body\n if (!commonCheckHeadOrBody('body')) { return false; }\n\n // if not initialized pretend like init\n if (!newNotifySettings) {\n Notiflix.Notify.init({});\n }\n\n // create a backup for new settings\n var newNotifySettingsBackup = commonExtendOptions(true, newNotifySettings, {});\n\n // check callbackOrOptions and options: begin\n if ((typeof callbackOrOptions === 'object' && !Array.isArray(callbackOrOptions)) || (typeof options === 'object' && !Array.isArray(options))) {\n // new options\n var newOptions = {};\n if (typeof callbackOrOptions === 'object') {\n newOptions = callbackOrOptions;\n } else if (typeof options === 'object') {\n newOptions = options;\n }\n\n // extend new settings with the new options\n newNotifySettings = commonExtendOptions(true, newNotifySettings, newOptions);\n }\n // check callbackOrOptions and options: end\n\n // notify type\n var theType = newNotifySettings[notifyType.toLocaleLowerCase('en')];\n\n // notify counter\n notifyCreateCounter++;\n\n // check the message: begin\n if (typeof message !== 'string') {\n message = 'Notiflix ' + notifyType;\n }\n // check the message: end\n\n // if plainText is true => HTML tags not allowed: begin\n if (newNotifySettings.plainText) {\n message = commonGetPlaintext(message); // message plain text\n }\n // if plainText is true => HTML tags not allowed: end\n\n // if plainText is false but the message length more than messageMaxLength => Possible HTML tags error: begin\n if (!newNotifySettings.plainText && message.length > newNotifySettings.messageMaxLength) {\n // extend settings for error massege\n newNotifySettings = commonExtendOptions(true, newNotifySettings, { closeButton: true, messageMaxLength: 150 });\n // error message\n message = 'Possible HTML Tags Error: The \"plainText\" option is \"false\" and the notification content length is more than the \"messageMaxLength\" option.';\n }\n // if plainText is false but the message length more than messageMaxLength => Possible HTML tags error: end\n\n // check message max length: begin\n if (message.length > newNotifySettings.messageMaxLength) {\n message = message.substring(0, newNotifySettings.messageMaxLength) + '...';\n }\n // check message max length: end\n\n // font awesome icon style: begin\n if (newNotifySettings.fontAwesomeIconStyle === 'shadow') {\n theType.fontAwesomeIconColor = theType.background;\n }\n // font awesome icon style: end\n\n // if cssAnimaion is false => duration: begin\n if (!newNotifySettings.cssAnimation) {\n newNotifySettings.cssAnimationDuration = 0;\n }\n // if cssAnimaion is false => duration: end\n\n // notify wrap: begin\n var ntflxNotifyWrap = window.document.getElementById(notifySettings.wrapID) || window.document.createElement('div');\n ntflxNotifyWrap.id = notifySettings.wrapID;\n ntflxNotifyWrap.style.width = newNotifySettings.width;\n ntflxNotifyWrap.style.zIndex = newNotifySettings.zindex;\n ntflxNotifyWrap.style.opacity = newNotifySettings.opacity;\n\n // wrap position: begin\n if (newNotifySettings.position === 'center-center') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.margin = 'auto';\n ntflxNotifyWrap.classList.add('nx-flex-center-center');\n ntflxNotifyWrap.style.maxHeight = 'calc((100vh - ' + newNotifySettings.distance + ') - ' + newNotifySettings.distance + ')';\n ntflxNotifyWrap.style.display = 'flex';\n ntflxNotifyWrap.style.flexWrap = 'wrap';\n ntflxNotifyWrap.style.flexDirection = 'column';\n ntflxNotifyWrap.style.justifyContent = 'center';\n ntflxNotifyWrap.style.alignItems = 'center';\n ntflxNotifyWrap.style.pointerEvents = 'none';\n } else if (newNotifySettings.position === 'center-top') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = 'auto';\n ntflxNotifyWrap.style.margin = 'auto';\n } else if (newNotifySettings.position === 'center-bottom') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.margin = 'auto';\n } else if (newNotifySettings.position === 'right-bottom') {\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.left = 'auto';\n } else if (newNotifySettings.position === 'left-top') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = 'auto';\n ntflxNotifyWrap.style.bottom = 'auto';\n } else if (newNotifySettings.position === 'left-bottom') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.right = 'auto';\n } else { // 'right-top' or else\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.left = 'auto';\n ntflxNotifyWrap.style.bottom = 'auto';\n }\n // wrap position: end\n\n // if background overlay is true: begin\n if (newNotifySettings.backOverlay) {\n var ntflxNotifyOverlay = window.document.getElementById(notifySettings.overlayID) || window.document.createElement('div');\n ntflxNotifyOverlay.id = notifySettings.overlayID;\n ntflxNotifyOverlay.style.width = '100%';\n ntflxNotifyOverlay.style.height = '100%';\n ntflxNotifyOverlay.style.position = 'fixed';\n ntflxNotifyOverlay.style.zIndex = newNotifySettings.zindex - 1;\n ntflxNotifyOverlay.style.left = 0;\n ntflxNotifyOverlay.style.top = 0;\n ntflxNotifyOverlay.style.right = 0;\n ntflxNotifyOverlay.style.bottom = 0;\n ntflxNotifyOverlay.style.background = theType.backOverlayColor || newNotifySettings.backOverlayColor;\n ntflxNotifyOverlay.className = newNotifySettings.cssAnimation ? 'nx-with-animation' : '';\n ntflxNotifyOverlay.style.animationDuration = newNotifySettings.cssAnimation ? newNotifySettings.cssAnimationDuration + 'ms' : '';\n\n if (!window.document.getElementById(notifySettings.overlayID)) {\n window.document.body.appendChild(ntflxNotifyOverlay);\n }\n }\n // if background overlay is true: end\n\n if (!window.document.getElementById(notifySettings.wrapID)) {\n window.document.body.appendChild(ntflxNotifyWrap);\n }\n // notify wrap: end\n\n // notify content: begin\n var ntflxNotify = window.document.createElement('div');\n ntflxNotify.id = newNotifySettings.ID + '-' + notifyCreateCounter;\n ntflxNotify.className = newNotifySettings.className + ' ' + theType.childClassName + ' ' + (newNotifySettings.cssAnimation ? 'nx-with-animation' : '') + ' ' + (newNotifySettings.useIcon ? 'nx-with-icon' : '') + ' nx-' + newNotifySettings.cssAnimationStyle + ' ' + (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function' ? 'nx-with-close-button' : '') + ' ' + (typeof callbackOrOptions === 'function' ? 'nx-with-callback' : '') + ' ' + (newNotifySettings.clickToClose ? 'nx-notify-click-to-close' : '');\n ntflxNotify.style.fontSize = newNotifySettings.fontSize;\n ntflxNotify.style.color = theType.textColor;\n ntflxNotify.style.background = theType.background;\n ntflxNotify.style.borderRadius = newNotifySettings.borderRadius;\n ntflxNotify.style.pointerEvents = 'all';\n\n // rtl: begin\n if (newNotifySettings.rtl) {\n ntflxNotify.setAttribute('dir', 'rtl');\n ntflxNotify.classList.add('nx-rtl-on');\n }\n // rtl: end\n\n // font-family: begin\n ntflxNotify.style.fontFamily = '\"' + newNotifySettings.fontFamily + '\", ' + defaultFontFamily;\n // font-family: end\n\n // use css animation: begin\n if (newNotifySettings.cssAnimation) {\n ntflxNotify.style.animationDuration = newNotifySettings.cssAnimationDuration + 'ms';\n }\n // use css animation: end\n\n // close button element: begin\n var closeButtonHTML = '';\n if (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n closeButtonHTML = '';\n }\n // close buttpon element: end\n\n // use icon: begin\n if (newNotifySettings.useIcon) {\n // use font awesome\n if (newNotifySettings.useFontAwesome) {\n ntflxNotify.innerHTML = '' + message + '' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n // use notiflix icon\n else {\n var svgIcon = '';\n if (notifyType === typesNotify.Success) { // success\n svgIcon = '';\n } else if (notifyType === typesNotify.Failure) { // failure\n svgIcon = '';\n } else if (notifyType === typesNotify.Warning) { // warning\n svgIcon = '';\n } else if (notifyType === typesNotify.Info) { // info\n svgIcon = '';\n }\n ntflxNotify.innerHTML = svgIcon + '' + message + '' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n }\n // without icon\n else {\n ntflxNotify.innerHTML = '' + message + '' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n // use icon: end\n // notify content: end\n\n // notify append or prepend: begin\n if (newNotifySettings.position === 'left-bottom' || newNotifySettings.position === 'right-bottom') { // the new one will be first\n var notifyWrap = window.document.getElementById(notifySettings.wrapID);\n notifyWrap.insertBefore(ntflxNotify, notifyWrap.firstChild);\n } else {\n window.document.getElementById(notifySettings.wrapID).appendChild(ntflxNotify);\n }\n // notify append or prepend: end\n\n // remove by timeout or click: begin\n var eachNotifyElement = window.document.getElementById(ntflxNotify.id);\n if (eachNotifyElement) {\n // timeout variables\n var timeoutHide;\n var timeoutRemove;\n\n // hide notify elm and hide overlay: begin\n var hideNotifyElementsAndOverlay = function () {\n eachNotifyElement.classList.add('nx-remove');\n var removeOverlay = window.document.getElementById(notifySettings.overlayID);\n if (removeOverlay && ntflxNotifyWrap.childElementCount <= 0) {\n removeOverlay.classList.add('nx-remove');\n }\n clearTimeout(timeoutHide);\n };\n // hide notify elm and hide overlay: end\n\n // remove notify elm and wrapper: begin\n var removeNotifyElmentsAndWrapper = function () {\n if (eachNotifyElement && eachNotifyElement.parentNode !== null) {\n eachNotifyElement.parentNode.removeChild(eachNotifyElement);\n }\n if (ntflxNotifyWrap.childElementCount <= 0 && ntflxNotifyWrap.parentNode !== null) { // if childs count === 0 remove wrap\n ntflxNotifyWrap.parentNode.removeChild(ntflxNotifyWrap);\n var removeOverlay = window.document.getElementById(notifySettings.overlayID);\n if (removeOverlay && removeOverlay.parentNode !== null) {\n removeOverlay.parentNode.removeChild(removeOverlay);\n }\n }\n clearTimeout(timeoutRemove);\n };\n // remove notify elm and wrapper: end\n\n // if has close button and callbackOrOptions is not a function: begin\n if (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n var closeButtonElm = window.document.getElementById(ntflxNotify.id).querySelector('span.nx-close-button');\n closeButtonElm.addEventListener('click', function () {\n hideNotifyElementsAndOverlay();\n var clickToCloseTimeout = setTimeout(function () {\n removeNotifyElmentsAndWrapper();\n clearTimeout(clickToCloseTimeout);\n }, newNotifySettings.cssAnimationDuration);\n });\n }\n // if has close button and callbackOrOptions is not a function: end\n\n // if callbackOrOptions or click to close: begin\n if (typeof callbackOrOptions === 'function' || newNotifySettings.clickToClose) {\n eachNotifyElement.addEventListener('click', function () {\n if (typeof callbackOrOptions === 'function') {\n callbackOrOptions();\n }\n hideNotifyElementsAndOverlay();\n var callbackTimeout = setTimeout(function () {\n removeNotifyElmentsAndWrapper();\n clearTimeout(callbackTimeout);\n }, newNotifySettings.cssAnimationDuration);\n });\n }\n // if callbackOrOptions or click to close: end\n\n // else auto remove: begin\n if (!newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n // auto remove: begin\n var autoRemove = function () {\n timeoutHide = setTimeout(function () {\n hideNotifyElementsAndOverlay();\n }, newNotifySettings.timeout);\n timeoutRemove = setTimeout(function () {\n removeNotifyElmentsAndWrapper();\n }, newNotifySettings.timeout + newNotifySettings.cssAnimationDuration);\n };\n autoRemove();\n // auto remove: end\n\n // pause auto remove: begin\n if (newNotifySettings.pauseOnHover) {\n eachNotifyElement.addEventListener('mouseenter', function () {\n eachNotifyElement.classList.add('nx-paused');\n clearTimeout(timeoutHide);\n clearTimeout(timeoutRemove);\n });\n eachNotifyElement.addEventListener('mouseleave', function () {\n eachNotifyElement.classList.remove('nx-paused');\n autoRemove();\n });\n }\n // pause auto remove: end\n }\n // else auto remove: end\n }\n // remove by timeout or click: end\n\n // notify - show only the last one: begin\n if (newNotifySettings.showOnlyTheLastOne && notifyCreateCounter > 0) {\n var allNotifyElmNotTheLastOne = window.document.querySelectorAll('[id^=' + newNotifySettings.ID + '-]:not([id=' + newNotifySettings.ID + '-' + notifyCreateCounter + '])');\n for (var i = 0; i < allNotifyElmNotTheLastOne.length; i++) {\n var eachNotifyElmNotLastOne = allNotifyElmNotTheLastOne[i];\n if (eachNotifyElmNotLastOne.parentNode !== null) {\n eachNotifyElmNotLastOne.parentNode.removeChild(eachNotifyElmNotLastOne);\n }\n }\n }\n // notify - show only the last one: end\n\n // extend new settings with the backup settings\n newNotifySettings = commonExtendOptions(true, newNotifySettings, newNotifySettingsBackup);\n\n };\n // NOTIFY: Create: end\n\n var Notiflix = {\n Notify: {\n // Init\n init: function (userNotifyOptions) {\n // extend options\n newNotifySettings = commonExtendOptions(true, notifySettings, userNotifyOptions);\n // internal css if exist\n commonSetInternalCSSCodes(notifyGetInternalCSSCodes, 'NotiflixNotifyInternalCSS');\n },\n // Merge First Init\n merge: function (userNotifyExtendOptions) {\n // if initialized already\n if (newNotifySettings) {\n newNotifySettings = commonExtendOptions(true, newNotifySettings, userNotifyExtendOptions);\n }\n // initialize first\n else {\n commonConsoleError('You have to initialize the Notify module before call Merge function.');\n return false;\n }\n },\n // Success\n success: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Success, message, callbackOrOptions, options);\n },\n // Failure\n failure: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Failure, message, callbackOrOptions, options);\n },\n // Warning\n warning: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Warning, message, callbackOrOptions, options);\n },\n // Info\n info: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Info, message, callbackOrOptions, options);\n },\n },\n };\n\n if (typeof window.Notiflix === 'object') {\n return commonExtendOptions(true, window.Notiflix, { Notify: Notiflix.Notify });\n } else {\n return { Notify: Notiflix.Notify };\n }\n\n});","import { fetchBreeds, fetchCatByBreed } from './cat-api';\nimport { createMarkup } from './createMarkup';\nimport SlimSelect from 'slim-select'\nimport { Notify } from 'notiflix/build/notiflix-notify-aio';\nimport 'slim-select/dist/slimselect.css';\nimport '../src/styles.css'\n\nconst breedSelect = document.querySelector('.breed-select');\nconst catInfo = document.querySelector('.cat-info');\nconst loader = document.querySelector('.loader');\nconst error = document.querySelector('.error');\n\nerror.classList.add('is-hidden');\n\nlet storedBreeds = [];\n\nfetchBreeds()\n .then(data => {\n data.forEach(breed => {\n storedBreeds.push({ text: breed.name, value: breed.id });\n });\n new SlimSelect({\n select: breedSelect,\n data: storedBreeds\n });\n })\n .catch(err => console.log(err));\n\n//console.log(storedBreeds)\n \nbreedSelect.addEventListener('change', onSelectBreed);\n\nfunction onSelectBreed(event) {\n const breedId = event.currentTarget.value;\n catInfo.classList.add('is-hidden');\n loader.classList.remove('is-hidden');\n\n // console.log(breedId);\n fetchCatByBreed(breedId)\n .then(data => {\n loader.classList.add('is-hidden');\n catInfo.classList.remove('is-hidden');\n catInfo.innerHTML = createMarkup(data[0]);\n })\n .catch(err => console.log(err));\n};\n\n\n \n\n\n"],"names":["async","$6b5f202d1456c0af$export$57b7d3a597416aa2","breedId","URL","resp","fetch","ok","Error","status","json","$fdd6bbb96af63f6e$export$24783e9f3a24abe4","catData","url","breeds","name","description","temperament","wikipedia_url","$f753f16ae3da2a89$exports","generateID","Math","random","toString","substring","hasClassInTree","element","className","hasClass","e","c","classList","contains","dataset","id","parentByClass","document","parentNode","debounce","func","wait","immediate","timeout","args","context","self","later","apply","callNow","clearTimeout","setTimeout","isEqual","a","b","JSON","stringify","kebabCase","str","result","replace","match","toLowerCase","toUpperCase","Optgroup","constructor","optgroup","this","label","selectAll","undefined","selectAllText","closable","options","o","push","Option","option","value","text","html","selected","display","disabled","mandatory","placeholder","class","style","data","Store","type","selectType","setData","validateDataArray","Array","isArray","dataObj","validateOption","partialToFullData","dataFinal","forEach","optOptions","length","setSelectedBy","getSelected","getData","filter","getDataOptions","addOption","concat","selectedType","selectedValues","firstOption","hasSelected","includes","selectedOptions","getSelectedOptions","opt","getSelectedIDs","selectedIDs","op","getOptgroupByID","getOptionByID","getSelectType","getFirstOption","search","searchFilter","trim","includeOptgroup","dataSearch","Render","settings","store","callbacks","classes","main","values","single","max","valueText","valueDelete","valueOut","deselect","deselectPath","arrow","arrowClose","arrowOpen","content","openAbove","openBelow","searchHighlighter","searching","addable","addablePath","list","optgroupLabel","optgroupLabelText","optgroupActions","optgroupSelectAll","optgroupSelectAllBox","optgroupSelectAllCheck","optgroupClosable","optionDelete","highlighted","open","close","error","hide","mainDiv","contentDiv","updateClassStyles","updateAriaAttributes","contentLocation","appendChild","enable","remove","input","disable","add","path","setAttribute","openPosition","moveContent","selectedId","selectedOption","querySelector","ensureElementInView","removeAttribute","cssText","contentPosition","role","_a","createElement","ariaLabel","tabIndex","onkeydown","key","highlight","click","onclick","isOpen","allowDeselect","isMultiple","stopPropagation","shouldDelete","before","after","beforeChange","setSelected","updateDeselectAll","closeOnSelect","afterChange","deselectSvg","createElementNS","arrowPath","alwaysOpen","svg","mainFocus","eventType","focus","preventScroll","placeholderOption","placeholderText","innerHTML","renderValues","renderMultipleValues","renderSingleValue","selectedSingle","singleValue","innerText","outerHTML","currentNodes","childNodes","maxValuesShown","textContent","maxValuesMessage","removeNodes","i","node","getAttribute","n","hasChildNodes","removeChild","d","shouldAdd","String","keepOrder","multipleValue","insertBefore","insertAdjacentElement","deleteDiv","preventDefault","minSelected","deleteSvg","deletePath","searchDiv","listDiv","putContent","moveContentAbove","moveContentBelow","searchReturn","showSearch","readOnly","searchPlaceholder","oninput","target","ctrlKey","plus","plusPath","inputValue","runFinish","oo","newOption","addableValue","Promise","then","searchFocus","getOptions","notPlaceholder","notDisabled","notHidden","query","from","querySelectorAll","dir","prevOption","prevParent","parentElement","selectOption","selectParent","renderError","errorDiv","renderSearching","searchingDiv","searchingText","renderOptions","noResults","searchText","optgroupEl","allSelected","o1","selectAllSvg","selectAllBox","selectAllCheck","addEventListener","currentSelected","newSelected","s","map","o5","optgroupClosableSvg","optgroupClosableArrow","some","o2","optionEl","split","dataClass","searchHighlight","highlightText","showOptionTooltips","hideSelected","currentTarget","elementID","maxSelected","shouldUpdate","destroy","completedString","regex","RegExp","matchStartPosition","index","matchEndPosition","originalTextFoundByRegex","mainHeight","offsetHeight","contentHeight","containerRect","getBoundingClientRect","margin","top","height","window","scrollY","left","scrollX","width","container","cTop","scrollTop","offsetTop","cBottom","clientHeight","eTop","eBottom","mainRect","innerHeight","hasSelectedItems","deselectButton","hideClass","Select","select","listen","observer","valueChange","bind","passive","MutationObserver","observeCall","changeListen","hideUI","showUI","observe","subtree","childList","attributes","disconnect","ev","onValueChange","getSelectedValues","mutations","classChanged","disabledChanged","optgroupOptionChanged","m","attributeName","nodeName","onClassChange","onDisabledChange","onOptionsChange","nodes","getDataFromOptgroup","getDataFromOption","selectall","selectalltext","optgroupOptions","updateSelect","updateOptions","createOptgroup","createOption","dispatchEvent","Event","info","optionClass","Object","keys","removeEventListener","Settings","isFullOpen","intervalMove","body","timeoutDelay","SlimSelect","config","events","indexOf","beforeOpen","afterOpen","beforeClose","afterClose","windowResize","render","windowScroll","documentClick","windowVisibilityChange","hidden","selectEl","tagName","ssid","debounceEvents","hasOwnProperty","multiple","renderCallbacks","selectAriaLabel","selectAriaLabelledBy","nextSibling","slim","err","dataClean","runAfterChange","clearInterval","setInterval","searchResp","catch","message","factory","root","$parcel$global","$db8fed00f4c020c9$exports","newNotifySettings","typesNotify","notifySettings","wrapID","overlayID","position","distance","opacity","borderRadius","rtl","messageMaxLength","backOverlay","backOverlayColor","plainText","showOnlyTheLastOne","clickToClose","pauseOnHover","ID","zindex","fontFamily","fontSize","cssAnimation","cssAnimationDuration","cssAnimationStyle","closeButton","useIcon","useFontAwesome","fontAwesomeIconStyle","fontAwesomeIconSize","success","background","textColor","childClassName","notiflixIconColor","fontAwesomeClassName","fontAwesomeIconColor","failure","warning","commonConsoleError","console","commonCheckHeadOrBody","commonExtendOptions","extended","deep","prototype","call","arguments","merge","obj","prop","notifyGetInternalCSSCodes","notifyCreateCounter","notifyCreate","notifyType","callbackOrOptions","Notiflix","Notify","init","newNotifySettingsBackup","newOptions","htmlPool","theType","toLocaleLowerCase","ntflxNotifyWrap","getElementById","zIndex","right","bottom","maxHeight","flexWrap","flexDirection","justifyContent","alignItems","pointerEvents","ntflxNotifyOverlay","animationDuration","ntflxNotify","color","closeButtonHTML","svgIcon","notifyWrap","firstChild","eachNotifyElement","timeoutHide","timeoutRemove","hideNotifyElementsAndOverlay","removeOverlay","childElementCount","removeNotifyElmentsAndWrapper","clickToCloseTimeout","callbackTimeout","autoRemove","allNotifyElmNotTheLastOne","eachNotifyElmNotLastOne","userNotifyOptions","getInternalCSSCodes","styleElementId","internalCSS","head","commonSetInternalCSSCodes","userNotifyExtendOptions","define","amd","$1f0dc3b9307be026$var$breedSelect","$1f0dc3b9307be026$var$catInfo","$1f0dc3b9307be026$var$loader","$1f0dc3b9307be026$var$storedBreeds","statusText","breed","$parcel$interopDefault","log","event"],"version":3,"file":"index.f6504df7.js.map"}
\ No newline at end of file
diff --git a/index.html b/index.html
index 374d129..2d20511 100644
--- a/index.html
+++ b/index.html
@@ -1 +1 @@
-Cat-search Oops! Something went wrong! Try reloading the page!
\ No newline at end of file
+Cat-search Oops! Something went wrong! Try reloading the page!
\ No newline at end of file