From 62175e285f6fac13dd4c01a9c7fe5179a508ae3d Mon Sep 17 00:00:00 2001 From: Tiberiu Dumitru Date: Tue, 1 Jul 2025 10:59:19 +0300 Subject: [PATCH 1/2] Kept ids and improvements. --- dist/slimselect.cjs.js | 22 +- dist/slimselect.css | 2 +- dist/slimselect.css.map | 2 +- dist/slimselect.es.js | 22 +- dist/slimselect.global.js | 22 +- dist/slimselect.js | 22 +- dist/slimselect.min.js | 2 +- dist/slimselect.umd.js | 22 +- dist/slimselect.umd.min.js | 2 +- docs/assets/home.js | 2 +- docs/assets/index.css | 2 +- docs/assets/index.js | 32 +- docs/assets/index5.js | 8 +- docs/assets/vue.js | 10 +- package.json | 6 + pnpm-lock.yaml | 6086 +++++++++++++++++++++++++++++++ src/slim-select/render.ts | 35 +- src/slim-select/slimselect.scss | 2 +- 18 files changed, 6238 insertions(+), 63 deletions(-) create mode 100644 pnpm-lock.yaml diff --git a/dist/slimselect.cjs.js b/dist/slimselect.cjs.js index 4a188a68..858b5145 100644 --- a/dist/slimselect.cjs.js +++ b/dist/slimselect.cjs.js @@ -365,6 +365,7 @@ class Store { class Render { constructor(settings, classes, store, callbacks) { + var _a; this.store = store; this.settings = settings; this.classes = classes; @@ -373,7 +374,12 @@ class Render { this.content = this.contentDiv(); this.updateClassStyles(); this.updateAriaAttributes(); - if (this.settings.contentLocation) { + const contentContainer = (_a = document + .querySelector(`[data-id="${this.settings.id}"]`)) === null || _a === void 0 ? void 0 : _a.closest('.offcanvas-body'); + if (contentContainer) { + contentContainer.appendChild(this.content.main); + } + else if (this.settings.contentLocation) { this.settings.contentLocation.appendChild(this.content.main); } } @@ -413,7 +419,9 @@ class Render { this.content.main.className = ''; this.content.main.removeAttribute('style'); this.main.main.classList.add(this.classes.main); + this.main.main.classList.add('ss-2'); this.content.main.classList.add(this.classes.content); + this.content.main.classList.add('ss-content-2'); if (this.settings.style !== '') { this.main.main.style.cssText = this.settings.style; this.content.main.style.cssText = this.settings.style; @@ -440,7 +448,7 @@ class Render { mainDiv() { var _a; const main = document.createElement('div'); - main.dataset.id = this.settings.id; + main.id = this.settings.id + '-main'; main.setAttribute('aria-label', this.settings.ariaLabel); main.tabIndex = 0; main.onkeydown = (e) => { @@ -692,6 +700,7 @@ class Render { if (!option.mandatory) { const deleteDiv = document.createElement('div'); deleteDiv.classList.add(this.classes.valueDelete); + deleteDiv.setAttribute('tabindex', '0'); deleteDiv.onclick = (e) => { e.preventDefault(); e.stopPropagation(); @@ -738,12 +747,17 @@ class Render { deleteSvg.appendChild(deletePath); deleteDiv.appendChild(deleteSvg); value.appendChild(deleteDiv); + deleteDiv.onkeydown = (e) => { + if (e.key === 'Enter') { + deleteDiv.click(); + } + }; } return value; } contentDiv() { const main = document.createElement('div'); - main.dataset.id = this.settings.id; + main.id = this.settings.id + '-content'; const search = this.searchDiv(); main.appendChild(search.main); const list = this.listDiv(); @@ -1151,7 +1165,7 @@ class Render { return placeholder; } const optionEl = document.createElement('div'); - optionEl.dataset.id = option.id; + optionEl.id = option.id; optionEl.classList.add(this.classes.option); optionEl.setAttribute('role', 'option'); if (option.class) { diff --git a/dist/slimselect.css b/dist/slimselect.css index 02340824..2bf6e26c 100644 --- a/dist/slimselect.css +++ b/dist/slimselect.css @@ -1 +1 @@ -: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;padding: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-fixed{position:fixed}.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:block;padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);white-space:normal;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{display:inline-block;background-color:var(--ss-highlight-color)}/*# sourceMappingURL=slimselect.css.map */ +: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.ss-2{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.ss-2:focus{box-shadow:0 0 5px var(--ss-focus-color)}.ss-main.ss-2.ss-disabled{background-color:var(--ss-disabled-color);cursor:not-allowed}.ss-main.ss-2.ss-disabled .ss-values .ss-disabled{color:var(--ss-font-color)}.ss-main.ss-2.ss-disabled .ss-values .ss-value .ss-value-delete{cursor:not-allowed}.ss-main.ss-2.ss-open-above{border-top-left-radius:0px;border-top-right-radius:0px}.ss-main.ss-2.ss-open-below{border-bottom-left-radius:0px;border-bottom-right-radius:0px}.ss-main.ss-2 .ss-values{display:inline-flex;flex-wrap:wrap;gap:var(--ss-spacing-m);flex:1 1 100%}.ss-main.ss-2 .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-2 .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-2 .ss-values .ss-single{display:flex;margin:auto 0px auto var(--ss-spacing-s)}.ss-main.ss-2 .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-2 .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-2 .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-2 .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-2 .ss-values .ss-value .ss-value-delete svg{height:var(--ss-spacing-l);width:var(--ss-spacing-l)}.ss-main.ss-2 .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-2 .ss-deselect{flex:0 1 auto;display:flex;align-items:center;justify-content:center;width:fit-content;height:auto;padding:0 var(--ss-spacing-m) 0 var(--ss-spacing-m)}.ss-main.ss-2 .ss-deselect svg{width:8px;height:8px}.ss-main.ss-2 .ss-deselect svg path{fill:none;stroke:var(--ss-font-color);stroke-width:20;stroke-linecap:round;stroke-linejoin:round}.ss-main.ss-2 .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-2 .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-fixed{position:fixed}.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:block;padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);white-space:normal;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{display:inline-block;background-color:var(--ss-highlight-color)}/*# sourceMappingURL=slimselect.css.map */ diff --git a/dist/slimselect.css.map b/dist/slimselect.css.map index 5eff9873..36c36e43 100644 --- a/dist/slimselect.css.map +++ b/dist/slimselect.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../src/slim-select/slimselect.scss"],"names":[],"mappings":"AAAA,MAEE,4BACA,uBACA,yBACA,qCACA,6BACA,2BACA,8BACA,4BACA,0BACA,0BAGA,uBACA,2BAGA,oBACA,oBACA,oBAGA,4BACA,wBAIF,sBACE,GACE,mBACA,UAEF,KACE,mBACA,WAGJ,uBACE,GACE,mBACA,UAEF,KACE,mBACA,WAKJ,SACE,wBAIF,SACE,aACA,mBACA,kBACA,iBACA,2BACA,iCACA,WACA,4BACA,eACA,wCACA,sCACA,oCACA,UACA,sBACA,uDACA,gBAEA,eACE,yCAGF,qBACE,0CACA,mBAGE,6CACE,2BAIA,2DACE,mBAMR,uBACE,2BACA,4BAEF,uBACE,8BACA,+BAGF,oBACE,oBACA,eACA,wBACA,cAEA,oCACE,aACA,wFACA,yBACA,gBACA,mBACA,WACA,uCACA,gBACA,uBACA,mBAIF,4BACE,aACA,iBACA,mBACA,kBACA,eACA,yBACA,cACA,gDACA,yCACA,sCAIF,+BACE,aACA,yCAIF,8BACE,aACA,iBACA,mBACA,kBACA,yCACA,sCACA,0BACA,8CACA,mCACA,yBAEA,2CACE,2BACA,8CACA,mCAGF,6CACE,eACA,yBACA,cACA,gDAGF,+CACE,aACA,mBACA,2BACA,0BACA,gDACA,eACA,yCACA,uBAEA,mDACE,2BACA,0BAEA,wDACE,UACA,0BACA,gBACA,qBACA,sBAOV,sBACE,cACA,aACA,mBACA,uBACA,kBACA,YACA,oDAEA,0BACE,UACA,WAEA,+BACE,UACA,4BACA,gBACA,qBACA,sBAKN,mBACE,cACA,aACA,mBACA,yBACA,WACA,YACA,yDAEA,wBACE,UACA,4BACA,gBACA,qBACA,sBACA,oCACA,sCAMN,YACE,kBACA,aACA,YACA,sBACA,WACA,oCACA,sBACA,wCACA,oCACA,WACE,wEAEF,UACA,oBACA,4BACA,gBACA,cAEA,wBACE,kBACA,YAGF,qBACE,eAGF,0BACE,8BACA,UACA,oBACA,+BACA,+CACA,gDAGF,0BACE,UACA,oBACA,4BACA,kDACA,mDAGF,uBACE,cACA,aACA,mBACA,wFAEA,6BACE,oBACA,kBACA,oBACA,cACA,WACA,cACA,gDACA,SACA,wCACA,sCACA,oCACA,UACA,gBACA,sBAEA,0CACE,uCACA,sBAGF,mCACE,yCAIJ,mCACE,oBACA,uBACA,mBACA,eACA,cACA,YACA,iCACA,wCACA,sCAEA,uCACE,aACA,mBACA,yBACA,cACA,WACA,YACA,yDAEA,4CACE,UACA,4BACA,gBACA,qBACA,sBAMR,qBACE,cACA,YACA,kBACA,gBAEA,+BACE,4BACA,4BAGF,mCACE,2BACA,4BAME,sDACE,wBAIJ,qDACE,aACA,mBACA,mBACA,8BACA,wFAEA,6EACE,cACA,iBACA,2BAIF,oEACE,eAGF,0EACE,cACA,aACA,mBACA,mBACA,uBACA,wBAEA,wFACE,cACA,aACA,mBACA,eAEA,8FACE,WAKE,6GACE,6BAKN,6FACE,cACA,aACA,mBACA,uBACA,cACA,kBACA,kCAGF,4FACE,cACA,WACA,YAEA,iGACE,UACA,+BACA,qBACA,sBAGF,wGACE,eAEF,uGACE,gBAKN,uFACE,cACA,aACA,mBACA,eAEA,iGACE,cACA,WACA,YAEA,sGACE,UACA,4BACA,gBACA,qBACA,sBACA,oCACA,sCAOV,6CACE,gGAIJ,gCACE,cACA,wFACA,mBACA,2BACA,eACA,iBAEA,sCACE,yBACA,yCAGF,6GAEE,yBACA,yCAGF,4CACE,mBACA,0CAEA,kDACE,2BAKJ,qDACE,qBACA","file":"slimselect.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../src/slim-select/slimselect.scss"],"names":[],"mappings":"AAAA,MAEE,4BACA,uBACA,yBACA,qCACA,6BACA,2BACA,8BACA,4BACA,0BACA,0BAGA,uBACA,2BAGA,oBACA,oBACA,oBAGA,4BACA,wBAIF,sBACE,GACE,mBACA,UAEF,KACE,mBACA,WAGJ,uBACE,GACE,mBACA,UAEF,KACE,mBACA,WAKJ,SACE,wBAIF,cACE,aACA,mBACA,kBACA,iBACA,2BACA,iCACA,WACA,4BACA,eACA,wCACA,sCACA,oCACA,UACA,sBACA,uDACA,gBAEA,oBACE,yCAGF,0BACE,0CACA,mBAGE,kDACE,2BAIA,gEACE,mBAMR,4BACE,2BACA,4BAEF,4BACE,8BACA,+BAGF,yBACE,oBACA,eACA,wBACA,cAEA,yCACE,aACA,wFACA,yBACA,gBACA,mBACA,WACA,uCACA,gBACA,uBACA,mBAIF,iCACE,aACA,iBACA,mBACA,kBACA,eACA,yBACA,cACA,gDACA,yCACA,sCAIF,oCACE,aACA,yCAIF,mCACE,aACA,iBACA,mBACA,kBACA,yCACA,sCACA,0BACA,8CACA,mCACA,yBAEA,gDACE,2BACA,8CACA,mCAGF,kDACE,eACA,yBACA,cACA,gDAGF,oDACE,aACA,mBACA,2BACA,0BACA,gDACA,eACA,yCACA,uBAEA,wDACE,2BACA,0BAEA,6DACE,UACA,0BACA,gBACA,qBACA,sBAOV,2BACE,cACA,aACA,mBACA,uBACA,kBACA,YACA,oDAEA,+BACE,UACA,WAEA,oCACE,UACA,4BACA,gBACA,qBACA,sBAKN,wBACE,cACA,aACA,mBACA,yBACA,WACA,YACA,yDAEA,6BACE,UACA,4BACA,gBACA,qBACA,sBACA,oCACA,sCAMN,YACE,kBACA,aACA,YACA,sBACA,WACA,oCACA,sBACA,wCACA,oCACA,WACE,wEAEF,UACA,oBACA,4BACA,gBACA,cAEA,wBACE,kBACA,YAGF,qBACE,eAGF,0BACE,8BACA,UACA,oBACA,+BACA,+CACA,gDAGF,0BACE,UACA,oBACA,4BACA,kDACA,mDAGF,uBACE,cACA,aACA,mBACA,wFAEA,6BACE,oBACA,kBACA,oBACA,cACA,WACA,cACA,gDACA,SACA,wCACA,sCACA,oCACA,UACA,gBACA,sBAEA,0CACE,uCACA,sBAGF,mCACE,yCAIJ,mCACE,oBACA,uBACA,mBACA,eACA,cACA,YACA,iCACA,wCACA,sCAEA,uCACE,aACA,mBACA,yBACA,cACA,WACA,YACA,yDAEA,4CACE,UACA,4BACA,gBACA,qBACA,sBAMR,qBACE,cACA,YACA,kBACA,gBAEA,+BACE,4BACA,4BAGF,mCACE,2BACA,4BAME,sDACE,wBAIJ,qDACE,aACA,mBACA,mBACA,8BACA,wFAEA,6EACE,cACA,iBACA,2BAIF,oEACE,eAGF,0EACE,cACA,aACA,mBACA,mBACA,uBACA,wBAEA,wFACE,cACA,aACA,mBACA,eAEA,8FACE,WAKE,6GACE,6BAKN,6FACE,cACA,aACA,mBACA,uBACA,cACA,kBACA,kCAGF,4FACE,cACA,WACA,YAEA,iGACE,UACA,+BACA,qBACA,sBAGF,wGACE,eAEF,uGACE,gBAKN,uFACE,cACA,aACA,mBACA,eAEA,iGACE,cACA,WACA,YAEA,sGACE,UACA,4BACA,gBACA,qBACA,sBACA,oCACA,sCAOV,6CACE,gGAIJ,gCACE,cACA,wFACA,mBACA,2BACA,eACA,iBAEA,sCACE,yBACA,yCAGF,6GAEE,yBACA,yCAGF,4CACE,mBACA,0CAEA,kDACE,2BAKJ,qDACE,qBACA","file":"slimselect.css"} \ No newline at end of file diff --git a/dist/slimselect.es.js b/dist/slimselect.es.js index f66750c9..5d033760 100644 --- a/dist/slimselect.es.js +++ b/dist/slimselect.es.js @@ -363,6 +363,7 @@ class Store { class Render { constructor(settings, classes, store, callbacks) { + var _a; this.store = store; this.settings = settings; this.classes = classes; @@ -371,7 +372,12 @@ class Render { this.content = this.contentDiv(); this.updateClassStyles(); this.updateAriaAttributes(); - if (this.settings.contentLocation) { + const contentContainer = (_a = document + .querySelector(`[data-id="${this.settings.id}"]`)) === null || _a === void 0 ? void 0 : _a.closest('.offcanvas-body'); + if (contentContainer) { + contentContainer.appendChild(this.content.main); + } + else if (this.settings.contentLocation) { this.settings.contentLocation.appendChild(this.content.main); } } @@ -411,7 +417,9 @@ class Render { this.content.main.className = ''; this.content.main.removeAttribute('style'); this.main.main.classList.add(this.classes.main); + this.main.main.classList.add('ss-2'); this.content.main.classList.add(this.classes.content); + this.content.main.classList.add('ss-content-2'); if (this.settings.style !== '') { this.main.main.style.cssText = this.settings.style; this.content.main.style.cssText = this.settings.style; @@ -438,7 +446,7 @@ class Render { mainDiv() { var _a; const main = document.createElement('div'); - main.dataset.id = this.settings.id; + main.id = this.settings.id + '-main'; main.setAttribute('aria-label', this.settings.ariaLabel); main.tabIndex = 0; main.onkeydown = (e) => { @@ -690,6 +698,7 @@ class Render { if (!option.mandatory) { const deleteDiv = document.createElement('div'); deleteDiv.classList.add(this.classes.valueDelete); + deleteDiv.setAttribute('tabindex', '0'); deleteDiv.onclick = (e) => { e.preventDefault(); e.stopPropagation(); @@ -736,12 +745,17 @@ class Render { deleteSvg.appendChild(deletePath); deleteDiv.appendChild(deleteSvg); value.appendChild(deleteDiv); + deleteDiv.onkeydown = (e) => { + if (e.key === 'Enter') { + deleteDiv.click(); + } + }; } return value; } contentDiv() { const main = document.createElement('div'); - main.dataset.id = this.settings.id; + main.id = this.settings.id + '-content'; const search = this.searchDiv(); main.appendChild(search.main); const list = this.listDiv(); @@ -1149,7 +1163,7 @@ class Render { return placeholder; } const optionEl = document.createElement('div'); - optionEl.dataset.id = option.id; + optionEl.id = option.id; optionEl.classList.add(this.classes.option); optionEl.setAttribute('role', 'option'); if (option.class) { diff --git a/dist/slimselect.global.js b/dist/slimselect.global.js index 8aacac3b..2263e546 100644 --- a/dist/slimselect.global.js +++ b/dist/slimselect.global.js @@ -366,6 +366,7 @@ var SlimSelect = (function () { class Render { constructor(settings, classes, store, callbacks) { + var _a; this.store = store; this.settings = settings; this.classes = classes; @@ -374,7 +375,12 @@ var SlimSelect = (function () { this.content = this.contentDiv(); this.updateClassStyles(); this.updateAriaAttributes(); - if (this.settings.contentLocation) { + const contentContainer = (_a = document + .querySelector(`[data-id="${this.settings.id}"]`)) === null || _a === void 0 ? void 0 : _a.closest('.offcanvas-body'); + if (contentContainer) { + contentContainer.appendChild(this.content.main); + } + else if (this.settings.contentLocation) { this.settings.contentLocation.appendChild(this.content.main); } } @@ -414,7 +420,9 @@ var SlimSelect = (function () { this.content.main.className = ''; this.content.main.removeAttribute('style'); this.main.main.classList.add(this.classes.main); + this.main.main.classList.add('ss-2'); this.content.main.classList.add(this.classes.content); + this.content.main.classList.add('ss-content-2'); if (this.settings.style !== '') { this.main.main.style.cssText = this.settings.style; this.content.main.style.cssText = this.settings.style; @@ -441,7 +449,7 @@ var SlimSelect = (function () { mainDiv() { var _a; const main = document.createElement('div'); - main.dataset.id = this.settings.id; + main.id = this.settings.id + '-main'; main.setAttribute('aria-label', this.settings.ariaLabel); main.tabIndex = 0; main.onkeydown = (e) => { @@ -693,6 +701,7 @@ var SlimSelect = (function () { if (!option.mandatory) { const deleteDiv = document.createElement('div'); deleteDiv.classList.add(this.classes.valueDelete); + deleteDiv.setAttribute('tabindex', '0'); deleteDiv.onclick = (e) => { e.preventDefault(); e.stopPropagation(); @@ -739,12 +748,17 @@ var SlimSelect = (function () { deleteSvg.appendChild(deletePath); deleteDiv.appendChild(deleteSvg); value.appendChild(deleteDiv); + deleteDiv.onkeydown = (e) => { + if (e.key === 'Enter') { + deleteDiv.click(); + } + }; } return value; } contentDiv() { const main = document.createElement('div'); - main.dataset.id = this.settings.id; + main.id = this.settings.id + '-content'; const search = this.searchDiv(); main.appendChild(search.main); const list = this.listDiv(); @@ -1152,7 +1166,7 @@ var SlimSelect = (function () { return placeholder; } const optionEl = document.createElement('div'); - optionEl.dataset.id = option.id; + optionEl.id = option.id; optionEl.classList.add(this.classes.option); optionEl.setAttribute('role', 'option'); if (option.class) { diff --git a/dist/slimselect.js b/dist/slimselect.js index 8b5fc71a..5f7dc6ed 100644 --- a/dist/slimselect.js +++ b/dist/slimselect.js @@ -369,6 +369,7 @@ class Render { constructor(settings, classes, store, callbacks) { + var _a; this.store = store; this.settings = settings; this.classes = classes; @@ -377,7 +378,12 @@ this.content = this.contentDiv(); this.updateClassStyles(); this.updateAriaAttributes(); - if (this.settings.contentLocation) { + const contentContainer = (_a = document + .querySelector(`[data-id="${this.settings.id}"]`)) === null || _a === void 0 ? void 0 : _a.closest('.offcanvas-body'); + if (contentContainer) { + contentContainer.appendChild(this.content.main); + } + else if (this.settings.contentLocation) { this.settings.contentLocation.appendChild(this.content.main); } } @@ -417,7 +423,9 @@ this.content.main.className = ''; this.content.main.removeAttribute('style'); this.main.main.classList.add(this.classes.main); + this.main.main.classList.add('ss-2'); this.content.main.classList.add(this.classes.content); + this.content.main.classList.add('ss-content-2'); if (this.settings.style !== '') { this.main.main.style.cssText = this.settings.style; this.content.main.style.cssText = this.settings.style; @@ -444,7 +452,7 @@ mainDiv() { var _a; const main = document.createElement('div'); - main.dataset.id = this.settings.id; + main.id = this.settings.id + '-main'; main.setAttribute('aria-label', this.settings.ariaLabel); main.tabIndex = 0; main.onkeydown = (e) => { @@ -696,6 +704,7 @@ if (!option.mandatory) { const deleteDiv = document.createElement('div'); deleteDiv.classList.add(this.classes.valueDelete); + deleteDiv.setAttribute('tabindex', '0'); deleteDiv.onclick = (e) => { e.preventDefault(); e.stopPropagation(); @@ -742,12 +751,17 @@ deleteSvg.appendChild(deletePath); deleteDiv.appendChild(deleteSvg); value.appendChild(deleteDiv); + deleteDiv.onkeydown = (e) => { + if (e.key === 'Enter') { + deleteDiv.click(); + } + }; } return value; } contentDiv() { const main = document.createElement('div'); - main.dataset.id = this.settings.id; + main.id = this.settings.id + '-content'; const search = this.searchDiv(); main.appendChild(search.main); const list = this.listDiv(); @@ -1155,7 +1169,7 @@ return placeholder; } const optionEl = document.createElement('div'); - optionEl.dataset.id = option.id; + optionEl.id = option.id; optionEl.classList.add(this.classes.option); optionEl.setAttribute('role', 'option'); if (option.class) { diff --git a/dist/slimselect.min.js b/dist/slimselect.min.js index 30529fc9..ebb18303 100644 --- a/dist/slimselect.min.js +++ b/dist/slimselect.min.js @@ -1 +1 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).SlimSelect=e()}(this,(function(){"use strict";class t{constructor(t){t||(t={}),this.main=t.main||"ss-main",this.placeholder=t.placeholder||"ss-placeholder",this.values=t.values||"ss-values",this.single=t.single||"ss-single",this.max=t.max||"ss-max",this.value=t.value||"ss-value",this.valueText=t.valueText||"ss-value-text",this.valueDelete=t.valueDelete||"ss-value-delete",this.valueOut=t.valueOut||"ss-value-out",this.deselect=t.deselect||"ss-deselect",this.deselectPath=t.deselectPath||"M10,10 L90,90 M10,90 L90,10",this.arrow=t.arrow||"ss-arrow",this.arrowClose=t.arrowClose||"M10,30 L50,70 L90,30",this.arrowOpen=t.arrowOpen||"M10,70 L50,30 L90,70",this.content=t.content||"ss-content",this.openAbove=t.openAbove||"ss-open-above",this.openBelow=t.openBelow||"ss-open-below",this.search=t.search||"ss-search",this.searchHighlighter=t.searchHighlighter||"ss-search-highlight",this.searching=t.searching||"ss-searching",this.addable=t.addable||"ss-addable",this.addablePath=t.addablePath||"M50,10 L50,90 M10,50 L90,50",this.list=t.list||"ss-list",this.optgroup=t.optgroup||"ss-optgroup",this.optgroupLabel=t.optgroupLabel||"ss-optgroup-label",this.optgroupLabelText=t.optgroupLabelText||"ss-optgroup-label-text",this.optgroupActions=t.optgroupActions||"ss-optgroup-actions",this.optgroupSelectAll=t.optgroupSelectAll||"ss-selectall",this.optgroupSelectAllBox=t.optgroupSelectAllBox||"M60,10 L10,10 L10,90 L90,90 L90,50",this.optgroupSelectAllCheck=t.optgroupSelectAllCheck||"M30,45 L50,70 L90,10",this.optgroupClosable=t.optgroupClosable||"ss-closable",this.option=t.option||"ss-option",this.optionDelete=t.optionDelete||"M10,10 L90,90 M10,90 L90,10",this.highlighted=t.highlighted||"ss-highlighted",this.open=t.open||"ss-open",this.close=t.close||"ss-close",this.selected=t.selected||"ss-selected",this.error=t.error||"ss-error",this.disabled=t.disabled||"ss-disabled",this.hide=t.hide||"ss-hide"}}function e(){return Math.random().toString(36).substring(2,10)}function s(t,e=50,s=!1){let i;return function(...n){const a=self,l=s&&!i;clearTimeout(i),i=setTimeout((()=>{i=null,s||t.apply(a,n)}),e),l&&t.apply(a,n)}}function i(t,e){return JSON.stringify(t)===JSON.stringify(e)}class n{constructor(t){if(this.id=t.id&&""!==t.id?t.id:e(),this.label=t.label||"",this.selectAll=void 0!==t.selectAll&&t.selectAll,this.selectAllText=t.selectAllText||"Select All",this.closable=t.closable||"off",this.options=[],t.options)for(const e of t.options)this.options.push(new a(e))}}class a{constructor(t){this.id=t.id&&""!==t.id?t.id:e(),this.value=void 0===t.value?t.text:t.value,this.text=t.text||"",this.html=t.html||"",this.selected=void 0!==t.selected&&t.selected,this.display=void 0===t.display||t.display,this.disabled=void 0!==t.disabled&&t.disabled,this.mandatory=void 0!==t.mandatory&&t.mandatory,this.placeholder=void 0!==t.placeholder&&t.placeholder,this.class=t.class||"",this.style=t.style||"",this.data=t.data||{}}}class l{constructor(t,e){this.selectType="single",this.data=[],this.selectedOrder=[],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 n||"label"in e){if(!("label"in e))return new Error("Optgroup must have a label");if("options"in e&&e.options)for(let t of e.options){const e=this.validateOption(t);if(e)return e}}else{if(!(e instanceof a||"text"in e))return new Error("Data object must be a valid optgroup or option");{const t=this.validateOption(e);if(t)return 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 n||"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 n(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("id",this.getSelected())}getData(){return this.filter(null,!0)}getDataOptions(){return this.filter(null,!1)}addOption(t,e=!1){if(e){let e=[new a(t)];this.setData(e.concat(this.getData()))}else this.setData(this.getData().concat(new a(t)))}setSelectedBy(t,e){let s=null,i=!1;const l=[];for(let o of this.data){if(o instanceof n)for(let n of o.options)s||(s=n),n.selected=!i&&e.includes(n[t]),n.selected&&(l.push(n),"single"===this.selectType&&(i=!0));o instanceof a&&(s||(s=o),o.selected=!i&&e.includes(o[t]),o.selected&&(l.push(o),"single"===this.selectType&&(i=!0)))}"single"===this.selectType&&s&&!i&&(s.selected=!0,l.push(s));const o=e.map((e=>{var s;return(null===(s=l.find((s=>s[t]===e)))||void 0===s?void 0:s.id)||""}));this.selectedOrder=o}getSelected(){return this.getSelectedOptions().map((t=>t.id))}getSelectedValues(){return this.getSelectedOptions().map((t=>t.value))}getSelectedOptions(){return this.filter((t=>t.selected),!1)}getOptgroupByID(t){for(let e of this.data)if(e instanceof n&&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 n?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 n){let l=[];if(i.options.forEach((i=>{t&&!t(i)||(e?l.push(new a(i)):s.push(new a(i)))})),l.length>0){let t=new n(i);t.options=l,s.push(t)}}i instanceof a&&(t&&!t(i)||s.push(new a(i)))})),s}selectedOrderOptions(t){const e=[];return this.selectedOrder.forEach((s=>{const i=t.find((t=>t.id===s));i&&e.push(i)})),t.forEach((t=>{let s=!1;e.forEach((e=>{t.id!==e.id||(s=!0)})),s||e.push(t)})),e}}class o{constructor(t,e,s,i){this.store=s,this.settings=t,this.classes=e,this.callbacks=i,this.main=this.mainDiv(),this.content=this.contentDiv(),this.updateClassStyles(),this.updateAriaAttributes(),this.settings.contentLocation&&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&&"fixed"!==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===t.key.length&&this.callbacks.open(),!0},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.id:"";this.callbacks.setSelected(e,!1)}this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(this.store.getSelectedOptions())}};const a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttribute("viewBox","0 0 100 100");const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",this.classes.deselectPath),a.appendChild(l),i.appendChild(a),e.appendChild(i);const o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.classList.add(this.classes.arrow),o.setAttribute("viewBox","0 0 100 100");const c=document.createElementNS("http://www.w3.org/2000/svg","path");return c.setAttribute("d",this.classes.arrowClose),this.settings.alwaysOpen&&o.classList.add(this.classes.hide),o.appendChild(c),e.appendChild(o),{main:e,values:s,deselect:{main:i,svg:a,path:l},arrow:{main:o,path:c}}}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()}this.settings.keepOrder&&(e=this.store.selectedOrderOptions(e));let s=[];for(let i=0;it.id===a),!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(),l=i.filter((e=>e.selected&&e.id!==t.id),!0);if(!(this.settings.minSelected&&l.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" ":const e=this.content.list.querySelector("."+this.classes.highlighted);return!e||(e.click(),!1);case"Enter":if(this.callbacks.addable)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.id),this.callbacks.setSelected(t,!0)}else this.callbacks.setSelected([e.id],!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=>{"string"==typeof t?s({text:t,value:t}):i instanceof Error?this.renderError(i.message):s(t)})):"string"==typeof i?s({text:i,value:i}):i instanceof Error?this.renderError(i.message):s(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];a.classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,a);const l=a.parentElement;if(l&&l.classList.contains(this.classes.close)){const t=l.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),this.callbacks.addable?t.innerHTML=this.settings.addableText.replace("{value}",this.content.search.input.value):t.innerHTML=this.settings.searchText,void this.content.list.appendChild(t)}if(this.settings.allowDeselect&&!this.settings.isMultiple){this.store.filter((t=>t.placeholder),!1).length||this.store.addOption(new a({text:"",value:"",selected:!1,placeholder:!0}),!0)}const e=document.createDocumentFragment();for(const s of t){if(s instanceof n){const t=document.createElement("div");t.classList.add(this.classes.optgroup);const i=document.createElement("div");i.classList.add(this.classes.optgroupLabel),t.appendChild(i);const n=document.createElement("div");n.classList.add(this.classes.optgroupLabelText),n.textContent=s.label,i.appendChild(n);const a=document.createElement("div");if(a.classList.add(this.classes.optgroupActions),i.appendChild(a),this.settings.isMultiple&&s.selectAll){const t=document.createElement("div");t.classList.add(this.classes.optgroupSelectAll);let e=!0;for(const t of s.options)if(!t.selected){e=!1;break}e&&t.classList.add(this.classes.selected);const i=document.createElement("span");i.textContent=s.selectAllText,t.appendChild(i);const n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("viewBox","0 0 100 100"),t.appendChild(n);const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",this.classes.optgroupSelectAllBox),n.appendChild(l);const o=document.createElementNS("http://www.w3.org/2000/svg","path");o.setAttribute("d",this.classes.optgroupSelectAllCheck),n.appendChild(o),t.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation();const i=this.store.getSelected();if(e){const t=i.filter((t=>{for(const e of s.options)if(t===e.id)return!1;return!0}));this.callbacks.setSelected(t,!0)}else{const t=i.concat(s.options.map((t=>t.id)));for(const t of s.options)this.store.getOptionByID(t.id)||this.callbacks.addOption(t);this.callbacks.setSelected(t,!0)}})),a.appendChild(t)}if("off"!==s.closable){const e=document.createElement("div");e.classList.add(this.classes.optgroupClosable);const n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("viewBox","0 0 100 100"),n.classList.add(this.classes.arrow),e.appendChild(n);const l=document.createElementNS("http://www.w3.org/2000/svg","path");n.appendChild(l),s.options.some((t=>t.selected))||""!==this.content.search.input.value.trim()?(e.classList.add(this.classes.open),l.setAttribute("d",this.classes.arrowOpen)):"open"===s.closable?(t.classList.add(this.classes.open),l.setAttribute("d",this.classes.arrowOpen)):"close"===s.closable&&(t.classList.add(this.classes.close),l.setAttribute("d",this.classes.arrowClose)),i.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),l.setAttribute("d",this.classes.arrowOpen)):(t.classList.remove(this.classes.open),t.classList.add(this.classes.close),l.setAttribute("d",this.classes.arrowClose))})),a.appendChild(e)}t.appendChild(i);for(const i of s.options)t.appendChild(this.option(i)),e.appendChild(t)}s instanceof a&&e.appendChild(this.option(s))}this.content.list.appendChild(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.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 a=!1;const l=this.store.getSelectedOptions();let o=[];this.settings.isMultiple&&(o=t.selected?l.filter((t=>t.id!==n)):l.concat(t)),this.settings.isMultiple||(o=t.selected?[]:[t]),this.callbacks.beforeChange||(a=!0),this.callbacks.beforeChange&&(a=!1!==this.callbacks.beforeChange(o,l)),a&&(this.store.getOptionByID(n)||this.callbacks.addOption(t),this.callbacks.setSelected(o.map((t=>t.id)),!1),this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(o))})),e}destroy(){this.main.main.remove(),this.content.main.remove()}highlightText(t,e,s){let i=t;const n=new RegExp("(?![^<]*>)("+e.trim()+")(?![^<]*>[^<>]*${o}`),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+("fixed"===this.settings.contentPosition?0:window.scrollY)+"px",this.content.main.style.left=s.left+("fixed"===this.settings.contentPosition?0: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+("fixed"===this.settings.contentPosition?0:window.scrollY)+"px",this.content.main.style.left=t.left+("fixed"===this.settings.contentPosition?0: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,a=n+e.clientHeight;ni&&(t.scrollTop+=a-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,a=this.classes.hide;!i||s&&!e?n.classList.add(a):n.classList.remove(a)}}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.getSelectedOptions()),!0}observeCall(t){if(!this.listen)return;let e=!1,s=!1,i=!1;for(const n of t){if(n.target===this.select&&("disabled"===n.attributeName&&(s=!0),"class"===n.attributeName&&(e=!0),"childList"===n.type)){for(const t of n.addedNodes)if("OPTION"===t.nodeName&&t.value===this.select.value){this.select.dispatchEvent(new Event("change"));break}i=!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}}getSelectedOptions(){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(this.getDataFromOption(e))}}if("OPTION"===s.nodeName){const e=s;e.selected&&t.push(this.getDataFromOption(e))}}return t}getSelectedValues(){return this.getSelectedOptions().map((t=>t.value))}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.id)}}if("OPTION"===s.nodeName){const e=s;e.selected=t.includes(e.id)}}this.changeListen(!0)}setSelectedByValue(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 n&&this.select.appendChild(this.createOptgroup(e)),e instanceof a&&this.select.appendChild(this.createOption(e));this.select.dispatchEvent(new Event("change",{bubbles:!0})),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.textContent=t.text,""!==t.html&&e.setAttribute("data-html",t.html),t.selected&&(e.selected=t.selected),t.disabled&&(e.disabled=!0),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-"+function(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}(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(t){this.id="",this.style="",this.class=[],this.isMultiple=!1,this.isOpen=!1,this.isFullOpen=!1,this.intervalMove=null,t||(t={}),this.id="ss-"+e(),this.style=t.style||"",this.class=t.class||[],this.disabled=void 0!==t.disabled&&t.disabled,this.alwaysOpen=void 0!==t.alwaysOpen&&t.alwaysOpen,this.showSearch=void 0===t.showSearch||t.showSearch,this.focusSearch=void 0===t.focusSearch||t.focusSearch,this.ariaLabel=t.ariaLabel||"Combobox",this.searchPlaceholder=t.searchPlaceholder||"Search",this.searchText=t.searchText||"No Results",this.searchingText=t.searchingText||"Searching...",this.searchHighlight=void 0!==t.searchHighlight&&t.searchHighlight,this.closeOnSelect=void 0===t.closeOnSelect||t.closeOnSelect,this.contentLocation=t.contentLocation||document.body,this.contentPosition=t.contentPosition||"absolute",this.openPosition=t.openPosition||"auto",this.placeholderText=void 0!==t.placeholderText?t.placeholderText:"Select Value",this.allowDeselect=void 0!==t.allowDeselect&&t.allowDeselect,this.hideSelected=void 0!==t.hideSelected&&t.hideSelected,this.keepOrder=void 0!==t.keepOrder&&t.keepOrder,this.showOptionTooltips=void 0!==t.showOptionTooltips&&t.showOptionTooltips,this.minSelected=t.minSelected||0,this.maxSelected=t.maxSelected||1e3,this.timeoutDelay=t.timeoutDelay||200,this.maxValuesShown=t.maxValuesShown||20,this.maxValuesMessage=t.maxValuesMessage||"{number} selected",this.addableText=t.addableText||'Press "Enter" to add {value}'}}return class{constructor(e){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&&!function(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}return s(t,e)||function t(e,i){return e&&e!==document?s(e,i)?e:t(e.parentNode,i):null}(t,e)}(t.target,this.settings.id)&&this.close(t.type)},this.windowVisibilityChange=()=>{document.hidden&&this.close()},this.selectEl="string"==typeof e.select?document.querySelector(e.select):e.select,!this.selectEl)return void(e.events&&e.events.error&&e.events.error(new Error("Could not find select element")));if("SELECT"!==this.selectEl.tagName)return void(e.events&&e.events.error&&e.events.error(new Error("Element isnt of type select")));this.selectEl.dataset.ssid&&this.destroy(),this.settings=new h(e.settings),this.cssClasses=new t(e.cssClasses);const n=["afterChange","beforeOpen","afterOpen","beforeClose","afterClose"];for(const t in e.events)e.events.hasOwnProperty(t)&&(-1!==n.indexOf(t)?this.events[t]=s(e.events[t],100):this.events[t]=e.events[t]);this.settings.disabled=(null===(i=e.settings)||void 0===i?void 0:i.disabled)?e.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.map((t=>t.id)))},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",e.data?e.data:this.select.getData()),e.data&&this.select.updateOptions(this.store.getData());const a={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 o(this.settings,this.cssClasses,this.store,a),this.render.renderValues(),this.render.renderOptions(this.store.getData());const r=this.selectEl.getAttribute("aria-label"),d=this.selectEl.getAttribute("aria-labelledby");r?this.render.main.main.setAttribute("aria-label",r):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(){let t=this.store.getSelectedOptions();return this.settings.keepOrder&&(t=this.store.selectedOrderOptions(t)),t.map((t=>t.value))}setSelected(t,e=!0){const s=this.store.getSelected(),n=this.store.getDataOptions();t=Array.isArray(t)?t:[t];const a=[];for(const e of t)if(n.find((t=>t.id==e)))a.push(e);else for(const t of n.filter((t=>t.value==e)))a.push(t.id);this.store.setSelectedBy("id",a);const l=this.store.getData();this.select.updateOptions(l),this.render.renderValues(),""!==this.render.content.search.input.value?this.search(this.render.content.search.input.value):this.render.renderOptions(l),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.settings.focusSearch&&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()}}})); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).SlimSelect=e()}(this,function(){"use strict";class t{constructor(t){t||(t={}),this.main=t.main||"ss-main",this.placeholder=t.placeholder||"ss-placeholder",this.values=t.values||"ss-values",this.single=t.single||"ss-single",this.max=t.max||"ss-max",this.value=t.value||"ss-value",this.valueText=t.valueText||"ss-value-text",this.valueDelete=t.valueDelete||"ss-value-delete",this.valueOut=t.valueOut||"ss-value-out",this.deselect=t.deselect||"ss-deselect",this.deselectPath=t.deselectPath||"M10,10 L90,90 M10,90 L90,10",this.arrow=t.arrow||"ss-arrow",this.arrowClose=t.arrowClose||"M10,30 L50,70 L90,30",this.arrowOpen=t.arrowOpen||"M10,70 L50,30 L90,70",this.content=t.content||"ss-content",this.openAbove=t.openAbove||"ss-open-above",this.openBelow=t.openBelow||"ss-open-below",this.search=t.search||"ss-search",this.searchHighlighter=t.searchHighlighter||"ss-search-highlight",this.searching=t.searching||"ss-searching",this.addable=t.addable||"ss-addable",this.addablePath=t.addablePath||"M50,10 L50,90 M10,50 L90,50",this.list=t.list||"ss-list",this.optgroup=t.optgroup||"ss-optgroup",this.optgroupLabel=t.optgroupLabel||"ss-optgroup-label",this.optgroupLabelText=t.optgroupLabelText||"ss-optgroup-label-text",this.optgroupActions=t.optgroupActions||"ss-optgroup-actions",this.optgroupSelectAll=t.optgroupSelectAll||"ss-selectall",this.optgroupSelectAllBox=t.optgroupSelectAllBox||"M60,10 L10,10 L10,90 L90,90 L90,50",this.optgroupSelectAllCheck=t.optgroupSelectAllCheck||"M30,45 L50,70 L90,10",this.optgroupClosable=t.optgroupClosable||"ss-closable",this.option=t.option||"ss-option",this.optionDelete=t.optionDelete||"M10,10 L90,90 M10,90 L90,10",this.highlighted=t.highlighted||"ss-highlighted",this.open=t.open||"ss-open",this.close=t.close||"ss-close",this.selected=t.selected||"ss-selected",this.error=t.error||"ss-error",this.disabled=t.disabled||"ss-disabled",this.hide=t.hide||"ss-hide"}}function e(){return Math.random().toString(36).substring(2,10)}function s(t,e=50,s=!1){let i;return function(...n){const a=self,l=s&&!i;clearTimeout(i),i=setTimeout(()=>{i=null,s||t.apply(a,n)},e),l&&t.apply(a,n)}}function i(t,e){return JSON.stringify(t)===JSON.stringify(e)}class n{constructor(t){if(this.id=t.id&&""!==t.id?t.id:e(),this.label=t.label||"",this.selectAll=void 0!==t.selectAll&&t.selectAll,this.selectAllText=t.selectAllText||"Select All",this.closable=t.closable||"off",this.options=[],t.options)for(const e of t.options)this.options.push(new a(e))}}class a{constructor(t){this.id=t.id&&""!==t.id?t.id:e(),this.value=void 0===t.value?t.text:t.value,this.text=t.text||"",this.html=t.html||"",this.selected=void 0!==t.selected&&t.selected,this.display=void 0===t.display||t.display,this.disabled=void 0!==t.disabled&&t.disabled,this.mandatory=void 0!==t.mandatory&&t.mandatory,this.placeholder=void 0!==t.placeholder&&t.placeholder,this.class=t.class||"",this.style=t.style||"",this.data=t.data||{}}}class l{constructor(t,e){this.selectType="single",this.data=[],this.selectedOrder=[],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 n||"label"in e){if(!("label"in e))return new Error("Optgroup must have a label");if("options"in e&&e.options)for(let t of e.options){const e=this.validateOption(t);if(e)return e}}else{if(!(e instanceof a||"text"in e))return new Error("Data object must be a valid optgroup or option");{const t=this.validateOption(e);if(t)return 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 n||"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 n(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("id",this.getSelected())}getData(){return this.filter(null,!0)}getDataOptions(){return this.filter(null,!1)}addOption(t,e=!1){if(e){let e=[new a(t)];this.setData(e.concat(this.getData()))}else this.setData(this.getData().concat(new a(t)))}setSelectedBy(t,e){let s=null,i=!1;const l=[];for(let o of this.data){if(o instanceof n)for(let n of o.options)s||(s=n),n.selected=!i&&e.includes(n[t]),n.selected&&(l.push(n),"single"===this.selectType&&(i=!0));o instanceof a&&(s||(s=o),o.selected=!i&&e.includes(o[t]),o.selected&&(l.push(o),"single"===this.selectType&&(i=!0)))}"single"===this.selectType&&s&&!i&&(s.selected=!0,l.push(s));const o=e.map(e=>{var s;return(null===(s=l.find(s=>s[t]===e))||void 0===s?void 0:s.id)||""});this.selectedOrder=o}getSelected(){return this.getSelectedOptions().map(t=>t.id)}getSelectedValues(){return this.getSelectedOptions().map(t=>t.value)}getSelectedOptions(){return this.filter(t=>t.selected,!1)}getOptgroupByID(t){for(let e of this.data)if(e instanceof n&&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 n?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 n){let l=[];if(i.options.forEach(i=>{t&&!t(i)||(e?l.push(new a(i)):s.push(new a(i)))}),l.length>0){let t=new n(i);t.options=l,s.push(t)}}i instanceof a&&(t&&!t(i)||s.push(new a(i)))}),s}selectedOrderOptions(t){const e=[];return this.selectedOrder.forEach(s=>{const i=t.find(t=>t.id===s);i&&e.push(i)}),t.forEach(t=>{let s=!1;e.forEach(e=>{t.id!==e.id||(s=!0)}),s||e.push(t)}),e}}class o{constructor(t,e,s,i){var n;this.store=s,this.settings=t,this.classes=e,this.callbacks=i,this.main=this.mainDiv(),this.content=this.contentDiv(),this.updateClassStyles(),this.updateAriaAttributes();const a=null===(n=document.querySelector(`[data-id="${this.settings.id}"]`))||void 0===n?void 0:n.closest(".offcanvas-body");a?a.appendChild(this.content.main):this.settings.contentLocation&&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.main.main.classList.add("ss-2"),this.content.main.classList.add(this.classes.content),this.content.main.classList.add("ss-content-2"),""!==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&&"fixed"!==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.id=this.settings.id+"-main",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===t.key.length&&this.callbacks.open(),!0},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.id:"";this.callbacks.setSelected(e,!1)}this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(this.store.getSelectedOptions())}};const a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttribute("viewBox","0 0 100 100");const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",this.classes.deselectPath),a.appendChild(l),i.appendChild(a),e.appendChild(i);const o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.classList.add(this.classes.arrow),o.setAttribute("viewBox","0 0 100 100");const c=document.createElementNS("http://www.w3.org/2000/svg","path");return c.setAttribute("d",this.classes.arrowClose),this.settings.alwaysOpen&&o.classList.add(this.classes.hide),o.appendChild(c),e.appendChild(o),{main:e,values:s,deselect:{main:i,svg:a,path:l},arrow:{main:o,path:c}}}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()}this.settings.keepOrder&&(e=this.store.selectedOrderOptions(e));let s=[];for(let i=0;it.id===a,!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(),l=i.filter(e=>e.selected&&e.id!==t.id,!0);if(!(this.settings.minSelected&&l.length{"Enter"===t.key&&s.click()}}return e}contentDiv(){const t=document.createElement("div");t.id=this.settings.id+"-content";const e=this.searchDiv();t.appendChild(e.main);const s=this.listDiv();return t.appendChild(s),{main:t,search:e,list:s}}moveContent(){"relative"!==this.settings.contentPosition&&"down"!==this.settings.openPosition?"up"!==this.settings.openPosition?"up"===this.putContent()?this.moveContentAbove():this.moveContentBelow():this.moveContentAbove():this.moveContentBelow()}searchDiv(){const t=document.createElement("div"),e=document.createElement("input"),i=document.createElement("div");t.classList.add(this.classes.search);const n={main:t,input:e};if(this.settings.showSearch||(t.classList.add(this.classes.hide),e.readOnly=!0),e.type="search",e.placeholder=this.settings.searchPlaceholder,e.tabIndex=-1,e.setAttribute("aria-label",this.settings.searchPlaceholder),e.setAttribute("autocapitalize","off"),e.setAttribute("autocomplete","off"),e.setAttribute("autocorrect","off"),e.oninput=s(t=>{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" ":const e=this.content.list.querySelector("."+this.classes.highlighted);return!e||(e.click(),!1);case"Enter":if(this.callbacks.addable)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.id),this.callbacks.setSelected(t,!0)}else this.callbacks.setSelected([e.id],!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=>{"string"==typeof t?s({text:t,value:t}):i instanceof Error?this.renderError(i.message):s(t)}):"string"==typeof i?s({text:i,value:i}):i instanceof Error?this.renderError(i.message):s(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];a.classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,a);const l=a.parentElement;if(l&&l.classList.contains(this.classes.close)){const t=l.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),this.callbacks.addable?t.innerHTML=this.settings.addableText.replace("{value}",this.content.search.input.value):t.innerHTML=this.settings.searchText,void this.content.list.appendChild(t)}if(this.settings.allowDeselect&&!this.settings.isMultiple){this.store.filter(t=>t.placeholder,!1).length||this.store.addOption(new a({text:"",value:"",selected:!1,placeholder:!0}),!0)}const e=document.createDocumentFragment();for(const s of t){if(s instanceof n){const t=document.createElement("div");t.classList.add(this.classes.optgroup);const i=document.createElement("div");i.classList.add(this.classes.optgroupLabel),t.appendChild(i);const n=document.createElement("div");n.classList.add(this.classes.optgroupLabelText),n.textContent=s.label,i.appendChild(n);const a=document.createElement("div");if(a.classList.add(this.classes.optgroupActions),i.appendChild(a),this.settings.isMultiple&&s.selectAll){const t=document.createElement("div");t.classList.add(this.classes.optgroupSelectAll);let e=!0;for(const t of s.options)if(!t.selected){e=!1;break}e&&t.classList.add(this.classes.selected);const i=document.createElement("span");i.textContent=s.selectAllText,t.appendChild(i);const n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("viewBox","0 0 100 100"),t.appendChild(n);const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",this.classes.optgroupSelectAllBox),n.appendChild(l);const o=document.createElementNS("http://www.w3.org/2000/svg","path");o.setAttribute("d",this.classes.optgroupSelectAllCheck),n.appendChild(o),t.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const i=this.store.getSelected();if(e){const t=i.filter(t=>{for(const e of s.options)if(t===e.id)return!1;return!0});return void this.callbacks.setSelected(t,!0)}{const t=i.concat(s.options.map(t=>t.id));for(const t of s.options)this.store.getOptionByID(t.id)||this.callbacks.addOption(t);return void this.callbacks.setSelected(t,!0)}}),a.appendChild(t)}if("off"!==s.closable){const e=document.createElement("div");e.classList.add(this.classes.optgroupClosable);const n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("viewBox","0 0 100 100"),n.classList.add(this.classes.arrow),e.appendChild(n);const l=document.createElementNS("http://www.w3.org/2000/svg","path");n.appendChild(l),s.options.some(t=>t.selected)||""!==this.content.search.input.value.trim()?(e.classList.add(this.classes.open),l.setAttribute("d",this.classes.arrowOpen)):"open"===s.closable?(t.classList.add(this.classes.open),l.setAttribute("d",this.classes.arrowOpen)):"close"===s.closable&&(t.classList.add(this.classes.close),l.setAttribute("d",this.classes.arrowClose)),i.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),l.setAttribute("d",this.classes.arrowOpen)):(t.classList.remove(this.classes.open),t.classList.add(this.classes.close),l.setAttribute("d",this.classes.arrowClose))}),a.appendChild(e)}t.appendChild(i);for(const i of s.options)t.appendChild(this.option(i)),e.appendChild(t)}s instanceof a&&e.appendChild(this.option(s))}this.content.list.appendChild(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.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 a=!1;const l=this.store.getSelectedOptions();let o=[];this.settings.isMultiple&&(o=t.selected?l.filter(t=>t.id!==n):l.concat(t)),this.settings.isMultiple||(o=t.selected?[]:[t]),this.callbacks.beforeChange||(a=!0),this.callbacks.beforeChange&&(a=!1!==this.callbacks.beforeChange(o,l)),a&&(this.store.getOptionByID(n)||this.callbacks.addOption(t),this.callbacks.setSelected(o.map(t=>t.id),!1),this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(o))}),e}destroy(){this.main.main.remove(),this.content.main.remove()}highlightText(t,e,s){let i=t;const n=new RegExp("(?![^<]*>)("+e.trim()+")(?![^<]*>[^<>]*${o}`),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+("fixed"===this.settings.contentPosition?0:window.scrollY)+"px",this.content.main.style.left=s.left+("fixed"===this.settings.contentPosition?0: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+("fixed"===this.settings.contentPosition?0:window.scrollY)+"px",this.content.main.style.left=t.left+("fixed"===this.settings.contentPosition?0: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,a=n+e.clientHeight;ni&&(t.scrollTop+=a-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,a=this.classes.hide;!i||s&&!e?n.classList.add(a):n.classList.remove(a)}}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.getSelectedOptions()),!0}observeCall(t){if(!this.listen)return;let e=!1,s=!1,i=!1;for(const n of t){if(n.target===this.select&&("disabled"===n.attributeName&&(s=!0),"class"===n.attributeName&&(e=!0),"childList"===n.type)){for(const t of n.addedNodes)if("OPTION"===t.nodeName&&t.value===this.select.value){this.select.dispatchEvent(new Event("change"));break}i=!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}}getSelectedOptions(){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(this.getDataFromOption(e))}}if("OPTION"===s.nodeName){const e=s;e.selected&&t.push(this.getDataFromOption(e))}}return t}getSelectedValues(){return this.getSelectedOptions().map(t=>t.value)}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.id)}}if("OPTION"===s.nodeName){const e=s;e.selected=t.includes(e.id)}}this.changeListen(!0)}setSelectedByValue(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 n&&this.select.appendChild(this.createOptgroup(e)),e instanceof a&&this.select.appendChild(this.createOption(e));this.select.dispatchEvent(new Event("change",{bubbles:!0})),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.textContent=t.text,""!==t.html&&e.setAttribute("data-html",t.html),t.selected&&(e.selected=t.selected),t.disabled&&(e.disabled=!0),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-"+function(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}(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(t){this.id="",this.style="",this.class=[],this.isMultiple=!1,this.isOpen=!1,this.isFullOpen=!1,this.intervalMove=null,t||(t={}),this.id="ss-"+e(),this.style=t.style||"",this.class=t.class||[],this.disabled=void 0!==t.disabled&&t.disabled,this.alwaysOpen=void 0!==t.alwaysOpen&&t.alwaysOpen,this.showSearch=void 0===t.showSearch||t.showSearch,this.focusSearch=void 0===t.focusSearch||t.focusSearch,this.ariaLabel=t.ariaLabel||"Combobox",this.searchPlaceholder=t.searchPlaceholder||"Search",this.searchText=t.searchText||"No Results",this.searchingText=t.searchingText||"Searching...",this.searchHighlight=void 0!==t.searchHighlight&&t.searchHighlight,this.closeOnSelect=void 0===t.closeOnSelect||t.closeOnSelect,this.contentLocation=t.contentLocation||document.body,this.contentPosition=t.contentPosition||"absolute",this.openPosition=t.openPosition||"auto",this.placeholderText=void 0!==t.placeholderText?t.placeholderText:"Select Value",this.allowDeselect=void 0!==t.allowDeselect&&t.allowDeselect,this.hideSelected=void 0!==t.hideSelected&&t.hideSelected,this.keepOrder=void 0!==t.keepOrder&&t.keepOrder,this.showOptionTooltips=void 0!==t.showOptionTooltips&&t.showOptionTooltips,this.minSelected=t.minSelected||0,this.maxSelected=t.maxSelected||1e3,this.timeoutDelay=t.timeoutDelay||200,this.maxValuesShown=t.maxValuesShown||20,this.maxValuesMessage=t.maxValuesMessage||"{number} selected",this.addableText=t.addableText||'Press "Enter" to add {value}'}}return class{constructor(e){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&&!function(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}return s(t,e)||function t(e,i){return e&&e!==document?s(e,i)?e:t(e.parentNode,i):null}(t,e)}(t.target,this.settings.id)&&this.close(t.type)},this.windowVisibilityChange=()=>{document.hidden&&this.close()},this.selectEl="string"==typeof e.select?document.querySelector(e.select):e.select,!this.selectEl)return void(e.events&&e.events.error&&e.events.error(new Error("Could not find select element")));if("SELECT"!==this.selectEl.tagName)return void(e.events&&e.events.error&&e.events.error(new Error("Element isnt of type select")));this.selectEl.dataset.ssid&&this.destroy(),this.settings=new h(e.settings),this.cssClasses=new t(e.cssClasses);const n=["afterChange","beforeOpen","afterOpen","beforeClose","afterClose"];for(const t in e.events)e.events.hasOwnProperty(t)&&(-1!==n.indexOf(t)?this.events[t]=s(e.events[t],100):this.events[t]=e.events[t]);this.settings.disabled=(null===(i=e.settings)||void 0===i?void 0:i.disabled)?e.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.map(t=>t.id))},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",e.data?e.data:this.select.getData()),e.data&&this.select.updateOptions(this.store.getData());const a={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 o(this.settings,this.cssClasses,this.store,a),this.render.renderValues(),this.render.renderOptions(this.store.getData());const r=this.selectEl.getAttribute("aria-label"),d=this.selectEl.getAttribute("aria-labelledby");r?this.render.main.main.setAttribute("aria-label",r):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(){let t=this.store.getSelectedOptions();return this.settings.keepOrder&&(t=this.store.selectedOrderOptions(t)),t.map(t=>t.value)}setSelected(t,e=!0){const s=this.store.getSelected(),n=this.store.getDataOptions();t=Array.isArray(t)?t:[t];const a=[];for(const e of t)if(n.find(t=>t.id==e))a.push(e);else for(const t of n.filter(t=>t.value==e))a.push(t.id);this.store.setSelectedBy("id",a);const l=this.store.getData();this.select.updateOptions(l),this.render.renderValues(),""!==this.render.content.search.input.value?this.search(this.render.content.search.input.value):this.render.renderOptions(l),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.settings.focusSearch&&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()}}}); diff --git a/dist/slimselect.umd.js b/dist/slimselect.umd.js index 8b5fc71a..5f7dc6ed 100644 --- a/dist/slimselect.umd.js +++ b/dist/slimselect.umd.js @@ -369,6 +369,7 @@ class Render { constructor(settings, classes, store, callbacks) { + var _a; this.store = store; this.settings = settings; this.classes = classes; @@ -377,7 +378,12 @@ this.content = this.contentDiv(); this.updateClassStyles(); this.updateAriaAttributes(); - if (this.settings.contentLocation) { + const contentContainer = (_a = document + .querySelector(`[data-id="${this.settings.id}"]`)) === null || _a === void 0 ? void 0 : _a.closest('.offcanvas-body'); + if (contentContainer) { + contentContainer.appendChild(this.content.main); + } + else if (this.settings.contentLocation) { this.settings.contentLocation.appendChild(this.content.main); } } @@ -417,7 +423,9 @@ this.content.main.className = ''; this.content.main.removeAttribute('style'); this.main.main.classList.add(this.classes.main); + this.main.main.classList.add('ss-2'); this.content.main.classList.add(this.classes.content); + this.content.main.classList.add('ss-content-2'); if (this.settings.style !== '') { this.main.main.style.cssText = this.settings.style; this.content.main.style.cssText = this.settings.style; @@ -444,7 +452,7 @@ mainDiv() { var _a; const main = document.createElement('div'); - main.dataset.id = this.settings.id; + main.id = this.settings.id + '-main'; main.setAttribute('aria-label', this.settings.ariaLabel); main.tabIndex = 0; main.onkeydown = (e) => { @@ -696,6 +704,7 @@ if (!option.mandatory) { const deleteDiv = document.createElement('div'); deleteDiv.classList.add(this.classes.valueDelete); + deleteDiv.setAttribute('tabindex', '0'); deleteDiv.onclick = (e) => { e.preventDefault(); e.stopPropagation(); @@ -742,12 +751,17 @@ deleteSvg.appendChild(deletePath); deleteDiv.appendChild(deleteSvg); value.appendChild(deleteDiv); + deleteDiv.onkeydown = (e) => { + if (e.key === 'Enter') { + deleteDiv.click(); + } + }; } return value; } contentDiv() { const main = document.createElement('div'); - main.dataset.id = this.settings.id; + main.id = this.settings.id + '-content'; const search = this.searchDiv(); main.appendChild(search.main); const list = this.listDiv(); @@ -1155,7 +1169,7 @@ return placeholder; } const optionEl = document.createElement('div'); - optionEl.dataset.id = option.id; + optionEl.id = option.id; optionEl.classList.add(this.classes.option); optionEl.setAttribute('role', 'option'); if (option.class) { diff --git a/dist/slimselect.umd.min.js b/dist/slimselect.umd.min.js index 30529fc9..ebb18303 100644 --- a/dist/slimselect.umd.min.js +++ b/dist/slimselect.umd.min.js @@ -1 +1 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).SlimSelect=e()}(this,(function(){"use strict";class t{constructor(t){t||(t={}),this.main=t.main||"ss-main",this.placeholder=t.placeholder||"ss-placeholder",this.values=t.values||"ss-values",this.single=t.single||"ss-single",this.max=t.max||"ss-max",this.value=t.value||"ss-value",this.valueText=t.valueText||"ss-value-text",this.valueDelete=t.valueDelete||"ss-value-delete",this.valueOut=t.valueOut||"ss-value-out",this.deselect=t.deselect||"ss-deselect",this.deselectPath=t.deselectPath||"M10,10 L90,90 M10,90 L90,10",this.arrow=t.arrow||"ss-arrow",this.arrowClose=t.arrowClose||"M10,30 L50,70 L90,30",this.arrowOpen=t.arrowOpen||"M10,70 L50,30 L90,70",this.content=t.content||"ss-content",this.openAbove=t.openAbove||"ss-open-above",this.openBelow=t.openBelow||"ss-open-below",this.search=t.search||"ss-search",this.searchHighlighter=t.searchHighlighter||"ss-search-highlight",this.searching=t.searching||"ss-searching",this.addable=t.addable||"ss-addable",this.addablePath=t.addablePath||"M50,10 L50,90 M10,50 L90,50",this.list=t.list||"ss-list",this.optgroup=t.optgroup||"ss-optgroup",this.optgroupLabel=t.optgroupLabel||"ss-optgroup-label",this.optgroupLabelText=t.optgroupLabelText||"ss-optgroup-label-text",this.optgroupActions=t.optgroupActions||"ss-optgroup-actions",this.optgroupSelectAll=t.optgroupSelectAll||"ss-selectall",this.optgroupSelectAllBox=t.optgroupSelectAllBox||"M60,10 L10,10 L10,90 L90,90 L90,50",this.optgroupSelectAllCheck=t.optgroupSelectAllCheck||"M30,45 L50,70 L90,10",this.optgroupClosable=t.optgroupClosable||"ss-closable",this.option=t.option||"ss-option",this.optionDelete=t.optionDelete||"M10,10 L90,90 M10,90 L90,10",this.highlighted=t.highlighted||"ss-highlighted",this.open=t.open||"ss-open",this.close=t.close||"ss-close",this.selected=t.selected||"ss-selected",this.error=t.error||"ss-error",this.disabled=t.disabled||"ss-disabled",this.hide=t.hide||"ss-hide"}}function e(){return Math.random().toString(36).substring(2,10)}function s(t,e=50,s=!1){let i;return function(...n){const a=self,l=s&&!i;clearTimeout(i),i=setTimeout((()=>{i=null,s||t.apply(a,n)}),e),l&&t.apply(a,n)}}function i(t,e){return JSON.stringify(t)===JSON.stringify(e)}class n{constructor(t){if(this.id=t.id&&""!==t.id?t.id:e(),this.label=t.label||"",this.selectAll=void 0!==t.selectAll&&t.selectAll,this.selectAllText=t.selectAllText||"Select All",this.closable=t.closable||"off",this.options=[],t.options)for(const e of t.options)this.options.push(new a(e))}}class a{constructor(t){this.id=t.id&&""!==t.id?t.id:e(),this.value=void 0===t.value?t.text:t.value,this.text=t.text||"",this.html=t.html||"",this.selected=void 0!==t.selected&&t.selected,this.display=void 0===t.display||t.display,this.disabled=void 0!==t.disabled&&t.disabled,this.mandatory=void 0!==t.mandatory&&t.mandatory,this.placeholder=void 0!==t.placeholder&&t.placeholder,this.class=t.class||"",this.style=t.style||"",this.data=t.data||{}}}class l{constructor(t,e){this.selectType="single",this.data=[],this.selectedOrder=[],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 n||"label"in e){if(!("label"in e))return new Error("Optgroup must have a label");if("options"in e&&e.options)for(let t of e.options){const e=this.validateOption(t);if(e)return e}}else{if(!(e instanceof a||"text"in e))return new Error("Data object must be a valid optgroup or option");{const t=this.validateOption(e);if(t)return 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 n||"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 n(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("id",this.getSelected())}getData(){return this.filter(null,!0)}getDataOptions(){return this.filter(null,!1)}addOption(t,e=!1){if(e){let e=[new a(t)];this.setData(e.concat(this.getData()))}else this.setData(this.getData().concat(new a(t)))}setSelectedBy(t,e){let s=null,i=!1;const l=[];for(let o of this.data){if(o instanceof n)for(let n of o.options)s||(s=n),n.selected=!i&&e.includes(n[t]),n.selected&&(l.push(n),"single"===this.selectType&&(i=!0));o instanceof a&&(s||(s=o),o.selected=!i&&e.includes(o[t]),o.selected&&(l.push(o),"single"===this.selectType&&(i=!0)))}"single"===this.selectType&&s&&!i&&(s.selected=!0,l.push(s));const o=e.map((e=>{var s;return(null===(s=l.find((s=>s[t]===e)))||void 0===s?void 0:s.id)||""}));this.selectedOrder=o}getSelected(){return this.getSelectedOptions().map((t=>t.id))}getSelectedValues(){return this.getSelectedOptions().map((t=>t.value))}getSelectedOptions(){return this.filter((t=>t.selected),!1)}getOptgroupByID(t){for(let e of this.data)if(e instanceof n&&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 n?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 n){let l=[];if(i.options.forEach((i=>{t&&!t(i)||(e?l.push(new a(i)):s.push(new a(i)))})),l.length>0){let t=new n(i);t.options=l,s.push(t)}}i instanceof a&&(t&&!t(i)||s.push(new a(i)))})),s}selectedOrderOptions(t){const e=[];return this.selectedOrder.forEach((s=>{const i=t.find((t=>t.id===s));i&&e.push(i)})),t.forEach((t=>{let s=!1;e.forEach((e=>{t.id!==e.id||(s=!0)})),s||e.push(t)})),e}}class o{constructor(t,e,s,i){this.store=s,this.settings=t,this.classes=e,this.callbacks=i,this.main=this.mainDiv(),this.content=this.contentDiv(),this.updateClassStyles(),this.updateAriaAttributes(),this.settings.contentLocation&&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&&"fixed"!==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===t.key.length&&this.callbacks.open(),!0},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.id:"";this.callbacks.setSelected(e,!1)}this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(this.store.getSelectedOptions())}};const a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttribute("viewBox","0 0 100 100");const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",this.classes.deselectPath),a.appendChild(l),i.appendChild(a),e.appendChild(i);const o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.classList.add(this.classes.arrow),o.setAttribute("viewBox","0 0 100 100");const c=document.createElementNS("http://www.w3.org/2000/svg","path");return c.setAttribute("d",this.classes.arrowClose),this.settings.alwaysOpen&&o.classList.add(this.classes.hide),o.appendChild(c),e.appendChild(o),{main:e,values:s,deselect:{main:i,svg:a,path:l},arrow:{main:o,path:c}}}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()}this.settings.keepOrder&&(e=this.store.selectedOrderOptions(e));let s=[];for(let i=0;it.id===a),!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(),l=i.filter((e=>e.selected&&e.id!==t.id),!0);if(!(this.settings.minSelected&&l.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" ":const e=this.content.list.querySelector("."+this.classes.highlighted);return!e||(e.click(),!1);case"Enter":if(this.callbacks.addable)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.id),this.callbacks.setSelected(t,!0)}else this.callbacks.setSelected([e.id],!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=>{"string"==typeof t?s({text:t,value:t}):i instanceof Error?this.renderError(i.message):s(t)})):"string"==typeof i?s({text:i,value:i}):i instanceof Error?this.renderError(i.message):s(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];a.classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,a);const l=a.parentElement;if(l&&l.classList.contains(this.classes.close)){const t=l.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),this.callbacks.addable?t.innerHTML=this.settings.addableText.replace("{value}",this.content.search.input.value):t.innerHTML=this.settings.searchText,void this.content.list.appendChild(t)}if(this.settings.allowDeselect&&!this.settings.isMultiple){this.store.filter((t=>t.placeholder),!1).length||this.store.addOption(new a({text:"",value:"",selected:!1,placeholder:!0}),!0)}const e=document.createDocumentFragment();for(const s of t){if(s instanceof n){const t=document.createElement("div");t.classList.add(this.classes.optgroup);const i=document.createElement("div");i.classList.add(this.classes.optgroupLabel),t.appendChild(i);const n=document.createElement("div");n.classList.add(this.classes.optgroupLabelText),n.textContent=s.label,i.appendChild(n);const a=document.createElement("div");if(a.classList.add(this.classes.optgroupActions),i.appendChild(a),this.settings.isMultiple&&s.selectAll){const t=document.createElement("div");t.classList.add(this.classes.optgroupSelectAll);let e=!0;for(const t of s.options)if(!t.selected){e=!1;break}e&&t.classList.add(this.classes.selected);const i=document.createElement("span");i.textContent=s.selectAllText,t.appendChild(i);const n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("viewBox","0 0 100 100"),t.appendChild(n);const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",this.classes.optgroupSelectAllBox),n.appendChild(l);const o=document.createElementNS("http://www.w3.org/2000/svg","path");o.setAttribute("d",this.classes.optgroupSelectAllCheck),n.appendChild(o),t.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation();const i=this.store.getSelected();if(e){const t=i.filter((t=>{for(const e of s.options)if(t===e.id)return!1;return!0}));this.callbacks.setSelected(t,!0)}else{const t=i.concat(s.options.map((t=>t.id)));for(const t of s.options)this.store.getOptionByID(t.id)||this.callbacks.addOption(t);this.callbacks.setSelected(t,!0)}})),a.appendChild(t)}if("off"!==s.closable){const e=document.createElement("div");e.classList.add(this.classes.optgroupClosable);const n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("viewBox","0 0 100 100"),n.classList.add(this.classes.arrow),e.appendChild(n);const l=document.createElementNS("http://www.w3.org/2000/svg","path");n.appendChild(l),s.options.some((t=>t.selected))||""!==this.content.search.input.value.trim()?(e.classList.add(this.classes.open),l.setAttribute("d",this.classes.arrowOpen)):"open"===s.closable?(t.classList.add(this.classes.open),l.setAttribute("d",this.classes.arrowOpen)):"close"===s.closable&&(t.classList.add(this.classes.close),l.setAttribute("d",this.classes.arrowClose)),i.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),l.setAttribute("d",this.classes.arrowOpen)):(t.classList.remove(this.classes.open),t.classList.add(this.classes.close),l.setAttribute("d",this.classes.arrowClose))})),a.appendChild(e)}t.appendChild(i);for(const i of s.options)t.appendChild(this.option(i)),e.appendChild(t)}s instanceof a&&e.appendChild(this.option(s))}this.content.list.appendChild(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.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 a=!1;const l=this.store.getSelectedOptions();let o=[];this.settings.isMultiple&&(o=t.selected?l.filter((t=>t.id!==n)):l.concat(t)),this.settings.isMultiple||(o=t.selected?[]:[t]),this.callbacks.beforeChange||(a=!0),this.callbacks.beforeChange&&(a=!1!==this.callbacks.beforeChange(o,l)),a&&(this.store.getOptionByID(n)||this.callbacks.addOption(t),this.callbacks.setSelected(o.map((t=>t.id)),!1),this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(o))})),e}destroy(){this.main.main.remove(),this.content.main.remove()}highlightText(t,e,s){let i=t;const n=new RegExp("(?![^<]*>)("+e.trim()+")(?![^<]*>[^<>]*${o}`),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+("fixed"===this.settings.contentPosition?0:window.scrollY)+"px",this.content.main.style.left=s.left+("fixed"===this.settings.contentPosition?0: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+("fixed"===this.settings.contentPosition?0:window.scrollY)+"px",this.content.main.style.left=t.left+("fixed"===this.settings.contentPosition?0: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,a=n+e.clientHeight;ni&&(t.scrollTop+=a-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,a=this.classes.hide;!i||s&&!e?n.classList.add(a):n.classList.remove(a)}}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.getSelectedOptions()),!0}observeCall(t){if(!this.listen)return;let e=!1,s=!1,i=!1;for(const n of t){if(n.target===this.select&&("disabled"===n.attributeName&&(s=!0),"class"===n.attributeName&&(e=!0),"childList"===n.type)){for(const t of n.addedNodes)if("OPTION"===t.nodeName&&t.value===this.select.value){this.select.dispatchEvent(new Event("change"));break}i=!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}}getSelectedOptions(){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(this.getDataFromOption(e))}}if("OPTION"===s.nodeName){const e=s;e.selected&&t.push(this.getDataFromOption(e))}}return t}getSelectedValues(){return this.getSelectedOptions().map((t=>t.value))}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.id)}}if("OPTION"===s.nodeName){const e=s;e.selected=t.includes(e.id)}}this.changeListen(!0)}setSelectedByValue(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 n&&this.select.appendChild(this.createOptgroup(e)),e instanceof a&&this.select.appendChild(this.createOption(e));this.select.dispatchEvent(new Event("change",{bubbles:!0})),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.textContent=t.text,""!==t.html&&e.setAttribute("data-html",t.html),t.selected&&(e.selected=t.selected),t.disabled&&(e.disabled=!0),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-"+function(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}(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(t){this.id="",this.style="",this.class=[],this.isMultiple=!1,this.isOpen=!1,this.isFullOpen=!1,this.intervalMove=null,t||(t={}),this.id="ss-"+e(),this.style=t.style||"",this.class=t.class||[],this.disabled=void 0!==t.disabled&&t.disabled,this.alwaysOpen=void 0!==t.alwaysOpen&&t.alwaysOpen,this.showSearch=void 0===t.showSearch||t.showSearch,this.focusSearch=void 0===t.focusSearch||t.focusSearch,this.ariaLabel=t.ariaLabel||"Combobox",this.searchPlaceholder=t.searchPlaceholder||"Search",this.searchText=t.searchText||"No Results",this.searchingText=t.searchingText||"Searching...",this.searchHighlight=void 0!==t.searchHighlight&&t.searchHighlight,this.closeOnSelect=void 0===t.closeOnSelect||t.closeOnSelect,this.contentLocation=t.contentLocation||document.body,this.contentPosition=t.contentPosition||"absolute",this.openPosition=t.openPosition||"auto",this.placeholderText=void 0!==t.placeholderText?t.placeholderText:"Select Value",this.allowDeselect=void 0!==t.allowDeselect&&t.allowDeselect,this.hideSelected=void 0!==t.hideSelected&&t.hideSelected,this.keepOrder=void 0!==t.keepOrder&&t.keepOrder,this.showOptionTooltips=void 0!==t.showOptionTooltips&&t.showOptionTooltips,this.minSelected=t.minSelected||0,this.maxSelected=t.maxSelected||1e3,this.timeoutDelay=t.timeoutDelay||200,this.maxValuesShown=t.maxValuesShown||20,this.maxValuesMessage=t.maxValuesMessage||"{number} selected",this.addableText=t.addableText||'Press "Enter" to add {value}'}}return class{constructor(e){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&&!function(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}return s(t,e)||function t(e,i){return e&&e!==document?s(e,i)?e:t(e.parentNode,i):null}(t,e)}(t.target,this.settings.id)&&this.close(t.type)},this.windowVisibilityChange=()=>{document.hidden&&this.close()},this.selectEl="string"==typeof e.select?document.querySelector(e.select):e.select,!this.selectEl)return void(e.events&&e.events.error&&e.events.error(new Error("Could not find select element")));if("SELECT"!==this.selectEl.tagName)return void(e.events&&e.events.error&&e.events.error(new Error("Element isnt of type select")));this.selectEl.dataset.ssid&&this.destroy(),this.settings=new h(e.settings),this.cssClasses=new t(e.cssClasses);const n=["afterChange","beforeOpen","afterOpen","beforeClose","afterClose"];for(const t in e.events)e.events.hasOwnProperty(t)&&(-1!==n.indexOf(t)?this.events[t]=s(e.events[t],100):this.events[t]=e.events[t]);this.settings.disabled=(null===(i=e.settings)||void 0===i?void 0:i.disabled)?e.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.map((t=>t.id)))},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",e.data?e.data:this.select.getData()),e.data&&this.select.updateOptions(this.store.getData());const a={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 o(this.settings,this.cssClasses,this.store,a),this.render.renderValues(),this.render.renderOptions(this.store.getData());const r=this.selectEl.getAttribute("aria-label"),d=this.selectEl.getAttribute("aria-labelledby");r?this.render.main.main.setAttribute("aria-label",r):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(){let t=this.store.getSelectedOptions();return this.settings.keepOrder&&(t=this.store.selectedOrderOptions(t)),t.map((t=>t.value))}setSelected(t,e=!0){const s=this.store.getSelected(),n=this.store.getDataOptions();t=Array.isArray(t)?t:[t];const a=[];for(const e of t)if(n.find((t=>t.id==e)))a.push(e);else for(const t of n.filter((t=>t.value==e)))a.push(t.id);this.store.setSelectedBy("id",a);const l=this.store.getData();this.select.updateOptions(l),this.render.renderValues(),""!==this.render.content.search.input.value?this.search(this.render.content.search.input.value):this.render.renderOptions(l),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.settings.focusSearch&&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()}}})); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).SlimSelect=e()}(this,function(){"use strict";class t{constructor(t){t||(t={}),this.main=t.main||"ss-main",this.placeholder=t.placeholder||"ss-placeholder",this.values=t.values||"ss-values",this.single=t.single||"ss-single",this.max=t.max||"ss-max",this.value=t.value||"ss-value",this.valueText=t.valueText||"ss-value-text",this.valueDelete=t.valueDelete||"ss-value-delete",this.valueOut=t.valueOut||"ss-value-out",this.deselect=t.deselect||"ss-deselect",this.deselectPath=t.deselectPath||"M10,10 L90,90 M10,90 L90,10",this.arrow=t.arrow||"ss-arrow",this.arrowClose=t.arrowClose||"M10,30 L50,70 L90,30",this.arrowOpen=t.arrowOpen||"M10,70 L50,30 L90,70",this.content=t.content||"ss-content",this.openAbove=t.openAbove||"ss-open-above",this.openBelow=t.openBelow||"ss-open-below",this.search=t.search||"ss-search",this.searchHighlighter=t.searchHighlighter||"ss-search-highlight",this.searching=t.searching||"ss-searching",this.addable=t.addable||"ss-addable",this.addablePath=t.addablePath||"M50,10 L50,90 M10,50 L90,50",this.list=t.list||"ss-list",this.optgroup=t.optgroup||"ss-optgroup",this.optgroupLabel=t.optgroupLabel||"ss-optgroup-label",this.optgroupLabelText=t.optgroupLabelText||"ss-optgroup-label-text",this.optgroupActions=t.optgroupActions||"ss-optgroup-actions",this.optgroupSelectAll=t.optgroupSelectAll||"ss-selectall",this.optgroupSelectAllBox=t.optgroupSelectAllBox||"M60,10 L10,10 L10,90 L90,90 L90,50",this.optgroupSelectAllCheck=t.optgroupSelectAllCheck||"M30,45 L50,70 L90,10",this.optgroupClosable=t.optgroupClosable||"ss-closable",this.option=t.option||"ss-option",this.optionDelete=t.optionDelete||"M10,10 L90,90 M10,90 L90,10",this.highlighted=t.highlighted||"ss-highlighted",this.open=t.open||"ss-open",this.close=t.close||"ss-close",this.selected=t.selected||"ss-selected",this.error=t.error||"ss-error",this.disabled=t.disabled||"ss-disabled",this.hide=t.hide||"ss-hide"}}function e(){return Math.random().toString(36).substring(2,10)}function s(t,e=50,s=!1){let i;return function(...n){const a=self,l=s&&!i;clearTimeout(i),i=setTimeout(()=>{i=null,s||t.apply(a,n)},e),l&&t.apply(a,n)}}function i(t,e){return JSON.stringify(t)===JSON.stringify(e)}class n{constructor(t){if(this.id=t.id&&""!==t.id?t.id:e(),this.label=t.label||"",this.selectAll=void 0!==t.selectAll&&t.selectAll,this.selectAllText=t.selectAllText||"Select All",this.closable=t.closable||"off",this.options=[],t.options)for(const e of t.options)this.options.push(new a(e))}}class a{constructor(t){this.id=t.id&&""!==t.id?t.id:e(),this.value=void 0===t.value?t.text:t.value,this.text=t.text||"",this.html=t.html||"",this.selected=void 0!==t.selected&&t.selected,this.display=void 0===t.display||t.display,this.disabled=void 0!==t.disabled&&t.disabled,this.mandatory=void 0!==t.mandatory&&t.mandatory,this.placeholder=void 0!==t.placeholder&&t.placeholder,this.class=t.class||"",this.style=t.style||"",this.data=t.data||{}}}class l{constructor(t,e){this.selectType="single",this.data=[],this.selectedOrder=[],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 n||"label"in e){if(!("label"in e))return new Error("Optgroup must have a label");if("options"in e&&e.options)for(let t of e.options){const e=this.validateOption(t);if(e)return e}}else{if(!(e instanceof a||"text"in e))return new Error("Data object must be a valid optgroup or option");{const t=this.validateOption(e);if(t)return 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 n||"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 n(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("id",this.getSelected())}getData(){return this.filter(null,!0)}getDataOptions(){return this.filter(null,!1)}addOption(t,e=!1){if(e){let e=[new a(t)];this.setData(e.concat(this.getData()))}else this.setData(this.getData().concat(new a(t)))}setSelectedBy(t,e){let s=null,i=!1;const l=[];for(let o of this.data){if(o instanceof n)for(let n of o.options)s||(s=n),n.selected=!i&&e.includes(n[t]),n.selected&&(l.push(n),"single"===this.selectType&&(i=!0));o instanceof a&&(s||(s=o),o.selected=!i&&e.includes(o[t]),o.selected&&(l.push(o),"single"===this.selectType&&(i=!0)))}"single"===this.selectType&&s&&!i&&(s.selected=!0,l.push(s));const o=e.map(e=>{var s;return(null===(s=l.find(s=>s[t]===e))||void 0===s?void 0:s.id)||""});this.selectedOrder=o}getSelected(){return this.getSelectedOptions().map(t=>t.id)}getSelectedValues(){return this.getSelectedOptions().map(t=>t.value)}getSelectedOptions(){return this.filter(t=>t.selected,!1)}getOptgroupByID(t){for(let e of this.data)if(e instanceof n&&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 n?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 n){let l=[];if(i.options.forEach(i=>{t&&!t(i)||(e?l.push(new a(i)):s.push(new a(i)))}),l.length>0){let t=new n(i);t.options=l,s.push(t)}}i instanceof a&&(t&&!t(i)||s.push(new a(i)))}),s}selectedOrderOptions(t){const e=[];return this.selectedOrder.forEach(s=>{const i=t.find(t=>t.id===s);i&&e.push(i)}),t.forEach(t=>{let s=!1;e.forEach(e=>{t.id!==e.id||(s=!0)}),s||e.push(t)}),e}}class o{constructor(t,e,s,i){var n;this.store=s,this.settings=t,this.classes=e,this.callbacks=i,this.main=this.mainDiv(),this.content=this.contentDiv(),this.updateClassStyles(),this.updateAriaAttributes();const a=null===(n=document.querySelector(`[data-id="${this.settings.id}"]`))||void 0===n?void 0:n.closest(".offcanvas-body");a?a.appendChild(this.content.main):this.settings.contentLocation&&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.main.main.classList.add("ss-2"),this.content.main.classList.add(this.classes.content),this.content.main.classList.add("ss-content-2"),""!==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&&"fixed"!==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.id=this.settings.id+"-main",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===t.key.length&&this.callbacks.open(),!0},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.id:"";this.callbacks.setSelected(e,!1)}this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(this.store.getSelectedOptions())}};const a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttribute("viewBox","0 0 100 100");const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",this.classes.deselectPath),a.appendChild(l),i.appendChild(a),e.appendChild(i);const o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.classList.add(this.classes.arrow),o.setAttribute("viewBox","0 0 100 100");const c=document.createElementNS("http://www.w3.org/2000/svg","path");return c.setAttribute("d",this.classes.arrowClose),this.settings.alwaysOpen&&o.classList.add(this.classes.hide),o.appendChild(c),e.appendChild(o),{main:e,values:s,deselect:{main:i,svg:a,path:l},arrow:{main:o,path:c}}}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()}this.settings.keepOrder&&(e=this.store.selectedOrderOptions(e));let s=[];for(let i=0;it.id===a,!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(),l=i.filter(e=>e.selected&&e.id!==t.id,!0);if(!(this.settings.minSelected&&l.length{"Enter"===t.key&&s.click()}}return e}contentDiv(){const t=document.createElement("div");t.id=this.settings.id+"-content";const e=this.searchDiv();t.appendChild(e.main);const s=this.listDiv();return t.appendChild(s),{main:t,search:e,list:s}}moveContent(){"relative"!==this.settings.contentPosition&&"down"!==this.settings.openPosition?"up"!==this.settings.openPosition?"up"===this.putContent()?this.moveContentAbove():this.moveContentBelow():this.moveContentAbove():this.moveContentBelow()}searchDiv(){const t=document.createElement("div"),e=document.createElement("input"),i=document.createElement("div");t.classList.add(this.classes.search);const n={main:t,input:e};if(this.settings.showSearch||(t.classList.add(this.classes.hide),e.readOnly=!0),e.type="search",e.placeholder=this.settings.searchPlaceholder,e.tabIndex=-1,e.setAttribute("aria-label",this.settings.searchPlaceholder),e.setAttribute("autocapitalize","off"),e.setAttribute("autocomplete","off"),e.setAttribute("autocorrect","off"),e.oninput=s(t=>{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" ":const e=this.content.list.querySelector("."+this.classes.highlighted);return!e||(e.click(),!1);case"Enter":if(this.callbacks.addable)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.id),this.callbacks.setSelected(t,!0)}else this.callbacks.setSelected([e.id],!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=>{"string"==typeof t?s({text:t,value:t}):i instanceof Error?this.renderError(i.message):s(t)}):"string"==typeof i?s({text:i,value:i}):i instanceof Error?this.renderError(i.message):s(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];a.classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,a);const l=a.parentElement;if(l&&l.classList.contains(this.classes.close)){const t=l.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),this.callbacks.addable?t.innerHTML=this.settings.addableText.replace("{value}",this.content.search.input.value):t.innerHTML=this.settings.searchText,void this.content.list.appendChild(t)}if(this.settings.allowDeselect&&!this.settings.isMultiple){this.store.filter(t=>t.placeholder,!1).length||this.store.addOption(new a({text:"",value:"",selected:!1,placeholder:!0}),!0)}const e=document.createDocumentFragment();for(const s of t){if(s instanceof n){const t=document.createElement("div");t.classList.add(this.classes.optgroup);const i=document.createElement("div");i.classList.add(this.classes.optgroupLabel),t.appendChild(i);const n=document.createElement("div");n.classList.add(this.classes.optgroupLabelText),n.textContent=s.label,i.appendChild(n);const a=document.createElement("div");if(a.classList.add(this.classes.optgroupActions),i.appendChild(a),this.settings.isMultiple&&s.selectAll){const t=document.createElement("div");t.classList.add(this.classes.optgroupSelectAll);let e=!0;for(const t of s.options)if(!t.selected){e=!1;break}e&&t.classList.add(this.classes.selected);const i=document.createElement("span");i.textContent=s.selectAllText,t.appendChild(i);const n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("viewBox","0 0 100 100"),t.appendChild(n);const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",this.classes.optgroupSelectAllBox),n.appendChild(l);const o=document.createElementNS("http://www.w3.org/2000/svg","path");o.setAttribute("d",this.classes.optgroupSelectAllCheck),n.appendChild(o),t.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();const i=this.store.getSelected();if(e){const t=i.filter(t=>{for(const e of s.options)if(t===e.id)return!1;return!0});return void this.callbacks.setSelected(t,!0)}{const t=i.concat(s.options.map(t=>t.id));for(const t of s.options)this.store.getOptionByID(t.id)||this.callbacks.addOption(t);return void this.callbacks.setSelected(t,!0)}}),a.appendChild(t)}if("off"!==s.closable){const e=document.createElement("div");e.classList.add(this.classes.optgroupClosable);const n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("viewBox","0 0 100 100"),n.classList.add(this.classes.arrow),e.appendChild(n);const l=document.createElementNS("http://www.w3.org/2000/svg","path");n.appendChild(l),s.options.some(t=>t.selected)||""!==this.content.search.input.value.trim()?(e.classList.add(this.classes.open),l.setAttribute("d",this.classes.arrowOpen)):"open"===s.closable?(t.classList.add(this.classes.open),l.setAttribute("d",this.classes.arrowOpen)):"close"===s.closable&&(t.classList.add(this.classes.close),l.setAttribute("d",this.classes.arrowClose)),i.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),l.setAttribute("d",this.classes.arrowOpen)):(t.classList.remove(this.classes.open),t.classList.add(this.classes.close),l.setAttribute("d",this.classes.arrowClose))}),a.appendChild(e)}t.appendChild(i);for(const i of s.options)t.appendChild(this.option(i)),e.appendChild(t)}s instanceof a&&e.appendChild(this.option(s))}this.content.list.appendChild(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.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 a=!1;const l=this.store.getSelectedOptions();let o=[];this.settings.isMultiple&&(o=t.selected?l.filter(t=>t.id!==n):l.concat(t)),this.settings.isMultiple||(o=t.selected?[]:[t]),this.callbacks.beforeChange||(a=!0),this.callbacks.beforeChange&&(a=!1!==this.callbacks.beforeChange(o,l)),a&&(this.store.getOptionByID(n)||this.callbacks.addOption(t),this.callbacks.setSelected(o.map(t=>t.id),!1),this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(o))}),e}destroy(){this.main.main.remove(),this.content.main.remove()}highlightText(t,e,s){let i=t;const n=new RegExp("(?![^<]*>)("+e.trim()+")(?![^<]*>[^<>]*${o}`),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+("fixed"===this.settings.contentPosition?0:window.scrollY)+"px",this.content.main.style.left=s.left+("fixed"===this.settings.contentPosition?0: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+("fixed"===this.settings.contentPosition?0:window.scrollY)+"px",this.content.main.style.left=t.left+("fixed"===this.settings.contentPosition?0: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,a=n+e.clientHeight;ni&&(t.scrollTop+=a-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,a=this.classes.hide;!i||s&&!e?n.classList.add(a):n.classList.remove(a)}}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.getSelectedOptions()),!0}observeCall(t){if(!this.listen)return;let e=!1,s=!1,i=!1;for(const n of t){if(n.target===this.select&&("disabled"===n.attributeName&&(s=!0),"class"===n.attributeName&&(e=!0),"childList"===n.type)){for(const t of n.addedNodes)if("OPTION"===t.nodeName&&t.value===this.select.value){this.select.dispatchEvent(new Event("change"));break}i=!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}}getSelectedOptions(){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(this.getDataFromOption(e))}}if("OPTION"===s.nodeName){const e=s;e.selected&&t.push(this.getDataFromOption(e))}}return t}getSelectedValues(){return this.getSelectedOptions().map(t=>t.value)}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.id)}}if("OPTION"===s.nodeName){const e=s;e.selected=t.includes(e.id)}}this.changeListen(!0)}setSelectedByValue(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 n&&this.select.appendChild(this.createOptgroup(e)),e instanceof a&&this.select.appendChild(this.createOption(e));this.select.dispatchEvent(new Event("change",{bubbles:!0})),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.textContent=t.text,""!==t.html&&e.setAttribute("data-html",t.html),t.selected&&(e.selected=t.selected),t.disabled&&(e.disabled=!0),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-"+function(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}(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(t){this.id="",this.style="",this.class=[],this.isMultiple=!1,this.isOpen=!1,this.isFullOpen=!1,this.intervalMove=null,t||(t={}),this.id="ss-"+e(),this.style=t.style||"",this.class=t.class||[],this.disabled=void 0!==t.disabled&&t.disabled,this.alwaysOpen=void 0!==t.alwaysOpen&&t.alwaysOpen,this.showSearch=void 0===t.showSearch||t.showSearch,this.focusSearch=void 0===t.focusSearch||t.focusSearch,this.ariaLabel=t.ariaLabel||"Combobox",this.searchPlaceholder=t.searchPlaceholder||"Search",this.searchText=t.searchText||"No Results",this.searchingText=t.searchingText||"Searching...",this.searchHighlight=void 0!==t.searchHighlight&&t.searchHighlight,this.closeOnSelect=void 0===t.closeOnSelect||t.closeOnSelect,this.contentLocation=t.contentLocation||document.body,this.contentPosition=t.contentPosition||"absolute",this.openPosition=t.openPosition||"auto",this.placeholderText=void 0!==t.placeholderText?t.placeholderText:"Select Value",this.allowDeselect=void 0!==t.allowDeselect&&t.allowDeselect,this.hideSelected=void 0!==t.hideSelected&&t.hideSelected,this.keepOrder=void 0!==t.keepOrder&&t.keepOrder,this.showOptionTooltips=void 0!==t.showOptionTooltips&&t.showOptionTooltips,this.minSelected=t.minSelected||0,this.maxSelected=t.maxSelected||1e3,this.timeoutDelay=t.timeoutDelay||200,this.maxValuesShown=t.maxValuesShown||20,this.maxValuesMessage=t.maxValuesMessage||"{number} selected",this.addableText=t.addableText||'Press "Enter" to add {value}'}}return class{constructor(e){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&&!function(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}return s(t,e)||function t(e,i){return e&&e!==document?s(e,i)?e:t(e.parentNode,i):null}(t,e)}(t.target,this.settings.id)&&this.close(t.type)},this.windowVisibilityChange=()=>{document.hidden&&this.close()},this.selectEl="string"==typeof e.select?document.querySelector(e.select):e.select,!this.selectEl)return void(e.events&&e.events.error&&e.events.error(new Error("Could not find select element")));if("SELECT"!==this.selectEl.tagName)return void(e.events&&e.events.error&&e.events.error(new Error("Element isnt of type select")));this.selectEl.dataset.ssid&&this.destroy(),this.settings=new h(e.settings),this.cssClasses=new t(e.cssClasses);const n=["afterChange","beforeOpen","afterOpen","beforeClose","afterClose"];for(const t in e.events)e.events.hasOwnProperty(t)&&(-1!==n.indexOf(t)?this.events[t]=s(e.events[t],100):this.events[t]=e.events[t]);this.settings.disabled=(null===(i=e.settings)||void 0===i?void 0:i.disabled)?e.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.map(t=>t.id))},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",e.data?e.data:this.select.getData()),e.data&&this.select.updateOptions(this.store.getData());const a={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 o(this.settings,this.cssClasses,this.store,a),this.render.renderValues(),this.render.renderOptions(this.store.getData());const r=this.selectEl.getAttribute("aria-label"),d=this.selectEl.getAttribute("aria-labelledby");r?this.render.main.main.setAttribute("aria-label",r):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(){let t=this.store.getSelectedOptions();return this.settings.keepOrder&&(t=this.store.selectedOrderOptions(t)),t.map(t=>t.value)}setSelected(t,e=!0){const s=this.store.getSelected(),n=this.store.getDataOptions();t=Array.isArray(t)?t:[t];const a=[];for(const e of t)if(n.find(t=>t.id==e))a.push(e);else for(const t of n.filter(t=>t.value==e))a.push(t.id);this.store.setSelectedBy("id",a);const l=this.store.getData();this.select.updateOptions(l),this.render.renderValues(),""!==this.render.content.search.input.value?this.search(this.render.content.search.input.value):this.render.renderOptions(l),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.settings.focusSearch&&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()}}}); diff --git a/docs/assets/home.js b/docs/assets/home.js index 9d458e48..7ec166a3 100644 --- a/docs/assets/home.js +++ b/docs/assets/home.js @@ -1 +1 @@ -import{d as r,S as t,_ as a,c,a as e,b as m,e as l,f as p,w as d,r as u,o as h}from"./index.js";const g=r({name:"Home",data(){return{single:null,multiple:null}},mounted(){this.single=new t({select:this.$refs.slimSingle}),this.multiple=new t({select:this.$refs.slimMulti}),setTimeout(()=>{this.single&&this.single.open(),setTimeout(()=>{this.single&&this.single.setSelected("best")},500),setTimeout(()=>{this.single&&this.single.setSelected("select")},1e3),setTimeout(()=>{this.single&&this.single.setSelected("ever")},1500),setTimeout(()=>{this.single&&this.single.close()},2e3),this.multiple&&this.multiple.open(),setTimeout(()=>{this.multiple&&this.multiple.setSelected(["best"])},500),setTimeout(()=>{this.multiple&&this.multiple.setSelected(["best","select"])},1e3),setTimeout(()=>{this.multiple&&this.multiple.setSelected(["best","select","ever"])},1500),setTimeout(()=>{this.multiple&&this.multiple.close()},2e3)},500)},unmounted(){this.single&&this.single.destroy(),this.multiple&&this.multiple.destroy()},methods:{handleClick(){window.dispatchEvent(new Event("nav-updated"))}}}),i="data:image/svg+xml,%3csvg%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='45.701px'%20height='45.7px'%20viewBox='0%200%2045.701%2045.7'%20style='enable-background:new%200%200%2045.701%2045.7;'%20xml:space='preserve'%3e%3cpath%20fill='%235897fb'%20d='M20.687,38.332c-2.072,2.072-5.434,2.072-7.505,0L1.554,26.704c-2.072-2.071-2.072-5.433,0-7.504%20c2.071-2.072,5.433-2.072,7.505,0l6.928,6.927c0.523,0.522,1.372,0.522,1.896,0L36.642,7.368c2.071-2.072,5.433-2.072,7.505,0%20c0.995,0.995,1.554,2.345,1.554,3.752c0,1.407-0.559,2.757-1.554,3.752L20.687,38.332z'/%3e%3c/svg%3e",f={id:"home",class:"content"},v={class:"samples row"},b={class:"single"},w={ref:"slimSingle","aria-labelledby":"sample-select-header"},S={class:"multi"},k={ref:"slimMulti",multiple:""},x={class:"frameworks"},_={class:"framework-items"};function y(o,s,C,T,L,B){const n=u("router-link");return h(),c("div",f,[e("div",v,[e("div",b,[s[1]||(s[1]=e("h2",{id:"sample-select-header"},"Single Select",-1)),e("select",w,s[0]||(s[0]=[e("option",{"data-placeholder":"true"},null,-1),e("option",{value:"best"},"Best",-1),e("option",{value:"select"},"Select",-1),e("option",{value:"ever"},"Ever",-1)]),512)]),e("div",S,[s[3]||(s[3]=e("h2",null,"Multi Select",-1)),e("select",k,s[2]||(s[2]=[e("option",{value:"best"},"Best",-1),e("option",{value:"select"},"Select",-1),e("option",{value:"ever"},"Ever",-1)]),512)])]),s[7]||(s[7]=m('

Support

Help support creators that make development easier!



Features

  • No Dependencies
  • ~30kb - ~5kb gzip
  • Single Select
  • Multiple Select
  • Addable Options
  • Html Options
  • Settable Data
  • Callback Events
  • Placeholders
  • Advanced Search
  • Tabbable
  • Disable Options
  • Light Css
  • Light Color Scheme
  • Style Inheritance
  • Clean Animations
  • Performant
  • Typescript


',9)),e("div",x,[s[5]||(s[5]=e("h2",{class:"header"},"Frameworks",-1)),s[6]||(s[6]=e("p",null,[l(" SlimSelect is in the process of adding a few framework integrations."),e("br"),l(" If you are an expert in any specific framework and would like to help out, please reach out! ")],-1)),e("div",_,[p(n,{to:"/vue",onClick:o.handleClick},{default:d(()=>s[4]||(s[4]=[e("svg",{viewBox:"0 0 128 128",width:"100",height:"100"},[e("path",{fill:"#42b883",d:"M78.8,10L64,35.4L49.2,10H0l64,110l64-110C128,10,78.8,10,78.8,10z"}),e("path",{fill:"#35495e",d:"M78.8,10L64,35.4L49.2,10H25.6L64,76l38.4-66H78.8z"})],-1)])),_:1},8,["onClick"])])])])}const E=a(g,[["render",y]]);export{E as default}; +import{d as r,S as t,_ as a,c,a as e,b as m,e as l,f as p,w as d,r as u,o as h}from"./index.js";const g=r({name:"Home",data(){return{single:null,multiple:null}},mounted(){this.single=new t({select:this.$refs.slimSingle}),this.multiple=new t({select:this.$refs.slimMulti}),setTimeout(()=>{this.single&&this.single.open(),setTimeout(()=>{this.single&&this.single.setSelected("best")},500),setTimeout(()=>{this.single&&this.single.setSelected("select")},1e3),setTimeout(()=>{this.single&&this.single.setSelected("ever")},1500),setTimeout(()=>{this.single&&this.single.close()},2e3),this.multiple&&this.multiple.open(),setTimeout(()=>{this.multiple&&this.multiple.setSelected(["best"])},500),setTimeout(()=>{this.multiple&&this.multiple.setSelected(["best","select"])},1e3),setTimeout(()=>{this.multiple&&this.multiple.setSelected(["best","select","ever"])},1500),setTimeout(()=>{this.multiple&&this.multiple.close()},2e3)},500)},unmounted(){this.single&&this.single.destroy(),this.multiple&&this.multiple.destroy()},methods:{handleClick(){window.dispatchEvent(new Event("nav-updated"))}}}),i="data:image/svg+xml,%3csvg%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='45.701px'%20height='45.7px'%20viewBox='0%200%2045.701%2045.7'%20style='enable-background:new%200%200%2045.701%2045.7;'%20xml:space='preserve'%3e%3cpath%20fill='%235897fb'%20d='M20.687,38.332c-2.072,2.072-5.434,2.072-7.505,0L1.554,26.704c-2.072-2.071-2.072-5.433,0-7.504%20c2.071-2.072,5.433-2.072,7.505,0l6.928,6.927c0.523,0.522,1.372,0.522,1.896,0L36.642,7.368c2.071-2.072,5.433-2.072,7.505,0%20c0.995,0.995,1.554,2.345,1.554,3.752c0,1.407-0.559,2.757-1.554,3.752L20.687,38.332z'/%3e%3c/svg%3e",f={id:"home",class:"content"},v={class:"samples row"},b={class:"single"},w={ref:"slimSingle","aria-labelledby":"sample-select-header"},S={class:"multi"},k={ref:"slimMulti",multiple:""},x={class:"frameworks"},_={class:"framework-items"};function y(o,s,C,T,L,B){const n=u("router-link");return h(),c("div",f,[e("div",v,[e("div",b,[s[1]||(s[1]=e("h2",{id:"sample-select-header"},"Single Select",-1)),e("select",w,s[0]||(s[0]=[e("option",{"data-placeholder":"true"},null,-1),e("option",{value:"best"},"Best",-1),e("option",{value:"select"},"Select",-1),e("option",{value:"ever"},"Ever",-1)]),512)]),e("div",S,[s[3]||(s[3]=e("h2",null,"Multi Select",-1)),e("select",k,s[2]||(s[2]=[e("option",{value:"best"},"Best",-1),e("option",{value:"select"},"Select",-1),e("option",{value:"ever"},"Ever",-1)]),512)])]),s[7]||(s[7]=m('

Support

Help support creators that make development easier!



Features

  • No Dependencies
  • ~30kb - ~5kb gzip
  • Single Select
  • Multiple Select
  • Addable Options
  • Html Options
  • Settable Data
  • Callback Events
  • Placeholders
  • Advanced Search
  • Tabbable
  • Disable Options
  • Light Css
  • Light Color Scheme
  • Style Inheritance
  • Clean Animations
  • Performant
  • Typescript


',9)),e("div",x,[s[5]||(s[5]=e("h2",{class:"header"},"Frameworks",-1)),s[6]||(s[6]=e("p",null,[l(" SlimSelect is in the process of adding a few framework integrations."),e("br"),l(" If you are an expert in any specific framework and would like to help out, please reach out! ")],-1)),e("div",_,[p(n,{to:"/vue",onClick:o.handleClick},{default:d(()=>s[4]||(s[4]=[e("svg",{viewBox:"0 0 128 128",width:"100",height:"100"},[e("path",{fill:"#42b883",d:"M78.8,10L64,35.4L49.2,10H0l64,110l64-110C128,10,78.8,10,78.8,10z"}),e("path",{fill:"#35495e",d:"M78.8,10L64,35.4L49.2,10H25.6L64,76l38.4-66H78.8z"})],-1)])),_:1,__:[4]},8,["onClick"])])])])}const E=a(g,[["render",y]]);export{E as default}; diff --git a/docs/assets/index.css b/docs/assets/index.css index a7371485..1317a1c1 100644 --- a/docs/assets/index.css +++ b/docs/assets/index.css @@ -1 +1 @@ -@import"https://fonts.googleapis.com/css?family=Montserrat:300,400,700";code[class*=language-],pre[class*=language-]{color:#f8f8f2;background:none;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#272822}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#8292a2}.token.punctuation{color:#f8f8f2}.token.namespace{opacity:.7}.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted{color:#f92672}.token.boolean,.token.number{color:#ae81ff}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#a6e22e}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.function,.token.class-name{color:#e6db74}.token.keyword{color:#66d9ef}.token.regex,.token.important{color:#fd971f}.token.important,.token.bold{font-weight:700}.token.entity{cursor:help}:root{--color-primary: #5897fb;--color-secondary: #666666;--color-header-bg: #ffffff;--color-border: #dcdee2;--color-font: #66666;--color-white: #ffffff;--color-alert-info: #cfe2ff;--color-alert-info-border: #b6d4fe;--color-ads-background: #7cadfa;--width-max: 1000px;--height-header: 90px;--width-nav: 200px;--height-nav: 30px;--border-radius: 4px;--font-size: 14px;--spacing: 16px;--spacing-half: 8px;--spacing-quarter: 4px}html{height:100%;padding:0;margin:0;background-color:var(--color-primary)}body{font-family:Montserrat,sans-serif,Helvetica;font-size:var(--font-size);color:var(--color-font);width:100%;padding:0;margin:0}body #app{display:grid;grid-template-columns:var(--width-nav) 1fr;grid-template-rows:calc(var(--height-header) + var(--spacing-half)) 1fr;grid-template-areas:"header header" "nav main";width:100%;max-width:var(--width-max);height:100%;padding:0;margin:0 auto;overflow-x:hidden;box-sizing:border-box}@media (max-width: 700px){body #app{grid-template-columns:1fr;grid-template-rows:calc(var(--height-header) - var(--height-nav) + var(--spacing-half)) var(--height-nav) 1fr;grid-template-areas:"header" "nav" "main"}}body #app>*{box-sizing:border-box}body #app header{position:fixed;top:0;grid-area:header;display:flex;flex-direction:column;justify-content:flex-end;color:var(--color-white);height:var(--height-header);width:100%;max-width:var(--width-max);margin:0;padding:var(--spacing-half) 0 0 0;z-index:100000;background-color:var(--color-primary)}@media (max-width: 700px){body #app header{height:calc(var(--height-header) - var(--height-nav))}}body #app header .top{display:flex;flex-direction:row;justify-content:space-between;padding:0 0 var(--spacing-half) 0}body #app header .top .text{flex:1 1 auto;color:var(--color-font)}body #app header .top .text .logo{line-height:1;font-size:40px;font-weight:300;padding:0;margin:0}body #app header .top .socials{flex:0 1 auto;display:flex;justify-content:flex-end;gap:var(--spacing-half);color:var(--color-font);margin:0 auto;padding:var(--spacing-half) 0 0 0}body #app header .top .socials a,body #app header .top .socials img{height:30px}body #app header .bar{display:flex;flex-direction:row;justify-content:space-between;height:var(--height-nav);border:solid 1.5px var(--color-white)}@media (max-width: 700px){body #app header .bar{display:none}}body #app header .bar .tagline{flex:1 1 auto;display:inline-flex;justify-content:flex-start;align-items:center;line-height:1;font-size:16px;padding:var(--spacing-quarter) var(--spacing-quarter) var(--spacing-quarter) var(--spacing-half);margin:0 auto}body #app header .bar .drop{display:flex;flex:0 1 auto;border-left:solid 1.5px var(--color-white);margin:auto var(--spacing-quarter) auto var(--spacing-quarter);padding:0 var(--spacing-quarter) 0 var(--spacing-half)}body #app header .bar .drop svg{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;height:12px;width:12px;margin:0 auto}body #app header .bar .drop svg path{fill:none;stroke:var(--color-white);stroke-width:18;stroke-linecap:round;stroke-linejoin:round}body #app nav{position:fixed;grid-area:nav;display:flex;flex-direction:column;top:calc(var(--height-header) + var(--spacing-half));width:var(--width-nav);max-width:var(--width-max);max-height:calc(100vh - var(--height-header) - var(--spacing));overflow:hidden;z-index:100000}@media (max-width: 700px){body #app nav{top:calc(var(--height-header) - var(--height-nav));height:auto;width:100%}}body #app nav .ss-main{flex:0 1 auto;height:var(--height-nav);font-weight:700}body #app nav .nav-content{flex:1 1 auto;overflow:hidden;padding:0 0 var(--spacing-half) 0}@media (max-width: 700px){body #app nav .nav-content{display:none}}body #app nav .nav-content .ss-content{max-height:calc(100vh - var(--height-header) - var(--height-nav) - 200px)}body #app nav .nav-content .ss-content .label{font-weight:700}body #app main{grid-area:main;display:flex;flex-direction:column;gap:var(--spacing-half);padding:0 0 0 var(--spacing);overflow:auto}@media (max-width: 700px){body #app main{padding:0}}body #app main .contents{display:flex;flex-direction:column;gap:var(--spacing)}body #app main .content{flex:1 1 auto;padding:var(--spacing);background-color:var(--color-white);border-radius:var(--border-radius)}@media screen and (max-width: 700px){body #app main .content{box-shadow:none}}body #app main .content .row{display:flex;flex-direction:row;gap:var(--spacing-half)}body #app main .content .row>*{flex:1 1 auto}body #app main .content .row .btn{flex:0 1 auto}body #app main footer{grid-area:footer;color:var(--color-white);padding:var(--spacing-quarter) 0 var(--spacing-quarter) 0;line-height:1.2;font-size:calc(var(--font-size) - 2px);text-align:center}body #app main footer a{color:var(--color-font)}code[class*=language-],pre[class*=language-]{color:#a9b7c6;font-family:Consolas,Monaco,Andale Mono,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;border-radius:4px;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{color:inherit;background:#214283d9}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{color:inherit;background:#214283d9}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2b2b2b}:not(pre)>code[class*=language-]{padding:.1em;border-radius:2px}.token.comment,.token.prolog,.token.cdata{color:gray}.token.delimiter,.token.boolean,.token.keyword,.token.selector,.token.important,.token.atrule{color:#cc7832}.token.operator,.token.punctuation,.token.attr-name{color:#a9b7c6}.token.tag,.token.tag .punctuation,.token.doctype,.token.builtin{color:#e8bf6a}.token.entity,.token.number,.token.symbol{color:#6897bb}.token.property,.token.constant,.token.variable{color:#9876aa}.token.string,.token.char{color:#6a8759}.token.attr-value,.token.attr-value .punctuation{color:#a5c261}.token.attr-value .punctuation:first-child{color:#a9b7c6}.token.url{color:#287bde;text-decoration:underline}.token.function{color:#ffc66d}.token.regex{background:#364135}.token.bold{font-weight:700}.token.italic{font-style:italic}.token.inserted{background:#294436}.token.deleted{background:#484a4a}code.language-css .token.property,code.language-css .token.property+.token.punctuation{color:#a9b7c6}code.language-css .token.id{color:#ffc66d}code.language-css .token.selector>.token.class,code.language-css .token.selector>.token.attribute,code.language-css .token.selector>.token.pseudo-class,code.language-css .token.selector>.token.pseudo-element{color:#ffc66d}h1{font-size:40px;margin:0 0 var(--spacing-half) 0;padding:0 0 var(--spacing-quarter) 0}h2{font-size:32px;margin:0 0 var(--spacing-half) 0;padding:0 0 var(--spacing-quarter) 0}h2 .header{border-bottom:solid 1px var(--color-border)}h3{font-size:24px;margin:0 0 var(--spacing-half) 0;padding:0 0 var(--spacing-quarter) 0}h4{font-size:20px;margin:0 0 var(--spacing-half) 0;padding:0 0 var(--spacing-quarter) 0}h5{font-size:16px;margin:0 0 var(--spacing-half) 0;padding:0 0 var(--spacing-quarter) 0}a{color:var(--primary-color)}a:hover{color:var(--color-secondary)}p{margin:0 0 var(--spacing-half) 0}.separator{height:1px;width:100%;margin:var(--spacing-half) 0 var(--spacing-half) 0;background-color:var(--color-border)}.separator.vertical{width:1px;height:100%;margin:0 var(--spacing-half) 0 var(--spacing-half)}.bold{font-weight:700}.pad-s{padding:var(--spacing-quarter)}.pad-t-s{padding-top:var(--spacing-quarter)}.pad-r-s{padding-right:var(--spacing-quarter)}.pad-b-s{padding-bottom:var(--spacing-quarter)}.pad-l-s{padding-left:var(--spacing-quarter)}.pad-m{padding:var(--spacing-half)}.pad-t-m{padding-top:var(--spacing-half)}.pad-r-m{padding-right:var(--spacing-half)}.pad-b-m{padding-bottom:var(--spacing-half)}.pad-l-m{padding-left:var(--spacing-half)}.pad-l{padding:var(--spacing)}.pad-t-l{padding-top:var(--spacing)}.pad-r-l{padding-right:var(--spacing)}.pad-b-l{padding-bottom:var(--spacing)}.pad-l-l{padding-left:var(--spacing)}.mar-s{margin:var(--spacing-quarter)}.mar-t-s{margin-top:var(--spacing-quarter)}.mar-r-s{margin-right:var(--spacing-quarter)}.mar-b-s{margin-bottom:var(--spacing-quarter)}.mar-l-s{margin-left:var(--spacing-quarter)}.mar-m{margin:var(--spacing-half)}.mar-t-m{margin-top:var(--spacing-half)}.mar-r-m{margin-right:var(--spacing-half)}.mar-b-m{margin-bottom:var(--spacing-half)}.mar-l-m{margin-left:var(--spacing-half)}.mar-l{margin:var(--spacing)}.mar-t-l{margin-top:var(--spacing)}.mar-r-l{margin-right:var(--spacing)}.mar-b-l{margin-bottom:var(--spacing)}.mar-l-l{margin-left:var(--spacing)}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease-in-out}.fade-enter,.fade-leave-to{opacity:0}button,.btn{display:inline-flex;align-items:center;color:var(--color-white);height:30px;width:auto;max-width:100%;min-width:auto;padding:0 var(--spacing-half) 0 var(--spacing-half);cursor:pointer;background-color:var(--color-primary);text-align:center;line-height:18px;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:var(--border-radius);vertical-align:middle;box-shadow:0 0 0 1px transparent inset,0 0 #22242626 inset;box-sizing:content-box}input{color:var(--color-font)}.alert{position:relative;color:var(--color-font);padding:var(--spacing-half) var(--spacing);margin:0 0 var(--spacing-half) 0;border-radius:var(--border-radius)}.alert.info{background-color:var(--color-alert-info);border-color:var(--color-alert-info-border)}: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: .2s;--ss-border-radius: 4px}@keyframes ss-valueIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes ss-valueOut{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}.ss-hide{display:none!important}.ss-main{display:flex;flex-direction:row;position:relative;-webkit-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);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: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{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 0;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;-webkit-user-select:none;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;-webkit-user-select:none;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;padding: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-fixed{position:fixed}.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:700;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:block;padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);white-space:normal;color:var(--ss-font-color);cursor:pointer;-webkit-user-select:none;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{display:inline-block;background-color:var(--ss-highlight-color)}.ss-main.error,.ss-content.error{border:solid 1px red!important;color:red!important}.carbon-container #carbonads *{margin:initial;padding:initial}.carbon-container #carbonads{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,Helvetica,Arial,sans-serif}.carbon-container #carbonads{display:flex;max-width:100%;background-color:var(--color-ads-background);box-shadow:none;z-index:100}.carbon-container #carbonads a{color:inherit;text-decoration:none}.carbon-container #carbonads a:hover{color:inherit}.carbon-container #carbonads span{position:relative;display:block;overflow:hidden}.carbon-container #carbonads .carbon-wrap{display:flex;flex-direction:column}.carbon-container #carbonads .carbon-img{display:block;margin-bottom:0;line-height:1}.carbon-container #carbonads .carbon-img img{display:block}.carbon-container #carbonads .carbon-text{font-size:12px;padding:var(--spacing-quarter);margin-bottom:16px;line-height:1.5;text-align:left}.carbon-container #carbonads .carbon-poweredby{display:block;padding:var(--spacing-quarter);background:#f1f1f2;text-align:center;text-transform:uppercase;letter-spacing:.5px;font-weight:600;font-size:8px;line-height:1;border-top-left-radius:3px;position:absolute;bottom:0;right:0} +@import"https://fonts.googleapis.com/css?family=Montserrat:300,400,700";code[class*=language-],pre[class*=language-]{color:#f8f8f2;background:none;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#272822}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#8292a2}.token.punctuation{color:#f8f8f2}.token.namespace{opacity:.7}.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted{color:#f92672}.token.boolean,.token.number{color:#ae81ff}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#a6e22e}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.function,.token.class-name{color:#e6db74}.token.keyword{color:#66d9ef}.token.regex,.token.important{color:#fd971f}.token.important,.token.bold{font-weight:700}.token.entity{cursor:help}:root{--color-primary: #5897fb;--color-secondary: #666666;--color-header-bg: #ffffff;--color-border: #dcdee2;--color-font: #66666;--color-white: #ffffff;--color-alert-info: #cfe2ff;--color-alert-info-border: #b6d4fe;--color-ads-background: #7cadfa;--width-max: 1000px;--height-header: 90px;--width-nav: 200px;--height-nav: 30px;--border-radius: 4px;--font-size: 14px;--spacing: 16px;--spacing-half: 8px;--spacing-quarter: 4px}html{height:100%;padding:0;margin:0;background-color:var(--color-primary)}body{font-family:Montserrat,sans-serif,Helvetica;font-size:var(--font-size);color:var(--color-font);width:100%;padding:0;margin:0}body #app{display:grid;grid-template-columns:var(--width-nav) 1fr;grid-template-rows:calc(var(--height-header) + var(--spacing-half)) 1fr;grid-template-areas:"header header" "nav main";width:100%;max-width:var(--width-max);height:100%;padding:0;margin:0 auto;overflow-x:hidden;box-sizing:border-box}@media (max-width: 700px){body #app{grid-template-columns:1fr;grid-template-rows:calc(var(--height-header) - var(--height-nav) + var(--spacing-half)) var(--height-nav) 1fr;grid-template-areas:"header" "nav" "main"}}body #app>*{box-sizing:border-box}body #app header{position:fixed;top:0;grid-area:header;display:flex;flex-direction:column;justify-content:flex-end;color:var(--color-white);height:var(--height-header);width:100%;max-width:var(--width-max);margin:0;padding:var(--spacing-half) 0 0 0;z-index:100000;background-color:var(--color-primary)}@media (max-width: 700px){body #app header{height:calc(var(--height-header) - var(--height-nav))}}body #app header .top{display:flex;flex-direction:row;justify-content:space-between;padding:0 0 var(--spacing-half) 0}body #app header .top .text{flex:1 1 auto;color:var(--color-font)}body #app header .top .text .logo{line-height:1;font-size:40px;font-weight:300;padding:0;margin:0}body #app header .top .socials{flex:0 1 auto;display:flex;justify-content:flex-end;gap:var(--spacing-half);color:var(--color-font);margin:0 auto;padding:var(--spacing-half) 0 0 0}body #app header .top .socials a,body #app header .top .socials img{height:30px}body #app header .bar{display:flex;flex-direction:row;justify-content:space-between;height:var(--height-nav);border:solid 1.5px var(--color-white)}@media (max-width: 700px){body #app header .bar{display:none}}body #app header .bar .tagline{flex:1 1 auto;display:inline-flex;justify-content:flex-start;align-items:center;line-height:1;font-size:16px;padding:var(--spacing-quarter) var(--spacing-quarter) var(--spacing-quarter) var(--spacing-half);margin:0 auto}body #app header .bar .drop{display:flex;flex:0 1 auto;border-left:solid 1.5px var(--color-white);margin:auto var(--spacing-quarter) auto var(--spacing-quarter);padding:0 var(--spacing-quarter) 0 var(--spacing-half)}body #app header .bar .drop svg{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;height:12px;width:12px;margin:0 auto}body #app header .bar .drop svg path{fill:none;stroke:var(--color-white);stroke-width:18;stroke-linecap:round;stroke-linejoin:round}body #app nav{position:fixed;grid-area:nav;display:flex;flex-direction:column;top:calc(var(--height-header) + var(--spacing-half));width:var(--width-nav);max-width:var(--width-max);max-height:calc(100vh - var(--height-header) - var(--spacing));overflow:hidden;z-index:100000}@media (max-width: 700px){body #app nav{top:calc(var(--height-header) - var(--height-nav));height:auto;width:100%}}body #app nav .ss-main{flex:0 1 auto;height:var(--height-nav);font-weight:700}body #app nav .nav-content{flex:1 1 auto;overflow:hidden;padding:0 0 var(--spacing-half) 0}@media (max-width: 700px){body #app nav .nav-content{display:none}}body #app nav .nav-content .ss-content{max-height:calc(100vh - var(--height-header) - var(--height-nav) - 200px)}body #app nav .nav-content .ss-content .label{font-weight:700}body #app main{grid-area:main;display:flex;flex-direction:column;gap:var(--spacing-half);padding:0 0 0 var(--spacing);overflow:auto}@media (max-width: 700px){body #app main{padding:0}}body #app main .contents{display:flex;flex-direction:column;gap:var(--spacing)}body #app main .content{flex:1 1 auto;padding:var(--spacing);background-color:var(--color-white);border-radius:var(--border-radius)}@media screen and (max-width: 700px){body #app main .content{box-shadow:none}}body #app main .content .row{display:flex;flex-direction:row;gap:var(--spacing-half)}body #app main .content .row>*{flex:1 1 auto}body #app main .content .row .btn{flex:0 1 auto}body #app main footer{grid-area:footer;color:var(--color-white);padding:var(--spacing-quarter) 0 var(--spacing-quarter) 0;line-height:1.2;font-size:calc(var(--font-size) - 2px);text-align:center}body #app main footer a{color:var(--color-font)}code[class*=language-],pre[class*=language-]{color:#a9b7c6;font-family:Consolas,Monaco,Andale Mono,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;border-radius:4px;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{color:inherit;background:#214283d9}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{color:inherit;background:#214283d9}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2b2b2b}:not(pre)>code[class*=language-]{padding:.1em;border-radius:2px}.token.comment,.token.prolog,.token.cdata{color:gray}.token.delimiter,.token.boolean,.token.keyword,.token.selector,.token.important,.token.atrule{color:#cc7832}.token.operator,.token.punctuation,.token.attr-name{color:#a9b7c6}.token.tag,.token.tag .punctuation,.token.doctype,.token.builtin{color:#e8bf6a}.token.entity,.token.number,.token.symbol{color:#6897bb}.token.property,.token.constant,.token.variable{color:#9876aa}.token.string,.token.char{color:#6a8759}.token.attr-value,.token.attr-value .punctuation{color:#a5c261}.token.attr-value .punctuation:first-child{color:#a9b7c6}.token.url{color:#287bde;text-decoration:underline}.token.function{color:#ffc66d}.token.regex{background:#364135}.token.bold{font-weight:700}.token.italic{font-style:italic}.token.inserted{background:#294436}.token.deleted{background:#484a4a}code.language-css .token.property,code.language-css .token.property+.token.punctuation{color:#a9b7c6}code.language-css .token.id{color:#ffc66d}code.language-css .token.selector>.token.class,code.language-css .token.selector>.token.attribute,code.language-css .token.selector>.token.pseudo-class,code.language-css .token.selector>.token.pseudo-element{color:#ffc66d}h1{font-size:40px;margin:0 0 var(--spacing-half) 0;padding:0 0 var(--spacing-quarter) 0}h2{font-size:32px;margin:0 0 var(--spacing-half) 0;padding:0 0 var(--spacing-quarter) 0}h2 .header{border-bottom:solid 1px var(--color-border)}h3{font-size:24px;margin:0 0 var(--spacing-half) 0;padding:0 0 var(--spacing-quarter) 0}h4{font-size:20px;margin:0 0 var(--spacing-half) 0;padding:0 0 var(--spacing-quarter) 0}h5{font-size:16px;margin:0 0 var(--spacing-half) 0;padding:0 0 var(--spacing-quarter) 0}a{color:var(--primary-color)}a:hover{color:var(--color-secondary)}p{margin:0 0 var(--spacing-half) 0}.separator{height:1px;width:100%;margin:var(--spacing-half) 0 var(--spacing-half) 0;background-color:var(--color-border)}.separator.vertical{width:1px;height:100%;margin:0 var(--spacing-half) 0 var(--spacing-half)}.bold{font-weight:700}.pad-s{padding:var(--spacing-quarter)}.pad-t-s{padding-top:var(--spacing-quarter)}.pad-r-s{padding-right:var(--spacing-quarter)}.pad-b-s{padding-bottom:var(--spacing-quarter)}.pad-l-s{padding-left:var(--spacing-quarter)}.pad-m{padding:var(--spacing-half)}.pad-t-m{padding-top:var(--spacing-half)}.pad-r-m{padding-right:var(--spacing-half)}.pad-b-m{padding-bottom:var(--spacing-half)}.pad-l-m{padding-left:var(--spacing-half)}.pad-l{padding:var(--spacing)}.pad-t-l{padding-top:var(--spacing)}.pad-r-l{padding-right:var(--spacing)}.pad-b-l{padding-bottom:var(--spacing)}.pad-l-l{padding-left:var(--spacing)}.mar-s{margin:var(--spacing-quarter)}.mar-t-s{margin-top:var(--spacing-quarter)}.mar-r-s{margin-right:var(--spacing-quarter)}.mar-b-s{margin-bottom:var(--spacing-quarter)}.mar-l-s{margin-left:var(--spacing-quarter)}.mar-m{margin:var(--spacing-half)}.mar-t-m{margin-top:var(--spacing-half)}.mar-r-m{margin-right:var(--spacing-half)}.mar-b-m{margin-bottom:var(--spacing-half)}.mar-l-m{margin-left:var(--spacing-half)}.mar-l{margin:var(--spacing)}.mar-t-l{margin-top:var(--spacing)}.mar-r-l{margin-right:var(--spacing)}.mar-b-l{margin-bottom:var(--spacing)}.mar-l-l{margin-left:var(--spacing)}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease-in-out}.fade-enter,.fade-leave-to{opacity:0}button,.btn{display:inline-flex;align-items:center;color:var(--color-white);height:30px;width:auto;max-width:100%;min-width:auto;padding:0 var(--spacing-half) 0 var(--spacing-half);cursor:pointer;background-color:var(--color-primary);text-align:center;line-height:18px;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:var(--border-radius);vertical-align:middle;box-shadow:0 0 0 1px transparent inset,0 0 #22242626 inset;box-sizing:content-box}input{color:var(--color-font)}.alert{position:relative;color:var(--color-font);padding:var(--spacing-half) var(--spacing);margin:0 0 var(--spacing-half) 0;border-radius:var(--border-radius)}.alert.info{background-color:var(--color-alert-info);border-color:var(--color-alert-info-border)}: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: .2s;--ss-border-radius: 4px}@keyframes ss-valueIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes ss-valueOut{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}.ss-hide{display:none!important}.ss-main.ss-2{display:flex;flex-direction:row;position:relative;-webkit-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);outline:0;box-sizing:border-box;transition:background-color var(--ss-animation-timing);overflow:hidden}.ss-main.ss-2:focus{box-shadow:0 0 5px var(--ss-focus-color)}.ss-main.ss-2.ss-disabled{background-color:var(--ss-disabled-color);cursor:not-allowed}.ss-main.ss-2.ss-disabled .ss-values .ss-disabled{color:var(--ss-font-color)}.ss-main.ss-2.ss-disabled .ss-values .ss-value .ss-value-delete{cursor:not-allowed}.ss-main.ss-2.ss-open-above{border-top-left-radius:0;border-top-right-radius:0}.ss-main.ss-2.ss-open-below{border-bottom-left-radius:0;border-bottom-right-radius:0}.ss-main.ss-2 .ss-values{display:inline-flex;flex-wrap:wrap;gap:var(--ss-spacing-m);flex:1 1 100%}.ss-main.ss-2 .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 0;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-2 .ss-values .ss-max{display:flex;-webkit-user-select:none;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-2 .ss-values .ss-single{display:flex;margin:auto 0px auto var(--ss-spacing-s)}.ss-main.ss-2 .ss-values .ss-value{display:flex;-webkit-user-select:none;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-2 .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-2 .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-2 .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-2 .ss-values .ss-value .ss-value-delete svg{height:var(--ss-spacing-l);width:var(--ss-spacing-l)}.ss-main.ss-2 .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-2 .ss-deselect{flex:0 1 auto;display:flex;align-items:center;justify-content:center;width:fit-content;height:auto;padding:0 var(--ss-spacing-m) 0 var(--ss-spacing-m)}.ss-main.ss-2 .ss-deselect svg{width:8px;height:8px}.ss-main.ss-2 .ss-deselect svg path{fill:none;stroke:var(--ss-font-color);stroke-width:20;stroke-linecap:round;stroke-linejoin:round}.ss-main.ss-2 .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-2 .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-fixed{position:fixed}.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:700;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:block;padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);white-space:normal;color:var(--ss-font-color);cursor:pointer;-webkit-user-select:none;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{display:inline-block;background-color:var(--ss-highlight-color)}.ss-main.error,.ss-content.error{border:solid 1px red!important;color:red!important}.carbon-container #carbonads *{margin:initial;padding:initial}.carbon-container #carbonads{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,Helvetica,Arial,sans-serif}.carbon-container #carbonads{display:flex;max-width:100%;background-color:var(--color-ads-background);box-shadow:none;z-index:100}.carbon-container #carbonads a{color:inherit;text-decoration:none}.carbon-container #carbonads a:hover{color:inherit}.carbon-container #carbonads span{position:relative;display:block;overflow:hidden}.carbon-container #carbonads .carbon-wrap{display:flex;flex-direction:column}.carbon-container #carbonads .carbon-img{display:block;margin-bottom:0;line-height:1}.carbon-container #carbonads .carbon-img img{display:block}.carbon-container #carbonads .carbon-text{font-size:12px;padding:var(--spacing-quarter);margin-bottom:16px;line-height:1.5;text-align:left}.carbon-container #carbonads .carbon-poweredby{display:block;padding:var(--spacing-quarter);background:#f1f1f2;text-align:center;text-transform:uppercase;letter-spacing:.5px;font-weight:600;font-size:8px;line-height:1;border-top-left-radius:3px;position:absolute;bottom:0;right:0} diff --git a/docs/assets/index.js b/docs/assets/index.js index c2dc75d7..2227ca2e 100644 --- a/docs/assets/index.js +++ b/docs/assets/index.js @@ -1,33 +1,33 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/home.js","assets/home.css","assets/index2.js","assets/index2.css","assets/index3.js","assets/index3.css"])))=>i.map(i=>d[i]); -(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const l of r.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&n(l)}).observe(document,{childList:!0,subtree:!0});function s(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function n(i){if(i.ep)return;i.ep=!0;const r=s(i);fetch(i.href,r)}})();/** -* @vue/shared v3.5.13 +(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function s(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function n(i){if(i.ep)return;i.ep=!0;const r=s(i);fetch(i.href,r)}})();/** +* @vue/shared v3.5.17 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function un(t){const e=Object.create(null);for(const s of t.split(","))e[s]=1;return s=>s in e}const ie={},Ct=[],Ge=()=>{},tl=()=>!1,ys=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),fn=t=>t.startsWith("onUpdate:"),be=Object.assign,hn=(t,e)=>{const s=t.indexOf(e);s>-1&&t.splice(s,1)},sl=Object.prototype.hasOwnProperty,X=(t,e)=>sl.call(t,e),z=Array.isArray,_t=t=>ws(t)==="[object Map]",Pi=t=>ws(t)==="[object Set]",G=t=>typeof t=="function",ce=t=>typeof t=="string",tt=t=>typeof t=="symbol",le=t=>t!==null&&typeof t=="object",Ri=t=>(le(t)||G(t))&&G(t.then)&&G(t.catch),Di=Object.prototype.toString,ws=t=>Di.call(t),nl=t=>ws(t).slice(8,-1),ki=t=>ws(t)==="[object Object]",dn=t=>ce(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Ht=un(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),As=t=>{const e=Object.create(null);return s=>e[s]||(e[s]=t(s))},il=/-(\w)/g,Fe=As(t=>t.replace(il,(e,s)=>s?s.toUpperCase():"")),rl=/\B([A-Z])/g,At=As(t=>t.replace(rl,"-$1").toLowerCase()),xs=As(t=>t.charAt(0).toUpperCase()+t.slice(1)),Ds=As(t=>t?`on${xs(t)}`:""),ft=(t,e)=>!Object.is(t,e),ks=(t,...e)=>{for(let s=0;s{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:n,value:s})},ll=t=>{const e=parseFloat(t);return isNaN(e)?t:e};let Fn;const Ss=()=>Fn||(Fn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function pn(t){if(z(t)){const e={};for(let s=0;s{if(s){const n=s.split(al);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}function gn(t){let e="";if(ce(t))e=t;else if(z(t))for(let s=0;s!!(t&&t.__v_isRef===!0),Ni=t=>ce(t)?t:t==null?"":z(t)||le(t)&&(t.toString===Di||!G(t.toString))?Mi(t)?Ni(t.value):JSON.stringify(t,Bi,2):String(t),Bi=(t,e)=>Mi(e)?Bi(t,e.value):_t(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((s,[n,i],r)=>(s[Fs(n,r)+" =>"]=i,s),{})}:Pi(e)?{[`Set(${e.size})`]:[...e.values()].map(s=>Fs(s))}:tt(e)?Fs(e):le(e)&&!z(e)&&!ki(e)?String(e):e,Fs=(t,e="")=>{var s;return tt(t)?`Symbol(${(s=t.description)!=null?s:e})`:t};/** -* @vue/reactivity v3.5.13 +**//*! #__NO_SIDE_EFFECTS__ */function fn(t){const e=Object.create(null);for(const s of t.split(","))e[s]=1;return s=>s in e}const ie={},Ct=[],Ge=()=>{},tl=()=>!1,ws=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),hn=t=>t.startsWith("onUpdate:"),be=Object.assign,dn=(t,e)=>{const s=t.indexOf(e);s>-1&&t.splice(s,1)},sl=Object.prototype.hasOwnProperty,X=(t,e)=>sl.call(t,e),W=Array.isArray,_t=t=>As(t)==="[object Map]",Di=t=>As(t)==="[object Set]",G=t=>typeof t=="function",ce=t=>typeof t=="string",it=t=>typeof t=="symbol",le=t=>t!==null&&typeof t=="object",ki=t=>(le(t)||G(t))&&G(t.then)&&G(t.catch),Fi=Object.prototype.toString,As=t=>Fi.call(t),nl=t=>As(t).slice(8,-1),Ii=t=>As(t)==="[object Object]",pn=t=>ce(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Ht=fn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),xs=t=>{const e=Object.create(null);return s=>e[s]||(e[s]=t(s))},il=/-(\w)/g,Fe=xs(t=>t.replace(il,(e,s)=>s?s.toUpperCase():"")),rl=/\B([A-Z])/g,At=xs(t=>t.replace(rl,"-$1").toLowerCase()),Ss=xs(t=>t.charAt(0).toUpperCase()+t.slice(1)),ks=xs(t=>t?`on${Ss(t)}`:""),pt=(t,e)=>!Object.is(t,e),Fs=(t,...e)=>{for(let s=0;s{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:n,value:s})},ll=t=>{const e=parseFloat(t);return isNaN(e)?t:e};let Mn;const Es=()=>Mn||(Mn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function gn(t){if(W(t)){const e={};for(let s=0;s{if(s){const n=s.split(al);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}function mn(t){let e="";if(ce(t))e=t;else if(W(t))for(let s=0;s!!(t&&t.__v_isRef===!0),Bi=t=>ce(t)?t:t==null?"":W(t)||le(t)&&(t.toString===Fi||!G(t.toString))?Ni(t)?Bi(t.value):JSON.stringify(t,Hi,2):String(t),Hi=(t,e)=>Ni(e)?Hi(t,e.value):_t(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((s,[n,i],r)=>(s[Is(n,r)+" =>"]=i,s),{})}:Di(e)?{[`Set(${e.size})`]:[...e.values()].map(s=>Is(s))}:it(e)?Is(e):le(e)&&!W(e)&&!Ii(e)?String(e):e,Is=(t,e="")=>{var s;return it(t)?`Symbol(${(s=t.description)!=null?s:e})`:t};/** +* @vue/reactivity v3.5.17 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Pe;class dl{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Pe,!e&&Pe&&(this.index=(Pe.scopes||(Pe.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,s;if(this.scopes)for(e=0,s=this.scopes.length;e0)return;if(Ut){let e=Ut;for(Ut=void 0;e;){const s=e.next;e.next=void 0,e.flags&=-9,e=s}}let t;for(;Vt;){let e=Vt;for(Vt=void 0;e;){const s=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(n){t||(t=n)}e=s}}if(t)throw t}function ji(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function $i(t){let e,s=t.depsTail,n=s;for(;n;){const i=n.prevDep;n.version===-1?(n===s&&(s=i),bn(n),gl(n)):e=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=i}t.deps=e,t.depsTail=s}function qs(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(Wi(e.dep.computed)||e.dep.version!==e.version))return!0;return!!t._dirty}function Wi(t){if(t.flags&4&&!(t.flags&16)||(t.flags&=-17,t.globalVersion===Kt))return;t.globalVersion=Kt;const e=t.dep;if(t.flags|=2,e.version>0&&!t.isSSR&&t.deps&&!qs(t)){t.flags&=-3;return}const s=ne,n=Ne;ne=t,Ne=!0;try{ji(t);const i=t.fn(t._value);(e.version===0||ft(i,t._value))&&(t._value=i,e.version++)}catch(i){throw e.version++,i}finally{ne=s,Ne=n,$i(t),t.flags&=-3}}function bn(t,e=!1){const{dep:s,prevSub:n,nextSub:i}=t;if(n&&(n.nextSub=i,t.prevSub=void 0),i&&(i.prevSub=n,t.nextSub=void 0),s.subs===t&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let r=s.computed.deps;r;r=r.nextDep)bn(r,!0)}!e&&!--s.sc&&s.map&&s.map.delete(s.key)}function gl(t){const{prevDep:e,nextDep:s}=t;e&&(e.nextDep=s,t.prevDep=void 0),s&&(s.prevDep=e,t.nextDep=void 0)}let Ne=!0;const zi=[];function dt(){zi.push(Ne),Ne=!1}function pt(){const t=zi.pop();Ne=t===void 0?!0:t}function In(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const s=ne;ne=void 0;try{e()}finally{ne=s}}}let Kt=0;class ml{constructor(e,s){this.sub=e,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class yn{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(e){if(!ne||!Ne||ne===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==ne)s=this.activeLink=new ml(ne,this),ne.deps?(s.prevDep=ne.depsTail,ne.depsTail.nextDep=s,ne.depsTail=s):ne.deps=ne.depsTail=s,Gi(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=ne.depsTail,s.nextDep=void 0,ne.depsTail.nextDep=s,ne.depsTail=s,ne.deps===s&&(ne.deps=n)}return s}trigger(e){this.version++,Kt++,this.notify(e)}notify(e){mn();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{vn()}}}function Gi(t){if(t.dep.sc++,t.sub.flags&4){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let n=e.deps;n;n=n.nextDep)Gi(n)}const s=t.dep.subs;s!==t&&(t.prevSub=s,s&&(s.nextSub=t)),t.dep.subs=t}}const Ys=new WeakMap,bt=Symbol(""),Qs=Symbol(""),qt=Symbol("");function pe(t,e,s){if(Ne&&ne){let n=Ys.get(t);n||Ys.set(t,n=new Map);let i=n.get(s);i||(n.set(s,i=new yn),i.map=n,i.key=s),i.track()}}function Xe(t,e,s,n,i,r){const l=Ys.get(t);if(!l){Kt++;return}const o=a=>{a&&a.trigger()};if(mn(),e==="clear")l.forEach(o);else{const a=z(t),u=a&&dn(s);if(a&&s==="length"){const c=Number(n);l.forEach((f,p)=>{(p==="length"||p===qt||!tt(p)&&p>=c)&&o(f)})}else switch((s!==void 0||l.has(void 0))&&o(l.get(s)),u&&o(l.get(qt)),e){case"add":a?u&&o(l.get("length")):(o(l.get(bt)),_t(t)&&o(l.get(Qs)));break;case"delete":a||(o(l.get(bt)),_t(t)&&o(l.get(Qs)));break;case"set":_t(t)&&o(l.get(bt));break}}vn()}function xt(t){const e=Z(t);return e===t?e:(pe(e,"iterate",qt),ke(t)?e:e.map(ge))}function Es(t){return pe(t=Z(t),"iterate",qt),t}const vl={__proto__:null,[Symbol.iterator](){return Ms(this,Symbol.iterator,ge)},concat(...t){return xt(this).concat(...t.map(e=>z(e)?xt(e):e))},entries(){return Ms(this,"entries",t=>(t[1]=ge(t[1]),t))},every(t,e){return qe(this,"every",t,e,void 0,arguments)},filter(t,e){return qe(this,"filter",t,e,s=>s.map(ge),arguments)},find(t,e){return qe(this,"find",t,e,ge,arguments)},findIndex(t,e){return qe(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return qe(this,"findLast",t,e,ge,arguments)},findLastIndex(t,e){return qe(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return qe(this,"forEach",t,e,void 0,arguments)},includes(...t){return Ns(this,"includes",t)},indexOf(...t){return Ns(this,"indexOf",t)},join(t){return xt(this).join(t)},lastIndexOf(...t){return Ns(this,"lastIndexOf",t)},map(t,e){return qe(this,"map",t,e,void 0,arguments)},pop(){return It(this,"pop")},push(...t){return It(this,"push",t)},reduce(t,...e){return Mn(this,"reduce",t,e)},reduceRight(t,...e){return Mn(this,"reduceRight",t,e)},shift(){return It(this,"shift")},some(t,e){return qe(this,"some",t,e,void 0,arguments)},splice(...t){return It(this,"splice",t)},toReversed(){return xt(this).toReversed()},toSorted(t){return xt(this).toSorted(t)},toSpliced(...t){return xt(this).toSpliced(...t)},unshift(...t){return It(this,"unshift",t)},values(){return Ms(this,"values",ge)}};function Ms(t,e,s){const n=Es(t),i=n[e]();return n!==t&&!ke(t)&&(i._next=i.next,i.next=()=>{const r=i._next();return r.value&&(r.value=s(r.value)),r}),i}const bl=Array.prototype;function qe(t,e,s,n,i,r){const l=Es(t),o=l!==t&&!ke(t),a=l[e];if(a!==bl[e]){const f=a.apply(t,r);return o?ge(f):f}let u=s;l!==t&&(o?u=function(f,p){return s.call(this,ge(f),p,t)}:s.length>2&&(u=function(f,p){return s.call(this,f,p,t)}));const c=a.call(l,u,n);return o&&i?i(c):c}function Mn(t,e,s,n){const i=Es(t);let r=s;return i!==t&&(ke(t)?s.length>3&&(r=function(l,o,a){return s.call(this,l,o,a,t)}):r=function(l,o,a){return s.call(this,l,ge(o),a,t)}),i[e](r,...n)}function Ns(t,e,s){const n=Z(t);pe(n,"iterate",qt);const i=n[e](...s);return(i===-1||i===!1)&&xn(s[0])?(s[0]=Z(s[0]),n[e](...s)):i}function It(t,e,s=[]){dt(),mn();const n=Z(t)[e].apply(t,s);return vn(),pt(),n}const yl=un("__proto__,__v_isRef,__isVue"),Ki=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(tt));function wl(t){tt(t)||(t=String(t));const e=Z(this);return pe(e,"has",t),e.hasOwnProperty(t)}class qi{constructor(e=!1,s=!1){this._isReadonly=e,this._isShallow=s}get(e,s,n){if(s==="__v_skip")return e.__v_skip;const i=this._isReadonly,r=this._isShallow;if(s==="__v_isReactive")return!i;if(s==="__v_isReadonly")return i;if(s==="__v_isShallow")return r;if(s==="__v_raw")return n===(i?r?Pl:Zi:r?Ji:Qi).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const l=z(e);if(!i){let a;if(l&&(a=vl[s]))return a;if(s==="hasOwnProperty")return wl}const o=Reflect.get(e,s,ve(e)?e:n);return(tt(s)?Ki.has(s):yl(s))||(i||pe(e,"get",s),r)?o:ve(o)?l&&dn(s)?o:o.value:le(o)?i?er(o):Cs(o):o}}class Yi extends qi{constructor(e=!1){super(!1,e)}set(e,s,n,i){let r=e[s];if(!this._isShallow){const a=wt(r);if(!ke(n)&&!wt(n)&&(r=Z(r),n=Z(n)),!z(e)&&ve(r)&&!ve(n))return a?!1:(r.value=n,!0)}const l=z(e)&&dn(s)?Number(s)t,is=t=>Reflect.getPrototypeOf(t);function Cl(t,e,s){return function(...n){const i=this.__v_raw,r=Z(i),l=_t(r),o=t==="entries"||t===Symbol.iterator&&l,a=t==="keys"&&l,u=i[t](...n),c=s?Js:e?Zs:ge;return!e&&pe(r,"iterate",a?Qs:bt),{next(){const{value:f,done:p}=u.next();return p?{value:f,done:p}:{value:o?[c(f[0]),c(f[1])]:c(f),done:p}},[Symbol.iterator](){return this}}}}function rs(t){return function(...e){return t==="delete"?!1:t==="clear"?void 0:this}}function _l(t,e){const s={get(i){const r=this.__v_raw,l=Z(r),o=Z(i);t||(ft(i,o)&&pe(l,"get",i),pe(l,"get",o));const{has:a}=is(l),u=e?Js:t?Zs:ge;if(a.call(l,i))return u(r.get(i));if(a.call(l,o))return u(r.get(o));r!==l&&r.get(i)},get size(){const i=this.__v_raw;return!t&&pe(Z(i),"iterate",bt),Reflect.get(i,"size",i)},has(i){const r=this.__v_raw,l=Z(r),o=Z(i);return t||(ft(i,o)&&pe(l,"has",i),pe(l,"has",o)),i===o?r.has(i):r.has(i)||r.has(o)},forEach(i,r){const l=this,o=l.__v_raw,a=Z(o),u=e?Js:t?Zs:ge;return!t&&pe(a,"iterate",bt),o.forEach((c,f)=>i.call(r,u(c),u(f),l))}};return be(s,t?{add:rs("add"),set:rs("set"),delete:rs("delete"),clear:rs("clear")}:{add(i){!e&&!ke(i)&&!wt(i)&&(i=Z(i));const r=Z(this);return is(r).has.call(r,i)||(r.add(i),Xe(r,"add",i,i)),this},set(i,r){!e&&!ke(r)&&!wt(r)&&(r=Z(r));const l=Z(this),{has:o,get:a}=is(l);let u=o.call(l,i);u||(i=Z(i),u=o.call(l,i));const c=a.call(l,i);return l.set(i,r),u?ft(r,c)&&Xe(l,"set",i,r):Xe(l,"add",i,r),this},delete(i){const r=Z(this),{has:l,get:o}=is(r);let a=l.call(r,i);a||(i=Z(i),a=l.call(r,i)),o&&o.call(r,i);const u=r.delete(i);return a&&Xe(r,"delete",i,void 0),u},clear(){const i=Z(this),r=i.size!==0,l=i.clear();return r&&Xe(i,"clear",void 0,void 0),l}}),["keys","values","entries",Symbol.iterator].forEach(i=>{s[i]=Cl(i,t,e)}),s}function wn(t,e){const s=_l(t,e);return(n,i,r)=>i==="__v_isReactive"?!t:i==="__v_isReadonly"?t:i==="__v_raw"?n:Reflect.get(X(s,i)&&i in n?s:n,i,r)}const Ol={get:wn(!1,!1)},Tl={get:wn(!1,!0)},Ll={get:wn(!0,!1)};const Qi=new WeakMap,Ji=new WeakMap,Zi=new WeakMap,Pl=new WeakMap;function Rl(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Dl(t){return t.__v_skip||!Object.isExtensible(t)?0:Rl(nl(t))}function Cs(t){return wt(t)?t:An(t,!1,xl,Ol,Qi)}function Xi(t){return An(t,!1,El,Tl,Ji)}function er(t){return An(t,!0,Sl,Ll,Zi)}function An(t,e,s,n,i){if(!le(t)||t.__v_raw&&!(e&&t.__v_isReactive))return t;const r=i.get(t);if(r)return r;const l=Dl(t);if(l===0)return t;const o=new Proxy(t,l===2?n:s);return i.set(t,o),o}function Ot(t){return wt(t)?Ot(t.__v_raw):!!(t&&t.__v_isReactive)}function wt(t){return!!(t&&t.__v_isReadonly)}function ke(t){return!!(t&&t.__v_isShallow)}function xn(t){return t?!!t.__v_raw:!1}function Z(t){const e=t&&t.__v_raw;return e?Z(e):t}function kl(t){return!X(t,"__v_skip")&&Object.isExtensible(t)&&Fi(t,"__v_skip",!0),t}const ge=t=>le(t)?Cs(t):t,Zs=t=>le(t)?er(t):t;function ve(t){return t?t.__v_isRef===!0:!1}function tr(t){return sr(t,!1)}function Fl(t){return sr(t,!0)}function sr(t,e){return ve(t)?t:new Il(t,e)}class Il{constructor(e,s){this.dep=new yn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?e:Z(e),this._value=s?e:ge(e),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(e){const s=this._rawValue,n=this.__v_isShallow||ke(e)||wt(e);e=n?e:Z(e),ft(e,s)&&(this._rawValue=e,this._value=n?e:ge(e),this.dep.trigger())}}function yt(t){return ve(t)?t.value:t}const Ml={get:(t,e,s)=>e==="__v_raw"?t:yt(Reflect.get(t,e,s)),set:(t,e,s,n)=>{const i=t[e];return ve(i)&&!ve(s)?(i.value=s,!0):Reflect.set(t,e,s,n)}};function nr(t){return Ot(t)?t:new Proxy(t,Ml)}class Nl{constructor(e,s,n){this.fn=e,this.setter=s,this._value=void 0,this.dep=new yn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Kt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ne!==this)return Ui(this,!0),!0}get value(){const e=this.dep.track();return Wi(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function Bl(t,e,s=!1){let n,i;return G(t)?n=t:(n=t.get,i=t.set),new Nl(n,i,s)}const ls={},ds=new WeakMap;let vt;function Hl(t,e=!1,s=vt){if(s){let n=ds.get(s);n||ds.set(s,n=[]),n.push(t)}}function Vl(t,e,s=ie){const{immediate:n,deep:i,once:r,scheduler:l,augmentJob:o,call:a}=s,u=y=>i?y:ke(y)||i===!1||i===0?ut(y,1):ut(y);let c,f,p,v,T=!1,O=!1;if(ve(t)?(f=()=>t.value,T=ke(t)):Ot(t)?(f=()=>u(t),T=!0):z(t)?(O=!0,T=t.some(y=>Ot(y)||ke(y)),f=()=>t.map(y=>{if(ve(y))return y.value;if(Ot(y))return u(y);if(G(y))return a?a(y,2):y()})):G(t)?e?f=a?()=>a(t,2):t:f=()=>{if(p){dt();try{p()}finally{pt()}}const y=vt;vt=c;try{return a?a(t,3,[v]):t(v)}finally{vt=y}}:f=Ge,e&&i){const y=f,E=i===!0?1/0:i;f=()=>ut(y(),E)}const D=pl(),L=()=>{c.stop(),D&&D.active&&hn(D.effects,c)};if(r&&e){const y=e;e=(...E)=>{y(...E),L()}}let g=O?new Array(t.length).fill(ls):ls;const b=y=>{if(!(!(c.flags&1)||!c.dirty&&!y))if(e){const E=c.run();if(i||T||(O?E.some((_,F)=>ft(_,g[F])):ft(E,g))){p&&p();const _=vt;vt=c;try{const F=[E,g===ls?void 0:O&&g[0]===ls?[]:g,v];a?a(e,3,F):e(...F),g=E}finally{vt=_}}}else c.run()};return o&&o(b),c=new Hi(f),c.scheduler=l?()=>l(b,!1):b,v=y=>Hl(y,!1,c),p=c.onStop=()=>{const y=ds.get(c);if(y){if(a)a(y,4);else for(const E of y)E();ds.delete(c)}},e?n?b(!0):g=c.run():l?l(b.bind(null,!0),!0):c.run(),L.pause=c.pause.bind(c),L.resume=c.resume.bind(c),L.stop=L,L}function ut(t,e=1/0,s){if(e<=0||!le(t)||t.__v_skip||(s=s||new Set,s.has(t)))return t;if(s.add(t),e--,ve(t))ut(t.value,e,s);else if(z(t))for(let n=0;n{ut(n,e,s)});else if(ki(t)){for(const n in t)ut(t[n],e,s);for(const n of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,n)&&ut(t[n],e,s)}return t}/** -* @vue/runtime-core v3.5.13 +**/let Oe;class dl{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Oe,!e&&Oe&&(this.index=(Oe.scopes||(Oe.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,s;if(this.scopes)for(e=0,s=this.scopes.length;e0&&--this._on===0&&(Oe=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s0)return;if(Ut){let e=Ut;for(Ut=void 0;e;){const s=e.next;e.next=void 0,e.flags&=-9,e=s}}let t;for(;Vt;){let e=Vt;for(Vt=void 0;e;){const s=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(n){t||(t=n)}e=s}}if(t)throw t}function $i(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function Wi(t){let e,s=t.depsTail,n=s;for(;n;){const i=n.prevDep;n.version===-1?(n===s&&(s=i),yn(n),gl(n)):e=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=i}t.deps=e,t.depsTail=s}function Qs(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(zi(e.dep.computed)||e.dep.version!==e.version))return!0;return!!t._dirty}function zi(t){if(t.flags&4&&!(t.flags&16)||(t.flags&=-17,t.globalVersion===qt)||(t.globalVersion=qt,!t.isSSR&&t.flags&128&&(!t.deps&&!t._dirty||!Qs(t))))return;t.flags|=2;const e=t.dep,s=ne,n=Ne;ne=t,Ne=!0;try{$i(t);const i=t.fn(t._value);(e.version===0||pt(i,t._value))&&(t.flags|=128,t._value=i,e.version++)}catch(i){throw e.version++,i}finally{ne=s,Ne=n,Wi(t),t.flags&=-3}}function yn(t,e=!1){const{dep:s,prevSub:n,nextSub:i}=t;if(n&&(n.nextSub=i,t.prevSub=void 0),i&&(i.prevSub=n,t.nextSub=void 0),s.subs===t&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let r=s.computed.deps;r;r=r.nextDep)yn(r,!0)}!e&&!--s.sc&&s.map&&s.map.delete(s.key)}function gl(t){const{prevDep:e,nextDep:s}=t;e&&(e.nextDep=s,t.prevDep=void 0),s&&(s.prevDep=e,t.nextDep=void 0)}let Ne=!0;const Gi=[];function tt(){Gi.push(Ne),Ne=!1}function st(){const t=Gi.pop();Ne=t===void 0?!0:t}function Nn(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const s=ne;ne=void 0;try{e()}finally{ne=s}}}let qt=0;class ml{constructor(e,s){this.sub=e,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class wn{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!ne||!Ne||ne===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==ne)s=this.activeLink=new ml(ne,this),ne.deps?(s.prevDep=ne.depsTail,ne.depsTail.nextDep=s,ne.depsTail=s):ne.deps=ne.depsTail=s,Ki(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=ne.depsTail,s.nextDep=void 0,ne.depsTail.nextDep=s,ne.depsTail=s,ne.deps===s&&(ne.deps=n)}return s}trigger(e){this.version++,qt++,this.notify(e)}notify(e){vn();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{bn()}}}function Ki(t){if(t.dep.sc++,t.sub.flags&4){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let n=e.deps;n;n=n.nextDep)Ki(n)}const s=t.dep.subs;s!==t&&(t.prevSub=s,s&&(s.nextSub=t)),t.dep.subs=t}}const Js=new WeakMap,yt=Symbol(""),Zs=Symbol(""),Yt=Symbol("");function ge(t,e,s){if(Ne&&ne){let n=Js.get(t);n||Js.set(t,n=new Map);let i=n.get(s);i||(n.set(s,i=new wn),i.map=n,i.key=s),i.track()}}function Xe(t,e,s,n,i,r){const o=Js.get(t);if(!o){qt++;return}const l=a=>{a&&a.trigger()};if(vn(),e==="clear")o.forEach(l);else{const a=W(t),u=a&&pn(s);if(a&&s==="length"){const c=Number(n);o.forEach((f,p)=>{(p==="length"||p===Yt||!it(p)&&p>=c)&&l(f)})}else switch((s!==void 0||o.has(void 0))&&l(o.get(s)),u&&l(o.get(Yt)),e){case"add":a?u&&l(o.get("length")):(l(o.get(yt)),_t(t)&&l(o.get(Zs)));break;case"delete":a||(l(o.get(yt)),_t(t)&&l(o.get(Zs)));break;case"set":_t(t)&&l(o.get(yt));break}}bn()}function xt(t){const e=Z(t);return e===t?e:(ge(e,"iterate",Yt),ke(t)?e:e.map(he))}function Cs(t){return ge(t=Z(t),"iterate",Yt),t}const vl={__proto__:null,[Symbol.iterator](){return Ns(this,Symbol.iterator,he)},concat(...t){return xt(this).concat(...t.map(e=>W(e)?xt(e):e))},entries(){return Ns(this,"entries",t=>(t[1]=he(t[1]),t))},every(t,e){return qe(this,"every",t,e,void 0,arguments)},filter(t,e){return qe(this,"filter",t,e,s=>s.map(he),arguments)},find(t,e){return qe(this,"find",t,e,he,arguments)},findIndex(t,e){return qe(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return qe(this,"findLast",t,e,he,arguments)},findLastIndex(t,e){return qe(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return qe(this,"forEach",t,e,void 0,arguments)},includes(...t){return Bs(this,"includes",t)},indexOf(...t){return Bs(this,"indexOf",t)},join(t){return xt(this).join(t)},lastIndexOf(...t){return Bs(this,"lastIndexOf",t)},map(t,e){return qe(this,"map",t,e,void 0,arguments)},pop(){return It(this,"pop")},push(...t){return It(this,"push",t)},reduce(t,...e){return Bn(this,"reduce",t,e)},reduceRight(t,...e){return Bn(this,"reduceRight",t,e)},shift(){return It(this,"shift")},some(t,e){return qe(this,"some",t,e,void 0,arguments)},splice(...t){return It(this,"splice",t)},toReversed(){return xt(this).toReversed()},toSorted(t){return xt(this).toSorted(t)},toSpliced(...t){return xt(this).toSpliced(...t)},unshift(...t){return It(this,"unshift",t)},values(){return Ns(this,"values",he)}};function Ns(t,e,s){const n=Cs(t),i=n[e]();return n!==t&&!ke(t)&&(i._next=i.next,i.next=()=>{const r=i._next();return r.value&&(r.value=s(r.value)),r}),i}const bl=Array.prototype;function qe(t,e,s,n,i,r){const o=Cs(t),l=o!==t&&!ke(t),a=o[e];if(a!==bl[e]){const f=a.apply(t,r);return l?he(f):f}let u=s;o!==t&&(l?u=function(f,p){return s.call(this,he(f),p,t)}:s.length>2&&(u=function(f,p){return s.call(this,f,p,t)}));const c=a.call(o,u,n);return l&&i?i(c):c}function Bn(t,e,s,n){const i=Cs(t);let r=s;return i!==t&&(ke(t)?s.length>3&&(r=function(o,l,a){return s.call(this,o,l,a,t)}):r=function(o,l,a){return s.call(this,o,he(l),a,t)}),i[e](r,...n)}function Bs(t,e,s){const n=Z(t);ge(n,"iterate",Yt);const i=n[e](...s);return(i===-1||i===!1)&&Sn(s[0])?(s[0]=Z(s[0]),n[e](...s)):i}function It(t,e,s=[]){tt(),vn();const n=Z(t)[e].apply(t,s);return bn(),st(),n}const yl=fn("__proto__,__v_isRef,__isVue"),qi=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(it));function wl(t){it(t)||(t=String(t));const e=Z(this);return ge(e,"has",t),e.hasOwnProperty(t)}class Yi{constructor(e=!1,s=!1){this._isReadonly=e,this._isShallow=s}get(e,s,n){if(s==="__v_skip")return e.__v_skip;const i=this._isReadonly,r=this._isShallow;if(s==="__v_isReactive")return!i;if(s==="__v_isReadonly")return i;if(s==="__v_isShallow")return r;if(s==="__v_raw")return n===(i?r?Pl:Xi:r?Zi:Ji).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const o=W(e);if(!i){let a;if(o&&(a=vl[s]))return a;if(s==="hasOwnProperty")return wl}const l=Reflect.get(e,s,ve(e)?e:n);return(it(s)?qi.has(s):yl(s))||(i||ge(e,"get",s),r)?l:ve(l)?o&&pn(s)?l:l.value:le(l)?i?tr(l):_s(l):l}}class Qi extends Yi{constructor(e=!1){super(!1,e)}set(e,s,n,i){let r=e[s];if(!this._isShallow){const a=gt(r);if(!ke(n)&&!gt(n)&&(r=Z(r),n=Z(n)),!W(e)&&ve(r)&&!ve(n))return a?!1:(r.value=n,!0)}const o=W(e)&&pn(s)?Number(s)t,rs=t=>Reflect.getPrototypeOf(t);function Cl(t,e,s){return function(...n){const i=this.__v_raw,r=Z(i),o=_t(r),l=t==="entries"||t===Symbol.iterator&&o,a=t==="keys"&&o,u=i[t](...n),c=s?Xs:e?ps:he;return!e&&ge(r,"iterate",a?Zs:yt),{next(){const{value:f,done:p}=u.next();return p?{value:f,done:p}:{value:l?[c(f[0]),c(f[1])]:c(f),done:p}},[Symbol.iterator](){return this}}}}function ls(t){return function(...e){return t==="delete"?!1:t==="clear"?void 0:this}}function _l(t,e){const s={get(i){const r=this.__v_raw,o=Z(r),l=Z(i);t||(pt(i,l)&&ge(o,"get",i),ge(o,"get",l));const{has:a}=rs(o),u=e?Xs:t?ps:he;if(a.call(o,i))return u(r.get(i));if(a.call(o,l))return u(r.get(l));r!==o&&r.get(i)},get size(){const i=this.__v_raw;return!t&&ge(Z(i),"iterate",yt),Reflect.get(i,"size",i)},has(i){const r=this.__v_raw,o=Z(r),l=Z(i);return t||(pt(i,l)&&ge(o,"has",i),ge(o,"has",l)),i===l?r.has(i):r.has(i)||r.has(l)},forEach(i,r){const o=this,l=o.__v_raw,a=Z(l),u=e?Xs:t?ps:he;return!t&&ge(a,"iterate",yt),l.forEach((c,f)=>i.call(r,u(c),u(f),o))}};return be(s,t?{add:ls("add"),set:ls("set"),delete:ls("delete"),clear:ls("clear")}:{add(i){!e&&!ke(i)&&!gt(i)&&(i=Z(i));const r=Z(this);return rs(r).has.call(r,i)||(r.add(i),Xe(r,"add",i,i)),this},set(i,r){!e&&!ke(r)&&!gt(r)&&(r=Z(r));const o=Z(this),{has:l,get:a}=rs(o);let u=l.call(o,i);u||(i=Z(i),u=l.call(o,i));const c=a.call(o,i);return o.set(i,r),u?pt(r,c)&&Xe(o,"set",i,r):Xe(o,"add",i,r),this},delete(i){const r=Z(this),{has:o,get:l}=rs(r);let a=o.call(r,i);a||(i=Z(i),a=o.call(r,i)),l&&l.call(r,i);const u=r.delete(i);return a&&Xe(r,"delete",i,void 0),u},clear(){const i=Z(this),r=i.size!==0,o=i.clear();return r&&Xe(i,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(i=>{s[i]=Cl(i,t,e)}),s}function An(t,e){const s=_l(t,e);return(n,i,r)=>i==="__v_isReactive"?!t:i==="__v_isReadonly"?t:i==="__v_raw"?n:Reflect.get(X(s,i)&&i in n?s:n,i,r)}const Ol={get:An(!1,!1)},Tl={get:An(!1,!0)},Ll={get:An(!0,!1)};const Ji=new WeakMap,Zi=new WeakMap,Xi=new WeakMap,Pl=new WeakMap;function Rl(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Dl(t){return t.__v_skip||!Object.isExtensible(t)?0:Rl(nl(t))}function _s(t){return gt(t)?t:xn(t,!1,xl,Ol,Ji)}function er(t){return xn(t,!1,El,Tl,Zi)}function tr(t){return xn(t,!0,Sl,Ll,Xi)}function xn(t,e,s,n,i){if(!le(t)||t.__v_raw&&!(e&&t.__v_isReactive))return t;const r=Dl(t);if(r===0)return t;const o=i.get(t);if(o)return o;const l=new Proxy(t,r===2?n:s);return i.set(t,l),l}function Ot(t){return gt(t)?Ot(t.__v_raw):!!(t&&t.__v_isReactive)}function gt(t){return!!(t&&t.__v_isReadonly)}function ke(t){return!!(t&&t.__v_isShallow)}function Sn(t){return t?!!t.__v_raw:!1}function Z(t){const e=t&&t.__v_raw;return e?Z(e):t}function kl(t){return!X(t,"__v_skip")&&Object.isExtensible(t)&&Ys(t,"__v_skip",!0),t}const he=t=>le(t)?_s(t):t,ps=t=>le(t)?tr(t):t;function ve(t){return t?t.__v_isRef===!0:!1}function sr(t){return nr(t,!1)}function Fl(t){return nr(t,!0)}function nr(t,e){return ve(t)?t:new Il(t,e)}class Il{constructor(e,s){this.dep=new wn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?e:Z(e),this._value=s?e:he(e),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(e){const s=this._rawValue,n=this.__v_isShallow||ke(e)||gt(e);e=n?e:Z(e),pt(e,s)&&(this._rawValue=e,this._value=n?e:he(e),this.dep.trigger())}}function wt(t){return ve(t)?t.value:t}const Ml={get:(t,e,s)=>e==="__v_raw"?t:wt(Reflect.get(t,e,s)),set:(t,e,s,n)=>{const i=t[e];return ve(i)&&!ve(s)?(i.value=s,!0):Reflect.set(t,e,s,n)}};function ir(t){return Ot(t)?t:new Proxy(t,Ml)}class Nl{constructor(e,s,n){this.fn=e,this.setter=s,this._value=void 0,this.dep=new wn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=qt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ne!==this)return ji(this,!0),!0}get value(){const e=this.dep.track();return zi(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function Bl(t,e,s=!1){let n,i;return G(t)?n=t:(n=t.get,i=t.set),new Nl(n,i,s)}const os={},gs=new WeakMap;let bt;function Hl(t,e=!1,s=bt){if(s){let n=gs.get(s);n||gs.set(s,n=[]),n.push(t)}}function Vl(t,e,s=ie){const{immediate:n,deep:i,once:r,scheduler:o,augmentJob:l,call:a}=s,u=y=>i?y:ke(y)||i===!1||i===0?dt(y,1):dt(y);let c,f,p,v,T=!1,O=!1;if(ve(t)?(f=()=>t.value,T=ke(t)):Ot(t)?(f=()=>u(t),T=!0):W(t)?(O=!0,T=t.some(y=>Ot(y)||ke(y)),f=()=>t.map(y=>{if(ve(y))return y.value;if(Ot(y))return u(y);if(G(y))return a?a(y,2):y()})):G(t)?e?f=a?()=>a(t,2):t:f=()=>{if(p){tt();try{p()}finally{st()}}const y=bt;bt=c;try{return a?a(t,3,[v]):t(v)}finally{bt=y}}:f=Ge,e&&i){const y=f,E=i===!0?1/0:i;f=()=>dt(y(),E)}const D=pl(),L=()=>{c.stop(),D&&D.active&&dn(D.effects,c)};if(r&&e){const y=e;e=(...E)=>{y(...E),L()}}let g=O?new Array(t.length).fill(os):os;const b=y=>{if(!(!(c.flags&1)||!c.dirty&&!y))if(e){const E=c.run();if(i||T||(O?E.some((_,F)=>pt(_,g[F])):pt(E,g))){p&&p();const _=bt;bt=c;try{const F=[E,g===os?void 0:O&&g[0]===os?[]:g,v];g=E,a?a(e,3,F):e(...F)}finally{bt=_}}}else c.run()};return l&&l(b),c=new Vi(f),c.scheduler=o?()=>o(b,!1):b,v=y=>Hl(y,!1,c),p=c.onStop=()=>{const y=gs.get(c);if(y){if(a)a(y,4);else for(const E of y)E();gs.delete(c)}},e?n?b(!0):g=c.run():o?o(b.bind(null,!0),!0):c.run(),L.pause=c.pause.bind(c),L.resume=c.resume.bind(c),L.stop=L,L}function dt(t,e=1/0,s){if(e<=0||!le(t)||t.__v_skip||(s=s||new Set,s.has(t)))return t;if(s.add(t),e--,ve(t))dt(t.value,e,s);else if(W(t))for(let n=0;n{dt(n,e,s)});else if(Ii(t)){for(const n in t)dt(t[n],e,s);for(const n of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,n)&&dt(t[n],e,s)}return t}/** +* @vue/runtime-core v3.5.17 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function ss(t,e,s,n){try{return n?t(...n):t()}catch(i){_s(i,e,s)}}function Ke(t,e,s,n){if(G(t)){const i=ss(t,e,s,n);return i&&Ri(i)&&i.catch(r=>{_s(r,e,s)}),i}if(z(t)){const i=[];for(let r=0;r>>1,i=Se[n],r=Yt(i);r=Yt(s)?Se.push(t):Se.splice(jl(e),0,t),t.flags|=1,lr()}}function lr(){ps||(ps=ir.then(ar))}function $l(t){z(t)?Tt.push(...t):ot&&t.id===-1?ot.splice(St+1,0,t):t.flags&1||(Tt.push(t),t.flags|=1),lr()}function Nn(t,e,s=We+1){for(;sYt(s)-Yt(n));if(Tt.length=0,ot){ot.push(...e);return}for(ot=e,St=0;Stt.id==null?t.flags&2?-1:1/0:t.id;function ar(t){try{for(We=0;We{n._d&&qn(-1);const r=gs(e);let l;try{l=t(...i)}finally{gs(r),n._d&&qn(1)}return l};return n._n=!0,n._c=!0,n._d=!0,n}function gt(t,e,s,n){const i=t.dirs,r=e&&e.dirs;for(let l=0;lt.__isTeleport;function En(t,e){t.shapeFlag&6&&t.component?(t.transition=e,En(t.component.subTree,e)):t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}/*! #__NO_SIDE_EFFECTS__ */function Os(t,e){return G(t)?be({name:t.name},e,{setup:t}):t}function ur(t){t.ids=[t.ids[0]+t.ids[2]+++"-",0,0]}function ms(t,e,s,n,i=!1){if(z(t)){t.forEach((T,O)=>ms(T,e&&(z(e)?e[O]:e),s,n,i));return}if(Lt(n)&&!i){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&ms(t,e,s,n.component.subTree);return}const r=n.shapeFlag&4?On(n.component):n.el,l=i?null:r,{i:o,r:a}=t,u=e&&e.r,c=o.refs===ie?o.refs={}:o.refs,f=o.setupState,p=Z(f),v=f===ie?()=>!1:T=>X(p,T);if(u!=null&&u!==a&&(ce(u)?(c[u]=null,v(u)&&(f[u]=null)):ve(u)&&(u.value=null)),G(a))ss(a,o,12,[l,c]);else{const T=ce(a),O=ve(a);if(T||O){const D=()=>{if(t.f){const L=T?v(a)?f[a]:c[a]:a.value;i?z(L)&&hn(L,r):z(L)?L.includes(r)||L.push(r):T?(c[a]=[r],v(a)&&(f[a]=c[a])):(a.value=[r],t.k&&(c[t.k]=a.value))}else T?(c[a]=l,v(a)&&(f[a]=l)):O&&(a.value=l,t.k&&(c[t.k]=l))};l?(D.id=-1,Le(D,s)):D()}}}Ss().requestIdleCallback;Ss().cancelIdleCallback;const Lt=t=>!!t.type.__asyncLoader,fr=t=>t.type.__isKeepAlive;function Kl(t,e){hr(t,"a",e)}function ql(t,e){hr(t,"da",e)}function hr(t,e,s=me){const n=t.__wdc||(t.__wdc=()=>{let i=s;for(;i;){if(i.isDeactivated)return;i=i.parent}return t()});if(Ts(e,n,s),s){let i=s.parent;for(;i&&i.parent;)fr(i.parent.vnode)&&Yl(n,e,s,i),i=i.parent}}function Yl(t,e,s,n){const i=Ts(e,t,n,!0);pr(()=>{hn(n[e],i)},s)}function Ts(t,e,s=me,n=!1){if(s){const i=s[t]||(s[t]=[]),r=e.__weh||(e.__weh=(...l)=>{dt();const o=ns(s),a=Ke(e,s,t,l);return o(),pt(),a});return n?i.unshift(r):i.push(r),r}}const st=t=>(e,s=me)=>{(!Xt||t==="sp")&&Ts(t,(...n)=>e(...n),s)},Ql=st("bm"),dr=st("m"),Jl=st("bu"),Zl=st("u"),Xl=st("bum"),pr=st("um"),eo=st("sp"),to=st("rtg"),so=st("rtc");function no(t,e=me){Ts("ec",t,e)}const io="components";function Bn(t,e){return lo(io,t,!0,e)||t}const ro=Symbol.for("v-ndc");function lo(t,e,s=!0,n=!1){const i=Ee||me;if(i){const r=i.type;{const o=Yo(r,!1);if(o&&(o===e||o===Fe(e)||o===xs(Fe(e))))return r}const l=Hn(i[t]||r[t],e)||Hn(i.appContext[t],e);return!l&&n?r:l}}function Hn(t,e){return t&&(t[e]||t[Fe(e)]||t[xs(Fe(e))])}function eu(t,e,s,n){let i;const r=s,l=z(t);if(l||ce(t)){const o=l&&Ot(t);let a=!1;o&&(a=!ke(t),t=Es(t)),i=new Array(t.length);for(let u=0,c=t.length;ue(o,a,void 0,r));else{const o=Object.keys(t);i=new Array(o.length);for(let a=0,u=o.length;aZt(e)?!(e.type===ht||e.type===Re&&!gr(e.children)):!0)?t:null}const Xs=t=>t?Nr(t)?On(t):Xs(t.parent):null,jt=be(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Xs(t.parent),$root:t=>Xs(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>vr(t),$forceUpdate:t=>t.f||(t.f=()=>{Sn(t.update)}),$nextTick:t=>t.n||(t.n=rr.bind(t.proxy)),$watch:t=>To.bind(t)}),Bs=(t,e)=>t!==ie&&!t.__isScriptSetup&&X(t,e),oo={get({_:t},e){if(e==="__v_skip")return!0;const{ctx:s,setupState:n,data:i,props:r,accessCache:l,type:o,appContext:a}=t;let u;if(e[0]!=="$"){const v=l[e];if(v!==void 0)switch(v){case 1:return n[e];case 2:return i[e];case 4:return s[e];case 3:return r[e]}else{if(Bs(n,e))return l[e]=1,n[e];if(i!==ie&&X(i,e))return l[e]=2,i[e];if((u=t.propsOptions[0])&&X(u,e))return l[e]=3,r[e];if(s!==ie&&X(s,e))return l[e]=4,s[e];en&&(l[e]=0)}}const c=jt[e];let f,p;if(c)return e==="$attrs"&&pe(t.attrs,"get",""),c(t);if((f=o.__cssModules)&&(f=f[e]))return f;if(s!==ie&&X(s,e))return l[e]=4,s[e];if(p=a.config.globalProperties,X(p,e))return p[e]},set({_:t},e,s){const{data:n,setupState:i,ctx:r}=t;return Bs(i,e)?(i[e]=s,!0):n!==ie&&X(n,e)?(n[e]=s,!0):X(t.props,e)||e[0]==="$"&&e.slice(1)in t?!1:(r[e]=s,!0)},has({_:{data:t,setupState:e,accessCache:s,ctx:n,appContext:i,propsOptions:r}},l){let o;return!!s[l]||t!==ie&&X(t,l)||Bs(e,l)||(o=r[0])&&X(o,l)||X(n,l)||X(jt,l)||X(i.config.globalProperties,l)},defineProperty(t,e,s){return s.get!=null?t._.accessCache[e]=0:X(s,"value")&&this.set(t,e,s.value,null),Reflect.defineProperty(t,e,s)}};function Vn(t){return z(t)?t.reduce((e,s)=>(e[s]=null,e),{}):t}let en=!0;function ao(t){const e=vr(t),s=t.proxy,n=t.ctx;en=!1,e.beforeCreate&&Un(e.beforeCreate,t,"bc");const{data:i,computed:r,methods:l,watch:o,provide:a,inject:u,created:c,beforeMount:f,mounted:p,beforeUpdate:v,updated:T,activated:O,deactivated:D,beforeDestroy:L,beforeUnmount:g,destroyed:b,unmounted:y,render:E,renderTracked:_,renderTriggered:F,errorCaptured:W,serverPrefetch:H,expose:q,inheritAttrs:re,components:de,directives:_e,filters:nt}=e;if(u&&co(u,n,null),l)for(const Q in l){const j=l[Q];G(j)&&(n[Q]=j.bind(s))}if(i){const Q=i.call(s,s);le(Q)&&(t.data=Cs(Q))}if(en=!0,r)for(const Q in r){const j=r[Q],ae=G(j)?j.bind(s,s):G(j.get)?j.get.bind(s,s):Ge,ye=!G(j)&&G(j.set)?j.set.bind(s):Ge,we=Me({get:ae,set:ye});Object.defineProperty(n,Q,{enumerable:!0,configurable:!0,get:()=>we.value,set:te=>we.value=te})}if(o)for(const Q in o)mr(o[Q],n,s,Q);if(a){const Q=G(a)?a.call(s):a;Reflect.ownKeys(Q).forEach(j=>{os(j,Q[j])})}c&&Un(c,t,"c");function oe(Q,j){z(j)?j.forEach(ae=>Q(ae.bind(s))):j&&Q(j.bind(s))}if(oe(Ql,f),oe(dr,p),oe(Jl,v),oe(Zl,T),oe(Kl,O),oe(ql,D),oe(no,W),oe(so,_),oe(to,F),oe(Xl,g),oe(pr,y),oe(eo,H),z(q))if(q.length){const Q=t.exposed||(t.exposed={});q.forEach(j=>{Object.defineProperty(Q,j,{get:()=>s[j],set:ae=>s[j]=ae})})}else t.exposed||(t.exposed={});E&&t.render===Ge&&(t.render=E),re!=null&&(t.inheritAttrs=re),de&&(t.components=de),_e&&(t.directives=_e),H&&ur(t)}function co(t,e,s=Ge){z(t)&&(t=tn(t));for(const n in t){const i=t[n];let r;le(i)?"default"in i?r=et(i.from||n,i.default,!0):r=et(i.from||n):r=et(i),ve(r)?Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:l=>r.value=l}):e[n]=r}}function Un(t,e,s){Ke(z(t)?t.map(n=>n.bind(e.proxy)):t.bind(e.proxy),e,s)}function mr(t,e,s,n){let i=n.includes(".")?Rr(s,n):()=>s[n];if(ce(t)){const r=e[t];G(r)&&as(i,r)}else if(G(t))as(i,t.bind(s));else if(le(t))if(z(t))t.forEach(r=>mr(r,e,s,n));else{const r=G(t.handler)?t.handler.bind(s):e[t.handler];G(r)&&as(i,r,t)}}function vr(t){const e=t.type,{mixins:s,extends:n}=e,{mixins:i,optionsCache:r,config:{optionMergeStrategies:l}}=t.appContext,o=r.get(e);let a;return o?a=o:!i.length&&!s&&!n?a=e:(a={},i.length&&i.forEach(u=>vs(a,u,l,!0)),vs(a,e,l)),le(e)&&r.set(e,a),a}function vs(t,e,s,n=!1){const{mixins:i,extends:r}=e;r&&vs(t,r,s,!0),i&&i.forEach(l=>vs(t,l,s,!0));for(const l in e)if(!(n&&l==="expose")){const o=uo[l]||s&&s[l];t[l]=o?o(t[l],e[l]):e[l]}return t}const uo={data:jn,props:$n,emits:$n,methods:Bt,computed:Bt,beforeCreate:xe,created:xe,beforeMount:xe,mounted:xe,beforeUpdate:xe,updated:xe,beforeDestroy:xe,beforeUnmount:xe,destroyed:xe,unmounted:xe,activated:xe,deactivated:xe,errorCaptured:xe,serverPrefetch:xe,components:Bt,directives:Bt,watch:ho,provide:jn,inject:fo};function jn(t,e){return e?t?function(){return be(G(t)?t.call(this,this):t,G(e)?e.call(this,this):e)}:e:t}function fo(t,e){return Bt(tn(t),tn(e))}function tn(t){if(z(t)){const e={};for(let s=0;s1)return s&&G(e)?e.call(n&&n.proxy):e}}const yr={},wr=()=>Object.create(yr),Ar=t=>Object.getPrototypeOf(t)===yr;function mo(t,e,s,n=!1){const i={},r=wr();t.propsDefaults=Object.create(null),xr(t,e,i,r);for(const l in t.propsOptions[0])l in i||(i[l]=void 0);s?t.props=n?i:Xi(i):t.type.props?t.props=i:t.props=r,t.attrs=r}function vo(t,e,s,n){const{props:i,attrs:r,vnode:{patchFlag:l}}=t,o=Z(i),[a]=t.propsOptions;let u=!1;if((n||l>0)&&!(l&16)){if(l&8){const c=t.vnode.dynamicProps;for(let f=0;f{a=!0;const[p,v]=Sr(f,e,!0);be(l,p),v&&o.push(...v)};!s&&e.mixins.length&&e.mixins.forEach(c),t.extends&&c(t.extends),t.mixins&&t.mixins.forEach(c)}if(!r&&!a)return le(t)&&n.set(t,Ct),Ct;if(z(r))for(let c=0;ct[0]==="_"||t==="$stable",Cn=t=>z(t)?t.map(ze):[ze(t)],yo=(t,e,s)=>{if(e._n)return e;const n=Wl((...i)=>Cn(e(...i)),s);return n._c=!1,n},Cr=(t,e,s)=>{const n=t._ctx;for(const i in t){if(Er(i))continue;const r=t[i];if(G(r))e[i]=yo(i,r,n);else if(r!=null){const l=Cn(r);e[i]=()=>l}}},_r=(t,e)=>{const s=Cn(e);t.slots.default=()=>s},Or=(t,e,s)=>{for(const n in e)(s||n!=="_")&&(t[n]=e[n])},wo=(t,e,s)=>{const n=t.slots=wr();if(t.vnode.shapeFlag&32){const i=e._;i?(Or(n,e,s),s&&Fi(n,"_",i,!0)):Cr(e,n)}else e&&_r(t,e)},Ao=(t,e,s)=>{const{vnode:n,slots:i}=t;let r=!0,l=ie;if(n.shapeFlag&32){const o=e._;o?s&&o===1?r=!1:Or(i,e,s):(r=!e.$stable,Cr(e,i)),l=e}else e&&(_r(t,e),l={default:1});if(r)for(const o in i)!Er(o)&&l[o]==null&&delete i[o]},Le=Io;function xo(t){return So(t)}function So(t,e){const s=Ss();s.__VUE__=!0;const{insert:n,remove:i,patchProp:r,createElement:l,createText:o,createComment:a,setText:u,setElementText:c,parentNode:f,nextSibling:p,setScopeId:v=Ge,insertStaticContent:T}=t,O=(h,d,m,A=null,S=null,x=null,I=void 0,R=null,P=!!d.dynamicChildren)=>{if(h===d)return;h&&!Mt(h,d)&&(A=w(h),te(h,S,x,!0),h=null),d.patchFlag===-2&&(P=!1,d.dynamicChildren=null);const{type:C,ref:U,shapeFlag:N}=d;switch(C){case Ps:D(h,d,m,A);break;case ht:L(h,d,m,A);break;case cs:h==null&&g(d,m,A,I);break;case Re:de(h,d,m,A,S,x,I,R,P);break;default:N&1?E(h,d,m,A,S,x,I,R,P):N&6?_e(h,d,m,A,S,x,I,R,P):(N&64||N&128)&&C.process(h,d,m,A,S,x,I,R,P,B)}U!=null&&S&&ms(U,h&&h.ref,x,d||h,!d)},D=(h,d,m,A)=>{if(h==null)n(d.el=o(d.children),m,A);else{const S=d.el=h.el;d.children!==h.children&&u(S,d.children)}},L=(h,d,m,A)=>{h==null?n(d.el=a(d.children||""),m,A):d.el=h.el},g=(h,d,m,A)=>{[h.el,h.anchor]=T(h.children,d,m,A,h.el,h.anchor)},b=({el:h,anchor:d},m,A)=>{let S;for(;h&&h!==d;)S=p(h),n(h,m,A),h=S;n(d,m,A)},y=({el:h,anchor:d})=>{let m;for(;h&&h!==d;)m=p(h),i(h),h=m;i(d)},E=(h,d,m,A,S,x,I,R,P)=>{d.type==="svg"?I="svg":d.type==="math"&&(I="mathml"),h==null?_(d,m,A,S,x,I,R,P):H(h,d,S,x,I,R,P)},_=(h,d,m,A,S,x,I,R)=>{let P,C;const{props:U,shapeFlag:N,transition:V,dirs:$}=h;if(P=h.el=l(h.type,x,U&&U.is,U),N&8?c(P,h.children):N&16&&W(h.children,P,null,A,S,Hs(h,x),I,R),$&>(h,null,A,"created"),F(P,h,h.scopeId,I,A),U){for(const se in U)se!=="value"&&!Ht(se)&&r(P,se,null,U[se],x,A);"value"in U&&r(P,"value",null,U.value,x),(C=U.onVnodeBeforeMount)&&$e(C,A,h)}$&>(h,null,A,"beforeMount");const K=Eo(S,V);K&&V.beforeEnter(P),n(P,d,m),((C=U&&U.onVnodeMounted)||K||$)&&Le(()=>{C&&$e(C,A,h),K&&V.enter(P),$&>(h,null,A,"mounted")},S)},F=(h,d,m,A,S)=>{if(m&&v(h,m),A)for(let x=0;x{for(let C=P;C{const R=d.el=h.el;let{patchFlag:P,dynamicChildren:C,dirs:U}=d;P|=h.patchFlag&16;const N=h.props||ie,V=d.props||ie;let $;if(m&&mt(m,!1),($=V.onVnodeBeforeUpdate)&&$e($,m,d,h),U&>(d,h,m,"beforeUpdate"),m&&mt(m,!0),(N.innerHTML&&V.innerHTML==null||N.textContent&&V.textContent==null)&&c(R,""),C?q(h.dynamicChildren,C,R,m,A,Hs(d,S),x):I||j(h,d,R,null,m,A,Hs(d,S),x,!1),P>0){if(P&16)re(R,N,V,m,S);else if(P&2&&N.class!==V.class&&r(R,"class",null,V.class,S),P&4&&r(R,"style",N.style,V.style,S),P&8){const K=d.dynamicProps;for(let se=0;se{$&&$e($,m,d,h),U&>(d,h,m,"updated")},A)},q=(h,d,m,A,S,x,I)=>{for(let R=0;R{if(d!==m){if(d!==ie)for(const x in d)!Ht(x)&&!(x in m)&&r(h,x,d[x],null,S,A);for(const x in m){if(Ht(x))continue;const I=m[x],R=d[x];I!==R&&x!=="value"&&r(h,x,R,I,S,A)}"value"in m&&r(h,"value",d.value,m.value,S)}},de=(h,d,m,A,S,x,I,R,P)=>{const C=d.el=h?h.el:o(""),U=d.anchor=h?h.anchor:o("");let{patchFlag:N,dynamicChildren:V,slotScopeIds:$}=d;$&&(R=R?R.concat($):$),h==null?(n(C,m,A),n(U,m,A),W(d.children||[],m,U,S,x,I,R,P)):N>0&&N&64&&V&&h.dynamicChildren?(q(h.dynamicChildren,V,m,S,x,I,R),(d.key!=null||S&&d===S.subTree)&&Tr(h,d,!0)):j(h,d,m,U,S,x,I,R,P)},_e=(h,d,m,A,S,x,I,R,P)=>{d.slotScopeIds=R,h==null?d.shapeFlag&512?S.ctx.activate(d,m,A,I,P):nt(d,m,A,S,x,I,P):it(h,d,P)},nt=(h,d,m,A,S,x,I)=>{const R=h.component=Wo(h,A,S);if(fr(h)&&(R.ctx.renderer=B),zo(R,!1,I),R.asyncDep){if(S&&S.registerDep(R,oe,I),!h.el){const P=R.subTree=he(ht);L(null,P,d,m)}}else oe(R,h,d,m,S,x,I)},it=(h,d,m)=>{const A=d.component=h.component;if(ko(h,d,m))if(A.asyncDep&&!A.asyncResolved){Q(A,d,m);return}else A.next=d,A.update();else d.el=h.el,A.vnode=d},oe=(h,d,m,A,S,x,I)=>{const R=()=>{if(h.isMounted){let{next:N,bu:V,u:$,parent:K,vnode:se}=h;{const Ue=Lr(h);if(Ue){N&&(N.el=se.el,Q(h,N,I)),Ue.asyncDep.then(()=>{h.isUnmounted||R()});return}}let ee=N,Oe;mt(h,!1),N?(N.el=se.el,Q(h,N,I)):N=se,V&&ks(V),(Oe=N.props&&N.props.onVnodeBeforeUpdate)&&$e(Oe,K,N,se),mt(h,!0);const Ce=Gn(h),Ve=h.subTree;h.subTree=Ce,O(Ve,Ce,f(Ve.el),w(Ve),h,S,x),N.el=Ce.el,ee===null&&Fo(h,Ce.el),$&&Le($,S),(Oe=N.props&&N.props.onVnodeUpdated)&&Le(()=>$e(Oe,K,N,se),S)}else{let N;const{el:V,props:$}=d,{bm:K,m:se,parent:ee,root:Oe,type:Ce}=h,Ve=Lt(d);mt(h,!1),K&&ks(K),!Ve&&(N=$&&$.onVnodeBeforeMount)&&$e(N,ee,d),mt(h,!0);{Oe.ce&&Oe.ce._injectChildStyle(Ce);const Ue=h.subTree=Gn(h);O(null,Ue,m,A,h,S,x),d.el=Ue.el}if(se&&Le(se,S),!Ve&&(N=$&&$.onVnodeMounted)){const Ue=d;Le(()=>$e(N,ee,Ue),S)}(d.shapeFlag&256||ee&&Lt(ee.vnode)&&ee.vnode.shapeFlag&256)&&h.a&&Le(h.a,S),h.isMounted=!0,d=m=A=null}};h.scope.on();const P=h.effect=new Hi(R);h.scope.off();const C=h.update=P.run.bind(P),U=h.job=P.runIfDirty.bind(P);U.i=h,U.id=h.uid,P.scheduler=()=>Sn(U),mt(h,!0),C()},Q=(h,d,m)=>{d.component=h;const A=h.vnode.props;h.vnode=d,h.next=null,vo(h,d.props,A,m),Ao(h,d.children,m),dt(),Nn(h),pt()},j=(h,d,m,A,S,x,I,R,P=!1)=>{const C=h&&h.children,U=h?h.shapeFlag:0,N=d.children,{patchFlag:V,shapeFlag:$}=d;if(V>0){if(V&128){ye(C,N,m,A,S,x,I,R,P);return}else if(V&256){ae(C,N,m,A,S,x,I,R,P);return}}$&8?(U&16&&fe(C,S,x),N!==C&&c(m,N)):U&16?$&16?ye(C,N,m,A,S,x,I,R,P):fe(C,S,x,!0):(U&8&&c(m,""),$&16&&W(N,m,A,S,x,I,R,P))},ae=(h,d,m,A,S,x,I,R,P)=>{h=h||Ct,d=d||Ct;const C=h.length,U=d.length,N=Math.min(C,U);let V;for(V=0;VU?fe(h,S,x,!0,!1,N):W(d,m,A,S,x,I,R,P,N)},ye=(h,d,m,A,S,x,I,R,P)=>{let C=0;const U=d.length;let N=h.length-1,V=U-1;for(;C<=N&&C<=V;){const $=h[C],K=d[C]=P?at(d[C]):ze(d[C]);if(Mt($,K))O($,K,m,null,S,x,I,R,P);else break;C++}for(;C<=N&&C<=V;){const $=h[N],K=d[V]=P?at(d[V]):ze(d[V]);if(Mt($,K))O($,K,m,null,S,x,I,R,P);else break;N--,V--}if(C>N){if(C<=V){const $=V+1,K=$V)for(;C<=N;)te(h[C],S,x,!0),C++;else{const $=C,K=C,se=new Map;for(C=K;C<=V;C++){const Te=d[C]=P?at(d[C]):ze(d[C]);Te.key!=null&&se.set(Te.key,C)}let ee,Oe=0;const Ce=V-K+1;let Ve=!1,Ue=0;const Ft=new Array(Ce);for(C=0;C=Ce){te(Te,S,x,!0);continue}let je;if(Te.key!=null)je=se.get(Te.key);else for(ee=K;ee<=V;ee++)if(Ft[ee-K]===0&&Mt(Te,d[ee])){je=ee;break}je===void 0?te(Te,S,x,!0):(Ft[je-K]=C+1,je>=Ue?Ue=je:Ve=!0,O(Te,d[je],m,null,S,x,I,R,P),Oe++)}const Dn=Ve?Co(Ft):Ct;for(ee=Dn.length-1,C=Ce-1;C>=0;C--){const Te=K+C,je=d[Te],kn=Te+1{const{el:x,type:I,transition:R,children:P,shapeFlag:C}=h;if(C&6){we(h.component.subTree,d,m,A);return}if(C&128){h.suspense.move(d,m,A);return}if(C&64){I.move(h,d,m,B);return}if(I===Re){n(x,d,m);for(let N=0;NR.enter(x),S);else{const{leave:N,delayLeave:V,afterLeave:$}=R,K=()=>n(x,d,m),se=()=>{N(x,()=>{K(),$&&$()})};V?V(x,K,se):se()}else n(x,d,m)},te=(h,d,m,A=!1,S=!1)=>{const{type:x,props:I,ref:R,children:P,dynamicChildren:C,shapeFlag:U,patchFlag:N,dirs:V,cacheIndex:$}=h;if(N===-2&&(S=!1),R!=null&&ms(R,null,m,h,!0),$!=null&&(d.renderCache[$]=void 0),U&256){d.ctx.deactivate(h);return}const K=U&1&&V,se=!Lt(h);let ee;if(se&&(ee=I&&I.onVnodeBeforeUnmount)&&$e(ee,d,h),U&6)He(h.component,m,A);else{if(U&128){h.suspense.unmount(m,A);return}K&>(h,null,d,"beforeUnmount"),U&64?h.type.remove(h,d,m,B,A):C&&!C.hasOnce&&(x!==Re||N>0&&N&64)?fe(C,d,m,!1,!0):(x===Re&&N&384||!S&&U&16)&&fe(P,d,m),A&&rt(h)}(se&&(ee=I&&I.onVnodeUnmounted)||K)&&Le(()=>{ee&&$e(ee,d,h),K&>(h,null,d,"unmounted")},m)},rt=h=>{const{type:d,el:m,anchor:A,transition:S}=h;if(d===Re){Ae(m,A);return}if(d===cs){y(h);return}const x=()=>{i(m),S&&!S.persisted&&S.afterLeave&&S.afterLeave()};if(h.shapeFlag&1&&S&&!S.persisted){const{leave:I,delayLeave:R}=S,P=()=>I(m,x);R?R(h.el,x,P):P()}else x()},Ae=(h,d)=>{let m;for(;h!==d;)m=p(h),i(h),h=m;i(d)},He=(h,d,m)=>{const{bum:A,scope:S,job:x,subTree:I,um:R,m:P,a:C}=h;zn(P),zn(C),A&&ks(A),S.stop(),x&&(x.flags|=8,te(I,h,d,m)),R&&Le(R,d),Le(()=>{h.isUnmounted=!0},d),d&&d.pendingBranch&&!d.isUnmounted&&h.asyncDep&&!h.asyncResolved&&h.suspenseId===d.pendingId&&(d.deps--,d.deps===0&&d.resolve())},fe=(h,d,m,A=!1,S=!1,x=0)=>{for(let I=x;I{if(h.shapeFlag&6)return w(h.component.subTree);if(h.shapeFlag&128)return h.suspense.next();const d=p(h.anchor||h.el),m=d&&d[zl];return m?p(m):d};let M=!1;const k=(h,d,m)=>{h==null?d._vnode&&te(d._vnode,null,null,!0):O(d._vnode||null,h,d,null,null,null,m),d._vnode=h,M||(M=!0,Nn(),or(),M=!1)},B={p:O,um:te,m:we,r:rt,mt:nt,mc:W,pc:j,pbc:q,n:w,o:t};return{render:k,hydrate:void 0,createApp:go(k)}}function Hs({type:t,props:e},s){return s==="svg"&&t==="foreignObject"||s==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:s}function mt({effect:t,job:e},s){s?(t.flags|=32,e.flags|=4):(t.flags&=-33,e.flags&=-5)}function Eo(t,e){return(!t||t&&!t.pendingBranch)&&e&&!e.persisted}function Tr(t,e,s=!1){const n=t.children,i=e.children;if(z(n)&&z(i))for(let r=0;r>1,t[s[o]]0&&(e[n]=s[r-1]),s[r]=n)}}for(r=s.length,l=s[r-1];r-- >0;)s[r]=l,l=e[l];return s}function Lr(t){const e=t.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:Lr(e)}function zn(t){if(t)for(let e=0;eet(_o);function as(t,e,s){return Pr(t,e,s)}function Pr(t,e,s=ie){const{immediate:n,deep:i,flush:r,once:l}=s,o=be({},s),a=e&&n||!e&&r!=="post";let u;if(Xt){if(r==="sync"){const v=Oo();u=v.__watcherHandles||(v.__watcherHandles=[])}else if(!a){const v=()=>{};return v.stop=Ge,v.resume=Ge,v.pause=Ge,v}}const c=me;o.call=(v,T,O)=>Ke(v,c,T,O);let f=!1;r==="post"?o.scheduler=v=>{Le(v,c&&c.suspense)}:r!=="sync"&&(f=!0,o.scheduler=(v,T)=>{T?v():Sn(v)}),o.augmentJob=v=>{e&&(v.flags|=4),f&&(v.flags|=2,c&&(v.id=c.uid,v.i=c))};const p=Vl(t,e,o);return Xt&&(u?u.push(p):a&&p()),p}function To(t,e,s){const n=this.proxy,i=ce(t)?t.includes(".")?Rr(n,t):()=>n[t]:t.bind(n,n);let r;G(e)?r=e:(r=e.handler,s=e);const l=ns(this),o=Pr(i,r.bind(n),s);return l(),o}function Rr(t,e){const s=e.split(".");return()=>{let n=t;for(let i=0;ie==="modelValue"||e==="model-value"?t.modelModifiers:t[`${e}Modifiers`]||t[`${Fe(e)}Modifiers`]||t[`${At(e)}Modifiers`];function Po(t,e,...s){if(t.isUnmounted)return;const n=t.vnode.props||ie;let i=s;const r=e.startsWith("update:"),l=r&&Lo(n,e.slice(7));l&&(l.trim&&(i=s.map(c=>ce(c)?c.trim():c)),l.number&&(i=s.map(ll)));let o,a=n[o=Ds(e)]||n[o=Ds(Fe(e))];!a&&r&&(a=n[o=Ds(At(e))]),a&&Ke(a,t,6,i);const u=n[o+"Once"];if(u){if(!t.emitted)t.emitted={};else if(t.emitted[o])return;t.emitted[o]=!0,Ke(u,t,6,i)}}function Dr(t,e,s=!1){const n=e.emitsCache,i=n.get(t);if(i!==void 0)return i;const r=t.emits;let l={},o=!1;if(!G(t)){const a=u=>{const c=Dr(u,e,!0);c&&(o=!0,be(l,c))};!s&&e.mixins.length&&e.mixins.forEach(a),t.extends&&a(t.extends),t.mixins&&t.mixins.forEach(a)}return!r&&!o?(le(t)&&n.set(t,null),null):(z(r)?r.forEach(a=>l[a]=null):be(l,r),le(t)&&n.set(t,l),l)}function Ls(t,e){return!t||!ys(e)?!1:(e=e.slice(2).replace(/Once$/,""),X(t,e[0].toLowerCase()+e.slice(1))||X(t,At(e))||X(t,e))}function Gn(t){const{type:e,vnode:s,proxy:n,withProxy:i,propsOptions:[r],slots:l,attrs:o,emit:a,render:u,renderCache:c,props:f,data:p,setupState:v,ctx:T,inheritAttrs:O}=t,D=gs(t);let L,g;try{if(s.shapeFlag&4){const y=i||n,E=y;L=ze(u.call(E,y,c,f,v,p,T)),g=o}else{const y=e;L=ze(y.length>1?y(f,{attrs:o,slots:l,emit:a}):y(f,null)),g=e.props?o:Ro(o)}}catch(y){$t.length=0,_s(y,t,1),L=he(ht)}let b=L;if(g&&O!==!1){const y=Object.keys(g),{shapeFlag:E}=b;y.length&&E&7&&(r&&y.some(fn)&&(g=Do(g,r)),b=Rt(b,g,!1,!0))}return s.dirs&&(b=Rt(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(s.dirs):s.dirs),s.transition&&En(b,s.transition),L=b,gs(D),L}const Ro=t=>{let e;for(const s in t)(s==="class"||s==="style"||ys(s))&&((e||(e={}))[s]=t[s]);return e},Do=(t,e)=>{const s={};for(const n in t)(!fn(n)||!(n.slice(9)in e))&&(s[n]=t[n]);return s};function ko(t,e,s){const{props:n,children:i,component:r}=t,{props:l,children:o,patchFlag:a}=e,u=r.emitsOptions;if(e.dirs||e.transition)return!0;if(s&&a>=0){if(a&1024)return!0;if(a&16)return n?Kn(n,l,u):!!l;if(a&8){const c=e.dynamicProps;for(let f=0;ft.__isSuspense;function Io(t,e){e&&e.pendingBranch?z(t)?e.effects.push(...t):e.effects.push(t):$l(t)}const Re=Symbol.for("v-fgt"),Ps=Symbol.for("v-txt"),ht=Symbol.for("v-cmt"),cs=Symbol.for("v-stc"),$t=[];let De=null;function Qt(t=!1){$t.push(De=t?null:[])}function Mo(){$t.pop(),De=$t[$t.length-1]||null}let Jt=1;function qn(t,e=!1){Jt+=t,t<0&&De&&e&&(De.hasOnce=!0)}function Fr(t){return t.dynamicChildren=Jt>0?De||Ct:null,Mo(),Jt>0&&De&&De.push(t),t}function Ir(t,e,s,n,i,r){return Fr(Je(t,e,s,n,i,r,!0))}function nn(t,e,s,n,i){return Fr(he(t,e,s,n,i,!0))}function Zt(t){return t?t.__v_isVNode===!0:!1}function Mt(t,e){return t.type===e.type&&t.key===e.key}const Mr=({key:t})=>t??null,us=({ref:t,ref_key:e,ref_for:s})=>(typeof t=="number"&&(t=""+t),t!=null?ce(t)||ve(t)||G(t)?{i:Ee,r:t,k:e,f:!!s}:t:null);function Je(t,e=null,s=null,n=0,i=null,r=t===Re?0:1,l=!1,o=!1){const a={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Mr(e),ref:e&&us(e),scopeId:cr,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Ee};return o?(_n(a,s),r&128&&t.normalize(a)):s&&(a.shapeFlag|=ce(s)?8:16),Jt>0&&!l&&De&&(a.patchFlag>0||r&6)&&a.patchFlag!==32&&De.push(a),a}const he=No;function No(t,e=null,s=null,n=0,i=null,r=!1){if((!t||t===ro)&&(t=ht),Zt(t)){const o=Rt(t,e,!0);return s&&_n(o,s),Jt>0&&!r&&De&&(o.shapeFlag&6?De[De.indexOf(t)]=o:De.push(o)),o.patchFlag=-2,o}if(Qo(t)&&(t=t.__vccOpts),e){e=Bo(e);let{class:o,style:a}=e;o&&!ce(o)&&(e.class=gn(o)),le(a)&&(xn(a)&&!z(a)&&(a=be({},a)),e.style=pn(a))}const l=ce(t)?1:kr(t)?128:Gl(t)?64:le(t)?4:G(t)?2:0;return Je(t,e,s,n,i,l,r,!0)}function Bo(t){return t?xn(t)||Ar(t)?be({},t):t:null}function Rt(t,e,s=!1,n=!1){const{props:i,ref:r,patchFlag:l,children:o,transition:a}=t,u=e?Uo(i||{},e):i,c={__v_isVNode:!0,__v_skip:!0,type:t.type,props:u,key:u&&Mr(u),ref:e&&e.ref?s&&r?z(r)?r.concat(us(e)):[r,us(e)]:us(e):r,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:o,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Re?l===-1?16:l|16:l,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:a,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&Rt(t.ssContent),ssFallback:t.ssFallback&&Rt(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return a&&n&&En(c,a.clone(c)),c}function fs(t=" ",e=0){return he(Ps,null,t,e)}function Ho(t,e){const s=he(cs,null,t);return s.staticCount=e,s}function Vo(t="",e=!1){return e?(Qt(),nn(ht,null,t)):he(ht,null,t)}function ze(t){return t==null||typeof t=="boolean"?he(ht):z(t)?he(Re,null,t.slice()):Zt(t)?at(t):he(Ps,null,String(t))}function at(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:Rt(t)}function _n(t,e){let s=0;const{shapeFlag:n}=t;if(e==null)e=null;else if(z(e))s=16;else if(typeof e=="object")if(n&65){const i=e.default;i&&(i._c&&(i._d=!1),_n(t,i()),i._c&&(i._d=!0));return}else{s=32;const i=e._;!i&&!Ar(e)?e._ctx=Ee:i===3&&Ee&&(Ee.slots._===1?e._=1:(e._=2,t.patchFlag|=1024))}else G(e)?(e={default:e,_ctx:Ee},s=32):(e=String(e),n&64?(s=16,e=[fs(e)]):s=8);t.children=e,t.shapeFlag|=s}function Uo(...t){const e={};for(let s=0;s{let i;return(i=t[s])||(i=t[s]=[]),i.push(n),r=>{i.length>1?i.forEach(l=>l(r)):i[0](r)}};bs=e("__VUE_INSTANCE_SETTERS__",s=>me=s),rn=e("__VUE_SSR_SETTERS__",s=>Xt=s)}const ns=t=>{const e=me;return bs(t),t.scope.on(),()=>{t.scope.off(),bs(e)}},Yn=()=>{me&&me.scope.off(),bs(null)};function Nr(t){return t.vnode.shapeFlag&4}let Xt=!1;function zo(t,e=!1,s=!1){e&&rn(e);const{props:n,children:i}=t.vnode,r=Nr(t);mo(t,n,r,e),wo(t,i,s);const l=r?Go(t,e):void 0;return e&&rn(!1),l}function Go(t,e){const s=t.type;t.accessCache=Object.create(null),t.proxy=new Proxy(t.ctx,oo);const{setup:n}=s;if(n){dt();const i=t.setupContext=n.length>1?qo(t):null,r=ns(t),l=ss(n,t,0,[t.props,i]),o=Ri(l);if(pt(),r(),(o||t.sp)&&!Lt(t)&&ur(t),o){if(l.then(Yn,Yn),e)return l.then(a=>{Qn(t,a)}).catch(a=>{_s(a,t,0)});t.asyncDep=l}else Qn(t,l)}else Br(t)}function Qn(t,e,s){G(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:le(e)&&(t.setupState=nr(e)),Br(t)}function Br(t,e,s){const n=t.type;t.render||(t.render=n.render||Ge);{const i=ns(t);dt();try{ao(t)}finally{pt(),i()}}}const Ko={get(t,e){return pe(t,"get",""),t[e]}};function qo(t){const e=s=>{t.exposed=s||{}};return{attrs:new Proxy(t.attrs,Ko),slots:t.slots,emit:t.emit,expose:e}}function On(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(nr(kl(t.exposed)),{get(e,s){if(s in e)return e[s];if(s in jt)return jt[s](t)},has(e,s){return s in e||s in jt}})):t.proxy}function Yo(t,e=!0){return G(t)?t.displayName||t.name:t.name||e&&t.__name}function Qo(t){return G(t)&&"__vccOpts"in t}const Me=(t,e)=>Bl(t,e,Xt);function Hr(t,e,s){const n=arguments.length;return n===2?le(e)&&!z(e)?Zt(e)?he(t,null,[e]):he(t,e):he(t,null,e):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&Zt(s)&&(s=[s]),he(t,e,s))}const Jo="3.5.13";/** -* @vue/runtime-dom v3.5.13 +**/function ns(t,e,s,n){try{return n?t(...n):t()}catch(i){Os(i,e,s)}}function Ke(t,e,s,n){if(G(t)){const i=ns(t,e,s,n);return i&&ki(i)&&i.catch(r=>{Os(r,e,s)}),i}if(W(t)){const i=[];for(let r=0;r>>1,i=Se[n],r=Qt(i);r=Qt(s)?Se.push(t):Se.splice(jl(e),0,t),t.flags|=1,or()}}function or(){ms||(ms=rr.then(cr))}function $l(t){W(t)?Tt.push(...t):ut&&t.id===-1?ut.splice(St+1,0,t):t.flags&1||(Tt.push(t),t.flags|=1),or()}function Hn(t,e,s=We+1){for(;sQt(s)-Qt(n));if(Tt.length=0,ut){ut.push(...e);return}for(ut=e,St=0;Stt.id==null?t.flags&2?-1:1/0:t.id;function cr(t){try{for(We=0;We{n._d&&Qn(-1);const r=vs(e);let o;try{o=t(...i)}finally{vs(r),n._d&&Qn(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function mt(t,e,s,n){const i=t.dirs,r=e&&e.dirs;for(let o=0;ot.__isTeleport;function Cn(t,e){t.shapeFlag&6&&t.component?(t.transition=e,Cn(t.component.subTree,e)):t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}/*! #__NO_SIDE_EFFECTS__ */function Ts(t,e){return G(t)?be({name:t.name},e,{setup:t}):t}function fr(t){t.ids=[t.ids[0]+t.ids[2]+++"-",0,0]}function jt(t,e,s,n,i=!1){if(W(t)){t.forEach((T,O)=>jt(T,e&&(W(e)?e[O]:e),s,n,i));return}if(Lt(n)&&!i){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&jt(t,e,s,n.component.subTree);return}const r=n.shapeFlag&4?Ln(n.component):n.el,o=i?null:r,{i:l,r:a}=t,u=e&&e.r,c=l.refs===ie?l.refs={}:l.refs,f=l.setupState,p=Z(f),v=f===ie?()=>!1:T=>X(p,T);if(u!=null&&u!==a&&(ce(u)?(c[u]=null,v(u)&&(f[u]=null)):ve(u)&&(u.value=null)),G(a))ns(a,l,12,[o,c]);else{const T=ce(a),O=ve(a);if(T||O){const D=()=>{if(t.f){const L=T?v(a)?f[a]:c[a]:a.value;i?W(L)&&dn(L,r):W(L)?L.includes(r)||L.push(r):T?(c[a]=[r],v(a)&&(f[a]=c[a])):(a.value=[r],t.k&&(c[t.k]=a.value))}else T?(c[a]=o,v(a)&&(f[a]=o)):O&&(a.value=o,t.k&&(c[t.k]=o))};o?(D.id=-1,Pe(D,s)):D()}}}Es().requestIdleCallback;Es().cancelIdleCallback;const Lt=t=>!!t.type.__asyncLoader,hr=t=>t.type.__isKeepAlive;function Kl(t,e){dr(t,"a",e)}function ql(t,e){dr(t,"da",e)}function dr(t,e,s=me){const n=t.__wdc||(t.__wdc=()=>{let i=s;for(;i;){if(i.isDeactivated)return;i=i.parent}return t()});if(Ls(e,n,s),s){let i=s.parent;for(;i&&i.parent;)hr(i.parent.vnode)&&Yl(n,e,s,i),i=i.parent}}function Yl(t,e,s,n){const i=Ls(e,t,n,!0);gr(()=>{dn(n[e],i)},s)}function Ls(t,e,s=me,n=!1){if(s){const i=s[t]||(s[t]=[]),r=e.__weh||(e.__weh=(...o)=>{tt();const l=is(s),a=Ke(e,s,t,o);return l(),st(),a});return n?i.unshift(r):i.push(r),r}}const rt=t=>(e,s=me)=>{(!es||t==="sp")&&Ls(t,(...n)=>e(...n),s)},Ql=rt("bm"),pr=rt("m"),Jl=rt("bu"),Zl=rt("u"),Xl=rt("bum"),gr=rt("um"),eo=rt("sp"),to=rt("rtg"),so=rt("rtc");function no(t,e=me){Ls("ec",t,e)}const io="components";function Vn(t,e){return lo(io,t,!0,e)||t}const ro=Symbol.for("v-ndc");function lo(t,e,s=!0,n=!1){const i=Ee||me;if(i){const r=i.type;{const l=Yo(r,!1);if(l&&(l===e||l===Fe(e)||l===Ss(Fe(e))))return r}const o=Un(i[t]||r[t],e)||Un(i.appContext[t],e);return!o&&n?r:o}}function Un(t,e){return t&&(t[e]||t[Fe(e)]||t[Ss(Fe(e))])}function eu(t,e,s,n){let i;const r=s,o=W(t);if(o||ce(t)){const l=o&&Ot(t);let a=!1,u=!1;l&&(a=!ke(t),u=gt(t),t=Cs(t)),i=new Array(t.length);for(let c=0,f=t.length;ce(l,a,void 0,r));else{const l=Object.keys(t);i=new Array(l.length);for(let a=0,u=l.length;aXt(e)?!(e.type===nt||e.type===Re&&!mr(e.children)):!0)?t:null}const en=t=>t?Nr(t)?Ln(t):en(t.parent):null,$t=be(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>en(t.parent),$root:t=>en(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>br(t),$forceUpdate:t=>t.f||(t.f=()=>{En(t.update)}),$nextTick:t=>t.n||(t.n=lr.bind(t.proxy)),$watch:t=>To.bind(t)}),Hs=(t,e)=>t!==ie&&!t.__isScriptSetup&&X(t,e),oo={get({_:t},e){if(e==="__v_skip")return!0;const{ctx:s,setupState:n,data:i,props:r,accessCache:o,type:l,appContext:a}=t;let u;if(e[0]!=="$"){const v=o[e];if(v!==void 0)switch(v){case 1:return n[e];case 2:return i[e];case 4:return s[e];case 3:return r[e]}else{if(Hs(n,e))return o[e]=1,n[e];if(i!==ie&&X(i,e))return o[e]=2,i[e];if((u=t.propsOptions[0])&&X(u,e))return o[e]=3,r[e];if(s!==ie&&X(s,e))return o[e]=4,s[e];tn&&(o[e]=0)}}const c=$t[e];let f,p;if(c)return e==="$attrs"&&ge(t.attrs,"get",""),c(t);if((f=l.__cssModules)&&(f=f[e]))return f;if(s!==ie&&X(s,e))return o[e]=4,s[e];if(p=a.config.globalProperties,X(p,e))return p[e]},set({_:t},e,s){const{data:n,setupState:i,ctx:r}=t;return Hs(i,e)?(i[e]=s,!0):n!==ie&&X(n,e)?(n[e]=s,!0):X(t.props,e)||e[0]==="$"&&e.slice(1)in t?!1:(r[e]=s,!0)},has({_:{data:t,setupState:e,accessCache:s,ctx:n,appContext:i,propsOptions:r}},o){let l;return!!s[o]||t!==ie&&X(t,o)||Hs(e,o)||(l=r[0])&&X(l,o)||X(n,o)||X($t,o)||X(i.config.globalProperties,o)},defineProperty(t,e,s){return s.get!=null?t._.accessCache[e]=0:X(s,"value")&&this.set(t,e,s.value,null),Reflect.defineProperty(t,e,s)}};function jn(t){return W(t)?t.reduce((e,s)=>(e[s]=null,e),{}):t}let tn=!0;function ao(t){const e=br(t),s=t.proxy,n=t.ctx;tn=!1,e.beforeCreate&&$n(e.beforeCreate,t,"bc");const{data:i,computed:r,methods:o,watch:l,provide:a,inject:u,created:c,beforeMount:f,mounted:p,beforeUpdate:v,updated:T,activated:O,deactivated:D,beforeDestroy:L,beforeUnmount:g,destroyed:b,unmounted:y,render:E,renderTracked:_,renderTriggered:F,errorCaptured:z,serverPrefetch:H,expose:q,inheritAttrs:re,components:pe,directives:Te,filters:lt}=e;if(u&&co(u,n,null),o)for(const Q in o){const j=o[Q];G(j)&&(n[Q]=j.bind(s))}if(i){const Q=i.call(s,s);le(Q)&&(t.data=_s(Q))}if(tn=!0,r)for(const Q in r){const j=r[Q],ae=G(j)?j.bind(s,s):G(j.get)?j.get.bind(s,s):Ge,ye=!G(j)&&G(j.set)?j.set.bind(s):Ge,we=Me({get:ae,set:ye});Object.defineProperty(n,Q,{enumerable:!0,configurable:!0,get:()=>we.value,set:te=>we.value=te})}if(l)for(const Q in l)vr(l[Q],n,s,Q);if(a){const Q=G(a)?a.call(s):a;Reflect.ownKeys(Q).forEach(j=>{as(j,Q[j])})}c&&$n(c,t,"c");function oe(Q,j){W(j)?j.forEach(ae=>Q(ae.bind(s))):j&&Q(j.bind(s))}if(oe(Ql,f),oe(pr,p),oe(Jl,v),oe(Zl,T),oe(Kl,O),oe(ql,D),oe(no,z),oe(so,_),oe(to,F),oe(Xl,g),oe(gr,y),oe(eo,H),W(q))if(q.length){const Q=t.exposed||(t.exposed={});q.forEach(j=>{Object.defineProperty(Q,j,{get:()=>s[j],set:ae=>s[j]=ae})})}else t.exposed||(t.exposed={});E&&t.render===Ge&&(t.render=E),re!=null&&(t.inheritAttrs=re),pe&&(t.components=pe),Te&&(t.directives=Te),H&&fr(t)}function co(t,e,s=Ge){W(t)&&(t=sn(t));for(const n in t){const i=t[n];let r;le(i)?"default"in i?r=et(i.from||n,i.default,!0):r=et(i.from||n):r=et(i),ve(r)?Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:o=>r.value=o}):e[n]=r}}function $n(t,e,s){Ke(W(t)?t.map(n=>n.bind(e.proxy)):t.bind(e.proxy),e,s)}function vr(t,e,s,n){let i=n.includes(".")?Rr(s,n):()=>s[n];if(ce(t)){const r=e[t];G(r)&&cs(i,r)}else if(G(t))cs(i,t.bind(s));else if(le(t))if(W(t))t.forEach(r=>vr(r,e,s,n));else{const r=G(t.handler)?t.handler.bind(s):e[t.handler];G(r)&&cs(i,r,t)}}function br(t){const e=t.type,{mixins:s,extends:n}=e,{mixins:i,optionsCache:r,config:{optionMergeStrategies:o}}=t.appContext,l=r.get(e);let a;return l?a=l:!i.length&&!s&&!n?a=e:(a={},i.length&&i.forEach(u=>bs(a,u,o,!0)),bs(a,e,o)),le(e)&&r.set(e,a),a}function bs(t,e,s,n=!1){const{mixins:i,extends:r}=e;r&&bs(t,r,s,!0),i&&i.forEach(o=>bs(t,o,s,!0));for(const o in e)if(!(n&&o==="expose")){const l=uo[o]||s&&s[o];t[o]=l?l(t[o],e[o]):e[o]}return t}const uo={data:Wn,props:zn,emits:zn,methods:Bt,computed:Bt,beforeCreate:xe,created:xe,beforeMount:xe,mounted:xe,beforeUpdate:xe,updated:xe,beforeDestroy:xe,beforeUnmount:xe,destroyed:xe,unmounted:xe,activated:xe,deactivated:xe,errorCaptured:xe,serverPrefetch:xe,components:Bt,directives:Bt,watch:ho,provide:Wn,inject:fo};function Wn(t,e){return e?t?function(){return be(G(t)?t.call(this,this):t,G(e)?e.call(this,this):e)}:e:t}function fo(t,e){return Bt(sn(t),sn(e))}function sn(t){if(W(t)){const e={};for(let s=0;s1)return s&&G(e)?e.call(n&&n.proxy):e}}const wr={},Ar=()=>Object.create(wr),xr=t=>Object.getPrototypeOf(t)===wr;function mo(t,e,s,n=!1){const i={},r=Ar();t.propsDefaults=Object.create(null),Sr(t,e,i,r);for(const o in t.propsOptions[0])o in i||(i[o]=void 0);s?t.props=n?i:er(i):t.type.props?t.props=i:t.props=r,t.attrs=r}function vo(t,e,s,n){const{props:i,attrs:r,vnode:{patchFlag:o}}=t,l=Z(i),[a]=t.propsOptions;let u=!1;if((n||o>0)&&!(o&16)){if(o&8){const c=t.vnode.dynamicProps;for(let f=0;f{a=!0;const[p,v]=Er(f,e,!0);be(o,p),v&&l.push(...v)};!s&&e.mixins.length&&e.mixins.forEach(c),t.extends&&c(t.extends),t.mixins&&t.mixins.forEach(c)}if(!r&&!a)return le(t)&&n.set(t,Ct),Ct;if(W(r))for(let c=0;ct[0]==="_"||t==="$stable",On=t=>W(t)?t.map(ze):[ze(t)],yo=(t,e,s)=>{if(e._n)return e;const n=Wl((...i)=>On(e(...i)),s);return n._c=!1,n},Cr=(t,e,s)=>{const n=t._ctx;for(const i in t){if(_n(i))continue;const r=t[i];if(G(r))e[i]=yo(i,r,n);else if(r!=null){const o=On(r);e[i]=()=>o}}},_r=(t,e)=>{const s=On(e);t.slots.default=()=>s},Or=(t,e,s)=>{for(const n in e)(s||!_n(n))&&(t[n]=e[n])},wo=(t,e,s)=>{const n=t.slots=Ar();if(t.vnode.shapeFlag&32){const i=e.__;i&&Ys(n,"__",i,!0);const r=e._;r?(Or(n,e,s),s&&Ys(n,"_",r,!0)):Cr(e,n)}else e&&_r(t,e)},Ao=(t,e,s)=>{const{vnode:n,slots:i}=t;let r=!0,o=ie;if(n.shapeFlag&32){const l=e._;l?s&&l===1?r=!1:Or(i,e,s):(r=!e.$stable,Cr(e,i)),o=e}else e&&(_r(t,e),o={default:1});if(r)for(const l in i)!_n(l)&&o[l]==null&&delete i[l]},Pe=Io;function xo(t){return So(t)}function So(t,e){const s=Es();s.__VUE__=!0;const{insert:n,remove:i,patchProp:r,createElement:o,createText:l,createComment:a,setText:u,setElementText:c,parentNode:f,nextSibling:p,setScopeId:v=Ge,insertStaticContent:T}=t,O=(h,d,m,A=null,S=null,x=null,I=void 0,R=null,P=!!d.dynamicChildren)=>{if(h===d)return;h&&!Mt(h,d)&&(A=w(h),te(h,S,x,!0),h=null),d.patchFlag===-2&&(P=!1,d.dynamicChildren=null);const{type:C,ref:U,shapeFlag:M}=d;switch(C){case Rs:D(h,d,m,A);break;case nt:L(h,d,m,A);break;case us:h==null&&g(d,m,A,I);break;case Re:pe(h,d,m,A,S,x,I,R,P);break;default:M&1?E(h,d,m,A,S,x,I,R,P):M&6?Te(h,d,m,A,S,x,I,R,P):(M&64||M&128)&&C.process(h,d,m,A,S,x,I,R,P,B)}U!=null&&S?jt(U,h&&h.ref,x,d||h,!d):U==null&&h&&h.ref!=null&&jt(h.ref,null,x,h,!0)},D=(h,d,m,A)=>{if(h==null)n(d.el=l(d.children),m,A);else{const S=d.el=h.el;d.children!==h.children&&u(S,d.children)}},L=(h,d,m,A)=>{h==null?n(d.el=a(d.children||""),m,A):d.el=h.el},g=(h,d,m,A)=>{[h.el,h.anchor]=T(h.children,d,m,A,h.el,h.anchor)},b=({el:h,anchor:d},m,A)=>{let S;for(;h&&h!==d;)S=p(h),n(h,m,A),h=S;n(d,m,A)},y=({el:h,anchor:d})=>{let m;for(;h&&h!==d;)m=p(h),i(h),h=m;i(d)},E=(h,d,m,A,S,x,I,R,P)=>{d.type==="svg"?I="svg":d.type==="math"&&(I="mathml"),h==null?_(d,m,A,S,x,I,R,P):H(h,d,S,x,I,R,P)},_=(h,d,m,A,S,x,I,R)=>{let P,C;const{props:U,shapeFlag:M,transition:V,dirs:$}=h;if(P=h.el=o(h.type,x,U&&U.is,U),M&8?c(P,h.children):M&16&&z(h.children,P,null,A,S,Vs(h,x),I,R),$&&mt(h,null,A,"created"),F(P,h,h.scopeId,I,A),U){for(const se in U)se!=="value"&&!Ht(se)&&r(P,se,null,U[se],x,A);"value"in U&&r(P,"value",null,U.value,x),(C=U.onVnodeBeforeMount)&&$e(C,A,h)}$&&mt(h,null,A,"beforeMount");const K=Eo(S,V);K&&V.beforeEnter(P),n(P,d,m),((C=U&&U.onVnodeMounted)||K||$)&&Pe(()=>{C&&$e(C,A,h),K&&V.enter(P),$&&mt(h,null,A,"mounted")},S)},F=(h,d,m,A,S)=>{if(m&&v(h,m),A)for(let x=0;x{for(let C=P;C{const R=d.el=h.el;let{patchFlag:P,dynamicChildren:C,dirs:U}=d;P|=h.patchFlag&16;const M=h.props||ie,V=d.props||ie;let $;if(m&&vt(m,!1),($=V.onVnodeBeforeUpdate)&&$e($,m,d,h),U&&mt(d,h,m,"beforeUpdate"),m&&vt(m,!0),(M.innerHTML&&V.innerHTML==null||M.textContent&&V.textContent==null)&&c(R,""),C?q(h.dynamicChildren,C,R,m,A,Vs(d,S),x):I||j(h,d,R,null,m,A,Vs(d,S),x,!1),P>0){if(P&16)re(R,M,V,m,S);else if(P&2&&M.class!==V.class&&r(R,"class",null,V.class,S),P&4&&r(R,"style",M.style,V.style,S),P&8){const K=d.dynamicProps;for(let se=0;se{$&&$e($,m,d,h),U&&mt(d,h,m,"updated")},A)},q=(h,d,m,A,S,x,I)=>{for(let R=0;R{if(d!==m){if(d!==ie)for(const x in d)!Ht(x)&&!(x in m)&&r(h,x,d[x],null,S,A);for(const x in m){if(Ht(x))continue;const I=m[x],R=d[x];I!==R&&x!=="value"&&r(h,x,R,I,S,A)}"value"in m&&r(h,"value",d.value,m.value,S)}},pe=(h,d,m,A,S,x,I,R,P)=>{const C=d.el=h?h.el:l(""),U=d.anchor=h?h.anchor:l("");let{patchFlag:M,dynamicChildren:V,slotScopeIds:$}=d;$&&(R=R?R.concat($):$),h==null?(n(C,m,A),n(U,m,A),z(d.children||[],m,U,S,x,I,R,P)):M>0&&M&64&&V&&h.dynamicChildren?(q(h.dynamicChildren,V,m,S,x,I,R),(d.key!=null||S&&d===S.subTree)&&Tr(h,d,!0)):j(h,d,m,U,S,x,I,R,P)},Te=(h,d,m,A,S,x,I,R,P)=>{d.slotScopeIds=R,h==null?d.shapeFlag&512?S.ctx.activate(d,m,A,I,P):lt(d,m,A,S,x,I,P):ot(h,d,P)},lt=(h,d,m,A,S,x,I)=>{const R=h.component=Wo(h,A,S);if(hr(h)&&(R.ctx.renderer=B),zo(R,!1,I),R.asyncDep){if(S&&S.registerDep(R,oe,I),!h.el){const P=R.subTree=de(nt);L(null,P,d,m)}}else oe(R,h,d,m,S,x,I)},ot=(h,d,m)=>{const A=d.component=h.component;if(ko(h,d,m))if(A.asyncDep&&!A.asyncResolved){Q(A,d,m);return}else A.next=d,A.update();else d.el=h.el,A.vnode=d},oe=(h,d,m,A,S,x,I)=>{const R=()=>{if(h.isMounted){let{next:M,bu:V,u:$,parent:K,vnode:se}=h;{const Ue=Lr(h);if(Ue){M&&(M.el=se.el,Q(h,M,I)),Ue.asyncDep.then(()=>{h.isUnmounted||R()});return}}let ee=M,Ce;vt(h,!1),M?(M.el=se.el,Q(h,M,I)):M=se,V&&Fs(V),(Ce=M.props&&M.props.onVnodeBeforeUpdate)&&$e(Ce,K,M,se),vt(h,!0);const _e=qn(h),Ve=h.subTree;h.subTree=_e,O(Ve,_e,f(Ve.el),w(Ve),h,S,x),M.el=_e.el,ee===null&&Fo(h,_e.el),$&&Pe($,S),(Ce=M.props&&M.props.onVnodeUpdated)&&Pe(()=>$e(Ce,K,M,se),S)}else{let M;const{el:V,props:$}=d,{bm:K,m:se,parent:ee,root:Ce,type:_e}=h,Ve=Lt(d);vt(h,!1),K&&Fs(K),!Ve&&(M=$&&$.onVnodeBeforeMount)&&$e(M,ee,d),vt(h,!0);{Ce.ce&&Ce.ce._def.shadowRoot!==!1&&Ce.ce._injectChildStyle(_e);const Ue=h.subTree=qn(h);O(null,Ue,m,A,h,S,x),d.el=Ue.el}if(se&&Pe(se,S),!Ve&&(M=$&&$.onVnodeMounted)){const Ue=d;Pe(()=>$e(M,ee,Ue),S)}(d.shapeFlag&256||ee&&Lt(ee.vnode)&&ee.vnode.shapeFlag&256)&&h.a&&Pe(h.a,S),h.isMounted=!0,d=m=A=null}};h.scope.on();const P=h.effect=new Vi(R);h.scope.off();const C=h.update=P.run.bind(P),U=h.job=P.runIfDirty.bind(P);U.i=h,U.id=h.uid,P.scheduler=()=>En(U),vt(h,!0),C()},Q=(h,d,m)=>{d.component=h;const A=h.vnode.props;h.vnode=d,h.next=null,vo(h,d.props,A,m),Ao(h,d.children,m),tt(),Hn(h),st()},j=(h,d,m,A,S,x,I,R,P=!1)=>{const C=h&&h.children,U=h?h.shapeFlag:0,M=d.children,{patchFlag:V,shapeFlag:$}=d;if(V>0){if(V&128){ye(C,M,m,A,S,x,I,R,P);return}else if(V&256){ae(C,M,m,A,S,x,I,R,P);return}}$&8?(U&16&&fe(C,S,x),M!==C&&c(m,M)):U&16?$&16?ye(C,M,m,A,S,x,I,R,P):fe(C,S,x,!0):(U&8&&c(m,""),$&16&&z(M,m,A,S,x,I,R,P))},ae=(h,d,m,A,S,x,I,R,P)=>{h=h||Ct,d=d||Ct;const C=h.length,U=d.length,M=Math.min(C,U);let V;for(V=0;VU?fe(h,S,x,!0,!1,M):z(d,m,A,S,x,I,R,P,M)},ye=(h,d,m,A,S,x,I,R,P)=>{let C=0;const U=d.length;let M=h.length-1,V=U-1;for(;C<=M&&C<=V;){const $=h[C],K=d[C]=P?ft(d[C]):ze(d[C]);if(Mt($,K))O($,K,m,null,S,x,I,R,P);else break;C++}for(;C<=M&&C<=V;){const $=h[M],K=d[V]=P?ft(d[V]):ze(d[V]);if(Mt($,K))O($,K,m,null,S,x,I,R,P);else break;M--,V--}if(C>M){if(C<=V){const $=V+1,K=$V)for(;C<=M;)te(h[C],S,x,!0),C++;else{const $=C,K=C,se=new Map;for(C=K;C<=V;C++){const Le=d[C]=P?ft(d[C]):ze(d[C]);Le.key!=null&&se.set(Le.key,C)}let ee,Ce=0;const _e=V-K+1;let Ve=!1,Ue=0;const Ft=new Array(_e);for(C=0;C<_e;C++)Ft[C]=0;for(C=$;C<=M;C++){const Le=h[C];if(Ce>=_e){te(Le,S,x,!0);continue}let je;if(Le.key!=null)je=se.get(Le.key);else for(ee=K;ee<=V;ee++)if(Ft[ee-K]===0&&Mt(Le,d[ee])){je=ee;break}je===void 0?te(Le,S,x,!0):(Ft[je-K]=C+1,je>=Ue?Ue=je:Ve=!0,O(Le,d[je],m,null,S,x,I,R,P),Ce++)}const Fn=Ve?Co(Ft):Ct;for(ee=Fn.length-1,C=_e-1;C>=0;C--){const Le=K+C,je=d[Le],In=Le+1{const{el:x,type:I,transition:R,children:P,shapeFlag:C}=h;if(C&6){we(h.component.subTree,d,m,A);return}if(C&128){h.suspense.move(d,m,A);return}if(C&64){I.move(h,d,m,B);return}if(I===Re){n(x,d,m);for(let M=0;MR.enter(x),S);else{const{leave:M,delayLeave:V,afterLeave:$}=R,K=()=>{h.ctx.isUnmounted?i(x):n(x,d,m)},se=()=>{M(x,()=>{K(),$&&$()})};V?V(x,K,se):se()}else n(x,d,m)},te=(h,d,m,A=!1,S=!1)=>{const{type:x,props:I,ref:R,children:P,dynamicChildren:C,shapeFlag:U,patchFlag:M,dirs:V,cacheIndex:$}=h;if(M===-2&&(S=!1),R!=null&&(tt(),jt(R,null,m,h,!0),st()),$!=null&&(d.renderCache[$]=void 0),U&256){d.ctx.deactivate(h);return}const K=U&1&&V,se=!Lt(h);let ee;if(se&&(ee=I&&I.onVnodeBeforeUnmount)&&$e(ee,d,h),U&6)He(h.component,m,A);else{if(U&128){h.suspense.unmount(m,A);return}K&&mt(h,null,d,"beforeUnmount"),U&64?h.type.remove(h,d,m,B,A):C&&!C.hasOnce&&(x!==Re||M>0&&M&64)?fe(C,d,m,!1,!0):(x===Re&&M&384||!S&&U&16)&&fe(P,d,m),A&&at(h)}(se&&(ee=I&&I.onVnodeUnmounted)||K)&&Pe(()=>{ee&&$e(ee,d,h),K&&mt(h,null,d,"unmounted")},m)},at=h=>{const{type:d,el:m,anchor:A,transition:S}=h;if(d===Re){Ae(m,A);return}if(d===us){y(h);return}const x=()=>{i(m),S&&!S.persisted&&S.afterLeave&&S.afterLeave()};if(h.shapeFlag&1&&S&&!S.persisted){const{leave:I,delayLeave:R}=S,P=()=>I(m,x);R?R(h.el,x,P):P()}else x()},Ae=(h,d)=>{let m;for(;h!==d;)m=p(h),i(h),h=m;i(d)},He=(h,d,m)=>{const{bum:A,scope:S,job:x,subTree:I,um:R,m:P,a:C,parent:U,slots:{__:M}}=h;Kn(P),Kn(C),A&&Fs(A),U&&W(M)&&M.forEach(V=>{U.renderCache[V]=void 0}),S.stop(),x&&(x.flags|=8,te(I,h,d,m)),R&&Pe(R,d),Pe(()=>{h.isUnmounted=!0},d),d&&d.pendingBranch&&!d.isUnmounted&&h.asyncDep&&!h.asyncResolved&&h.suspenseId===d.pendingId&&(d.deps--,d.deps===0&&d.resolve())},fe=(h,d,m,A=!1,S=!1,x=0)=>{for(let I=x;I{if(h.shapeFlag&6)return w(h.component.subTree);if(h.shapeFlag&128)return h.suspense.next();const d=p(h.anchor||h.el),m=d&&d[zl];return m?p(m):d};let N=!1;const k=(h,d,m)=>{h==null?d._vnode&&te(d._vnode,null,null,!0):O(d._vnode||null,h,d,null,null,null,m),d._vnode=h,N||(N=!0,Hn(),ar(),N=!1)},B={p:O,um:te,m:we,r:at,mt:lt,mc:z,pc:j,pbc:q,n:w,o:t};return{render:k,hydrate:void 0,createApp:go(k)}}function Vs({type:t,props:e},s){return s==="svg"&&t==="foreignObject"||s==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:s}function vt({effect:t,job:e},s){s?(t.flags|=32,e.flags|=4):(t.flags&=-33,e.flags&=-5)}function Eo(t,e){return(!t||t&&!t.pendingBranch)&&e&&!e.persisted}function Tr(t,e,s=!1){const n=t.children,i=e.children;if(W(n)&&W(i))for(let r=0;r>1,t[s[l]]0&&(e[n]=s[r-1]),s[r]=n)}}for(r=s.length,o=s[r-1];r-- >0;)s[r]=o,o=e[o];return s}function Lr(t){const e=t.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:Lr(e)}function Kn(t){if(t)for(let e=0;eet(_o);function cs(t,e,s){return Pr(t,e,s)}function Pr(t,e,s=ie){const{immediate:n,deep:i,flush:r,once:o}=s,l=be({},s),a=e&&n||!e&&r!=="post";let u;if(es){if(r==="sync"){const v=Oo();u=v.__watcherHandles||(v.__watcherHandles=[])}else if(!a){const v=()=>{};return v.stop=Ge,v.resume=Ge,v.pause=Ge,v}}const c=me;l.call=(v,T,O)=>Ke(v,c,T,O);let f=!1;r==="post"?l.scheduler=v=>{Pe(v,c&&c.suspense)}:r!=="sync"&&(f=!0,l.scheduler=(v,T)=>{T?v():En(v)}),l.augmentJob=v=>{e&&(v.flags|=4),f&&(v.flags|=2,c&&(v.id=c.uid,v.i=c))};const p=Vl(t,e,l);return es&&(u?u.push(p):a&&p()),p}function To(t,e,s){const n=this.proxy,i=ce(t)?t.includes(".")?Rr(n,t):()=>n[t]:t.bind(n,n);let r;G(e)?r=e:(r=e.handler,s=e);const o=is(this),l=Pr(i,r.bind(n),s);return o(),l}function Rr(t,e){const s=e.split(".");return()=>{let n=t;for(let i=0;ie==="modelValue"||e==="model-value"?t.modelModifiers:t[`${e}Modifiers`]||t[`${Fe(e)}Modifiers`]||t[`${At(e)}Modifiers`];function Po(t,e,...s){if(t.isUnmounted)return;const n=t.vnode.props||ie;let i=s;const r=e.startsWith("update:"),o=r&&Lo(n,e.slice(7));o&&(o.trim&&(i=s.map(c=>ce(c)?c.trim():c)),o.number&&(i=s.map(ll)));let l,a=n[l=ks(e)]||n[l=ks(Fe(e))];!a&&r&&(a=n[l=ks(At(e))]),a&&Ke(a,t,6,i);const u=n[l+"Once"];if(u){if(!t.emitted)t.emitted={};else if(t.emitted[l])return;t.emitted[l]=!0,Ke(u,t,6,i)}}function Dr(t,e,s=!1){const n=e.emitsCache,i=n.get(t);if(i!==void 0)return i;const r=t.emits;let o={},l=!1;if(!G(t)){const a=u=>{const c=Dr(u,e,!0);c&&(l=!0,be(o,c))};!s&&e.mixins.length&&e.mixins.forEach(a),t.extends&&a(t.extends),t.mixins&&t.mixins.forEach(a)}return!r&&!l?(le(t)&&n.set(t,null),null):(W(r)?r.forEach(a=>o[a]=null):be(o,r),le(t)&&n.set(t,o),o)}function Ps(t,e){return!t||!ws(e)?!1:(e=e.slice(2).replace(/Once$/,""),X(t,e[0].toLowerCase()+e.slice(1))||X(t,At(e))||X(t,e))}function qn(t){const{type:e,vnode:s,proxy:n,withProxy:i,propsOptions:[r],slots:o,attrs:l,emit:a,render:u,renderCache:c,props:f,data:p,setupState:v,ctx:T,inheritAttrs:O}=t,D=vs(t);let L,g;try{if(s.shapeFlag&4){const y=i||n,E=y;L=ze(u.call(E,y,c,f,v,p,T)),g=l}else{const y=e;L=ze(y.length>1?y(f,{attrs:l,slots:o,emit:a}):y(f,null)),g=e.props?l:Ro(l)}}catch(y){Wt.length=0,Os(y,t,1),L=de(nt)}let b=L;if(g&&O!==!1){const y=Object.keys(g),{shapeFlag:E}=b;y.length&&E&7&&(r&&y.some(hn)&&(g=Do(g,r)),b=Rt(b,g,!1,!0))}return s.dirs&&(b=Rt(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(s.dirs):s.dirs),s.transition&&Cn(b,s.transition),L=b,vs(D),L}const Ro=t=>{let e;for(const s in t)(s==="class"||s==="style"||ws(s))&&((e||(e={}))[s]=t[s]);return e},Do=(t,e)=>{const s={};for(const n in t)(!hn(n)||!(n.slice(9)in e))&&(s[n]=t[n]);return s};function ko(t,e,s){const{props:n,children:i,component:r}=t,{props:o,children:l,patchFlag:a}=e,u=r.emitsOptions;if(e.dirs||e.transition)return!0;if(s&&a>=0){if(a&1024)return!0;if(a&16)return n?Yn(n,o,u):!!o;if(a&8){const c=e.dynamicProps;for(let f=0;ft.__isSuspense;function Io(t,e){e&&e.pendingBranch?W(t)?e.effects.push(...t):e.effects.push(t):$l(t)}const Re=Symbol.for("v-fgt"),Rs=Symbol.for("v-txt"),nt=Symbol.for("v-cmt"),us=Symbol.for("v-stc"),Wt=[];let De=null;function Jt(t=!1){Wt.push(De=t?null:[])}function Mo(){Wt.pop(),De=Wt[Wt.length-1]||null}let Zt=1;function Qn(t,e=!1){Zt+=t,t<0&&De&&e&&(De.hasOnce=!0)}function Fr(t){return t.dynamicChildren=Zt>0?De||Ct:null,Mo(),Zt>0&&De&&De.push(t),t}function Ir(t,e,s,n,i,r){return Fr(Je(t,e,s,n,i,r,!0))}function rn(t,e,s,n,i){return Fr(de(t,e,s,n,i,!0))}function Xt(t){return t?t.__v_isVNode===!0:!1}function Mt(t,e){return t.type===e.type&&t.key===e.key}const Mr=({key:t})=>t??null,fs=({ref:t,ref_key:e,ref_for:s})=>(typeof t=="number"&&(t=""+t),t!=null?ce(t)||ve(t)||G(t)?{i:Ee,r:t,k:e,f:!!s}:t:null);function Je(t,e=null,s=null,n=0,i=null,r=t===Re?0:1,o=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Mr(e),ref:e&&fs(e),scopeId:ur,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Ee};return l?(Tn(a,s),r&128&&t.normalize(a)):s&&(a.shapeFlag|=ce(s)?8:16),Zt>0&&!o&&De&&(a.patchFlag>0||r&6)&&a.patchFlag!==32&&De.push(a),a}const de=No;function No(t,e=null,s=null,n=0,i=null,r=!1){if((!t||t===ro)&&(t=nt),Xt(t)){const l=Rt(t,e,!0);return s&&Tn(l,s),Zt>0&&!r&&De&&(l.shapeFlag&6?De[De.indexOf(t)]=l:De.push(l)),l.patchFlag=-2,l}if(Qo(t)&&(t=t.__vccOpts),e){e=Bo(e);let{class:l,style:a}=e;l&&!ce(l)&&(e.class=mn(l)),le(a)&&(Sn(a)&&!W(a)&&(a=be({},a)),e.style=gn(a))}const o=ce(t)?1:kr(t)?128:Gl(t)?64:le(t)?4:G(t)?2:0;return Je(t,e,s,n,i,o,r,!0)}function Bo(t){return t?Sn(t)||xr(t)?be({},t):t:null}function Rt(t,e,s=!1,n=!1){const{props:i,ref:r,patchFlag:o,children:l,transition:a}=t,u=e?Uo(i||{},e):i,c={__v_isVNode:!0,__v_skip:!0,type:t.type,props:u,key:u&&Mr(u),ref:e&&e.ref?s&&r?W(r)?r.concat(fs(e)):[r,fs(e)]:fs(e):r,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:l,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Re?o===-1?16:o|16:o,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:a,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&Rt(t.ssContent),ssFallback:t.ssFallback&&Rt(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return a&&n&&Cn(c,a.clone(c)),c}function hs(t=" ",e=0){return de(Rs,null,t,e)}function Ho(t,e){const s=de(us,null,t);return s.staticCount=e,s}function Vo(t="",e=!1){return e?(Jt(),rn(nt,null,t)):de(nt,null,t)}function ze(t){return t==null||typeof t=="boolean"?de(nt):W(t)?de(Re,null,t.slice()):Xt(t)?ft(t):de(Rs,null,String(t))}function ft(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:Rt(t)}function Tn(t,e){let s=0;const{shapeFlag:n}=t;if(e==null)e=null;else if(W(e))s=16;else if(typeof e=="object")if(n&65){const i=e.default;i&&(i._c&&(i._d=!1),Tn(t,i()),i._c&&(i._d=!0));return}else{s=32;const i=e._;!i&&!xr(e)?e._ctx=Ee:i===3&&Ee&&(Ee.slots._===1?e._=1:(e._=2,t.patchFlag|=1024))}else G(e)?(e={default:e,_ctx:Ee},s=32):(e=String(e),n&64?(s=16,e=[hs(e)]):s=8);t.children=e,t.shapeFlag|=s}function Uo(...t){const e={};for(let s=0;s{let i;return(i=t[s])||(i=t[s]=[]),i.push(n),r=>{i.length>1?i.forEach(o=>o(r)):i[0](r)}};ys=e("__VUE_INSTANCE_SETTERS__",s=>me=s),ln=e("__VUE_SSR_SETTERS__",s=>es=s)}const is=t=>{const e=me;return ys(t),t.scope.on(),()=>{t.scope.off(),ys(e)}},Jn=()=>{me&&me.scope.off(),ys(null)};function Nr(t){return t.vnode.shapeFlag&4}let es=!1;function zo(t,e=!1,s=!1){e&&ln(e);const{props:n,children:i}=t.vnode,r=Nr(t);mo(t,n,r,e),wo(t,i,s||e);const o=r?Go(t,e):void 0;return e&&ln(!1),o}function Go(t,e){const s=t.type;t.accessCache=Object.create(null),t.proxy=new Proxy(t.ctx,oo);const{setup:n}=s;if(n){tt();const i=t.setupContext=n.length>1?qo(t):null,r=is(t),o=ns(n,t,0,[t.props,i]),l=ki(o);if(st(),r(),(l||t.sp)&&!Lt(t)&&fr(t),l){if(o.then(Jn,Jn),e)return o.then(a=>{Zn(t,a)}).catch(a=>{Os(a,t,0)});t.asyncDep=o}else Zn(t,o)}else Br(t)}function Zn(t,e,s){G(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:le(e)&&(t.setupState=ir(e)),Br(t)}function Br(t,e,s){const n=t.type;t.render||(t.render=n.render||Ge);{const i=is(t);tt();try{ao(t)}finally{st(),i()}}}const Ko={get(t,e){return ge(t,"get",""),t[e]}};function qo(t){const e=s=>{t.exposed=s||{}};return{attrs:new Proxy(t.attrs,Ko),slots:t.slots,emit:t.emit,expose:e}}function Ln(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(ir(kl(t.exposed)),{get(e,s){if(s in e)return e[s];if(s in $t)return $t[s](t)},has(e,s){return s in e||s in $t}})):t.proxy}function Yo(t,e=!0){return G(t)?t.displayName||t.name:t.name||e&&t.__name}function Qo(t){return G(t)&&"__vccOpts"in t}const Me=(t,e)=>Bl(t,e,es);function Hr(t,e,s){const n=arguments.length;return n===2?le(e)&&!W(e)?Xt(e)?de(t,null,[e]):de(t,e):de(t,null,e):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&Xt(s)&&(s=[s]),de(t,e,s))}const Jo="3.5.17";/** +* @vue/runtime-dom v3.5.17 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let ln;const Jn=typeof window<"u"&&window.trustedTypes;if(Jn)try{ln=Jn.createPolicy("vue",{createHTML:t=>t})}catch{}const Vr=ln?t=>ln.createHTML(t):t=>t,Zo="http://www.w3.org/2000/svg",Xo="http://www.w3.org/1998/Math/MathML",Ze=typeof document<"u"?document:null,Zn=Ze&&Ze.createElement("template"),ea={insert:(t,e,s)=>{e.insertBefore(t,s||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,s,n)=>{const i=e==="svg"?Ze.createElementNS(Zo,t):e==="mathml"?Ze.createElementNS(Xo,t):s?Ze.createElement(t,{is:s}):Ze.createElement(t);return t==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:t=>Ze.createTextNode(t),createComment:t=>Ze.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>Ze.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,s,n,i,r){const l=s?s.previousSibling:e.lastChild;if(i&&(i===r||i.nextSibling))for(;e.insertBefore(i.cloneNode(!0),s),!(i===r||!(i=i.nextSibling)););else{Zn.innerHTML=Vr(n==="svg"?`${t}`:n==="mathml"?`${t}`:t);const o=Zn.content;if(n==="svg"||n==="mathml"){const a=o.firstChild;for(;a.firstChild;)o.appendChild(a.firstChild);o.removeChild(a)}e.insertBefore(o,s)}return[l?l.nextSibling:e.firstChild,s?s.previousSibling:e.lastChild]}},ta=Symbol("_vtc");function sa(t,e,s){const n=t[ta];n&&(e=(e?[e,...n]:[...n]).join(" ")),e==null?t.removeAttribute("class"):s?t.setAttribute("class",e):t.className=e}const Xn=Symbol("_vod"),na=Symbol("_vsh"),ia=Symbol(""),ra=/(^|;)\s*display\s*:/;function la(t,e,s){const n=t.style,i=ce(s);let r=!1;if(s&&!i){if(e)if(ce(e))for(const l of e.split(";")){const o=l.slice(0,l.indexOf(":")).trim();s[o]==null&&hs(n,o,"")}else for(const l in e)s[l]==null&&hs(n,l,"");for(const l in s)l==="display"&&(r=!0),hs(n,l,s[l])}else if(i){if(e!==s){const l=n[ia];l&&(s+=";"+l),n.cssText=s,r=ra.test(s)}}else e&&t.removeAttribute("style");Xn in t&&(t[Xn]=r?n.display:"",t[na]&&(n.display="none"))}const ei=/\s*!important$/;function hs(t,e,s){if(z(s))s.forEach(n=>hs(t,e,n));else if(s==null&&(s=""),e.startsWith("--"))t.setProperty(e,s);else{const n=oa(t,e);ei.test(s)?t.setProperty(At(n),s.replace(ei,""),"important"):t[n]=s}}const ti=["Webkit","Moz","ms"],Vs={};function oa(t,e){const s=Vs[e];if(s)return s;let n=Fe(e);if(n!=="filter"&&n in t)return Vs[e]=n;n=xs(n);for(let i=0;iUs||(ha.then(()=>Us=0),Us=Date.now());function pa(t,e){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;Ke(ga(n,s.value),e,5,[n])};return s.value=t,s.attached=da(),s}function ga(t,e){if(z(e)){const s=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{s.call(t),t._stopped=!0},e.map(n=>i=>!i._stopped&&n&&n(i))}else return e}const oi=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,ma=(t,e,s,n,i,r)=>{const l=i==="svg";e==="class"?sa(t,n,l):e==="style"?la(t,s,n):ys(e)?fn(e)||ua(t,e,s,n,r):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):va(t,e,n,l))?(ii(t,e,n),!t.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&ni(t,e,n,l,r,e!=="value")):t._isVueCE&&(/[A-Z]/.test(e)||!ce(n))?ii(t,Fe(e),n,r,e):(e==="true-value"?t._trueValue=n:e==="false-value"&&(t._falseValue=n),ni(t,e,n,l))};function va(t,e,s,n){if(n)return!!(e==="innerHTML"||e==="textContent"||e in t&&oi(e)&&G(s));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const i=t.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return oi(e)&&ce(s)?!1:e in t}const ba=be({patchProp:ma},ea);let ai;function ya(){return ai||(ai=xo(ba))}const wa=(...t)=>{const e=ya().createApp(...t),{mount:s}=e;return e.mount=n=>{const i=xa(n);if(!i)return;const r=e._component;!G(r)&&!r.render&&!r.template&&(r.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const l=s(i,!1,Aa(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),l},e};function Aa(t){if(t instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&t instanceof MathMLElement)return"mathml"}function xa(t){return ce(t)?document.querySelector(t):t}const Sa="modulepreload",Ea=function(t){return"/"+t},ci={},Ye=function(e,s,n){let i=Promise.resolve();if(s&&s.length>0){document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),o=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));i=Promise.allSettled(s.map(a=>{if(a=Ea(a),a in ci)return;ci[a]=!0;const u=a.endsWith(".css"),c=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${a}"]${c}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":Sa,u||(f.as="script"),f.crossOrigin="",f.href=a,o&&f.setAttribute("nonce",o),document.head.appendChild(f),u)return new Promise((p,v)=>{f.addEventListener("load",p),f.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${a}`)))})}))}function r(l){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=l,window.dispatchEvent(o),!o.defaultPrevented)throw l}return i.then(l=>{for(const o of l||[])o.status==="rejected"&&r(o.reason);return e().catch(r)})};/*! - * vue-router v4.5.0 - * (c) 2024 Eduardo San Martin Morote +**/let on;const Xn=typeof window<"u"&&window.trustedTypes;if(Xn)try{on=Xn.createPolicy("vue",{createHTML:t=>t})}catch{}const Vr=on?t=>on.createHTML(t):t=>t,Zo="http://www.w3.org/2000/svg",Xo="http://www.w3.org/1998/Math/MathML",Ze=typeof document<"u"?document:null,ei=Ze&&Ze.createElement("template"),ea={insert:(t,e,s)=>{e.insertBefore(t,s||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,s,n)=>{const i=e==="svg"?Ze.createElementNS(Zo,t):e==="mathml"?Ze.createElementNS(Xo,t):s?Ze.createElement(t,{is:s}):Ze.createElement(t);return t==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:t=>Ze.createTextNode(t),createComment:t=>Ze.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>Ze.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,s,n,i,r){const o=s?s.previousSibling:e.lastChild;if(i&&(i===r||i.nextSibling))for(;e.insertBefore(i.cloneNode(!0),s),!(i===r||!(i=i.nextSibling)););else{ei.innerHTML=Vr(n==="svg"?`${t}`:n==="mathml"?`${t}`:t);const l=ei.content;if(n==="svg"||n==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}e.insertBefore(l,s)}return[o?o.nextSibling:e.firstChild,s?s.previousSibling:e.lastChild]}},ta=Symbol("_vtc");function sa(t,e,s){const n=t[ta];n&&(e=(e?[e,...n]:[...n]).join(" ")),e==null?t.removeAttribute("class"):s?t.setAttribute("class",e):t.className=e}const ti=Symbol("_vod"),na=Symbol("_vsh"),ia=Symbol(""),ra=/(^|;)\s*display\s*:/;function la(t,e,s){const n=t.style,i=ce(s);let r=!1;if(s&&!i){if(e)if(ce(e))for(const o of e.split(";")){const l=o.slice(0,o.indexOf(":")).trim();s[l]==null&&ds(n,l,"")}else for(const o in e)s[o]==null&&ds(n,o,"");for(const o in s)o==="display"&&(r=!0),ds(n,o,s[o])}else if(i){if(e!==s){const o=n[ia];o&&(s+=";"+o),n.cssText=s,r=ra.test(s)}}else e&&t.removeAttribute("style");ti in t&&(t[ti]=r?n.display:"",t[na]&&(n.display="none"))}const si=/\s*!important$/;function ds(t,e,s){if(W(s))s.forEach(n=>ds(t,e,n));else if(s==null&&(s=""),e.startsWith("--"))t.setProperty(e,s);else{const n=oa(t,e);si.test(s)?t.setProperty(At(n),s.replace(si,""),"important"):t[n]=s}}const ni=["Webkit","Moz","ms"],Us={};function oa(t,e){const s=Us[e];if(s)return s;let n=Fe(e);if(n!=="filter"&&n in t)return Us[e]=n;n=Ss(n);for(let i=0;ijs||(ha.then(()=>js=0),js=Date.now());function pa(t,e){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;Ke(ga(n,s.value),e,5,[n])};return s.value=t,s.attached=da(),s}function ga(t,e){if(W(e)){const s=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{s.call(t),t._stopped=!0},e.map(n=>i=>!i._stopped&&n&&n(i))}else return e}const ci=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,ma=(t,e,s,n,i,r)=>{const o=i==="svg";e==="class"?sa(t,n,o):e==="style"?la(t,s,n):ws(e)?hn(e)||ua(t,e,s,n,r):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):va(t,e,n,o))?(li(t,e,n),!t.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&ri(t,e,n,o,r,e!=="value")):t._isVueCE&&(/[A-Z]/.test(e)||!ce(n))?li(t,Fe(e),n,r,e):(e==="true-value"?t._trueValue=n:e==="false-value"&&(t._falseValue=n),ri(t,e,n,o))};function va(t,e,s,n){if(n)return!!(e==="innerHTML"||e==="textContent"||e in t&&ci(e)&&G(s));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="autocorrect"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const i=t.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return ci(e)&&ce(s)?!1:e in t}const ba=be({patchProp:ma},ea);let ui;function ya(){return ui||(ui=xo(ba))}const wa=(...t)=>{const e=ya().createApp(...t),{mount:s}=e;return e.mount=n=>{const i=xa(n);if(!i)return;const r=e._component;!G(r)&&!r.render&&!r.template&&(r.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const o=s(i,!1,Aa(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},e};function Aa(t){if(t instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&t instanceof MathMLElement)return"mathml"}function xa(t){return ce(t)?document.querySelector(t):t}const Sa="modulepreload",Ea=function(t){return"/"+t},fi={},Ye=function(e,s,n){let i=Promise.resolve();if(s&&s.length>0){let o=function(u){return Promise.all(u.map(c=>Promise.resolve(c).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),a=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));i=o(s.map(u=>{if(u=Ea(u),u in fi)return;fi[u]=!0;const c=u.endsWith(".css"),f=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${f}`))return;const p=document.createElement("link");if(p.rel=c?"stylesheet":Sa,c||(p.as="script"),p.crossOrigin="",p.href=u,a&&p.setAttribute("nonce",a),document.head.appendChild(p),c)return new Promise((v,T)=>{p.addEventListener("load",v),p.addEventListener("error",()=>T(new Error(`Unable to preload CSS for ${u}`)))})}))}function r(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&r(l.reason);return e().catch(r)})};/*! + * vue-router v4.5.1 + * (c) 2025 Eduardo San Martin Morote * @license MIT - */const Et=typeof document<"u";function Ur(t){return typeof t=="object"||"displayName"in t||"props"in t||"__vccOpts"in t}function Ca(t){return t.__esModule||t[Symbol.toStringTag]==="Module"||t.default&&Ur(t.default)}const J=Object.assign;function js(t,e){const s={};for(const n in e){const i=e[n];s[n]=Be(i)?i.map(t):t(i)}return s}const Wt=()=>{},Be=Array.isArray,jr=/#/g,_a=/&/g,Oa=/\//g,Ta=/=/g,La=/\?/g,$r=/\+/g,Pa=/%5B/g,Ra=/%5D/g,Wr=/%5E/g,Da=/%60/g,zr=/%7B/g,ka=/%7C/g,Gr=/%7D/g,Fa=/%20/g;function Tn(t){return encodeURI(""+t).replace(ka,"|").replace(Pa,"[").replace(Ra,"]")}function Ia(t){return Tn(t).replace(zr,"{").replace(Gr,"}").replace(Wr,"^")}function on(t){return Tn(t).replace($r,"%2B").replace(Fa,"+").replace(jr,"%23").replace(_a,"%26").replace(Da,"`").replace(zr,"{").replace(Gr,"}").replace(Wr,"^")}function Ma(t){return on(t).replace(Ta,"%3D")}function Na(t){return Tn(t).replace(jr,"%23").replace(La,"%3F")}function Ba(t){return t==null?"":Na(t).replace(Oa,"%2F")}function es(t){try{return decodeURIComponent(""+t)}catch{}return""+t}const Ha=/\/$/,Va=t=>t.replace(Ha,"");function $s(t,e,s="/"){let n,i={},r="",l="";const o=e.indexOf("#");let a=e.indexOf("?");return o=0&&(a=-1),a>-1&&(n=e.slice(0,a),r=e.slice(a+1,o>-1?o:e.length),i=t(r)),o>-1&&(n=n||e.slice(0,o),l=e.slice(o,e.length)),n=Wa(n??e,s),{fullPath:n+(r&&"?")+r+l,path:n,query:i,hash:es(l)}}function Ua(t,e){const s=e.query?t(e.query):"";return e.path+(s&&"?")+s+(e.hash||"")}function ui(t,e){return!e||!t.toLowerCase().startsWith(e.toLowerCase())?t:t.slice(e.length)||"/"}function ja(t,e,s){const n=e.matched.length-1,i=s.matched.length-1;return n>-1&&n===i&&Dt(e.matched[n],s.matched[i])&&Kr(e.params,s.params)&&t(e.query)===t(s.query)&&e.hash===s.hash}function Dt(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function Kr(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const s in t)if(!$a(t[s],e[s]))return!1;return!0}function $a(t,e){return Be(t)?fi(t,e):Be(e)?fi(e,t):t===e}function fi(t,e){return Be(e)?t.length===e.length&&t.every((s,n)=>s===e[n]):t.length===1&&t[0]===e}function Wa(t,e){if(t.startsWith("/"))return t;if(!t)return e;const s=e.split("/"),n=t.split("/"),i=n[n.length-1];(i===".."||i===".")&&n.push("");let r=s.length-1,l,o;for(l=0;l1&&r--;else break;return s.slice(0,r).join("/")+"/"+n.slice(l).join("/")}const lt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var ts;(function(t){t.pop="pop",t.push="push"})(ts||(ts={}));var zt;(function(t){t.back="back",t.forward="forward",t.unknown=""})(zt||(zt={}));function za(t){if(!t)if(Et){const e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^\w+:\/\/[^\/]+/,"")}else t="/";return t[0]!=="/"&&t[0]!=="#"&&(t="/"+t),Va(t)}const Ga=/^[^#]+#/;function Ka(t,e){return t.replace(Ga,"#")+e}function qa(t,e){const s=document.documentElement.getBoundingClientRect(),n=t.getBoundingClientRect();return{behavior:e.behavior,left:n.left-s.left-(e.left||0),top:n.top-s.top-(e.top||0)}}const Rs=()=>({left:window.scrollX,top:window.scrollY});function Ya(t){let e;if("el"in t){const s=t.el,n=typeof s=="string"&&s.startsWith("#"),i=typeof s=="string"?n?document.getElementById(s.slice(1)):document.querySelector(s):s;if(!i)return;e=qa(i,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.scrollX,e.top!=null?e.top:window.scrollY)}function hi(t,e){return(history.state?history.state.position-e:-1)+t}const an=new Map;function Qa(t,e){an.set(t,e)}function Ja(t){const e=an.get(t);return an.delete(t),e}let Za=()=>location.protocol+"//"+location.host;function qr(t,e){const{pathname:s,search:n,hash:i}=e,r=t.indexOf("#");if(r>-1){let o=i.includes(t.slice(r))?t.slice(r).length:1,a=i.slice(o);return a[0]!=="/"&&(a="/"+a),ui(a,"")}return ui(s,t)+n+i}function Xa(t,e,s,n){let i=[],r=[],l=null;const o=({state:p})=>{const v=qr(t,location),T=s.value,O=e.value;let D=0;if(p){if(s.value=v,e.value=p,l&&l===T){l=null;return}D=O?p.position-O.position:0}else n(v);i.forEach(L=>{L(s.value,T,{delta:D,type:ts.pop,direction:D?D>0?zt.forward:zt.back:zt.unknown})})};function a(){l=s.value}function u(p){i.push(p);const v=()=>{const T=i.indexOf(p);T>-1&&i.splice(T,1)};return r.push(v),v}function c(){const{history:p}=window;p.state&&p.replaceState(J({},p.state,{scroll:Rs()}),"")}function f(){for(const p of r)p();r=[],window.removeEventListener("popstate",o),window.removeEventListener("beforeunload",c)}return window.addEventListener("popstate",o),window.addEventListener("beforeunload",c,{passive:!0}),{pauseListeners:a,listen:u,destroy:f}}function di(t,e,s,n=!1,i=!1){return{back:t,current:e,forward:s,replaced:n,position:window.history.length,scroll:i?Rs():null}}function ec(t){const{history:e,location:s}=window,n={value:qr(t,s)},i={value:e.state};i.value||r(n.value,{back:null,current:n.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function r(a,u,c){const f=t.indexOf("#"),p=f>-1?(s.host&&document.querySelector("base")?t:t.slice(f))+a:Za()+t+a;try{e[c?"replaceState":"pushState"](u,"",p),i.value=u}catch(v){console.error(v),s[c?"replace":"assign"](p)}}function l(a,u){const c=J({},e.state,di(i.value.back,a,i.value.forward,!0),u,{position:i.value.position});r(a,c,!0),n.value=a}function o(a,u){const c=J({},i.value,e.state,{forward:a,scroll:Rs()});r(c.current,c,!0);const f=J({},di(n.value,a,null),{position:c.position+1},u);r(a,f,!1),n.value=a}return{location:n,state:i,push:o,replace:l}}function tc(t){t=za(t);const e=ec(t),s=Xa(t,e.state,e.location,e.replace);function n(r,l=!0){l||s.pauseListeners(),history.go(r)}const i=J({location:"",base:t,go:n,createHref:Ka.bind(null,t)},e,s);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>e.state.value}),i}function sc(t){return typeof t=="string"||t&&typeof t=="object"}function Yr(t){return typeof t=="string"||typeof t=="symbol"}const Qr=Symbol("");var pi;(function(t){t[t.aborted=4]="aborted",t[t.cancelled=8]="cancelled",t[t.duplicated=16]="duplicated"})(pi||(pi={}));function kt(t,e){return J(new Error,{type:t,[Qr]:!0},e)}function Qe(t,e){return t instanceof Error&&Qr in t&&(e==null||!!(t.type&e))}const gi="[^/]+?",nc={sensitive:!1,strict:!1,start:!0,end:!0},ic=/[.+*?^${}()[\]/\\]/g;function rc(t,e){const s=J({},nc,e),n=[];let i=s.start?"^":"";const r=[];for(const u of t){const c=u.length?[]:[90];s.strict&&!u.length&&(i+="/");for(let f=0;fe.length?e.length===1&&e[0]===80?1:-1:0}function Jr(t,e){let s=0;const n=t.score,i=e.score;for(;s0&&e[e.length-1]<0}const oc={type:0,value:""},ac=/[a-zA-Z0-9_]/;function cc(t){if(!t)return[[]];if(t==="/")return[[oc]];if(!t.startsWith("/"))throw new Error(`Invalid path "${t}"`);function e(v){throw new Error(`ERR (${s})/"${u}": ${v}`)}let s=0,n=s;const i=[];let r;function l(){r&&i.push(r),r=[]}let o=0,a,u="",c="";function f(){u&&(s===0?r.push({type:0,value:u}):s===1||s===2||s===3?(r.length>1&&(a==="*"||a==="+")&&e(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),r.push({type:1,value:u,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):e("Invalid state to consume buffer"),u="")}function p(){u+=a}for(;o{l(b)}:Wt}function l(f){if(Yr(f)){const p=n.get(f);p&&(n.delete(f),s.splice(s.indexOf(p),1),p.children.forEach(l),p.alias.forEach(l))}else{const p=s.indexOf(f);p>-1&&(s.splice(p,1),f.record.name&&n.delete(f.record.name),f.children.forEach(l),f.alias.forEach(l))}}function o(){return s}function a(f){const p=pc(f,s);s.splice(p,0,f),f.record.name&&!yi(f)&&n.set(f.record.name,f)}function u(f,p){let v,T={},O,D;if("name"in f&&f.name){if(v=n.get(f.name),!v)throw kt(1,{location:f});D=v.record.name,T=J(vi(p.params,v.keys.filter(b=>!b.optional).concat(v.parent?v.parent.keys.filter(b=>b.optional):[]).map(b=>b.name)),f.params&&vi(f.params,v.keys.map(b=>b.name))),O=v.stringify(T)}else if(f.path!=null)O=f.path,v=s.find(b=>b.re.test(O)),v&&(T=v.parse(O),D=v.record.name);else{if(v=p.name?n.get(p.name):s.find(b=>b.re.test(p.path)),!v)throw kt(1,{location:f,currentLocation:p});D=v.record.name,T=J({},p.params,f.params),O=v.stringify(T)}const L=[];let g=v;for(;g;)L.unshift(g.record),g=g.parent;return{name:D,path:O,params:T,matched:L,meta:dc(L)}}t.forEach(f=>r(f));function c(){s.length=0,n.clear()}return{addRoute:r,resolve:u,removeRoute:l,clearRoutes:c,getRoutes:o,getRecordMatcher:i}}function vi(t,e){const s={};for(const n of e)n in t&&(s[n]=t[n]);return s}function bi(t){const e={path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:t.aliasOf,beforeEnter:t.beforeEnter,props:hc(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||null:t.component&&{default:t.component}};return Object.defineProperty(e,"mods",{value:{}}),e}function hc(t){const e={},s=t.props||!1;if("component"in t)e.default=s;else for(const n in t.components)e[n]=typeof s=="object"?s[n]:s;return e}function yi(t){for(;t;){if(t.record.aliasOf)return!0;t=t.parent}return!1}function dc(t){return t.reduce((e,s)=>J(e,s.meta),{})}function wi(t,e){const s={};for(const n in t)s[n]=n in e?e[n]:t[n];return s}function pc(t,e){let s=0,n=e.length;for(;s!==n;){const r=s+n>>1;Jr(t,e[r])<0?n=r:s=r+1}const i=gc(t);return i&&(n=e.lastIndexOf(i,n-1)),n}function gc(t){let e=t;for(;e=e.parent;)if(Zr(e)&&Jr(t,e)===0)return e}function Zr({record:t}){return!!(t.name||t.components&&Object.keys(t.components).length||t.redirect)}function mc(t){const e={};if(t===""||t==="?")return e;const n=(t[0]==="?"?t.slice(1):t).split("&");for(let i=0;ir&&on(r)):[n&&on(n)]).forEach(r=>{r!==void 0&&(e+=(e.length?"&":"")+s,r!=null&&(e+="="+r))})}return e}function vc(t){const e={};for(const s in t){const n=t[s];n!==void 0&&(e[s]=Be(n)?n.map(i=>i==null?null:""+i):n==null?n:""+n)}return e}const bc=Symbol(""),xi=Symbol(""),Ln=Symbol(""),Xr=Symbol(""),cn=Symbol("");function Nt(){let t=[];function e(n){return t.push(n),()=>{const i=t.indexOf(n);i>-1&&t.splice(i,1)}}function s(){t=[]}return{add:e,list:()=>t.slice(),reset:s}}function ct(t,e,s,n,i,r=l=>l()){const l=n&&(n.enterCallbacks[i]=n.enterCallbacks[i]||[]);return()=>new Promise((o,a)=>{const u=p=>{p===!1?a(kt(4,{from:s,to:e})):p instanceof Error?a(p):sc(p)?a(kt(2,{from:e,to:p})):(l&&n.enterCallbacks[i]===l&&typeof p=="function"&&l.push(p),o())},c=r(()=>t.call(n&&n.instances[i],e,s,u));let f=Promise.resolve(c);t.length<3&&(f=f.then(u)),f.catch(p=>a(p))})}function Ws(t,e,s,n,i=r=>r()){const r=[];for(const l of t)for(const o in l.components){let a=l.components[o];if(!(e!=="beforeRouteEnter"&&!l.instances[o]))if(Ur(a)){const c=(a.__vccOpts||a)[e];c&&r.push(ct(c,s,n,l,o,i))}else{let u=a();r.push(()=>u.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${o}" at "${l.path}"`);const f=Ca(c)?c.default:c;l.mods[o]=c,l.components[o]=f;const v=(f.__vccOpts||f)[e];return v&&ct(v,s,n,l,o,i)()}))}}return r}function Si(t){const e=et(Ln),s=et(Xr),n=Me(()=>{const a=yt(t.to);return e.resolve(a)}),i=Me(()=>{const{matched:a}=n.value,{length:u}=a,c=a[u-1],f=s.matched;if(!c||!f.length)return-1;const p=f.findIndex(Dt.bind(null,c));if(p>-1)return p;const v=Ei(a[u-2]);return u>1&&Ei(c)===v&&f[f.length-1].path!==v?f.findIndex(Dt.bind(null,a[u-2])):p}),r=Me(()=>i.value>-1&&Sc(s.params,n.value.params)),l=Me(()=>i.value>-1&&i.value===s.matched.length-1&&Kr(s.params,n.value.params));function o(a={}){if(xc(a)){const u=e[yt(t.replace)?"replace":"push"](yt(t.to)).catch(Wt);return t.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:n,href:Me(()=>n.value.href),isActive:r,isExactActive:l,navigate:o}}function yc(t){return t.length===1?t[0]:t}const wc=Os({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Si,setup(t,{slots:e}){const s=Cs(Si(t)),{options:n}=et(Ln),i=Me(()=>({[Ci(t.activeClass,n.linkActiveClass,"router-link-active")]:s.isActive,[Ci(t.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:s.isExactActive}));return()=>{const r=e.default&&yc(e.default(s));return t.custom?r:Hr("a",{"aria-current":s.isExactActive?t.ariaCurrentValue:null,href:s.href,onClick:s.navigate,class:i.value},r)}}}),Ac=wc;function xc(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&!(t.button!==void 0&&t.button!==0)){if(t.currentTarget&&t.currentTarget.getAttribute){const e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function Sc(t,e){for(const s in e){const n=e[s],i=t[s];if(typeof n=="string"){if(n!==i)return!1}else if(!Be(i)||i.length!==n.length||n.some((r,l)=>r!==i[l]))return!1}return!0}function Ei(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const Ci=(t,e,s)=>t??e??s,Ec=Os({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:e,slots:s}){const n=et(cn),i=Me(()=>t.route||n.value),r=et(xi,0),l=Me(()=>{let u=yt(r);const{matched:c}=i.value;let f;for(;(f=c[u])&&!f.components;)u++;return u}),o=Me(()=>i.value.matched[l.value]);os(xi,Me(()=>l.value+1)),os(bc,o),os(cn,i);const a=tr();return as(()=>[a.value,o.value,t.name],([u,c,f],[p,v,T])=>{c&&(c.instances[f]=u,v&&v!==c&&u&&u===p&&(c.leaveGuards.size||(c.leaveGuards=v.leaveGuards),c.updateGuards.size||(c.updateGuards=v.updateGuards))),u&&c&&(!v||!Dt(c,v)||!p)&&(c.enterCallbacks[f]||[]).forEach(O=>O(u))},{flush:"post"}),()=>{const u=i.value,c=t.name,f=o.value,p=f&&f.components[c];if(!p)return _i(s.default,{Component:p,route:u});const v=f.props[c],T=v?v===!0?u.params:typeof v=="function"?v(u):v:null,D=Hr(p,J({},T,e,{onVnodeUnmounted:L=>{L.component.isUnmounted&&(f.instances[c]=null)},ref:a}));return _i(s.default,{Component:D,route:u})||D}}});function _i(t,e){if(!t)return null;const s=t(e);return s.length===1?s[0]:s}const Cc=Ec;function _c(t){const e=fc(t.routes,t),s=t.parseQuery||mc,n=t.stringifyQuery||Ai,i=t.history,r=Nt(),l=Nt(),o=Nt(),a=Fl(lt);let u=lt;Et&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=js.bind(null,w=>""+w),f=js.bind(null,Ba),p=js.bind(null,es);function v(w,M){let k,B;return Yr(w)?(k=e.getRecordMatcher(w),B=M):B=w,e.addRoute(B,k)}function T(w){const M=e.getRecordMatcher(w);M&&e.removeRoute(M)}function O(){return e.getRoutes().map(w=>w.record)}function D(w){return!!e.getRecordMatcher(w)}function L(w,M){if(M=J({},M||a.value),typeof w=="string"){const m=$s(s,w,M.path),A=e.resolve({path:m.path},M),S=i.createHref(m.fullPath);return J(m,A,{params:p(A.params),hash:es(m.hash),redirectedFrom:void 0,href:S})}let k;if(w.path!=null)k=J({},w,{path:$s(s,w.path,M.path).path});else{const m=J({},w.params);for(const A in m)m[A]==null&&delete m[A];k=J({},w,{params:f(m)}),M.params=f(M.params)}const B=e.resolve(k,M),Y=w.hash||"";B.params=c(p(B.params));const h=Ua(n,J({},w,{hash:Ia(Y),path:B.path})),d=i.createHref(h);return J({fullPath:h,hash:Y,query:n===Ai?vc(w.query):w.query||{}},B,{redirectedFrom:void 0,href:d})}function g(w){return typeof w=="string"?$s(s,w,a.value.path):J({},w)}function b(w,M){if(u!==w)return kt(8,{from:M,to:w})}function y(w){return F(w)}function E(w){return y(J(g(w),{replace:!0}))}function _(w){const M=w.matched[w.matched.length-1];if(M&&M.redirect){const{redirect:k}=M;let B=typeof k=="function"?k(w):k;return typeof B=="string"&&(B=B.includes("?")||B.includes("#")?B=g(B):{path:B},B.params={}),J({query:w.query,hash:w.hash,params:B.path!=null?{}:w.params},B)}}function F(w,M){const k=u=L(w),B=a.value,Y=w.state,h=w.force,d=w.replace===!0,m=_(k);if(m)return F(J(g(m),{state:typeof m=="object"?J({},Y,m.state):Y,force:h,replace:d}),M||k);const A=k;A.redirectedFrom=M;let S;return!h&&ja(n,B,k)&&(S=kt(16,{to:A,from:B}),we(B,B,!0,!1)),(S?Promise.resolve(S):q(A,B)).catch(x=>Qe(x)?Qe(x,2)?x:ye(x):j(x,A,B)).then(x=>{if(x){if(Qe(x,2))return F(J({replace:d},g(x.to),{state:typeof x.to=="object"?J({},Y,x.to.state):Y,force:h}),M||A)}else x=de(A,B,!0,d,Y);return re(A,B,x),x})}function W(w,M){const k=b(w,M);return k?Promise.reject(k):Promise.resolve()}function H(w){const M=Ae.values().next().value;return M&&typeof M.runWithContext=="function"?M.runWithContext(w):w()}function q(w,M){let k;const[B,Y,h]=Oc(w,M);k=Ws(B.reverse(),"beforeRouteLeave",w,M);for(const m of B)m.leaveGuards.forEach(A=>{k.push(ct(A,w,M))});const d=W.bind(null,w,M);return k.push(d),fe(k).then(()=>{k=[];for(const m of r.list())k.push(ct(m,w,M));return k.push(d),fe(k)}).then(()=>{k=Ws(Y,"beforeRouteUpdate",w,M);for(const m of Y)m.updateGuards.forEach(A=>{k.push(ct(A,w,M))});return k.push(d),fe(k)}).then(()=>{k=[];for(const m of h)if(m.beforeEnter)if(Be(m.beforeEnter))for(const A of m.beforeEnter)k.push(ct(A,w,M));else k.push(ct(m.beforeEnter,w,M));return k.push(d),fe(k)}).then(()=>(w.matched.forEach(m=>m.enterCallbacks={}),k=Ws(h,"beforeRouteEnter",w,M,H),k.push(d),fe(k))).then(()=>{k=[];for(const m of l.list())k.push(ct(m,w,M));return k.push(d),fe(k)}).catch(m=>Qe(m,8)?m:Promise.reject(m))}function re(w,M,k){o.list().forEach(B=>H(()=>B(w,M,k)))}function de(w,M,k,B,Y){const h=b(w,M);if(h)return h;const d=M===lt,m=Et?history.state:{};k&&(B||d?i.replace(w.fullPath,J({scroll:d&&m&&m.scroll},Y)):i.push(w.fullPath,Y)),a.value=w,we(w,M,k,d),ye()}let _e;function nt(){_e||(_e=i.listen((w,M,k)=>{if(!He.listening)return;const B=L(w),Y=_(B);if(Y){F(J(Y,{replace:!0,force:!0}),B).catch(Wt);return}u=B;const h=a.value;Et&&Qa(hi(h.fullPath,k.delta),Rs()),q(B,h).catch(d=>Qe(d,12)?d:Qe(d,2)?(F(J(g(d.to),{force:!0}),B).then(m=>{Qe(m,20)&&!k.delta&&k.type===ts.pop&&i.go(-1,!1)}).catch(Wt),Promise.reject()):(k.delta&&i.go(-k.delta,!1),j(d,B,h))).then(d=>{d=d||de(B,h,!1),d&&(k.delta&&!Qe(d,8)?i.go(-k.delta,!1):k.type===ts.pop&&Qe(d,20)&&i.go(-1,!1)),re(B,h,d)}).catch(Wt)}))}let it=Nt(),oe=Nt(),Q;function j(w,M,k){ye(w);const B=oe.list();return B.length?B.forEach(Y=>Y(w,M,k)):console.error(w),Promise.reject(w)}function ae(){return Q&&a.value!==lt?Promise.resolve():new Promise((w,M)=>{it.add([w,M])})}function ye(w){return Q||(Q=!w,nt(),it.list().forEach(([M,k])=>w?k(w):M()),it.reset()),w}function we(w,M,k,B){const{scrollBehavior:Y}=t;if(!Et||!Y)return Promise.resolve();const h=!k&&Ja(hi(w.fullPath,0))||(B||!k)&&history.state&&history.state.scroll||null;return rr().then(()=>Y(w,M,h)).then(d=>d&&Ya(d)).catch(d=>j(d,w,M))}const te=w=>i.go(w);let rt;const Ae=new Set,He={currentRoute:a,listening:!0,addRoute:v,removeRoute:T,clearRoutes:e.clearRoutes,hasRoute:D,getRoutes:O,resolve:L,options:t,push:y,replace:E,go:te,back:()=>te(-1),forward:()=>te(1),beforeEach:r.add,beforeResolve:l.add,afterEach:o.add,onError:oe.add,isReady:ae,install(w){const M=this;w.component("RouterLink",Ac),w.component("RouterView",Cc),w.config.globalProperties.$router=M,Object.defineProperty(w.config.globalProperties,"$route",{enumerable:!0,get:()=>yt(a)}),Et&&!rt&&a.value===lt&&(rt=!0,y(i.location).catch(Y=>{}));const k={};for(const Y in lt)Object.defineProperty(k,Y,{get:()=>a.value[Y],enumerable:!0});w.provide(Ln,M),w.provide(Xr,Xi(k)),w.provide(cn,a);const B=w.unmount;Ae.add(w),w.unmount=function(){Ae.delete(w),Ae.size<1&&(u=lt,_e&&_e(),_e=null,a.value=lt,rt=!1,Q=!1),B()}}};function fe(w){return w.reduce((M,k)=>M.then(()=>H(k)),Promise.resolve())}return He}function Oc(t,e){const s=[],n=[],i=[],r=Math.max(e.matched.length,t.matched.length);for(let l=0;lDt(u,o))?n.push(o):s.push(o));const a=t.matched[l];a&&(e.matched.find(u=>Dt(u,a))||i.push(a))}return[s,n,i]}const Tc=_c({history:tc(),linkActiveClass:"active",routes:[{path:"/",name:"Home",component:()=>Ye(()=>import("./home.js"),__vite__mapDeps([0,1]))},{path:"/install",name:"Install",component:()=>Ye(()=>import("./install.js"),[])},{path:"/selects",name:"Selects",component:()=>Ye(()=>import("./selects.js"),[])},{path:"/data",name:"Data",component:()=>Ye(()=>import("./data.js"),[])},{path:"/examples",name:"Examples",component:()=>Ye(()=>import("./index2.js"),__vite__mapDeps([2,3]))},{path:"/settings",name:"Settings",component:()=>Ye(()=>import("./index3.js"),__vite__mapDeps([4,5]))},{path:"/events",name:"Events",component:()=>Ye(()=>import("./index4.js"),[])},{path:"/methods",name:"Methods",component:()=>Ye(()=>import("./index5.js"),[])},{path:"/vue",name:"Vue",component:()=>Ye(()=>import("./vue.js"),[])}]});class Lc{constructor(e){e||(e={}),this.main=e.main||"ss-main",this.placeholder=e.placeholder||"ss-placeholder",this.values=e.values||"ss-values",this.single=e.single||"ss-single",this.max=e.max||"ss-max",this.value=e.value||"ss-value",this.valueText=e.valueText||"ss-value-text",this.valueDelete=e.valueDelete||"ss-value-delete",this.valueOut=e.valueOut||"ss-value-out",this.deselect=e.deselect||"ss-deselect",this.deselectPath=e.deselectPath||"M10,10 L90,90 M10,90 L90,10",this.arrow=e.arrow||"ss-arrow",this.arrowClose=e.arrowClose||"M10,30 L50,70 L90,30",this.arrowOpen=e.arrowOpen||"M10,70 L50,30 L90,70",this.content=e.content||"ss-content",this.openAbove=e.openAbove||"ss-open-above",this.openBelow=e.openBelow||"ss-open-below",this.search=e.search||"ss-search",this.searchHighlighter=e.searchHighlighter||"ss-search-highlight",this.searching=e.searching||"ss-searching",this.addable=e.addable||"ss-addable",this.addablePath=e.addablePath||"M50,10 L50,90 M10,50 L90,50",this.list=e.list||"ss-list",this.optgroup=e.optgroup||"ss-optgroup",this.optgroupLabel=e.optgroupLabel||"ss-optgroup-label",this.optgroupLabelText=e.optgroupLabelText||"ss-optgroup-label-text",this.optgroupActions=e.optgroupActions||"ss-optgroup-actions",this.optgroupSelectAll=e.optgroupSelectAll||"ss-selectall",this.optgroupSelectAllBox=e.optgroupSelectAllBox||"M60,10 L10,10 L10,90 L90,90 L90,50",this.optgroupSelectAllCheck=e.optgroupSelectAllCheck||"M30,45 L50,70 L90,10",this.optgroupClosable=e.optgroupClosable||"ss-closable",this.option=e.option||"ss-option",this.optionDelete=e.optionDelete||"M10,10 L90,90 M10,90 L90,10",this.highlighted=e.highlighted||"ss-highlighted",this.open=e.open||"ss-open",this.close=e.close||"ss-close",this.selected=e.selected||"ss-selected",this.error=e.error||"ss-error",this.disabled=e.disabled||"ss-disabled",this.hide=e.hide||"ss-hide"}}function Pn(){return Math.random().toString(36).substring(2,10)}function Pc(t,e){function s(i,r){return r&&i&&i.classList&&i.classList.contains(r)||r&&i&&i.dataset&&i.dataset.id&&i.dataset.id===e?i:null}function n(i,r){return!i||i===document?null:s(i,r)?i:n(i.parentNode,r)}return s(t,e)||n(t,e)}function Gt(t,e=50,s=!1){let n;return function(...i){const r=self,l=()=>{n=null,s||t.apply(r,i)},o=s&&!n;clearTimeout(n),n=setTimeout(l,e),o&&t.apply(r,i)}}function zs(t,e){return JSON.stringify(t)===JSON.stringify(e)}function Rc(t){const e=t.replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g,s=>"-"+s.toLowerCase());return t[0]===t[0].toUpperCase()?e.substring(1):e}class Ie{constructor(e){if(this.id=!e.id||e.id===""?Pn():e.id,this.label=e.label||"",this.selectAll=e.selectAll===void 0?!1:e.selectAll,this.selectAllText=e.selectAllText||"Select All",this.closable=e.closable||"off",this.options=[],e.options)for(const s of e.options)this.options.push(new ue(s))}}class ue{constructor(e){this.id=!e.id||e.id===""?Pn():e.id,this.value=e.value===void 0?e.text:e.value,this.text=e.text||"",this.html=e.html||"",this.selected=e.selected!==void 0?e.selected:!1,this.display=e.display!==void 0?e.display:!0,this.disabled=e.disabled!==void 0?e.disabled:!1,this.mandatory=e.mandatory!==void 0?e.mandatory:!1,this.placeholder=e.placeholder!==void 0?e.placeholder:!1,this.class=e.class||"",this.style=e.style||"",this.data=e.data||{}}}class Dc{constructor(e,s){this.selectType="single",this.data=[],this.selectedOrder=[],this.selectType=e,this.setData(s)}validateDataArray(e){if(!Array.isArray(e))return new Error("Data must be an array");for(let s of e)if(s instanceof Ie||"label"in s){if(!("label"in s))return new Error("Optgroup must have a label");if("options"in s&&s.options)for(let n of s.options){const i=this.validateOption(n);if(i)return i}}else if(s instanceof ue||"text"in s){const n=this.validateOption(s);if(n)return n}else return new Error("Data object must be a valid optgroup or option");return null}validateOption(e){return"text"in e?null:new Error("Option must have a text")}partialToFullData(e){let s=[];return e.forEach(n=>{if(n instanceof Ie||"label"in n){let i=[];"options"in n&&n.options&&n.options.forEach(r=>{i.push(new ue(r))}),i.length>0&&s.push(new Ie(n))}(n instanceof ue||"text"in n)&&s.push(new ue(n))}),s}setData(e){this.data=this.partialToFullData(e),this.selectType==="single"&&this.setSelectedBy("id",this.getSelected())}getData(){return this.filter(null,!0)}getDataOptions(){return this.filter(null,!1)}addOption(e,s=!1){if(s){let n=[new ue(e)];this.setData(n.concat(this.getData()))}else this.setData(this.getData().concat(new ue(e)))}setSelectedBy(e,s){let n=null,i=!1;const r=[];for(let o of this.data){if(o instanceof Ie)for(let a of o.options)n||(n=a),a.selected=i?!1:s.includes(a[e]),a.selected&&(r.push(a),this.selectType==="single"&&(i=!0));o instanceof ue&&(n||(n=o),o.selected=i?!1:s.includes(o[e]),o.selected&&(r.push(o),this.selectType==="single"&&(i=!0)))}this.selectType==="single"&&n&&!i&&(n.selected=!0,r.push(n));const l=s.map(o=>{var a;return((a=r.find(u=>u[e]===o))==null?void 0:a.id)||""});this.selectedOrder=l}getSelected(){return this.getSelectedOptions().map(e=>e.id)}getSelectedValues(){return this.getSelectedOptions().map(e=>e.value)}getSelectedOptions(){return this.filter(e=>e.selected,!1)}getOptgroupByID(e){for(let s of this.data)if(s instanceof Ie&&s.id===e)return s;return null}getOptionByID(e){let s=this.filter(n=>n.id===e,!1);return s.length?s[0]:null}getSelectType(){return this.selectType}getFirstOption(){let e=null;for(let s of this.data)if(s instanceof Ie?e=s.options[0]:s instanceof ue&&(e=s),e)break;return e}search(e,s){return e=e.trim(),e===""?this.getData():this.filter(n=>s(n,e),!0)}filter(e,s){const n=[];return this.data.forEach(i=>{if(i instanceof Ie){let r=[];if(i.options.forEach(l=>{(!e||e(l))&&(s?r.push(new ue(l)):n.push(new ue(l)))}),r.length>0){let l=new Ie(i);l.options=r,n.push(l)}}i instanceof ue&&(!e||e(i))&&n.push(new ue(i))}),n}selectedOrderOptions(e){const s=[];return this.selectedOrder.forEach(n=>{const i=e.find(r=>r.id===n);i&&s.push(i)}),e.forEach(n=>{let i=!1;s.forEach(r=>{if(n.id===r.id){i=!0;return}}),i||s.push(n)}),s}}class kc{constructor(e,s,n,i){this.store=n,this.settings=e,this.classes=s,this.callbacks=i,this.main=this.mainDiv(),this.content=this.contentDiv(),this.updateClassStyles(),this.updateAriaAttributes(),this.settings.contentLocation&&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(this.settings.openPosition==="up"?this.classes.openAbove:this.classes.openBelow),this.main.main.setAttribute("aria-expanded","true"),this.moveContent();const e=this.store.getSelectedOptions();if(e.length){const s=e[e.length-1].id,n=this.content.list.querySelector('[data-id="'+s+'"]');n&&this.ensureElementInView(this.content.list,n)}}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 e of this.settings.class)e.trim()!==""&&(this.main.main.classList.add(e.trim()),this.content.main.classList.add(e.trim()));(this.settings.contentPosition==="relative"||this.settings.contentPosition==="fixed")&&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 u;const e=document.createElement("div");e.dataset.id=this.settings.id,e.setAttribute("aria-label",this.settings.ariaLabel),e.tabIndex=0,e.onkeydown=c=>{switch(c.key){case"ArrowUp":case"ArrowDown":return this.callbacks.open(),c.key==="ArrowDown"?this.highlight("down"):this.highlight("up"),!1;case"Tab":return this.callbacks.close(),!0;case"Enter":case" ":this.callbacks.open();const f=this.content.list.querySelector("."+this.classes.highlighted);return f&&f.click(),!1;case"Escape":return this.callbacks.close(),!1}return c.key.length===1&&this.callbacks.open(),!0},e.onclick=c=>{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 n=document.createElement("div");n.classList.add(this.classes.deselect);const i=(u=this.store)==null?void 0:u.getSelectedOptions();!this.settings.allowDeselect||this.settings.isMultiple&&i&&i.length<=0?n.classList.add(this.classes.hide):n.classList.remove(this.classes.hide),n.onclick=c=>{if(c.stopPropagation(),this.settings.disabled)return;let f=!0;const p=this.store.getSelectedOptions(),v=[];if(this.callbacks.beforeChange&&(f=this.callbacks.beforeChange(v,p)===!0),f){if(this.settings.isMultiple)this.callbacks.setSelected([],!1),this.updateDeselectAll();else{const T=this.store.getFirstOption(),O=T?T.id:"";this.callbacks.setSelected(O,!1)}this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(this.store.getSelectedOptions())}};const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttribute("viewBox","0 0 100 100");const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",this.classes.deselectPath),r.appendChild(l),n.appendChild(r),e.appendChild(n);const o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.classList.add(this.classes.arrow),o.setAttribute("viewBox","0 0 100 100");const a=document.createElementNS("http://www.w3.org/2000/svg","path");return a.setAttribute("d",this.classes.arrowClose),this.settings.alwaysOpen&&o.classList.add(this.classes.hide),o.appendChild(a),e.appendChild(o),{main:e,values:s,deselect:{main:n,svg:r,path:l},arrow:{main:o,path:a}}}mainFocus(e){e!=="click"&&this.main.main.focus({preventScroll:!0})}placeholder(){const e=this.store.filter(i=>i.placeholder,!1);let s=this.settings.placeholderText;e.length&&(e[0].html!==""?s=e[0].html:e[0].text!==""&&(s=e[0].text));const n=document.createElement("div");return n.classList.add(this.classes.placeholder),n.innerHTML=s,n}renderValues(){if(!this.settings.isMultiple){this.renderSingleValue();return}this.renderMultipleValues(),this.updateDeselectAll()}renderSingleValue(){const e=this.store.filter(n=>n.selected&&!n.placeholder,!1),s=e.length>0?e[0]:null;if(!s)this.main.values.innerHTML=this.placeholder().outerHTML;else{const n=document.createElement("div");n.classList.add(this.classes.single),s.html?n.innerHTML=s.html:n.innerText=s.text,this.main.values.innerHTML=n.outerHTML}!this.settings.allowDeselect||!e.length?this.main.deselect.main.classList.add(this.classes.hide):this.main.deselect.main.classList.remove(this.classes.hide)}renderMultipleValues(){let e=this.main.values.childNodes,s=this.store.filter(i=>i.selected&&i.display,!1);if(s.length===0){this.main.values.innerHTML=this.placeholder().outerHTML;return}else{const i=this.main.values.querySelector("."+this.classes.placeholder);i&&i.remove()}if(s.length>this.settings.maxValuesShown){const i=document.createElement("div");i.classList.add(this.classes.max),i.textContent=this.settings.maxValuesMessage.replace("{number}",s.length.toString()),this.main.values.innerHTML=i.outerHTML;return}else{const i=this.main.values.querySelector("."+this.classes.max);i&&i.remove()}this.settings.keepOrder&&(s=this.store.selectedOrderOptions(s));let n=[];for(let i=0;ia.id===l,!1).length||n.push(r))}for(const i of n)i.classList.add(this.classes.valueOut),setTimeout(()=>{this.main.values.hasChildNodes()&&this.main.values.contains(i)&&this.main.values.removeChild(i)},100);e=this.main.values.childNodes;for(let i=0;i{if(o.preventDefault(),o.stopPropagation(),this.settings.disabled)return;let a=!0;const u=this.store.getSelectedOptions(),c=u.filter(f=>f.selected&&f.id!==e.id,!0);if(!(this.settings.minSelected&&c.length{this.callbacks.search(r.target.value)},100),s.onkeydown=r=>{switch(r.key){case"ArrowUp":case"ArrowDown":return r.key==="ArrowDown"?this.highlight("down"):this.highlight("up"),!1;case"Tab":return this.callbacks.close(),!0;case"Escape":return this.callbacks.close(),!1;case" ":const l=this.content.list.querySelector("."+this.classes.highlighted);return l?(l.click(),!1):!0;case"Enter":if(this.callbacks.addable)return n.click(),!1;{const o=this.content.list.querySelector("."+this.classes.highlighted);if(o)return o.click(),!1}return!0}return!0},e.appendChild(s),this.callbacks.addable){n.classList.add(this.classes.addable);const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttribute("viewBox","0 0 100 100");const l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",this.classes.addablePath),r.appendChild(l),n.appendChild(r),n.onclick=o=>{if(o.preventDefault(),o.stopPropagation(),!this.callbacks.addable)return;const a=this.content.search.input.value.trim();if(a===""){this.content.search.input.focus();return}const u=f=>{let p=new ue(f);if(this.callbacks.addOption(p),this.settings.isMultiple){let v=this.store.getSelected();v.push(p.id),this.callbacks.setSelected(v,!0)}else this.callbacks.setSelected([p.id],!0);this.callbacks.search(""),this.settings.closeOnSelect&&setTimeout(()=>{this.callbacks.close()},100)},c=this.callbacks.addable(a);c===!1||c===void 0||c===null||(c instanceof Promise?c.then(f=>{typeof f=="string"?u({text:f,value:f}):c instanceof Error?this.renderError(c.message):u(f)}):typeof c=="string"?u({text:c,value:c}):c instanceof Error?this.renderError(c.message):u(c))},e.appendChild(n),i.addable={main:n,svg:r,path:l}}return i}searchFocus(){this.content.search.input.focus()}getOptions(e=!1,s=!1,n=!1){let i="."+this.classes.option;return e&&(i+=":not(."+this.classes.placeholder+")"),s&&(i+=":not(."+this.classes.disabled+")"),n&&(i+=":not(."+this.classes.hide+")"),Array.from(this.content.list.querySelectorAll(i))}highlight(e){const s=this.getOptions(!0,!0,!0);if(s.length===0)return;if(s.length===1&&!s[0].classList.contains(this.classes.highlighted)){s[0].classList.add(this.classes.highlighted);return}let n=!1;for(const i of s)i.classList.contains(this.classes.highlighted)&&(n=!0);if(!n){for(const i of s)if(i.classList.contains(this.classes.selected)){i.classList.add(this.classes.highlighted);break}}for(let i=0;i=0?i-1:s.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 u=a.querySelector("."+this.classes.optgroupLabel);u&&u.click()}return}s[e==="down"?0:s.length-1].classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,s[e==="down"?0:s.length-1])}listDiv(){const e=document.createElement("div");return e.classList.add(this.classes.list),e}renderError(e){this.content.list.innerHTML="";const s=document.createElement("div");s.classList.add(this.classes.error),s.textContent=e,this.content.list.appendChild(s)}renderSearching(){this.content.list.innerHTML="";const e=document.createElement("div");e.classList.add(this.classes.searching),e.textContent=this.settings.searchingText,this.content.list.appendChild(e)}renderOptions(e){if(this.content.list.innerHTML="",e.length===0){const n=document.createElement("div");n.classList.add(this.classes.search),this.callbacks.addable?n.innerHTML=this.settings.addableText.replace("{value}",this.content.search.input.value):n.innerHTML=this.settings.searchText,this.content.list.appendChild(n);return}this.settings.allowDeselect&&!this.settings.isMultiple&&(this.store.filter(i=>i.placeholder,!1).length||this.store.addOption(new ue({text:"",value:"",selected:!1,placeholder:!0}),!0));const s=document.createDocumentFragment();for(const n of e){if(n instanceof Ie){const i=document.createElement("div");i.classList.add(this.classes.optgroup);const r=document.createElement("div");r.classList.add(this.classes.optgroupLabel),i.appendChild(r);const l=document.createElement("div");l.classList.add(this.classes.optgroupLabelText),l.textContent=n.label,r.appendChild(l);const o=document.createElement("div");if(o.classList.add(this.classes.optgroupActions),r.appendChild(o),this.settings.isMultiple&&n.selectAll){const a=document.createElement("div");a.classList.add(this.classes.optgroupSelectAll);let u=!0;for(const T of n.options)if(!T.selected){u=!1;break}u&&a.classList.add(this.classes.selected);const c=document.createElement("span");c.textContent=n.selectAllText,a.appendChild(c);const f=document.createElementNS("http://www.w3.org/2000/svg","svg");f.setAttribute("viewBox","0 0 100 100"),a.appendChild(f);const p=document.createElementNS("http://www.w3.org/2000/svg","path");p.setAttribute("d",this.classes.optgroupSelectAllBox),f.appendChild(p);const v=document.createElementNS("http://www.w3.org/2000/svg","path");v.setAttribute("d",this.classes.optgroupSelectAllCheck),f.appendChild(v),a.addEventListener("click",T=>{T.preventDefault(),T.stopPropagation();const O=this.store.getSelected();if(u){const D=O.filter(L=>{for(const g of n.options)if(L===g.id)return!1;return!0});this.callbacks.setSelected(D,!0);return}else{const D=O.concat(n.options.map(L=>L.id));for(const L of n.options)this.store.getOptionByID(L.id)||this.callbacks.addOption(L);this.callbacks.setSelected(D,!0);return}}),o.appendChild(a)}if(n.closable!=="off"){const a=document.createElement("div");a.classList.add(this.classes.optgroupClosable);const u=document.createElementNS("http://www.w3.org/2000/svg","svg");u.setAttribute("viewBox","0 0 100 100"),u.classList.add(this.classes.arrow),a.appendChild(u);const c=document.createElementNS("http://www.w3.org/2000/svg","path");u.appendChild(c),n.options.some(f=>f.selected)||this.content.search.input.value.trim()!==""?(a.classList.add(this.classes.open),c.setAttribute("d",this.classes.arrowOpen)):n.closable==="open"?(i.classList.add(this.classes.open),c.setAttribute("d",this.classes.arrowOpen)):n.closable==="close"&&(i.classList.add(this.classes.close),c.setAttribute("d",this.classes.arrowClose)),r.addEventListener("click",f=>{f.preventDefault(),f.stopPropagation(),i.classList.contains(this.classes.close)?(i.classList.remove(this.classes.close),i.classList.add(this.classes.open),c.setAttribute("d",this.classes.arrowOpen)):(i.classList.remove(this.classes.open),i.classList.add(this.classes.close),c.setAttribute("d",this.classes.arrowClose))}),o.appendChild(a)}i.appendChild(r);for(const a of n.options)i.appendChild(this.option(a)),s.appendChild(i)}n instanceof ue&&s.appendChild(this.option(n))}this.content.list.appendChild(s)}option(e){if(e.placeholder){const n=document.createElement("div");return n.classList.add(this.classes.option),n.classList.add(this.classes.hide),n}const s=document.createElement("div");return s.dataset.id=e.id,s.classList.add(this.classes.option),s.setAttribute("role","option"),e.class&&e.class.split(" ").forEach(n=>{s.classList.add(n)}),e.style&&(s.style.cssText=e.style),this.settings.searchHighlight&&this.content.search.input.value.trim()!==""?s.innerHTML=this.highlightText(e.html!==""?e.html:e.text,this.content.search.input.value,this.classes.searchHighlighter):e.html!==""?s.innerHTML=e.html:s.textContent=e.text,this.settings.showOptionTooltips&&s.textContent&&s.setAttribute("title",s.textContent),e.display||s.classList.add(this.classes.hide),e.disabled&&s.classList.add(this.classes.disabled),e.selected&&this.settings.hideSelected&&s.classList.add(this.classes.hide),e.selected?(s.classList.add(this.classes.selected),s.setAttribute("aria-selected","true"),this.main.main.setAttribute("aria-activedescendant",s.id)):(s.classList.remove(this.classes.selected),s.setAttribute("aria-selected","false")),s.addEventListener("click",n=>{n.preventDefault(),n.stopPropagation();const i=this.store.getSelected(),r=n.currentTarget,l=String(r.dataset.id);if(e.disabled||e.selected&&!this.settings.allowDeselect||this.settings.isMultiple&&this.settings.maxSelected<=i.length&&!e.selected||this.settings.isMultiple&&this.settings.minSelected>=i.length&&e.selected)return;let o=!1;const a=this.store.getSelectedOptions();let u=[];this.settings.isMultiple&&(e.selected?u=a.filter(c=>c.id!==l):u=a.concat(e)),this.settings.isMultiple||(e.selected?u=[]:u=[e]),this.callbacks.beforeChange||(o=!0),this.callbacks.beforeChange&&(this.callbacks.beforeChange(u,a)===!1?o=!1:o=!0),o&&(this.store.getOptionByID(l)||this.callbacks.addOption(e),this.callbacks.setSelected(u.map(c=>c.id),!1),this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(u))}),s}destroy(){this.main.main.remove(),this.content.main.remove()}highlightText(e,s,n){let i=e;const r=new RegExp("(?![^<]*>)("+s.trim()+")(?![^<]*>[^<>]*${a}`),i}moveContentAbove(){const e=this.main.main.offsetHeight,s=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 n=this.main.main.getBoundingClientRect();this.content.main.style.margin="-"+(e+s-1)+"px 0px 0px 0px",this.content.main.style.top=n.top+n.height+(this.settings.contentPosition==="fixed"?0:window.scrollY)+"px",this.content.main.style.left=n.left+(this.settings.contentPosition==="fixed"?0:window.scrollX)+"px",this.content.main.style.width=n.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 e=this.main.main.getBoundingClientRect();this.content.main.style.margin="-1px 0px 0px 0px",this.settings.contentPosition!=="relative"&&(this.content.main.style.top=e.top+e.height+(this.settings.contentPosition==="fixed"?0:window.scrollY)+"px",this.content.main.style.left=e.left+(this.settings.contentPosition==="fixed"?0:window.scrollX)+"px",this.content.main.style.width=e.width+"px")}ensureElementInView(e,s){const n=e.scrollTop+e.offsetTop,i=n+e.clientHeight,r=s.offsetTop,l=r+s.clientHeight;ri&&(e.scrollTop+=l-i)}putContent(){const e=this.main.main.offsetHeight,s=this.main.main.getBoundingClientRect(),n=this.content.main.offsetHeight;return window.innerHeight-(s.top+e)<=n&&s.top>n?"up":"down"}updateDeselectAll(){if(!this.store||!this.settings)return;const e=this.store.getSelectedOptions(),s=e&&e.length>0,n=this.settings.isMultiple,i=this.settings.allowDeselect,r=this.main.deselect.main,l=this.classes.hide;i&&!(n&&!s)?r.classList.remove(l):r.classList.add(l)}}class Fc{constructor(e){this.listen=!1,this.observer=null,this.select=e,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(e){this.listen=e,e&&this.observer&&this.observer.observe(this.select,{subtree:!0,childList:!0,attributes:!0}),e||this.observer&&this.observer.disconnect()}valueChange(e){return this.listen&&this.onValueChange&&this.onValueChange(this.getSelectedOptions()),!0}observeCall(e){if(!this.listen)return;let s=!1,n=!1,i=!1;for(const r of e){if(r.target===this.select&&(r.attributeName==="disabled"&&(n=!0),r.attributeName==="class"&&(s=!0),r.type==="childList")){for(const l of r.addedNodes)if(l.nodeName==="OPTION"&&l.value===this.select.value){this.select.dispatchEvent(new Event("change"));break}i=!0}(r.target.nodeName==="OPTGROUP"||r.target.nodeName==="OPTION")&&(i=!0)}s&&this.onClassChange&&this.onClassChange(this.select.className.split(" ")),n&&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 e=[];const s=this.select.childNodes;for(const n of s)n.nodeName==="OPTGROUP"&&e.push(this.getDataFromOptgroup(n)),n.nodeName==="OPTION"&&e.push(this.getDataFromOption(n));return e}getDataFromOptgroup(e){let s={id:e.id,label:e.label,selectAll:e.dataset?e.dataset.selectall==="true":!1,selectAllText:e.dataset?e.dataset.selectalltext:"Select all",closable:e.dataset?e.dataset.closable:"off",options:[]};const n=e.childNodes;for(const i of n)i.nodeName==="OPTION"&&s.options.push(this.getDataFromOption(i));return s}getDataFromOption(e){return{id:e.id,value:e.value,text:e.text,html:e.dataset&&e.dataset.html?e.dataset.html:"",selected:e.selected,display:e.style.display!=="none",disabled:e.disabled,mandatory:e.dataset?e.dataset.mandatory==="true":!1,placeholder:e.dataset.placeholder==="true",class:e.className,style:e.style.cssText,data:e.dataset}}getSelectedOptions(){let e=[];const s=this.select.childNodes;for(const n of s){if(n.nodeName==="OPTGROUP"){const i=n.childNodes;for(const r of i)if(r.nodeName==="OPTION"){const l=r;l.selected&&e.push(this.getDataFromOption(l))}}if(n.nodeName==="OPTION"){const i=n;i.selected&&e.push(this.getDataFromOption(i))}}return e}getSelectedValues(){return this.getSelectedOptions().map(e=>e.value)}setSelected(e){this.changeListen(!1);const s=this.select.childNodes;for(const n of s){if(n.nodeName==="OPTGROUP"){const r=n.childNodes;for(const l of r)if(l.nodeName==="OPTION"){const o=l;o.selected=e.includes(o.id)}}if(n.nodeName==="OPTION"){const i=n;i.selected=e.includes(i.id)}}this.changeListen(!0)}setSelectedByValue(e){this.changeListen(!1);const s=this.select.childNodes;for(const n of s){if(n.nodeName==="OPTGROUP"){const r=n.childNodes;for(const l of r)if(l.nodeName==="OPTION"){const o=l;o.selected=e.includes(o.value)}}if(n.nodeName==="OPTION"){const i=n;i.selected=e.includes(i.value)}}this.changeListen(!0)}updateSelect(e,s,n){this.changeListen(!1),e&&(this.select.dataset.id=e),s&&(this.select.style.cssText=s),n&&(this.select.className="",n.forEach(i=>{i.trim()!==""&&this.select.classList.add(i.trim())})),this.changeListen(!0)}updateOptions(e){this.changeListen(!1),this.select.innerHTML="";for(const s of e)s instanceof Ie&&this.select.appendChild(this.createOptgroup(s)),s instanceof ue&&this.select.appendChild(this.createOption(s));this.select.dispatchEvent(new Event("change",{bubbles:!0})),this.changeListen(!0)}createOptgroup(e){const s=document.createElement("optgroup");if(s.id=e.id,s.label=e.label,e.selectAll&&(s.dataset.selectAll="true"),e.closable!=="off"&&(s.dataset.closable=e.closable),e.options)for(const n of e.options)s.appendChild(this.createOption(n));return s}createOption(e){const s=document.createElement("option");return s.id=e.id,s.value=e.value,s.textContent=e.text,e.html!==""&&s.setAttribute("data-html",e.html),e.selected&&(s.selected=e.selected),e.disabled&&(s.disabled=!0),e.display||(s.style.display="none"),e.placeholder&&s.setAttribute("data-placeholder","true"),e.mandatory&&s.setAttribute("data-mandatory","true"),e.class&&e.class.split(" ").forEach(n=>{s.classList.add(n)}),e.data&&typeof e.data=="object"&&Object.keys(e.data).forEach(n=>{s.setAttribute("data-"+Rc(n),e.data[n])}),s}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 Ic{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-"+Pn(),this.style=e.style||"",this.class=e.class||[],this.disabled=e.disabled!==void 0?e.disabled:!1,this.alwaysOpen=e.alwaysOpen!==void 0?e.alwaysOpen:!1,this.showSearch=e.showSearch!==void 0?e.showSearch:!0,this.focusSearch=e.focusSearch!==void 0?e.focusSearch:!0,this.ariaLabel=e.ariaLabel||"Combobox",this.searchPlaceholder=e.searchPlaceholder||"Search",this.searchText=e.searchText||"No Results",this.searchingText=e.searchingText||"Searching...",this.searchHighlight=e.searchHighlight!==void 0?e.searchHighlight:!1,this.closeOnSelect=e.closeOnSelect!==void 0?e.closeOnSelect:!0,this.contentLocation=e.contentLocation||document.body,this.contentPosition=e.contentPosition||"absolute",this.openPosition=e.openPosition||"auto",this.placeholderText=e.placeholderText!==void 0?e.placeholderText:"Select Value",this.allowDeselect=e.allowDeselect!==void 0?e.allowDeselect:!1,this.hideSelected=e.hideSelected!==void 0?e.hideSelected:!1,this.keepOrder=e.keepOrder!==void 0?e.keepOrder:!1,this.showOptionTooltips=e.showOptionTooltips!==void 0?e.showOptionTooltips:!1,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",this.addableText=e.addableText||'Press "Enter" to add {value}'}}class Mc{constructor(e){var l;if(this.events={search:void 0,searchFilter:(o,a)=>o.text.toLowerCase().indexOf(a.toLowerCase())!==-1,addable:void 0,beforeChange:void 0,afterChange:void 0,beforeOpen:void 0,afterOpen:void 0,beforeClose:void 0,afterClose:void 0},this.windowResize=Gt(()=>{!this.settings.isOpen&&!this.settings.isFullOpen||this.render.moveContent()}),this.windowScroll=Gt(()=>{!this.settings.isOpen&&!this.settings.isFullOpen||this.render.moveContent()}),this.documentClick=o=>{this.settings.isOpen&&o.target&&!Pc(o.target,this.settings.id)&&this.close(o.type)},this.windowVisibilityChange=()=>{document.hidden&&this.close()},this.selectEl=typeof e.select=="string"?document.querySelector(e.select):e.select,!this.selectEl){e.events&&e.events.error&&e.events.error(new Error("Could not find select element"));return}if(this.selectEl.tagName!=="SELECT"){e.events&&e.events.error&&e.events.error(new Error("Element isnt of type select"));return}this.selectEl.dataset.ssid&&this.destroy(),this.settings=new Ic(e.settings),this.cssClasses=new Lc(e.cssClasses);const s=["afterChange","beforeOpen","afterOpen","beforeClose","afterClose"];for(const o in e.events)e.events.hasOwnProperty(o)&&(s.indexOf(o)!==-1?this.events[o]=Gt(e.events[o],100):this.events[o]=e.events[o]);this.settings.disabled=(l=e.settings)!=null&&l.disabled?e.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 Fc(this.selectEl),this.select.updateSelect(this.settings.id,this.settings.style,this.settings.class),this.select.hideUI(),this.select.onValueChange=o=>{this.setSelected(o.map(a=>a.id))},this.select.onClassChange=o=>{this.settings.class=o,this.render.updateClassStyles()},this.select.onDisabledChange=o=>{o?this.disable():this.enable()},this.select.onOptionsChange=o=>{this.setData(o)},this.store=new Dc(this.settings.isMultiple?"multiple":"single",e.data?e.data:this.select.getData()),e.data&&this.select.updateOptions(this.store.getData());const n={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 kc(this.settings,this.cssClasses,this.store,n),this.render.renderValues(),this.render.renderOptions(this.store.getData());const i=this.selectEl.getAttribute("aria-label"),r=this.selectEl.getAttribute("aria-labelledby");i?this.render.main.main.setAttribute("aria-label",i):r&&this.render.main.main.setAttribute("aria-labelledby",r),this.selectEl.parentNode&&this.selectEl.parentNode.insertBefore(this.render.main.main,this.selectEl.nextSibling),window.addEventListener("resize",this.windowResize,!1),this.settings.openPosition==="auto"&&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(e){const s=this.store.getSelected(),n=this.store.validateDataArray(e);if(n){this.events.error&&this.events.error(n);return}this.store.setData(e);const i=this.store.getData();this.select.updateOptions(i),this.render.renderValues(),this.render.renderOptions(i),this.events.afterChange&&!zs(s,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}getSelected(){let e=this.store.getSelectedOptions();return this.settings.keepOrder&&(e=this.store.selectedOrderOptions(e)),e.map(s=>s.value)}setSelected(e,s=!0){const n=this.store.getSelected(),i=this.store.getDataOptions();e=Array.isArray(e)?e:[e];const r=[];for(const o of e){if(i.find(a=>a.id==o)){r.push(o);continue}for(const a of i.filter(u=>u.value==o))r.push(a.id)}this.store.setSelectedBy("id",r);const l=this.store.getData();this.select.updateOptions(l),this.render.renderValues(),this.render.content.search.input.value!==""?this.search(this.render.content.search.input.value):this.render.renderOptions(l),s&&this.events.afterChange&&!zs(n,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}addOption(e){const s=this.store.getSelected();this.store.getDataOptions().some(i=>i.value===(e.value??e.text))||this.store.addOption(e);const n=this.store.getData();this.select.updateOptions(n),this.render.renderValues(),this.render.renderOptions(n),this.events.afterChange&&!zs(s,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.settings.focusSearch&&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),this.settings.contentPosition==="absolute"&&(this.settings.intervalMove&&clearInterval(this.settings.intervalMove),this.settings.intervalMove=setInterval(this.render.moveContent.bind(this.render),500)))}close(e=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(e),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(e){if(this.render.content.search.input.value!==e&&(this.render.content.search.input.value=e),!this.events.search){this.render.renderOptions(e===""?this.store.getData():this.store.search(e,this.events.searchFilter));return}this.render.renderSearching();const s=this.events.search(e,this.store.getSelectedOptions());if(s instanceof Promise){s.then(n=>{this.render.renderOptions(this.store.partialToFullData(n))}).catch(n=>{this.render.renderError(typeof n=="string"?n:n.message)});return}else Array.isArray(s)?this.render.renderOptions(this.store.partialToFullData(s)):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),this.settings.openPosition==="auto"&&window.removeEventListener("scroll",this.windowScroll,!1),document.removeEventListener("visibilitychange",this.windowVisibilityChange),this.store.setData([]),this.render.destroy(),this.select.destroy()}}const Nc="CWYDT23U",Bc="slimselectjscom",Hc=Os({__name:"carbonad",setup(t){const e=tr(null);let s=!1;return dr(()=>{const n=window.location.hostname==="localhost";if(!s&&!n){s=!0;const i=document.createElement("script");i.id="_carbonads_js",i.src=`//cdn.carbonads.com/carbon.js?serve=${Nc}&placement=${Bc}`,i.async=!0,e.value&&e.value.appendChild(i)}}),(n,i)=>yt(s)?(Qt(),Ir("div",{key:0,class:"carbon-container",ref_key:"container",ref:e},null,512)):Vo("",!0)}}),Vc=Os({name:"App",components:{CarbonAd:Hc},data(){return{nav:null,navDebounce:Gt(()=>{this.setDemensions()},100),year:new Date().getFullYear(),width:0,height:0,navData:[{text:"Home",value:"/",class:"label"},{label:"Install",closable:"close",options:[{text:"npm",value:"install#npm"},{text:"cdn",value:"install#cdn"},{text:"download",value:"install#download"}]},{label:"Selects",closable:"close",options:[{text:"single",value:"selects#single"},{text:"multiple",value:"selects#multiple"}]},{label:"Data",closable:"close",options:[{text:"types",value:"data#types"},{text:"field",value:"data#field"}]},{label:"Examples",closable:"close",options:[{text:"countries",value:"examples#countries"}]},{label:"Settings",closable:"close",options:[{text:"select",value:"settings#select"},{text:"cssClasses",value:"settings#cssClasses"},{text:"alwaysOpen",value:"settings#alwaysOpen"},{text:"contentLocation",value:"settings#contentLocation"},{text:"contentPosition",value:"settings#contentPosition"},{text:"openPosition",value:"settings#openPosition"},{text:"placeholder",value:"settings#placeholder"},{text:"selectAll",value:"settings#selectAll"},{text:"allowDeselect",value:"settings#allowDeselect"},{text:"display",value:"settings#display"},{text:"disabled",value:"settings#disabled"},{text:"mandatory",value:"settings#mandatory"},{text:"minmax",value:"settings#minmax"},{text:"dataAttributes",value:"settings#dataAttributes"},{text:"cssClass",value:"settings#cssClass"},{text:"inlineStyles",value:"settings#inlineStyles"},{text:"html",value:"settings#html"},{text:"keepOrder",value:"settings#keepOrder"},{text:"search",value:"settings#search"},{text:"closeOnSelect",value:"settings#closeOnSelect"},{text:"showOptionTooltips",value:"settings#showOptionTooltips"},{text:"closable",value:"settings#closable"},{text:"hideSelected",value:"settings#hideSelected"},{text:"maxValuesShown",value:"settings#maxValuesShown"}]},{label:"Events",closable:"close",options:[{text:"error",value:"events#error"},{text:"beforeChange",value:"events#beforeChange"},{text:"afterChange",value:"events#afterChange"},{text:"open",value:"events#open"},{text:"search",value:"events#search"},{text:"searchFilter",value:"events#searchFilter"},{text:"addable",value:"events#addable"}]},{label:"Methods",closable:"close",options:[{text:"getSelected",value:"methods#getSelected"},{text:"setSelected",value:"methods#setSelected"},{text:"getData",value:"methods#getData"},{text:"setData",value:"methods#setData"},{text:"enableDisable",value:"methods#enableDisable"},{text:"openClose",value:"methods#openClose"},{text:"search",value:"methods#search"},{text:"destroy",value:"methods#destroy"}]},{label:"Frameworks",closable:"close",options:[{text:"vue",value:"vue"}]}]}},mounted(){this.runNav(),this.$router.isReady().then(()=>{this.nav&&this.nav.setSelected(this.$router.currentRoute.value.fullPath.replace("/",""))}),this.$router.afterEach(()=>{if(this.$route.query.p){setTimeout(()=>{this.$route.query.p&&this.$router.push({path:this.$route.query.p.toString(),hash:this.$route.hash})},200);return}setTimeout(()=>{const t=this.$route.hash;if(t===""&&window.scroll({top:0,behavior:"smooth"}),t){const e=document.querySelector(t);if(e){const s=document.querySelector("header"),n=document.querySelector("nav"),i=s?s.clientHeight+(window.innerWidth<700?n.clientHeight:0)+8:0;window.scroll({top:e.offsetTop-i,behavior:"smooth"})}}},200)}),this.setDemensions(),window.addEventListener("resize",this.navDebounce),window.addEventListener("nav-updated",this.updateNav)},unmounted(){var t;window.removeEventListener("resize",this.navDebounce),window.removeEventListener("nav-updated",this.updateNav),(t=this.nav)==null||t.destroy()},watch:{width(){this.runNav()}},methods:{setDemensions(){this.width=document.documentElement.clientWidth,this.height=document.documentElement.clientHeight},runNav(){this.nav&&(this.nav.destroy(),this.nav=null);let t={searchHighlight:!0,openContent:"below"};this.width>700&&(t.alwaysOpen=!0,t.contentPosition="relative",t.contentLocation=this.$refs.navContent),this.nav=new Mc({select:this.$refs.nav,data:this.navData,settings:t,events:{afterChange:e=>{const n=e[0].value.split("#"),i=n[0],r=n[1]?"#"+n[1]:void 0;this.$router.push({path:i,hash:r})}}})},updateNav(){setTimeout(()=>{this.nav&&this.nav.setSelected(this.$router.currentRoute.value.fullPath.replace("/",""))},0)}}}),Uc="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFNTE3OEEyRTk5QTAxMUUyOUExNUJDMTA0NkE4OTA0RCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFNTE3OEEyRjk5QTAxMUUyOUExNUJDMTA0NkE4OTA0RCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkU1MTc4QTJDOTlBMDExRTI5QTE1QkMxMDQ2QTg5MDREIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU1MTc4QTJEOTlBMDExRTI5QTE1QkMxMDQ2QTg5MDREIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+FYrpWAAABrNJREFUeNrkW2lsVFUUvjMWirYUkS5BXApUa2vd6gL+wAWjoP5RiW2EUBajAiqSuPADQ0w1UUQTrcFAUUSJEKriEuMWFKuJIElFSS24YNpQK6WoBbuAktbva880M8O8vnfevJm+CSf5cme599xzvnfffffce17AJFjycnLzUVwDXAgUAucBY4BMIEOqdQIdwJ/Az4J64OvWtoONibQvkACHgyiuBe4CbgLOjVNlE/AZsAmoBSE9viQAjueieBCYC5yVoAvWDKwHqkBEmy8IgON09lHgXmCESY4cBaqBlSCieUgIgOPDUCwBngBOM0MjXdL/CyDiv6QRAOcvR7EBKDL+kD3AbJBQl1AC4DjrLwaeBYYbf8m/ciu+BCJ6PScAzp+K4nXgTuNveQuYAxK6PSMAzo9C8TFwtUkN2Q7cDBIOx02AOP8FUGpSSzgf3GBHQsDGec7unwOTTWrKDiGhS02ATHjvALeb1JZ3gRlWE+MpVq0yMzIekRk/1YWP6o7Ors5vHI8AXH1Odl8BaTbKrwd4j10MTAduS8JqkKvA94BPgN0A56htNm2OMyDDKNhuSwCcT5dIrMBG6S4oLI1qezqKBcBjwGiPHW8HVgCr0W97VL/fobjMpv2vQAnaHgv/MdYVXurAeSNPhggRw56BQatRVgL3A0H5+xDwI8Dw9g/5Hlq+clmdDYwF8iV0zpb/GP2tApZHOx4m2xwQUCC+VVqOABg+AUUDkO6AgHkwaL2DJXORxPVNylUnw+gpXObaLXFRlxHoaw7U8uoXQ99vViNgqUPnKQfsKojhdW7GuxDW5JUtIuni432hH4JhLJ7Dq6qwcZiPZnpNXDJPfI0kQEJbjVM5PiIgW3nhlkQQILH9LGWnV/iIAK0ts8TngREwDchVKrnKRwRobckVnwcIKFcq4ONrkY8IWBT2SHUq5eEE3Khs/CRm6Z1+8V5sqVQ26/M5gHuhSJ79TqUFmIhOj/ppwQ8/Rshqb5yiWXFQFhsaWeU352UU0KaXlc2mBI1+Y3OzjyO/Gm2kSAIKFQ2awfQ+v3oP23gL/K5oUhh0GPiEZG8KxP97FHULgsqwtTUFCDioqHsGCRipaHA8BQjQrAcyg4roj5KVAgSMUtRNDyqVj0wBAlQ2koBuRf3xKUBAvqJuN1eCrYpAiHNAltNjpyFYDfL47oix38wdmDA5AvYr+kjzWRgcLVcqnKfsJwGNyk5u9TEBtyjrNwaVgRClTPKA/Db8aVOZslkDG2nD2vEuOkqGlLmYpHcGJLlJu8LjtvJFgx06Jvnq8xC33gUBeUE4waWjduua5wdVPrr6VS6cr6PvoXv5Ixed3g3mH/fB1V9OW1w07fM5IEouUEZR4bIWWJzsTRJ55r8I3ONSRRFs3hsIU8hkgkkulf0CPAx8qElQcuk4beYp9Epgoks138LOvqSPgfyAzIwMZlnFSobgIegc4H3gH6AkxmKDub9Mjb0DeoYDrZ1dne0eO14AvfPx8RXgAYaycahbBvt+GLgFpIM0md3PjqrMTMxpYKxB6p1v+s/n7bbSuMCqldmZyc+fRh9ND+IsAxrmG3C3qtj0J1uP84hLrnwnwJbjEQRIxzw0XB2jER93C9Bog9TjsRgzLpzuJr0BzHV6e8gwf9XoziqdCv1YE/oSTQBHwfem/3w+5syPxuukLtfdO0zk+WIs+YuPKLQ7ohzyWTIix3joPPMTLg1d/Yg5gIL7ogf32U/4WGGhYDr+34J6bUALPpPA62w6XYMOP9BaCv3HoD/PeJubODN6U/eEq4cKTIurttpBAZ4L+87TmKdtOt0ah8FbPXS+WnyLEKskqUy5FaweM5dA2e6w+pNkZuajhfMD3/zYBfDKb3Y6+cWwgytOL7bh98nQ73BEgHReIvd4Roy/a6Cs3CRYJOnq7zjV8HWcybC33mpLLKZIA84FPRYhcSokUNL2Civnjd0MjoZbUCy0+PtNkDDD5wQsFB8sxWm2+GJZd8eSt4HnZXnZ66Nb4CHYYxuxat4XmI1inbHeczskq77DMrK4z8AgK3+Q/L5EEMBn/PzQos0zAsQgvg5XY3TpNKOTSAD3NsrQX63TBqq9PVHM9NgvfXi/06ZSjfNqAoQEHj9Pled+pw8cpw2co6aKbSoJxDlJnYniKdP/sqSVrrEw7IBL/TnG+rSXEy7fYVoG/S1uffDkzVEYypB1qewJRCdb5rp9yxN6mQDZFmOS2wisCIXo8Yin7w7LiKiQEcFYfhOMnBmnzo1CLIO09Qyt47niJxDQ29trTmY56Qn4X4ABAFR7IoDmVT5NAAAAAElFTkSuQmCC",jc="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACAAQMAAAD58POIAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZQTFRFyzg3////IltC9QAAAAFiS0dEAf8CLd4AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAkSURBVEjHY2AYBYMV/IeDUQG4AJgeFRgVGBUYFSBNYBQMPgAARjtdvxo6xaMAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTEtMDUtMzBUMjM6MTA6NDQtMDc6MDCm4GvfAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEwLTEyLTA2VDEyOjIwOjEyLTA4OjAwpIGEmQAAADJ0RVh0UE5HOmNIUk0AY2h1bmsgd2FzIGZvdW5kIChzZWUgQ2hyb21hdGljaXR5LCBhYm92ZSkH0UjaAAAAKXRFWHRQTkc6Z0FNQQBnYW1tYT0wLjQ1NDU1IChTZWUgR2FtbWEsIGFib3ZlKRISLKcAAAAUdEVYdFBORzpJSERSLmJpdF9kZXB0aAA4KYV+UAAAABV0RVh0UE5HOklIRFIuY29sb3JfdHlwZQA2BkqnKwAAABt0RVh0UE5HOklIRFIuaW50ZXJsYWNlX21ldGhvZAAw+zsHjAAAABx0RVh0UE5HOklIRFIud2lkdGgsaGVpZ2h0ADE2LCAxNjjVBg0AAAAodEVYdFBORzpwSFlzAHhfcmVzPTI4MzUsIHlfcmVzPTI4MzUsIHVuaXRzPTGCKXI+AAAAKHRFWHRQTkc6c1JHQgBpbnRlbnQ9MCAoU2VlIFJlbmRlcmluZyBpbnRlbnQp8hEU9QAAAABJRU5ErkJggg==",$c=(t,e)=>{const s=t.__vccOpts||t;for(const[n,i]of e)s[n]=i;return s},Wc={ref:"nav"},zc={class:"nav-content",ref:"navContent"};function Gc(t,e,s,n,i,r){const l=Bn("CarbonAd"),o=Bn("router-view");return Qt(),Ir(Re,null,[e[4]||(e[4]=Ho('

Slim Select 2.0

Advanced select dropdown
',1)),Je("nav",null,[Je("select",Wc,null,512),Je("div",zc,null,512),he(l)]),Je("main",null,[he(o),Je("footer",null,[fs(" © "+Ni(t.year)+" ",1),e[0]||(e[0]=Je("a",{href:"http://webiswhatido.com",style:{color:"#ffffff"},target:"_blank"},"Brian Voelker",-1)),e[1]||(e[1]=fs(". ")),e[2]||(e[2]=Je("br",null,null,-1)),e[3]||(e[3]=fs(" Slim Select is under the MIT license. "))])])],64)}const Kc=$c(Vc,[["render",Gc]]);var Oi=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function el(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Gs={exports:{}},Ti;function qc(){return Ti||(Ti=1,function(t){var e=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};/** + */const Et=typeof document<"u";function Ur(t){return typeof t=="object"||"displayName"in t||"props"in t||"__vccOpts"in t}function Ca(t){return t.__esModule||t[Symbol.toStringTag]==="Module"||t.default&&Ur(t.default)}const J=Object.assign;function $s(t,e){const s={};for(const n in e){const i=e[n];s[n]=Be(i)?i.map(t):t(i)}return s}const zt=()=>{},Be=Array.isArray,jr=/#/g,_a=/&/g,Oa=/\//g,Ta=/=/g,La=/\?/g,$r=/\+/g,Pa=/%5B/g,Ra=/%5D/g,Wr=/%5E/g,Da=/%60/g,zr=/%7B/g,ka=/%7C/g,Gr=/%7D/g,Fa=/%20/g;function Pn(t){return encodeURI(""+t).replace(ka,"|").replace(Pa,"[").replace(Ra,"]")}function Ia(t){return Pn(t).replace(zr,"{").replace(Gr,"}").replace(Wr,"^")}function an(t){return Pn(t).replace($r,"%2B").replace(Fa,"+").replace(jr,"%23").replace(_a,"%26").replace(Da,"`").replace(zr,"{").replace(Gr,"}").replace(Wr,"^")}function Ma(t){return an(t).replace(Ta,"%3D")}function Na(t){return Pn(t).replace(jr,"%23").replace(La,"%3F")}function Ba(t){return t==null?"":Na(t).replace(Oa,"%2F")}function ts(t){try{return decodeURIComponent(""+t)}catch{}return""+t}const Ha=/\/$/,Va=t=>t.replace(Ha,"");function Ws(t,e,s="/"){let n,i={},r="",o="";const l=e.indexOf("#");let a=e.indexOf("?");return l=0&&(a=-1),a>-1&&(n=e.slice(0,a),r=e.slice(a+1,l>-1?l:e.length),i=t(r)),l>-1&&(n=n||e.slice(0,l),o=e.slice(l,e.length)),n=Wa(n??e,s),{fullPath:n+(r&&"?")+r+o,path:n,query:i,hash:ts(o)}}function Ua(t,e){const s=e.query?t(e.query):"";return e.path+(s&&"?")+s+(e.hash||"")}function hi(t,e){return!e||!t.toLowerCase().startsWith(e.toLowerCase())?t:t.slice(e.length)||"/"}function ja(t,e,s){const n=e.matched.length-1,i=s.matched.length-1;return n>-1&&n===i&&Dt(e.matched[n],s.matched[i])&&Kr(e.params,s.params)&&t(e.query)===t(s.query)&&e.hash===s.hash}function Dt(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function Kr(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const s in t)if(!$a(t[s],e[s]))return!1;return!0}function $a(t,e){return Be(t)?di(t,e):Be(e)?di(e,t):t===e}function di(t,e){return Be(e)?t.length===e.length&&t.every((s,n)=>s===e[n]):t.length===1&&t[0]===e}function Wa(t,e){if(t.startsWith("/"))return t;if(!t)return e;const s=e.split("/"),n=t.split("/"),i=n[n.length-1];(i===".."||i===".")&&n.push("");let r=s.length-1,o,l;for(o=0;o1&&r--;else break;return s.slice(0,r).join("/")+"/"+n.slice(o).join("/")}const ct={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var ss;(function(t){t.pop="pop",t.push="push"})(ss||(ss={}));var Gt;(function(t){t.back="back",t.forward="forward",t.unknown=""})(Gt||(Gt={}));function za(t){if(!t)if(Et){const e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^\w+:\/\/[^\/]+/,"")}else t="/";return t[0]!=="/"&&t[0]!=="#"&&(t="/"+t),Va(t)}const Ga=/^[^#]+#/;function Ka(t,e){return t.replace(Ga,"#")+e}function qa(t,e){const s=document.documentElement.getBoundingClientRect(),n=t.getBoundingClientRect();return{behavior:e.behavior,left:n.left-s.left-(e.left||0),top:n.top-s.top-(e.top||0)}}const Ds=()=>({left:window.scrollX,top:window.scrollY});function Ya(t){let e;if("el"in t){const s=t.el,n=typeof s=="string"&&s.startsWith("#"),i=typeof s=="string"?n?document.getElementById(s.slice(1)):document.querySelector(s):s;if(!i)return;e=qa(i,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.scrollX,e.top!=null?e.top:window.scrollY)}function pi(t,e){return(history.state?history.state.position-e:-1)+t}const cn=new Map;function Qa(t,e){cn.set(t,e)}function Ja(t){const e=cn.get(t);return cn.delete(t),e}let Za=()=>location.protocol+"//"+location.host;function qr(t,e){const{pathname:s,search:n,hash:i}=e,r=t.indexOf("#");if(r>-1){let l=i.includes(t.slice(r))?t.slice(r).length:1,a=i.slice(l);return a[0]!=="/"&&(a="/"+a),hi(a,"")}return hi(s,t)+n+i}function Xa(t,e,s,n){let i=[],r=[],o=null;const l=({state:p})=>{const v=qr(t,location),T=s.value,O=e.value;let D=0;if(p){if(s.value=v,e.value=p,o&&o===T){o=null;return}D=O?p.position-O.position:0}else n(v);i.forEach(L=>{L(s.value,T,{delta:D,type:ss.pop,direction:D?D>0?Gt.forward:Gt.back:Gt.unknown})})};function a(){o=s.value}function u(p){i.push(p);const v=()=>{const T=i.indexOf(p);T>-1&&i.splice(T,1)};return r.push(v),v}function c(){const{history:p}=window;p.state&&p.replaceState(J({},p.state,{scroll:Ds()}),"")}function f(){for(const p of r)p();r=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",c)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",c,{passive:!0}),{pauseListeners:a,listen:u,destroy:f}}function gi(t,e,s,n=!1,i=!1){return{back:t,current:e,forward:s,replaced:n,position:window.history.length,scroll:i?Ds():null}}function ec(t){const{history:e,location:s}=window,n={value:qr(t,s)},i={value:e.state};i.value||r(n.value,{back:null,current:n.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function r(a,u,c){const f=t.indexOf("#"),p=f>-1?(s.host&&document.querySelector("base")?t:t.slice(f))+a:Za()+t+a;try{e[c?"replaceState":"pushState"](u,"",p),i.value=u}catch(v){console.error(v),s[c?"replace":"assign"](p)}}function o(a,u){const c=J({},e.state,gi(i.value.back,a,i.value.forward,!0),u,{position:i.value.position});r(a,c,!0),n.value=a}function l(a,u){const c=J({},i.value,e.state,{forward:a,scroll:Ds()});r(c.current,c,!0);const f=J({},gi(n.value,a,null),{position:c.position+1},u);r(a,f,!1),n.value=a}return{location:n,state:i,push:l,replace:o}}function tc(t){t=za(t);const e=ec(t),s=Xa(t,e.state,e.location,e.replace);function n(r,o=!0){o||s.pauseListeners(),history.go(r)}const i=J({location:"",base:t,go:n,createHref:Ka.bind(null,t)},e,s);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>e.state.value}),i}function sc(t){return typeof t=="string"||t&&typeof t=="object"}function Yr(t){return typeof t=="string"||typeof t=="symbol"}const Qr=Symbol("");var mi;(function(t){t[t.aborted=4]="aborted",t[t.cancelled=8]="cancelled",t[t.duplicated=16]="duplicated"})(mi||(mi={}));function kt(t,e){return J(new Error,{type:t,[Qr]:!0},e)}function Qe(t,e){return t instanceof Error&&Qr in t&&(e==null||!!(t.type&e))}const vi="[^/]+?",nc={sensitive:!1,strict:!1,start:!0,end:!0},ic=/[.+*?^${}()[\]/\\]/g;function rc(t,e){const s=J({},nc,e),n=[];let i=s.start?"^":"";const r=[];for(const u of t){const c=u.length?[]:[90];s.strict&&!u.length&&(i+="/");for(let f=0;fe.length?e.length===1&&e[0]===80?1:-1:0}function Jr(t,e){let s=0;const n=t.score,i=e.score;for(;s0&&e[e.length-1]<0}const oc={type:0,value:""},ac=/[a-zA-Z0-9_]/;function cc(t){if(!t)return[[]];if(t==="/")return[[oc]];if(!t.startsWith("/"))throw new Error(`Invalid path "${t}"`);function e(v){throw new Error(`ERR (${s})/"${u}": ${v}`)}let s=0,n=s;const i=[];let r;function o(){r&&i.push(r),r=[]}let l=0,a,u="",c="";function f(){u&&(s===0?r.push({type:0,value:u}):s===1||s===2||s===3?(r.length>1&&(a==="*"||a==="+")&&e(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),r.push({type:1,value:u,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):e("Invalid state to consume buffer"),u="")}function p(){u+=a}for(;l{o(b)}:zt}function o(f){if(Yr(f)){const p=n.get(f);p&&(n.delete(f),s.splice(s.indexOf(p),1),p.children.forEach(o),p.alias.forEach(o))}else{const p=s.indexOf(f);p>-1&&(s.splice(p,1),f.record.name&&n.delete(f.record.name),f.children.forEach(o),f.alias.forEach(o))}}function l(){return s}function a(f){const p=pc(f,s);s.splice(p,0,f),f.record.name&&!Ai(f)&&n.set(f.record.name,f)}function u(f,p){let v,T={},O,D;if("name"in f&&f.name){if(v=n.get(f.name),!v)throw kt(1,{location:f});D=v.record.name,T=J(yi(p.params,v.keys.filter(b=>!b.optional).concat(v.parent?v.parent.keys.filter(b=>b.optional):[]).map(b=>b.name)),f.params&&yi(f.params,v.keys.map(b=>b.name))),O=v.stringify(T)}else if(f.path!=null)O=f.path,v=s.find(b=>b.re.test(O)),v&&(T=v.parse(O),D=v.record.name);else{if(v=p.name?n.get(p.name):s.find(b=>b.re.test(p.path)),!v)throw kt(1,{location:f,currentLocation:p});D=v.record.name,T=J({},p.params,f.params),O=v.stringify(T)}const L=[];let g=v;for(;g;)L.unshift(g.record),g=g.parent;return{name:D,path:O,params:T,matched:L,meta:dc(L)}}t.forEach(f=>r(f));function c(){s.length=0,n.clear()}return{addRoute:r,resolve:u,removeRoute:o,clearRoutes:c,getRoutes:l,getRecordMatcher:i}}function yi(t,e){const s={};for(const n of e)n in t&&(s[n]=t[n]);return s}function wi(t){const e={path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:t.aliasOf,beforeEnter:t.beforeEnter,props:hc(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||null:t.component&&{default:t.component}};return Object.defineProperty(e,"mods",{value:{}}),e}function hc(t){const e={},s=t.props||!1;if("component"in t)e.default=s;else for(const n in t.components)e[n]=typeof s=="object"?s[n]:s;return e}function Ai(t){for(;t;){if(t.record.aliasOf)return!0;t=t.parent}return!1}function dc(t){return t.reduce((e,s)=>J(e,s.meta),{})}function xi(t,e){const s={};for(const n in t)s[n]=n in e?e[n]:t[n];return s}function pc(t,e){let s=0,n=e.length;for(;s!==n;){const r=s+n>>1;Jr(t,e[r])<0?n=r:s=r+1}const i=gc(t);return i&&(n=e.lastIndexOf(i,n-1)),n}function gc(t){let e=t;for(;e=e.parent;)if(Zr(e)&&Jr(t,e)===0)return e}function Zr({record:t}){return!!(t.name||t.components&&Object.keys(t.components).length||t.redirect)}function mc(t){const e={};if(t===""||t==="?")return e;const n=(t[0]==="?"?t.slice(1):t).split("&");for(let i=0;ir&&an(r)):[n&&an(n)]).forEach(r=>{r!==void 0&&(e+=(e.length?"&":"")+s,r!=null&&(e+="="+r))})}return e}function vc(t){const e={};for(const s in t){const n=t[s];n!==void 0&&(e[s]=Be(n)?n.map(i=>i==null?null:""+i):n==null?n:""+n)}return e}const bc=Symbol(""),Ei=Symbol(""),Rn=Symbol(""),Xr=Symbol(""),un=Symbol("");function Nt(){let t=[];function e(n){return t.push(n),()=>{const i=t.indexOf(n);i>-1&&t.splice(i,1)}}function s(){t=[]}return{add:e,list:()=>t.slice(),reset:s}}function ht(t,e,s,n,i,r=o=>o()){const o=n&&(n.enterCallbacks[i]=n.enterCallbacks[i]||[]);return()=>new Promise((l,a)=>{const u=p=>{p===!1?a(kt(4,{from:s,to:e})):p instanceof Error?a(p):sc(p)?a(kt(2,{from:e,to:p})):(o&&n.enterCallbacks[i]===o&&typeof p=="function"&&o.push(p),l())},c=r(()=>t.call(n&&n.instances[i],e,s,u));let f=Promise.resolve(c);t.length<3&&(f=f.then(u)),f.catch(p=>a(p))})}function zs(t,e,s,n,i=r=>r()){const r=[];for(const o of t)for(const l in o.components){let a=o.components[l];if(!(e!=="beforeRouteEnter"&&!o.instances[l]))if(Ur(a)){const c=(a.__vccOpts||a)[e];c&&r.push(ht(c,s,n,o,l,i))}else{let u=a();r.push(()=>u.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const f=Ca(c)?c.default:c;o.mods[l]=c,o.components[l]=f;const v=(f.__vccOpts||f)[e];return v&&ht(v,s,n,o,l,i)()}))}}return r}function Ci(t){const e=et(Rn),s=et(Xr),n=Me(()=>{const a=wt(t.to);return e.resolve(a)}),i=Me(()=>{const{matched:a}=n.value,{length:u}=a,c=a[u-1],f=s.matched;if(!c||!f.length)return-1;const p=f.findIndex(Dt.bind(null,c));if(p>-1)return p;const v=_i(a[u-2]);return u>1&&_i(c)===v&&f[f.length-1].path!==v?f.findIndex(Dt.bind(null,a[u-2])):p}),r=Me(()=>i.value>-1&&Sc(s.params,n.value.params)),o=Me(()=>i.value>-1&&i.value===s.matched.length-1&&Kr(s.params,n.value.params));function l(a={}){if(xc(a)){const u=e[wt(t.replace)?"replace":"push"](wt(t.to)).catch(zt);return t.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:n,href:Me(()=>n.value.href),isActive:r,isExactActive:o,navigate:l}}function yc(t){return t.length===1?t[0]:t}const wc=Ts({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:Ci,setup(t,{slots:e}){const s=_s(Ci(t)),{options:n}=et(Rn),i=Me(()=>({[Oi(t.activeClass,n.linkActiveClass,"router-link-active")]:s.isActive,[Oi(t.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:s.isExactActive}));return()=>{const r=e.default&&yc(e.default(s));return t.custom?r:Hr("a",{"aria-current":s.isExactActive?t.ariaCurrentValue:null,href:s.href,onClick:s.navigate,class:i.value},r)}}}),Ac=wc;function xc(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&!(t.button!==void 0&&t.button!==0)){if(t.currentTarget&&t.currentTarget.getAttribute){const e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function Sc(t,e){for(const s in e){const n=e[s],i=t[s];if(typeof n=="string"){if(n!==i)return!1}else if(!Be(i)||i.length!==n.length||n.some((r,o)=>r!==i[o]))return!1}return!0}function _i(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const Oi=(t,e,s)=>t??e??s,Ec=Ts({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:e,slots:s}){const n=et(un),i=Me(()=>t.route||n.value),r=et(Ei,0),o=Me(()=>{let u=wt(r);const{matched:c}=i.value;let f;for(;(f=c[u])&&!f.components;)u++;return u}),l=Me(()=>i.value.matched[o.value]);as(Ei,Me(()=>o.value+1)),as(bc,l),as(un,i);const a=sr();return cs(()=>[a.value,l.value,t.name],([u,c,f],[p,v,T])=>{c&&(c.instances[f]=u,v&&v!==c&&u&&u===p&&(c.leaveGuards.size||(c.leaveGuards=v.leaveGuards),c.updateGuards.size||(c.updateGuards=v.updateGuards))),u&&c&&(!v||!Dt(c,v)||!p)&&(c.enterCallbacks[f]||[]).forEach(O=>O(u))},{flush:"post"}),()=>{const u=i.value,c=t.name,f=l.value,p=f&&f.components[c];if(!p)return Ti(s.default,{Component:p,route:u});const v=f.props[c],T=v?v===!0?u.params:typeof v=="function"?v(u):v:null,D=Hr(p,J({},T,e,{onVnodeUnmounted:L=>{L.component.isUnmounted&&(f.instances[c]=null)},ref:a}));return Ti(s.default,{Component:D,route:u})||D}}});function Ti(t,e){if(!t)return null;const s=t(e);return s.length===1?s[0]:s}const Cc=Ec;function _c(t){const e=fc(t.routes,t),s=t.parseQuery||mc,n=t.stringifyQuery||Si,i=t.history,r=Nt(),o=Nt(),l=Nt(),a=Fl(ct);let u=ct;Et&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=$s.bind(null,w=>""+w),f=$s.bind(null,Ba),p=$s.bind(null,ts);function v(w,N){let k,B;return Yr(w)?(k=e.getRecordMatcher(w),B=N):B=w,e.addRoute(B,k)}function T(w){const N=e.getRecordMatcher(w);N&&e.removeRoute(N)}function O(){return e.getRoutes().map(w=>w.record)}function D(w){return!!e.getRecordMatcher(w)}function L(w,N){if(N=J({},N||a.value),typeof w=="string"){const m=Ws(s,w,N.path),A=e.resolve({path:m.path},N),S=i.createHref(m.fullPath);return J(m,A,{params:p(A.params),hash:ts(m.hash),redirectedFrom:void 0,href:S})}let k;if(w.path!=null)k=J({},w,{path:Ws(s,w.path,N.path).path});else{const m=J({},w.params);for(const A in m)m[A]==null&&delete m[A];k=J({},w,{params:f(m)}),N.params=f(N.params)}const B=e.resolve(k,N),Y=w.hash||"";B.params=c(p(B.params));const h=Ua(n,J({},w,{hash:Ia(Y),path:B.path})),d=i.createHref(h);return J({fullPath:h,hash:Y,query:n===Si?vc(w.query):w.query||{}},B,{redirectedFrom:void 0,href:d})}function g(w){return typeof w=="string"?Ws(s,w,a.value.path):J({},w)}function b(w,N){if(u!==w)return kt(8,{from:N,to:w})}function y(w){return F(w)}function E(w){return y(J(g(w),{replace:!0}))}function _(w){const N=w.matched[w.matched.length-1];if(N&&N.redirect){const{redirect:k}=N;let B=typeof k=="function"?k(w):k;return typeof B=="string"&&(B=B.includes("?")||B.includes("#")?B=g(B):{path:B},B.params={}),J({query:w.query,hash:w.hash,params:B.path!=null?{}:w.params},B)}}function F(w,N){const k=u=L(w),B=a.value,Y=w.state,h=w.force,d=w.replace===!0,m=_(k);if(m)return F(J(g(m),{state:typeof m=="object"?J({},Y,m.state):Y,force:h,replace:d}),N||k);const A=k;A.redirectedFrom=N;let S;return!h&&ja(n,B,k)&&(S=kt(16,{to:A,from:B}),we(B,B,!0,!1)),(S?Promise.resolve(S):q(A,B)).catch(x=>Qe(x)?Qe(x,2)?x:ye(x):j(x,A,B)).then(x=>{if(x){if(Qe(x,2))return F(J({replace:d},g(x.to),{state:typeof x.to=="object"?J({},Y,x.to.state):Y,force:h}),N||A)}else x=pe(A,B,!0,d,Y);return re(A,B,x),x})}function z(w,N){const k=b(w,N);return k?Promise.reject(k):Promise.resolve()}function H(w){const N=Ae.values().next().value;return N&&typeof N.runWithContext=="function"?N.runWithContext(w):w()}function q(w,N){let k;const[B,Y,h]=Oc(w,N);k=zs(B.reverse(),"beforeRouteLeave",w,N);for(const m of B)m.leaveGuards.forEach(A=>{k.push(ht(A,w,N))});const d=z.bind(null,w,N);return k.push(d),fe(k).then(()=>{k=[];for(const m of r.list())k.push(ht(m,w,N));return k.push(d),fe(k)}).then(()=>{k=zs(Y,"beforeRouteUpdate",w,N);for(const m of Y)m.updateGuards.forEach(A=>{k.push(ht(A,w,N))});return k.push(d),fe(k)}).then(()=>{k=[];for(const m of h)if(m.beforeEnter)if(Be(m.beforeEnter))for(const A of m.beforeEnter)k.push(ht(A,w,N));else k.push(ht(m.beforeEnter,w,N));return k.push(d),fe(k)}).then(()=>(w.matched.forEach(m=>m.enterCallbacks={}),k=zs(h,"beforeRouteEnter",w,N,H),k.push(d),fe(k))).then(()=>{k=[];for(const m of o.list())k.push(ht(m,w,N));return k.push(d),fe(k)}).catch(m=>Qe(m,8)?m:Promise.reject(m))}function re(w,N,k){l.list().forEach(B=>H(()=>B(w,N,k)))}function pe(w,N,k,B,Y){const h=b(w,N);if(h)return h;const d=N===ct,m=Et?history.state:{};k&&(B||d?i.replace(w.fullPath,J({scroll:d&&m&&m.scroll},Y)):i.push(w.fullPath,Y)),a.value=w,we(w,N,k,d),ye()}let Te;function lt(){Te||(Te=i.listen((w,N,k)=>{if(!He.listening)return;const B=L(w),Y=_(B);if(Y){F(J(Y,{replace:!0,force:!0}),B).catch(zt);return}u=B;const h=a.value;Et&&Qa(pi(h.fullPath,k.delta),Ds()),q(B,h).catch(d=>Qe(d,12)?d:Qe(d,2)?(F(J(g(d.to),{force:!0}),B).then(m=>{Qe(m,20)&&!k.delta&&k.type===ss.pop&&i.go(-1,!1)}).catch(zt),Promise.reject()):(k.delta&&i.go(-k.delta,!1),j(d,B,h))).then(d=>{d=d||pe(B,h,!1),d&&(k.delta&&!Qe(d,8)?i.go(-k.delta,!1):k.type===ss.pop&&Qe(d,20)&&i.go(-1,!1)),re(B,h,d)}).catch(zt)}))}let ot=Nt(),oe=Nt(),Q;function j(w,N,k){ye(w);const B=oe.list();return B.length?B.forEach(Y=>Y(w,N,k)):console.error(w),Promise.reject(w)}function ae(){return Q&&a.value!==ct?Promise.resolve():new Promise((w,N)=>{ot.add([w,N])})}function ye(w){return Q||(Q=!w,lt(),ot.list().forEach(([N,k])=>w?k(w):N()),ot.reset()),w}function we(w,N,k,B){const{scrollBehavior:Y}=t;if(!Et||!Y)return Promise.resolve();const h=!k&&Ja(pi(w.fullPath,0))||(B||!k)&&history.state&&history.state.scroll||null;return lr().then(()=>Y(w,N,h)).then(d=>d&&Ya(d)).catch(d=>j(d,w,N))}const te=w=>i.go(w);let at;const Ae=new Set,He={currentRoute:a,listening:!0,addRoute:v,removeRoute:T,clearRoutes:e.clearRoutes,hasRoute:D,getRoutes:O,resolve:L,options:t,push:y,replace:E,go:te,back:()=>te(-1),forward:()=>te(1),beforeEach:r.add,beforeResolve:o.add,afterEach:l.add,onError:oe.add,isReady:ae,install(w){const N=this;w.component("RouterLink",Ac),w.component("RouterView",Cc),w.config.globalProperties.$router=N,Object.defineProperty(w.config.globalProperties,"$route",{enumerable:!0,get:()=>wt(a)}),Et&&!at&&a.value===ct&&(at=!0,y(i.location).catch(Y=>{}));const k={};for(const Y in ct)Object.defineProperty(k,Y,{get:()=>a.value[Y],enumerable:!0});w.provide(Rn,N),w.provide(Xr,er(k)),w.provide(un,a);const B=w.unmount;Ae.add(w),w.unmount=function(){Ae.delete(w),Ae.size<1&&(u=ct,Te&&Te(),Te=null,a.value=ct,at=!1,Q=!1),B()}}};function fe(w){return w.reduce((N,k)=>N.then(()=>H(k)),Promise.resolve())}return He}function Oc(t,e){const s=[],n=[],i=[],r=Math.max(e.matched.length,t.matched.length);for(let o=0;oDt(u,l))?n.push(l):s.push(l));const a=t.matched[o];a&&(e.matched.find(u=>Dt(u,a))||i.push(a))}return[s,n,i]}const Tc=_c({history:tc(),linkActiveClass:"active",routes:[{path:"/",name:"Home",component:()=>Ye(()=>import("./home.js"),__vite__mapDeps([0,1]))},{path:"/install",name:"Install",component:()=>Ye(()=>import("./install.js"),[])},{path:"/selects",name:"Selects",component:()=>Ye(()=>import("./selects.js"),[])},{path:"/data",name:"Data",component:()=>Ye(()=>import("./data.js"),[])},{path:"/examples",name:"Examples",component:()=>Ye(()=>import("./index2.js"),__vite__mapDeps([2,3]))},{path:"/settings",name:"Settings",component:()=>Ye(()=>import("./index3.js"),__vite__mapDeps([4,5]))},{path:"/events",name:"Events",component:()=>Ye(()=>import("./index4.js"),[])},{path:"/methods",name:"Methods",component:()=>Ye(()=>import("./index5.js"),[])},{path:"/vue",name:"Vue",component:()=>Ye(()=>import("./vue.js"),[])}]});class Lc{constructor(e){e||(e={}),this.main=e.main||"ss-main",this.placeholder=e.placeholder||"ss-placeholder",this.values=e.values||"ss-values",this.single=e.single||"ss-single",this.max=e.max||"ss-max",this.value=e.value||"ss-value",this.valueText=e.valueText||"ss-value-text",this.valueDelete=e.valueDelete||"ss-value-delete",this.valueOut=e.valueOut||"ss-value-out",this.deselect=e.deselect||"ss-deselect",this.deselectPath=e.deselectPath||"M10,10 L90,90 M10,90 L90,10",this.arrow=e.arrow||"ss-arrow",this.arrowClose=e.arrowClose||"M10,30 L50,70 L90,30",this.arrowOpen=e.arrowOpen||"M10,70 L50,30 L90,70",this.content=e.content||"ss-content",this.openAbove=e.openAbove||"ss-open-above",this.openBelow=e.openBelow||"ss-open-below",this.search=e.search||"ss-search",this.searchHighlighter=e.searchHighlighter||"ss-search-highlight",this.searching=e.searching||"ss-searching",this.addable=e.addable||"ss-addable",this.addablePath=e.addablePath||"M50,10 L50,90 M10,50 L90,50",this.list=e.list||"ss-list",this.optgroup=e.optgroup||"ss-optgroup",this.optgroupLabel=e.optgroupLabel||"ss-optgroup-label",this.optgroupLabelText=e.optgroupLabelText||"ss-optgroup-label-text",this.optgroupActions=e.optgroupActions||"ss-optgroup-actions",this.optgroupSelectAll=e.optgroupSelectAll||"ss-selectall",this.optgroupSelectAllBox=e.optgroupSelectAllBox||"M60,10 L10,10 L10,90 L90,90 L90,50",this.optgroupSelectAllCheck=e.optgroupSelectAllCheck||"M30,45 L50,70 L90,10",this.optgroupClosable=e.optgroupClosable||"ss-closable",this.option=e.option||"ss-option",this.optionDelete=e.optionDelete||"M10,10 L90,90 M10,90 L90,10",this.highlighted=e.highlighted||"ss-highlighted",this.open=e.open||"ss-open",this.close=e.close||"ss-close",this.selected=e.selected||"ss-selected",this.error=e.error||"ss-error",this.disabled=e.disabled||"ss-disabled",this.hide=e.hide||"ss-hide"}}function Dn(){return Math.random().toString(36).substring(2,10)}function Pc(t,e){function s(i,r){return r&&i&&i.classList&&i.classList.contains(r)||r&&i&&i.dataset&&i.dataset.id&&i.dataset.id===e?i:null}function n(i,r){return!i||i===document?null:s(i,r)?i:n(i.parentNode,r)}return s(t,e)||n(t,e)}function Kt(t,e=50,s=!1){let n;return function(...i){const r=self,o=()=>{n=null,s||t.apply(r,i)},l=s&&!n;clearTimeout(n),n=setTimeout(o,e),l&&t.apply(r,i)}}function Gs(t,e){return JSON.stringify(t)===JSON.stringify(e)}function Rc(t){const e=t.replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g,s=>"-"+s.toLowerCase());return t[0]===t[0].toUpperCase()?e.substring(1):e}class Ie{constructor(e){if(this.id=!e.id||e.id===""?Dn():e.id,this.label=e.label||"",this.selectAll=e.selectAll===void 0?!1:e.selectAll,this.selectAllText=e.selectAllText||"Select All",this.closable=e.closable||"off",this.options=[],e.options)for(const s of e.options)this.options.push(new ue(s))}}class ue{constructor(e){this.id=!e.id||e.id===""?Dn():e.id,this.value=e.value===void 0?e.text:e.value,this.text=e.text||"",this.html=e.html||"",this.selected=e.selected!==void 0?e.selected:!1,this.display=e.display!==void 0?e.display:!0,this.disabled=e.disabled!==void 0?e.disabled:!1,this.mandatory=e.mandatory!==void 0?e.mandatory:!1,this.placeholder=e.placeholder!==void 0?e.placeholder:!1,this.class=e.class||"",this.style=e.style||"",this.data=e.data||{}}}class Dc{constructor(e,s){this.selectType="single",this.data=[],this.selectedOrder=[],this.selectType=e,this.setData(s)}validateDataArray(e){if(!Array.isArray(e))return new Error("Data must be an array");for(let s of e)if(s instanceof Ie||"label"in s){if(!("label"in s))return new Error("Optgroup must have a label");if("options"in s&&s.options)for(let n of s.options){const i=this.validateOption(n);if(i)return i}}else if(s instanceof ue||"text"in s){const n=this.validateOption(s);if(n)return n}else return new Error("Data object must be a valid optgroup or option");return null}validateOption(e){return"text"in e?null:new Error("Option must have a text")}partialToFullData(e){let s=[];return e.forEach(n=>{if(n instanceof Ie||"label"in n){let i=[];"options"in n&&n.options&&n.options.forEach(r=>{i.push(new ue(r))}),i.length>0&&s.push(new Ie(n))}(n instanceof ue||"text"in n)&&s.push(new ue(n))}),s}setData(e){this.data=this.partialToFullData(e),this.selectType==="single"&&this.setSelectedBy("id",this.getSelected())}getData(){return this.filter(null,!0)}getDataOptions(){return this.filter(null,!1)}addOption(e,s=!1){if(s){let n=[new ue(e)];this.setData(n.concat(this.getData()))}else this.setData(this.getData().concat(new ue(e)))}setSelectedBy(e,s){let n=null,i=!1;const r=[];for(let l of this.data){if(l instanceof Ie)for(let a of l.options)n||(n=a),a.selected=i?!1:s.includes(a[e]),a.selected&&(r.push(a),this.selectType==="single"&&(i=!0));l instanceof ue&&(n||(n=l),l.selected=i?!1:s.includes(l[e]),l.selected&&(r.push(l),this.selectType==="single"&&(i=!0)))}this.selectType==="single"&&n&&!i&&(n.selected=!0,r.push(n));const o=s.map(l=>{var a;return((a=r.find(u=>u[e]===l))==null?void 0:a.id)||""});this.selectedOrder=o}getSelected(){return this.getSelectedOptions().map(e=>e.id)}getSelectedValues(){return this.getSelectedOptions().map(e=>e.value)}getSelectedOptions(){return this.filter(e=>e.selected,!1)}getOptgroupByID(e){for(let s of this.data)if(s instanceof Ie&&s.id===e)return s;return null}getOptionByID(e){let s=this.filter(n=>n.id===e,!1);return s.length?s[0]:null}getSelectType(){return this.selectType}getFirstOption(){let e=null;for(let s of this.data)if(s instanceof Ie?e=s.options[0]:s instanceof ue&&(e=s),e)break;return e}search(e,s){return e=e.trim(),e===""?this.getData():this.filter(n=>s(n,e),!0)}filter(e,s){const n=[];return this.data.forEach(i=>{if(i instanceof Ie){let r=[];if(i.options.forEach(o=>{(!e||e(o))&&(s?r.push(new ue(o)):n.push(new ue(o)))}),r.length>0){let o=new Ie(i);o.options=r,n.push(o)}}i instanceof ue&&(!e||e(i))&&n.push(new ue(i))}),n}selectedOrderOptions(e){const s=[];return this.selectedOrder.forEach(n=>{const i=e.find(r=>r.id===n);i&&s.push(i)}),e.forEach(n=>{let i=!1;s.forEach(r=>{if(n.id===r.id){i=!0;return}}),i||s.push(n)}),s}}class kc{constructor(e,s,n,i){var o;this.store=n,this.settings=e,this.classes=s,this.callbacks=i,this.main=this.mainDiv(),this.content=this.contentDiv(),this.updateClassStyles(),this.updateAriaAttributes();const r=(o=document.querySelector(`[data-id="${this.settings.id}"]`))==null?void 0:o.closest(".offcanvas-body");r?r.appendChild(this.content.main):this.settings.contentLocation&&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(this.settings.openPosition==="up"?this.classes.openAbove:this.classes.openBelow),this.main.main.setAttribute("aria-expanded","true"),this.moveContent();const e=this.store.getSelectedOptions();if(e.length){const s=e[e.length-1].id,n=this.content.list.querySelector('[data-id="'+s+'"]');n&&this.ensureElementInView(this.content.list,n)}}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.main.main.classList.add("ss-2"),this.content.main.classList.add(this.classes.content),this.content.main.classList.add("ss-content-2"),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 e of this.settings.class)e.trim()!==""&&(this.main.main.classList.add(e.trim()),this.content.main.classList.add(e.trim()));(this.settings.contentPosition==="relative"||this.settings.contentPosition==="fixed")&&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 u;const e=document.createElement("div");e.id=this.settings.id+"-main",e.setAttribute("aria-label",this.settings.ariaLabel),e.tabIndex=0,e.onkeydown=c=>{switch(c.key){case"ArrowUp":case"ArrowDown":return this.callbacks.open(),c.key==="ArrowDown"?this.highlight("down"):this.highlight("up"),!1;case"Tab":return this.callbacks.close(),!0;case"Enter":case" ":this.callbacks.open();const f=this.content.list.querySelector("."+this.classes.highlighted);return f&&f.click(),!1;case"Escape":return this.callbacks.close(),!1}return c.key.length===1&&this.callbacks.open(),!0},e.onclick=c=>{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 n=document.createElement("div");n.classList.add(this.classes.deselect);const i=(u=this.store)==null?void 0:u.getSelectedOptions();!this.settings.allowDeselect||this.settings.isMultiple&&i&&i.length<=0?n.classList.add(this.classes.hide):n.classList.remove(this.classes.hide),n.onclick=c=>{if(c.stopPropagation(),this.settings.disabled)return;let f=!0;const p=this.store.getSelectedOptions(),v=[];if(this.callbacks.beforeChange&&(f=this.callbacks.beforeChange(v,p)===!0),f){if(this.settings.isMultiple)this.callbacks.setSelected([],!1),this.updateDeselectAll();else{const T=this.store.getFirstOption(),O=T?T.id:"";this.callbacks.setSelected(O,!1)}this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(this.store.getSelectedOptions())}};const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttribute("viewBox","0 0 100 100");const o=document.createElementNS("http://www.w3.org/2000/svg","path");o.setAttribute("d",this.classes.deselectPath),r.appendChild(o),n.appendChild(r),e.appendChild(n);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 a=document.createElementNS("http://www.w3.org/2000/svg","path");return a.setAttribute("d",this.classes.arrowClose),this.settings.alwaysOpen&&l.classList.add(this.classes.hide),l.appendChild(a),e.appendChild(l),{main:e,values:s,deselect:{main:n,svg:r,path:o},arrow:{main:l,path:a}}}mainFocus(e){e!=="click"&&this.main.main.focus({preventScroll:!0})}placeholder(){const e=this.store.filter(i=>i.placeholder,!1);let s=this.settings.placeholderText;e.length&&(e[0].html!==""?s=e[0].html:e[0].text!==""&&(s=e[0].text));const n=document.createElement("div");return n.classList.add(this.classes.placeholder),n.innerHTML=s,n}renderValues(){if(!this.settings.isMultiple){this.renderSingleValue();return}this.renderMultipleValues(),this.updateDeselectAll()}renderSingleValue(){const e=this.store.filter(n=>n.selected&&!n.placeholder,!1),s=e.length>0?e[0]:null;if(!s)this.main.values.innerHTML=this.placeholder().outerHTML;else{const n=document.createElement("div");n.classList.add(this.classes.single),s.html?n.innerHTML=s.html:n.innerText=s.text,this.main.values.innerHTML=n.outerHTML}!this.settings.allowDeselect||!e.length?this.main.deselect.main.classList.add(this.classes.hide):this.main.deselect.main.classList.remove(this.classes.hide)}renderMultipleValues(){let e=this.main.values.childNodes,s=this.store.filter(i=>i.selected&&i.display,!1);if(s.length===0){this.main.values.innerHTML=this.placeholder().outerHTML;return}else{const i=this.main.values.querySelector("."+this.classes.placeholder);i&&i.remove()}if(s.length>this.settings.maxValuesShown){const i=document.createElement("div");i.classList.add(this.classes.max),i.textContent=this.settings.maxValuesMessage.replace("{number}",s.length.toString()),this.main.values.innerHTML=i.outerHTML;return}else{const i=this.main.values.querySelector("."+this.classes.max);i&&i.remove()}this.settings.keepOrder&&(s=this.store.selectedOrderOptions(s));let n=[];for(let i=0;ia.id===o,!1).length||n.push(r))}for(const i of n)i.classList.add(this.classes.valueOut),setTimeout(()=>{this.main.values.hasChildNodes()&&this.main.values.contains(i)&&this.main.values.removeChild(i)},100);e=this.main.values.childNodes;for(let i=0;i{if(l.preventDefault(),l.stopPropagation(),this.settings.disabled)return;let a=!0;const u=this.store.getSelectedOptions(),c=u.filter(f=>f.selected&&f.id!==e.id,!0);if(!(this.settings.minSelected&&c.length{l.key==="Enter"&&i.click()}}return s}contentDiv(){const e=document.createElement("div");e.id=this.settings.id+"-content";const s=this.searchDiv();e.appendChild(s.main);const n=this.listDiv();return e.appendChild(n),{main:e,search:s,list:n}}moveContent(){if(this.settings.contentPosition==="relative"){this.moveContentBelow();return}if(this.settings.openPosition==="down"){this.moveContentBelow();return}else if(this.settings.openPosition==="up"){this.moveContentAbove();return}this.putContent()==="up"?this.moveContentAbove():this.moveContentBelow()}searchDiv(){const e=document.createElement("div"),s=document.createElement("input"),n=document.createElement("div");e.classList.add(this.classes.search);const i={main:e,input:s};if(this.settings.showSearch||(e.classList.add(this.classes.hide),s.readOnly=!0),s.type="search",s.placeholder=this.settings.searchPlaceholder,s.tabIndex=-1,s.setAttribute("aria-label",this.settings.searchPlaceholder),s.setAttribute("autocapitalize","off"),s.setAttribute("autocomplete","off"),s.setAttribute("autocorrect","off"),s.oninput=Kt(r=>{this.callbacks.search(r.target.value)},100),s.onkeydown=r=>{switch(r.key){case"ArrowUp":case"ArrowDown":return r.key==="ArrowDown"?this.highlight("down"):this.highlight("up"),!1;case"Tab":return this.callbacks.close(),!0;case"Escape":return this.callbacks.close(),!1;case" ":const o=this.content.list.querySelector("."+this.classes.highlighted);return o?(o.click(),!1):!0;case"Enter":if(this.callbacks.addable)return n.click(),!1;{const l=this.content.list.querySelector("."+this.classes.highlighted);if(l)return l.click(),!1}return!0}return!0},e.appendChild(s),this.callbacks.addable){n.classList.add(this.classes.addable);const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttribute("viewBox","0 0 100 100");const o=document.createElementNS("http://www.w3.org/2000/svg","path");o.setAttribute("d",this.classes.addablePath),r.appendChild(o),n.appendChild(r),n.onclick=l=>{if(l.preventDefault(),l.stopPropagation(),!this.callbacks.addable)return;const a=this.content.search.input.value.trim();if(a===""){this.content.search.input.focus();return}const u=f=>{let p=new ue(f);if(this.callbacks.addOption(p),this.settings.isMultiple){let v=this.store.getSelected();v.push(p.id),this.callbacks.setSelected(v,!0)}else this.callbacks.setSelected([p.id],!0);this.callbacks.search(""),this.settings.closeOnSelect&&setTimeout(()=>{this.callbacks.close()},100)},c=this.callbacks.addable(a);c===!1||c===void 0||c===null||(c instanceof Promise?c.then(f=>{typeof f=="string"?u({text:f,value:f}):c instanceof Error?this.renderError(c.message):u(f)}):typeof c=="string"?u({text:c,value:c}):c instanceof Error?this.renderError(c.message):u(c))},e.appendChild(n),i.addable={main:n,svg:r,path:o}}return i}searchFocus(){this.content.search.input.focus()}getOptions(e=!1,s=!1,n=!1){let i="."+this.classes.option;return e&&(i+=":not(."+this.classes.placeholder+")"),s&&(i+=":not(."+this.classes.disabled+")"),n&&(i+=":not(."+this.classes.hide+")"),Array.from(this.content.list.querySelectorAll(i))}highlight(e){const s=this.getOptions(!0,!0,!0);if(s.length===0)return;if(s.length===1&&!s[0].classList.contains(this.classes.highlighted)){s[0].classList.add(this.classes.highlighted);return}let n=!1;for(const i of s)i.classList.contains(this.classes.highlighted)&&(n=!0);if(!n){for(const i of s)if(i.classList.contains(this.classes.selected)){i.classList.add(this.classes.highlighted);break}}for(let i=0;i=0?i-1:s.length-1];l.classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,l);const a=l.parentElement;if(a&&a.classList.contains(this.classes.close)){const u=a.querySelector("."+this.classes.optgroupLabel);u&&u.click()}return}s[e==="down"?0:s.length-1].classList.add(this.classes.highlighted),this.ensureElementInView(this.content.list,s[e==="down"?0:s.length-1])}listDiv(){const e=document.createElement("div");return e.classList.add(this.classes.list),e}renderError(e){this.content.list.innerHTML="";const s=document.createElement("div");s.classList.add(this.classes.error),s.textContent=e,this.content.list.appendChild(s)}renderSearching(){this.content.list.innerHTML="";const e=document.createElement("div");e.classList.add(this.classes.searching),e.textContent=this.settings.searchingText,this.content.list.appendChild(e)}renderOptions(e){if(this.content.list.innerHTML="",e.length===0){const n=document.createElement("div");n.classList.add(this.classes.search),this.callbacks.addable?n.innerHTML=this.settings.addableText.replace("{value}",this.content.search.input.value):n.innerHTML=this.settings.searchText,this.content.list.appendChild(n);return}this.settings.allowDeselect&&!this.settings.isMultiple&&(this.store.filter(i=>i.placeholder,!1).length||this.store.addOption(new ue({text:"",value:"",selected:!1,placeholder:!0}),!0));const s=document.createDocumentFragment();for(const n of e){if(n instanceof Ie){const i=document.createElement("div");i.classList.add(this.classes.optgroup);const r=document.createElement("div");r.classList.add(this.classes.optgroupLabel),i.appendChild(r);const o=document.createElement("div");o.classList.add(this.classes.optgroupLabelText),o.textContent=n.label,r.appendChild(o);const l=document.createElement("div");if(l.classList.add(this.classes.optgroupActions),r.appendChild(l),this.settings.isMultiple&&n.selectAll){const a=document.createElement("div");a.classList.add(this.classes.optgroupSelectAll);let u=!0;for(const T of n.options)if(!T.selected){u=!1;break}u&&a.classList.add(this.classes.selected);const c=document.createElement("span");c.textContent=n.selectAllText,a.appendChild(c);const f=document.createElementNS("http://www.w3.org/2000/svg","svg");f.setAttribute("viewBox","0 0 100 100"),a.appendChild(f);const p=document.createElementNS("http://www.w3.org/2000/svg","path");p.setAttribute("d",this.classes.optgroupSelectAllBox),f.appendChild(p);const v=document.createElementNS("http://www.w3.org/2000/svg","path");v.setAttribute("d",this.classes.optgroupSelectAllCheck),f.appendChild(v),a.addEventListener("click",T=>{T.preventDefault(),T.stopPropagation();const O=this.store.getSelected();if(u){const D=O.filter(L=>{for(const g of n.options)if(L===g.id)return!1;return!0});this.callbacks.setSelected(D,!0);return}else{const D=O.concat(n.options.map(L=>L.id));for(const L of n.options)this.store.getOptionByID(L.id)||this.callbacks.addOption(L);this.callbacks.setSelected(D,!0);return}}),l.appendChild(a)}if(n.closable!=="off"){const a=document.createElement("div");a.classList.add(this.classes.optgroupClosable);const u=document.createElementNS("http://www.w3.org/2000/svg","svg");u.setAttribute("viewBox","0 0 100 100"),u.classList.add(this.classes.arrow),a.appendChild(u);const c=document.createElementNS("http://www.w3.org/2000/svg","path");u.appendChild(c),n.options.some(f=>f.selected)||this.content.search.input.value.trim()!==""?(a.classList.add(this.classes.open),c.setAttribute("d",this.classes.arrowOpen)):n.closable==="open"?(i.classList.add(this.classes.open),c.setAttribute("d",this.classes.arrowOpen)):n.closable==="close"&&(i.classList.add(this.classes.close),c.setAttribute("d",this.classes.arrowClose)),r.addEventListener("click",f=>{f.preventDefault(),f.stopPropagation(),i.classList.contains(this.classes.close)?(i.classList.remove(this.classes.close),i.classList.add(this.classes.open),c.setAttribute("d",this.classes.arrowOpen)):(i.classList.remove(this.classes.open),i.classList.add(this.classes.close),c.setAttribute("d",this.classes.arrowClose))}),l.appendChild(a)}i.appendChild(r);for(const a of n.options)i.appendChild(this.option(a)),s.appendChild(i)}n instanceof ue&&s.appendChild(this.option(n))}this.content.list.appendChild(s)}option(e){if(e.placeholder){const n=document.createElement("div");return n.classList.add(this.classes.option),n.classList.add(this.classes.hide),n}const s=document.createElement("div");return s.id=e.id,s.classList.add(this.classes.option),s.setAttribute("role","option"),e.class&&e.class.split(" ").forEach(n=>{s.classList.add(n)}),e.style&&(s.style.cssText=e.style),this.settings.searchHighlight&&this.content.search.input.value.trim()!==""?s.innerHTML=this.highlightText(e.html!==""?e.html:e.text,this.content.search.input.value,this.classes.searchHighlighter):e.html!==""?s.innerHTML=e.html:s.textContent=e.text,this.settings.showOptionTooltips&&s.textContent&&s.setAttribute("title",s.textContent),e.display||s.classList.add(this.classes.hide),e.disabled&&s.classList.add(this.classes.disabled),e.selected&&this.settings.hideSelected&&s.classList.add(this.classes.hide),e.selected?(s.classList.add(this.classes.selected),s.setAttribute("aria-selected","true"),this.main.main.setAttribute("aria-activedescendant",s.id)):(s.classList.remove(this.classes.selected),s.setAttribute("aria-selected","false")),s.addEventListener("click",n=>{n.preventDefault(),n.stopPropagation();const i=this.store.getSelected(),r=n.currentTarget,o=String(r.dataset.id);if(e.disabled||e.selected&&!this.settings.allowDeselect||this.settings.isMultiple&&this.settings.maxSelected<=i.length&&!e.selected||this.settings.isMultiple&&this.settings.minSelected>=i.length&&e.selected)return;let l=!1;const a=this.store.getSelectedOptions();let u=[];this.settings.isMultiple&&(e.selected?u=a.filter(c=>c.id!==o):u=a.concat(e)),this.settings.isMultiple||(e.selected?u=[]:u=[e]),this.callbacks.beforeChange||(l=!0),this.callbacks.beforeChange&&(this.callbacks.beforeChange(u,a)===!1?l=!1:l=!0),l&&(this.store.getOptionByID(o)||this.callbacks.addOption(e),this.callbacks.setSelected(u.map(c=>c.id),!1),this.settings.closeOnSelect&&this.callbacks.close(),this.callbacks.afterChange&&this.callbacks.afterChange(u))}),s}destroy(){this.main.main.remove(),this.content.main.remove()}highlightText(e,s,n){let i=e;const r=new RegExp("(?![^<]*>)("+s.trim()+")(?![^<]*>[^<>]*${a}`),i}moveContentAbove(){const e=this.main.main.offsetHeight,s=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 n=this.main.main.getBoundingClientRect();this.content.main.style.margin="-"+(e+s-1)+"px 0px 0px 0px",this.content.main.style.top=n.top+n.height+(this.settings.contentPosition==="fixed"?0:window.scrollY)+"px",this.content.main.style.left=n.left+(this.settings.contentPosition==="fixed"?0:window.scrollX)+"px",this.content.main.style.width=n.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 e=this.main.main.getBoundingClientRect();this.content.main.style.margin="-1px 0px 0px 0px",this.settings.contentPosition!=="relative"&&(this.content.main.style.top=e.top+e.height+(this.settings.contentPosition==="fixed"?0:window.scrollY)+"px",this.content.main.style.left=e.left+(this.settings.contentPosition==="fixed"?0:window.scrollX)+"px",this.content.main.style.width=e.width+"px")}ensureElementInView(e,s){const n=e.scrollTop+e.offsetTop,i=n+e.clientHeight,r=s.offsetTop,o=r+s.clientHeight;ri&&(e.scrollTop+=o-i)}putContent(){const e=this.main.main.offsetHeight,s=this.main.main.getBoundingClientRect(),n=this.content.main.offsetHeight;return window.innerHeight-(s.top+e)<=n&&s.top>n?"up":"down"}updateDeselectAll(){if(!this.store||!this.settings)return;const e=this.store.getSelectedOptions(),s=e&&e.length>0,n=this.settings.isMultiple,i=this.settings.allowDeselect,r=this.main.deselect.main,o=this.classes.hide;i&&!(n&&!s)?r.classList.remove(o):r.classList.add(o)}}class Fc{constructor(e){this.listen=!1,this.observer=null,this.select=e,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(e){this.listen=e,e&&this.observer&&this.observer.observe(this.select,{subtree:!0,childList:!0,attributes:!0}),e||this.observer&&this.observer.disconnect()}valueChange(e){return this.listen&&this.onValueChange&&this.onValueChange(this.getSelectedOptions()),!0}observeCall(e){if(!this.listen)return;let s=!1,n=!1,i=!1;for(const r of e){if(r.target===this.select&&(r.attributeName==="disabled"&&(n=!0),r.attributeName==="class"&&(s=!0),r.type==="childList")){for(const o of r.addedNodes)if(o.nodeName==="OPTION"&&o.value===this.select.value){this.select.dispatchEvent(new Event("change"));break}i=!0}(r.target.nodeName==="OPTGROUP"||r.target.nodeName==="OPTION")&&(i=!0)}s&&this.onClassChange&&this.onClassChange(this.select.className.split(" ")),n&&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 e=[];const s=this.select.childNodes;for(const n of s)n.nodeName==="OPTGROUP"&&e.push(this.getDataFromOptgroup(n)),n.nodeName==="OPTION"&&e.push(this.getDataFromOption(n));return e}getDataFromOptgroup(e){let s={id:e.id,label:e.label,selectAll:e.dataset?e.dataset.selectall==="true":!1,selectAllText:e.dataset?e.dataset.selectalltext:"Select all",closable:e.dataset?e.dataset.closable:"off",options:[]};const n=e.childNodes;for(const i of n)i.nodeName==="OPTION"&&s.options.push(this.getDataFromOption(i));return s}getDataFromOption(e){return{id:e.id,value:e.value,text:e.text,html:e.dataset&&e.dataset.html?e.dataset.html:"",selected:e.selected,display:e.style.display!=="none",disabled:e.disabled,mandatory:e.dataset?e.dataset.mandatory==="true":!1,placeholder:e.dataset.placeholder==="true",class:e.className,style:e.style.cssText,data:e.dataset}}getSelectedOptions(){let e=[];const s=this.select.childNodes;for(const n of s){if(n.nodeName==="OPTGROUP"){const i=n.childNodes;for(const r of i)if(r.nodeName==="OPTION"){const o=r;o.selected&&e.push(this.getDataFromOption(o))}}if(n.nodeName==="OPTION"){const i=n;i.selected&&e.push(this.getDataFromOption(i))}}return e}getSelectedValues(){return this.getSelectedOptions().map(e=>e.value)}setSelected(e){this.changeListen(!1);const s=this.select.childNodes;for(const n of s){if(n.nodeName==="OPTGROUP"){const r=n.childNodes;for(const o of r)if(o.nodeName==="OPTION"){const l=o;l.selected=e.includes(l.id)}}if(n.nodeName==="OPTION"){const i=n;i.selected=e.includes(i.id)}}this.changeListen(!0)}setSelectedByValue(e){this.changeListen(!1);const s=this.select.childNodes;for(const n of s){if(n.nodeName==="OPTGROUP"){const r=n.childNodes;for(const o of r)if(o.nodeName==="OPTION"){const l=o;l.selected=e.includes(l.value)}}if(n.nodeName==="OPTION"){const i=n;i.selected=e.includes(i.value)}}this.changeListen(!0)}updateSelect(e,s,n){this.changeListen(!1),e&&(this.select.dataset.id=e),s&&(this.select.style.cssText=s),n&&(this.select.className="",n.forEach(i=>{i.trim()!==""&&this.select.classList.add(i.trim())})),this.changeListen(!0)}updateOptions(e){this.changeListen(!1),this.select.innerHTML="";for(const s of e)s instanceof Ie&&this.select.appendChild(this.createOptgroup(s)),s instanceof ue&&this.select.appendChild(this.createOption(s));this.select.dispatchEvent(new Event("change",{bubbles:!0})),this.changeListen(!0)}createOptgroup(e){const s=document.createElement("optgroup");if(s.id=e.id,s.label=e.label,e.selectAll&&(s.dataset.selectAll="true"),e.closable!=="off"&&(s.dataset.closable=e.closable),e.options)for(const n of e.options)s.appendChild(this.createOption(n));return s}createOption(e){const s=document.createElement("option");return s.id=e.id,s.value=e.value,s.textContent=e.text,e.html!==""&&s.setAttribute("data-html",e.html),e.selected&&(s.selected=e.selected),e.disabled&&(s.disabled=!0),e.display||(s.style.display="none"),e.placeholder&&s.setAttribute("data-placeholder","true"),e.mandatory&&s.setAttribute("data-mandatory","true"),e.class&&e.class.split(" ").forEach(n=>{s.classList.add(n)}),e.data&&typeof e.data=="object"&&Object.keys(e.data).forEach(n=>{s.setAttribute("data-"+Rc(n),e.data[n])}),s}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 Ic{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-"+Dn(),this.style=e.style||"",this.class=e.class||[],this.disabled=e.disabled!==void 0?e.disabled:!1,this.alwaysOpen=e.alwaysOpen!==void 0?e.alwaysOpen:!1,this.showSearch=e.showSearch!==void 0?e.showSearch:!0,this.focusSearch=e.focusSearch!==void 0?e.focusSearch:!0,this.ariaLabel=e.ariaLabel||"Combobox",this.searchPlaceholder=e.searchPlaceholder||"Search",this.searchText=e.searchText||"No Results",this.searchingText=e.searchingText||"Searching...",this.searchHighlight=e.searchHighlight!==void 0?e.searchHighlight:!1,this.closeOnSelect=e.closeOnSelect!==void 0?e.closeOnSelect:!0,this.contentLocation=e.contentLocation||document.body,this.contentPosition=e.contentPosition||"absolute",this.openPosition=e.openPosition||"auto",this.placeholderText=e.placeholderText!==void 0?e.placeholderText:"Select Value",this.allowDeselect=e.allowDeselect!==void 0?e.allowDeselect:!1,this.hideSelected=e.hideSelected!==void 0?e.hideSelected:!1,this.keepOrder=e.keepOrder!==void 0?e.keepOrder:!1,this.showOptionTooltips=e.showOptionTooltips!==void 0?e.showOptionTooltips:!1,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",this.addableText=e.addableText||'Press "Enter" to add {value}'}}class Mc{constructor(e){var o;if(this.events={search:void 0,searchFilter:(l,a)=>l.text.toLowerCase().indexOf(a.toLowerCase())!==-1,addable:void 0,beforeChange:void 0,afterChange:void 0,beforeOpen:void 0,afterOpen:void 0,beforeClose:void 0,afterClose:void 0},this.windowResize=Kt(()=>{!this.settings.isOpen&&!this.settings.isFullOpen||this.render.moveContent()}),this.windowScroll=Kt(()=>{!this.settings.isOpen&&!this.settings.isFullOpen||this.render.moveContent()}),this.documentClick=l=>{this.settings.isOpen&&l.target&&!Pc(l.target,this.settings.id)&&this.close(l.type)},this.windowVisibilityChange=()=>{document.hidden&&this.close()},this.selectEl=typeof e.select=="string"?document.querySelector(e.select):e.select,!this.selectEl){e.events&&e.events.error&&e.events.error(new Error("Could not find select element"));return}if(this.selectEl.tagName!=="SELECT"){e.events&&e.events.error&&e.events.error(new Error("Element isnt of type select"));return}this.selectEl.dataset.ssid&&this.destroy(),this.settings=new Ic(e.settings),this.cssClasses=new Lc(e.cssClasses);const s=["afterChange","beforeOpen","afterOpen","beforeClose","afterClose"];for(const l in e.events)e.events.hasOwnProperty(l)&&(s.indexOf(l)!==-1?this.events[l]=Kt(e.events[l],100):this.events[l]=e.events[l]);this.settings.disabled=(o=e.settings)!=null&&o.disabled?e.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 Fc(this.selectEl),this.select.updateSelect(this.settings.id,this.settings.style,this.settings.class),this.select.hideUI(),this.select.onValueChange=l=>{this.setSelected(l.map(a=>a.id))},this.select.onClassChange=l=>{this.settings.class=l,this.render.updateClassStyles()},this.select.onDisabledChange=l=>{l?this.disable():this.enable()},this.select.onOptionsChange=l=>{this.setData(l)},this.store=new Dc(this.settings.isMultiple?"multiple":"single",e.data?e.data:this.select.getData()),e.data&&this.select.updateOptions(this.store.getData());const n={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 kc(this.settings,this.cssClasses,this.store,n),this.render.renderValues(),this.render.renderOptions(this.store.getData());const i=this.selectEl.getAttribute("aria-label"),r=this.selectEl.getAttribute("aria-labelledby");i?this.render.main.main.setAttribute("aria-label",i):r&&this.render.main.main.setAttribute("aria-labelledby",r),this.selectEl.parentNode&&this.selectEl.parentNode.insertBefore(this.render.main.main,this.selectEl.nextSibling),window.addEventListener("resize",this.windowResize,!1),this.settings.openPosition==="auto"&&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(e){const s=this.store.getSelected(),n=this.store.validateDataArray(e);if(n){this.events.error&&this.events.error(n);return}this.store.setData(e);const i=this.store.getData();this.select.updateOptions(i),this.render.renderValues(),this.render.renderOptions(i),this.events.afterChange&&!Gs(s,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}getSelected(){let e=this.store.getSelectedOptions();return this.settings.keepOrder&&(e=this.store.selectedOrderOptions(e)),e.map(s=>s.value)}setSelected(e,s=!0){const n=this.store.getSelected(),i=this.store.getDataOptions();e=Array.isArray(e)?e:[e];const r=[];for(const l of e){if(i.find(a=>a.id==l)){r.push(l);continue}for(const a of i.filter(u=>u.value==l))r.push(a.id)}this.store.setSelectedBy("id",r);const o=this.store.getData();this.select.updateOptions(o),this.render.renderValues(),this.render.content.search.input.value!==""?this.search(this.render.content.search.input.value):this.render.renderOptions(o),s&&this.events.afterChange&&!Gs(n,this.store.getSelected())&&this.events.afterChange(this.store.getSelectedOptions())}addOption(e){const s=this.store.getSelected();this.store.getDataOptions().some(i=>i.value===(e.value??e.text))||this.store.addOption(e);const n=this.store.getData();this.select.updateOptions(n),this.render.renderValues(),this.render.renderOptions(n),this.events.afterChange&&!Gs(s,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.settings.focusSearch&&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),this.settings.contentPosition==="absolute"&&(this.settings.intervalMove&&clearInterval(this.settings.intervalMove),this.settings.intervalMove=setInterval(this.render.moveContent.bind(this.render),500)))}close(e=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(e),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(e){if(this.render.content.search.input.value!==e&&(this.render.content.search.input.value=e),!this.events.search){this.render.renderOptions(e===""?this.store.getData():this.store.search(e,this.events.searchFilter));return}this.render.renderSearching();const s=this.events.search(e,this.store.getSelectedOptions());if(s instanceof Promise){s.then(n=>{this.render.renderOptions(this.store.partialToFullData(n))}).catch(n=>{this.render.renderError(typeof n=="string"?n:n.message)});return}else Array.isArray(s)?this.render.renderOptions(this.store.partialToFullData(s)):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),this.settings.openPosition==="auto"&&window.removeEventListener("scroll",this.windowScroll,!1),document.removeEventListener("visibilitychange",this.windowVisibilityChange),this.store.setData([]),this.render.destroy(),this.select.destroy()}}const Nc="CWYDT23U",Bc="slimselectjscom",Hc=Ts({__name:"carbonad",setup(t){const e=sr(null);let s=!1;return pr(()=>{const n=window.location.hostname==="localhost";if(!s&&!n){s=!0;const i=document.createElement("script");i.id="_carbonads_js",i.src=`//cdn.carbonads.com/carbon.js?serve=${Nc}&placement=${Bc}`,i.async=!0,e.value&&e.value.appendChild(i)}}),(n,i)=>wt(s)?(Jt(),Ir("div",{key:0,class:"carbon-container",ref_key:"container",ref:e},null,512)):Vo("",!0)}}),Vc=Ts({name:"App",components:{CarbonAd:Hc},data(){return{nav:null,navDebounce:Kt(()=>{this.setDemensions()},100),year:new Date().getFullYear(),width:0,height:0,navData:[{text:"Home",value:"/",class:"label"},{label:"Install",closable:"close",options:[{text:"npm",value:"install#npm"},{text:"cdn",value:"install#cdn"},{text:"download",value:"install#download"}]},{label:"Selects",closable:"close",options:[{text:"single",value:"selects#single"},{text:"multiple",value:"selects#multiple"}]},{label:"Data",closable:"close",options:[{text:"types",value:"data#types"},{text:"field",value:"data#field"}]},{label:"Examples",closable:"close",options:[{text:"countries",value:"examples#countries"}]},{label:"Settings",closable:"close",options:[{text:"select",value:"settings#select"},{text:"cssClasses",value:"settings#cssClasses"},{text:"alwaysOpen",value:"settings#alwaysOpen"},{text:"contentLocation",value:"settings#contentLocation"},{text:"contentPosition",value:"settings#contentPosition"},{text:"openPosition",value:"settings#openPosition"},{text:"placeholder",value:"settings#placeholder"},{text:"selectAll",value:"settings#selectAll"},{text:"allowDeselect",value:"settings#allowDeselect"},{text:"display",value:"settings#display"},{text:"disabled",value:"settings#disabled"},{text:"mandatory",value:"settings#mandatory"},{text:"minmax",value:"settings#minmax"},{text:"dataAttributes",value:"settings#dataAttributes"},{text:"cssClass",value:"settings#cssClass"},{text:"inlineStyles",value:"settings#inlineStyles"},{text:"html",value:"settings#html"},{text:"keepOrder",value:"settings#keepOrder"},{text:"search",value:"settings#search"},{text:"closeOnSelect",value:"settings#closeOnSelect"},{text:"showOptionTooltips",value:"settings#showOptionTooltips"},{text:"closable",value:"settings#closable"},{text:"hideSelected",value:"settings#hideSelected"},{text:"maxValuesShown",value:"settings#maxValuesShown"}]},{label:"Events",closable:"close",options:[{text:"error",value:"events#error"},{text:"beforeChange",value:"events#beforeChange"},{text:"afterChange",value:"events#afterChange"},{text:"open",value:"events#open"},{text:"search",value:"events#search"},{text:"searchFilter",value:"events#searchFilter"},{text:"addable",value:"events#addable"}]},{label:"Methods",closable:"close",options:[{text:"getSelected",value:"methods#getSelected"},{text:"setSelected",value:"methods#setSelected"},{text:"getData",value:"methods#getData"},{text:"setData",value:"methods#setData"},{text:"enableDisable",value:"methods#enableDisable"},{text:"openClose",value:"methods#openClose"},{text:"search",value:"methods#search"},{text:"destroy",value:"methods#destroy"}]},{label:"Frameworks",closable:"close",options:[{text:"vue",value:"vue"}]}]}},mounted(){this.runNav(),this.$router.isReady().then(()=>{this.nav&&this.nav.setSelected(this.$router.currentRoute.value.fullPath.replace("/",""))}),this.$router.afterEach(()=>{if(this.$route.query.p){setTimeout(()=>{this.$route.query.p&&this.$router.push({path:this.$route.query.p.toString(),hash:this.$route.hash})},200);return}setTimeout(()=>{const t=this.$route.hash;if(t===""&&window.scroll({top:0,behavior:"smooth"}),t){const e=document.querySelector(t);if(e){const s=document.querySelector("header"),n=document.querySelector("nav"),i=s?s.clientHeight+(window.innerWidth<700?n.clientHeight:0)+8:0;window.scroll({top:e.offsetTop-i,behavior:"smooth"})}}},200)}),this.setDemensions(),window.addEventListener("resize",this.navDebounce),window.addEventListener("nav-updated",this.updateNav)},unmounted(){var t;window.removeEventListener("resize",this.navDebounce),window.removeEventListener("nav-updated",this.updateNav),(t=this.nav)==null||t.destroy()},watch:{width(){this.runNav()}},methods:{setDemensions(){this.width=document.documentElement.clientWidth,this.height=document.documentElement.clientHeight},runNav(){this.nav&&(this.nav.destroy(),this.nav=null);let t={searchHighlight:!0,openContent:"below"};this.width>700&&(t.alwaysOpen=!0,t.contentPosition="relative",t.contentLocation=this.$refs.navContent),this.nav=new Mc({select:this.$refs.nav,data:this.navData,settings:t,events:{afterChange:e=>{const n=e[0].value.split("#"),i=n[0],r=n[1]?"#"+n[1]:void 0;this.$router.push({path:i,hash:r})}}})},updateNav(){setTimeout(()=>{this.nav&&this.nav.setSelected(this.$router.currentRoute.value.fullPath.replace("/",""))},0)}}}),Uc="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFNTE3OEEyRTk5QTAxMUUyOUExNUJDMTA0NkE4OTA0RCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFNTE3OEEyRjk5QTAxMUUyOUExNUJDMTA0NkE4OTA0RCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkU1MTc4QTJDOTlBMDExRTI5QTE1QkMxMDQ2QTg5MDREIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU1MTc4QTJEOTlBMDExRTI5QTE1QkMxMDQ2QTg5MDREIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+FYrpWAAABrNJREFUeNrkW2lsVFUUvjMWirYUkS5BXApUa2vd6gL+wAWjoP5RiW2EUBajAiqSuPADQ0w1UUQTrcFAUUSJEKriEuMWFKuJIElFSS24YNpQK6WoBbuAktbva880M8O8vnfevJm+CSf5cme599xzvnfffffce17AJFjycnLzUVwDXAgUAucBY4BMIEOqdQIdwJ/Az4J64OvWtoONibQvkACHgyiuBe4CbgLOjVNlE/AZsAmoBSE9viQAjueieBCYC5yVoAvWDKwHqkBEmy8IgON09lHgXmCESY4cBaqBlSCieUgIgOPDUCwBngBOM0MjXdL/CyDiv6QRAOcvR7EBKDL+kD3AbJBQl1AC4DjrLwaeBYYbf8m/ciu+BCJ6PScAzp+K4nXgTuNveQuYAxK6PSMAzo9C8TFwtUkN2Q7cDBIOx02AOP8FUGpSSzgf3GBHQsDGec7unwOTTWrKDiGhS02ATHjvALeb1JZ3gRlWE+MpVq0yMzIekRk/1YWP6o7Ors5vHI8AXH1Odl8BaTbKrwd4j10MTAduS8JqkKvA94BPgN0A56htNm2OMyDDKNhuSwCcT5dIrMBG6S4oLI1qezqKBcBjwGiPHW8HVgCr0W97VL/fobjMpv2vQAnaHgv/MdYVXurAeSNPhggRw56BQatRVgL3A0H5+xDwI8Dw9g/5Hlq+clmdDYwF8iV0zpb/GP2tApZHOx4m2xwQUCC+VVqOABg+AUUDkO6AgHkwaL2DJXORxPVNylUnw+gpXObaLXFRlxHoaw7U8uoXQ99vViNgqUPnKQfsKojhdW7GuxDW5JUtIuni432hH4JhLJ7Dq6qwcZiPZnpNXDJPfI0kQEJbjVM5PiIgW3nhlkQQILH9LGWnV/iIAK0ts8TngREwDchVKrnKRwRobckVnwcIKFcq4ONrkY8IWBT2SHUq5eEE3Khs/CRm6Z1+8V5sqVQ26/M5gHuhSJ79TqUFmIhOj/ppwQ8/Rshqb5yiWXFQFhsaWeU352UU0KaXlc2mBI1+Y3OzjyO/Gm2kSAIKFQ2awfQ+v3oP23gL/K5oUhh0GPiEZG8KxP97FHULgsqwtTUFCDioqHsGCRipaHA8BQjQrAcyg4roj5KVAgSMUtRNDyqVj0wBAlQ2koBuRf3xKUBAvqJuN1eCrYpAiHNAltNjpyFYDfL47oix38wdmDA5AvYr+kjzWRgcLVcqnKfsJwGNyk5u9TEBtyjrNwaVgRClTPKA/Db8aVOZslkDG2nD2vEuOkqGlLmYpHcGJLlJu8LjtvJFgx06Jvnq8xC33gUBeUE4waWjduua5wdVPrr6VS6cr6PvoXv5Ixed3g3mH/fB1V9OW1w07fM5IEouUEZR4bIWWJzsTRJ55r8I3ONSRRFs3hsIU8hkgkkulf0CPAx8qElQcuk4beYp9Epgoks138LOvqSPgfyAzIwMZlnFSobgIegc4H3gH6AkxmKDub9Mjb0DeoYDrZ1dne0eO14AvfPx8RXgAYaycahbBvt+GLgFpIM0md3PjqrMTMxpYKxB6p1v+s/n7bbSuMCqldmZyc+fRh9ND+IsAxrmG3C3qtj0J1uP84hLrnwnwJbjEQRIxzw0XB2jER93C9Bog9TjsRgzLpzuJr0BzHV6e8gwf9XoziqdCv1YE/oSTQBHwfem/3w+5syPxuukLtfdO0zk+WIs+YuPKLQ7ohzyWTIix3joPPMTLg1d/Yg5gIL7ogf32U/4WGGhYDr+34J6bUALPpPA62w6XYMOP9BaCv3HoD/PeJubODN6U/eEq4cKTIurttpBAZ4L+87TmKdtOt0ah8FbPXS+WnyLEKskqUy5FaweM5dA2e6w+pNkZuajhfMD3/zYBfDKb3Y6+cWwgytOL7bh98nQ73BEgHReIvd4Roy/a6Cs3CRYJOnq7zjV8HWcybC33mpLLKZIA84FPRYhcSokUNL2Civnjd0MjoZbUCy0+PtNkDDD5wQsFB8sxWm2+GJZd8eSt4HnZXnZ66Nb4CHYYxuxat4XmI1inbHeczskq77DMrK4z8AgK3+Q/L5EEMBn/PzQos0zAsQgvg5XY3TpNKOTSAD3NsrQX63TBqq9PVHM9NgvfXi/06ZSjfNqAoQEHj9Pled+pw8cpw2co6aKbSoJxDlJnYniKdP/sqSVrrEw7IBL/TnG+rSXEy7fYVoG/S1uffDkzVEYypB1qewJRCdb5rp9yxN6mQDZFmOS2wisCIXo8Yin7w7LiKiQEcFYfhOMnBmnzo1CLIO09Qyt47niJxDQ29trTmY56Qn4X4ABAFR7IoDmVT5NAAAAAElFTkSuQmCC",jc="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACAAQMAAAD58POIAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZQTFRFyzg3////IltC9QAAAAFiS0dEAf8CLd4AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAkSURBVEjHY2AYBYMV/IeDUQG4AJgeFRgVGBUYFSBNYBQMPgAARjtdvxo6xaMAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTEtMDUtMzBUMjM6MTA6NDQtMDc6MDCm4GvfAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEwLTEyLTA2VDEyOjIwOjEyLTA4OjAwpIGEmQAAADJ0RVh0UE5HOmNIUk0AY2h1bmsgd2FzIGZvdW5kIChzZWUgQ2hyb21hdGljaXR5LCBhYm92ZSkH0UjaAAAAKXRFWHRQTkc6Z0FNQQBnYW1tYT0wLjQ1NDU1IChTZWUgR2FtbWEsIGFib3ZlKRISLKcAAAAUdEVYdFBORzpJSERSLmJpdF9kZXB0aAA4KYV+UAAAABV0RVh0UE5HOklIRFIuY29sb3JfdHlwZQA2BkqnKwAAABt0RVh0UE5HOklIRFIuaW50ZXJsYWNlX21ldGhvZAAw+zsHjAAAABx0RVh0UE5HOklIRFIud2lkdGgsaGVpZ2h0ADE2LCAxNjjVBg0AAAAodEVYdFBORzpwSFlzAHhfcmVzPTI4MzUsIHlfcmVzPTI4MzUsIHVuaXRzPTGCKXI+AAAAKHRFWHRQTkc6c1JHQgBpbnRlbnQ9MCAoU2VlIFJlbmRlcmluZyBpbnRlbnQp8hEU9QAAAABJRU5ErkJggg==",$c=(t,e)=>{const s=t.__vccOpts||t;for(const[n,i]of e)s[n]=i;return s},Wc={ref:"nav"},zc={class:"nav-content",ref:"navContent"};function Gc(t,e,s,n,i,r){const o=Vn("CarbonAd"),l=Vn("router-view");return Jt(),Ir(Re,null,[e[4]||(e[4]=Ho('

Slim Select 2.0

Advanced select dropdown
',1)),Je("nav",null,[Je("select",Wc,null,512),Je("div",zc,null,512),de(o)]),Je("main",null,[de(l),Je("footer",null,[hs(" © "+Bi(t.year)+" ",1),e[0]||(e[0]=Je("a",{href:"http://webiswhatido.com",style:{color:"#ffffff"},target:"_blank"},"Brian Voelker",-1)),e[1]||(e[1]=hs(". ")),e[2]||(e[2]=Je("br",null,null,-1)),e[3]||(e[3]=hs(" Slim Select is under the MIT license. "))])])],64)}const Kc=$c(Vc,[["render",Gc]]);var Li=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function el(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ks={exports:{}},Pi;function qc(){return Pi||(Pi=1,function(t){var e=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};/** * Prism: Lightweight, robust, elegant syntax highlighting * * @license MIT * @author Lea Verou * @namespace * @public - */var s=function(n){var i=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,r=0,l={},o={manual:n.Prism&&n.Prism.manual,disableWorkerMessageHandler:n.Prism&&n.Prism.disableWorkerMessageHandler,util:{encode:function g(b){return b instanceof a?new a(b.type,g(b.content),b.alias):Array.isArray(b)?b.map(g):b.replace(/&/g,"&").replace(/"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw new Error}catch(E){var g=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(E.stack)||[])[1];if(g){var b=document.getElementsByTagName("script");for(var y in b)if(b[y].src==g)return b[y]}return null}},isActive:function(g,b,y){for(var E="no-"+b;g;){var _=g.classList;if(_.contains(b))return!0;if(_.contains(E))return!1;g=g.parentElement}return!!y}},languages:{plain:l,plaintext:l,text:l,txt:l,extend:function(g,b){var y=o.util.clone(o.languages[g]);for(var E in b)y[E]=b[E];return y},insertBefore:function(g,b,y,E){E=E||o.languages;var _=E[g],F={};for(var W in _)if(_.hasOwnProperty(W)){if(W==b)for(var H in y)y.hasOwnProperty(H)&&(F[H]=y[H]);y.hasOwnProperty(W)||(F[W]=_[W])}var q=E[g];return E[g]=F,o.languages.DFS(o.languages,function(re,de){de===q&&re!=g&&(this[re]=F)}),F},DFS:function g(b,y,E,_){_=_||{};var F=o.util.objId;for(var W in b)if(b.hasOwnProperty(W)){y.call(b,W,b[W],E||W);var H=b[W],q=o.util.type(H);q==="Object"&&!_[F(H)]?(_[F(H)]=!0,g(H,y,null,_)):q==="Array"&&!_[F(H)]&&(_[F(H)]=!0,g(H,y,W,_))}}},plugins:{},highlightAll:function(g,b){o.highlightAllUnder(document,g,b)},highlightAllUnder:function(g,b,y){var E={callback:y,container:g,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};o.hooks.run("before-highlightall",E),E.elements=Array.prototype.slice.apply(E.container.querySelectorAll(E.selector)),o.hooks.run("before-all-elements-highlight",E);for(var _=0,F;F=E.elements[_++];)o.highlightElement(F,b===!0,E.callback)},highlightElement:function(g,b,y){var E=o.util.getLanguage(g),_=o.languages[E];o.util.setLanguage(g,E);var F=g.parentElement;F&&F.nodeName.toLowerCase()==="pre"&&o.util.setLanguage(F,E);var W=g.textContent,H={element:g,language:E,grammar:_,code:W};function q(de){H.highlightedCode=de,o.hooks.run("before-insert",H),H.element.innerHTML=H.highlightedCode,o.hooks.run("after-highlight",H),o.hooks.run("complete",H),y&&y.call(H.element)}if(o.hooks.run("before-sanity-check",H),F=H.element.parentElement,F&&F.nodeName.toLowerCase()==="pre"&&!F.hasAttribute("tabindex")&&F.setAttribute("tabindex","0"),!H.code){o.hooks.run("complete",H),y&&y.call(H.element);return}if(o.hooks.run("before-highlight",H),!H.grammar){q(o.util.encode(H.code));return}if(b&&n.Worker){var re=new Worker(o.filename);re.onmessage=function(de){q(de.data)},re.postMessage(JSON.stringify({language:H.language,code:H.code,immediateClose:!0}))}else q(o.highlight(H.code,H.grammar,H.language))},highlight:function(g,b,y){var E={code:g,grammar:b,language:y};if(o.hooks.run("before-tokenize",E),!E.grammar)throw new Error('The language "'+E.language+'" has no grammar.');return E.tokens=o.tokenize(E.code,E.grammar),o.hooks.run("after-tokenize",E),a.stringify(o.util.encode(E.tokens),E.language)},tokenize:function(g,b){var y=b.rest;if(y){for(var E in y)b[E]=y[E];delete b.rest}var _=new f;return p(_,_.head,g),c(g,_,b,_.head,0),T(_)},hooks:{all:{},add:function(g,b){var y=o.hooks.all;y[g]=y[g]||[],y[g].push(b)},run:function(g,b){var y=o.hooks.all[g];if(!(!y||!y.length))for(var E=0,_;_=y[E++];)_(b)}},Token:a};n.Prism=o;function a(g,b,y,E){this.type=g,this.content=b,this.alias=y,this.length=(E||"").length|0}a.stringify=function g(b,y){if(typeof b=="string")return b;if(Array.isArray(b)){var E="";return b.forEach(function(q){E+=g(q,y)}),E}var _={type:b.type,content:g(b.content,y),tag:"span",classes:["token",b.type],attributes:{},language:y},F=b.alias;F&&(Array.isArray(F)?Array.prototype.push.apply(_.classes,F):_.classes.push(F)),o.hooks.run("wrap",_);var W="";for(var H in _.attributes)W+=" "+H+'="'+(_.attributes[H]||"").replace(/"/g,""")+'"';return"<"+_.tag+' class="'+_.classes.join(" ")+'"'+W+">"+_.content+""};function u(g,b,y,E){g.lastIndex=b;var _=g.exec(y);if(_&&E&&_[1]){var F=_[1].length;_.index+=F,_[0]=_[0].slice(F)}return _}function c(g,b,y,E,_,F){for(var W in y)if(!(!y.hasOwnProperty(W)||!y[W])){var H=y[W];H=Array.isArray(H)?H:[H];for(var q=0;q=F.reach);ae+=j.value.length,j=j.next){var ye=j.value;if(b.length>g.length)return;if(!(ye instanceof a)){var we=1,te;if(nt){if(te=u(Q,ae,g,_e),!te||te.index>=g.length)break;var fe=te.index,rt=te.index+te[0].length,Ae=ae;for(Ae+=j.value.length;fe>=Ae;)j=j.next,Ae+=j.value.length;if(Ae-=j.value.length,ae=Ae,j.value instanceof a)continue;for(var He=j;He!==b.tail&&(AeF.reach&&(F.reach=B);var Y=j.prev;M&&(Y=p(b,Y,M),ae+=M.length),v(b,Y,we);var h=new a(W,de?o.tokenize(w,de):w,it,w);if(j=p(b,Y,h),k&&p(b,j,k),we>1){var d={cause:W+","+q,reach:B};c(g,b,y,j.prev,ae,d),F&&d.reach>F.reach&&(F.reach=d.reach)}}}}}}function f(){var g={value:null,prev:null,next:null},b={value:null,prev:g,next:null};g.next=b,this.head=g,this.tail=b,this.length=0}function p(g,b,y){var E=b.next,_={value:y,prev:b,next:E};return b.next=_,E.prev=_,g.length++,_}function v(g,b,y){for(var E=b.next,_=0;_/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},s.languages.markup.tag.inside["attr-value"].inside.entity=s.languages.markup.entity,s.languages.markup.doctype.inside["internal-subset"].inside=s.languages.markup,s.hooks.add("wrap",function(n){n.type==="entity"&&(n.attributes.title=n.content.replace(/&/,"&"))}),Object.defineProperty(s.languages.markup.tag,"addInlined",{value:function(i,r){var l={};l["language-"+r]={pattern:/(^$)/i,lookbehind:!0,inside:s.languages[r]},l.cdata=/^$/i;var o={"included-cdata":{pattern://i,inside:l}};o["language-"+r]={pattern:/[\s\S]+/,inside:s.languages[r]};var a={};a[i]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,function(){return i}),"i"),lookbehind:!0,greedy:!0,inside:o},s.languages.insertBefore("markup","cdata",a)}}),Object.defineProperty(s.languages.markup.tag,"addAttribute",{value:function(n,i){s.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+n+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[i,"language-"+i],inside:s.languages[i]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),s.languages.html=s.languages.markup,s.languages.mathml=s.languages.markup,s.languages.svg=s.languages.markup,s.languages.xml=s.languages.extend("markup",{}),s.languages.ssml=s.languages.xml,s.languages.atom=s.languages.xml,s.languages.rss=s.languages.xml,function(n){var i=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;n.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+i.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+i.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+i.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+i.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:i,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},n.languages.css.atrule.inside.rest=n.languages.css;var r=n.languages.markup;r&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css"))}(s),s.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},s.languages.javascript=s.languages.extend("clike",{"class-name":[s.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),s.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,s.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:s.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:s.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:s.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:s.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:s.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),s.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:s.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),s.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),s.languages.markup&&(s.languages.markup.tag.addInlined("script","javascript"),s.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),s.languages.js=s.languages.javascript,function(){if(typeof s>"u"||typeof document>"u")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var n="Loading…",i=function(O,D){return"✖ Error "+O+" while fetching file: "+D},r="✖ Error: File does not exist or is empty",l={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},o="data-src-status",a="loading",u="loaded",c="failed",f="pre[data-src]:not(["+o+'="'+u+'"]):not(['+o+'="'+a+'"])';function p(O,D,L){var g=new XMLHttpRequest;g.open("GET",O,!0),g.onreadystatechange=function(){g.readyState==4&&(g.status<400&&g.responseText?D(g.responseText):g.status>=400?L(i(g.status,g.statusText)):L(r))},g.send(null)}function v(O){var D=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(O||"");if(D){var L=Number(D[1]),g=D[2],b=D[3];return g?b?[L,Number(b)]:[L,void 0]:[L,L]}}s.hooks.add("before-highlightall",function(O){O.selector+=", "+f}),s.hooks.add("before-sanity-check",function(O){var D=O.element;if(D.matches(f)){O.code="",D.setAttribute(o,a);var L=D.appendChild(document.createElement("CODE"));L.textContent=n;var g=D.getAttribute("data-src"),b=O.language;if(b==="none"){var y=(/\.(\w+)$/.exec(g)||[,"none"])[1];b=l[y]||y}s.util.setLanguage(L,b),s.util.setLanguage(D,b);var E=s.plugins.autoloader;E&&E.loadLanguages(b),p(g,function(_){D.setAttribute(o,u);var F=v(D.getAttribute("data-range"));if(F){var W=_.split(/\r\n?|\n/g),H=F[0],q=F[1]==null?W.length:F[1];H<0&&(H+=W.length),H=Math.max(0,Math.min(H-1,W.length)),q<0&&(q+=W.length),q=Math.max(0,Math.min(q,W.length)),_=W.slice(H,q).join(` -`),D.hasAttribute("data-start")||D.setAttribute("data-start",String(H+1))}L.textContent=_,s.highlightElement(L)},function(_){D.setAttribute(o,c),L.textContent=_})}}),s.plugins.fileHighlight={highlight:function(D){for(var L=(D||document).querySelectorAll(f),g=0,b;b=L[g++];)s.highlightElement(b)}};var T=!1;s.fileHighlight=function(){T||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),T=!0),s.plugins.fileHighlight.highlight.apply(this,arguments)}}()}(Gs)),Gs.exports}var Yc=qc();const Qc=el(Yc);var Ks={exports:{}},Li;function Jc(){return Li||(Li=1,function(t){(function(){if(typeof Prism>"u")return;var e=Object.assign||function(l,o){for(var a in o)o.hasOwnProperty(a)&&(l[a]=o[a]);return l};function s(l){this.defaults=e({},l)}function n(l){return l.replace(/-(\w)/g,function(o,a){return a.toUpperCase()})}function i(l){for(var o=0,a=0;ao&&(c[p]=` + */var s=function(n){var i=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,r=0,o={},l={manual:n.Prism&&n.Prism.manual,disableWorkerMessageHandler:n.Prism&&n.Prism.disableWorkerMessageHandler,util:{encode:function g(b){return b instanceof a?new a(b.type,g(b.content),b.alias):Array.isArray(b)?b.map(g):b.replace(/&/g,"&").replace(/"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw new Error}catch(E){var g=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(E.stack)||[])[1];if(g){var b=document.getElementsByTagName("script");for(var y in b)if(b[y].src==g)return b[y]}return null}},isActive:function(g,b,y){for(var E="no-"+b;g;){var _=g.classList;if(_.contains(b))return!0;if(_.contains(E))return!1;g=g.parentElement}return!!y}},languages:{plain:o,plaintext:o,text:o,txt:o,extend:function(g,b){var y=l.util.clone(l.languages[g]);for(var E in b)y[E]=b[E];return y},insertBefore:function(g,b,y,E){E=E||l.languages;var _=E[g],F={};for(var z in _)if(_.hasOwnProperty(z)){if(z==b)for(var H in y)y.hasOwnProperty(H)&&(F[H]=y[H]);y.hasOwnProperty(z)||(F[z]=_[z])}var q=E[g];return E[g]=F,l.languages.DFS(l.languages,function(re,pe){pe===q&&re!=g&&(this[re]=F)}),F},DFS:function g(b,y,E,_){_=_||{};var F=l.util.objId;for(var z in b)if(b.hasOwnProperty(z)){y.call(b,z,b[z],E||z);var H=b[z],q=l.util.type(H);q==="Object"&&!_[F(H)]?(_[F(H)]=!0,g(H,y,null,_)):q==="Array"&&!_[F(H)]&&(_[F(H)]=!0,g(H,y,z,_))}}},plugins:{},highlightAll:function(g,b){l.highlightAllUnder(document,g,b)},highlightAllUnder:function(g,b,y){var E={callback:y,container:g,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};l.hooks.run("before-highlightall",E),E.elements=Array.prototype.slice.apply(E.container.querySelectorAll(E.selector)),l.hooks.run("before-all-elements-highlight",E);for(var _=0,F;F=E.elements[_++];)l.highlightElement(F,b===!0,E.callback)},highlightElement:function(g,b,y){var E=l.util.getLanguage(g),_=l.languages[E];l.util.setLanguage(g,E);var F=g.parentElement;F&&F.nodeName.toLowerCase()==="pre"&&l.util.setLanguage(F,E);var z=g.textContent,H={element:g,language:E,grammar:_,code:z};function q(pe){H.highlightedCode=pe,l.hooks.run("before-insert",H),H.element.innerHTML=H.highlightedCode,l.hooks.run("after-highlight",H),l.hooks.run("complete",H),y&&y.call(H.element)}if(l.hooks.run("before-sanity-check",H),F=H.element.parentElement,F&&F.nodeName.toLowerCase()==="pre"&&!F.hasAttribute("tabindex")&&F.setAttribute("tabindex","0"),!H.code){l.hooks.run("complete",H),y&&y.call(H.element);return}if(l.hooks.run("before-highlight",H),!H.grammar){q(l.util.encode(H.code));return}if(b&&n.Worker){var re=new Worker(l.filename);re.onmessage=function(pe){q(pe.data)},re.postMessage(JSON.stringify({language:H.language,code:H.code,immediateClose:!0}))}else q(l.highlight(H.code,H.grammar,H.language))},highlight:function(g,b,y){var E={code:g,grammar:b,language:y};if(l.hooks.run("before-tokenize",E),!E.grammar)throw new Error('The language "'+E.language+'" has no grammar.');return E.tokens=l.tokenize(E.code,E.grammar),l.hooks.run("after-tokenize",E),a.stringify(l.util.encode(E.tokens),E.language)},tokenize:function(g,b){var y=b.rest;if(y){for(var E in y)b[E]=y[E];delete b.rest}var _=new f;return p(_,_.head,g),c(g,_,b,_.head,0),T(_)},hooks:{all:{},add:function(g,b){var y=l.hooks.all;y[g]=y[g]||[],y[g].push(b)},run:function(g,b){var y=l.hooks.all[g];if(!(!y||!y.length))for(var E=0,_;_=y[E++];)_(b)}},Token:a};n.Prism=l;function a(g,b,y,E){this.type=g,this.content=b,this.alias=y,this.length=(E||"").length|0}a.stringify=function g(b,y){if(typeof b=="string")return b;if(Array.isArray(b)){var E="";return b.forEach(function(q){E+=g(q,y)}),E}var _={type:b.type,content:g(b.content,y),tag:"span",classes:["token",b.type],attributes:{},language:y},F=b.alias;F&&(Array.isArray(F)?Array.prototype.push.apply(_.classes,F):_.classes.push(F)),l.hooks.run("wrap",_);var z="";for(var H in _.attributes)z+=" "+H+'="'+(_.attributes[H]||"").replace(/"/g,""")+'"';return"<"+_.tag+' class="'+_.classes.join(" ")+'"'+z+">"+_.content+""};function u(g,b,y,E){g.lastIndex=b;var _=g.exec(y);if(_&&E&&_[1]){var F=_[1].length;_.index+=F,_[0]=_[0].slice(F)}return _}function c(g,b,y,E,_,F){for(var z in y)if(!(!y.hasOwnProperty(z)||!y[z])){var H=y[z];H=Array.isArray(H)?H:[H];for(var q=0;q=F.reach);ae+=j.value.length,j=j.next){var ye=j.value;if(b.length>g.length)return;if(!(ye instanceof a)){var we=1,te;if(lt){if(te=u(Q,ae,g,Te),!te||te.index>=g.length)break;var fe=te.index,at=te.index+te[0].length,Ae=ae;for(Ae+=j.value.length;fe>=Ae;)j=j.next,Ae+=j.value.length;if(Ae-=j.value.length,ae=Ae,j.value instanceof a)continue;for(var He=j;He!==b.tail&&(AeF.reach&&(F.reach=B);var Y=j.prev;N&&(Y=p(b,Y,N),ae+=N.length),v(b,Y,we);var h=new a(z,pe?l.tokenize(w,pe):w,ot,w);if(j=p(b,Y,h),k&&p(b,j,k),we>1){var d={cause:z+","+q,reach:B};c(g,b,y,j.prev,ae,d),F&&d.reach>F.reach&&(F.reach=d.reach)}}}}}}function f(){var g={value:null,prev:null,next:null},b={value:null,prev:g,next:null};g.next=b,this.head=g,this.tail=b,this.length=0}function p(g,b,y){var E=b.next,_={value:y,prev:b,next:E};return b.next=_,E.prev=_,g.length++,_}function v(g,b,y){for(var E=b.next,_=0;_/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},s.languages.markup.tag.inside["attr-value"].inside.entity=s.languages.markup.entity,s.languages.markup.doctype.inside["internal-subset"].inside=s.languages.markup,s.hooks.add("wrap",function(n){n.type==="entity"&&(n.attributes.title=n.content.replace(/&/,"&"))}),Object.defineProperty(s.languages.markup.tag,"addInlined",{value:function(i,r){var o={};o["language-"+r]={pattern:/(^$)/i,lookbehind:!0,inside:s.languages[r]},o.cdata=/^$/i;var l={"included-cdata":{pattern://i,inside:o}};l["language-"+r]={pattern:/[\s\S]+/,inside:s.languages[r]};var a={};a[i]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,function(){return i}),"i"),lookbehind:!0,greedy:!0,inside:l},s.languages.insertBefore("markup","cdata",a)}}),Object.defineProperty(s.languages.markup.tag,"addAttribute",{value:function(n,i){s.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+n+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[i,"language-"+i],inside:s.languages[i]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),s.languages.html=s.languages.markup,s.languages.mathml=s.languages.markup,s.languages.svg=s.languages.markup,s.languages.xml=s.languages.extend("markup",{}),s.languages.ssml=s.languages.xml,s.languages.atom=s.languages.xml,s.languages.rss=s.languages.xml,function(n){var i=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;n.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+i.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+i.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+i.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+i.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:i,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},n.languages.css.atrule.inside.rest=n.languages.css;var r=n.languages.markup;r&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css"))}(s),s.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},s.languages.javascript=s.languages.extend("clike",{"class-name":[s.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),s.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,s.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:s.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:s.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:s.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:s.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:s.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),s.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:s.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),s.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),s.languages.markup&&(s.languages.markup.tag.addInlined("script","javascript"),s.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),s.languages.js=s.languages.javascript,function(){if(typeof s>"u"||typeof document>"u")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var n="Loading…",i=function(O,D){return"✖ Error "+O+" while fetching file: "+D},r="✖ Error: File does not exist or is empty",o={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},l="data-src-status",a="loading",u="loaded",c="failed",f="pre[data-src]:not(["+l+'="'+u+'"]):not(['+l+'="'+a+'"])';function p(O,D,L){var g=new XMLHttpRequest;g.open("GET",O,!0),g.onreadystatechange=function(){g.readyState==4&&(g.status<400&&g.responseText?D(g.responseText):g.status>=400?L(i(g.status,g.statusText)):L(r))},g.send(null)}function v(O){var D=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(O||"");if(D){var L=Number(D[1]),g=D[2],b=D[3];return g?b?[L,Number(b)]:[L,void 0]:[L,L]}}s.hooks.add("before-highlightall",function(O){O.selector+=", "+f}),s.hooks.add("before-sanity-check",function(O){var D=O.element;if(D.matches(f)){O.code="",D.setAttribute(l,a);var L=D.appendChild(document.createElement("CODE"));L.textContent=n;var g=D.getAttribute("data-src"),b=O.language;if(b==="none"){var y=(/\.(\w+)$/.exec(g)||[,"none"])[1];b=o[y]||y}s.util.setLanguage(L,b),s.util.setLanguage(D,b);var E=s.plugins.autoloader;E&&E.loadLanguages(b),p(g,function(_){D.setAttribute(l,u);var F=v(D.getAttribute("data-range"));if(F){var z=_.split(/\r\n?|\n/g),H=F[0],q=F[1]==null?z.length:F[1];H<0&&(H+=z.length),H=Math.max(0,Math.min(H-1,z.length)),q<0&&(q+=z.length),q=Math.max(0,Math.min(q,z.length)),_=z.slice(H,q).join(` +`),D.hasAttribute("data-start")||D.setAttribute("data-start",String(H+1))}L.textContent=_,s.highlightElement(L)},function(_){D.setAttribute(l,c),L.textContent=_})}}),s.plugins.fileHighlight={highlight:function(D){for(var L=(D||document).querySelectorAll(f),g=0,b;b=L[g++];)s.highlightElement(b)}};var T=!1;s.fileHighlight=function(){T||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),T=!0),s.plugins.fileHighlight.highlight.apply(this,arguments)}}()}(Ks)),Ks.exports}var Yc=qc();const Qc=el(Yc);var qs={exports:{}},Ri;function Jc(){return Ri||(Ri=1,function(t){(function(){if(typeof Prism>"u")return;var e=Object.assign||function(o,l){for(var a in l)l.hasOwnProperty(a)&&(o[a]=l[a]);return o};function s(o){this.defaults=e({},o)}function n(o){return o.replace(/-(\w)/g,function(l,a){return a.toUpperCase()})}function i(o){for(var l=0,a=0;al&&(c[p]=` `+c[p],f=v)}a[u]=c.join("")}return a.join(` -`)}},t.exports&&(t.exports=s),Prism.plugins.NormalizeWhitespace=new s({"remove-trailing":!0,"remove-indent":!0,"left-trim":!0,"right-trim":!0}),Prism.hooks.add("before-sanity-check",function(l){var o=Prism.plugins.NormalizeWhitespace;if(!(l.settings&&l.settings["whitespace-normalization"]===!1)&&Prism.util.isActive(l.element,"whitespace-normalization",!0)){if((!l.element||!l.element.parentNode)&&l.code){l.code=o.normalize(l.code,l.settings);return}var a=l.element.parentNode;if(!(!l.code||!a||a.nodeName.toLowerCase()!=="pre")){l.settings==null&&(l.settings={});for(var u in r)if(Object.hasOwnProperty.call(r,u)){var c=r[u];if(a.hasAttribute("data-"+u))try{var f=JSON.parse(a.getAttribute("data-"+u)||"true");typeof f===c&&(l.settings[u]=f)}catch{}}for(var p=a.childNodes,v="",T="",O=!1,D=0;D"u"||typeof document>"u")return;var t=[],e={},s=function(){};Prism.plugins.toolbar={};var n=Prism.plugins.toolbar.registerButton=function(l,o){var a;if(typeof o=="function"?a=o:a=function(u){var c;return typeof o.onClick=="function"?(c=document.createElement("button"),c.type="button",c.addEventListener("click",function(){o.onClick.call(this,u)})):typeof o.url=="string"?(c=document.createElement("a"),c.href=o.url):c=document.createElement("span"),o.className&&c.classList.add(o.className),c.textContent=o.text,c},l in e){console.warn('There is a button with the key "'+l+'" registered already.');return}t.push(e[l]=a)};function i(l){for(;l;){var o=l.getAttribute("data-toolbar-order");if(o!=null)return o=o.trim(),o.length?o.split(/\s*,\s*/g):[];l=l.parentElement}}var r=Prism.plugins.toolbar.hook=function(l){var o=l.element.parentNode;if(!(!o||!/pre/i.test(o.nodeName))&&!o.parentNode.classList.contains("code-toolbar")){var a=document.createElement("div");a.classList.add("code-toolbar"),o.parentNode.insertBefore(a,o),a.appendChild(o);var u=document.createElement("div");u.classList.add("toolbar");var c=t,f=i(l.element);f&&(c=f.map(function(p){return e[p]||s})),c.forEach(function(p){var v=p(l);if(v){var T=document.createElement("div");T.classList.add("toolbar-item"),T.appendChild(v),u.appendChild(T)}}),a.appendChild(u)}};n("label",function(l){var o=l.element.parentNode;if(!(!o||!/pre/i.test(o.nodeName))&&o.hasAttribute("data-label")){var a,u,c=o.getAttribute("data-label");try{u=document.querySelector("template#"+c)}catch{}return u?a=u.content:(o.hasAttribute("data-url")?(a=document.createElement("a"),a.href=o.getAttribute("data-url")):a=document.createElement("span"),a.textContent=c),a}}),Prism.hooks.add("complete",r)})();new Xc({"remove-trailing":!0,"remove-indent":!0,"left-trim":!0,"right-trim":!0});const Rn=wa(Kc);Rn.use(Tc);Rn.mixin({updated(){Qc.highlightAll()}});Rn.mount("#app");export{Re as F,ue as O,Mc as S,$c as _,Je as a,Ho as b,Ir as c,Os as d,fs as e,he as f,el as g,eu as h,Vo as i,tr as j,dr as k,tu as l,gn as n,Qt as o,Bn as r,Ni as t,Wl as w}; +`)}},t.exports&&(t.exports=s),Prism.plugins.NormalizeWhitespace=new s({"remove-trailing":!0,"remove-indent":!0,"left-trim":!0,"right-trim":!0}),Prism.hooks.add("before-sanity-check",function(o){var l=Prism.plugins.NormalizeWhitespace;if(!(o.settings&&o.settings["whitespace-normalization"]===!1)&&Prism.util.isActive(o.element,"whitespace-normalization",!0)){if((!o.element||!o.element.parentNode)&&o.code){o.code=l.normalize(o.code,o.settings);return}var a=o.element.parentNode;if(!(!o.code||!a||a.nodeName.toLowerCase()!=="pre")){o.settings==null&&(o.settings={});for(var u in r)if(Object.hasOwnProperty.call(r,u)){var c=r[u];if(a.hasAttribute("data-"+u))try{var f=JSON.parse(a.getAttribute("data-"+u)||"true");typeof f===c&&(o.settings[u]=f)}catch{}}for(var p=a.childNodes,v="",T="",O=!1,D=0;D"u"||typeof document>"u")return;var t=[],e={},s=function(){};Prism.plugins.toolbar={};var n=Prism.plugins.toolbar.registerButton=function(o,l){var a;if(typeof l=="function"?a=l:a=function(u){var c;return typeof l.onClick=="function"?(c=document.createElement("button"),c.type="button",c.addEventListener("click",function(){l.onClick.call(this,u)})):typeof l.url=="string"?(c=document.createElement("a"),c.href=l.url):c=document.createElement("span"),l.className&&c.classList.add(l.className),c.textContent=l.text,c},o in e){console.warn('There is a button with the key "'+o+'" registered already.');return}t.push(e[o]=a)};function i(o){for(;o;){var l=o.getAttribute("data-toolbar-order");if(l!=null)return l=l.trim(),l.length?l.split(/\s*,\s*/g):[];o=o.parentElement}}var r=Prism.plugins.toolbar.hook=function(o){var l=o.element.parentNode;if(!(!l||!/pre/i.test(l.nodeName))&&!l.parentNode.classList.contains("code-toolbar")){var a=document.createElement("div");a.classList.add("code-toolbar"),l.parentNode.insertBefore(a,l),a.appendChild(l);var u=document.createElement("div");u.classList.add("toolbar");var c=t,f=i(o.element);f&&(c=f.map(function(p){return e[p]||s})),c.forEach(function(p){var v=p(o);if(v){var T=document.createElement("div");T.classList.add("toolbar-item"),T.appendChild(v),u.appendChild(T)}}),a.appendChild(u)}};n("label",function(o){var l=o.element.parentNode;if(!(!l||!/pre/i.test(l.nodeName))&&l.hasAttribute("data-label")){var a,u,c=l.getAttribute("data-label");try{u=document.querySelector("template#"+c)}catch{}return u?a=u.content:(l.hasAttribute("data-url")?(a=document.createElement("a"),a.href=l.getAttribute("data-url")):a=document.createElement("span"),a.textContent=c),a}}),Prism.hooks.add("complete",r)})();new Xc({"remove-trailing":!0,"remove-indent":!0,"left-trim":!0,"right-trim":!0});const kn=wa(Kc);kn.use(Tc);kn.mixin({updated(){Qc.highlightAll()}});kn.mount("#app");export{Re as F,ue as O,Mc as S,$c as _,Je as a,Ho as b,Ir as c,Ts as d,hs as e,de as f,el as g,eu as h,Vo as i,sr as j,pr as k,tu as l,mn as n,Jt as o,Vn as r,Bi as t,Wl as w}; diff --git a/docs/assets/index5.js b/docs/assets/index5.js index 7ab89bec..5bbe0323 100644 --- a/docs/assets/index5.js +++ b/docs/assets/index5.js @@ -4,7 +4,7 @@ import{d,S as i,_ as p,c as o,a as t,e as s,o as a,i as m,t as h,b as O,f as u,w }) select.destroy() `),s(` - `)],-1))])}const G=p(C,[["render",j]]),N=d({name:"EnableDisable",data(){return{setEnableSingle:null,setEnableMultiple:null}},mounted(){this.setEnableSingle=new i({select:this.$refs.setEnableSingle}),this.setEnableMultiple=new i({select:this.$refs.setEnableMultiple})},methods:{setEnable(){this.setEnableSingle.enable(),this.setEnableMultiple.enable()},setDisable(){this.setEnableSingle.disable(),this.setEnableMultiple.disable()}}}),I={id:"enableDisable",class:"content"},_={class:"row"},B={ref:"setEnableSingle",disabled:""},W={ref:"setEnableMultiple",multiple:"",disabled:""};function A(l,e,c,v,g,S){return a(),o("div",I,[e[4]||(e[4]=t("h2",{class:"header"},"enable / disable",-1)),e[5]||(e[5]=t("p",null,[s(" These methods will enable or disable the select dropdown. "),t("br"),s(" You may also set disabled on your original select and slim-select will pick that up. ")],-1)),t("div",_,[l.setEnableSingle&&l.setEnableSingle.settings.disabled?(a(),o("div",{key:0,class:"btn",onClick:e[0]||(e[0]=(...n)=>l.setEnable&&l.setEnable(...n))},"Enable")):(a(),o("div",{key:1,class:"btn",onClick:e[1]||(e[1]=(...n)=>l.setDisable&&l.setDisable(...n))},"Disable")),t("select",B,e[2]||(e[2]=[t("option",{value:"value1"},"Value 1",-1),t("option",{value:"value2"},"Value 2",-1),t("option",{value:"value3"},"Value 3",-1)]),512),t("select",W,e[3]||(e[3]=[t("option",{value:"value1"},"Value 1",-1),t("option",{value:"value2"},"Value 2",-1),t("option",{value:"value3"},"Value 3",-1)]),512)]),e[6]||(e[6]=t("pre",null,[s(" "),t("code",{class:"language-javascript"},` + `)],-1))])}const G=p(C,[["render",j]]),N=d({name:"EnableDisable",data(){return{setEnableSingle:null,setEnableMultiple:null}},mounted(){this.setEnableSingle=new i({select:this.$refs.setEnableSingle}),this.setEnableMultiple=new i({select:this.$refs.setEnableMultiple})},methods:{setEnable(){this.setEnableSingle.enable(),this.setEnableMultiple.enable()},setDisable(){this.setEnableSingle.disable(),this.setEnableMultiple.disable()}}}),_={id:"enableDisable",class:"content"},I={class:"row"},B={ref:"setEnableSingle",disabled:""},W={ref:"setEnableMultiple",multiple:"",disabled:""};function A(l,e,c,v,g,S){return a(),o("div",_,[e[4]||(e[4]=t("h2",{class:"header"},"enable / disable",-1)),e[5]||(e[5]=t("p",null,[s(" These methods will enable or disable the select dropdown. "),t("br"),s(" You may also set disabled on your original select and slim-select will pick that up. ")],-1)),t("div",I,[l.setEnableSingle&&l.setEnableSingle.settings.disabled?(a(),o("div",{key:0,class:"btn",onClick:e[0]||(e[0]=(...n)=>l.setEnable&&l.setEnable(...n))},"Enable")):(a(),o("div",{key:1,class:"btn",onClick:e[1]||(e[1]=(...n)=>l.setDisable&&l.setDisable(...n))},"Disable")),t("select",B,e[2]||(e[2]=[t("option",{value:"value1"},"Value 1",-1),t("option",{value:"value2"},"Value 2",-1),t("option",{value:"value3"},"Value 3",-1)]),512),t("select",W,e[3]||(e[3]=[t("option",{value:"value1"},"Value 1",-1),t("option",{value:"value2"},"Value 2",-1),t("option",{value:"value3"},"Value 3",-1)]),512)]),e[6]||(e[6]=t("pre",null,[s(" "),t("code",{class:"language-javascript"},` var select = new SlimSelect({ select: '#selectElement' }) @@ -43,7 +43,7 @@ import{d,S as i,_ as p,c as o,a as t,e as s,o as a,i as m,t as h,b as O,f as u,w }) select.search('value') `),s(` - `)],-1))])}const be=p(ge,[["render",$e]]),Ve=d({name:"SetData",data(){return{setDataSingle:null,setDataMultiple:null}},mounted(){this.setDataSingle=new i({select:this.$refs.setDataSingle,events:{error:l=>{console.error(l)}}}),this.setDataMultiple=new i({select:this.$refs.setDataMultiple,events:{error:l=>{console.error(l)}}})},methods:{setData(){fetch("https://api.gofakeit.com/json",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"array",rowcount:10,indent:!1,fields:[{name:"text",function:"generate",params:{str:"{firstname} {lastname}"}},{name:"selected",function:"bool"}]})}).then(l=>l.json()).then(l=>{this.setDataSingle.setData(l),this.setDataMultiple.setData(l)}).catch(l=>console.error(l))}}}),De={id:"setData",class:"content"},ye={class:"alert info"},we={class:"row"},Oe={ref:"setDataSingle"},Me={ref:"setDataMultiple",multiple:""};function Ce(l,e,c,v,g,S){const n=r("router-link");return a(),o("div",De,[e[3]||(e[3]=t("h2",{class:"header"},"setData",-1)),e[4]||(e[4]=t("p",null," The setData method can take in an array of objects. This will set the options of the original select and rerender slim select. ",-1)),e[5]||(e[5]=t("div",{class:"alert info"}," If you use a single select but an option is not selected it will select the first option. ",-1)),e[6]||(e[6]=t("div",{class:"alert info"}," If you use a single select but pass in data with multiple selected options, the first option will be selected. ",-1)),t("div",ye,[e[2]||(e[2]=s(" To get a better break down of possible data options see ")),u(n,{to:"/data#types"},{default:M(()=>e[1]||(e[1]=[s("data")])),_:1})]),t("div",we,[t("div",{class:"btn",onClick:e[0]||(e[0]=(...f)=>l.setData&&l.setData(...f))},"Set Data"),t("select",Oe,null,512),t("select",Me,null,512)]),e[7]||(e[7]=t("pre",null,[s(" "),t("code",{class:"language-javascript"},` + `)],-1))])}const be=p(ge,[["render",$e]]),Ve=d({name:"SetData",data(){return{setDataSingle:null,setDataMultiple:null}},mounted(){this.setDataSingle=new i({select:this.$refs.setDataSingle,events:{error:l=>{console.error(l)}}}),this.setDataMultiple=new i({select:this.$refs.setDataMultiple,events:{error:l=>{console.error(l)}}})},methods:{setData(){fetch("https://api.gofakeit.com/json",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"array",rowcount:10,indent:!1,fields:[{name:"text",function:"generate",params:{str:"{firstname} {lastname}"}},{name:"selected",function:"bool"}]})}).then(l=>l.json()).then(l=>{this.setDataSingle.setData(l),this.setDataMultiple.setData(l)}).catch(l=>console.error(l))}}}),De={id:"setData",class:"content"},ye={class:"alert info"},we={class:"row"},Oe={ref:"setDataSingle"},Me={ref:"setDataMultiple",multiple:""};function Ce(l,e,c,v,g,S){const n=r("router-link");return a(),o("div",De,[e[3]||(e[3]=t("h2",{class:"header"},"setData",-1)),e[4]||(e[4]=t("p",null," The setData method can take in an array of objects. This will set the options of the original select and rerender slim select. ",-1)),e[5]||(e[5]=t("div",{class:"alert info"}," If you use a single select but an option is not selected it will select the first option. ",-1)),e[6]||(e[6]=t("div",{class:"alert info"}," If you use a single select but pass in data with multiple selected options, the first option will be selected. ",-1)),t("div",ye,[e[2]||(e[2]=s(" To get a better break down of possible data options see ")),u(n,{to:"/data#types"},{default:M(()=>e[1]||(e[1]=[s("data")])),_:1,__:[1]})]),t("div",we,[t("div",{class:"btn",onClick:e[0]||(e[0]=(...f)=>l.setData&&l.setData(...f))},"Set Data"),t("select",Oe,null,512),t("select",Me,null,512)]),e[7]||(e[7]=t("pre",null,[s(" "),t("code",{class:"language-javascript"},` var select = new SlimSelect({ select: '#selectElement' }) @@ -61,7 +61,7 @@ import{d,S as i,_ as p,c as o,a as t,e as s,o as a,i as m,t as h,b as O,f as u,w } ]) `),s(` - `)],-1))])}const ke=p(Ve,[["render",Ce]]),Ee=d({name:"SetSelected",data(){return{selectedSingle:null,selectedMultiple:null,selectedKeepOrder:null}},mounted(){this.selectedSingle=new i({select:this.$refs.selectedSingle}),this.selectedMultiple=new i({select:this.$refs.selectedMultiple}),this.selectedKeepOrder=new i({select:this.$refs.selectedKeepOrder,settings:{keepOrder:!0}})},methods:{setSelected(){this.selectedSingle.open(),this.selectedSingle.setSelected("value2"),this.selectedMultiple.open(),this.selectedMultiple.setSelected(["value1","value3"]),this.selectedKeepOrder.open(),this.selectedKeepOrder.setSelected(["value3","value1"]),setTimeout(()=>{this.selectedSingle.close(),this.selectedMultiple.close(),this.selectedKeepOrder.close()},2e3)}}}),Ke={id:"setSelected",class:"content"},Te={class:"row"},je={ref:"selectedSingle"},Ge={ref:"selectedMultiple",multiple:""},Ne={ref:"selectedKeepOrder",multiple:""};function Ie(l,e,c,v,g,S){return a(),o("div",Ke,[e[4]||(e[4]=t("h2",{class:"header"},"setSelected",-1)),e[5]||(e[5]=t("p",null,"The setSelected method will set the selected value(s) of the select.",-1)),e[6]||(e[6]=t("p",null,"setSelected will accept both string or array of strings.",-1)),e[7]||(e[7]=t("p",null," setSelected also takes in a second optional boolean param in the event you dont want to trigger the afterChange callback ",-1)),t("div",Te,[t("div",{class:"btn",onClick:e[0]||(e[0]=(...n)=>l.setSelected&&l.setSelected(...n))},"Set Selected"),t("select",je,e[1]||(e[1]=[t("option",{value:"value1"},"Value 1",-1),t("option",{value:"value2"},"Value 2",-1),t("option",{value:"value3"},"Value 3",-1)]),512),t("select",Ge,e[2]||(e[2]=[t("option",{value:"value1"},"Value 1",-1),t("option",{value:"value2"},"Value 2",-1),t("option",{value:"value3"},"Value 3",-1)]),512),t("select",Ne,e[3]||(e[3]=[t("option",{value:"value1"},"Value 1",-1),t("option",{value:"value2"},"Value 2",-1),t("option",{value:"value3"},"Value 3",-1)]),512)]),e[8]||(e[8]=t("pre",null,[s(" "),t("code",{class:"language-javascript"},` + `)],-1))])}const ke=p(Ve,[["render",Ce]]),Ee=d({name:"SetSelected",data(){return{selectedSingle:null,selectedMultiple:null,selectedKeepOrder:null}},mounted(){this.selectedSingle=new i({select:this.$refs.selectedSingle}),this.selectedMultiple=new i({select:this.$refs.selectedMultiple}),this.selectedKeepOrder=new i({select:this.$refs.selectedKeepOrder,settings:{keepOrder:!0}})},methods:{setSelected(){this.selectedSingle.open(),this.selectedSingle.setSelected("value2"),this.selectedMultiple.open(),this.selectedMultiple.setSelected(["value1","value3"]),this.selectedKeepOrder.open(),this.selectedKeepOrder.setSelected(["value3","value1"]),setTimeout(()=>{this.selectedSingle.close(),this.selectedMultiple.close(),this.selectedKeepOrder.close()},2e3)}}}),Ke={id:"setSelected",class:"content"},Te={class:"row"},je={ref:"selectedSingle"},Ge={ref:"selectedMultiple",multiple:""},Ne={ref:"selectedKeepOrder",multiple:""};function _e(l,e,c,v,g,S){return a(),o("div",Ke,[e[4]||(e[4]=t("h2",{class:"header"},"setSelected",-1)),e[5]||(e[5]=t("p",null,"The setSelected method will set the selected value(s) of the select.",-1)),e[6]||(e[6]=t("p",null,"setSelected will accept both string or array of strings.",-1)),e[7]||(e[7]=t("p",null," setSelected also takes in a second optional boolean param in the event you dont want to trigger the afterChange callback ",-1)),t("div",Te,[t("div",{class:"btn",onClick:e[0]||(e[0]=(...n)=>l.setSelected&&l.setSelected(...n))},"Set Selected"),t("select",je,e[1]||(e[1]=[t("option",{value:"value1"},"Value 1",-1),t("option",{value:"value2"},"Value 2",-1),t("option",{value:"value3"},"Value 3",-1)]),512),t("select",Ge,e[2]||(e[2]=[t("option",{value:"value1"},"Value 1",-1),t("option",{value:"value2"},"Value 2",-1),t("option",{value:"value3"},"Value 3",-1)]),512),t("select",Ne,e[3]||(e[3]=[t("option",{value:"value1"},"Value 1",-1),t("option",{value:"value2"},"Value 2",-1),t("option",{value:"value3"},"Value 3",-1)]),512)]),e[8]||(e[8]=t("pre",null,[s(" "),t("code",{class:"language-javascript"},` var select = new SlimSelect({ select: '#selectElement' @@ -74,4 +74,4 @@ import{d,S as i,_ as p,c as o,a as t,e as s,o as a,i as m,t as h,b as O,f as u,w // To not trigger the afterChange callback select.setSelected('value1', false) `),s(` - `)],-1))])}const _e=p(Ee,[["render",Ie]]),Be=d({name:"Methods",components:{GetSelected:ae,SetSelected:_e,GetData:R,SetData:ke,EnableDisable:J,OpenClose:ve,Search:be,Destroy:G}}),We={id:"methods",class:"contents"};function Ae(l,e,c,v,g,S){const n=r("GetSelected"),f=r("SetSelected"),$=r("GetData"),b=r("SetData"),V=r("EnableDisable"),D=r("OpenClose"),y=r("Search"),w=r("Destroy");return a(),o("div",We,[u(n),u(f),u($),u(b),u(V),u(D),u(y),u(w)])}const Pe=p(Be,[["render",Ae]]);export{Pe as default}; + `)],-1))])}const Ie=p(Ee,[["render",_e]]),Be=d({name:"Methods",components:{GetSelected:ae,SetSelected:Ie,GetData:R,SetData:ke,EnableDisable:J,OpenClose:ve,Search:be,Destroy:G}}),We={id:"methods",class:"contents"};function Ae(l,e,c,v,g,S){const n=r("GetSelected"),f=r("SetSelected"),$=r("GetData"),b=r("SetData"),V=r("EnableDisable"),D=r("OpenClose"),y=r("Search"),w=r("Destroy");return a(),o("div",We,[u(n),u(f),u($),u(b),u(V),u(D),u(y),u(w)])}const Pe=p(Be,[["render",Ae]]);export{Pe as default}; diff --git a/docs/assets/vue.js b/docs/assets/vue.js index a74c6209..d4b63bb7 100644 --- a/docs/assets/vue.js +++ b/docs/assets/vue.js @@ -1,4 +1,4 @@ -import{d as S,S as O,_ as f,c as v,l as b,o as g,a as e,i as y,b as C,f as i,e as l,t as m,w as s,r as w,n as V}from"./index.js";const h=S({name:"SlimSelect",props:{modelValue:{type:[String,Array,void 0]},multiple:{type:Boolean,default:!1},data:{type:Array},settings:{type:Object},events:{type:Object,default:()=>({})}},emits:["update:modelValue"],data(){return{slim:null}},mounted(){let n={select:this.$refs.slim};this.data&&(n.data=this.data),this.settings&&(n.settings=this.settings),n.events=this.events||{};const t=n.events.afterChange;n.events.afterChange=a=>{const r=this.multiple?a.map(d=>d.value):a.length>0?a[0].value:"";this.value!==r&&(this.value=r),n.events&&t&&t(a)},this.slim=new O(n);let p=this.$props.multiple?this.slim.getSelected():this.slim.getSelected()[0];this.value!==p&&this.slim.setSelected(this.value)},beforeUnmount(){this.slim&&this.slim.destroy()},watch:{modelValue:{handler:function(n){var t;(t=this.slim)==null||t.setSelected(this.getCleanValue(n))},immediate:!0},data:{handler:function(n){this.slim&&this.slim.setData(n)},deep:!0}},computed:{value:{get(){return this.getCleanValue(this.$props.modelValue)},set(n){this.$emit("update:modelValue",n)}}},methods:{getSlimSelect(){return this.slim},getCleanValue(n){const t=this.$props.multiple;return typeof n=="string"?t?[n]:n:Array.isArray(n)?t?n:n[0]:t?[]:""}}}),$=["multiple"];function D(n,t,p,a,r,d){return g(),v("select",{multiple:n.multiple,ref:"slim"},[b(n.$slots,"default")],8,$)}const q=f(h,[["render",D]]),k=S({name:"Vue",components:{SlimSelect:q},data(){return{simpleSingle:"2",simpleMultiple:["2","3"],settings:{showSearch:!1},data:[{value:"value1",text:"Value 1"},{value:"value2",text:"Value 2"},{value:"value3",text:"Value 3"}],afterChangeData:[],events:{afterChange:this.afterChange},isDisabled:!1,errorClass:""}},mounted(){},methods:{changeData(){this.$refs.dataSingle.getSlimSelect().open(),this.$refs.dataMultiple.getSlimSelect().open(),setTimeout(()=>{this.data=[{value:"value4",text:"Value 4"},{value:"value5",text:"Value 5"},{value:"value6",text:"Value 6"}]},500)},afterChange(n){this.afterChangeData=n}}}),j={id:"vue",class:"content"},M={class:"row"},A={class:"row"},T={class:"row"},B={key:0},N={class:"row"},E={class:"row"},I={class:"row"};function U(n,t,p,a,r,d){const o=w("SlimSelect");return g(),v("div",j,[t[16]||(t[16]=e("h2",{class:"header"},"Vue",-1)),t[17]||(t[17]=e("h3",null,"Install",-1)),t[18]||(t[18]=e("p",null," Slim Select doesnt have a package to import(anymore) due to its requirements of maintianing it within the repository. But we have provided a set of code you can add to your own project to get it working. ",-1)),t[19]||(t[19]=e("a",{href:"https://github.com/slim-select/tree/master/src/slim-select/vue.vue"},"Download Component Here",-1)),t[20]||(t[20]=e("br",null,null,-1)),t[21]||(t[21]=e("br",null,null,-1)),t[22]||(t[22]=e("h3",null,"Simple example",-1)),e("div",M,[e("div",null,[e("div",null,[t[5]||(t[5]=e("strong",null,"Value",-1)),l(" "+m(n.simpleSingle),1)]),i(o,{modelValue:n.simpleSingle,"onUpdate:modelValue":t[0]||(t[0]=u=>n.simpleSingle=u),ref:"simpleSingle"},{default:s(()=>t[6]||(t[6]=[e("option",{value:"all"},"All",-1),e("option",{value:"1"},"Option 1",-1),e("option",{value:"2"},"Option 2",-1),e("option",{value:"3"},"Option 3",-1)])),_:1},8,["modelValue"])]),e("div",null,[e("div",null,[t[7]||(t[7]=e("strong",null,"Value",-1)),l(" "+m(n.simpleMultiple),1)]),i(o,{modelValue:n.simpleMultiple,"onUpdate:modelValue":t[1]||(t[1]=u=>n.simpleMultiple=u),ref:"simpleMultiple",multiple:""},{default:s(()=>t[8]||(t[8]=[e("option",{value:"1"},"Option 1",-1),e("option",{value:"2"},"Option 2",-1),e("option",{value:"3"},"Option 3",-1)])),_:1},8,["modelValue"])])]),t[23]||(t[23]=e("pre",null,[l(" "),e("code",{class:"language-javascript"},` +import{d as S,S as O,_ as f,c as v,l as b,o as g,a as e,i as y,b as C,f as i,e as l,t as m,w as s,r as w,n as V}from"./index.js";const h=S({name:"SlimSelect",props:{modelValue:{type:[String,Array,void 0]},multiple:{type:Boolean,default:!1},data:{type:Array},settings:{type:Object},events:{type:Object,default:()=>({})}},emits:["update:modelValue"],data(){return{slim:null}},mounted(){let n={select:this.$refs.slim};this.data&&(n.data=this.data),this.settings&&(n.settings=this.settings),n.events=this.events||{};const t=n.events.afterChange;n.events.afterChange=a=>{const r=this.multiple?a.map(d=>d.value):a.length>0?a[0].value:"";this.value!==r&&(this.value=r),n.events&&t&&t(a)},this.slim=new O(n);let p=this.$props.multiple?this.slim.getSelected():this.slim.getSelected()[0];this.value!==p&&this.slim.setSelected(this.value)},beforeUnmount(){this.slim&&this.slim.destroy()},watch:{modelValue:{handler:function(n){var t;(t=this.slim)==null||t.setSelected(this.getCleanValue(n))},immediate:!0},data:{handler:function(n){this.slim&&this.slim.setData(n)},deep:!0}},computed:{value:{get(){return this.getCleanValue(this.$props.modelValue)},set(n){this.$emit("update:modelValue",n)}}},methods:{getSlimSelect(){return this.slim},getCleanValue(n){const t=this.$props.multiple;return typeof n=="string"?t?[n]:n:Array.isArray(n)?t?n:n[0]:t?[]:""}}}),$=["multiple"];function D(n,t,p,a,r,d){return g(),v("select",{multiple:n.multiple,ref:"slim"},[b(n.$slots,"default")],8,$)}const q=f(h,[["render",D]]),k=S({name:"Vue",components:{SlimSelect:q},data(){return{simpleSingle:"2",simpleMultiple:["2","3"],settings:{showSearch:!1},data:[{value:"value1",text:"Value 1"},{value:"value2",text:"Value 2"},{value:"value3",text:"Value 3"}],afterChangeData:[],events:{afterChange:this.afterChange},isDisabled:!1,errorClass:""}},mounted(){},methods:{changeData(){this.$refs.dataSingle.getSlimSelect().open(),this.$refs.dataMultiple.getSlimSelect().open(),setTimeout(()=>{this.data=[{value:"value4",text:"Value 4"},{value:"value5",text:"Value 5"},{value:"value6",text:"Value 6"}]},500)},afterChange(n){this.afterChangeData=n}}}),j={id:"vue",class:"content"},M={class:"row"},A={class:"row"},T={class:"row"},B={key:0},N={class:"row"},E={class:"row"},I={class:"row"};function U(n,t,p,a,r,d){const o=w("SlimSelect");return g(),v("div",j,[t[16]||(t[16]=e("h2",{class:"header"},"Vue",-1)),t[17]||(t[17]=e("h3",null,"Install",-1)),t[18]||(t[18]=e("p",null," Slim Select doesnt have a package to import(anymore) due to its requirements of maintianing it within the repository. But we have provided a set of code you can add to your own project to get it working. ",-1)),t[19]||(t[19]=e("a",{href:"https://github.com/slim-select/tree/master/src/slim-select/vue.vue"},"Download Component Here",-1)),t[20]||(t[20]=e("br",null,null,-1)),t[21]||(t[21]=e("br",null,null,-1)),t[22]||(t[22]=e("h3",null,"Simple example",-1)),e("div",M,[e("div",null,[e("div",null,[t[5]||(t[5]=e("strong",null,"Value",-1)),l(" "+m(n.simpleSingle),1)]),i(o,{modelValue:n.simpleSingle,"onUpdate:modelValue":t[0]||(t[0]=u=>n.simpleSingle=u),ref:"simpleSingle"},{default:s(()=>t[6]||(t[6]=[e("option",{value:"all"},"All",-1),e("option",{value:"1"},"Option 1",-1),e("option",{value:"2"},"Option 2",-1),e("option",{value:"3"},"Option 3",-1)])),_:1,__:[6]},8,["modelValue"])]),e("div",null,[e("div",null,[t[7]||(t[7]=e("strong",null,"Value",-1)),l(" "+m(n.simpleMultiple),1)]),i(o,{modelValue:n.simpleMultiple,"onUpdate:modelValue":t[1]||(t[1]=u=>n.simpleMultiple=u),ref:"simpleMultiple",multiple:""},{default:s(()=>t[8]||(t[8]=[e("option",{value:"1"},"Option 1",-1),e("option",{value:"2"},"Option 2",-1),e("option",{value:"3"},"Option 3",-1)])),_:1,__:[8]},8,["modelValue"])])]),t[23]||(t[23]=e("pre",null,[l(" "),e("code",{class:"language-javascript"},` import { defineComponent } from 'vue' import SlimSelect from '../your/path/to/slim-select/vue.vue' @@ -27,7 +27,7 @@ import{d as S,S as O,_ as f,c as v,l as b,o as g,a as e,i as y,b as C,f as i,e a `),l(` - `)],-1)),t[25]||(t[25]=e("br",null,null,-1)),t[26]||(t[26]=e("div",{class:"separator"},null,-1)),t[27]||(t[27]=e("br",null,null,-1)),t[28]||(t[28]=e("h3",null,"Settings",-1)),t[29]||(t[29]=e("p",null," Settings just like its passed as an object in normal SlimSelect will also be passed as an object to the component prop ",-1)),e("div",A,[i(o,{settings:n.settings},{default:s(()=>t[9]||(t[9]=[e("option",{value:"1"},"Option 1",-1),e("option",{value:"2"},"Option 2",-1),e("option",{value:"3"},"Option 3",-1)])),_:1},8,["settings"]),i(o,{settings:n.settings,multiple:""},{default:s(()=>t[10]||(t[10]=[e("option",{value:"1"},"Option 1",-1),e("option",{value:"2"},"Option 2",-1),e("option",{value:"3"},"Option 3",-1)])),_:1},8,["settings"])]),t[30]||(t[30]=e("pre",null,[l(" "),e("code",{class:"language-javascript"},` + `)],-1)),t[25]||(t[25]=e("br",null,null,-1)),t[26]||(t[26]=e("div",{class:"separator"},null,-1)),t[27]||(t[27]=e("br",null,null,-1)),t[28]||(t[28]=e("h3",null,"Settings",-1)),t[29]||(t[29]=e("p",null," Settings just like its passed as an object in normal SlimSelect will also be passed as an object to the component prop ",-1)),e("div",A,[i(o,{settings:n.settings},{default:s(()=>t[9]||(t[9]=[e("option",{value:"1"},"Option 1",-1),e("option",{value:"2"},"Option 2",-1),e("option",{value:"3"},"Option 3",-1)])),_:1,__:[9]},8,["settings"]),i(o,{settings:n.settings,multiple:""},{default:s(()=>t[10]||(t[10]=[e("option",{value:"1"},"Option 1",-1),e("option",{value:"2"},"Option 2",-1),e("option",{value:"3"},"Option 3",-1)])),_:1,__:[10]},8,["settings"])]),t[30]||(t[30]=e("pre",null,[l(" "),e("code",{class:"language-javascript"},` import { defineComponent } from 'vue' import SlimSelect from '../your/path/to/slim-select/vue.vue' @@ -81,7 +81,7 @@ import{d as S,S as O,_ as f,c as v,l as b,o as g,a as e,i as y,b as C,f as i,e a `),l(` - `)],-1)),t[40]||(t[40]=e("br",null,null,-1)),t[41]||(t[41]=e("div",{class:"separator"},null,-1)),t[42]||(t[42]=e("br",null,null,-1)),t[43]||(t[43]=e("h3",null,"Events",-1)),t[44]||(t[44]=e("p",null," Events just like its passed as an object in normal SlimSelct will also be passed as an object to the component prop. ",-1)),n.afterChangeData.length?(g(),v("div",B,[t[11]||(t[11]=e("strong",null,"afterChange:",-1)),l(" "+m(n.afterChangeData),1)])):y("",!0),e("div",N,[i(o,{events:n.events},{default:s(()=>t[12]||(t[12]=[e("option",{value:"1"},"Option 1",-1),e("option",{value:"2"},"Option 2",-1),e("option",{value:"3"},"Option 3",-1)])),_:1},8,["events"]),i(o,{events:n.events,multiple:""},{default:s(()=>t[13]||(t[13]=[e("option",{value:"1"},"Option 1",-1),e("option",{value:"2"},"Option 2",-1),e("option",{value:"3"},"Option 3",-1)])),_:1},8,["events"])]),t[45]||(t[45]=e("pre",null,[l(" "),e("code",{class:"language-javascript"},` + `)],-1)),t[40]||(t[40]=e("br",null,null,-1)),t[41]||(t[41]=e("div",{class:"separator"},null,-1)),t[42]||(t[42]=e("br",null,null,-1)),t[43]||(t[43]=e("h3",null,"Events",-1)),t[44]||(t[44]=e("p",null," Events just like its passed as an object in normal SlimSelct will also be passed as an object to the component prop. ",-1)),n.afterChangeData.length?(g(),v("div",B,[t[11]||(t[11]=e("strong",null,"afterChange:",-1)),l(" "+m(n.afterChangeData),1)])):y("",!0),e("div",N,[i(o,{events:n.events},{default:s(()=>t[12]||(t[12]=[e("option",{value:"1"},"Option 1",-1),e("option",{value:"2"},"Option 2",-1),e("option",{value:"3"},"Option 3",-1)])),_:1,__:[12]},8,["events"]),i(o,{events:n.events,multiple:""},{default:s(()=>t[13]||(t[13]=[e("option",{value:"1"},"Option 1",-1),e("option",{value:"2"},"Option 2",-1),e("option",{value:"3"},"Option 3",-1)])),_:1,__:[13]},8,["events"])]),t[45]||(t[45]=e("pre",null,[l(" "),e("code",{class:"language-javascript"},` import { defineComponent } from 'vue' import SlimSelect from '../your/path/to/slim-select/vue.vue' @@ -116,14 +116,14 @@ import{d as S,S as O,_ as f,c as v,l as b,o as g,a as e,i as y,b as C,f as i,e a `),l(` - `)],-1)),t[47]||(t[47]=e("br",null,null,-1)),t[48]||(t[48]=e("div",{class:"separator"},null,-1)),t[49]||(t[49]=e("br",null,null,-1)),t[50]||(t[50]=e("h3",null,"Attributes",-1)),t[51]||(t[51]=e("p",null,"There are certain attributes that are reactive to changes",-1)),t[52]||(t[52]=e("h4",null,"disabled",-1)),e("div",E,[e("div",{class:"btn",onClick:t[3]||(t[3]=u=>n.isDisabled=!n.isDisabled)},"Toggle Disabled"),i(o,{disabled:n.isDisabled},{default:s(()=>t[14]||(t[14]=[e("option",{value:"1"},"Option 1",-1),e("option",{value:"2"},"Option 2",-1),e("option",{value:"3"},"Option 3",-1)])),_:1},8,["disabled"])]),t[53]||(t[53]=e("pre",null,[l(" "),e("code",{class:"language-html"},` + `)],-1)),t[47]||(t[47]=e("br",null,null,-1)),t[48]||(t[48]=e("div",{class:"separator"},null,-1)),t[49]||(t[49]=e("br",null,null,-1)),t[50]||(t[50]=e("h3",null,"Attributes",-1)),t[51]||(t[51]=e("p",null,"There are certain attributes that are reactive to changes",-1)),t[52]||(t[52]=e("h4",null,"disabled",-1)),e("div",E,[e("div",{class:"btn",onClick:t[3]||(t[3]=u=>n.isDisabled=!n.isDisabled)},"Toggle Disabled"),i(o,{disabled:n.isDisabled},{default:s(()=>t[14]||(t[14]=[e("option",{value:"1"},"Option 1",-1),e("option",{value:"2"},"Option 2",-1),e("option",{value:"3"},"Option 3",-1)])),_:1,__:[14]},8,["disabled"])]),t[53]||(t[53]=e("pre",null,[l(" "),e("code",{class:"language-html"},` `),l(` - `)],-1)),t[54]||(t[54]=e("h4",null,"class",-1)),e("div",I,[e("div",{class:"btn",onClick:t[4]||(t[4]=u=>n.errorClass=n.errorClass===""?"error":"")},"Toggle Error"),i(o,{class:V(["dynamicClass",n.errorClass])},{default:s(()=>t[15]||(t[15]=[e("option",{value:"1"},"Option 1",-1),e("option",{value:"2"},"Option 2",-1),e("option",{value:"3"},"Option 3",-1)])),_:1},8,["class"])]),t[55]||(t[55]=C(`
      
+    `)],-1)),t[54]||(t[54]=e("h4",null,"class",-1)),e("div",I,[e("div",{class:"btn",onClick:t[4]||(t[4]=u=>n.errorClass=n.errorClass===""?"error":"")},"Toggle Error"),i(o,{class:V(["dynamicClass",n.errorClass])},{default:s(()=>t[15]||(t[15]=[e("option",{value:"1"},"Option 1",-1),e("option",{value:"2"},"Option 2",-1),e("option",{value:"3"},"Option 3",-1)])),_:1,__:[15]},8,["class"])]),t[55]||(t[55]=C(`
      
         <SlimSelect :class="myClass">
           <option value="1">Option 1</option>
           <option value="2">Option 2</option>
diff --git a/package.json b/package.json
index 96912d11..9318d4d5 100644
--- a/package.json
+++ b/package.json
@@ -91,5 +91,11 @@
     "vue-router": "^4.5.0",
     "vue-tsc": "^2.2.8",
     "vuex": "^4.0.2"
+  },
+  "pnpm": {
+    "onlyBuiltDependencies": [
+      "@parcel/watcher",
+      "esbuild"
+    ]
   }
 }
\ No newline at end of file
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 00000000..7826f15b
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,6086 @@
+lockfileVersion: '9.0'
+
+settings:
+  autoInstallPeers: true
+  excludeLinksFromLockfile: false
+
+importers:
+
+  .:
+    devDependencies:
+      '@jest/globals':
+        specifier: ^29.7.0
+        version: 29.7.0
+      '@rollup/plugin-babel':
+        specifier: ^6.0.4
+        version: 6.0.4(@babel/core@7.27.7)(@types/babel__core@7.20.5)(rollup@4.44.1)
+      '@rollup/plugin-commonjs':
+        specifier: ^28.0.3
+        version: 28.0.6(rollup@4.44.1)
+      '@rollup/plugin-node-resolve':
+        specifier: ^16.0.1
+        version: 16.0.1(rollup@4.44.1)
+      '@rollup/plugin-replace':
+        specifier: ^6.0.2
+        version: 6.0.2(rollup@4.44.1)
+      '@rollup/plugin-terser':
+        specifier: ^0.4.4
+        version: 0.4.4(rollup@4.44.1)
+      '@rollup/plugin-typescript':
+        specifier: ^12.1.2
+        version: 12.1.4(rollup@4.44.1)(tslib@2.8.1)(typescript@5.8.3)
+      '@testing-library/jest-dom':
+        specifier: ^6.6.3
+        version: 6.6.3
+      '@testing-library/user-event':
+        specifier: ^14.6.1
+        version: 14.6.1(@testing-library/dom@10.4.0)
+      '@types/downloadjs':
+        specifier: ^1.4.6
+        version: 1.4.6
+      '@types/jest':
+        specifier: ^29.5.14
+        version: 29.5.14
+      '@typescript-eslint/eslint-plugin':
+        specifier: ^8.28.0
+        version: 8.35.1(@typescript-eslint/parser@8.35.1(eslint@9.30.0)(typescript@5.8.3))(eslint@9.30.0)(typescript@5.8.3)
+      '@typescript-eslint/parser':
+        specifier: ^8.28.0
+        version: 8.35.1(eslint@9.30.0)(typescript@5.8.3)
+      '@vitejs/plugin-vue':
+        specifier: ^5.2.3
+        version: 5.2.4(vite@6.3.5(@types/node@24.0.8)(sass@1.89.2)(terser@5.43.1))(vue@3.5.17(typescript@5.8.3))
+      clipboard:
+        specifier: ^2.0.11
+        version: 2.0.11
+      downloadjs:
+        specifier: ^1.4.7
+        version: 1.4.7
+      eslint:
+        specifier: ^9.23.0
+        version: 9.30.0
+      eslint-config-prettier:
+        specifier: ^10.1.1
+        version: 10.1.5(eslint@9.30.0)
+      eslint-plugin-prettier:
+        specifier: ^5.2.5
+        version: 5.5.1(eslint-config-prettier@10.1.5(eslint@9.30.0))(eslint@9.30.0)(prettier@3.6.2)
+      identity-obj-proxy:
+        specifier: ^3.0.0
+        version: 3.0.0
+      jest:
+        specifier: ^29.7.0
+        version: 29.7.0(@types/node@24.0.8)
+      jest-canvas-mock:
+        specifier: ^2.5.0
+        version: 2.5.2
+      jest-environment-jsdom:
+        specifier: ^29.7.0
+        version: 29.7.0
+      prettier:
+        specifier: ^3.5.3
+        version: 3.6.2
+      prismjs:
+        specifier: ^1.30.0
+        version: 1.30.0
+      rimraf:
+        specifier: ^6.0.1
+        version: 6.0.1
+      rollup:
+        specifier: ^4.37.0
+        version: 4.44.1
+      rollup-plugin-peer-deps-external:
+        specifier: ^2.2.4
+        version: 2.2.4(rollup@4.44.1)
+      rollup-plugin-typescript2:
+        specifier: ^0.36.0
+        version: 0.36.0(rollup@4.44.1)(typescript@5.8.3)
+      rollup-plugin-vue:
+        specifier: ^6.0.0
+        version: 6.0.0(@vue/compiler-sfc@3.5.17)
+      sass:
+        specifier: ^1.86.0
+        version: 1.89.2
+      ts-jest:
+        specifier: ^29.3.0
+        version: 29.4.0(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest-util@29.7.0)(jest@29.7.0(@types/node@24.0.8))(typescript@5.8.3)
+      tslib:
+        specifier: ^2.8.1
+        version: 2.8.1
+      typescript:
+        specifier: ^5.8.2
+        version: 5.8.3
+      vite:
+        specifier: ^6.2.3
+        version: 6.3.5(@types/node@24.0.8)(sass@1.89.2)(terser@5.43.1)
+      vite-plugin-dts:
+        specifier: ^4.5.3
+        version: 4.5.4(@types/node@24.0.8)(rollup@4.44.1)(typescript@5.8.3)(vite@6.3.5(@types/node@24.0.8)(sass@1.89.2)(terser@5.43.1))
+      vue:
+        specifier: ^3.5.13
+        version: 3.5.17(typescript@5.8.3)
+      vue-router:
+        specifier: ^4.5.0
+        version: 4.5.1(vue@3.5.17(typescript@5.8.3))
+      vue-tsc:
+        specifier: ^2.2.8
+        version: 2.2.10(typescript@5.8.3)
+      vuex:
+        specifier: ^4.0.2
+        version: 4.1.0(vue@3.5.17(typescript@5.8.3))
+
+packages:
+
+  '@adobe/css-tools@4.4.3':
+    resolution: {integrity: sha512-VQKMkwriZbaOgVCby1UDY/LDk5fIjhQicCvVPFqfe+69fWaPWydbWJ3wRt59/YzIwda1I81loas3oCoHxnqvdA==}
+
+  '@ampproject/remapping@2.3.0':
+    resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
+    engines: {node: '>=6.0.0'}
+
+  '@babel/code-frame@7.27.1':
+    resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
+    engines: {node: '>=6.9.0'}
+
+  '@babel/compat-data@7.27.7':
+    resolution: {integrity: sha512-xgu/ySj2mTiUFmdE9yCMfBxLp4DHd5DwmbbD05YAuICfodYT3VvRxbrh81LGQ/8UpSdtMdfKMn3KouYDX59DGQ==}
+    engines: {node: '>=6.9.0'}
+
+  '@babel/core@7.27.7':
+    resolution: {integrity: sha512-BU2f9tlKQ5CAthiMIgpzAh4eDTLWo1mqi9jqE2OxMG0E/OM199VJt2q8BztTxpnSW0i1ymdwLXRJnYzvDM5r2w==}
+    engines: {node: '>=6.9.0'}
+
+  '@babel/generator@7.27.5':
+    resolution: {integrity: sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==}
+    engines: {node: '>=6.9.0'}
+
+  '@babel/helper-compilation-targets@7.27.2':
+    resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
+    engines: {node: '>=6.9.0'}
+
+  '@babel/helper-module-imports@7.27.1':
+    resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==}
+    engines: {node: '>=6.9.0'}
+
+  '@babel/helper-module-transforms@7.27.3':
+    resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0
+
+  '@babel/helper-plugin-utils@7.27.1':
+    resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==}
+    engines: {node: '>=6.9.0'}
+
+  '@babel/helper-string-parser@7.27.1':
+    resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
+    engines: {node: '>=6.9.0'}
+
+  '@babel/helper-validator-identifier@7.27.1':
+    resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
+    engines: {node: '>=6.9.0'}
+
+  '@babel/helper-validator-option@7.27.1':
+    resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
+    engines: {node: '>=6.9.0'}
+
+  '@babel/helpers@7.27.6':
+    resolution: {integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==}
+    engines: {node: '>=6.9.0'}
+
+  '@babel/parser@7.27.7':
+    resolution: {integrity: sha512-qnzXzDXdr/po3bOTbTIQZ7+TxNKxpkN5IifVLXS+r7qwynkZfPyjZfE7hCXbo7IoO9TNcSyibgONsf2HauUd3Q==}
+    engines: {node: '>=6.0.0'}
+    hasBin: true
+
+  '@babel/plugin-syntax-async-generators@7.8.4':
+    resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+
+  '@babel/plugin-syntax-bigint@7.8.3':
+    resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+
+  '@babel/plugin-syntax-class-properties@7.12.13':
+    resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+
+  '@babel/plugin-syntax-class-static-block@7.14.5':
+    resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+
+  '@babel/plugin-syntax-import-attributes@7.27.1':
+    resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+
+  '@babel/plugin-syntax-import-meta@7.10.4':
+    resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+
+  '@babel/plugin-syntax-json-strings@7.8.3':
+    resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+
+  '@babel/plugin-syntax-jsx@7.27.1':
+    resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+
+  '@babel/plugin-syntax-logical-assignment-operators@7.10.4':
+    resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+
+  '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3':
+    resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+
+  '@babel/plugin-syntax-numeric-separator@7.10.4':
+    resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+
+  '@babel/plugin-syntax-object-rest-spread@7.8.3':
+    resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+
+  '@babel/plugin-syntax-optional-catch-binding@7.8.3':
+    resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+
+  '@babel/plugin-syntax-optional-chaining@7.8.3':
+    resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+
+  '@babel/plugin-syntax-private-property-in-object@7.14.5':
+    resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+
+  '@babel/plugin-syntax-top-level-await@7.14.5':
+    resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+
+  '@babel/plugin-syntax-typescript@7.27.1':
+    resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+
+  '@babel/runtime@7.27.6':
+    resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==}
+    engines: {node: '>=6.9.0'}
+
+  '@babel/template@7.27.2':
+    resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
+    engines: {node: '>=6.9.0'}
+
+  '@babel/traverse@7.27.7':
+    resolution: {integrity: sha512-X6ZlfR/O/s5EQ/SnUSLzr+6kGnkg8HXGMzpgsMsrJVcfDtH1vIp6ctCN4eZ1LS5c0+te5Cb6Y514fASjMRJ1nw==}
+    engines: {node: '>=6.9.0'}
+
+  '@babel/types@7.27.7':
+    resolution: {integrity: sha512-8OLQgDScAOHXnAz2cV+RfzzNMipuLVBz2biuAJFMV9bfkNf393je3VM8CLkjQodW5+iWsSJdSgSWT6rsZoXHPw==}
+    engines: {node: '>=6.9.0'}
+
+  '@bcoe/v8-coverage@0.2.3':
+    resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
+
+  '@esbuild/aix-ppc64@0.25.5':
+    resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==}
+    engines: {node: '>=18'}
+    cpu: [ppc64]
+    os: [aix]
+
+  '@esbuild/android-arm64@0.25.5':
+    resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==}
+    engines: {node: '>=18'}
+    cpu: [arm64]
+    os: [android]
+
+  '@esbuild/android-arm@0.25.5':
+    resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==}
+    engines: {node: '>=18'}
+    cpu: [arm]
+    os: [android]
+
+  '@esbuild/android-x64@0.25.5':
+    resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==}
+    engines: {node: '>=18'}
+    cpu: [x64]
+    os: [android]
+
+  '@esbuild/darwin-arm64@0.25.5':
+    resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==}
+    engines: {node: '>=18'}
+    cpu: [arm64]
+    os: [darwin]
+
+  '@esbuild/darwin-x64@0.25.5':
+    resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==}
+    engines: {node: '>=18'}
+    cpu: [x64]
+    os: [darwin]
+
+  '@esbuild/freebsd-arm64@0.25.5':
+    resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==}
+    engines: {node: '>=18'}
+    cpu: [arm64]
+    os: [freebsd]
+
+  '@esbuild/freebsd-x64@0.25.5':
+    resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==}
+    engines: {node: '>=18'}
+    cpu: [x64]
+    os: [freebsd]
+
+  '@esbuild/linux-arm64@0.25.5':
+    resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==}
+    engines: {node: '>=18'}
+    cpu: [arm64]
+    os: [linux]
+
+  '@esbuild/linux-arm@0.25.5':
+    resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==}
+    engines: {node: '>=18'}
+    cpu: [arm]
+    os: [linux]
+
+  '@esbuild/linux-ia32@0.25.5':
+    resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==}
+    engines: {node: '>=18'}
+    cpu: [ia32]
+    os: [linux]
+
+  '@esbuild/linux-loong64@0.25.5':
+    resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==}
+    engines: {node: '>=18'}
+    cpu: [loong64]
+    os: [linux]
+
+  '@esbuild/linux-mips64el@0.25.5':
+    resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==}
+    engines: {node: '>=18'}
+    cpu: [mips64el]
+    os: [linux]
+
+  '@esbuild/linux-ppc64@0.25.5':
+    resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==}
+    engines: {node: '>=18'}
+    cpu: [ppc64]
+    os: [linux]
+
+  '@esbuild/linux-riscv64@0.25.5':
+    resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==}
+    engines: {node: '>=18'}
+    cpu: [riscv64]
+    os: [linux]
+
+  '@esbuild/linux-s390x@0.25.5':
+    resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==}
+    engines: {node: '>=18'}
+    cpu: [s390x]
+    os: [linux]
+
+  '@esbuild/linux-x64@0.25.5':
+    resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==}
+    engines: {node: '>=18'}
+    cpu: [x64]
+    os: [linux]
+
+  '@esbuild/netbsd-arm64@0.25.5':
+    resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==}
+    engines: {node: '>=18'}
+    cpu: [arm64]
+    os: [netbsd]
+
+  '@esbuild/netbsd-x64@0.25.5':
+    resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==}
+    engines: {node: '>=18'}
+    cpu: [x64]
+    os: [netbsd]
+
+  '@esbuild/openbsd-arm64@0.25.5':
+    resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==}
+    engines: {node: '>=18'}
+    cpu: [arm64]
+    os: [openbsd]
+
+  '@esbuild/openbsd-x64@0.25.5':
+    resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==}
+    engines: {node: '>=18'}
+    cpu: [x64]
+    os: [openbsd]
+
+  '@esbuild/sunos-x64@0.25.5':
+    resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==}
+    engines: {node: '>=18'}
+    cpu: [x64]
+    os: [sunos]
+
+  '@esbuild/win32-arm64@0.25.5':
+    resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==}
+    engines: {node: '>=18'}
+    cpu: [arm64]
+    os: [win32]
+
+  '@esbuild/win32-ia32@0.25.5':
+    resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==}
+    engines: {node: '>=18'}
+    cpu: [ia32]
+    os: [win32]
+
+  '@esbuild/win32-x64@0.25.5':
+    resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==}
+    engines: {node: '>=18'}
+    cpu: [x64]
+    os: [win32]
+
+  '@eslint-community/eslint-utils@4.7.0':
+    resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
+    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+    peerDependencies:
+      eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+
+  '@eslint-community/regexpp@4.12.1':
+    resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
+    engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
+  '@eslint/config-array@0.21.0':
+    resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+  '@eslint/config-helpers@0.3.0':
+    resolution: {integrity: sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+  '@eslint/core@0.14.0':
+    resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+  '@eslint/core@0.15.1':
+    resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+  '@eslint/eslintrc@3.3.1':
+    resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+  '@eslint/js@9.30.0':
+    resolution: {integrity: sha512-Wzw3wQwPvc9sHM+NjakWTcPx11mbZyiYHuwWa/QfZ7cIRX7WK54PSk7bdyXDaoaopUcMatv1zaQvOAAO8hCdww==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+  '@eslint/object-schema@2.1.6':
+    resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+  '@eslint/plugin-kit@0.3.3':
+    resolution: {integrity: sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+  '@humanfs/core@0.19.1':
+    resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
+    engines: {node: '>=18.18.0'}
+
+  '@humanfs/node@0.16.6':
+    resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
+    engines: {node: '>=18.18.0'}
+
+  '@humanwhocodes/module-importer@1.0.1':
+    resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+    engines: {node: '>=12.22'}
+
+  '@humanwhocodes/retry@0.3.1':
+    resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
+    engines: {node: '>=18.18'}
+
+  '@humanwhocodes/retry@0.4.3':
+    resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
+    engines: {node: '>=18.18'}
+
+  '@isaacs/balanced-match@4.0.1':
+    resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==}
+    engines: {node: 20 || >=22}
+
+  '@isaacs/brace-expansion@5.0.0':
+    resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==}
+    engines: {node: 20 || >=22}
+
+  '@isaacs/cliui@8.0.2':
+    resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
+    engines: {node: '>=12'}
+
+  '@istanbuljs/load-nyc-config@1.1.0':
+    resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
+    engines: {node: '>=8'}
+
+  '@istanbuljs/schema@0.1.3':
+    resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
+    engines: {node: '>=8'}
+
+  '@jest/console@29.7.0':
+    resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  '@jest/core@29.7.0':
+    resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+    peerDependencies:
+      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+    peerDependenciesMeta:
+      node-notifier:
+        optional: true
+
+  '@jest/environment@29.7.0':
+    resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  '@jest/expect-utils@29.7.0':
+    resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  '@jest/expect@29.7.0':
+    resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  '@jest/fake-timers@29.7.0':
+    resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  '@jest/globals@29.7.0':
+    resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  '@jest/reporters@29.7.0':
+    resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+    peerDependencies:
+      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+    peerDependenciesMeta:
+      node-notifier:
+        optional: true
+
+  '@jest/schemas@29.6.3':
+    resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  '@jest/source-map@29.6.3':
+    resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  '@jest/test-result@29.7.0':
+    resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  '@jest/test-sequencer@29.7.0':
+    resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  '@jest/transform@29.7.0':
+    resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  '@jest/types@29.6.3':
+    resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  '@jridgewell/gen-mapping@0.3.11':
+    resolution: {integrity: sha512-C512c1ytBTio4MrpWKlJpyFHT6+qfFL8SZ58zBzJ1OOzUEjHeF1BtjY2fH7n4x/g2OV/KiiMLAivOp1DXmiMMw==}
+
+  '@jridgewell/resolve-uri@3.1.2':
+    resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+    engines: {node: '>=6.0.0'}
+
+  '@jridgewell/source-map@0.3.9':
+    resolution: {integrity: sha512-amBU75CKOOkcQLfyM6J+DnWwz41yTsWI7o8MQ003LwUIWb4NYX/evAblTx1oBBYJySqL/zHPxHXDw5ewpQaUFw==}
+
+  '@jridgewell/sourcemap-codec@1.5.3':
+    resolution: {integrity: sha512-AiR5uKpFxP3PjO4R19kQGIMwxyRyPuXmKEEy301V1C0+1rVjS94EZQXf1QKZYN8Q0YM+estSPhmx5JwNftv6nw==}
+
+  '@jridgewell/trace-mapping@0.3.28':
+    resolution: {integrity: sha512-KNNHHwW3EIp4EDYOvYFGyIFfx36R2dNJYH4knnZlF8T5jdbD5Wx8xmSaQ2gP9URkJ04LGEtlcCtwArKcmFcwKw==}
+
+  '@microsoft/api-extractor-model@7.30.6':
+    resolution: {integrity: sha512-znmFn69wf/AIrwHya3fxX6uB5etSIn6vg4Q4RB/tb5VDDs1rqREc+AvMC/p19MUN13CZ7+V/8pkYPTj7q8tftg==}
+
+  '@microsoft/api-extractor@7.52.8':
+    resolution: {integrity: sha512-cszYIcjiNscDoMB1CIKZ3My61+JOhpERGlGr54i6bocvGLrcL/wo9o+RNXMBrb7XgLtKaizZWUpqRduQuHQLdg==}
+    hasBin: true
+
+  '@microsoft/tsdoc-config@0.17.1':
+    resolution: {integrity: sha512-UtjIFe0C6oYgTnad4q1QP4qXwLhe6tIpNTRStJ2RZEPIkqQPREAwE5spzVxsdn9UaEMUqhh0AqSx3X4nWAKXWw==}
+
+  '@microsoft/tsdoc@0.15.1':
+    resolution: {integrity: sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==}
+
+  '@nodelib/fs.scandir@2.1.5':
+    resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+    engines: {node: '>= 8'}
+
+  '@nodelib/fs.stat@2.0.5':
+    resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+    engines: {node: '>= 8'}
+
+  '@nodelib/fs.walk@1.2.8':
+    resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+    engines: {node: '>= 8'}
+
+  '@parcel/watcher-android-arm64@2.5.1':
+    resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==}
+    engines: {node: '>= 10.0.0'}
+    cpu: [arm64]
+    os: [android]
+
+  '@parcel/watcher-darwin-arm64@2.5.1':
+    resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==}
+    engines: {node: '>= 10.0.0'}
+    cpu: [arm64]
+    os: [darwin]
+
+  '@parcel/watcher-darwin-x64@2.5.1':
+    resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==}
+    engines: {node: '>= 10.0.0'}
+    cpu: [x64]
+    os: [darwin]
+
+  '@parcel/watcher-freebsd-x64@2.5.1':
+    resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==}
+    engines: {node: '>= 10.0.0'}
+    cpu: [x64]
+    os: [freebsd]
+
+  '@parcel/watcher-linux-arm-glibc@2.5.1':
+    resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==}
+    engines: {node: '>= 10.0.0'}
+    cpu: [arm]
+    os: [linux]
+
+  '@parcel/watcher-linux-arm-musl@2.5.1':
+    resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==}
+    engines: {node: '>= 10.0.0'}
+    cpu: [arm]
+    os: [linux]
+
+  '@parcel/watcher-linux-arm64-glibc@2.5.1':
+    resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==}
+    engines: {node: '>= 10.0.0'}
+    cpu: [arm64]
+    os: [linux]
+
+  '@parcel/watcher-linux-arm64-musl@2.5.1':
+    resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==}
+    engines: {node: '>= 10.0.0'}
+    cpu: [arm64]
+    os: [linux]
+
+  '@parcel/watcher-linux-x64-glibc@2.5.1':
+    resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==}
+    engines: {node: '>= 10.0.0'}
+    cpu: [x64]
+    os: [linux]
+
+  '@parcel/watcher-linux-x64-musl@2.5.1':
+    resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==}
+    engines: {node: '>= 10.0.0'}
+    cpu: [x64]
+    os: [linux]
+
+  '@parcel/watcher-win32-arm64@2.5.1':
+    resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==}
+    engines: {node: '>= 10.0.0'}
+    cpu: [arm64]
+    os: [win32]
+
+  '@parcel/watcher-win32-ia32@2.5.1':
+    resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==}
+    engines: {node: '>= 10.0.0'}
+    cpu: [ia32]
+    os: [win32]
+
+  '@parcel/watcher-win32-x64@2.5.1':
+    resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==}
+    engines: {node: '>= 10.0.0'}
+    cpu: [x64]
+    os: [win32]
+
+  '@parcel/watcher@2.5.1':
+    resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==}
+    engines: {node: '>= 10.0.0'}
+
+  '@pkgr/core@0.2.7':
+    resolution: {integrity: sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==}
+    engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+
+  '@rollup/plugin-babel@6.0.4':
+    resolution: {integrity: sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==}
+    engines: {node: '>=14.0.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0
+      '@types/babel__core': ^7.1.9
+      rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+    peerDependenciesMeta:
+      '@types/babel__core':
+        optional: true
+      rollup:
+        optional: true
+
+  '@rollup/plugin-commonjs@28.0.6':
+    resolution: {integrity: sha512-XSQB1K7FUU5QP+3lOQmVCE3I0FcbbNvmNT4VJSj93iUjayaARrTQeoRdiYQoftAJBLrR9t2agwAd3ekaTgHNlw==}
+    engines: {node: '>=16.0.0 || 14 >= 14.17'}
+    peerDependencies:
+      rollup: ^2.68.0||^3.0.0||^4.0.0
+    peerDependenciesMeta:
+      rollup:
+        optional: true
+
+  '@rollup/plugin-node-resolve@16.0.1':
+    resolution: {integrity: sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA==}
+    engines: {node: '>=14.0.0'}
+    peerDependencies:
+      rollup: ^2.78.0||^3.0.0||^4.0.0
+    peerDependenciesMeta:
+      rollup:
+        optional: true
+
+  '@rollup/plugin-replace@6.0.2':
+    resolution: {integrity: sha512-7QaYCf8bqF04dOy7w/eHmJeNExxTYwvKAmlSAH/EaWWUzbT0h5sbF6bktFoX/0F/0qwng5/dWFMyf3gzaM8DsQ==}
+    engines: {node: '>=14.0.0'}
+    peerDependencies:
+      rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+    peerDependenciesMeta:
+      rollup:
+        optional: true
+
+  '@rollup/plugin-terser@0.4.4':
+    resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==}
+    engines: {node: '>=14.0.0'}
+    peerDependencies:
+      rollup: ^2.0.0||^3.0.0||^4.0.0
+    peerDependenciesMeta:
+      rollup:
+        optional: true
+
+  '@rollup/plugin-typescript@12.1.4':
+    resolution: {integrity: sha512-s5Hx+EtN60LMlDBvl5f04bEiFZmAepk27Q+mr85L/00zPDn1jtzlTV6FWn81MaIwqfWzKxmOJrBWHU6vtQyedQ==}
+    engines: {node: '>=14.0.0'}
+    peerDependencies:
+      rollup: ^2.14.0||^3.0.0||^4.0.0
+      tslib: '*'
+      typescript: '>=3.7.0'
+    peerDependenciesMeta:
+      rollup:
+        optional: true
+      tslib:
+        optional: true
+
+  '@rollup/pluginutils@4.2.1':
+    resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
+    engines: {node: '>= 8.0.0'}
+
+  '@rollup/pluginutils@5.2.0':
+    resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==}
+    engines: {node: '>=14.0.0'}
+    peerDependencies:
+      rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+    peerDependenciesMeta:
+      rollup:
+        optional: true
+
+  '@rollup/rollup-android-arm-eabi@4.44.1':
+    resolution: {integrity: sha512-JAcBr1+fgqx20m7Fwe1DxPUl/hPkee6jA6Pl7n1v2EFiktAHenTaXl5aIFjUIEsfn9w3HE4gK1lEgNGMzBDs1w==}
+    cpu: [arm]
+    os: [android]
+
+  '@rollup/rollup-android-arm64@4.44.1':
+    resolution: {integrity: sha512-RurZetXqTu4p+G0ChbnkwBuAtwAbIwJkycw1n6GvlGlBuS4u5qlr5opix8cBAYFJgaY05TWtM+LaoFggUmbZEQ==}
+    cpu: [arm64]
+    os: [android]
+
+  '@rollup/rollup-darwin-arm64@4.44.1':
+    resolution: {integrity: sha512-fM/xPesi7g2M7chk37LOnmnSTHLG/v2ggWqKj3CCA1rMA4mm5KVBT1fNoswbo1JhPuNNZrVwpTvlCVggv8A2zg==}
+    cpu: [arm64]
+    os: [darwin]
+
+  '@rollup/rollup-darwin-x64@4.44.1':
+    resolution: {integrity: sha512-gDnWk57urJrkrHQ2WVx9TSVTH7lSlU7E3AFqiko+bgjlh78aJ88/3nycMax52VIVjIm3ObXnDL2H00e/xzoipw==}
+    cpu: [x64]
+    os: [darwin]
+
+  '@rollup/rollup-freebsd-arm64@4.44.1':
+    resolution: {integrity: sha512-wnFQmJ/zPThM5zEGcnDcCJeYJgtSLjh1d//WuHzhf6zT3Md1BvvhJnWoy+HECKu2bMxaIcfWiu3bJgx6z4g2XA==}
+    cpu: [arm64]
+    os: [freebsd]
+
+  '@rollup/rollup-freebsd-x64@4.44.1':
+    resolution: {integrity: sha512-uBmIxoJ4493YATvU2c0upGz87f99e3wop7TJgOA/bXMFd2SvKCI7xkxY/5k50bv7J6dw1SXT4MQBQSLn8Bb/Uw==}
+    cpu: [x64]
+    os: [freebsd]
+
+  '@rollup/rollup-linux-arm-gnueabihf@4.44.1':
+    resolution: {integrity: sha512-n0edDmSHlXFhrlmTK7XBuwKlG5MbS7yleS1cQ9nn4kIeW+dJH+ExqNgQ0RrFRew8Y+0V/x6C5IjsHrJmiHtkxQ==}
+    cpu: [arm]
+    os: [linux]
+
+  '@rollup/rollup-linux-arm-musleabihf@4.44.1':
+    resolution: {integrity: sha512-8WVUPy3FtAsKSpyk21kV52HCxB+me6YkbkFHATzC2Yd3yuqHwy2lbFL4alJOLXKljoRw08Zk8/xEj89cLQ/4Nw==}
+    cpu: [arm]
+    os: [linux]
+
+  '@rollup/rollup-linux-arm64-gnu@4.44.1':
+    resolution: {integrity: sha512-yuktAOaeOgorWDeFJggjuCkMGeITfqvPgkIXhDqsfKX8J3jGyxdDZgBV/2kj/2DyPaLiX6bPdjJDTu9RB8lUPQ==}
+    cpu: [arm64]
+    os: [linux]
+
+  '@rollup/rollup-linux-arm64-musl@4.44.1':
+    resolution: {integrity: sha512-W+GBM4ifET1Plw8pdVaecwUgxmiH23CfAUj32u8knq0JPFyK4weRy6H7ooxYFD19YxBulL0Ktsflg5XS7+7u9g==}
+    cpu: [arm64]
+    os: [linux]
+
+  '@rollup/rollup-linux-loongarch64-gnu@4.44.1':
+    resolution: {integrity: sha512-1zqnUEMWp9WrGVuVak6jWTl4fEtrVKfZY7CvcBmUUpxAJ7WcSowPSAWIKa/0o5mBL/Ij50SIf9tuirGx63Ovew==}
+    cpu: [loong64]
+    os: [linux]
+
+  '@rollup/rollup-linux-powerpc64le-gnu@4.44.1':
+    resolution: {integrity: sha512-Rl3JKaRu0LHIx7ExBAAnf0JcOQetQffaw34T8vLlg9b1IhzcBgaIdnvEbbsZq9uZp3uAH+JkHd20Nwn0h9zPjA==}
+    cpu: [ppc64]
+    os: [linux]
+
+  '@rollup/rollup-linux-riscv64-gnu@4.44.1':
+    resolution: {integrity: sha512-j5akelU3snyL6K3N/iX7otLBIl347fGwmd95U5gS/7z6T4ftK288jKq3A5lcFKcx7wwzb5rgNvAg3ZbV4BqUSw==}
+    cpu: [riscv64]
+    os: [linux]
+
+  '@rollup/rollup-linux-riscv64-musl@4.44.1':
+    resolution: {integrity: sha512-ppn5llVGgrZw7yxbIm8TTvtj1EoPgYUAbfw0uDjIOzzoqlZlZrLJ/KuiE7uf5EpTpCTrNt1EdtzF0naMm0wGYg==}
+    cpu: [riscv64]
+    os: [linux]
+
+  '@rollup/rollup-linux-s390x-gnu@4.44.1':
+    resolution: {integrity: sha512-Hu6hEdix0oxtUma99jSP7xbvjkUM/ycke/AQQ4EC5g7jNRLLIwjcNwaUy95ZKBJJwg1ZowsclNnjYqzN4zwkAw==}
+    cpu: [s390x]
+    os: [linux]
+
+  '@rollup/rollup-linux-x64-gnu@4.44.1':
+    resolution: {integrity: sha512-EtnsrmZGomz9WxK1bR5079zee3+7a+AdFlghyd6VbAjgRJDbTANJ9dcPIPAi76uG05micpEL+gPGmAKYTschQw==}
+    cpu: [x64]
+    os: [linux]
+
+  '@rollup/rollup-linux-x64-musl@4.44.1':
+    resolution: {integrity: sha512-iAS4p+J1az6Usn0f8xhgL4PaU878KEtutP4hqw52I4IO6AGoyOkHCxcc4bqufv1tQLdDWFx8lR9YlwxKuv3/3g==}
+    cpu: [x64]
+    os: [linux]
+
+  '@rollup/rollup-win32-arm64-msvc@4.44.1':
+    resolution: {integrity: sha512-NtSJVKcXwcqozOl+FwI41OH3OApDyLk3kqTJgx8+gp6On9ZEt5mYhIsKNPGuaZr3p9T6NWPKGU/03Vw4CNU9qg==}
+    cpu: [arm64]
+    os: [win32]
+
+  '@rollup/rollup-win32-ia32-msvc@4.44.1':
+    resolution: {integrity: sha512-JYA3qvCOLXSsnTR3oiyGws1Dm0YTuxAAeaYGVlGpUsHqloPcFjPg+X0Fj2qODGLNwQOAcCiQmHub/V007kiH5A==}
+    cpu: [ia32]
+    os: [win32]
+
+  '@rollup/rollup-win32-x64-msvc@4.44.1':
+    resolution: {integrity: sha512-J8o22LuF0kTe7m+8PvW9wk3/bRq5+mRo5Dqo6+vXb7otCm3TPhYOJqOaQtGU9YMWQSL3krMnoOxMr0+9E6F3Ug==}
+    cpu: [x64]
+    os: [win32]
+
+  '@rushstack/node-core-library@5.13.1':
+    resolution: {integrity: sha512-5yXhzPFGEkVc9Fu92wsNJ9jlvdwz4RNb2bMso+/+TH0nMm1jDDDsOIf4l8GAkPxGuwPw5DH24RliWVfSPhlW/Q==}
+    peerDependencies:
+      '@types/node': '*'
+    peerDependenciesMeta:
+      '@types/node':
+        optional: true
+
+  '@rushstack/rig-package@0.5.3':
+    resolution: {integrity: sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==}
+
+  '@rushstack/terminal@0.15.3':
+    resolution: {integrity: sha512-DGJ0B2Vm69468kZCJkPj3AH5nN+nR9SPmC0rFHtzsS4lBQ7/dgOwtwVxYP7W9JPDMuRBkJ4KHmWKr036eJsj9g==}
+    peerDependencies:
+      '@types/node': '*'
+    peerDependenciesMeta:
+      '@types/node':
+        optional: true
+
+  '@rushstack/ts-command-line@5.0.1':
+    resolution: {integrity: sha512-bsbUucn41UXrQK7wgM8CNM/jagBytEyJqXw/umtI8d68vFm1Jwxh1OtLrlW7uGZgjCWiiPH6ooUNa1aVsuVr3Q==}
+
+  '@sinclair/typebox@0.27.8':
+    resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
+
+  '@sinonjs/commons@3.0.1':
+    resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==}
+
+  '@sinonjs/fake-timers@10.3.0':
+    resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==}
+
+  '@testing-library/dom@10.4.0':
+    resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==}
+    engines: {node: '>=18'}
+
+  '@testing-library/jest-dom@6.6.3':
+    resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==}
+    engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
+
+  '@testing-library/user-event@14.6.1':
+    resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==}
+    engines: {node: '>=12', npm: '>=6'}
+    peerDependencies:
+      '@testing-library/dom': '>=7.21.4'
+
+  '@tootallnate/once@2.0.0':
+    resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
+    engines: {node: '>= 10'}
+
+  '@types/argparse@1.0.38':
+    resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==}
+
+  '@types/aria-query@5.0.4':
+    resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
+
+  '@types/babel__core@7.20.5':
+    resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
+
+  '@types/babel__generator@7.27.0':
+    resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==}
+
+  '@types/babel__template@7.4.4':
+    resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
+
+  '@types/babel__traverse@7.20.7':
+    resolution: {integrity: sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==}
+
+  '@types/downloadjs@1.4.6':
+    resolution: {integrity: sha512-mp3w70vsaiLRT9ix92fmI9Ob2yJAPZm6tShJtofo2uHbN11G2i6a0ApIEjBl/kv3e9V7Pv7jMjk1bUwYWvMHvA==}
+
+  '@types/estree@1.0.8':
+    resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+
+  '@types/graceful-fs@4.1.9':
+    resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
+
+  '@types/istanbul-lib-coverage@2.0.6':
+    resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
+
+  '@types/istanbul-lib-report@3.0.3':
+    resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
+
+  '@types/istanbul-reports@3.0.4':
+    resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
+
+  '@types/jest@29.5.14':
+    resolution: {integrity: sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==}
+
+  '@types/jsdom@20.0.1':
+    resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==}
+
+  '@types/json-schema@7.0.15':
+    resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+
+  '@types/node@24.0.8':
+    resolution: {integrity: sha512-WytNrFSgWO/esSH9NbpWUfTMGQwCGIKfCmNlmFDNiI5gGhgMmEA+V1AEvKLeBNvvtBnailJtkrEa2OIISwrVAA==}
+
+  '@types/resolve@1.20.2':
+    resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
+
+  '@types/stack-utils@2.0.3':
+    resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
+
+  '@types/tough-cookie@4.0.5':
+    resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==}
+
+  '@types/yargs-parser@21.0.3':
+    resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
+
+  '@types/yargs@17.0.33':
+    resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==}
+
+  '@typescript-eslint/eslint-plugin@8.35.1':
+    resolution: {integrity: sha512-9XNTlo7P7RJxbVeICaIIIEipqxLKguyh+3UbXuT2XQuFp6d8VOeDEGuz5IiX0dgZo8CiI6aOFLg4e8cF71SFVg==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    peerDependencies:
+      '@typescript-eslint/parser': ^8.35.1
+      eslint: ^8.57.0 || ^9.0.0
+      typescript: '>=4.8.4 <5.9.0'
+
+  '@typescript-eslint/parser@8.35.1':
+    resolution: {integrity: sha512-3MyiDfrfLeK06bi/g9DqJxP5pV74LNv4rFTyvGDmT3x2p1yp1lOd+qYZfiRPIOf/oON+WRZR5wxxuF85qOar+w==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    peerDependencies:
+      eslint: ^8.57.0 || ^9.0.0
+      typescript: '>=4.8.4 <5.9.0'
+
+  '@typescript-eslint/project-service@8.35.1':
+    resolution: {integrity: sha512-VYxn/5LOpVxADAuP3NrnxxHYfzVtQzLKeldIhDhzC8UHaiQvYlXvKuVho1qLduFbJjjy5U5bkGwa3rUGUb1Q6Q==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    peerDependencies:
+      typescript: '>=4.8.4 <5.9.0'
+
+  '@typescript-eslint/scope-manager@8.35.1':
+    resolution: {integrity: sha512-s/Bpd4i7ht2934nG+UoSPlYXd08KYz3bmjLEb7Ye1UVob0d1ENiT3lY8bsCmik4RqfSbPw9xJJHbugpPpP5JUg==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+  '@typescript-eslint/tsconfig-utils@8.35.1':
+    resolution: {integrity: sha512-K5/U9VmT9dTHoNowWZpz+/TObS3xqC5h0xAIjXPw+MNcKV9qg6eSatEnmeAwkjHijhACH0/N7bkhKvbt1+DXWQ==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    peerDependencies:
+      typescript: '>=4.8.4 <5.9.0'
+
+  '@typescript-eslint/type-utils@8.35.1':
+    resolution: {integrity: sha512-HOrUBlfVRz5W2LIKpXzZoy6VTZzMu2n8q9C2V/cFngIC5U1nStJgv0tMV4sZPzdf4wQm9/ToWUFPMN9Vq9VJQQ==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    peerDependencies:
+      eslint: ^8.57.0 || ^9.0.0
+      typescript: '>=4.8.4 <5.9.0'
+
+  '@typescript-eslint/types@8.35.1':
+    resolution: {integrity: sha512-q/O04vVnKHfrrhNAscndAn1tuQhIkwqnaW+eu5waD5IPts2eX1dgJxgqcPx5BX109/qAz7IG6VrEPTOYKCNfRQ==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+  '@typescript-eslint/typescript-estree@8.35.1':
+    resolution: {integrity: sha512-Vvpuvj4tBxIka7cPs6Y1uvM7gJgdF5Uu9F+mBJBPY4MhvjrjWGK4H0lVgLJd/8PWZ23FTqsaJaLEkBCFUk8Y9g==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    peerDependencies:
+      typescript: '>=4.8.4 <5.9.0'
+
+  '@typescript-eslint/utils@8.35.1':
+    resolution: {integrity: sha512-lhnwatFmOFcazAsUm3ZnZFpXSxiwoa1Lj50HphnDe1Et01NF4+hrdXONSUHIcbVu2eFb1bAf+5yjXkGVkXBKAQ==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    peerDependencies:
+      eslint: ^8.57.0 || ^9.0.0
+      typescript: '>=4.8.4 <5.9.0'
+
+  '@typescript-eslint/visitor-keys@8.35.1':
+    resolution: {integrity: sha512-VRwixir4zBWCSTP/ljEo091lbpypz57PoeAQ9imjG+vbeof9LplljsL1mos4ccG6H9IjfrVGM359RozUnuFhpw==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+  '@vitejs/plugin-vue@5.2.4':
+    resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==}
+    engines: {node: ^18.0.0 || >=20.0.0}
+    peerDependencies:
+      vite: ^5.0.0 || ^6.0.0
+      vue: ^3.2.25
+
+  '@volar/language-core@2.4.15':
+    resolution: {integrity: sha512-3VHw+QZU0ZG9IuQmzT68IyN4hZNd9GchGPhbD9+pa8CVv7rnoOZwo7T8weIbrRmihqy3ATpdfXFnqRrfPVK6CA==}
+
+  '@volar/source-map@2.4.15':
+    resolution: {integrity: sha512-CPbMWlUN6hVZJYGcU/GSoHu4EnCHiLaXI9n8c9la6RaI9W5JHX+NqG+GSQcB0JdC2FIBLdZJwGsfKyBB71VlTg==}
+
+  '@volar/typescript@2.4.15':
+    resolution: {integrity: sha512-2aZ8i0cqPGjXb4BhkMsPYDkkuc2ZQ6yOpqwAuNwUoncELqoy5fRgOQtLR9gB0g902iS0NAkvpIzs27geVyVdPg==}
+
+  '@vue/compiler-core@3.5.17':
+    resolution: {integrity: sha512-Xe+AittLbAyV0pabcN7cP7/BenRBNcteM4aSDCtRvGw0d9OL+HG1u/XHLY/kt1q4fyMeZYXyIYrsHuPSiDPosA==}
+
+  '@vue/compiler-dom@3.5.17':
+    resolution: {integrity: sha512-+2UgfLKoaNLhgfhV5Ihnk6wB4ljyW1/7wUIog2puUqajiC29Lp5R/IKDdkebh9jTbTogTbsgB+OY9cEWzG95JQ==}
+
+  '@vue/compiler-sfc@3.5.17':
+    resolution: {integrity: sha512-rQQxbRJMgTqwRugtjw0cnyQv9cP4/4BxWfTdRBkqsTfLOHWykLzbOc3C4GGzAmdMDxhzU/1Ija5bTjMVrddqww==}
+
+  '@vue/compiler-ssr@3.5.17':
+    resolution: {integrity: sha512-hkDbA0Q20ZzGgpj5uZjb9rBzQtIHLS78mMilwrlpWk2Ep37DYntUz0PonQ6kr113vfOEdM+zTBuJDaceNIW0tQ==}
+
+  '@vue/compiler-vue2@2.7.16':
+    resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==}
+
+  '@vue/devtools-api@6.6.4':
+    resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==}
+
+  '@vue/language-core@2.2.0':
+    resolution: {integrity: sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw==}
+    peerDependencies:
+      typescript: '*'
+    peerDependenciesMeta:
+      typescript:
+        optional: true
+
+  '@vue/language-core@2.2.10':
+    resolution: {integrity: sha512-+yNoYx6XIKuAO8Mqh1vGytu8jkFEOH5C8iOv3i8Z/65A7x9iAOXA97Q+PqZ3nlm2lxf5rOJuIGI/wDtx/riNYw==}
+    peerDependencies:
+      typescript: '*'
+    peerDependenciesMeta:
+      typescript:
+        optional: true
+
+  '@vue/reactivity@3.5.17':
+    resolution: {integrity: sha512-l/rmw2STIscWi7SNJp708FK4Kofs97zc/5aEPQh4bOsReD/8ICuBcEmS7KGwDj5ODQLYWVN2lNibKJL1z5b+Lw==}
+
+  '@vue/runtime-core@3.5.17':
+    resolution: {integrity: sha512-QQLXa20dHg1R0ri4bjKeGFKEkJA7MMBxrKo2G+gJikmumRS7PTD4BOU9FKrDQWMKowz7frJJGqBffYMgQYS96Q==}
+
+  '@vue/runtime-dom@3.5.17':
+    resolution: {integrity: sha512-8El0M60TcwZ1QMz4/os2MdlQECgGoVHPuLnQBU3m9h3gdNRW9xRmI8iLS4t/22OQlOE6aJvNNlBiCzPHur4H9g==}
+
+  '@vue/server-renderer@3.5.17':
+    resolution: {integrity: sha512-BOHhm8HalujY6lmC3DbqF6uXN/K00uWiEeF22LfEsm9Q93XeJ/plHTepGwf6tqFcF7GA5oGSSAAUock3VvzaCA==}
+    peerDependencies:
+      vue: 3.5.17
+
+  '@vue/shared@3.5.17':
+    resolution: {integrity: sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==}
+
+  abab@2.0.6:
+    resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
+    deprecated: Use your platform's native atob() and btoa() methods instead
+
+  acorn-globals@7.0.1:
+    resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==}
+
+  acorn-jsx@5.3.2:
+    resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+    peerDependencies:
+      acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+  acorn-walk@8.3.4:
+    resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
+    engines: {node: '>=0.4.0'}
+
+  acorn@8.15.0:
+    resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
+    engines: {node: '>=0.4.0'}
+    hasBin: true
+
+  agent-base@6.0.2:
+    resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
+    engines: {node: '>= 6.0.0'}
+
+  ajv-draft-04@1.0.0:
+    resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==}
+    peerDependencies:
+      ajv: ^8.5.0
+    peerDependenciesMeta:
+      ajv:
+        optional: true
+
+  ajv-formats@3.0.1:
+    resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
+    peerDependencies:
+      ajv: ^8.0.0
+    peerDependenciesMeta:
+      ajv:
+        optional: true
+
+  ajv@6.12.6:
+    resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+
+  ajv@8.12.0:
+    resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
+
+  ajv@8.13.0:
+    resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==}
+
+  alien-signals@0.4.14:
+    resolution: {integrity: sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==}
+
+  alien-signals@1.0.13:
+    resolution: {integrity: sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg==}
+
+  ansi-escapes@4.3.2:
+    resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
+    engines: {node: '>=8'}
+
+  ansi-regex@5.0.1:
+    resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+    engines: {node: '>=8'}
+
+  ansi-regex@6.1.0:
+    resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
+    engines: {node: '>=12'}
+
+  ansi-styles@4.3.0:
+    resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+    engines: {node: '>=8'}
+
+  ansi-styles@5.2.0:
+    resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
+    engines: {node: '>=10'}
+
+  ansi-styles@6.2.1:
+    resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+    engines: {node: '>=12'}
+
+  anymatch@3.1.3:
+    resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+    engines: {node: '>= 8'}
+
+  argparse@1.0.10:
+    resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
+
+  argparse@2.0.1:
+    resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+  aria-query@5.3.0:
+    resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
+
+  aria-query@5.3.2:
+    resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
+    engines: {node: '>= 0.4'}
+
+  async@3.2.6:
+    resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==}
+
+  asynckit@0.4.0:
+    resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+
+  babel-jest@29.7.0:
+    resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+    peerDependencies:
+      '@babel/core': ^7.8.0
+
+  babel-plugin-istanbul@6.1.1:
+    resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
+    engines: {node: '>=8'}
+
+  babel-plugin-jest-hoist@29.6.3:
+    resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  babel-preset-current-node-syntax@1.1.0:
+    resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==}
+    peerDependencies:
+      '@babel/core': ^7.0.0
+
+  babel-preset-jest@29.6.3:
+    resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+    peerDependencies:
+      '@babel/core': ^7.0.0
+
+  balanced-match@1.0.2:
+    resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+  brace-expansion@1.1.12:
+    resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
+
+  brace-expansion@2.0.2:
+    resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
+
+  braces@3.0.3:
+    resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
+    engines: {node: '>=8'}
+
+  browserslist@4.25.1:
+    resolution: {integrity: sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==}
+    engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+    hasBin: true
+
+  bs-logger@0.2.6:
+    resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==}
+    engines: {node: '>= 6'}
+
+  bser@2.1.1:
+    resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
+
+  buffer-from@1.1.2:
+    resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+
+  call-bind-apply-helpers@1.0.2:
+    resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
+    engines: {node: '>= 0.4'}
+
+  callsites@3.1.0:
+    resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+    engines: {node: '>=6'}
+
+  camelcase@5.3.1:
+    resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
+    engines: {node: '>=6'}
+
+  camelcase@6.3.0:
+    resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
+    engines: {node: '>=10'}
+
+  caniuse-lite@1.0.30001726:
+    resolution: {integrity: sha512-VQAUIUzBiZ/UnlM28fSp2CRF3ivUn1BWEvxMcVTNwpw91Py1pGbPIyIKtd+tzct9C3ouceCVdGAXxZOpZAsgdw==}
+
+  chalk@3.0.0:
+    resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
+    engines: {node: '>=8'}
+
+  chalk@4.1.2:
+    resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+    engines: {node: '>=10'}
+
+  char-regex@1.0.2:
+    resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
+    engines: {node: '>=10'}
+
+  chokidar@4.0.3:
+    resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
+    engines: {node: '>= 14.16.0'}
+
+  ci-info@3.9.0:
+    resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
+    engines: {node: '>=8'}
+
+  cjs-module-lexer@1.4.3:
+    resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==}
+
+  clipboard@2.0.11:
+    resolution: {integrity: sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==}
+
+  cliui@8.0.1:
+    resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+    engines: {node: '>=12'}
+
+  co@4.6.0:
+    resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
+    engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
+
+  collect-v8-coverage@1.0.2:
+    resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==}
+
+  color-convert@2.0.1:
+    resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+    engines: {node: '>=7.0.0'}
+
+  color-name@1.1.4:
+    resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+  combined-stream@1.0.8:
+    resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+    engines: {node: '>= 0.8'}
+
+  commander@2.20.3:
+    resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+
+  commondir@1.0.1:
+    resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+
+  compare-versions@6.1.1:
+    resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==}
+
+  concat-map@0.0.1:
+    resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+  confbox@0.1.8:
+    resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
+
+  confbox@0.2.2:
+    resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==}
+
+  convert-source-map@2.0.0:
+    resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+  create-jest@29.7.0:
+    resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+    hasBin: true
+
+  cross-spawn@7.0.6:
+    resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
+    engines: {node: '>= 8'}
+
+  css.escape@1.5.1:
+    resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
+
+  cssfontparser@1.2.1:
+    resolution: {integrity: sha512-6tun4LoZnj7VN6YeegOVb67KBX/7JJsqvj+pv3ZA7F878/eN33AbGa5b/S/wXxS/tcp8nc40xRUrsPlxIyNUPg==}
+
+  cssom@0.3.8:
+    resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==}
+
+  cssom@0.5.0:
+    resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==}
+
+  cssstyle@2.3.0:
+    resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==}
+    engines: {node: '>=8'}
+
+  csstype@3.1.3:
+    resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+
+  data-urls@3.0.2:
+    resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==}
+    engines: {node: '>=12'}
+
+  de-indent@1.0.2:
+    resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
+
+  debug@4.4.1:
+    resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
+    engines: {node: '>=6.0'}
+    peerDependencies:
+      supports-color: '*'
+    peerDependenciesMeta:
+      supports-color:
+        optional: true
+
+  decimal.js@10.5.0:
+    resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==}
+
+  dedent@1.6.0:
+    resolution: {integrity: sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==}
+    peerDependencies:
+      babel-plugin-macros: ^3.1.0
+    peerDependenciesMeta:
+      babel-plugin-macros:
+        optional: true
+
+  deep-is@0.1.4:
+    resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+
+  deepmerge@4.3.1:
+    resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+    engines: {node: '>=0.10.0'}
+
+  delayed-stream@1.0.0:
+    resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+    engines: {node: '>=0.4.0'}
+
+  delegate@3.2.0:
+    resolution: {integrity: sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==}
+
+  dequal@2.0.3:
+    resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+    engines: {node: '>=6'}
+
+  detect-libc@1.0.3:
+    resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
+    engines: {node: '>=0.10'}
+    hasBin: true
+
+  detect-newline@3.1.0:
+    resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
+    engines: {node: '>=8'}
+
+  diff-sequences@29.6.3:
+    resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  dom-accessibility-api@0.5.16:
+    resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
+
+  dom-accessibility-api@0.6.3:
+    resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==}
+
+  domexception@4.0.0:
+    resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==}
+    engines: {node: '>=12'}
+    deprecated: Use your platform's native DOMException instead
+
+  downloadjs@1.4.7:
+    resolution: {integrity: sha512-LN1gO7+u9xjU5oEScGFKvXhYf7Y/empUIIEAGBs1LzUq/rg5duiDrkuH5A2lQGd5jfMOb9X9usDa2oVXwJ0U/Q==}
+
+  dunder-proto@1.0.1:
+    resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
+    engines: {node: '>= 0.4'}
+
+  eastasianwidth@0.2.0:
+    resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+
+  ejs@3.1.10:
+    resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}
+    engines: {node: '>=0.10.0'}
+    hasBin: true
+
+  electron-to-chromium@1.5.178:
+    resolution: {integrity: sha512-wObbz/ar3Bc6e4X5vf0iO8xTN8YAjN/tgiAOJLr7yjYFtP9wAjq8Mb5h0yn6kResir+VYx2DXBj9NNobs0ETSA==}
+
+  emittery@0.13.1:
+    resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
+    engines: {node: '>=12'}
+
+  emoji-regex@8.0.0:
+    resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+  emoji-regex@9.2.2:
+    resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+
+  entities@4.5.0:
+    resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+    engines: {node: '>=0.12'}
+
+  entities@6.0.1:
+    resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
+    engines: {node: '>=0.12'}
+
+  error-ex@1.3.2:
+    resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+
+  es-define-property@1.0.1:
+    resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
+    engines: {node: '>= 0.4'}
+
+  es-errors@1.3.0:
+    resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+    engines: {node: '>= 0.4'}
+
+  es-object-atoms@1.1.1:
+    resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
+    engines: {node: '>= 0.4'}
+
+  es-set-tostringtag@2.1.0:
+    resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
+    engines: {node: '>= 0.4'}
+
+  esbuild@0.25.5:
+    resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==}
+    engines: {node: '>=18'}
+    hasBin: true
+
+  escalade@3.2.0:
+    resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
+    engines: {node: '>=6'}
+
+  escape-string-regexp@2.0.0:
+    resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
+    engines: {node: '>=8'}
+
+  escape-string-regexp@4.0.0:
+    resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+    engines: {node: '>=10'}
+
+  escodegen@2.1.0:
+    resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
+    engines: {node: '>=6.0'}
+    hasBin: true
+
+  eslint-config-prettier@10.1.5:
+    resolution: {integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==}
+    hasBin: true
+    peerDependencies:
+      eslint: '>=7.0.0'
+
+  eslint-plugin-prettier@5.5.1:
+    resolution: {integrity: sha512-dobTkHT6XaEVOo8IO90Q4DOSxnm3Y151QxPJlM/vKC0bVy+d6cVWQZLlFiuZPP0wS6vZwSKeJgKkcS+KfMBlRw==}
+    engines: {node: ^14.18.0 || >=16.0.0}
+    peerDependencies:
+      '@types/eslint': '>=8.0.0'
+      eslint: '>=8.0.0'
+      eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0'
+      prettier: '>=3.0.0'
+    peerDependenciesMeta:
+      '@types/eslint':
+        optional: true
+      eslint-config-prettier:
+        optional: true
+
+  eslint-scope@8.4.0:
+    resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+  eslint-visitor-keys@3.4.3:
+    resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
+    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+  eslint-visitor-keys@4.2.1:
+    resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+  eslint@9.30.0:
+    resolution: {integrity: sha512-iN/SiPxmQu6EVkf+m1qpBxzUhE12YqFLOSySuOyVLJLEF9nzTf+h/1AJYc1JWzCnktggeNrjvQGLngDzXirU6g==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    hasBin: true
+    peerDependencies:
+      jiti: '*'
+    peerDependenciesMeta:
+      jiti:
+        optional: true
+
+  espree@10.4.0:
+    resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
+    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+  esprima@4.0.1:
+    resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+    engines: {node: '>=4'}
+    hasBin: true
+
+  esquery@1.6.0:
+    resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
+    engines: {node: '>=0.10'}
+
+  esrecurse@4.3.0:
+    resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+    engines: {node: '>=4.0'}
+
+  estraverse@5.3.0:
+    resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+    engines: {node: '>=4.0'}
+
+  estree-walker@0.6.1:
+    resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==}
+
+  estree-walker@2.0.2:
+    resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
+  esutils@2.0.3:
+    resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+    engines: {node: '>=0.10.0'}
+
+  execa@5.1.1:
+    resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+    engines: {node: '>=10'}
+
+  exit@0.1.2:
+    resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
+    engines: {node: '>= 0.8.0'}
+
+  expect@29.7.0:
+    resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  exsolve@1.0.7:
+    resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==}
+
+  fast-deep-equal@3.1.3:
+    resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+  fast-diff@1.3.0:
+    resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
+
+  fast-glob@3.3.3:
+    resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
+    engines: {node: '>=8.6.0'}
+
+  fast-json-stable-stringify@2.1.0:
+    resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+
+  fast-levenshtein@2.0.6:
+    resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+
+  fastq@1.19.1:
+    resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
+
+  fb-watchman@2.0.2:
+    resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
+
+  fdir@6.4.6:
+    resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==}
+    peerDependencies:
+      picomatch: ^3 || ^4
+    peerDependenciesMeta:
+      picomatch:
+        optional: true
+
+  file-entry-cache@8.0.0:
+    resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
+    engines: {node: '>=16.0.0'}
+
+  filelist@1.0.4:
+    resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
+
+  fill-range@7.1.1:
+    resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
+    engines: {node: '>=8'}
+
+  find-cache-dir@3.3.2:
+    resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
+    engines: {node: '>=8'}
+
+  find-up@4.1.0:
+    resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
+    engines: {node: '>=8'}
+
+  find-up@5.0.0:
+    resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+    engines: {node: '>=10'}
+
+  flat-cache@4.0.1:
+    resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
+    engines: {node: '>=16'}
+
+  flatted@3.3.3:
+    resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
+
+  foreground-child@3.3.1:
+    resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
+    engines: {node: '>=14'}
+
+  form-data@4.0.3:
+    resolution: {integrity: sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==}
+    engines: {node: '>= 6'}
+
+  fs-extra@10.1.0:
+    resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
+    engines: {node: '>=12'}
+
+  fs-extra@11.3.0:
+    resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==}
+    engines: {node: '>=14.14'}
+
+  fs.realpath@1.0.0:
+    resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+
+  fsevents@2.3.3:
+    resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+    engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+    os: [darwin]
+
+  function-bind@1.1.2:
+    resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
+  gensync@1.0.0-beta.2:
+    resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+    engines: {node: '>=6.9.0'}
+
+  get-caller-file@2.0.5:
+    resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+    engines: {node: 6.* || 8.* || >= 10.*}
+
+  get-intrinsic@1.3.0:
+    resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
+    engines: {node: '>= 0.4'}
+
+  get-package-type@0.1.0:
+    resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
+    engines: {node: '>=8.0.0'}
+
+  get-proto@1.0.1:
+    resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
+    engines: {node: '>= 0.4'}
+
+  get-stream@6.0.1:
+    resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+    engines: {node: '>=10'}
+
+  glob-parent@5.1.2:
+    resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+    engines: {node: '>= 6'}
+
+  glob-parent@6.0.2:
+    resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+    engines: {node: '>=10.13.0'}
+
+  glob@11.0.3:
+    resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==}
+    engines: {node: 20 || >=22}
+    hasBin: true
+
+  glob@7.2.3:
+    resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+    deprecated: Glob versions prior to v9 are no longer supported
+
+  globals@11.12.0:
+    resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+    engines: {node: '>=4'}
+
+  globals@14.0.0:
+    resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
+    engines: {node: '>=18'}
+
+  good-listener@1.2.2:
+    resolution: {integrity: sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==}
+
+  gopd@1.2.0:
+    resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
+    engines: {node: '>= 0.4'}
+
+  graceful-fs@4.2.11:
+    resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+  graphemer@1.4.0:
+    resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+
+  harmony-reflect@1.6.2:
+    resolution: {integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==}
+
+  has-flag@4.0.0:
+    resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+    engines: {node: '>=8'}
+
+  has-symbols@1.1.0:
+    resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
+    engines: {node: '>= 0.4'}
+
+  has-tostringtag@1.0.2:
+    resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+    engines: {node: '>= 0.4'}
+
+  hash-sum@2.0.0:
+    resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
+
+  hasown@2.0.2:
+    resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+    engines: {node: '>= 0.4'}
+
+  he@1.2.0:
+    resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
+    hasBin: true
+
+  html-encoding-sniffer@3.0.0:
+    resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==}
+    engines: {node: '>=12'}
+
+  html-escaper@2.0.2:
+    resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
+
+  http-proxy-agent@5.0.0:
+    resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
+    engines: {node: '>= 6'}
+
+  https-proxy-agent@5.0.1:
+    resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
+    engines: {node: '>= 6'}
+
+  human-signals@2.1.0:
+    resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+    engines: {node: '>=10.17.0'}
+
+  iconv-lite@0.6.3:
+    resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
+    engines: {node: '>=0.10.0'}
+
+  identity-obj-proxy@3.0.0:
+    resolution: {integrity: sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==}
+    engines: {node: '>=4'}
+
+  ignore@5.3.2:
+    resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
+    engines: {node: '>= 4'}
+
+  ignore@7.0.5:
+    resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
+    engines: {node: '>= 4'}
+
+  immutable@5.1.3:
+    resolution: {integrity: sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==}
+
+  import-fresh@3.3.1:
+    resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
+    engines: {node: '>=6'}
+
+  import-lazy@4.0.0:
+    resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
+    engines: {node: '>=8'}
+
+  import-local@3.2.0:
+    resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==}
+    engines: {node: '>=8'}
+    hasBin: true
+
+  imurmurhash@0.1.4:
+    resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+    engines: {node: '>=0.8.19'}
+
+  indent-string@4.0.0:
+    resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
+    engines: {node: '>=8'}
+
+  inflight@1.0.6:
+    resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+    deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
+
+  inherits@2.0.4:
+    resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+
+  is-arrayish@0.2.1:
+    resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+
+  is-core-module@2.16.1:
+    resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
+    engines: {node: '>= 0.4'}
+
+  is-extglob@2.1.1:
+    resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+    engines: {node: '>=0.10.0'}
+
+  is-fullwidth-code-point@3.0.0:
+    resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+    engines: {node: '>=8'}
+
+  is-generator-fn@2.1.0:
+    resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
+    engines: {node: '>=6'}
+
+  is-glob@4.0.3:
+    resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+    engines: {node: '>=0.10.0'}
+
+  is-module@1.0.0:
+    resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
+
+  is-number@7.0.0:
+    resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+    engines: {node: '>=0.12.0'}
+
+  is-potential-custom-element-name@1.0.1:
+    resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
+
+  is-reference@1.2.1:
+    resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
+
+  is-stream@2.0.1:
+    resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+    engines: {node: '>=8'}
+
+  isexe@2.0.0:
+    resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+  istanbul-lib-coverage@3.2.2:
+    resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
+    engines: {node: '>=8'}
+
+  istanbul-lib-instrument@5.2.1:
+    resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
+    engines: {node: '>=8'}
+
+  istanbul-lib-instrument@6.0.3:
+    resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==}
+    engines: {node: '>=10'}
+
+  istanbul-lib-report@3.0.1:
+    resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
+    engines: {node: '>=10'}
+
+  istanbul-lib-source-maps@4.0.1:
+    resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
+    engines: {node: '>=10'}
+
+  istanbul-reports@3.1.7:
+    resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
+    engines: {node: '>=8'}
+
+  jackspeak@4.1.1:
+    resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==}
+    engines: {node: 20 || >=22}
+
+  jake@10.9.2:
+    resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==}
+    engines: {node: '>=10'}
+    hasBin: true
+
+  jest-canvas-mock@2.5.2:
+    resolution: {integrity: sha512-vgnpPupjOL6+L5oJXzxTxFrlGEIbHdZqFU+LFNdtLxZ3lRDCl17FlTMM7IatoRQkrcyOTMlDinjUguqmQ6bR2A==}
+
+  jest-changed-files@29.7.0:
+    resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-circus@29.7.0:
+    resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-cli@29.7.0:
+    resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+    hasBin: true
+    peerDependencies:
+      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+    peerDependenciesMeta:
+      node-notifier:
+        optional: true
+
+  jest-config@29.7.0:
+    resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+    peerDependencies:
+      '@types/node': '*'
+      ts-node: '>=9.0.0'
+    peerDependenciesMeta:
+      '@types/node':
+        optional: true
+      ts-node:
+        optional: true
+
+  jest-diff@29.7.0:
+    resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-docblock@29.7.0:
+    resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-each@29.7.0:
+    resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-environment-jsdom@29.7.0:
+    resolution: {integrity: sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+    peerDependencies:
+      canvas: ^2.5.0
+    peerDependenciesMeta:
+      canvas:
+        optional: true
+
+  jest-environment-node@29.7.0:
+    resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-get-type@29.6.3:
+    resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-haste-map@29.7.0:
+    resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-leak-detector@29.7.0:
+    resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-matcher-utils@29.7.0:
+    resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-message-util@29.7.0:
+    resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-mock@29.7.0:
+    resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-pnp-resolver@1.2.3:
+    resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
+    engines: {node: '>=6'}
+    peerDependencies:
+      jest-resolve: '*'
+    peerDependenciesMeta:
+      jest-resolve:
+        optional: true
+
+  jest-regex-util@29.6.3:
+    resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-resolve-dependencies@29.7.0:
+    resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-resolve@29.7.0:
+    resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-runner@29.7.0:
+    resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-runtime@29.7.0:
+    resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-snapshot@29.7.0:
+    resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-util@29.7.0:
+    resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-validate@29.7.0:
+    resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-watcher@29.7.0:
+    resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest-worker@29.7.0:
+    resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  jest@29.7.0:
+    resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+    hasBin: true
+    peerDependencies:
+      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+    peerDependenciesMeta:
+      node-notifier:
+        optional: true
+
+  jju@1.4.0:
+    resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==}
+
+  js-tokens@4.0.0:
+    resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+  js-yaml@3.14.1:
+    resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
+    hasBin: true
+
+  js-yaml@4.1.0:
+    resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+    hasBin: true
+
+  jsdom@20.0.3:
+    resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==}
+    engines: {node: '>=14'}
+    peerDependencies:
+      canvas: ^2.5.0
+    peerDependenciesMeta:
+      canvas:
+        optional: true
+
+  jsesc@3.1.0:
+    resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
+    engines: {node: '>=6'}
+    hasBin: true
+
+  json-buffer@3.0.1:
+    resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+
+  json-parse-even-better-errors@2.3.1:
+    resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+
+  json-schema-traverse@0.4.1:
+    resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+
+  json-schema-traverse@1.0.0:
+    resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
+
+  json-stable-stringify-without-jsonify@1.0.1:
+    resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+
+  json5@2.2.3:
+    resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+    engines: {node: '>=6'}
+    hasBin: true
+
+  jsonfile@6.1.0:
+    resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+
+  keyv@4.5.4:
+    resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+
+  kleur@3.0.3:
+    resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
+    engines: {node: '>=6'}
+
+  kolorist@1.8.0:
+    resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
+
+  leven@3.1.0:
+    resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
+    engines: {node: '>=6'}
+
+  levn@0.4.1:
+    resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+    engines: {node: '>= 0.8.0'}
+
+  lines-and-columns@1.2.4:
+    resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+
+  local-pkg@1.1.1:
+    resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==}
+    engines: {node: '>=14'}
+
+  locate-path@5.0.0:
+    resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
+    engines: {node: '>=8'}
+
+  locate-path@6.0.0:
+    resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+    engines: {node: '>=10'}
+
+  lodash.memoize@4.1.2:
+    resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+
+  lodash.merge@4.6.2:
+    resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
+  lodash@4.17.21:
+    resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+
+  lru-cache@11.1.0:
+    resolution: {integrity: sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==}
+    engines: {node: 20 || >=22}
+
+  lru-cache@5.1.1:
+    resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+
+  lru-cache@6.0.0:
+    resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
+    engines: {node: '>=10'}
+
+  lz-string@1.5.0:
+    resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
+    hasBin: true
+
+  magic-string@0.30.17:
+    resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
+
+  make-dir@3.1.0:
+    resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
+    engines: {node: '>=8'}
+
+  make-dir@4.0.0:
+    resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
+    engines: {node: '>=10'}
+
+  make-error@1.3.6:
+    resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
+
+  makeerror@1.0.12:
+    resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
+
+  math-intrinsics@1.1.0:
+    resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
+    engines: {node: '>= 0.4'}
+
+  merge-stream@2.0.0:
+    resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+
+  merge2@1.4.1:
+    resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+    engines: {node: '>= 8'}
+
+  micromatch@4.0.8:
+    resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
+    engines: {node: '>=8.6'}
+
+  mime-db@1.52.0:
+    resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+    engines: {node: '>= 0.6'}
+
+  mime-types@2.1.35:
+    resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+    engines: {node: '>= 0.6'}
+
+  mimic-fn@2.1.0:
+    resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+    engines: {node: '>=6'}
+
+  min-indent@1.0.1:
+    resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
+    engines: {node: '>=4'}
+
+  minimatch@10.0.3:
+    resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==}
+    engines: {node: 20 || >=22}
+
+  minimatch@3.0.8:
+    resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==}
+
+  minimatch@3.1.2:
+    resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+
+  minimatch@5.1.6:
+    resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
+    engines: {node: '>=10'}
+
+  minimatch@9.0.5:
+    resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
+    engines: {node: '>=16 || 14 >=14.17'}
+
+  minipass@7.1.2:
+    resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
+    engines: {node: '>=16 || 14 >=14.17'}
+
+  mlly@1.7.4:
+    resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==}
+
+  moo-color@1.0.3:
+    resolution: {integrity: sha512-i/+ZKXMDf6aqYtBhuOcej71YSlbjT3wCO/4H1j8rPvxDJEifdwgg5MaFyu6iYAT8GBZJg2z0dkgK4YMzvURALQ==}
+
+  ms@2.1.3:
+    resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+  muggle-string@0.4.1:
+    resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
+
+  nanoid@3.3.11:
+    resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
+    engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+    hasBin: true
+
+  natural-compare@1.4.0:
+    resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+
+  node-addon-api@7.1.1:
+    resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
+
+  node-int64@0.4.0:
+    resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
+
+  node-releases@2.0.19:
+    resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
+
+  normalize-path@3.0.0:
+    resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+    engines: {node: '>=0.10.0'}
+
+  npm-run-path@4.0.1:
+    resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+    engines: {node: '>=8'}
+
+  nwsapi@2.2.20:
+    resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==}
+
+  once@1.4.0:
+    resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+
+  onetime@5.1.2:
+    resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+    engines: {node: '>=6'}
+
+  optionator@0.9.4:
+    resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
+    engines: {node: '>= 0.8.0'}
+
+  p-limit@2.3.0:
+    resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
+    engines: {node: '>=6'}
+
+  p-limit@3.1.0:
+    resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+    engines: {node: '>=10'}
+
+  p-locate@4.1.0:
+    resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
+    engines: {node: '>=8'}
+
+  p-locate@5.0.0:
+    resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+    engines: {node: '>=10'}
+
+  p-try@2.2.0:
+    resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
+    engines: {node: '>=6'}
+
+  package-json-from-dist@1.0.1:
+    resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
+
+  parent-module@1.0.1:
+    resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+    engines: {node: '>=6'}
+
+  parse-json@5.2.0:
+    resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+    engines: {node: '>=8'}
+
+  parse5@7.3.0:
+    resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
+
+  path-browserify@1.0.1:
+    resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
+
+  path-exists@4.0.0:
+    resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+    engines: {node: '>=8'}
+
+  path-is-absolute@1.0.1:
+    resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+    engines: {node: '>=0.10.0'}
+
+  path-key@3.1.1:
+    resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+    engines: {node: '>=8'}
+
+  path-parse@1.0.7:
+    resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+  path-scurry@2.0.0:
+    resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==}
+    engines: {node: 20 || >=22}
+
+  pathe@2.0.3:
+    resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
+
+  picocolors@1.1.1:
+    resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+
+  picomatch@2.3.1:
+    resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+    engines: {node: '>=8.6'}
+
+  picomatch@4.0.2:
+    resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
+    engines: {node: '>=12'}
+
+  pirates@4.0.7:
+    resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==}
+    engines: {node: '>= 6'}
+
+  pkg-dir@4.2.0:
+    resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
+    engines: {node: '>=8'}
+
+  pkg-types@1.3.1:
+    resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
+
+  pkg-types@2.2.0:
+    resolution: {integrity: sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==}
+
+  postcss@8.5.6:
+    resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
+    engines: {node: ^10 || ^12 || >=14}
+
+  prelude-ls@1.2.1:
+    resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+    engines: {node: '>= 0.8.0'}
+
+  prettier-linter-helpers@1.0.0:
+    resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
+    engines: {node: '>=6.0.0'}
+
+  prettier@3.6.2:
+    resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==}
+    engines: {node: '>=14'}
+    hasBin: true
+
+  pretty-format@27.5.1:
+    resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
+    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+  pretty-format@29.7.0:
+    resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
+    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+
+  prismjs@1.30.0:
+    resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
+    engines: {node: '>=6'}
+
+  prompts@2.4.2:
+    resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
+    engines: {node: '>= 6'}
+
+  psl@1.15.0:
+    resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==}
+
+  punycode@2.3.1:
+    resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+    engines: {node: '>=6'}
+
+  pure-rand@6.1.0:
+    resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==}
+
+  quansync@0.2.10:
+    resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==}
+
+  querystringify@2.2.0:
+    resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
+
+  queue-microtask@1.2.3:
+    resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+  randombytes@2.1.0:
+    resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
+
+  react-is@17.0.2:
+    resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
+
+  react-is@18.3.1:
+    resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
+
+  readdirp@4.1.2:
+    resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
+    engines: {node: '>= 14.18.0'}
+
+  redent@3.0.0:
+    resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
+    engines: {node: '>=8'}
+
+  require-directory@2.1.1:
+    resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+    engines: {node: '>=0.10.0'}
+
+  require-from-string@2.0.2:
+    resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+    engines: {node: '>=0.10.0'}
+
+  requires-port@1.0.0:
+    resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+
+  resolve-cwd@3.0.0:
+    resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
+    engines: {node: '>=8'}
+
+  resolve-from@4.0.0:
+    resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+    engines: {node: '>=4'}
+
+  resolve-from@5.0.0:
+    resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+    engines: {node: '>=8'}
+
+  resolve.exports@2.0.3:
+    resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==}
+    engines: {node: '>=10'}
+
+  resolve@1.22.10:
+    resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
+    engines: {node: '>= 0.4'}
+    hasBin: true
+
+  reusify@1.1.0:
+    resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
+    engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+  rimraf@6.0.1:
+    resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==}
+    engines: {node: 20 || >=22}
+    hasBin: true
+
+  rollup-plugin-peer-deps-external@2.2.4:
+    resolution: {integrity: sha512-AWdukIM1+k5JDdAqV/Cxd+nejvno2FVLVeZ74NKggm3Q5s9cbbcOgUPGdbxPi4BXu7xGaZ8HG12F+thImYu/0g==}
+    peerDependencies:
+      rollup: '*'
+
+  rollup-plugin-typescript2@0.36.0:
+    resolution: {integrity: sha512-NB2CSQDxSe9+Oe2ahZbf+B4bh7pHwjV5L+RSYpCu7Q5ROuN94F9b6ioWwKfz3ueL3KTtmX4o2MUH2cgHDIEUsw==}
+    peerDependencies:
+      rollup: '>=1.26.3'
+      typescript: '>=2.4.0'
+
+  rollup-plugin-vue@6.0.0:
+    resolution: {integrity: sha512-oVvUd84d5u73M2HYM3XsMDLtZRIA/tw2U0dmHlXU2UWP5JARYHzh/U9vcxaN/x/9MrepY7VH3pHFeOhrWpxs/Q==}
+    peerDependencies:
+      '@vue/compiler-sfc': '*'
+
+  rollup-pluginutils@2.8.2:
+    resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
+
+  rollup@4.44.1:
+    resolution: {integrity: sha512-x8H8aPvD+xbl0Do8oez5f5o8eMS3trfCghc4HhLAnCkj7Vl0d1JWGs0UF/D886zLW2rOj2QymV/JcSSsw+XDNg==}
+    engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+    hasBin: true
+
+  run-parallel@1.2.0:
+    resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+
+  safe-buffer@5.2.1:
+    resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+
+  safer-buffer@2.1.2:
+    resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+
+  sass@1.89.2:
+    resolution: {integrity: sha512-xCmtksBKd/jdJ9Bt9p7nPKiuqrlBMBuuGkQlkhZjjQk3Ty48lv93k5Dq6OPkKt4XwxDJ7tvlfrTa1MPA9bf+QA==}
+    engines: {node: '>=14.0.0'}
+    hasBin: true
+
+  saxes@6.0.0:
+    resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
+    engines: {node: '>=v12.22.7'}
+
+  select@1.1.2:
+    resolution: {integrity: sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==}
+
+  semver@6.3.1:
+    resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+    hasBin: true
+
+  semver@7.5.4:
+    resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
+    engines: {node: '>=10'}
+    hasBin: true
+
+  semver@7.7.2:
+    resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
+    engines: {node: '>=10'}
+    hasBin: true
+
+  serialize-javascript@6.0.2:
+    resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
+
+  shebang-command@2.0.0:
+    resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+    engines: {node: '>=8'}
+
+  shebang-regex@3.0.0:
+    resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+    engines: {node: '>=8'}
+
+  signal-exit@3.0.7:
+    resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+
+  signal-exit@4.1.0:
+    resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+    engines: {node: '>=14'}
+
+  sisteransi@1.0.5:
+    resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+
+  slash@3.0.0:
+    resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+    engines: {node: '>=8'}
+
+  smob@1.5.0:
+    resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==}
+
+  source-map-js@1.2.1:
+    resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+    engines: {node: '>=0.10.0'}
+
+  source-map-support@0.5.13:
+    resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
+
+  source-map-support@0.5.21:
+    resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
+
+  source-map@0.6.1:
+    resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+    engines: {node: '>=0.10.0'}
+
+  sprintf-js@1.0.3:
+    resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
+
+  stack-utils@2.0.6:
+    resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
+    engines: {node: '>=10'}
+
+  string-argv@0.3.2:
+    resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
+    engines: {node: '>=0.6.19'}
+
+  string-length@4.0.2:
+    resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
+    engines: {node: '>=10'}
+
+  string-width@4.2.3:
+    resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+    engines: {node: '>=8'}
+
+  string-width@5.1.2:
+    resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
+    engines: {node: '>=12'}
+
+  strip-ansi@6.0.1:
+    resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+    engines: {node: '>=8'}
+
+  strip-ansi@7.1.0:
+    resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+    engines: {node: '>=12'}
+
+  strip-bom@4.0.0:
+    resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
+    engines: {node: '>=8'}
+
+  strip-final-newline@2.0.0:
+    resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+    engines: {node: '>=6'}
+
+  strip-indent@3.0.0:
+    resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
+    engines: {node: '>=8'}
+
+  strip-json-comments@3.1.1:
+    resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+    engines: {node: '>=8'}
+
+  supports-color@7.2.0:
+    resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+    engines: {node: '>=8'}
+
+  supports-color@8.1.1:
+    resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
+    engines: {node: '>=10'}
+
+  supports-preserve-symlinks-flag@1.0.0:
+    resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+    engines: {node: '>= 0.4'}
+
+  symbol-tree@3.2.4:
+    resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
+
+  synckit@0.11.8:
+    resolution: {integrity: sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==}
+    engines: {node: ^14.18.0 || >=16.0.0}
+
+  terser@5.43.1:
+    resolution: {integrity: sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==}
+    engines: {node: '>=10'}
+    hasBin: true
+
+  test-exclude@6.0.0:
+    resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
+    engines: {node: '>=8'}
+
+  tiny-emitter@2.1.0:
+    resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==}
+
+  tinyglobby@0.2.14:
+    resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
+    engines: {node: '>=12.0.0'}
+
+  tmpl@1.0.5:
+    resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
+
+  to-regex-range@5.0.1:
+    resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+    engines: {node: '>=8.0'}
+
+  tough-cookie@4.1.4:
+    resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==}
+    engines: {node: '>=6'}
+
+  tr46@3.0.0:
+    resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==}
+    engines: {node: '>=12'}
+
+  ts-api-utils@2.1.0:
+    resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
+    engines: {node: '>=18.12'}
+    peerDependencies:
+      typescript: '>=4.8.4'
+
+  ts-jest@29.4.0:
+    resolution: {integrity: sha512-d423TJMnJGu80/eSgfQ5w/R+0zFJvdtTxwtF9KzFFunOpSeD+79lHJQIiAhluJoyGRbvj9NZJsl9WjCUo0ND7Q==}
+    engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0}
+    hasBin: true
+    peerDependencies:
+      '@babel/core': '>=7.0.0-beta.0 <8'
+      '@jest/transform': ^29.0.0 || ^30.0.0
+      '@jest/types': ^29.0.0 || ^30.0.0
+      babel-jest: ^29.0.0 || ^30.0.0
+      esbuild: '*'
+      jest: ^29.0.0 || ^30.0.0
+      jest-util: ^29.0.0 || ^30.0.0
+      typescript: '>=4.3 <6'
+    peerDependenciesMeta:
+      '@babel/core':
+        optional: true
+      '@jest/transform':
+        optional: true
+      '@jest/types':
+        optional: true
+      babel-jest:
+        optional: true
+      esbuild:
+        optional: true
+      jest-util:
+        optional: true
+
+  tslib@2.8.1:
+    resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+
+  type-check@0.4.0:
+    resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+    engines: {node: '>= 0.8.0'}
+
+  type-detect@4.0.8:
+    resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
+    engines: {node: '>=4'}
+
+  type-fest@0.21.3:
+    resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
+    engines: {node: '>=10'}
+
+  type-fest@4.41.0:
+    resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
+    engines: {node: '>=16'}
+
+  typescript@5.8.2:
+    resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==}
+    engines: {node: '>=14.17'}
+    hasBin: true
+
+  typescript@5.8.3:
+    resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
+    engines: {node: '>=14.17'}
+    hasBin: true
+
+  ufo@1.6.1:
+    resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
+
+  undici-types@7.8.0:
+    resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==}
+
+  universalify@0.2.0:
+    resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
+    engines: {node: '>= 4.0.0'}
+
+  universalify@2.0.1:
+    resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+    engines: {node: '>= 10.0.0'}
+
+  update-browserslist-db@1.1.3:
+    resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
+    hasBin: true
+    peerDependencies:
+      browserslist: '>= 4.21.0'
+
+  uri-js@4.4.1:
+    resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+
+  url-parse@1.5.10:
+    resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
+
+  v8-to-istanbul@9.3.0:
+    resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==}
+    engines: {node: '>=10.12.0'}
+
+  vite-plugin-dts@4.5.4:
+    resolution: {integrity: sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==}
+    peerDependencies:
+      typescript: '*'
+      vite: '*'
+    peerDependenciesMeta:
+      vite:
+        optional: true
+
+  vite@6.3.5:
+    resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==}
+    engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+    hasBin: true
+    peerDependencies:
+      '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
+      jiti: '>=1.21.0'
+      less: '*'
+      lightningcss: ^1.21.0
+      sass: '*'
+      sass-embedded: '*'
+      stylus: '*'
+      sugarss: '*'
+      terser: ^5.16.0
+      tsx: ^4.8.1
+      yaml: ^2.4.2
+    peerDependenciesMeta:
+      '@types/node':
+        optional: true
+      jiti:
+        optional: true
+      less:
+        optional: true
+      lightningcss:
+        optional: true
+      sass:
+        optional: true
+      sass-embedded:
+        optional: true
+      stylus:
+        optional: true
+      sugarss:
+        optional: true
+      terser:
+        optional: true
+      tsx:
+        optional: true
+      yaml:
+        optional: true
+
+  vscode-uri@3.1.0:
+    resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==}
+
+  vue-router@4.5.1:
+    resolution: {integrity: sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==}
+    peerDependencies:
+      vue: ^3.2.0
+
+  vue-tsc@2.2.10:
+    resolution: {integrity: sha512-jWZ1xSaNbabEV3whpIDMbjVSVawjAyW+x1n3JeGQo7S0uv2n9F/JMgWW90tGWNFRKya4YwKMZgCtr0vRAM7DeQ==}
+    hasBin: true
+    peerDependencies:
+      typescript: '>=5.0.0'
+
+  vue@3.5.17:
+    resolution: {integrity: sha512-LbHV3xPN9BeljML+Xctq4lbz2lVHCR6DtbpTf5XIO6gugpXUN49j2QQPcMj086r9+AkJ0FfUT8xjulKKBkkr9g==}
+    peerDependencies:
+      typescript: '*'
+    peerDependenciesMeta:
+      typescript:
+        optional: true
+
+  vuex@4.1.0:
+    resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==}
+    peerDependencies:
+      vue: ^3.2.0
+
+  w3c-xmlserializer@4.0.0:
+    resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==}
+    engines: {node: '>=14'}
+
+  walker@1.0.8:
+    resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
+
+  webidl-conversions@7.0.0:
+    resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
+    engines: {node: '>=12'}
+
+  whatwg-encoding@2.0.0:
+    resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==}
+    engines: {node: '>=12'}
+
+  whatwg-mimetype@3.0.0:
+    resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==}
+    engines: {node: '>=12'}
+
+  whatwg-url@11.0.0:
+    resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==}
+    engines: {node: '>=12'}
+
+  which@2.0.2:
+    resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+    engines: {node: '>= 8'}
+    hasBin: true
+
+  word-wrap@1.2.5:
+    resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
+    engines: {node: '>=0.10.0'}
+
+  wrap-ansi@7.0.0:
+    resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+    engines: {node: '>=10'}
+
+  wrap-ansi@8.1.0:
+    resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
+    engines: {node: '>=12'}
+
+  wrappy@1.0.2:
+    resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+
+  write-file-atomic@4.0.2:
+    resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==}
+    engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+
+  ws@8.18.3:
+    resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==}
+    engines: {node: '>=10.0.0'}
+    peerDependencies:
+      bufferutil: ^4.0.1
+      utf-8-validate: '>=5.0.2'
+    peerDependenciesMeta:
+      bufferutil:
+        optional: true
+      utf-8-validate:
+        optional: true
+
+  xml-name-validator@4.0.0:
+    resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
+    engines: {node: '>=12'}
+
+  xmlchars@2.2.0:
+    resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
+
+  y18n@5.0.8:
+    resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+    engines: {node: '>=10'}
+
+  yallist@3.1.1:
+    resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
+  yallist@4.0.0:
+    resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+
+  yargs-parser@21.1.1:
+    resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
+    engines: {node: '>=12'}
+
+  yargs@17.7.2:
+    resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
+    engines: {node: '>=12'}
+
+  yocto-queue@0.1.0:
+    resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+    engines: {node: '>=10'}
+
+snapshots:
+
+  '@adobe/css-tools@4.4.3': {}
+
+  '@ampproject/remapping@2.3.0':
+    dependencies:
+      '@jridgewell/gen-mapping': 0.3.11
+      '@jridgewell/trace-mapping': 0.3.28
+
+  '@babel/code-frame@7.27.1':
+    dependencies:
+      '@babel/helper-validator-identifier': 7.27.1
+      js-tokens: 4.0.0
+      picocolors: 1.1.1
+
+  '@babel/compat-data@7.27.7': {}
+
+  '@babel/core@7.27.7':
+    dependencies:
+      '@ampproject/remapping': 2.3.0
+      '@babel/code-frame': 7.27.1
+      '@babel/generator': 7.27.5
+      '@babel/helper-compilation-targets': 7.27.2
+      '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.7)
+      '@babel/helpers': 7.27.6
+      '@babel/parser': 7.27.7
+      '@babel/template': 7.27.2
+      '@babel/traverse': 7.27.7
+      '@babel/types': 7.27.7
+      convert-source-map: 2.0.0
+      debug: 4.4.1
+      gensync: 1.0.0-beta.2
+      json5: 2.2.3
+      semver: 6.3.1
+    transitivePeerDependencies:
+      - supports-color
+
+  '@babel/generator@7.27.5':
+    dependencies:
+      '@babel/parser': 7.27.7
+      '@babel/types': 7.27.7
+      '@jridgewell/gen-mapping': 0.3.11
+      '@jridgewell/trace-mapping': 0.3.28
+      jsesc: 3.1.0
+
+  '@babel/helper-compilation-targets@7.27.2':
+    dependencies:
+      '@babel/compat-data': 7.27.7
+      '@babel/helper-validator-option': 7.27.1
+      browserslist: 4.25.1
+      lru-cache: 5.1.1
+      semver: 6.3.1
+
+  '@babel/helper-module-imports@7.27.1':
+    dependencies:
+      '@babel/traverse': 7.27.7
+      '@babel/types': 7.27.7
+    transitivePeerDependencies:
+      - supports-color
+
+  '@babel/helper-module-transforms@7.27.3(@babel/core@7.27.7)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-module-imports': 7.27.1
+      '@babel/helper-validator-identifier': 7.27.1
+      '@babel/traverse': 7.27.7
+    transitivePeerDependencies:
+      - supports-color
+
+  '@babel/helper-plugin-utils@7.27.1': {}
+
+  '@babel/helper-string-parser@7.27.1': {}
+
+  '@babel/helper-validator-identifier@7.27.1': {}
+
+  '@babel/helper-validator-option@7.27.1': {}
+
+  '@babel/helpers@7.27.6':
+    dependencies:
+      '@babel/template': 7.27.2
+      '@babel/types': 7.27.7
+
+  '@babel/parser@7.27.7':
+    dependencies:
+      '@babel/types': 7.27.7
+
+  '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.27.7)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-plugin-utils': 7.27.1
+
+  '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.27.7)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-plugin-utils': 7.27.1
+
+  '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.27.7)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-plugin-utils': 7.27.1
+
+  '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.27.7)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-plugin-utils': 7.27.1
+
+  '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.27.7)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-plugin-utils': 7.27.1
+
+  '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.27.7)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-plugin-utils': 7.27.1
+
+  '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.27.7)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-plugin-utils': 7.27.1
+
+  '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.27.7)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-plugin-utils': 7.27.1
+
+  '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.27.7)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-plugin-utils': 7.27.1
+
+  '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.27.7)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-plugin-utils': 7.27.1
+
+  '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.27.7)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-plugin-utils': 7.27.1
+
+  '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.27.7)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-plugin-utils': 7.27.1
+
+  '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.27.7)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-plugin-utils': 7.27.1
+
+  '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.27.7)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-plugin-utils': 7.27.1
+
+  '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.27.7)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-plugin-utils': 7.27.1
+
+  '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.27.7)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-plugin-utils': 7.27.1
+
+  '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.27.7)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-plugin-utils': 7.27.1
+
+  '@babel/runtime@7.27.6': {}
+
+  '@babel/template@7.27.2':
+    dependencies:
+      '@babel/code-frame': 7.27.1
+      '@babel/parser': 7.27.7
+      '@babel/types': 7.27.7
+
+  '@babel/traverse@7.27.7':
+    dependencies:
+      '@babel/code-frame': 7.27.1
+      '@babel/generator': 7.27.5
+      '@babel/parser': 7.27.7
+      '@babel/template': 7.27.2
+      '@babel/types': 7.27.7
+      debug: 4.4.1
+      globals: 11.12.0
+    transitivePeerDependencies:
+      - supports-color
+
+  '@babel/types@7.27.7':
+    dependencies:
+      '@babel/helper-string-parser': 7.27.1
+      '@babel/helper-validator-identifier': 7.27.1
+
+  '@bcoe/v8-coverage@0.2.3': {}
+
+  '@esbuild/aix-ppc64@0.25.5':
+    optional: true
+
+  '@esbuild/android-arm64@0.25.5':
+    optional: true
+
+  '@esbuild/android-arm@0.25.5':
+    optional: true
+
+  '@esbuild/android-x64@0.25.5':
+    optional: true
+
+  '@esbuild/darwin-arm64@0.25.5':
+    optional: true
+
+  '@esbuild/darwin-x64@0.25.5':
+    optional: true
+
+  '@esbuild/freebsd-arm64@0.25.5':
+    optional: true
+
+  '@esbuild/freebsd-x64@0.25.5':
+    optional: true
+
+  '@esbuild/linux-arm64@0.25.5':
+    optional: true
+
+  '@esbuild/linux-arm@0.25.5':
+    optional: true
+
+  '@esbuild/linux-ia32@0.25.5':
+    optional: true
+
+  '@esbuild/linux-loong64@0.25.5':
+    optional: true
+
+  '@esbuild/linux-mips64el@0.25.5':
+    optional: true
+
+  '@esbuild/linux-ppc64@0.25.5':
+    optional: true
+
+  '@esbuild/linux-riscv64@0.25.5':
+    optional: true
+
+  '@esbuild/linux-s390x@0.25.5':
+    optional: true
+
+  '@esbuild/linux-x64@0.25.5':
+    optional: true
+
+  '@esbuild/netbsd-arm64@0.25.5':
+    optional: true
+
+  '@esbuild/netbsd-x64@0.25.5':
+    optional: true
+
+  '@esbuild/openbsd-arm64@0.25.5':
+    optional: true
+
+  '@esbuild/openbsd-x64@0.25.5':
+    optional: true
+
+  '@esbuild/sunos-x64@0.25.5':
+    optional: true
+
+  '@esbuild/win32-arm64@0.25.5':
+    optional: true
+
+  '@esbuild/win32-ia32@0.25.5':
+    optional: true
+
+  '@esbuild/win32-x64@0.25.5':
+    optional: true
+
+  '@eslint-community/eslint-utils@4.7.0(eslint@9.30.0)':
+    dependencies:
+      eslint: 9.30.0
+      eslint-visitor-keys: 3.4.3
+
+  '@eslint-community/regexpp@4.12.1': {}
+
+  '@eslint/config-array@0.21.0':
+    dependencies:
+      '@eslint/object-schema': 2.1.6
+      debug: 4.4.1
+      minimatch: 3.1.2
+    transitivePeerDependencies:
+      - supports-color
+
+  '@eslint/config-helpers@0.3.0': {}
+
+  '@eslint/core@0.14.0':
+    dependencies:
+      '@types/json-schema': 7.0.15
+
+  '@eslint/core@0.15.1':
+    dependencies:
+      '@types/json-schema': 7.0.15
+
+  '@eslint/eslintrc@3.3.1':
+    dependencies:
+      ajv: 6.12.6
+      debug: 4.4.1
+      espree: 10.4.0
+      globals: 14.0.0
+      ignore: 5.3.2
+      import-fresh: 3.3.1
+      js-yaml: 4.1.0
+      minimatch: 3.1.2
+      strip-json-comments: 3.1.1
+    transitivePeerDependencies:
+      - supports-color
+
+  '@eslint/js@9.30.0': {}
+
+  '@eslint/object-schema@2.1.6': {}
+
+  '@eslint/plugin-kit@0.3.3':
+    dependencies:
+      '@eslint/core': 0.15.1
+      levn: 0.4.1
+
+  '@humanfs/core@0.19.1': {}
+
+  '@humanfs/node@0.16.6':
+    dependencies:
+      '@humanfs/core': 0.19.1
+      '@humanwhocodes/retry': 0.3.1
+
+  '@humanwhocodes/module-importer@1.0.1': {}
+
+  '@humanwhocodes/retry@0.3.1': {}
+
+  '@humanwhocodes/retry@0.4.3': {}
+
+  '@isaacs/balanced-match@4.0.1': {}
+
+  '@isaacs/brace-expansion@5.0.0':
+    dependencies:
+      '@isaacs/balanced-match': 4.0.1
+
+  '@isaacs/cliui@8.0.2':
+    dependencies:
+      string-width: 5.1.2
+      string-width-cjs: string-width@4.2.3
+      strip-ansi: 7.1.0
+      strip-ansi-cjs: strip-ansi@6.0.1
+      wrap-ansi: 8.1.0
+      wrap-ansi-cjs: wrap-ansi@7.0.0
+
+  '@istanbuljs/load-nyc-config@1.1.0':
+    dependencies:
+      camelcase: 5.3.1
+      find-up: 4.1.0
+      get-package-type: 0.1.0
+      js-yaml: 3.14.1
+      resolve-from: 5.0.0
+
+  '@istanbuljs/schema@0.1.3': {}
+
+  '@jest/console@29.7.0':
+    dependencies:
+      '@jest/types': 29.6.3
+      '@types/node': 24.0.8
+      chalk: 4.1.2
+      jest-message-util: 29.7.0
+      jest-util: 29.7.0
+      slash: 3.0.0
+
+  '@jest/core@29.7.0':
+    dependencies:
+      '@jest/console': 29.7.0
+      '@jest/reporters': 29.7.0
+      '@jest/test-result': 29.7.0
+      '@jest/transform': 29.7.0
+      '@jest/types': 29.6.3
+      '@types/node': 24.0.8
+      ansi-escapes: 4.3.2
+      chalk: 4.1.2
+      ci-info: 3.9.0
+      exit: 0.1.2
+      graceful-fs: 4.2.11
+      jest-changed-files: 29.7.0
+      jest-config: 29.7.0(@types/node@24.0.8)
+      jest-haste-map: 29.7.0
+      jest-message-util: 29.7.0
+      jest-regex-util: 29.6.3
+      jest-resolve: 29.7.0
+      jest-resolve-dependencies: 29.7.0
+      jest-runner: 29.7.0
+      jest-runtime: 29.7.0
+      jest-snapshot: 29.7.0
+      jest-util: 29.7.0
+      jest-validate: 29.7.0
+      jest-watcher: 29.7.0
+      micromatch: 4.0.8
+      pretty-format: 29.7.0
+      slash: 3.0.0
+      strip-ansi: 6.0.1
+    transitivePeerDependencies:
+      - babel-plugin-macros
+      - supports-color
+      - ts-node
+
+  '@jest/environment@29.7.0':
+    dependencies:
+      '@jest/fake-timers': 29.7.0
+      '@jest/types': 29.6.3
+      '@types/node': 24.0.8
+      jest-mock: 29.7.0
+
+  '@jest/expect-utils@29.7.0':
+    dependencies:
+      jest-get-type: 29.6.3
+
+  '@jest/expect@29.7.0':
+    dependencies:
+      expect: 29.7.0
+      jest-snapshot: 29.7.0
+    transitivePeerDependencies:
+      - supports-color
+
+  '@jest/fake-timers@29.7.0':
+    dependencies:
+      '@jest/types': 29.6.3
+      '@sinonjs/fake-timers': 10.3.0
+      '@types/node': 24.0.8
+      jest-message-util: 29.7.0
+      jest-mock: 29.7.0
+      jest-util: 29.7.0
+
+  '@jest/globals@29.7.0':
+    dependencies:
+      '@jest/environment': 29.7.0
+      '@jest/expect': 29.7.0
+      '@jest/types': 29.6.3
+      jest-mock: 29.7.0
+    transitivePeerDependencies:
+      - supports-color
+
+  '@jest/reporters@29.7.0':
+    dependencies:
+      '@bcoe/v8-coverage': 0.2.3
+      '@jest/console': 29.7.0
+      '@jest/test-result': 29.7.0
+      '@jest/transform': 29.7.0
+      '@jest/types': 29.6.3
+      '@jridgewell/trace-mapping': 0.3.28
+      '@types/node': 24.0.8
+      chalk: 4.1.2
+      collect-v8-coverage: 1.0.2
+      exit: 0.1.2
+      glob: 7.2.3
+      graceful-fs: 4.2.11
+      istanbul-lib-coverage: 3.2.2
+      istanbul-lib-instrument: 6.0.3
+      istanbul-lib-report: 3.0.1
+      istanbul-lib-source-maps: 4.0.1
+      istanbul-reports: 3.1.7
+      jest-message-util: 29.7.0
+      jest-util: 29.7.0
+      jest-worker: 29.7.0
+      slash: 3.0.0
+      string-length: 4.0.2
+      strip-ansi: 6.0.1
+      v8-to-istanbul: 9.3.0
+    transitivePeerDependencies:
+      - supports-color
+
+  '@jest/schemas@29.6.3':
+    dependencies:
+      '@sinclair/typebox': 0.27.8
+
+  '@jest/source-map@29.6.3':
+    dependencies:
+      '@jridgewell/trace-mapping': 0.3.28
+      callsites: 3.1.0
+      graceful-fs: 4.2.11
+
+  '@jest/test-result@29.7.0':
+    dependencies:
+      '@jest/console': 29.7.0
+      '@jest/types': 29.6.3
+      '@types/istanbul-lib-coverage': 2.0.6
+      collect-v8-coverage: 1.0.2
+
+  '@jest/test-sequencer@29.7.0':
+    dependencies:
+      '@jest/test-result': 29.7.0
+      graceful-fs: 4.2.11
+      jest-haste-map: 29.7.0
+      slash: 3.0.0
+
+  '@jest/transform@29.7.0':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@jest/types': 29.6.3
+      '@jridgewell/trace-mapping': 0.3.28
+      babel-plugin-istanbul: 6.1.1
+      chalk: 4.1.2
+      convert-source-map: 2.0.0
+      fast-json-stable-stringify: 2.1.0
+      graceful-fs: 4.2.11
+      jest-haste-map: 29.7.0
+      jest-regex-util: 29.6.3
+      jest-util: 29.7.0
+      micromatch: 4.0.8
+      pirates: 4.0.7
+      slash: 3.0.0
+      write-file-atomic: 4.0.2
+    transitivePeerDependencies:
+      - supports-color
+
+  '@jest/types@29.6.3':
+    dependencies:
+      '@jest/schemas': 29.6.3
+      '@types/istanbul-lib-coverage': 2.0.6
+      '@types/istanbul-reports': 3.0.4
+      '@types/node': 24.0.8
+      '@types/yargs': 17.0.33
+      chalk: 4.1.2
+
+  '@jridgewell/gen-mapping@0.3.11':
+    dependencies:
+      '@jridgewell/sourcemap-codec': 1.5.3
+      '@jridgewell/trace-mapping': 0.3.28
+
+  '@jridgewell/resolve-uri@3.1.2': {}
+
+  '@jridgewell/source-map@0.3.9':
+    dependencies:
+      '@jridgewell/gen-mapping': 0.3.11
+      '@jridgewell/trace-mapping': 0.3.28
+
+  '@jridgewell/sourcemap-codec@1.5.3': {}
+
+  '@jridgewell/trace-mapping@0.3.28':
+    dependencies:
+      '@jridgewell/resolve-uri': 3.1.2
+      '@jridgewell/sourcemap-codec': 1.5.3
+
+  '@microsoft/api-extractor-model@7.30.6(@types/node@24.0.8)':
+    dependencies:
+      '@microsoft/tsdoc': 0.15.1
+      '@microsoft/tsdoc-config': 0.17.1
+      '@rushstack/node-core-library': 5.13.1(@types/node@24.0.8)
+    transitivePeerDependencies:
+      - '@types/node'
+
+  '@microsoft/api-extractor@7.52.8(@types/node@24.0.8)':
+    dependencies:
+      '@microsoft/api-extractor-model': 7.30.6(@types/node@24.0.8)
+      '@microsoft/tsdoc': 0.15.1
+      '@microsoft/tsdoc-config': 0.17.1
+      '@rushstack/node-core-library': 5.13.1(@types/node@24.0.8)
+      '@rushstack/rig-package': 0.5.3
+      '@rushstack/terminal': 0.15.3(@types/node@24.0.8)
+      '@rushstack/ts-command-line': 5.0.1(@types/node@24.0.8)
+      lodash: 4.17.21
+      minimatch: 3.0.8
+      resolve: 1.22.10
+      semver: 7.5.4
+      source-map: 0.6.1
+      typescript: 5.8.2
+    transitivePeerDependencies:
+      - '@types/node'
+
+  '@microsoft/tsdoc-config@0.17.1':
+    dependencies:
+      '@microsoft/tsdoc': 0.15.1
+      ajv: 8.12.0
+      jju: 1.4.0
+      resolve: 1.22.10
+
+  '@microsoft/tsdoc@0.15.1': {}
+
+  '@nodelib/fs.scandir@2.1.5':
+    dependencies:
+      '@nodelib/fs.stat': 2.0.5
+      run-parallel: 1.2.0
+
+  '@nodelib/fs.stat@2.0.5': {}
+
+  '@nodelib/fs.walk@1.2.8':
+    dependencies:
+      '@nodelib/fs.scandir': 2.1.5
+      fastq: 1.19.1
+
+  '@parcel/watcher-android-arm64@2.5.1':
+    optional: true
+
+  '@parcel/watcher-darwin-arm64@2.5.1':
+    optional: true
+
+  '@parcel/watcher-darwin-x64@2.5.1':
+    optional: true
+
+  '@parcel/watcher-freebsd-x64@2.5.1':
+    optional: true
+
+  '@parcel/watcher-linux-arm-glibc@2.5.1':
+    optional: true
+
+  '@parcel/watcher-linux-arm-musl@2.5.1':
+    optional: true
+
+  '@parcel/watcher-linux-arm64-glibc@2.5.1':
+    optional: true
+
+  '@parcel/watcher-linux-arm64-musl@2.5.1':
+    optional: true
+
+  '@parcel/watcher-linux-x64-glibc@2.5.1':
+    optional: true
+
+  '@parcel/watcher-linux-x64-musl@2.5.1':
+    optional: true
+
+  '@parcel/watcher-win32-arm64@2.5.1':
+    optional: true
+
+  '@parcel/watcher-win32-ia32@2.5.1':
+    optional: true
+
+  '@parcel/watcher-win32-x64@2.5.1':
+    optional: true
+
+  '@parcel/watcher@2.5.1':
+    dependencies:
+      detect-libc: 1.0.3
+      is-glob: 4.0.3
+      micromatch: 4.0.8
+      node-addon-api: 7.1.1
+    optionalDependencies:
+      '@parcel/watcher-android-arm64': 2.5.1
+      '@parcel/watcher-darwin-arm64': 2.5.1
+      '@parcel/watcher-darwin-x64': 2.5.1
+      '@parcel/watcher-freebsd-x64': 2.5.1
+      '@parcel/watcher-linux-arm-glibc': 2.5.1
+      '@parcel/watcher-linux-arm-musl': 2.5.1
+      '@parcel/watcher-linux-arm64-glibc': 2.5.1
+      '@parcel/watcher-linux-arm64-musl': 2.5.1
+      '@parcel/watcher-linux-x64-glibc': 2.5.1
+      '@parcel/watcher-linux-x64-musl': 2.5.1
+      '@parcel/watcher-win32-arm64': 2.5.1
+      '@parcel/watcher-win32-ia32': 2.5.1
+      '@parcel/watcher-win32-x64': 2.5.1
+    optional: true
+
+  '@pkgr/core@0.2.7': {}
+
+  '@rollup/plugin-babel@6.0.4(@babel/core@7.27.7)(@types/babel__core@7.20.5)(rollup@4.44.1)':
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/helper-module-imports': 7.27.1
+      '@rollup/pluginutils': 5.2.0(rollup@4.44.1)
+    optionalDependencies:
+      '@types/babel__core': 7.20.5
+      rollup: 4.44.1
+    transitivePeerDependencies:
+      - supports-color
+
+  '@rollup/plugin-commonjs@28.0.6(rollup@4.44.1)':
+    dependencies:
+      '@rollup/pluginutils': 5.2.0(rollup@4.44.1)
+      commondir: 1.0.1
+      estree-walker: 2.0.2
+      fdir: 6.4.6(picomatch@4.0.2)
+      is-reference: 1.2.1
+      magic-string: 0.30.17
+      picomatch: 4.0.2
+    optionalDependencies:
+      rollup: 4.44.1
+
+  '@rollup/plugin-node-resolve@16.0.1(rollup@4.44.1)':
+    dependencies:
+      '@rollup/pluginutils': 5.2.0(rollup@4.44.1)
+      '@types/resolve': 1.20.2
+      deepmerge: 4.3.1
+      is-module: 1.0.0
+      resolve: 1.22.10
+    optionalDependencies:
+      rollup: 4.44.1
+
+  '@rollup/plugin-replace@6.0.2(rollup@4.44.1)':
+    dependencies:
+      '@rollup/pluginutils': 5.2.0(rollup@4.44.1)
+      magic-string: 0.30.17
+    optionalDependencies:
+      rollup: 4.44.1
+
+  '@rollup/plugin-terser@0.4.4(rollup@4.44.1)':
+    dependencies:
+      serialize-javascript: 6.0.2
+      smob: 1.5.0
+      terser: 5.43.1
+    optionalDependencies:
+      rollup: 4.44.1
+
+  '@rollup/plugin-typescript@12.1.4(rollup@4.44.1)(tslib@2.8.1)(typescript@5.8.3)':
+    dependencies:
+      '@rollup/pluginutils': 5.2.0(rollup@4.44.1)
+      resolve: 1.22.10
+      typescript: 5.8.3
+    optionalDependencies:
+      rollup: 4.44.1
+      tslib: 2.8.1
+
+  '@rollup/pluginutils@4.2.1':
+    dependencies:
+      estree-walker: 2.0.2
+      picomatch: 2.3.1
+
+  '@rollup/pluginutils@5.2.0(rollup@4.44.1)':
+    dependencies:
+      '@types/estree': 1.0.8
+      estree-walker: 2.0.2
+      picomatch: 4.0.2
+    optionalDependencies:
+      rollup: 4.44.1
+
+  '@rollup/rollup-android-arm-eabi@4.44.1':
+    optional: true
+
+  '@rollup/rollup-android-arm64@4.44.1':
+    optional: true
+
+  '@rollup/rollup-darwin-arm64@4.44.1':
+    optional: true
+
+  '@rollup/rollup-darwin-x64@4.44.1':
+    optional: true
+
+  '@rollup/rollup-freebsd-arm64@4.44.1':
+    optional: true
+
+  '@rollup/rollup-freebsd-x64@4.44.1':
+    optional: true
+
+  '@rollup/rollup-linux-arm-gnueabihf@4.44.1':
+    optional: true
+
+  '@rollup/rollup-linux-arm-musleabihf@4.44.1':
+    optional: true
+
+  '@rollup/rollup-linux-arm64-gnu@4.44.1':
+    optional: true
+
+  '@rollup/rollup-linux-arm64-musl@4.44.1':
+    optional: true
+
+  '@rollup/rollup-linux-loongarch64-gnu@4.44.1':
+    optional: true
+
+  '@rollup/rollup-linux-powerpc64le-gnu@4.44.1':
+    optional: true
+
+  '@rollup/rollup-linux-riscv64-gnu@4.44.1':
+    optional: true
+
+  '@rollup/rollup-linux-riscv64-musl@4.44.1':
+    optional: true
+
+  '@rollup/rollup-linux-s390x-gnu@4.44.1':
+    optional: true
+
+  '@rollup/rollup-linux-x64-gnu@4.44.1':
+    optional: true
+
+  '@rollup/rollup-linux-x64-musl@4.44.1':
+    optional: true
+
+  '@rollup/rollup-win32-arm64-msvc@4.44.1':
+    optional: true
+
+  '@rollup/rollup-win32-ia32-msvc@4.44.1':
+    optional: true
+
+  '@rollup/rollup-win32-x64-msvc@4.44.1':
+    optional: true
+
+  '@rushstack/node-core-library@5.13.1(@types/node@24.0.8)':
+    dependencies:
+      ajv: 8.13.0
+      ajv-draft-04: 1.0.0(ajv@8.13.0)
+      ajv-formats: 3.0.1(ajv@8.13.0)
+      fs-extra: 11.3.0
+      import-lazy: 4.0.0
+      jju: 1.4.0
+      resolve: 1.22.10
+      semver: 7.5.4
+    optionalDependencies:
+      '@types/node': 24.0.8
+
+  '@rushstack/rig-package@0.5.3':
+    dependencies:
+      resolve: 1.22.10
+      strip-json-comments: 3.1.1
+
+  '@rushstack/terminal@0.15.3(@types/node@24.0.8)':
+    dependencies:
+      '@rushstack/node-core-library': 5.13.1(@types/node@24.0.8)
+      supports-color: 8.1.1
+    optionalDependencies:
+      '@types/node': 24.0.8
+
+  '@rushstack/ts-command-line@5.0.1(@types/node@24.0.8)':
+    dependencies:
+      '@rushstack/terminal': 0.15.3(@types/node@24.0.8)
+      '@types/argparse': 1.0.38
+      argparse: 1.0.10
+      string-argv: 0.3.2
+    transitivePeerDependencies:
+      - '@types/node'
+
+  '@sinclair/typebox@0.27.8': {}
+
+  '@sinonjs/commons@3.0.1':
+    dependencies:
+      type-detect: 4.0.8
+
+  '@sinonjs/fake-timers@10.3.0':
+    dependencies:
+      '@sinonjs/commons': 3.0.1
+
+  '@testing-library/dom@10.4.0':
+    dependencies:
+      '@babel/code-frame': 7.27.1
+      '@babel/runtime': 7.27.6
+      '@types/aria-query': 5.0.4
+      aria-query: 5.3.0
+      chalk: 4.1.2
+      dom-accessibility-api: 0.5.16
+      lz-string: 1.5.0
+      pretty-format: 27.5.1
+
+  '@testing-library/jest-dom@6.6.3':
+    dependencies:
+      '@adobe/css-tools': 4.4.3
+      aria-query: 5.3.2
+      chalk: 3.0.0
+      css.escape: 1.5.1
+      dom-accessibility-api: 0.6.3
+      lodash: 4.17.21
+      redent: 3.0.0
+
+  '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.0)':
+    dependencies:
+      '@testing-library/dom': 10.4.0
+
+  '@tootallnate/once@2.0.0': {}
+
+  '@types/argparse@1.0.38': {}
+
+  '@types/aria-query@5.0.4': {}
+
+  '@types/babel__core@7.20.5':
+    dependencies:
+      '@babel/parser': 7.27.7
+      '@babel/types': 7.27.7
+      '@types/babel__generator': 7.27.0
+      '@types/babel__template': 7.4.4
+      '@types/babel__traverse': 7.20.7
+
+  '@types/babel__generator@7.27.0':
+    dependencies:
+      '@babel/types': 7.27.7
+
+  '@types/babel__template@7.4.4':
+    dependencies:
+      '@babel/parser': 7.27.7
+      '@babel/types': 7.27.7
+
+  '@types/babel__traverse@7.20.7':
+    dependencies:
+      '@babel/types': 7.27.7
+
+  '@types/downloadjs@1.4.6': {}
+
+  '@types/estree@1.0.8': {}
+
+  '@types/graceful-fs@4.1.9':
+    dependencies:
+      '@types/node': 24.0.8
+
+  '@types/istanbul-lib-coverage@2.0.6': {}
+
+  '@types/istanbul-lib-report@3.0.3':
+    dependencies:
+      '@types/istanbul-lib-coverage': 2.0.6
+
+  '@types/istanbul-reports@3.0.4':
+    dependencies:
+      '@types/istanbul-lib-report': 3.0.3
+
+  '@types/jest@29.5.14':
+    dependencies:
+      expect: 29.7.0
+      pretty-format: 29.7.0
+
+  '@types/jsdom@20.0.1':
+    dependencies:
+      '@types/node': 24.0.8
+      '@types/tough-cookie': 4.0.5
+      parse5: 7.3.0
+
+  '@types/json-schema@7.0.15': {}
+
+  '@types/node@24.0.8':
+    dependencies:
+      undici-types: 7.8.0
+
+  '@types/resolve@1.20.2': {}
+
+  '@types/stack-utils@2.0.3': {}
+
+  '@types/tough-cookie@4.0.5': {}
+
+  '@types/yargs-parser@21.0.3': {}
+
+  '@types/yargs@17.0.33':
+    dependencies:
+      '@types/yargs-parser': 21.0.3
+
+  '@typescript-eslint/eslint-plugin@8.35.1(@typescript-eslint/parser@8.35.1(eslint@9.30.0)(typescript@5.8.3))(eslint@9.30.0)(typescript@5.8.3)':
+    dependencies:
+      '@eslint-community/regexpp': 4.12.1
+      '@typescript-eslint/parser': 8.35.1(eslint@9.30.0)(typescript@5.8.3)
+      '@typescript-eslint/scope-manager': 8.35.1
+      '@typescript-eslint/type-utils': 8.35.1(eslint@9.30.0)(typescript@5.8.3)
+      '@typescript-eslint/utils': 8.35.1(eslint@9.30.0)(typescript@5.8.3)
+      '@typescript-eslint/visitor-keys': 8.35.1
+      eslint: 9.30.0
+      graphemer: 1.4.0
+      ignore: 7.0.5
+      natural-compare: 1.4.0
+      ts-api-utils: 2.1.0(typescript@5.8.3)
+      typescript: 5.8.3
+    transitivePeerDependencies:
+      - supports-color
+
+  '@typescript-eslint/parser@8.35.1(eslint@9.30.0)(typescript@5.8.3)':
+    dependencies:
+      '@typescript-eslint/scope-manager': 8.35.1
+      '@typescript-eslint/types': 8.35.1
+      '@typescript-eslint/typescript-estree': 8.35.1(typescript@5.8.3)
+      '@typescript-eslint/visitor-keys': 8.35.1
+      debug: 4.4.1
+      eslint: 9.30.0
+      typescript: 5.8.3
+    transitivePeerDependencies:
+      - supports-color
+
+  '@typescript-eslint/project-service@8.35.1(typescript@5.8.3)':
+    dependencies:
+      '@typescript-eslint/tsconfig-utils': 8.35.1(typescript@5.8.3)
+      '@typescript-eslint/types': 8.35.1
+      debug: 4.4.1
+      typescript: 5.8.3
+    transitivePeerDependencies:
+      - supports-color
+
+  '@typescript-eslint/scope-manager@8.35.1':
+    dependencies:
+      '@typescript-eslint/types': 8.35.1
+      '@typescript-eslint/visitor-keys': 8.35.1
+
+  '@typescript-eslint/tsconfig-utils@8.35.1(typescript@5.8.3)':
+    dependencies:
+      typescript: 5.8.3
+
+  '@typescript-eslint/type-utils@8.35.1(eslint@9.30.0)(typescript@5.8.3)':
+    dependencies:
+      '@typescript-eslint/typescript-estree': 8.35.1(typescript@5.8.3)
+      '@typescript-eslint/utils': 8.35.1(eslint@9.30.0)(typescript@5.8.3)
+      debug: 4.4.1
+      eslint: 9.30.0
+      ts-api-utils: 2.1.0(typescript@5.8.3)
+      typescript: 5.8.3
+    transitivePeerDependencies:
+      - supports-color
+
+  '@typescript-eslint/types@8.35.1': {}
+
+  '@typescript-eslint/typescript-estree@8.35.1(typescript@5.8.3)':
+    dependencies:
+      '@typescript-eslint/project-service': 8.35.1(typescript@5.8.3)
+      '@typescript-eslint/tsconfig-utils': 8.35.1(typescript@5.8.3)
+      '@typescript-eslint/types': 8.35.1
+      '@typescript-eslint/visitor-keys': 8.35.1
+      debug: 4.4.1
+      fast-glob: 3.3.3
+      is-glob: 4.0.3
+      minimatch: 9.0.5
+      semver: 7.7.2
+      ts-api-utils: 2.1.0(typescript@5.8.3)
+      typescript: 5.8.3
+    transitivePeerDependencies:
+      - supports-color
+
+  '@typescript-eslint/utils@8.35.1(eslint@9.30.0)(typescript@5.8.3)':
+    dependencies:
+      '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.0)
+      '@typescript-eslint/scope-manager': 8.35.1
+      '@typescript-eslint/types': 8.35.1
+      '@typescript-eslint/typescript-estree': 8.35.1(typescript@5.8.3)
+      eslint: 9.30.0
+      typescript: 5.8.3
+    transitivePeerDependencies:
+      - supports-color
+
+  '@typescript-eslint/visitor-keys@8.35.1':
+    dependencies:
+      '@typescript-eslint/types': 8.35.1
+      eslint-visitor-keys: 4.2.1
+
+  '@vitejs/plugin-vue@5.2.4(vite@6.3.5(@types/node@24.0.8)(sass@1.89.2)(terser@5.43.1))(vue@3.5.17(typescript@5.8.3))':
+    dependencies:
+      vite: 6.3.5(@types/node@24.0.8)(sass@1.89.2)(terser@5.43.1)
+      vue: 3.5.17(typescript@5.8.3)
+
+  '@volar/language-core@2.4.15':
+    dependencies:
+      '@volar/source-map': 2.4.15
+
+  '@volar/source-map@2.4.15': {}
+
+  '@volar/typescript@2.4.15':
+    dependencies:
+      '@volar/language-core': 2.4.15
+      path-browserify: 1.0.1
+      vscode-uri: 3.1.0
+
+  '@vue/compiler-core@3.5.17':
+    dependencies:
+      '@babel/parser': 7.27.7
+      '@vue/shared': 3.5.17
+      entities: 4.5.0
+      estree-walker: 2.0.2
+      source-map-js: 1.2.1
+
+  '@vue/compiler-dom@3.5.17':
+    dependencies:
+      '@vue/compiler-core': 3.5.17
+      '@vue/shared': 3.5.17
+
+  '@vue/compiler-sfc@3.5.17':
+    dependencies:
+      '@babel/parser': 7.27.7
+      '@vue/compiler-core': 3.5.17
+      '@vue/compiler-dom': 3.5.17
+      '@vue/compiler-ssr': 3.5.17
+      '@vue/shared': 3.5.17
+      estree-walker: 2.0.2
+      magic-string: 0.30.17
+      postcss: 8.5.6
+      source-map-js: 1.2.1
+
+  '@vue/compiler-ssr@3.5.17':
+    dependencies:
+      '@vue/compiler-dom': 3.5.17
+      '@vue/shared': 3.5.17
+
+  '@vue/compiler-vue2@2.7.16':
+    dependencies:
+      de-indent: 1.0.2
+      he: 1.2.0
+
+  '@vue/devtools-api@6.6.4': {}
+
+  '@vue/language-core@2.2.0(typescript@5.8.3)':
+    dependencies:
+      '@volar/language-core': 2.4.15
+      '@vue/compiler-dom': 3.5.17
+      '@vue/compiler-vue2': 2.7.16
+      '@vue/shared': 3.5.17
+      alien-signals: 0.4.14
+      minimatch: 9.0.5
+      muggle-string: 0.4.1
+      path-browserify: 1.0.1
+    optionalDependencies:
+      typescript: 5.8.3
+
+  '@vue/language-core@2.2.10(typescript@5.8.3)':
+    dependencies:
+      '@volar/language-core': 2.4.15
+      '@vue/compiler-dom': 3.5.17
+      '@vue/compiler-vue2': 2.7.16
+      '@vue/shared': 3.5.17
+      alien-signals: 1.0.13
+      minimatch: 9.0.5
+      muggle-string: 0.4.1
+      path-browserify: 1.0.1
+    optionalDependencies:
+      typescript: 5.8.3
+
+  '@vue/reactivity@3.5.17':
+    dependencies:
+      '@vue/shared': 3.5.17
+
+  '@vue/runtime-core@3.5.17':
+    dependencies:
+      '@vue/reactivity': 3.5.17
+      '@vue/shared': 3.5.17
+
+  '@vue/runtime-dom@3.5.17':
+    dependencies:
+      '@vue/reactivity': 3.5.17
+      '@vue/runtime-core': 3.5.17
+      '@vue/shared': 3.5.17
+      csstype: 3.1.3
+
+  '@vue/server-renderer@3.5.17(vue@3.5.17(typescript@5.8.3))':
+    dependencies:
+      '@vue/compiler-ssr': 3.5.17
+      '@vue/shared': 3.5.17
+      vue: 3.5.17(typescript@5.8.3)
+
+  '@vue/shared@3.5.17': {}
+
+  abab@2.0.6: {}
+
+  acorn-globals@7.0.1:
+    dependencies:
+      acorn: 8.15.0
+      acorn-walk: 8.3.4
+
+  acorn-jsx@5.3.2(acorn@8.15.0):
+    dependencies:
+      acorn: 8.15.0
+
+  acorn-walk@8.3.4:
+    dependencies:
+      acorn: 8.15.0
+
+  acorn@8.15.0: {}
+
+  agent-base@6.0.2:
+    dependencies:
+      debug: 4.4.1
+    transitivePeerDependencies:
+      - supports-color
+
+  ajv-draft-04@1.0.0(ajv@8.13.0):
+    optionalDependencies:
+      ajv: 8.13.0
+
+  ajv-formats@3.0.1(ajv@8.13.0):
+    optionalDependencies:
+      ajv: 8.13.0
+
+  ajv@6.12.6:
+    dependencies:
+      fast-deep-equal: 3.1.3
+      fast-json-stable-stringify: 2.1.0
+      json-schema-traverse: 0.4.1
+      uri-js: 4.4.1
+
+  ajv@8.12.0:
+    dependencies:
+      fast-deep-equal: 3.1.3
+      json-schema-traverse: 1.0.0
+      require-from-string: 2.0.2
+      uri-js: 4.4.1
+
+  ajv@8.13.0:
+    dependencies:
+      fast-deep-equal: 3.1.3
+      json-schema-traverse: 1.0.0
+      require-from-string: 2.0.2
+      uri-js: 4.4.1
+
+  alien-signals@0.4.14: {}
+
+  alien-signals@1.0.13: {}
+
+  ansi-escapes@4.3.2:
+    dependencies:
+      type-fest: 0.21.3
+
+  ansi-regex@5.0.1: {}
+
+  ansi-regex@6.1.0: {}
+
+  ansi-styles@4.3.0:
+    dependencies:
+      color-convert: 2.0.1
+
+  ansi-styles@5.2.0: {}
+
+  ansi-styles@6.2.1: {}
+
+  anymatch@3.1.3:
+    dependencies:
+      normalize-path: 3.0.0
+      picomatch: 2.3.1
+
+  argparse@1.0.10:
+    dependencies:
+      sprintf-js: 1.0.3
+
+  argparse@2.0.1: {}
+
+  aria-query@5.3.0:
+    dependencies:
+      dequal: 2.0.3
+
+  aria-query@5.3.2: {}
+
+  async@3.2.6: {}
+
+  asynckit@0.4.0: {}
+
+  babel-jest@29.7.0(@babel/core@7.27.7):
+    dependencies:
+      '@babel/core': 7.27.7
+      '@jest/transform': 29.7.0
+      '@types/babel__core': 7.20.5
+      babel-plugin-istanbul: 6.1.1
+      babel-preset-jest: 29.6.3(@babel/core@7.27.7)
+      chalk: 4.1.2
+      graceful-fs: 4.2.11
+      slash: 3.0.0
+    transitivePeerDependencies:
+      - supports-color
+
+  babel-plugin-istanbul@6.1.1:
+    dependencies:
+      '@babel/helper-plugin-utils': 7.27.1
+      '@istanbuljs/load-nyc-config': 1.1.0
+      '@istanbuljs/schema': 0.1.3
+      istanbul-lib-instrument: 5.2.1
+      test-exclude: 6.0.0
+    transitivePeerDependencies:
+      - supports-color
+
+  babel-plugin-jest-hoist@29.6.3:
+    dependencies:
+      '@babel/template': 7.27.2
+      '@babel/types': 7.27.7
+      '@types/babel__core': 7.20.5
+      '@types/babel__traverse': 7.20.7
+
+  babel-preset-current-node-syntax@1.1.0(@babel/core@7.27.7):
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.27.7)
+      '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.27.7)
+      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.27.7)
+      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.27.7)
+      '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.27.7)
+      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.27.7)
+      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.27.7)
+      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.27.7)
+      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.27.7)
+      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.27.7)
+      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.27.7)
+      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.27.7)
+      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.27.7)
+      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.27.7)
+      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.27.7)
+
+  babel-preset-jest@29.6.3(@babel/core@7.27.7):
+    dependencies:
+      '@babel/core': 7.27.7
+      babel-plugin-jest-hoist: 29.6.3
+      babel-preset-current-node-syntax: 1.1.0(@babel/core@7.27.7)
+
+  balanced-match@1.0.2: {}
+
+  brace-expansion@1.1.12:
+    dependencies:
+      balanced-match: 1.0.2
+      concat-map: 0.0.1
+
+  brace-expansion@2.0.2:
+    dependencies:
+      balanced-match: 1.0.2
+
+  braces@3.0.3:
+    dependencies:
+      fill-range: 7.1.1
+
+  browserslist@4.25.1:
+    dependencies:
+      caniuse-lite: 1.0.30001726
+      electron-to-chromium: 1.5.178
+      node-releases: 2.0.19
+      update-browserslist-db: 1.1.3(browserslist@4.25.1)
+
+  bs-logger@0.2.6:
+    dependencies:
+      fast-json-stable-stringify: 2.1.0
+
+  bser@2.1.1:
+    dependencies:
+      node-int64: 0.4.0
+
+  buffer-from@1.1.2: {}
+
+  call-bind-apply-helpers@1.0.2:
+    dependencies:
+      es-errors: 1.3.0
+      function-bind: 1.1.2
+
+  callsites@3.1.0: {}
+
+  camelcase@5.3.1: {}
+
+  camelcase@6.3.0: {}
+
+  caniuse-lite@1.0.30001726: {}
+
+  chalk@3.0.0:
+    dependencies:
+      ansi-styles: 4.3.0
+      supports-color: 7.2.0
+
+  chalk@4.1.2:
+    dependencies:
+      ansi-styles: 4.3.0
+      supports-color: 7.2.0
+
+  char-regex@1.0.2: {}
+
+  chokidar@4.0.3:
+    dependencies:
+      readdirp: 4.1.2
+
+  ci-info@3.9.0: {}
+
+  cjs-module-lexer@1.4.3: {}
+
+  clipboard@2.0.11:
+    dependencies:
+      good-listener: 1.2.2
+      select: 1.1.2
+      tiny-emitter: 2.1.0
+
+  cliui@8.0.1:
+    dependencies:
+      string-width: 4.2.3
+      strip-ansi: 6.0.1
+      wrap-ansi: 7.0.0
+
+  co@4.6.0: {}
+
+  collect-v8-coverage@1.0.2: {}
+
+  color-convert@2.0.1:
+    dependencies:
+      color-name: 1.1.4
+
+  color-name@1.1.4: {}
+
+  combined-stream@1.0.8:
+    dependencies:
+      delayed-stream: 1.0.0
+
+  commander@2.20.3: {}
+
+  commondir@1.0.1: {}
+
+  compare-versions@6.1.1: {}
+
+  concat-map@0.0.1: {}
+
+  confbox@0.1.8: {}
+
+  confbox@0.2.2: {}
+
+  convert-source-map@2.0.0: {}
+
+  create-jest@29.7.0(@types/node@24.0.8):
+    dependencies:
+      '@jest/types': 29.6.3
+      chalk: 4.1.2
+      exit: 0.1.2
+      graceful-fs: 4.2.11
+      jest-config: 29.7.0(@types/node@24.0.8)
+      jest-util: 29.7.0
+      prompts: 2.4.2
+    transitivePeerDependencies:
+      - '@types/node'
+      - babel-plugin-macros
+      - supports-color
+      - ts-node
+
+  cross-spawn@7.0.6:
+    dependencies:
+      path-key: 3.1.1
+      shebang-command: 2.0.0
+      which: 2.0.2
+
+  css.escape@1.5.1: {}
+
+  cssfontparser@1.2.1: {}
+
+  cssom@0.3.8: {}
+
+  cssom@0.5.0: {}
+
+  cssstyle@2.3.0:
+    dependencies:
+      cssom: 0.3.8
+
+  csstype@3.1.3: {}
+
+  data-urls@3.0.2:
+    dependencies:
+      abab: 2.0.6
+      whatwg-mimetype: 3.0.0
+      whatwg-url: 11.0.0
+
+  de-indent@1.0.2: {}
+
+  debug@4.4.1:
+    dependencies:
+      ms: 2.1.3
+
+  decimal.js@10.5.0: {}
+
+  dedent@1.6.0: {}
+
+  deep-is@0.1.4: {}
+
+  deepmerge@4.3.1: {}
+
+  delayed-stream@1.0.0: {}
+
+  delegate@3.2.0: {}
+
+  dequal@2.0.3: {}
+
+  detect-libc@1.0.3:
+    optional: true
+
+  detect-newline@3.1.0: {}
+
+  diff-sequences@29.6.3: {}
+
+  dom-accessibility-api@0.5.16: {}
+
+  dom-accessibility-api@0.6.3: {}
+
+  domexception@4.0.0:
+    dependencies:
+      webidl-conversions: 7.0.0
+
+  downloadjs@1.4.7: {}
+
+  dunder-proto@1.0.1:
+    dependencies:
+      call-bind-apply-helpers: 1.0.2
+      es-errors: 1.3.0
+      gopd: 1.2.0
+
+  eastasianwidth@0.2.0: {}
+
+  ejs@3.1.10:
+    dependencies:
+      jake: 10.9.2
+
+  electron-to-chromium@1.5.178: {}
+
+  emittery@0.13.1: {}
+
+  emoji-regex@8.0.0: {}
+
+  emoji-regex@9.2.2: {}
+
+  entities@4.5.0: {}
+
+  entities@6.0.1: {}
+
+  error-ex@1.3.2:
+    dependencies:
+      is-arrayish: 0.2.1
+
+  es-define-property@1.0.1: {}
+
+  es-errors@1.3.0: {}
+
+  es-object-atoms@1.1.1:
+    dependencies:
+      es-errors: 1.3.0
+
+  es-set-tostringtag@2.1.0:
+    dependencies:
+      es-errors: 1.3.0
+      get-intrinsic: 1.3.0
+      has-tostringtag: 1.0.2
+      hasown: 2.0.2
+
+  esbuild@0.25.5:
+    optionalDependencies:
+      '@esbuild/aix-ppc64': 0.25.5
+      '@esbuild/android-arm': 0.25.5
+      '@esbuild/android-arm64': 0.25.5
+      '@esbuild/android-x64': 0.25.5
+      '@esbuild/darwin-arm64': 0.25.5
+      '@esbuild/darwin-x64': 0.25.5
+      '@esbuild/freebsd-arm64': 0.25.5
+      '@esbuild/freebsd-x64': 0.25.5
+      '@esbuild/linux-arm': 0.25.5
+      '@esbuild/linux-arm64': 0.25.5
+      '@esbuild/linux-ia32': 0.25.5
+      '@esbuild/linux-loong64': 0.25.5
+      '@esbuild/linux-mips64el': 0.25.5
+      '@esbuild/linux-ppc64': 0.25.5
+      '@esbuild/linux-riscv64': 0.25.5
+      '@esbuild/linux-s390x': 0.25.5
+      '@esbuild/linux-x64': 0.25.5
+      '@esbuild/netbsd-arm64': 0.25.5
+      '@esbuild/netbsd-x64': 0.25.5
+      '@esbuild/openbsd-arm64': 0.25.5
+      '@esbuild/openbsd-x64': 0.25.5
+      '@esbuild/sunos-x64': 0.25.5
+      '@esbuild/win32-arm64': 0.25.5
+      '@esbuild/win32-ia32': 0.25.5
+      '@esbuild/win32-x64': 0.25.5
+
+  escalade@3.2.0: {}
+
+  escape-string-regexp@2.0.0: {}
+
+  escape-string-regexp@4.0.0: {}
+
+  escodegen@2.1.0:
+    dependencies:
+      esprima: 4.0.1
+      estraverse: 5.3.0
+      esutils: 2.0.3
+    optionalDependencies:
+      source-map: 0.6.1
+
+  eslint-config-prettier@10.1.5(eslint@9.30.0):
+    dependencies:
+      eslint: 9.30.0
+
+  eslint-plugin-prettier@5.5.1(eslint-config-prettier@10.1.5(eslint@9.30.0))(eslint@9.30.0)(prettier@3.6.2):
+    dependencies:
+      eslint: 9.30.0
+      prettier: 3.6.2
+      prettier-linter-helpers: 1.0.0
+      synckit: 0.11.8
+    optionalDependencies:
+      eslint-config-prettier: 10.1.5(eslint@9.30.0)
+
+  eslint-scope@8.4.0:
+    dependencies:
+      esrecurse: 4.3.0
+      estraverse: 5.3.0
+
+  eslint-visitor-keys@3.4.3: {}
+
+  eslint-visitor-keys@4.2.1: {}
+
+  eslint@9.30.0:
+    dependencies:
+      '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.0)
+      '@eslint-community/regexpp': 4.12.1
+      '@eslint/config-array': 0.21.0
+      '@eslint/config-helpers': 0.3.0
+      '@eslint/core': 0.14.0
+      '@eslint/eslintrc': 3.3.1
+      '@eslint/js': 9.30.0
+      '@eslint/plugin-kit': 0.3.3
+      '@humanfs/node': 0.16.6
+      '@humanwhocodes/module-importer': 1.0.1
+      '@humanwhocodes/retry': 0.4.3
+      '@types/estree': 1.0.8
+      '@types/json-schema': 7.0.15
+      ajv: 6.12.6
+      chalk: 4.1.2
+      cross-spawn: 7.0.6
+      debug: 4.4.1
+      escape-string-regexp: 4.0.0
+      eslint-scope: 8.4.0
+      eslint-visitor-keys: 4.2.1
+      espree: 10.4.0
+      esquery: 1.6.0
+      esutils: 2.0.3
+      fast-deep-equal: 3.1.3
+      file-entry-cache: 8.0.0
+      find-up: 5.0.0
+      glob-parent: 6.0.2
+      ignore: 5.3.2
+      imurmurhash: 0.1.4
+      is-glob: 4.0.3
+      json-stable-stringify-without-jsonify: 1.0.1
+      lodash.merge: 4.6.2
+      minimatch: 3.1.2
+      natural-compare: 1.4.0
+      optionator: 0.9.4
+    transitivePeerDependencies:
+      - supports-color
+
+  espree@10.4.0:
+    dependencies:
+      acorn: 8.15.0
+      acorn-jsx: 5.3.2(acorn@8.15.0)
+      eslint-visitor-keys: 4.2.1
+
+  esprima@4.0.1: {}
+
+  esquery@1.6.0:
+    dependencies:
+      estraverse: 5.3.0
+
+  esrecurse@4.3.0:
+    dependencies:
+      estraverse: 5.3.0
+
+  estraverse@5.3.0: {}
+
+  estree-walker@0.6.1: {}
+
+  estree-walker@2.0.2: {}
+
+  esutils@2.0.3: {}
+
+  execa@5.1.1:
+    dependencies:
+      cross-spawn: 7.0.6
+      get-stream: 6.0.1
+      human-signals: 2.1.0
+      is-stream: 2.0.1
+      merge-stream: 2.0.0
+      npm-run-path: 4.0.1
+      onetime: 5.1.2
+      signal-exit: 3.0.7
+      strip-final-newline: 2.0.0
+
+  exit@0.1.2: {}
+
+  expect@29.7.0:
+    dependencies:
+      '@jest/expect-utils': 29.7.0
+      jest-get-type: 29.6.3
+      jest-matcher-utils: 29.7.0
+      jest-message-util: 29.7.0
+      jest-util: 29.7.0
+
+  exsolve@1.0.7: {}
+
+  fast-deep-equal@3.1.3: {}
+
+  fast-diff@1.3.0: {}
+
+  fast-glob@3.3.3:
+    dependencies:
+      '@nodelib/fs.stat': 2.0.5
+      '@nodelib/fs.walk': 1.2.8
+      glob-parent: 5.1.2
+      merge2: 1.4.1
+      micromatch: 4.0.8
+
+  fast-json-stable-stringify@2.1.0: {}
+
+  fast-levenshtein@2.0.6: {}
+
+  fastq@1.19.1:
+    dependencies:
+      reusify: 1.1.0
+
+  fb-watchman@2.0.2:
+    dependencies:
+      bser: 2.1.1
+
+  fdir@6.4.6(picomatch@4.0.2):
+    optionalDependencies:
+      picomatch: 4.0.2
+
+  file-entry-cache@8.0.0:
+    dependencies:
+      flat-cache: 4.0.1
+
+  filelist@1.0.4:
+    dependencies:
+      minimatch: 5.1.6
+
+  fill-range@7.1.1:
+    dependencies:
+      to-regex-range: 5.0.1
+
+  find-cache-dir@3.3.2:
+    dependencies:
+      commondir: 1.0.1
+      make-dir: 3.1.0
+      pkg-dir: 4.2.0
+
+  find-up@4.1.0:
+    dependencies:
+      locate-path: 5.0.0
+      path-exists: 4.0.0
+
+  find-up@5.0.0:
+    dependencies:
+      locate-path: 6.0.0
+      path-exists: 4.0.0
+
+  flat-cache@4.0.1:
+    dependencies:
+      flatted: 3.3.3
+      keyv: 4.5.4
+
+  flatted@3.3.3: {}
+
+  foreground-child@3.3.1:
+    dependencies:
+      cross-spawn: 7.0.6
+      signal-exit: 4.1.0
+
+  form-data@4.0.3:
+    dependencies:
+      asynckit: 0.4.0
+      combined-stream: 1.0.8
+      es-set-tostringtag: 2.1.0
+      hasown: 2.0.2
+      mime-types: 2.1.35
+
+  fs-extra@10.1.0:
+    dependencies:
+      graceful-fs: 4.2.11
+      jsonfile: 6.1.0
+      universalify: 2.0.1
+
+  fs-extra@11.3.0:
+    dependencies:
+      graceful-fs: 4.2.11
+      jsonfile: 6.1.0
+      universalify: 2.0.1
+
+  fs.realpath@1.0.0: {}
+
+  fsevents@2.3.3:
+    optional: true
+
+  function-bind@1.1.2: {}
+
+  gensync@1.0.0-beta.2: {}
+
+  get-caller-file@2.0.5: {}
+
+  get-intrinsic@1.3.0:
+    dependencies:
+      call-bind-apply-helpers: 1.0.2
+      es-define-property: 1.0.1
+      es-errors: 1.3.0
+      es-object-atoms: 1.1.1
+      function-bind: 1.1.2
+      get-proto: 1.0.1
+      gopd: 1.2.0
+      has-symbols: 1.1.0
+      hasown: 2.0.2
+      math-intrinsics: 1.1.0
+
+  get-package-type@0.1.0: {}
+
+  get-proto@1.0.1:
+    dependencies:
+      dunder-proto: 1.0.1
+      es-object-atoms: 1.1.1
+
+  get-stream@6.0.1: {}
+
+  glob-parent@5.1.2:
+    dependencies:
+      is-glob: 4.0.3
+
+  glob-parent@6.0.2:
+    dependencies:
+      is-glob: 4.0.3
+
+  glob@11.0.3:
+    dependencies:
+      foreground-child: 3.3.1
+      jackspeak: 4.1.1
+      minimatch: 10.0.3
+      minipass: 7.1.2
+      package-json-from-dist: 1.0.1
+      path-scurry: 2.0.0
+
+  glob@7.2.3:
+    dependencies:
+      fs.realpath: 1.0.0
+      inflight: 1.0.6
+      inherits: 2.0.4
+      minimatch: 3.1.2
+      once: 1.4.0
+      path-is-absolute: 1.0.1
+
+  globals@11.12.0: {}
+
+  globals@14.0.0: {}
+
+  good-listener@1.2.2:
+    dependencies:
+      delegate: 3.2.0
+
+  gopd@1.2.0: {}
+
+  graceful-fs@4.2.11: {}
+
+  graphemer@1.4.0: {}
+
+  harmony-reflect@1.6.2: {}
+
+  has-flag@4.0.0: {}
+
+  has-symbols@1.1.0: {}
+
+  has-tostringtag@1.0.2:
+    dependencies:
+      has-symbols: 1.1.0
+
+  hash-sum@2.0.0: {}
+
+  hasown@2.0.2:
+    dependencies:
+      function-bind: 1.1.2
+
+  he@1.2.0: {}
+
+  html-encoding-sniffer@3.0.0:
+    dependencies:
+      whatwg-encoding: 2.0.0
+
+  html-escaper@2.0.2: {}
+
+  http-proxy-agent@5.0.0:
+    dependencies:
+      '@tootallnate/once': 2.0.0
+      agent-base: 6.0.2
+      debug: 4.4.1
+    transitivePeerDependencies:
+      - supports-color
+
+  https-proxy-agent@5.0.1:
+    dependencies:
+      agent-base: 6.0.2
+      debug: 4.4.1
+    transitivePeerDependencies:
+      - supports-color
+
+  human-signals@2.1.0: {}
+
+  iconv-lite@0.6.3:
+    dependencies:
+      safer-buffer: 2.1.2
+
+  identity-obj-proxy@3.0.0:
+    dependencies:
+      harmony-reflect: 1.6.2
+
+  ignore@5.3.2: {}
+
+  ignore@7.0.5: {}
+
+  immutable@5.1.3: {}
+
+  import-fresh@3.3.1:
+    dependencies:
+      parent-module: 1.0.1
+      resolve-from: 4.0.0
+
+  import-lazy@4.0.0: {}
+
+  import-local@3.2.0:
+    dependencies:
+      pkg-dir: 4.2.0
+      resolve-cwd: 3.0.0
+
+  imurmurhash@0.1.4: {}
+
+  indent-string@4.0.0: {}
+
+  inflight@1.0.6:
+    dependencies:
+      once: 1.4.0
+      wrappy: 1.0.2
+
+  inherits@2.0.4: {}
+
+  is-arrayish@0.2.1: {}
+
+  is-core-module@2.16.1:
+    dependencies:
+      hasown: 2.0.2
+
+  is-extglob@2.1.1: {}
+
+  is-fullwidth-code-point@3.0.0: {}
+
+  is-generator-fn@2.1.0: {}
+
+  is-glob@4.0.3:
+    dependencies:
+      is-extglob: 2.1.1
+
+  is-module@1.0.0: {}
+
+  is-number@7.0.0: {}
+
+  is-potential-custom-element-name@1.0.1: {}
+
+  is-reference@1.2.1:
+    dependencies:
+      '@types/estree': 1.0.8
+
+  is-stream@2.0.1: {}
+
+  isexe@2.0.0: {}
+
+  istanbul-lib-coverage@3.2.2: {}
+
+  istanbul-lib-instrument@5.2.1:
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/parser': 7.27.7
+      '@istanbuljs/schema': 0.1.3
+      istanbul-lib-coverage: 3.2.2
+      semver: 6.3.1
+    transitivePeerDependencies:
+      - supports-color
+
+  istanbul-lib-instrument@6.0.3:
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/parser': 7.27.7
+      '@istanbuljs/schema': 0.1.3
+      istanbul-lib-coverage: 3.2.2
+      semver: 7.7.2
+    transitivePeerDependencies:
+      - supports-color
+
+  istanbul-lib-report@3.0.1:
+    dependencies:
+      istanbul-lib-coverage: 3.2.2
+      make-dir: 4.0.0
+      supports-color: 7.2.0
+
+  istanbul-lib-source-maps@4.0.1:
+    dependencies:
+      debug: 4.4.1
+      istanbul-lib-coverage: 3.2.2
+      source-map: 0.6.1
+    transitivePeerDependencies:
+      - supports-color
+
+  istanbul-reports@3.1.7:
+    dependencies:
+      html-escaper: 2.0.2
+      istanbul-lib-report: 3.0.1
+
+  jackspeak@4.1.1:
+    dependencies:
+      '@isaacs/cliui': 8.0.2
+
+  jake@10.9.2:
+    dependencies:
+      async: 3.2.6
+      chalk: 4.1.2
+      filelist: 1.0.4
+      minimatch: 3.1.2
+
+  jest-canvas-mock@2.5.2:
+    dependencies:
+      cssfontparser: 1.2.1
+      moo-color: 1.0.3
+
+  jest-changed-files@29.7.0:
+    dependencies:
+      execa: 5.1.1
+      jest-util: 29.7.0
+      p-limit: 3.1.0
+
+  jest-circus@29.7.0:
+    dependencies:
+      '@jest/environment': 29.7.0
+      '@jest/expect': 29.7.0
+      '@jest/test-result': 29.7.0
+      '@jest/types': 29.6.3
+      '@types/node': 24.0.8
+      chalk: 4.1.2
+      co: 4.6.0
+      dedent: 1.6.0
+      is-generator-fn: 2.1.0
+      jest-each: 29.7.0
+      jest-matcher-utils: 29.7.0
+      jest-message-util: 29.7.0
+      jest-runtime: 29.7.0
+      jest-snapshot: 29.7.0
+      jest-util: 29.7.0
+      p-limit: 3.1.0
+      pretty-format: 29.7.0
+      pure-rand: 6.1.0
+      slash: 3.0.0
+      stack-utils: 2.0.6
+    transitivePeerDependencies:
+      - babel-plugin-macros
+      - supports-color
+
+  jest-cli@29.7.0(@types/node@24.0.8):
+    dependencies:
+      '@jest/core': 29.7.0
+      '@jest/test-result': 29.7.0
+      '@jest/types': 29.6.3
+      chalk: 4.1.2
+      create-jest: 29.7.0(@types/node@24.0.8)
+      exit: 0.1.2
+      import-local: 3.2.0
+      jest-config: 29.7.0(@types/node@24.0.8)
+      jest-util: 29.7.0
+      jest-validate: 29.7.0
+      yargs: 17.7.2
+    transitivePeerDependencies:
+      - '@types/node'
+      - babel-plugin-macros
+      - supports-color
+      - ts-node
+
+  jest-config@29.7.0(@types/node@24.0.8):
+    dependencies:
+      '@babel/core': 7.27.7
+      '@jest/test-sequencer': 29.7.0
+      '@jest/types': 29.6.3
+      babel-jest: 29.7.0(@babel/core@7.27.7)
+      chalk: 4.1.2
+      ci-info: 3.9.0
+      deepmerge: 4.3.1
+      glob: 7.2.3
+      graceful-fs: 4.2.11
+      jest-circus: 29.7.0
+      jest-environment-node: 29.7.0
+      jest-get-type: 29.6.3
+      jest-regex-util: 29.6.3
+      jest-resolve: 29.7.0
+      jest-runner: 29.7.0
+      jest-util: 29.7.0
+      jest-validate: 29.7.0
+      micromatch: 4.0.8
+      parse-json: 5.2.0
+      pretty-format: 29.7.0
+      slash: 3.0.0
+      strip-json-comments: 3.1.1
+    optionalDependencies:
+      '@types/node': 24.0.8
+    transitivePeerDependencies:
+      - babel-plugin-macros
+      - supports-color
+
+  jest-diff@29.7.0:
+    dependencies:
+      chalk: 4.1.2
+      diff-sequences: 29.6.3
+      jest-get-type: 29.6.3
+      pretty-format: 29.7.0
+
+  jest-docblock@29.7.0:
+    dependencies:
+      detect-newline: 3.1.0
+
+  jest-each@29.7.0:
+    dependencies:
+      '@jest/types': 29.6.3
+      chalk: 4.1.2
+      jest-get-type: 29.6.3
+      jest-util: 29.7.0
+      pretty-format: 29.7.0
+
+  jest-environment-jsdom@29.7.0:
+    dependencies:
+      '@jest/environment': 29.7.0
+      '@jest/fake-timers': 29.7.0
+      '@jest/types': 29.6.3
+      '@types/jsdom': 20.0.1
+      '@types/node': 24.0.8
+      jest-mock: 29.7.0
+      jest-util: 29.7.0
+      jsdom: 20.0.3
+    transitivePeerDependencies:
+      - bufferutil
+      - supports-color
+      - utf-8-validate
+
+  jest-environment-node@29.7.0:
+    dependencies:
+      '@jest/environment': 29.7.0
+      '@jest/fake-timers': 29.7.0
+      '@jest/types': 29.6.3
+      '@types/node': 24.0.8
+      jest-mock: 29.7.0
+      jest-util: 29.7.0
+
+  jest-get-type@29.6.3: {}
+
+  jest-haste-map@29.7.0:
+    dependencies:
+      '@jest/types': 29.6.3
+      '@types/graceful-fs': 4.1.9
+      '@types/node': 24.0.8
+      anymatch: 3.1.3
+      fb-watchman: 2.0.2
+      graceful-fs: 4.2.11
+      jest-regex-util: 29.6.3
+      jest-util: 29.7.0
+      jest-worker: 29.7.0
+      micromatch: 4.0.8
+      walker: 1.0.8
+    optionalDependencies:
+      fsevents: 2.3.3
+
+  jest-leak-detector@29.7.0:
+    dependencies:
+      jest-get-type: 29.6.3
+      pretty-format: 29.7.0
+
+  jest-matcher-utils@29.7.0:
+    dependencies:
+      chalk: 4.1.2
+      jest-diff: 29.7.0
+      jest-get-type: 29.6.3
+      pretty-format: 29.7.0
+
+  jest-message-util@29.7.0:
+    dependencies:
+      '@babel/code-frame': 7.27.1
+      '@jest/types': 29.6.3
+      '@types/stack-utils': 2.0.3
+      chalk: 4.1.2
+      graceful-fs: 4.2.11
+      micromatch: 4.0.8
+      pretty-format: 29.7.0
+      slash: 3.0.0
+      stack-utils: 2.0.6
+
+  jest-mock@29.7.0:
+    dependencies:
+      '@jest/types': 29.6.3
+      '@types/node': 24.0.8
+      jest-util: 29.7.0
+
+  jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
+    optionalDependencies:
+      jest-resolve: 29.7.0
+
+  jest-regex-util@29.6.3: {}
+
+  jest-resolve-dependencies@29.7.0:
+    dependencies:
+      jest-regex-util: 29.6.3
+      jest-snapshot: 29.7.0
+    transitivePeerDependencies:
+      - supports-color
+
+  jest-resolve@29.7.0:
+    dependencies:
+      chalk: 4.1.2
+      graceful-fs: 4.2.11
+      jest-haste-map: 29.7.0
+      jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0)
+      jest-util: 29.7.0
+      jest-validate: 29.7.0
+      resolve: 1.22.10
+      resolve.exports: 2.0.3
+      slash: 3.0.0
+
+  jest-runner@29.7.0:
+    dependencies:
+      '@jest/console': 29.7.0
+      '@jest/environment': 29.7.0
+      '@jest/test-result': 29.7.0
+      '@jest/transform': 29.7.0
+      '@jest/types': 29.6.3
+      '@types/node': 24.0.8
+      chalk: 4.1.2
+      emittery: 0.13.1
+      graceful-fs: 4.2.11
+      jest-docblock: 29.7.0
+      jest-environment-node: 29.7.0
+      jest-haste-map: 29.7.0
+      jest-leak-detector: 29.7.0
+      jest-message-util: 29.7.0
+      jest-resolve: 29.7.0
+      jest-runtime: 29.7.0
+      jest-util: 29.7.0
+      jest-watcher: 29.7.0
+      jest-worker: 29.7.0
+      p-limit: 3.1.0
+      source-map-support: 0.5.13
+    transitivePeerDependencies:
+      - supports-color
+
+  jest-runtime@29.7.0:
+    dependencies:
+      '@jest/environment': 29.7.0
+      '@jest/fake-timers': 29.7.0
+      '@jest/globals': 29.7.0
+      '@jest/source-map': 29.6.3
+      '@jest/test-result': 29.7.0
+      '@jest/transform': 29.7.0
+      '@jest/types': 29.6.3
+      '@types/node': 24.0.8
+      chalk: 4.1.2
+      cjs-module-lexer: 1.4.3
+      collect-v8-coverage: 1.0.2
+      glob: 7.2.3
+      graceful-fs: 4.2.11
+      jest-haste-map: 29.7.0
+      jest-message-util: 29.7.0
+      jest-mock: 29.7.0
+      jest-regex-util: 29.6.3
+      jest-resolve: 29.7.0
+      jest-snapshot: 29.7.0
+      jest-util: 29.7.0
+      slash: 3.0.0
+      strip-bom: 4.0.0
+    transitivePeerDependencies:
+      - supports-color
+
+  jest-snapshot@29.7.0:
+    dependencies:
+      '@babel/core': 7.27.7
+      '@babel/generator': 7.27.5
+      '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.7)
+      '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.27.7)
+      '@babel/types': 7.27.7
+      '@jest/expect-utils': 29.7.0
+      '@jest/transform': 29.7.0
+      '@jest/types': 29.6.3
+      babel-preset-current-node-syntax: 1.1.0(@babel/core@7.27.7)
+      chalk: 4.1.2
+      expect: 29.7.0
+      graceful-fs: 4.2.11
+      jest-diff: 29.7.0
+      jest-get-type: 29.6.3
+      jest-matcher-utils: 29.7.0
+      jest-message-util: 29.7.0
+      jest-util: 29.7.0
+      natural-compare: 1.4.0
+      pretty-format: 29.7.0
+      semver: 7.7.2
+    transitivePeerDependencies:
+      - supports-color
+
+  jest-util@29.7.0:
+    dependencies:
+      '@jest/types': 29.6.3
+      '@types/node': 24.0.8
+      chalk: 4.1.2
+      ci-info: 3.9.0
+      graceful-fs: 4.2.11
+      picomatch: 2.3.1
+
+  jest-validate@29.7.0:
+    dependencies:
+      '@jest/types': 29.6.3
+      camelcase: 6.3.0
+      chalk: 4.1.2
+      jest-get-type: 29.6.3
+      leven: 3.1.0
+      pretty-format: 29.7.0
+
+  jest-watcher@29.7.0:
+    dependencies:
+      '@jest/test-result': 29.7.0
+      '@jest/types': 29.6.3
+      '@types/node': 24.0.8
+      ansi-escapes: 4.3.2
+      chalk: 4.1.2
+      emittery: 0.13.1
+      jest-util: 29.7.0
+      string-length: 4.0.2
+
+  jest-worker@29.7.0:
+    dependencies:
+      '@types/node': 24.0.8
+      jest-util: 29.7.0
+      merge-stream: 2.0.0
+      supports-color: 8.1.1
+
+  jest@29.7.0(@types/node@24.0.8):
+    dependencies:
+      '@jest/core': 29.7.0
+      '@jest/types': 29.6.3
+      import-local: 3.2.0
+      jest-cli: 29.7.0(@types/node@24.0.8)
+    transitivePeerDependencies:
+      - '@types/node'
+      - babel-plugin-macros
+      - supports-color
+      - ts-node
+
+  jju@1.4.0: {}
+
+  js-tokens@4.0.0: {}
+
+  js-yaml@3.14.1:
+    dependencies:
+      argparse: 1.0.10
+      esprima: 4.0.1
+
+  js-yaml@4.1.0:
+    dependencies:
+      argparse: 2.0.1
+
+  jsdom@20.0.3:
+    dependencies:
+      abab: 2.0.6
+      acorn: 8.15.0
+      acorn-globals: 7.0.1
+      cssom: 0.5.0
+      cssstyle: 2.3.0
+      data-urls: 3.0.2
+      decimal.js: 10.5.0
+      domexception: 4.0.0
+      escodegen: 2.1.0
+      form-data: 4.0.3
+      html-encoding-sniffer: 3.0.0
+      http-proxy-agent: 5.0.0
+      https-proxy-agent: 5.0.1
+      is-potential-custom-element-name: 1.0.1
+      nwsapi: 2.2.20
+      parse5: 7.3.0
+      saxes: 6.0.0
+      symbol-tree: 3.2.4
+      tough-cookie: 4.1.4
+      w3c-xmlserializer: 4.0.0
+      webidl-conversions: 7.0.0
+      whatwg-encoding: 2.0.0
+      whatwg-mimetype: 3.0.0
+      whatwg-url: 11.0.0
+      ws: 8.18.3
+      xml-name-validator: 4.0.0
+    transitivePeerDependencies:
+      - bufferutil
+      - supports-color
+      - utf-8-validate
+
+  jsesc@3.1.0: {}
+
+  json-buffer@3.0.1: {}
+
+  json-parse-even-better-errors@2.3.1: {}
+
+  json-schema-traverse@0.4.1: {}
+
+  json-schema-traverse@1.0.0: {}
+
+  json-stable-stringify-without-jsonify@1.0.1: {}
+
+  json5@2.2.3: {}
+
+  jsonfile@6.1.0:
+    dependencies:
+      universalify: 2.0.1
+    optionalDependencies:
+      graceful-fs: 4.2.11
+
+  keyv@4.5.4:
+    dependencies:
+      json-buffer: 3.0.1
+
+  kleur@3.0.3: {}
+
+  kolorist@1.8.0: {}
+
+  leven@3.1.0: {}
+
+  levn@0.4.1:
+    dependencies:
+      prelude-ls: 1.2.1
+      type-check: 0.4.0
+
+  lines-and-columns@1.2.4: {}
+
+  local-pkg@1.1.1:
+    dependencies:
+      mlly: 1.7.4
+      pkg-types: 2.2.0
+      quansync: 0.2.10
+
+  locate-path@5.0.0:
+    dependencies:
+      p-locate: 4.1.0
+
+  locate-path@6.0.0:
+    dependencies:
+      p-locate: 5.0.0
+
+  lodash.memoize@4.1.2: {}
+
+  lodash.merge@4.6.2: {}
+
+  lodash@4.17.21: {}
+
+  lru-cache@11.1.0: {}
+
+  lru-cache@5.1.1:
+    dependencies:
+      yallist: 3.1.1
+
+  lru-cache@6.0.0:
+    dependencies:
+      yallist: 4.0.0
+
+  lz-string@1.5.0: {}
+
+  magic-string@0.30.17:
+    dependencies:
+      '@jridgewell/sourcemap-codec': 1.5.3
+
+  make-dir@3.1.0:
+    dependencies:
+      semver: 6.3.1
+
+  make-dir@4.0.0:
+    dependencies:
+      semver: 7.7.2
+
+  make-error@1.3.6: {}
+
+  makeerror@1.0.12:
+    dependencies:
+      tmpl: 1.0.5
+
+  math-intrinsics@1.1.0: {}
+
+  merge-stream@2.0.0: {}
+
+  merge2@1.4.1: {}
+
+  micromatch@4.0.8:
+    dependencies:
+      braces: 3.0.3
+      picomatch: 2.3.1
+
+  mime-db@1.52.0: {}
+
+  mime-types@2.1.35:
+    dependencies:
+      mime-db: 1.52.0
+
+  mimic-fn@2.1.0: {}
+
+  min-indent@1.0.1: {}
+
+  minimatch@10.0.3:
+    dependencies:
+      '@isaacs/brace-expansion': 5.0.0
+
+  minimatch@3.0.8:
+    dependencies:
+      brace-expansion: 1.1.12
+
+  minimatch@3.1.2:
+    dependencies:
+      brace-expansion: 1.1.12
+
+  minimatch@5.1.6:
+    dependencies:
+      brace-expansion: 2.0.2
+
+  minimatch@9.0.5:
+    dependencies:
+      brace-expansion: 2.0.2
+
+  minipass@7.1.2: {}
+
+  mlly@1.7.4:
+    dependencies:
+      acorn: 8.15.0
+      pathe: 2.0.3
+      pkg-types: 1.3.1
+      ufo: 1.6.1
+
+  moo-color@1.0.3:
+    dependencies:
+      color-name: 1.1.4
+
+  ms@2.1.3: {}
+
+  muggle-string@0.4.1: {}
+
+  nanoid@3.3.11: {}
+
+  natural-compare@1.4.0: {}
+
+  node-addon-api@7.1.1:
+    optional: true
+
+  node-int64@0.4.0: {}
+
+  node-releases@2.0.19: {}
+
+  normalize-path@3.0.0: {}
+
+  npm-run-path@4.0.1:
+    dependencies:
+      path-key: 3.1.1
+
+  nwsapi@2.2.20: {}
+
+  once@1.4.0:
+    dependencies:
+      wrappy: 1.0.2
+
+  onetime@5.1.2:
+    dependencies:
+      mimic-fn: 2.1.0
+
+  optionator@0.9.4:
+    dependencies:
+      deep-is: 0.1.4
+      fast-levenshtein: 2.0.6
+      levn: 0.4.1
+      prelude-ls: 1.2.1
+      type-check: 0.4.0
+      word-wrap: 1.2.5
+
+  p-limit@2.3.0:
+    dependencies:
+      p-try: 2.2.0
+
+  p-limit@3.1.0:
+    dependencies:
+      yocto-queue: 0.1.0
+
+  p-locate@4.1.0:
+    dependencies:
+      p-limit: 2.3.0
+
+  p-locate@5.0.0:
+    dependencies:
+      p-limit: 3.1.0
+
+  p-try@2.2.0: {}
+
+  package-json-from-dist@1.0.1: {}
+
+  parent-module@1.0.1:
+    dependencies:
+      callsites: 3.1.0
+
+  parse-json@5.2.0:
+    dependencies:
+      '@babel/code-frame': 7.27.1
+      error-ex: 1.3.2
+      json-parse-even-better-errors: 2.3.1
+      lines-and-columns: 1.2.4
+
+  parse5@7.3.0:
+    dependencies:
+      entities: 6.0.1
+
+  path-browserify@1.0.1: {}
+
+  path-exists@4.0.0: {}
+
+  path-is-absolute@1.0.1: {}
+
+  path-key@3.1.1: {}
+
+  path-parse@1.0.7: {}
+
+  path-scurry@2.0.0:
+    dependencies:
+      lru-cache: 11.1.0
+      minipass: 7.1.2
+
+  pathe@2.0.3: {}
+
+  picocolors@1.1.1: {}
+
+  picomatch@2.3.1: {}
+
+  picomatch@4.0.2: {}
+
+  pirates@4.0.7: {}
+
+  pkg-dir@4.2.0:
+    dependencies:
+      find-up: 4.1.0
+
+  pkg-types@1.3.1:
+    dependencies:
+      confbox: 0.1.8
+      mlly: 1.7.4
+      pathe: 2.0.3
+
+  pkg-types@2.2.0:
+    dependencies:
+      confbox: 0.2.2
+      exsolve: 1.0.7
+      pathe: 2.0.3
+
+  postcss@8.5.6:
+    dependencies:
+      nanoid: 3.3.11
+      picocolors: 1.1.1
+      source-map-js: 1.2.1
+
+  prelude-ls@1.2.1: {}
+
+  prettier-linter-helpers@1.0.0:
+    dependencies:
+      fast-diff: 1.3.0
+
+  prettier@3.6.2: {}
+
+  pretty-format@27.5.1:
+    dependencies:
+      ansi-regex: 5.0.1
+      ansi-styles: 5.2.0
+      react-is: 17.0.2
+
+  pretty-format@29.7.0:
+    dependencies:
+      '@jest/schemas': 29.6.3
+      ansi-styles: 5.2.0
+      react-is: 18.3.1
+
+  prismjs@1.30.0: {}
+
+  prompts@2.4.2:
+    dependencies:
+      kleur: 3.0.3
+      sisteransi: 1.0.5
+
+  psl@1.15.0:
+    dependencies:
+      punycode: 2.3.1
+
+  punycode@2.3.1: {}
+
+  pure-rand@6.1.0: {}
+
+  quansync@0.2.10: {}
+
+  querystringify@2.2.0: {}
+
+  queue-microtask@1.2.3: {}
+
+  randombytes@2.1.0:
+    dependencies:
+      safe-buffer: 5.2.1
+
+  react-is@17.0.2: {}
+
+  react-is@18.3.1: {}
+
+  readdirp@4.1.2: {}
+
+  redent@3.0.0:
+    dependencies:
+      indent-string: 4.0.0
+      strip-indent: 3.0.0
+
+  require-directory@2.1.1: {}
+
+  require-from-string@2.0.2: {}
+
+  requires-port@1.0.0: {}
+
+  resolve-cwd@3.0.0:
+    dependencies:
+      resolve-from: 5.0.0
+
+  resolve-from@4.0.0: {}
+
+  resolve-from@5.0.0: {}
+
+  resolve.exports@2.0.3: {}
+
+  resolve@1.22.10:
+    dependencies:
+      is-core-module: 2.16.1
+      path-parse: 1.0.7
+      supports-preserve-symlinks-flag: 1.0.0
+
+  reusify@1.1.0: {}
+
+  rimraf@6.0.1:
+    dependencies:
+      glob: 11.0.3
+      package-json-from-dist: 1.0.1
+
+  rollup-plugin-peer-deps-external@2.2.4(rollup@4.44.1):
+    dependencies:
+      rollup: 4.44.1
+
+  rollup-plugin-typescript2@0.36.0(rollup@4.44.1)(typescript@5.8.3):
+    dependencies:
+      '@rollup/pluginutils': 4.2.1
+      find-cache-dir: 3.3.2
+      fs-extra: 10.1.0
+      rollup: 4.44.1
+      semver: 7.7.2
+      tslib: 2.8.1
+      typescript: 5.8.3
+
+  rollup-plugin-vue@6.0.0(@vue/compiler-sfc@3.5.17):
+    dependencies:
+      '@vue/compiler-sfc': 3.5.17
+      debug: 4.4.1
+      hash-sum: 2.0.0
+      rollup-pluginutils: 2.8.2
+    transitivePeerDependencies:
+      - supports-color
+
+  rollup-pluginutils@2.8.2:
+    dependencies:
+      estree-walker: 0.6.1
+
+  rollup@4.44.1:
+    dependencies:
+      '@types/estree': 1.0.8
+    optionalDependencies:
+      '@rollup/rollup-android-arm-eabi': 4.44.1
+      '@rollup/rollup-android-arm64': 4.44.1
+      '@rollup/rollup-darwin-arm64': 4.44.1
+      '@rollup/rollup-darwin-x64': 4.44.1
+      '@rollup/rollup-freebsd-arm64': 4.44.1
+      '@rollup/rollup-freebsd-x64': 4.44.1
+      '@rollup/rollup-linux-arm-gnueabihf': 4.44.1
+      '@rollup/rollup-linux-arm-musleabihf': 4.44.1
+      '@rollup/rollup-linux-arm64-gnu': 4.44.1
+      '@rollup/rollup-linux-arm64-musl': 4.44.1
+      '@rollup/rollup-linux-loongarch64-gnu': 4.44.1
+      '@rollup/rollup-linux-powerpc64le-gnu': 4.44.1
+      '@rollup/rollup-linux-riscv64-gnu': 4.44.1
+      '@rollup/rollup-linux-riscv64-musl': 4.44.1
+      '@rollup/rollup-linux-s390x-gnu': 4.44.1
+      '@rollup/rollup-linux-x64-gnu': 4.44.1
+      '@rollup/rollup-linux-x64-musl': 4.44.1
+      '@rollup/rollup-win32-arm64-msvc': 4.44.1
+      '@rollup/rollup-win32-ia32-msvc': 4.44.1
+      '@rollup/rollup-win32-x64-msvc': 4.44.1
+      fsevents: 2.3.3
+
+  run-parallel@1.2.0:
+    dependencies:
+      queue-microtask: 1.2.3
+
+  safe-buffer@5.2.1: {}
+
+  safer-buffer@2.1.2: {}
+
+  sass@1.89.2:
+    dependencies:
+      chokidar: 4.0.3
+      immutable: 5.1.3
+      source-map-js: 1.2.1
+    optionalDependencies:
+      '@parcel/watcher': 2.5.1
+
+  saxes@6.0.0:
+    dependencies:
+      xmlchars: 2.2.0
+
+  select@1.1.2: {}
+
+  semver@6.3.1: {}
+
+  semver@7.5.4:
+    dependencies:
+      lru-cache: 6.0.0
+
+  semver@7.7.2: {}
+
+  serialize-javascript@6.0.2:
+    dependencies:
+      randombytes: 2.1.0
+
+  shebang-command@2.0.0:
+    dependencies:
+      shebang-regex: 3.0.0
+
+  shebang-regex@3.0.0: {}
+
+  signal-exit@3.0.7: {}
+
+  signal-exit@4.1.0: {}
+
+  sisteransi@1.0.5: {}
+
+  slash@3.0.0: {}
+
+  smob@1.5.0: {}
+
+  source-map-js@1.2.1: {}
+
+  source-map-support@0.5.13:
+    dependencies:
+      buffer-from: 1.1.2
+      source-map: 0.6.1
+
+  source-map-support@0.5.21:
+    dependencies:
+      buffer-from: 1.1.2
+      source-map: 0.6.1
+
+  source-map@0.6.1: {}
+
+  sprintf-js@1.0.3: {}
+
+  stack-utils@2.0.6:
+    dependencies:
+      escape-string-regexp: 2.0.0
+
+  string-argv@0.3.2: {}
+
+  string-length@4.0.2:
+    dependencies:
+      char-regex: 1.0.2
+      strip-ansi: 6.0.1
+
+  string-width@4.2.3:
+    dependencies:
+      emoji-regex: 8.0.0
+      is-fullwidth-code-point: 3.0.0
+      strip-ansi: 6.0.1
+
+  string-width@5.1.2:
+    dependencies:
+      eastasianwidth: 0.2.0
+      emoji-regex: 9.2.2
+      strip-ansi: 7.1.0
+
+  strip-ansi@6.0.1:
+    dependencies:
+      ansi-regex: 5.0.1
+
+  strip-ansi@7.1.0:
+    dependencies:
+      ansi-regex: 6.1.0
+
+  strip-bom@4.0.0: {}
+
+  strip-final-newline@2.0.0: {}
+
+  strip-indent@3.0.0:
+    dependencies:
+      min-indent: 1.0.1
+
+  strip-json-comments@3.1.1: {}
+
+  supports-color@7.2.0:
+    dependencies:
+      has-flag: 4.0.0
+
+  supports-color@8.1.1:
+    dependencies:
+      has-flag: 4.0.0
+
+  supports-preserve-symlinks-flag@1.0.0: {}
+
+  symbol-tree@3.2.4: {}
+
+  synckit@0.11.8:
+    dependencies:
+      '@pkgr/core': 0.2.7
+
+  terser@5.43.1:
+    dependencies:
+      '@jridgewell/source-map': 0.3.9
+      acorn: 8.15.0
+      commander: 2.20.3
+      source-map-support: 0.5.21
+
+  test-exclude@6.0.0:
+    dependencies:
+      '@istanbuljs/schema': 0.1.3
+      glob: 7.2.3
+      minimatch: 3.1.2
+
+  tiny-emitter@2.1.0: {}
+
+  tinyglobby@0.2.14:
+    dependencies:
+      fdir: 6.4.6(picomatch@4.0.2)
+      picomatch: 4.0.2
+
+  tmpl@1.0.5: {}
+
+  to-regex-range@5.0.1:
+    dependencies:
+      is-number: 7.0.0
+
+  tough-cookie@4.1.4:
+    dependencies:
+      psl: 1.15.0
+      punycode: 2.3.1
+      universalify: 0.2.0
+      url-parse: 1.5.10
+
+  tr46@3.0.0:
+    dependencies:
+      punycode: 2.3.1
+
+  ts-api-utils@2.1.0(typescript@5.8.3):
+    dependencies:
+      typescript: 5.8.3
+
+  ts-jest@29.4.0(@babel/core@7.27.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.27.7))(jest-util@29.7.0)(jest@29.7.0(@types/node@24.0.8))(typescript@5.8.3):
+    dependencies:
+      bs-logger: 0.2.6
+      ejs: 3.1.10
+      fast-json-stable-stringify: 2.1.0
+      jest: 29.7.0(@types/node@24.0.8)
+      json5: 2.2.3
+      lodash.memoize: 4.1.2
+      make-error: 1.3.6
+      semver: 7.7.2
+      type-fest: 4.41.0
+      typescript: 5.8.3
+      yargs-parser: 21.1.1
+    optionalDependencies:
+      '@babel/core': 7.27.7
+      '@jest/transform': 29.7.0
+      '@jest/types': 29.6.3
+      babel-jest: 29.7.0(@babel/core@7.27.7)
+      jest-util: 29.7.0
+
+  tslib@2.8.1: {}
+
+  type-check@0.4.0:
+    dependencies:
+      prelude-ls: 1.2.1
+
+  type-detect@4.0.8: {}
+
+  type-fest@0.21.3: {}
+
+  type-fest@4.41.0: {}
+
+  typescript@5.8.2: {}
+
+  typescript@5.8.3: {}
+
+  ufo@1.6.1: {}
+
+  undici-types@7.8.0: {}
+
+  universalify@0.2.0: {}
+
+  universalify@2.0.1: {}
+
+  update-browserslist-db@1.1.3(browserslist@4.25.1):
+    dependencies:
+      browserslist: 4.25.1
+      escalade: 3.2.0
+      picocolors: 1.1.1
+
+  uri-js@4.4.1:
+    dependencies:
+      punycode: 2.3.1
+
+  url-parse@1.5.10:
+    dependencies:
+      querystringify: 2.2.0
+      requires-port: 1.0.0
+
+  v8-to-istanbul@9.3.0:
+    dependencies:
+      '@jridgewell/trace-mapping': 0.3.28
+      '@types/istanbul-lib-coverage': 2.0.6
+      convert-source-map: 2.0.0
+
+  vite-plugin-dts@4.5.4(@types/node@24.0.8)(rollup@4.44.1)(typescript@5.8.3)(vite@6.3.5(@types/node@24.0.8)(sass@1.89.2)(terser@5.43.1)):
+    dependencies:
+      '@microsoft/api-extractor': 7.52.8(@types/node@24.0.8)
+      '@rollup/pluginutils': 5.2.0(rollup@4.44.1)
+      '@volar/typescript': 2.4.15
+      '@vue/language-core': 2.2.0(typescript@5.8.3)
+      compare-versions: 6.1.1
+      debug: 4.4.1
+      kolorist: 1.8.0
+      local-pkg: 1.1.1
+      magic-string: 0.30.17
+      typescript: 5.8.3
+    optionalDependencies:
+      vite: 6.3.5(@types/node@24.0.8)(sass@1.89.2)(terser@5.43.1)
+    transitivePeerDependencies:
+      - '@types/node'
+      - rollup
+      - supports-color
+
+  vite@6.3.5(@types/node@24.0.8)(sass@1.89.2)(terser@5.43.1):
+    dependencies:
+      esbuild: 0.25.5
+      fdir: 6.4.6(picomatch@4.0.2)
+      picomatch: 4.0.2
+      postcss: 8.5.6
+      rollup: 4.44.1
+      tinyglobby: 0.2.14
+    optionalDependencies:
+      '@types/node': 24.0.8
+      fsevents: 2.3.3
+      sass: 1.89.2
+      terser: 5.43.1
+
+  vscode-uri@3.1.0: {}
+
+  vue-router@4.5.1(vue@3.5.17(typescript@5.8.3)):
+    dependencies:
+      '@vue/devtools-api': 6.6.4
+      vue: 3.5.17(typescript@5.8.3)
+
+  vue-tsc@2.2.10(typescript@5.8.3):
+    dependencies:
+      '@volar/typescript': 2.4.15
+      '@vue/language-core': 2.2.10(typescript@5.8.3)
+      typescript: 5.8.3
+
+  vue@3.5.17(typescript@5.8.3):
+    dependencies:
+      '@vue/compiler-dom': 3.5.17
+      '@vue/compiler-sfc': 3.5.17
+      '@vue/runtime-dom': 3.5.17
+      '@vue/server-renderer': 3.5.17(vue@3.5.17(typescript@5.8.3))
+      '@vue/shared': 3.5.17
+    optionalDependencies:
+      typescript: 5.8.3
+
+  vuex@4.1.0(vue@3.5.17(typescript@5.8.3)):
+    dependencies:
+      '@vue/devtools-api': 6.6.4
+      vue: 3.5.17(typescript@5.8.3)
+
+  w3c-xmlserializer@4.0.0:
+    dependencies:
+      xml-name-validator: 4.0.0
+
+  walker@1.0.8:
+    dependencies:
+      makeerror: 1.0.12
+
+  webidl-conversions@7.0.0: {}
+
+  whatwg-encoding@2.0.0:
+    dependencies:
+      iconv-lite: 0.6.3
+
+  whatwg-mimetype@3.0.0: {}
+
+  whatwg-url@11.0.0:
+    dependencies:
+      tr46: 3.0.0
+      webidl-conversions: 7.0.0
+
+  which@2.0.2:
+    dependencies:
+      isexe: 2.0.0
+
+  word-wrap@1.2.5: {}
+
+  wrap-ansi@7.0.0:
+    dependencies:
+      ansi-styles: 4.3.0
+      string-width: 4.2.3
+      strip-ansi: 6.0.1
+
+  wrap-ansi@8.1.0:
+    dependencies:
+      ansi-styles: 6.2.1
+      string-width: 5.1.2
+      strip-ansi: 7.1.0
+
+  wrappy@1.0.2: {}
+
+  write-file-atomic@4.0.2:
+    dependencies:
+      imurmurhash: 0.1.4
+      signal-exit: 3.0.7
+
+  ws@8.18.3: {}
+
+  xml-name-validator@4.0.0: {}
+
+  xmlchars@2.2.0: {}
+
+  y18n@5.0.8: {}
+
+  yallist@3.1.1: {}
+
+  yallist@4.0.0: {}
+
+  yargs-parser@21.1.1: {}
+
+  yargs@17.7.2:
+    dependencies:
+      cliui: 8.0.1
+      escalade: 3.2.0
+      get-caller-file: 2.0.5
+      require-directory: 2.1.1
+      string-width: 4.2.3
+      y18n: 5.0.8
+      yargs-parser: 21.1.1
+
+  yocto-queue@0.1.0: {}
diff --git a/src/slim-select/render.ts b/src/slim-select/render.ts
index 83652f72..651c3ea2 100644
--- a/src/slim-select/render.ts
+++ b/src/slim-select/render.ts
@@ -71,9 +71,15 @@ export default class Render {
     this.updateClassStyles()
     this.updateAriaAttributes()
 
-    // Add content to the content location settings
-    if (this.settings.contentLocation) {
-      this.settings.contentLocation.appendChild(this.content.main)
+    // Add content to the content location settings or offcanvas-body if it exists
+    const contentContainer = document
+      .querySelector(`[data-id="${this.settings.id}"]`)
+      ?.closest('.offcanvas-body');
+
+    if (contentContainer) {
+      contentContainer.appendChild(this.content.main);
+    } else if (this.settings.contentLocation) {
+      this.settings.contentLocation.appendChild(this.content.main);
     }
   }
 
@@ -134,7 +140,9 @@ export default class Render {
 
     // Make sure main/content has its base class
     this.main.main.classList.add(this.classes.main)
+    this.main.main.classList.add('ss-2')
     this.content.main.classList.add(this.classes.content)
+    this.content.main.classList.add('ss-content-2')
 
     // Add styles
     if (this.settings.style !== '') {
@@ -172,9 +180,7 @@ export default class Render {
     // Create main container
     const main = document.createElement('div')
 
-    // Add id to data-id
-    main.dataset.id = this.settings.id
-    // main.id = this.settings.id+'-main' // Remove for now as it is not needed and add duplicate id errors
+    main.id = this.settings.id + '-main'
 
     // Add label
     main.setAttribute('aria-label', this.settings.ariaLabel)
@@ -517,6 +523,7 @@ export default class Render {
       // Create delete div element
       const deleteDiv = document.createElement('div')
       deleteDiv.classList.add(this.classes.valueDelete)
+      deleteDiv.setAttribute('tabindex', '0')  // Make the div focusable for tab navigation
 
       // Add delete onclick event
       deleteDiv.onclick = (e: Event) => {
@@ -583,7 +590,15 @@ export default class Render {
       deleteSvg.appendChild(deletePath)
       deleteDiv.appendChild(deleteSvg)
 
+      // Add the deleteDiv to the value container
       value.appendChild(deleteDiv)
+
+      // Add keydown event listener for keyboard navigation (Enter key)
+      deleteDiv.onkeydown = (e) => {
+        if (e.key === 'Enter') {
+          deleteDiv.click()  // Trigger the click event when Enter is pressed
+        }
+      }
     }
 
     return value
@@ -592,9 +607,7 @@ export default class Render {
   public contentDiv(): Content {
     const main = document.createElement('div')
 
-    // Add id to data-id
-    main.dataset.id = this.settings.id
-    // main.id = this.settings.id + '-content' // Remove for now as it is not needed and add duplicate id errors
+    main.id = this.settings.id + '-content'
 
     // Add search
     const search = this.searchDiv()
@@ -1173,8 +1186,8 @@ export default class Render {
 
     // Create option
     const optionEl = document.createElement('div')
-    optionEl.dataset.id = option.id // Dataset id for identifying an option
-    // optionEl.id = option.id // Remove for now as it is not needed and add duplicate id errors
+    // optionEl.dataset.id = option.id // Dataset id for identifying an option
+    optionEl.id = option.id
     optionEl.classList.add(this.classes.option)
     optionEl.setAttribute('role', 'option') // WCAG attribute
     if (option.class) {
diff --git a/src/slim-select/slimselect.scss b/src/slim-select/slimselect.scss
index edcff9e8..7fa7a832 100644
--- a/src/slim-select/slimselect.scss
+++ b/src/slim-select/slimselect.scss
@@ -53,7 +53,7 @@
 }
 
 // Main container
-.ss-main {
+.ss-main.ss-2 {
   display: flex;
   flex-direction: row;
   position: relative;

From 4548cb7e57e51dcb4109d7e0d0b82b112947af27 Mon Sep 17 00:00:00 2001
From: Tiberiu Dumitru 
Date: Tue, 1 Jul 2025 11:03:01 +0300
Subject: [PATCH 2/2] Update tests.

---
 src/slim-select/render.test.ts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/slim-select/render.test.ts b/src/slim-select/render.test.ts
index e1aab9b1..50cf7de0 100644
--- a/src/slim-select/render.test.ts
+++ b/src/slim-select/render.test.ts
@@ -210,7 +210,7 @@ describe('render module', () => {
     test('correct HTML element gets created', () => {
       const main = render.main.main
 
-      expect(main.dataset.id).toBe(render.settings.id)
+      expect(main.id).toBe(render.settings.id + '-main')
       expect(main.getAttribute('aria-label')).toBe(render.settings.ariaLabel)
       expect(main.tabIndex).toBe(0)
       expect(main.children).toHaveLength(3)