avo 4.0.14 → 4.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c82f1eb8e14186783a70abcee6feaca7f3b53c714c8fdd4a36f281cc03314e44
4
- data.tar.gz: 155267aea1b5db5228139ef363c144497374198f688d79f2240fa546b30997b4
3
+ metadata.gz: '01554083dc081f4aea4eeecbab46a1f91105ac325d72beffa818b77fbfe0e4b3'
4
+ data.tar.gz: 3d1ba3087db42bdc5d25a805be2b3428d876d1b24a953cb732a18d91e176be57
5
5
  SHA512:
6
- metadata.gz: b9afef41daac635bf5d9c50427329e13a644b611ec15181343ef8c1ed76e8bdb9bc8a83cb80f3077936ce1f7ce656653999525f4cbfa4196205b7d8709d86013
7
- data.tar.gz: 53c0d39d6d9c5ad9f1e70699b93599676ec39d4a4d038ed81806149bd45010a74f8e2a83a052589a560bdb1054ec680a477872bb3f9b4748ed433283e4f1e56a
6
+ metadata.gz: 970bc3a389f504eff093458f2387edbaf6d0fade696d6e9e7af7c99632682fd9f67333e46972b19dffe421b525ce446cfee968fc4574864b333be693695b9fbc
7
+ data.tar.gz: e19481d7cf66db62584d03ab963e422b4013e75b79dd479d8b573719c169b6427860663899a874ebed3a1c0e6dbb9d3cb49a4e9c6b59a5c536e9e16b18a6abba
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- avo (4.0.14)
4
+ avo (4.0.15)
5
5
  actionview (>= 6.1)
6
6
  active_link_to
7
7
  activerecord (>= 6.1)
@@ -4813,7 +4813,7 @@ tag.tagify__tag {
4813
4813
  :focus:not(:focus-visible) {
4814
4814
  outline: none;
4815
4815
  }
4816
- a[href]:empty:not([aria-label]) {
4816
+ a[href]:empty:not([aria-label]):not([aria-labelledby]) {
4817
4817
  display: none;
4818
4818
  }
4819
4819
  @media (prefers-contrast: more) {
@@ -692,7 +692,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
692
692
  class="key-value__action-button key-value__action-button--drag ${this.options.disable_deleting_rows?"cursor-not-allowed":""}"
693
693
  >
694
694
  <svg class="key-value__action-icon key-value__action-icon--small" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" /></svg>
695
- </a>`}setOptions(){let r;try{r=JSON.parse(this.controllerTarget.dataset.options)}catch{r={}}this.options={...r,inputClasses:this.controllerTarget.dataset.inputClasses,editable:cS(this.controllerTarget.dataset.editable)}}};var LF=class extends Zt{spinnerMarkup='<span class="loading-spinner" aria-hidden="true"></span>';static values={confirmationMessage:String,confirmed:Boolean};connect(){this.button.setAttribute("data-original-content",this.button.innerHTML),this.dialog=document.getElementById("turbo-confirm"),this.dialogCloseHandler=this.handleDialogClose.bind(this),this.dialog.addEventListener("close",this.dialogCloseHandler)}disconnect(){this.dialog.removeEventListener("close",this.dialogCloseHandler)}attemptSubmit(){this.applyLoader()}get button(){return this.context.scope.element}applyLoader(){let{button:r}=this;r.style.width=`${r.getBoundingClientRect().width}px`,r.style.height=`${r.getBoundingClientRect().height}px`,r.innerHTML=this.spinnerMarkup,r.classList.add("justify-center")}handleDialogClose(){this.dialog.returnValue!=="confirm"&&this.resetButton()}resetButton(){let{button:r}=this;r.innerHTML=r.getAttribute("data-original-content"),r.removeAttribute("disabled")}};var PF=class extends Zt{static targets=["placeholder","loading","error"];static values={url:String,cookieName:String,autoLoadFor:Number};connect(){this.pending=!1,this.awaitingFrameLoad=!1,this.onRequestError=this.handleRequestError.bind(this),this.onBeforeFetchResponse=this.handleBeforeFetchResponse.bind(this),this.onFrameLoad=this.handleFrameLoad.bind(this),this.element.addEventListener("turbo:fetch-request-error",this.onRequestError),this.element.addEventListener("turbo:before-fetch-response",this.onBeforeFetchResponse),this.element.addEventListener("turbo:frame-load",this.onFrameLoad)}disconnect(){this.element.removeEventListener("turbo:fetch-request-error",this.onRequestError),this.element.removeEventListener("turbo:before-fetch-response",this.onBeforeFetchResponse),this.element.removeEventListener("turbo:frame-load",this.onFrameLoad)}load(){this.pending||(this.pending=!0,this.awaitingFrameLoad=!1,this.showLoading(),this.element.getAttribute("src")===this.urlValue?this.element.reload():this.element.src=this.urlValue)}retry(){this.load()}showLoading(){this.setHidden(this.placeholderTarget,!1),this.setHidden(this.loadingTarget,!1),this.setHidden(this.errorTarget,!0)}showError(){this.setHidden(this.placeholderTarget,!0),this.setHidden(this.loadingTarget,!0),this.setHidden(this.errorTarget,!1)}setHidden(r,e){r&&r.hasAttribute("hidden")!==e&&U2(r)}handleFrameLoad(){this.awaitingFrameLoad&&(this.awaitingFrameLoad=!1,this.rememberOpen(),this.element.setAttribute("tabindex","-1"),this.element.focus({preventScroll:!0}))}handleRequestError(r){this.pending&&(this.pending=!1,r.stopImmediatePropagation(),this.showError())}handleBeforeFetchResponse(r){if(!this.pending)return;let e=r.detail?.fetchResponse?.response;if(e){if(this.pending=!1,e.ok){this.awaitingFrameLoad=!0;return}r.preventDefault(),r.stopImmediatePropagation(),this.showError()}}rememberOpen(){!this.cookieNameValue||this.autoLoadForValue<=0||(document.cookie=`${this.cookieNameValue}=1; path=/; max-age=${this.autoLoadForValue}; samesite=lax`)}};var RF=class extends Zt{connect(){this.observer=new MutationObserver(()=>this.updateMapStyle()),this.observer.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),this.waitForMap().then(()=>this.updateMapStyle())}disconnect(){this.observer&&this.observer.disconnect()}waitForMap(){return new Promise(r=>{let e=()=>{this.mapkickInstance?.map?r():requestAnimationFrame(e)};e()})}get mapkickInstance(){let r=this.element.querySelector('[id^="map-"]')||this.element.querySelector("[id]");return r?.id?window.Mapkick?.maps?.[r.id]:null}get isDark(){return document.documentElement.classList.contains("dark")}updateMapStyle(){let r=this.mapkickInstance;if(!r?.map)return;let e=r.map,t=e.getStyle();if(!t)return;let n=this.isDark?"mapbox://styles/mapbox/dark-v11":"mapbox://styles/mapbox/light-v11",i=t.name||t.sprite||"",o=/dark/i.test(i);if(this.isDark===o)return;let a=this.captureMapkickState(e);e.setStyle(n),e.once("style.load",()=>{this.restoreMapkickState(e,a)})}captureMapkickState(r){let e=r.getStyle(),t={},n=[],i=[];for(let[o,a]of Object.entries(e.sources))o==="composite"||o.startsWith("mapbox")||(t[o]={type:a.type,data:a.data});for(let o of e.layers)o.source&&t[o.source]&&n.push(o);for(let o of Object.keys(r.style?.imageManager?.images||{}))if(o.startsWith("mapkick-")){let a=r.style.imageManager.images[o];a&&i.push({id:o,data:a.data,pixelRatio:a.pixelRatio||1})}return{sources:t,layers:n,images:i}}restoreMapkickState(r,e){for(let t of e.images)r.hasImage(t.id)||r.addImage(t.id,t.data,{pixelRatio:t.pixelRatio});for(let[t,n]of Object.entries(e.sources))r.getSource(t)||r.addSource(t,n);for(let t of e.layers)r.getLayer(t.id)||r.addLayer(t)}};var YMe=Wo(W8()),ZMe=Wo(AG()),CG=class extends EventTarget{constructor(e,t){super(),this.file=e,this.controller=t,this.finished=!1}hasFinished(){return this.finished}handle(){let e=new YMe.DirectUpload(this.file,this.controller.directUploadsUrlValue,this);this.#e(this.file),e.create((t,n)=>{t&&console.log("Error",t),this.listItem.classList.add("text-gray-400"),this.finished=!0,this.dispatchEvent(new Event("done"))})}#e(e){let t=document.createElement("div");t.classList.add("flex","justify-between","gap-2","text-sm"),t.innerHTML=`<div>${(0,ZMe.escape)(e.name)}</div><div class="progress">0%</div>`,this.listItem=this.controller.uploadingContainerTarget.appendChild(t)}directUploadWillStoreFileWithXHR(e){e.upload.addEventListener("progress",t=>this.#t(t))}#t(e){let t=e.loaded/e.total*100,n=this.listItem.querySelector(".progress");n.textContent=`${t.toFixed(2)}%`}},qF=class extends Zt{static targets=["dropzone","uploadingContainer"];static values={directUploadsUrl:String};dropCopy="drop it like it's hot";connect(){this.attachHandlers(),this.setupFileInput(),this.fileUploadInput=this.dropzoneTarget.querySelector(".file-upload-input"),this.titleEl=this.fileUploadInput?.querySelector(".file-upload-input__title"),this.originalTitleHTML=this.titleEl?.innerHTML}disconnect(){this.fileInput&&(this.fileInput.remove(),this.fileInput=null)}setupFileInput(){this.fileInput=document.createElement("input"),this.fileInput.type="file",this.fileInput.multiple=!0,this.fileInput.id="media-library-file-upload",this.dropzoneTarget.querySelector(".file-upload-input__native-input").appendChild(this.fileInput),this.fileInput.addEventListener("change",r=>{let e=Array.from(r.target.files);this.#e(e),this.fileInput.value=""})}attachHandlers(){let r=this;Array.from(["drag","dragstart","dragend","dragover","dragenter","dragleave","drop"]).forEach(e=>{r.dropzoneTarget.addEventListener(e,t=>{t.preventDefault(),t.stopPropagation()})}),this.dropzoneTarget.addEventListener("dragover",e=>{r.dragAction()},!1),this.dropzoneTarget.addEventListener("dragleave",e=>{r.dropAction()},!1),this.dropzoneTarget.addEventListener("drop",e=>{r.dropAction();let{files:t}=e.dataTransfer;this.#e(t)},!1)}#e(r){this.uploadObjects=[],Array.from(r).forEach(e=>{let t=new CG(e,this);this.uploadObjects.push(t),t.addEventListener("done",()=>{this.#t()}),t.handle()})}#t(){this.uploadObjects.every(r=>r.hasFinished())&&this.#r()}#r(){let r=document.createElement("turbo-stream");r.setAttribute("action","refresh"),r.setAttribute("method","morph"),r.setAttribute("render","morph"),this.element.appendChild(r)}dragAction(){this.fileUploadInput?.setAttribute("data-dragging","true"),this.titleEl&&(this.titleEl.textContent=this.dropCopy)}dropAction(){this.fileUploadInput?.removeAttribute("data-dragging"),this.titleEl&&(this.titleEl.innerHTML=this.originalTitleHTML)}};var XMe=()=>{document.querySelector(`turbo-frame#${window.Avo.configuration.modal_frame_id}`).innerHTML=""};var FF=class extends Zt{static outlets=["field"];static values={itemDetailsFrameId:String,controllerSelector:String,controllerName:String,selectedItems:Array};get otherController(){return this.application.getControllerForElementAndIdentifier(document.querySelector(this.controllerSelectorValue),this.controllerNameValue)}get modalController(){return this.application.getControllerForElementAndIdentifier(document.querySelector('[data-controller="modal"]'),"modal")}selectItem(r){let{params:e}=r,{attaching:t,multiple:n}=e,i=r.target.closest('[data-component="avo/media_library/list_item_component"]'),o=[this.#e(i)];t&&(r.preventDefault(),this.insertAttachments(o,r),XMe())}insertAttachments(r,e){if(!this.otherController){console.error(`[Avo->] The Media Library failed to find any field outlets to inject the asset. Tried selector: ${this.controllerSelectorValue} and name: ${this.controllerNameValue}`);return}this.otherController.insertAttachments(r,e)}closeItemDetails(){document.querySelector(`turbo-frame#${this.itemDetailsFrameIdValue}`).innerHTML=""}#e(r){let e=JSON.parse(r.dataset.mediaLibraryBlobParam),t=r.dataset.mediaLibraryPathParam,n=r.dataset.mediaLibraryUrlParam;return{blob:e,path:t,url:n}}};var NF=class extends Zt{static targets=["svg","items","self","trigger"];collapsed=!0;transitionClass="css-animate-slide-down";get key(){return this.selfTarget.getAttribute("data-menu-key-param")}get defaultState(){return this.selfTarget.getAttribute("data-menu-default-collapsed-state")}get userState(){return window.localStorage.getItem(this.key)}set userState(r){window.localStorage.setItem(this.key,r)}get initiallyCollapsed(){return this.userState?this.userState==="collapsed":this.defaultState==="collapsed"}connect(){this.initiallyCollapsed?(this.collapsed=!0,this.markCollapsed()):(this.collapsed=!1,this.markExpanded())}triggerCollapse(){this.collapsed=!this.collapsed,this.userState=this.collapsed?"collapsed":"expanded",this.updateDom()}updateDom(){this.collapsed?this.markCollapsed():this.markExpanded()}markCollapsed(){this.svgTarget.classList.add("sidebar-icon--collapsed"),this.hasTriggerTarget&&this.triggerTarget.setAttribute("aria-expanded","false"),this.leave(this.itemsTarget)}markExpanded(){this.svgTarget.classList.remove("sidebar-icon--collapsed"),this.hasTriggerTarget&&this.triggerTarget.setAttribute("aria-expanded","true"),this.enter(this.itemsTarget)}async toggle(r){r.toggleAttribute("hidden"),await this.animateTransition(r)}async leave(r){r.setAttribute("hidden",!0),await this.animateTransition(r)}async enter(r){r.removeAttribute("hidden"),await this.animateTransition(r)}async animateTransition(r){r.classList.add(this.transitionClass),await this.onTransitionsEnded(r),r.classList.remove(this.transitionClass)}onTransitionsEnded(r){return Promise.allSettled(r.getAnimations().map(e=>e.finished))}};var jS=class extends Zt{static targets=["modal","card"];static TRANSITION_MS=90;static values={closeModalOnBackdropClick:{type:Boolean,default:!0}};connectModal(){this.handleKeydown=this.handleKeydown.bind(this),document.addEventListener("keydown",this.handleKeydown)}disconnectModal(){document.removeEventListener("keydown",this.handleKeydown)}handleKeydown(r){r.key!=="Escape"||!this.isOpen()||(this.closeModalOnBackdropClickValue?this.closeModal():this.nudge())}close(){this.closeModal()}closeOnBackdrop(r){if(r.target===this.modalTarget){if(!this.closeModalOnBackdropClickValue){this.nudge();return}this.closeModal()}}nudge(){if(!this.hasCardTarget)return;let r=this.cardTarget;r.classList.remove("modal__card--nudge"),r.offsetWidth,r.classList.add("modal__card--nudge"),r.addEventListener("animationend",()=>r.classList.remove("modal__card--nudge"),{once:!0})}addModalOpen(){document.body.classList.add("modal-open")}removeModalOpen(){document.body.classList.remove("modal-open")}dispatchClose(){document.dispatchEvent(new Event("modal-controller:close"))}closeModal(){throw new Error("Subclass must implement closeModal()")}isOpen(){throw new Error("Subclass must implement isOpen()")}};var BF=class extends jS{connect(){this.connectModal(),this.addModalOpen(),this.modalTarget.showPopover(),this.modalTarget.focus()}disconnect(){this.disconnectModal(),this.removeModalOpen()}isOpen(){return!0}closeModal(){this.removeModalOpen();let r=()=>{window.clearTimeout(e),this.modalTarget.removeEventListener("transitionend",r),this.modalTarget.isConnected&&this.modalTarget.remove(),this.dispatchClose()},e=window.setTimeout(r,this.constructor.TRANSITION_MS+50);this.modalTarget.addEventListener("transitionend",r),this.modalTarget.hidePopover()}};var zF=class extends Zt{static targets=["container"];static values={currentWidth:String,currentHeight:String};connect(){this.modalElement=this.element,this.updateWidthClass(this.currentWidthValue),this.updateHeightClass(this.currentHeightValue)}changeWidth(r){let e=r.currentTarget.dataset.width;this.updateWidthClass(e),this.currentWidthValue=e}changeHeight(r){let e=r.currentTarget.dataset.height;this.updateHeightClass(e),this.currentHeightValue=e}updateWidthClass(r){this.modalElement.classList.remove("modal--width-sm","modal--width-md","modal--width-lg","modal--width-xl","modal--width-2xl","modal--width-3xl","modal--width-4xl","modal--width-full","modal--width-25","modal--width-50","modal--width-75","modal--width-100"),this.containerTarget.classList.remove("w-sm","w-md","w-lg","w-xl","w-2xl","w-3xl","w-4xl","w-full"),this.modalElement.classList.add(`modal--width-${r}`),r==="full"?this.containerTarget.classList.add("w-full"):this.containerTarget.classList.add(`w-${r}`)}updateHeightClass(r){this.modalElement.classList.remove("modal--height-auto","modal--height-sm","modal--height-md","modal--height-lg","modal--height-xl","modal--height-2xl","modal--height-3xl","modal--height-4xl","modal--height-full","modal--height-25","modal--height-50","modal--height-75","modal--height-100"),this.modalElement.classList.add(`modal--height-${r}`)}};var UF=class extends Sf{static targets=["selector"];getFilterValue(){let r=Array.from(this.selectorTarget.selectedOptions).map(({value:e})=>e);return r.length===0?null:r}getFilterClass(){let{filterClass:r}=this.selectorTarget.dataset;return r}};var VS=class extends Zt{add(e){e.preventDefault();let t=this.templateTarget.innerHTML.replace(/NEW_RECORD/g,new Date().getTime().toString());this.targetTarget.insertAdjacentHTML("beforebegin",t)}remove(e){e.preventDefault();let t=e.target.closest(this.wrapperSelectorValue);if(t.dataset.newRecord==="true")t.remove();else{t.style.display="none";let n=t.querySelector("input[name*='_destroy']");n.value="1"}}};VS.targets=["target","template"];VS.values={wrapperSelector:{type:String,default:".nested-form-wrapper"}};var jF=class extends VS{static targets=["addButton","removeButton","nestedRecord"];static values={limit:Number,confirmMessage:String};add(r){super.add(r),this.toggleAddButton()}remove(r){window.confirm(this.confirmMessageValue)&&(super.remove(r),this.toggleAddButton())}toggleAddButton(){this.limitValue>0&&this.addButtonTarget.classList.toggle("!hidden",this.nestedRecordTargets.length>=this.limitValue)}};var VF=class extends Zt{refresh(){let r=this.context.scope.element.closest("turbo-frame");this.element.querySelector("svg").classList.add("animate-spin"),r?(r.classList.add("opacity-50"),r.addEventListener("turbo:frame-load",()=>{r.classList.remove("opacity-50")},{once:!0}),r.reload()):console.error(`Element with ID '${this.turboFrameIdValue}' not found.`)}};var HF=class extends Zt{static targets=["selector"];get turboFrame(){return this.selectorTarget.dataset.turboFrame}reload(){document.querySelector(`[data-per-page-option="${this.selectorTarget.value}"][data-turbo-frame="${this.turboFrame}"]`).click()}};var WF=class extends jS{connect(){this.connectModal(),this.handleOpen=this.openModal.bind(this),this.handleToggle=this.toggleModal.bind(this),document.addEventListener("persistent-modal:open",this.handleOpen),document.addEventListener("persistent-modal:toggle",this.handleToggle)}disconnect(){this.disconnectModal(),document.removeEventListener("persistent-modal:open",this.handleOpen),document.removeEventListener("persistent-modal:toggle",this.handleToggle)}isOpen(){return this.modalTarget.matches(":popover-open")}closeModal(){this.modalTarget.hidePopover(),this.removeModalOpen(),this.dispatchClose()}openModal(){this.modalTarget.showPopover(),this.addModalOpen(),this.modalTarget.focus()}toggleModal(){this.isOpen()?this.closeModal():this.openModal()}};var $F=class extends Zt{static values={url:String};connect(){let r=this;this.tippyInstance=rS(r.context.element,{content:"loading...",allowHTML:!0,theme:"preview",maxWidth:550,async onShow(e){let n=await(await fetch(r.urlValue)).text();e.setContent(n)}})}disconnect(){this.tippyInstance&&(this.tippyInstance.destroy(),this.tippyInstance=null)}};var GF=class extends Zt{static targets=["label","valueInput","visibleInput"];update(){this.valueInputTarget.value=this.visibleInputTarget.value,this.labelTarget.textContent=this.valueInputTarget.value}};var NG=Wo(ORe()),BG=Wo(QRe()),JF=class extends Zt{lastCheckedIndex=null;autoClicking=!1;get itemSelectorCells(){return document.querySelectorAll(".item-selector-cell")}get hasLastCheckedIndex(){return this.lastCheckedIndex!==null}connect(){this.#t()}disconnect(){this.#r()}toggleMultiple(r){if(this.autoClicking)return;if(!this.hasLastCheckedIndex){this.#c(r);return}if(!r.shiftKey){this.#u();return}let e=parseInt(r.target.dataset.index),t=(0,NG.default)((0,BG.default)(this.lastCheckedIndex,e),[this.lastCheckedIndex,e]);this.autoClicking=!0;let n=r.target.checked;t.forEach(i=>{let o=document.querySelector(`input[type="checkbox"][data-index="${i}"]`);o.checked!==n&&o.click()}),this.#h(r),this.autoClicking=!1,this.#u(),this.#e()}#e(){this.#r(),this.#t()}#t(){this.boundMouseenterHandler=this.#i.bind(this),this.boundMouseleaveHandler=this.#n.bind(this),Array.from(this.itemSelectorCells).forEach(r=>{r.addEventListener("mouseenter",this.boundMouseenterHandler),r.addEventListener("mouseleave",this.boundMouseleaveHandler)}),document.addEventListener("keydown",this.#o),document.addEventListener("keyup",this.#s)}#r(){Array.from(this.itemSelectorCells).forEach(r=>{r.removeEventListener("mouseenter",this.boundMouseenterHandler),r.removeEventListener("mouseleave",this.boundMouseleaveHandler)}),document.removeEventListener("keydown",this.#o),document.removeEventListener("keyup",this.#s)}#i(r){r.target.closest("tr").classList.add("highlighted-row"),this.lastCheckedIndex&&this.#a(this.lastCheckedIndex,parseInt(r.target.closest("tr").dataset.index))}#n(r){r.target.closest("tr").classList.remove("highlighted-row"),document.querySelectorAll("tr[data-index]").forEach(e=>{e.classList.remove("highlighted-row")})}#a(r,e){(0,NG.default)((0,BG.default)(r,e)).forEach(n=>{document.querySelector(`tr[data-index="${n}"]`).classList.add("highlighted-row")})}#o(r){r.shiftKey&&document.body.classList.add("shift-pressed")}#s(r){r.shiftKey||document.body.classList.remove("shift-pressed")}#u(){this.lastCheckedIndex=null}#c(r){this.lastCheckedIndex=parseInt(r.target.dataset.index),r.target.closest("tr").classList.add("highlighted-row")}#h(r){this.lastCheckedIndex=parseInt(r.target.dataset.index),r.target.closest("tr").classList.add("highlighted-row")}};var QF=class extends Zt{static values={polymorphic:Boolean,searchable:Boolean,targetName:String,relationName:String};beforeStreamRender(r){let{relationName:e}=r.target.dataset;if(r.target.action!=="update-belongs-to"||this.relationNameValue!==e)return!1;r.detail.render=t=>{this.searchableValue?this.updateSearchable(t):this.updateNonSearchable(t)}}updateSearchable(r){document.querySelector(`input[name="${this.targetNameValue}"][type="hidden"]`).value=r.dataset.targetRecordId,document.querySelector(`input[name="${this.targetNameValue}"][type="text"]`).value=r.dataset.targetResourceLabel}updateNonSearchable(r){let e=document.querySelector(`select[name="${this.targetNameValue}"]`),t=document.createElement("option");t.value=r.dataset.targetRecordId,t.text=r.dataset.targetResourceLabel,t.selected="selected",e.appendChild(t)}};var VG=Wo(fqe()),eN=class extends Zt{static targets=[];static values={view:String};debugOnInput(r){console.log("onInput",r,r.target.value)}toggle({params:r}){let{toggleTarget:e,toggleTargets:t}=r;e&&this.toggleAvoTarget(e),t&&t.length>0&&t.forEach(this.toggleAvoTarget.bind(this))}disable({params:r}){let{disableTarget:e,disableTargets:t}=r;e&&this.disableAvoTarget(e),t&&t.length>0&&t.forEach(this.disableAvoTarget.bind(this))}toggleAvoTarget(r){let e=(0,VG.default)(r),t=document.querySelector(`[data-resource-edit-target="${e}"]`);t&&t.classList.toggle("hidden")}disableAvoTarget(r){let e=(0,VG.default)(r);document.querySelectorAll(`[data-resource-edit-target="${e}"]`).forEach(this.toggleItemDisabled),document.querySelectorAll(`[data-resource-edit-target="${e}"] input`).forEach(this.toggleItemDisabled),document.querySelectorAll(`[data-resource-edit-target="${e}"] select`).forEach(this.toggleItemDisabled),document.querySelectorAll(`[data-resource-edit-target="${e}"] [data-slot="value"] button`).forEach(this.toggleItemDisabled)}toggleItemDisabled(r){r.disabled=!r.disabled}};var tN=class extends Zt{};var rN=class extends Zt{static targets=["input","overlay"];static values={debounce:{type:Number,default:300},url:String};connect(){this.#n(),this.#o()}disconnect(){this.#n(),this.#o()}blurOnEscape(r){r.key==="Escape"&&(r.preventDefault(),this.inputTarget.blur())}search(){this.debouncedSearch()}debouncedSearch=this.debounce(this.performSearch,this.debounceValue);async performSearch(){let r=this.inputTarget.value,[e,t]=this.urlValue.split("?"),n=this.buildSearchUrl(e,t,r);(!t||!t.includes("turbo_frame"))&&window.history.replaceState({},"",n);try{this.#i(),await Y9(n,{responseKind:"turbo-stream",headers:{Accept:"text/vnd.turbo-stream.html","X-Search-Request":"resource-search-controller"}})}catch{}finally{this.#s()}}buildSearchUrl(r,e,t){let n=new URLSearchParams(e);return t?n.set("q",t):n.delete("q"),n.set("page","1"),`${r}?${n.toString()}`}debounce(r,e){let t;return function(...i){let o=()=>{clearTimeout(t),r.apply(this,i)};clearTimeout(t),t=setTimeout(o,e)}}#e=null;#t=null;#r=500;#i(){this.#n(),this.#e=setTimeout(()=>this.#a(),this.#r)}#n(){this.#e&&(clearTimeout(this.#e),this.#e=null)}#a(){document.body.classList.add("search-loading"),this.overlayTarget.classList.add("is-active"),this.#t=this.overlayTarget}#o(){document.body.classList.remove("search-loading"),this.#t&&this.#t.classList.remove("is-active"),this.#t=null}#s(){this.#n(),this.#o()}};var nN=class extends Zt{};var dqe=Wo(sS()),iN=class extends Zt{static targets=["select"];get parentTurboFrame(){return this.context.scope.element.closest("turbo-frame")}onChange(r){if(!this.parentTurboFrame.src)return;let e=new dqe.default(this.parentTurboFrame.src);e.search({...e.query(!0),range:r.currentTarget.value}),this.parentTurboFrame.src=e.toString(),this.parentTurboFrame.reload()}};var oN=class extends Sf{static targets=["selector"];getFilterValue(){return this.selectorTarget.value===""?null:this.selectorTarget.value}getFilterClass(){let{filterClass:r}=this.selectorTarget.dataset;return r}};var aN=class extends Zt{destroy(){this.context.element.remove()}};function s6t(r,e){let t=r.getBoundingClientRect(),n=document.documentElement,i=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(i.height||window.innerHeight||n.clientHeight)&&t.right<=(i.width||window.innerWidth||n.clientWidth)}function l6t(){let r=document.querySelector(".avo-sidebar .mac-styled-scrollbar a.active"),e=document.querySelector(".avo-sidebar .mac-styled-scrollbar");r&&!s6t(r,e)&&r.scrollIntoView({block:"end",inline:"nearest"})}var sN=class extends Zt{static targets=["sidebar","mobileSidebar","mainArea"];static values={open:Boolean};get cookieKey(){return`${window.Avo.configuration.cookies_key}.sidebar.open`}get sidebarOpen(){return Ob.get(this.cookieKey)==="1"}get sidebarScrollPosition(){return window.Avo.localStorage.get("sidebar.sidebarScrollPosition")}set sidebarScrollPosition(r){window.Avo.localStorage.set("sidebar.sidebarScrollPosition",r)}set cookie(r){Ob.set(this.cookieKey,r===!0?1:0)}connect(){this.attachScrollVisibilityAnchor(),this.sidebarScrollPosition&&document.querySelector(".avo-sidebar .mac-styled-scrollbar").scrollTo({top:this.sidebarScrollPosition,behavior:"instant"}),this.rememberScrollPosition();let e=window.innerWidth<1024?this.mainAreaTarget.classList.contains("sidebar-mobile-open"):this.mainAreaTarget.classList.contains("sidebar-open");this.setToggleButtonsState(e?"open":"closed"),this.handleToggleShortcut=t=>{t.repeat||t.defaultPrevented||t.target?.closest("input, textarea, select, [contenteditable]")||!t.shiftKey||t.metaKey||t.ctrlKey||t.altKey||t.code==="Backslash"&&(t.preventDefault(),this.toggleSidebarForViewport())},document.addEventListener("keydown",this.handleToggleShortcut)}disconnect(){document.removeEventListener("keydown",this.handleToggleShortcut)}rememberScrollPosition(){let r;document.addEventListener("turbo:visit",r=()=>{this.sidebarScrollPosition=document.querySelector(".avo-sidebar .mac-styled-scrollbar").scrollTop,document.removeEventListener("turbo:visit",r)})}attachScrollVisibilityAnchor(){l6t()}get toggleButtons(){return document.querySelectorAll("[data-sidebar-toggle-icon]")}setToggleButtonsState(r){this.toggleButtons.forEach(e=>{e.dataset.sidebarState=r})}toggleSidebarForViewport(){window.innerWidth<1024?this.toggleSidebarOnMobile():this.toggleSidebar()}toggleSidebar(){this.sidebarTarget.classList.contains("hidden")&&(this.sidebarTarget.classList.remove("hidden"),this.mainAreaTarget.offsetHeight),this.mainAreaTarget.classList.toggle("sidebar-open"),Ob.set(this.cookieKey,this.newValue(Ob.get(this.cookieKey)));let r=this.mainAreaTarget.classList.contains("sidebar-open");this.openValue=r,this.setToggleButtonsState(r?"open":"closed")}toggleSidebarOnMobile(){this.mobileSidebarTarget.classList.contains("hidden")&&(this.mainAreaTarget.classList.remove("sidebar-mobile-open"),this.mobileSidebarTarget.classList.remove("hidden"),this.mainAreaTarget.offsetHeight),this.mainAreaTarget.classList.toggle("sidebar-mobile-open");let r=this.mainAreaTarget.classList.contains("sidebar-mobile-open");this.setToggleButtonsState(r?"open":"closed")}newValue(r){return r===void 0||r==="1"?"0":"1"}};var lN=class extends Zt{static targets=["element"];static values={confirm:String};handle(r){r.preventDefault(),window.confirm(this.confirmValue)&&(window.Turbo.cache.clear(),this.element.submit())}};var uN=class extends Zt{static targets=["valueInput","starsContainer","star"];connect(){this.maxValue=parseInt(this.starsContainerTarget.dataset.max),this.currentValue=parseInt(this.starsContainerTarget.dataset.currentValue),this.updateStarsDisplay(this.currentValue)}setStar(r){let e=parseInt(r.currentTarget.dataset.starValue);e===this.currentValue?this.currentValue=0:this.currentValue=e,this.valueInputTarget.value=this.currentValue,this.updateStarsDisplay(this.currentValue),this.valueInputTarget.dispatchEvent(new Event("change"))}hoverStar(r){let e=parseInt(r.currentTarget.dataset.starValue);this.updateStarsDisplay(e,!0)}unhoverStar(r){this.updateStarsDisplay(this.currentValue)}updateStarsDisplay(r,e=!1){this.starTargets.forEach((t,n)=>{n+1<=r?t.classList.add("filled"):t.classList.remove("filled")})}};var cN=class extends Zt{connect(){this.isSelecting=!1,this.boundHandleMouseDown=this.#e.bind(this),this.boundHandleMouseMove=this.#t.bind(this),this.element.addEventListener("mousedown",this.boundHandleMouseDown),this.element.addEventListener("mousemove",this.boundHandleMouseMove)}disconnect(){this.element.removeEventListener("mousedown",this.boundHandleMouseDown),this.element.removeEventListener("mousemove",this.boundHandleMouseMove)}anchor=null;mouseEntered(r){let t=r.target.closest("tr").dataset.visitPath;t&&(this.anchor=this.createAnchor(t),this.anchor.dispatchEvent(new MouseEvent("mouseenter",{bubbles:!0})))}mouseLeft(){this.anchor&&(this.anchor.dispatchEvent(new MouseEvent("mouseleave",{bubbles:!0})),document.body.removeChild(this.anchor))}createAnchor(r){let e=document.createElement("a");return e.href=r,e.rel="noopener noreferrer",document.body.appendChild(e),e}visitRecord(r){if(r.type!=="click"||this.#r())return;let e=r.shiftKey,t=r.target.closest(".item-selector-cell"),n=r.target.closest("a, button"),i=r.target.closest('input[type="checkbox"]');if(e||n||i||t)return;let o=r.target.closest("tr"),a=o.dataset.visitPath;!o||!a||(r.metaKey||r.ctrlKey?this.#n(a):this.#i(a))}#e(){this.isSelecting=!1}#t(r){r.buttons===1&&(this.isSelecting=!0)}#r(){return this.isSelecting||window.getSelection().toString().length>0?(this.isSelecting=!1,!0):!1}#i(r){window.Turbo.visit(r)}#n(r){window.open(r,"_blank").focus()}};var hN=class extends Zt{static targets=["tabPanel"];static values={view:String,activeTab:String,groupId:String,resourceName:String};connect(){this.selectCurrentTab()}selectCurrentTab(){let r={};Array.from(new URL(window.location).searchParams.entries()).forEach(([i,o])=>{r[i]=o});let e=`resources.${this.resourceNameValue}.tabgroups.${this.groupIdValue}.selectedTab`,t=window.Avo.localStorage.get(e),n=null;r[this.groupParam(this.groupIdValue)]?n=r[this.groupParam(this.groupIdValue)]:t&&(n=t),this.getTabByName(n)&&(this.hideAllTabs(),this.revealTabByName(n))}getTabByName(r){return this.tabPanelTargets.find(e=>e.dataset.tabId===r)}groupParam(r){return encodeURIComponent(`tab-group_${r}`)}async changeTab(r){r.preventDefault();let{params:e}=r,{groupId:t,tabName:n,resourceName:i}=e,o=`resources.${i}.tabgroups.${t}.selectedTab`,a=new URL(window.location);a.searchParams.set(this.groupParam(t),encodeURIComponent(n)),window.Turbo.navigator.history.replace({href:a.pathname+a.search}),window.Avo.localStorage.set(o,n),this.hideAllTabs(),this.revealTabByName(n)}revealTabByName(r){this.getTabByName(r).classList.remove("hidden")}hideAllTabs(){this.tabPanelTargets.map(r=>r.classList.add("hidden"))}};var pqe="tabs--scrollable",fN=class extends Zt{connect(){this.update=this.update.bind(this),this.resizeObserver=new ResizeObserver(this.update),this.resizeObserver.observe(this.element),this.update()}disconnect(){this.resizeObserver?.disconnect()}update(){this.element.classList.remove(pqe);let r=Array.from(this.element.children);if(r.length<2)return;let e=r[0].offsetTop,t=r.some(n=>n.offsetTop!==e);this.element.classList.toggle(pqe,t)}};var a_=Wo(AG());var mqe="&#8203;",Wb={isEnabled:()=>window.TAGIFY_DEBUG??!0,log(...r){this.isEnabled()&&console.log("[Tagify]:",...r)},warn(...r){this.isEnabled()&&console.warn("[Tagify]:",...r)}},ZC=(r,e,t,n)=>(r=""+r,e=""+e,n&&(r=r.trim(),e=e.trim()),t?r==e:r.toLowerCase()==e.toLowerCase()),gqe=(r,e)=>r&&Array.isArray(r)&&r.map((t=>$G(t,e)));function $G(r,e){var t,n={};for(t in r)e.indexOf(t)<0&&(n[t]=r[t]);return n}function HG(r){return new DOMParser().parseFromString(r.trim(),"text/html").body.firstElementChild}function vqe(r,e){for(e=e||"previous";r=r[e+"Sibling"];)if(r.nodeType==3)return r}function zv(r){return typeof r=="string"?r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/`|'/g,"&#039;"):r}function _m(r){var e=Object.prototype.toString.call(r).split(" ")[1].slice(0,-1);return r===Object(r)&&e!="Array"&&e!="Function"&&e!="RegExp"&&e!="HTMLUnknownElement"}function Gl(r,e,t){function n(i,o){for(var a in o)if(o.hasOwnProperty(a)){if(_m(o[a])){_m(i[a])?n(i[a],o[a]):i[a]=Object.assign({},o[a]);continue}if(Array.isArray(o[a])){i[a]=Object.assign([],o[a]);continue}i[a]=o[a]}}return r instanceof Object||(r={}),n(r,e),t&&n(r,t),r}function yqe(){let r=[],e={};for(let t of arguments)for(let n of t)_m(n)?e[n.value]||(r.push(n),e[n.value]=1):r.includes(n)||r.push(n);return r}function dN(r){return String.prototype.normalize?typeof r=="string"?r.normalize("NFD").replace(/[\u0300-\u036f]/g,""):void 0:r}var bqe=()=>/(?=.*chrome)(?=.*android)/i.test(navigator.userAgent);function xqe(){return("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,(r=>(r^crypto.getRandomValues(new Uint8Array(1))[0]&15>>r/4).toString(16)))}function Uv(r){let e=wqe.call(this,r),t=r?.classList?.contains(this.settings.classNames.tag);return e&&t}function _qe(r){return wqe.call(this,r)&&r?.closest(this.settings.classNames.tagSelector)}function wqe(r){return r?.closest?.(this.settings.classNames.namespaceSelector)===this.DOM.scope}function Sqe(r,e){var t=window.getSelection();return e=e||(t.rangeCount?t.getRangeAt(0):null),typeof r=="string"&&(r=document.createTextNode(r)),e&&(e.deleteContents(),e.insertNode(r)),r}function rs(r,e,t){return r?(e&&(r.__tagifyTagData=t?e:Gl({},r.__tagifyTagData||{},e)),r.__tagifyTagData):(Wb.warn("tag element doesn't exist",{tagElm:r,data:e}),e)}function Sg(r){if(r&&r.parentNode){var e=window.getSelection();if(e){var t=document.createRange();t.setStartAfter(r),t.collapse(!0),e.removeAllRanges(),e.addRange(t)}}}function GG(r,e){r.forEach((t=>{if(rs(t.previousSibling)||!t.previousSibling){var n=document.createTextNode("\u200B");t.before(n),e&&Sg(n)}}))}var WG={delimiters:",",pattern:null,tagTextProp:"value",maxTags:1/0,callbacks:{},addTagOnBlur:!0,addTagOn:["blur","tab","enter"],onChangeAfterBlur:!0,duplicates:!1,whitelist:[],blacklist:[],enforceWhitelist:!1,userInput:!0,focusable:!0,focusInputOnRemove:!0,keepInvalidTags:!1,createInvalidTags:!0,mixTagsAllowedAfter:/,|\.|\:|\s/,mixTagsInterpolator:["[[","]]"],backspace:!0,allowCaretBetweenTags:!0,skipInvalid:!1,pasteAsTags:!0,editTags:{clicks:2,keepInvalid:!0},transformTag:()=>{},trim:!0,a11y:{focusableTags:!1,inputAriaLabel:"Tags input field"},mixMode:{insertAfterTag:"\xA0"},autoComplete:{enabled:!0,rightKey:!1,tabKey:!1},classNames:{namespace:"tagify",mixMode:"tagify--mix",selectMode:"tagify--select",input:"tagify__input",focus:"tagify--focus",tagNoAnimation:"tagify--noAnim",tagInvalid:"tagify--invalid",tagNotAllowed:"tagify--notAllowed",scopeLoading:"tagify--loading",hasMaxTags:"tagify--hasMaxTags",hasNoTags:"tagify--noTags",empty:"tagify--empty",inputInvalid:"tagify__input--invalid",dropdown:"tagify__dropdown",dropdownWrapper:"tagify__dropdown__wrapper",dropdownHeader:"tagify__dropdown__header",dropdownFooter:"tagify__dropdown__footer",dropdownItem:"tagify__dropdown__item",dropdownItemActive:"tagify__dropdown__item--active",dropdownItemHidden:"tagify__dropdown__item--hidden",dropdownItemSelected:"tagify__dropdown__item--selected",dropdownInital:"tagify__dropdown--initial",tag:"tagify__tag",tagText:"tagify__tag-text",tagX:"tagify__tag__removeBtn",tagLoading:"tagify__tag--loading",tagEditing:"tagify__tag--editable",tagFlash:"tagify__tag--flash",tagHide:"tagify__tag--hide"},dropdown:{classname:"",enabled:2,maxItems:10,searchKeys:["value","searchBy"],fuzzySearch:!0,caseSensitive:!1,accentedSearch:!0,includeSelectedTags:!1,escapeHTML:!0,highlightFirst:!0,closeOnSelect:!0,clearOnSelect:!0,position:"all",appendTarget:null},hooks:{beforeRemoveTag:()=>Promise.resolve(),beforePaste:()=>Promise.resolve(),suggestionClick:()=>Promise.resolve(),beforeKeyDown:()=>Promise.resolve()}};function u6t(){this.dropdown={};for(let r in this._dropdown)this.dropdown[r]=typeof this._dropdown[r]=="function"?this._dropdown[r].bind(this):this._dropdown[r];this.dropdown.refs(),this.DOM.dropdown.__tagify=this}var c6t={events:{binding(r=!0){var e=this.dropdown.events.callbacks,t=this.listeners.dropdown=this.listeners.dropdown||{position:this.dropdown.position.bind(this,null),onKeyDown:e.onKeyDown.bind(this),onMouseOver:e.onMouseOver.bind(this),onMouseLeave:e.onMouseLeave.bind(this),onClick:e.onClick.bind(this),onScroll:e.onScroll.bind(this)},n=r?"addEventListener":"removeEventListener";this.settings.dropdown.position!="manual"&&(document[n]("scroll",t.position,!0),window[n]("resize",t.position),window[n]("keydown",t.onKeyDown)),this.DOM.dropdown[n]("mouseover",t.onMouseOver),this.DOM.dropdown[n]("mouseleave",t.onMouseLeave),this.DOM.dropdown[n]("mousedown",t.onClick),this.DOM.dropdown.content[n]("scroll",t.onScroll)},callbacks:{onKeyDown(r){if(this.state.hasFocus&&!this.state.composing){var e=this.settings,t=e.dropdown.includeSelectedTags,n=this.DOM.dropdown.querySelector(e.classNames.dropdownItemActiveSelector),i=this.dropdown.getSuggestionDataByNode(n),o=e.mode=="mix",a=e.mode=="select";e.hooks.beforeKeyDown(r,{tagify:this}).then((l=>{switch(r.key){case"ArrowDown":case"ArrowUp":case"Down":case"Up":r.preventDefault();var u=this.dropdown.getAllSuggestionsRefs(),f=r.key=="ArrowUp"||r.key=="Up";n&&(n=this.dropdown.getNextOrPrevOption(n,!f)),n&&n.matches(e.classNames.dropdownItemSelector)||(n=u[f?u.length-1:0]),this.dropdown.highlightOption(n,!0);break;case"PageUp":case"PageDown":{r.preventDefault();let x=this.dropdown.getAllSuggestionsRefs(),T=Math.floor(this.DOM.dropdown.content.clientHeight/x[0]?.offsetHeight)||1,C=r.key==="PageUp";if(n){let M=x.indexOf(n),L=C?Math.max(0,M-T):Math.min(x.length-1,M+T);n=x[L]}else n=x[0];this.dropdown.highlightOption(n,!0);break}case"Home":case"End":{r.preventDefault();let x=this.dropdown.getAllSuggestionsRefs();n=x[r.key==="Home"?0:x.length-1],this.dropdown.highlightOption(n,!0);break}case"Escape":case"Esc":this.dropdown.hide();break;case"ArrowRight":if(this.state.actions.ArrowLeft||e.autoComplete.rightKey||e.allowCaretBetweenTags)return;case"Tab":{let x=!e.autoComplete.rightKey||!e.autoComplete.tabKey;if(!o&&!a&&n&&x&&!this.state.editing&&i){r.preventDefault();var p=this.dropdown.getMappedValue(i);return this.state.autoCompleteData=i,this.input.autocomplete.set.call(this,p),!1}return!0}case"Enter":r.preventDefault(),this.state.actions.selectOption=!0,setTimeout((()=>this.state.actions.selectOption=!1),100),e.hooks.suggestionClick(r,{tagify:this,tagData:i,suggestionElm:n}).then((()=>{if(n){var x=t?n:this.dropdown.getNextOrPrevOption(n,!f);this.dropdown.selectOption(n,r,(()=>{if(x){var T=x.getAttribute("value");x=this.dropdown.getSuggestionNodeByValue(T),this.dropdown.highlightOption(x)}}))}else this.dropdown.hide(),o||this.addTags(this.state.inputText.trim(),!0)})).catch((x=>Wb.warn(x)));break;case"Backspace":{if(o||this.state.editing.scope)return;let x=this.input.raw.call(this);x!=""&&x.charCodeAt(0)!=8203||(e.backspace===!0?this.removeTags():e.backspace=="edit"&&setTimeout(this.editTag.bind(this),0))}}}))}},onMouseOver(r){var e=r.target.closest(this.settings.classNames.dropdownItemSelector);this.dropdown.highlightOption(e)},onMouseLeave(r){this.dropdown.highlightOption()},onClick(r){if(r.button==0&&r.target!=this.DOM.dropdown&&r.target!=this.DOM.dropdown.content){var e=r.target.closest(this.settings.classNames.dropdownItemSelector),t=this.dropdown.getSuggestionDataByNode(e);this.state.actions.selectOption=!0,setTimeout((()=>this.state.actions.selectOption=!1),100),this.settings.hooks.suggestionClick(r,{tagify:this,tagData:t,suggestionElm:e}).then((()=>{e?this.dropdown.selectOption(e,r):this.dropdown.hide()})).catch((n=>Wb.warn(n)))}},onScroll(r){var e=r.target,t=e.scrollTop/(e.scrollHeight-e.parentNode.clientHeight)*100;this.trigger("dropdown:scroll",{percentage:Math.round(t)})}}},refilter(r){r=r||this.state.dropdown.query||"",this.suggestedListItems=this.dropdown.filterListItems(r),this.dropdown.fill(),this.suggestedListItems.length||this.dropdown.hide(),this.trigger("dropdown:updated",this.DOM.dropdown)},getSuggestionDataByNode(r){for(var e,t=r&&r.getAttribute("value"),n=this.suggestedListItems.length;n--;){if(_m(e=this.suggestedListItems[n])&&e.value==t)return e;if(e==t)return{value:e}}},getSuggestionNodeByValue(r){return this.dropdown.getAllSuggestionsRefs().find((e=>e.getAttribute("value")===r))},getNextOrPrevOption(r,e=!0){var t=this.dropdown.getAllSuggestionsRefs(),n=t.findIndex((i=>i===r));return e?t[n+1]:t[n-1]},highlightOption(r,e){var t,n=this.settings.classNames.dropdownItemActive;if(this.state.ddItemElm&&(this.state.ddItemElm.classList.remove(n),this.state.ddItemElm.removeAttribute("aria-selected")),!r)return this.state.ddItemData=null,this.state.ddItemElm=null,void this.input.autocomplete.suggest.call(this);t=this.dropdown.getSuggestionDataByNode(r),this.state.ddItemData=t,this.state.ddItemElm=r,r.classList.add(n),r.setAttribute("aria-selected",!0),e&&(r.parentNode.scrollTop=r.clientHeight+r.offsetTop-r.parentNode.clientHeight),this.settings.autoComplete&&(this.input.autocomplete.suggest.call(this,t),this.dropdown.position())},selectOption(r,e,t){var n=this.settings,i=n.dropdown.includeSelectedTags,{clearOnSelect:o,closeOnSelect:a}=n.dropdown;if(!r)return this.addTags(this.state.inputText,!0),void(a&&this.dropdown.hide());e=e||{};var l=r.getAttribute("value"),u=l=="noMatch",f=n.mode=="mix",p=this.suggestedListItems.find((x=>(x.value??x)==l));if(this.trigger("dropdown:select",{data:p,elm:r,event:e}),p||u){if(this.state.editing){let x=this.normalizeTags([p])[0];p=n.transformTag.call(this,x)||x,this.onEditTagDone(null,Gl({__isValid:!0},p))}else this[f?"addMixTags":"addTags"]([p||this.input.raw.call(this)],o);(f||this.DOM.input.parentNode)&&(setTimeout((()=>{this.DOM.input.focus(),this.toggleFocusClass(!0)})),a&&setTimeout(this.dropdown.hide.bind(this)),i?t&&t():(r.addEventListener("transitionend",(()=>{this.dropdown.fillHeaderFooter(),setTimeout((()=>{r.remove(),this.dropdown.refilter(),t&&t()}),100)}),{once:!0}),r.classList.add(this.settings.classNames.dropdownItemHidden)))}else a&&setTimeout(this.dropdown.hide.bind(this))},selectAll(r){this.suggestedListItems.length=0,this.dropdown.hide(),this.dropdown.filterListItems("");var e=this.dropdown.filterListItems("");return r||(e=this.state.dropdown.suggestions),this.addTags(e,!0),this},filterListItems(r,e){var t,n,i,o,a,l=this.settings,u=l.dropdown,f=(e=e||{},[]),p=[],x=l.whitelist,T=u.maxItems>=0?u.maxItems:1/0,C=u.includeSelectedTags,M=typeof u.sortby=="function",L=u.searchKeys,R=0;if(!(r=l.mode=="select"&&this.value.length&&this.value[0][l.tagTextProp]==r?"":r)||!L.length){f=C?x:x.filter((Q=>!this.isTagDuplicate(_m(Q)?Q.value:Q)));var H=M?u.sortby(f,a):f.slice(0,T);return this.state.dropdown.suggestions=H,H}function $(Q,G){return G.toLowerCase().split(" ").every((te=>Q.includes(te.toLowerCase())))}for(a=u.caseSensitive?""+r:(""+r).toLowerCase();R<x.length;R++){let Q,G;t=x[R]instanceof Object?x[R]:{value:x[R]};let te=Object.keys(t).some((fe=>L.includes(fe)))?L:["value"];u.fuzzySearch&&!e.exact?(i=te.reduce(((fe,re)=>fe+" "+(t[re]||"")),"").toLowerCase().trim(),u.accentedSearch&&(i=dN(i),a=dN(a)),Q=i.indexOf(a)==0,G=i===a,n=$(i,a)):(Q=!0,n=te.some((fe=>{var re=""+(t[fe]||"");return u.accentedSearch&&(re=dN(re),a=dN(a)),u.caseSensitive||(re=re.toLowerCase()),G=re===a,e.exact?re===a:re.indexOf(a)==0}))),o=!u.includeSelectedTags&&this.isTagDuplicate(_m(t)?t.value:t),n&&!o&&(G&&Q?p.push(t):u.sortby=="startsWith"&&Q?f.unshift(t):f.push(t))}return this.state.dropdown.suggestions=p.concat(f),H=M?u.sortby(p.concat(f),a):p.concat(f).slice(0,T),this.state.dropdown.suggestions=H,H},getMappedValue(r){var e=this.settings.dropdown.mapValueTo;return e?typeof e=="function"?e(r):r[e]||r.value:r.value},createListHTML(r){return Gl([],r).map(((e,t)=>{typeof e!="string"&&typeof e!="number"||(e={value:e});var n=this.dropdown.getMappedValue(e);return n=typeof n=="string"&&this.settings.dropdown.escapeHTML?zv(n):n,this.settings.templates.dropdownItem.apply(this,[{...e,mappedValue:n},this])})).join("")},refs(){this.DOM.dropdown=this.parseTemplate("dropdown",[this.settings]),this.DOM.dropdown.content=this.DOM.dropdown.querySelector("[data-selector='tagify-suggestions-wrapper']")},getHeaderRef(){return this.DOM.dropdown.querySelector("[data-selector='tagify-suggestions-header']")},getFooterRef(){return this.DOM.dropdown.querySelector("[data-selector='tagify-suggestions-footer']")},getAllSuggestionsRefs(){return[...this.DOM.dropdown.content.querySelectorAll(this.settings.classNames.dropdownItemSelector)]},show(r){var e,t,n,i=this.settings,o=i.mode=="mix"&&!i.enforceWhitelist,a=!i.whitelist||!i.whitelist.length,l=i.dropdown.position=="manual";if(r=r===void 0?this.state.inputText:r,!(a&&!o&&!i.templates.dropdownItemNoMatch||i.dropdown.enabled===!1||this.state.isLoading||this.settings.readonly)){if(clearTimeout(this.dropdownHide__bindEventsTimeout),this.suggestedListItems=this.dropdown.filterListItems(r),r&&!this.suggestedListItems.length&&(this.trigger("dropdown:noMatch",r),i.templates.dropdownItemNoMatch&&(n=i.templates.dropdownItemNoMatch.call(this,{value:r}))),!n){if(this.suggestedListItems.length)r&&o&&!this.state.editing.scope&&!ZC(this.suggestedListItems[0].value,r)&&this.suggestedListItems.unshift({value:r});else{if(!r||!o||this.state.editing.scope)return this.input.autocomplete.suggest.call(this),void this.dropdown.hide();this.suggestedListItems=[{value:r}]}t=""+(_m(e=this.suggestedListItems[0])?e.value:e),i.autoComplete&&t&&t.indexOf(r)==0&&this.input.autocomplete.suggest.call(this,e)}this.dropdown.fill(n),i.dropdown.highlightFirst&&this.dropdown.highlightOption(this.DOM.dropdown.content.querySelector(i.classNames.dropdownItemSelector)),this.state.dropdown.visible||setTimeout(this.dropdown.events.binding.bind(this)),this.state.dropdown.visible=r||!0,this.state.dropdown.query=r,this.setStateSelection(),l||setTimeout((()=>{this.dropdown.position(),this.dropdown.render()})),setTimeout((()=>{this.trigger("dropdown:show",this.DOM.dropdown)}))}},hide(r){var{scope:e,dropdown:t}=this.DOM,n=this.settings.dropdown.position=="manual"&&!r;if(t&&document.body.contains(t)&&!n)return window.removeEventListener("resize",this.dropdown.position),this.dropdown.events.binding.call(this,!1),e.setAttribute("aria-expanded",!1),t.parentNode.removeChild(t),setTimeout((()=>{this.state.dropdown.visible=!1}),100),this.state.dropdown.query=this.state.ddItemData=this.state.ddItemElm=this.state.selection=null,this.state.tag&&this.state.tag.value.length&&(this.state.flaggedTags[this.state.tag.baseOffset]=this.state.tag),this.trigger("dropdown:hide",t),this},toggle(r){this.dropdown[this.state.dropdown.visible&&!r?"hide":"show"]()},getAppendTarget(){var r=this.settings.dropdown;return typeof r.appendTarget=="function"?r.appendTarget():r.appendTarget},render(){var r,e,t,n=(r=this.DOM.dropdown,(t=r.cloneNode(!0)).style.cssText="position:fixed; top:-9999px; opacity:0",document.body.appendChild(t),e=t.clientHeight,t.parentNode.removeChild(t),e),i=this.settings,o=this.dropdown.getAppendTarget();return i.dropdown.enabled===!1||(this.DOM.scope.setAttribute("aria-expanded",!0),document.body.contains(this.DOM.dropdown)||(this.DOM.dropdown.classList.add(i.classNames.dropdownInital),this.dropdown.position(n),o.appendChild(this.DOM.dropdown),setTimeout((()=>this.DOM.dropdown.classList.remove(i.classNames.dropdownInital))))),this},fill(r){r=typeof r=="string"?r:this.dropdown.createListHTML(r||this.suggestedListItems);var e,t=this.settings.templates.dropdownContent.call(this,r);this.DOM.dropdown.content.innerHTML=(e=t)?e.replace(/\>[\r\n ]+\</g,"><").split(/>\s+</).join("><").trim():""},fillHeaderFooter(){var r=this.dropdown.filterListItems(this.state.dropdown.query),e=this.parseTemplate("dropdownHeader",[r]),t=this.parseTemplate("dropdownFooter",[r]),n=this.dropdown.getHeaderRef(),i=this.dropdown.getFooterRef();e&&n?.parentNode.replaceChild(e,n),t&&i?.parentNode.replaceChild(t,i)},position(r){var e=this.settings.dropdown,t=this.dropdown.getAppendTarget();if(e.position!="manual"&&t){var n,i,o,a,l,u,f,p,x,T,C=this.DOM.dropdown,M=e.RTL,L=t===document.body,R=t===this.DOM.scope,H=L?window.pageYOffset:t.scrollTop,$=document.fullscreenElement||document.webkitFullscreenElement||document.documentElement,Q=$.clientHeight,G=Math.max($.clientWidth||0,window.innerWidth||0),te=G>480?e.position:"all",fe=this.DOM[te=="input"?"input":"scope"];if(r=r||C.clientHeight,this.state.dropdown.visible){if(te=="text"?(o=(n=(function(){let re=document.getSelection();if(re.rangeCount){let ve=re.getRangeAt(0),_e=ve.startContainer,qe=ve.startOffset,Ee,U;if(qe>0)return U=document.createRange(),U.setStart(_e,qe-1),U.setEnd(_e,qe),Ee=U.getBoundingClientRect(),{left:Ee.right,top:Ee.top,bottom:Ee.bottom};if(_e.getBoundingClientRect)return _e.getBoundingClientRect()}return{left:-9999,top:-9999}})()).bottom,i=n.top,a=n.left,l="auto"):(u=(function(re){var ve=0,_e=0;for(re=re.parentNode;re&&re!=$;)ve+=re.offsetTop||0,_e+=re.offsetLeft||0,re=re.parentNode;return{top:ve,left:_e}})(t),n=fe.getBoundingClientRect(),i=R?-1:n.top-u.top,o=(R?n.height:n.bottom-u.top)-1,a=R?-1:n.left-u.left,l=n.width+"px"),!L){let re=(function(){for(var ve=0,_e=e.appendTarget.parentNode;_e;)ve+=_e.scrollTop||0,_e=_e.parentNode;return ve})();i+=re,o+=re}i=Math.floor(i),o=Math.ceil(o),p=G-a<120,x=((f=e.placeAbove??Q-n.bottom<r)?i:o)+H,T=a+(M&&n.width||0)+window.pageXOffset,T=te=="text"&&p?"right: 0;":`left: ${T}px;`,C.style.cssText=`${T} top: ${x}px; min-width: ${l}; max-width: ${l}`,C.setAttribute("placement",f?"top":"bottom"),C.setAttribute("position",te)}}}},YC="@yaireo/tagify/",h6t={empty:"empty",exceed:"number of tags exceeded",pattern:"pattern mismatch",duplicate:"already exists",notAllowed:"not allowed"},f6t={wrapper(r,e){return`<tags class="${e.classNames.namespace} ${e.mode?`${e.classNames[e.mode+"Mode"]}`:""} ${r.className}"
695
+ </a>`}setOptions(){let r;try{r=JSON.parse(this.controllerTarget.dataset.options)}catch{r={}}this.options={...r,inputClasses:this.controllerTarget.dataset.inputClasses,editable:cS(this.controllerTarget.dataset.editable)}}};var LF=class extends Zt{spinnerMarkup='<span class="loading-spinner" aria-hidden="true"></span>';static values={confirmationMessage:String,confirmed:Boolean};connect(){this.button.setAttribute("data-original-content",this.button.innerHTML),this.dialog=document.getElementById("turbo-confirm"),this.dialogCloseHandler=this.handleDialogClose.bind(this),this.dialog.addEventListener("close",this.dialogCloseHandler)}disconnect(){this.dialog.removeEventListener("close",this.dialogCloseHandler)}attemptSubmit(){this.applyLoader()}get button(){return this.context.scope.element}applyLoader(){let{button:r}=this;r.style.width=`${r.getBoundingClientRect().width}px`,r.style.height=`${r.getBoundingClientRect().height}px`,r.innerHTML=this.spinnerMarkup,r.classList.add("justify-center")}handleDialogClose(){this.dialog.returnValue!=="confirm"&&this.resetButton()}resetButton(){let{button:r}=this;r.innerHTML=r.getAttribute("data-original-content"),r.removeAttribute("disabled")}};var PF=class extends Zt{static targets=["placeholder","loading","error"];static values={url:String,cookieName:String,autoLoadFor:Number};connect(){this.pending=!1,this.awaitingFrameLoad=!1,this.onRequestError=this.handleRequestError.bind(this),this.onBeforeFetchResponse=this.handleBeforeFetchResponse.bind(this),this.onFrameLoad=this.handleFrameLoad.bind(this),this.element.addEventListener("turbo:fetch-request-error",this.onRequestError),this.element.addEventListener("turbo:before-fetch-response",this.onBeforeFetchResponse),this.element.addEventListener("turbo:frame-load",this.onFrameLoad)}disconnect(){this.element.removeEventListener("turbo:fetch-request-error",this.onRequestError),this.element.removeEventListener("turbo:before-fetch-response",this.onBeforeFetchResponse),this.element.removeEventListener("turbo:frame-load",this.onFrameLoad)}load(){this.pending||(this.pending=!0,this.awaitingFrameLoad=!1,this.showLoading(),this.element.getAttribute("src")===this.urlValue?this.element.reload():this.element.src=this.urlValue)}retry(){this.load()}showLoading(){this.setHidden(this.placeholderTarget,!1),this.setHidden(this.loadingTarget,!1),this.setHidden(this.errorTarget,!0)}showError(){this.setHidden(this.placeholderTarget,!0),this.setHidden(this.loadingTarget,!0),this.setHidden(this.errorTarget,!1)}setHidden(r,e){r&&r.hasAttribute("hidden")!==e&&U2(r)}handleFrameLoad(){this.awaitingFrameLoad&&(this.awaitingFrameLoad=!1,this.rememberOpen(),this.element.setAttribute("tabindex","-1"),this.element.focus({preventScroll:!0}))}handleRequestError(r){this.pending&&(this.pending=!1,r.stopImmediatePropagation(),this.showError())}handleBeforeFetchResponse(r){if(!this.pending)return;let e=r.detail?.fetchResponse?.response;if(e){if(this.pending=!1,e.ok){this.awaitingFrameLoad=!0;return}r.preventDefault(),r.stopImmediatePropagation(),this.showError()}}rememberOpen(){!this.cookieNameValue||this.autoLoadForValue<=0||(document.cookie=`${this.cookieNameValue}=1; path=/; max-age=${this.autoLoadForValue}; samesite=lax`)}};var RF=class extends Zt{connect(){this.observer=new MutationObserver(()=>this.updateMapStyle()),this.observer.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),this.waitForMap().then(()=>this.updateMapStyle())}disconnect(){this.observer&&this.observer.disconnect()}waitForMap(){return new Promise(r=>{let e=()=>{this.mapkickInstance?.map?r():requestAnimationFrame(e)};e()})}get mapkickInstance(){let r=this.element.querySelector('[id^="map-"]')||this.element.querySelector("[id]");return r?.id?window.Mapkick?.maps?.[r.id]:null}get isDark(){return document.documentElement.classList.contains("dark")}updateMapStyle(){let r=this.mapkickInstance;if(!r?.map)return;let e=r.map,t=e.getStyle();if(!t)return;let n=this.isDark?"mapbox://styles/mapbox/dark-v11":"mapbox://styles/mapbox/light-v11",i=t.name||t.sprite||"",o=/dark/i.test(i);if(this.isDark===o)return;let a=this.captureMapkickState(e);e.setStyle(n),e.once("style.load",()=>{this.restoreMapkickState(e,a)})}captureMapkickState(r){let e=r.getStyle(),t={},n=[],i=[];for(let[o,a]of Object.entries(e.sources))o==="composite"||o.startsWith("mapbox")||(t[o]={type:a.type,data:a.data});for(let o of e.layers)o.source&&t[o.source]&&n.push(o);for(let o of Object.keys(r.style?.imageManager?.images||{}))if(o.startsWith("mapkick-")){let a=r.style.imageManager.images[o];a&&i.push({id:o,data:a.data,pixelRatio:a.pixelRatio||1})}return{sources:t,layers:n,images:i}}restoreMapkickState(r,e){for(let t of e.images)r.hasImage(t.id)||r.addImage(t.id,t.data,{pixelRatio:t.pixelRatio});for(let[t,n]of Object.entries(e.sources))r.getSource(t)||r.addSource(t,n);for(let t of e.layers)r.getLayer(t.id)||r.addLayer(t)}};var YMe=Wo(W8()),ZMe=Wo(AG()),CG=class extends EventTarget{constructor(e,t){super(),this.file=e,this.controller=t,this.finished=!1}hasFinished(){return this.finished}handle(){let e=new YMe.DirectUpload(this.file,this.controller.directUploadsUrlValue,this);this.#e(this.file),e.create((t,n)=>{t&&console.log("Error",t),this.listItem.classList.add("text-gray-400"),this.finished=!0,this.dispatchEvent(new Event("done"))})}#e(e){let t=document.createElement("div");t.classList.add("flex","justify-between","gap-2","text-sm"),t.innerHTML=`<div>${(0,ZMe.escape)(e.name)}</div><div class="progress">0%</div>`,this.listItem=this.controller.uploadingContainerTarget.appendChild(t)}directUploadWillStoreFileWithXHR(e){e.upload.addEventListener("progress",t=>this.#t(t))}#t(e){let t=e.loaded/e.total*100,n=this.listItem.querySelector(".progress");n.textContent=`${t.toFixed(2)}%`}},qF=class extends Zt{static targets=["dropzone","uploadingContainer"];static values={directUploadsUrl:String};dropCopy="drop it like it's hot";connect(){this.attachHandlers(),this.setupFileInput(),this.fileUploadInput=this.dropzoneTarget.querySelector(".file-upload-input"),this.titleEl=this.fileUploadInput?.querySelector(".file-upload-input__title"),this.originalTitleHTML=this.titleEl?.innerHTML}disconnect(){this.fileInput&&(this.fileInput.remove(),this.fileInput=null)}setupFileInput(){this.fileInput=document.createElement("input"),this.fileInput.type="file",this.fileInput.multiple=!0,this.fileInput.id="media-library-file-upload",this.dropzoneTarget.querySelector(".file-upload-input__native-input").appendChild(this.fileInput),this.fileInput.addEventListener("change",r=>{let e=Array.from(r.target.files);this.#e(e),this.fileInput.value=""})}attachHandlers(){let r=this;Array.from(["drag","dragstart","dragend","dragover","dragenter","dragleave","drop"]).forEach(e=>{r.dropzoneTarget.addEventListener(e,t=>{t.preventDefault(),t.stopPropagation()})}),this.dropzoneTarget.addEventListener("dragover",e=>{r.dragAction()},!1),this.dropzoneTarget.addEventListener("dragleave",e=>{r.dropAction()},!1),this.dropzoneTarget.addEventListener("drop",e=>{r.dropAction();let{files:t}=e.dataTransfer;this.#e(t)},!1)}#e(r){this.uploadObjects=[],Array.from(r).forEach(e=>{let t=new CG(e,this);this.uploadObjects.push(t),t.addEventListener("done",()=>{this.#t()}),t.handle()})}#t(){this.uploadObjects.every(r=>r.hasFinished())&&this.#r()}#r(){let r=document.createElement("turbo-stream");r.setAttribute("action","refresh"),r.setAttribute("method","morph"),r.setAttribute("render","morph"),this.element.appendChild(r)}dragAction(){this.fileUploadInput?.setAttribute("data-dragging","true"),this.titleEl&&(this.titleEl.textContent=this.dropCopy)}dropAction(){this.fileUploadInput?.removeAttribute("data-dragging"),this.titleEl&&(this.titleEl.innerHTML=this.originalTitleHTML)}};var XMe=()=>{document.querySelector(`turbo-frame#${window.Avo.configuration.modal_frame_id}`).innerHTML=""};var FF=class extends Zt{static outlets=["field"];static values={itemDetailsFrameId:String,controllerSelector:String,controllerName:String,selectedItems:Array};get otherController(){return this.application.getControllerForElementAndIdentifier(document.querySelector(this.controllerSelectorValue),this.controllerNameValue)}get modalController(){return this.application.getControllerForElementAndIdentifier(document.querySelector('[data-controller="modal"]'),"modal")}selectItem(r){let{params:e}=r,{attaching:t,multiple:n}=e,i=r.target.closest('[data-component="avo/media_library/list_item_component"]'),o=[this.#e(i)];t&&(r.preventDefault(),this.insertAttachments(o,r),XMe())}insertAttachments(r,e){if(!this.otherController){console.error(`[Avo->] The Media Library failed to find any field outlets to inject the asset. Tried selector: ${this.controllerSelectorValue} and name: ${this.controllerNameValue}`);return}this.otherController.insertAttachments(r,e)}closeItemDetails(){document.querySelector(`turbo-frame#${this.itemDetailsFrameIdValue}`).innerHTML=""}#e(r){let e=JSON.parse(r.dataset.mediaLibraryBlobParam),t=r.dataset.mediaLibraryPathParam,n=r.dataset.mediaLibraryUrlParam;return{blob:e,path:t,url:n}}};var NF=class extends Zt{static targets=["svg","items","self","trigger"];collapsed=!0;transitionClass="css-animate-slide-down";get key(){return this.selfTarget.getAttribute("data-menu-key-param")}get defaultState(){return this.selfTarget.getAttribute("data-menu-default-collapsed-state")}get userState(){return window.localStorage.getItem(this.key)}set userState(r){window.localStorage.setItem(this.key,r)}get initiallyCollapsed(){return this.userState?this.userState==="collapsed":this.defaultState==="collapsed"}connect(){this.initiallyCollapsed?(this.collapsed=!0,this.markCollapsed()):(this.collapsed=!1,this.markExpanded())}triggerCollapse(){this.collapsed=!this.collapsed,this.userState=this.collapsed?"collapsed":"expanded",this.updateDom()}updateDom(){this.collapsed?this.markCollapsed():this.markExpanded()}markCollapsed(){this.svgTarget.classList.add("sidebar-icon--collapsed"),this.hasTriggerTarget&&this.triggerTarget.setAttribute("aria-expanded","false"),this.leave(this.itemsTarget)}markExpanded(){this.svgTarget.classList.remove("sidebar-icon--collapsed"),this.hasTriggerTarget&&this.triggerTarget.setAttribute("aria-expanded","true"),this.enter(this.itemsTarget)}async toggle(r){r.toggleAttribute("hidden"),await this.animateTransition(r)}async leave(r){r.setAttribute("hidden",!0),await this.animateTransition(r)}async enter(r){r.removeAttribute("hidden"),await this.animateTransition(r)}async animateTransition(r){r.classList.add(this.transitionClass),await this.onTransitionsEnded(r),r.classList.remove(this.transitionClass)}onTransitionsEnded(r){return Promise.allSettled(r.getAnimations().map(e=>e.finished))}};var jS=class extends Zt{static targets=["modal","card"];static TRANSITION_MS=90;static values={closeModalOnBackdropClick:{type:Boolean,default:!0}};connectModal(){this.handleKeydown=this.handleKeydown.bind(this),document.addEventListener("keydown",this.handleKeydown)}disconnectModal(){document.removeEventListener("keydown",this.handleKeydown)}handleKeydown(r){r.key!=="Escape"||!this.isOpen()||(this.closeModalOnBackdropClickValue?this.closeModal():this.nudge())}close(){this.closeModal()}closeOnBackdrop(r){if(r.target===this.modalTarget){if(!this.closeModalOnBackdropClickValue){this.nudge();return}this.closeModal()}}nudge(){if(!this.hasCardTarget)return;let r=this.cardTarget;r.classList.remove("modal__card--nudge"),r.offsetWidth,r.classList.add("modal__card--nudge"),r.addEventListener("animationend",()=>r.classList.remove("modal__card--nudge"),{once:!0})}addModalOpen(){document.body.classList.add("modal-open")}removeModalOpen(){document.body.classList.remove("modal-open")}dispatchClose(){document.dispatchEvent(new Event("modal-controller:close"))}closeModal(){throw new Error("Subclass must implement closeModal()")}isOpen(){throw new Error("Subclass must implement isOpen()")}};var BF=class extends jS{connect(){this.connectModal(),this.addModalOpen(),this.modalTarget.showPopover(),this.modalTarget.focus()}disconnect(){this.disconnectModal(),this.removeModalOpen()}isOpen(){return!0}closeModal(){this.removeModalOpen();let r=()=>{window.clearTimeout(e),this.modalTarget.removeEventListener("transitionend",r),this.modalTarget.isConnected&&this.modalTarget.remove(),this.dispatchClose()},e=window.setTimeout(r,this.constructor.TRANSITION_MS+50);this.modalTarget.addEventListener("transitionend",r),this.modalTarget.hidePopover()}};var zF=class extends Zt{static targets=["container"];static values={currentWidth:String,currentHeight:String};connect(){this.modalElement=this.element,this.updateWidthClass(this.currentWidthValue),this.updateHeightClass(this.currentHeightValue)}changeWidth(r){let e=r.currentTarget.dataset.width;this.updateWidthClass(e),this.currentWidthValue=e}changeHeight(r){let e=r.currentTarget.dataset.height;this.updateHeightClass(e),this.currentHeightValue=e}updateWidthClass(r){this.modalElement.classList.remove("modal--width-sm","modal--width-md","modal--width-lg","modal--width-xl","modal--width-2xl","modal--width-3xl","modal--width-4xl","modal--width-full","modal--width-25","modal--width-50","modal--width-75","modal--width-100"),this.containerTarget.classList.remove("w-sm","w-md","w-lg","w-xl","w-2xl","w-3xl","w-4xl","w-full"),this.modalElement.classList.add(`modal--width-${r}`),r==="full"?this.containerTarget.classList.add("w-full"):this.containerTarget.classList.add(`w-${r}`)}updateHeightClass(r){this.modalElement.classList.remove("modal--height-auto","modal--height-sm","modal--height-md","modal--height-lg","modal--height-xl","modal--height-2xl","modal--height-3xl","modal--height-4xl","modal--height-full","modal--height-25","modal--height-50","modal--height-75","modal--height-100"),this.modalElement.classList.add(`modal--height-${r}`)}};var UF=class extends Sf{static targets=["selector"];getFilterValue(){let r=Array.from(this.selectorTarget.selectedOptions).map(({value:e})=>e);return r.length===0?null:r}getFilterClass(){let{filterClass:r}=this.selectorTarget.dataset;return r}};var VS=class extends Zt{add(e){e.preventDefault();let t=this.templateTarget.innerHTML.replace(/NEW_RECORD/g,new Date().getTime().toString());this.targetTarget.insertAdjacentHTML("beforebegin",t)}remove(e){e.preventDefault();let t=e.target.closest(this.wrapperSelectorValue);if(t.dataset.newRecord==="true")t.remove();else{t.style.display="none";let n=t.querySelector("input[name*='_destroy']");n.value="1"}}};VS.targets=["target","template"];VS.values={wrapperSelector:{type:String,default:".nested-form-wrapper"}};var jF=class extends VS{static targets=["addButton","removeButton","nestedRecord"];static values={limit:Number,confirmMessage:String};add(r){super.add(r),this.toggleAddButton()}remove(r){window.confirm(this.confirmMessageValue)&&(super.remove(r),this.toggleAddButton())}toggleAddButton(){this.limitValue>0&&this.addButtonTarget.classList.toggle("!hidden",this.nestedRecordTargets.length>=this.limitValue)}};var VF=class extends Zt{refresh(){let r=this.context.scope.element.closest("turbo-frame");this.element.querySelector("svg").classList.add("animate-spin"),r?(r.classList.add("opacity-50"),r.addEventListener("turbo:frame-load",()=>{r.classList.remove("opacity-50")},{once:!0}),r.reload()):console.error(`Element with ID '${this.turboFrameIdValue}' not found.`)}};var HF=class extends Zt{static targets=["selector"];get turboFrame(){return this.selectorTarget.dataset.turboFrame}reload(){document.querySelector(`[data-per-page-option="${this.selectorTarget.value}"][data-turbo-frame="${this.turboFrame}"]`).click()}};var WF=class extends jS{connect(){this.connectModal(),this.handleOpen=this.openModal.bind(this),this.handleToggle=this.toggleModal.bind(this),document.addEventListener("persistent-modal:open",this.handleOpen),document.addEventListener("persistent-modal:toggle",this.handleToggle)}disconnect(){this.disconnectModal(),document.removeEventListener("persistent-modal:open",this.handleOpen),document.removeEventListener("persistent-modal:toggle",this.handleToggle)}isOpen(){return this.modalTarget.matches(":popover-open")}closeModal(){this.modalTarget.hidePopover(),this.removeModalOpen(),this.dispatchClose()}openModal(){this.modalTarget.showPopover(),this.addModalOpen(),this.modalTarget.focus()}toggleModal(){this.isOpen()?this.closeModal():this.openModal()}};var $F=class extends Zt{static values={url:String};connect(){let r=this;this.tippyInstance=rS(r.context.element,{content:"loading...",allowHTML:!0,theme:"preview",maxWidth:550,async onShow(e){let n=await(await fetch(r.urlValue)).text();e.setContent(n)}})}disconnect(){this.tippyInstance&&(this.tippyInstance.destroy(),this.tippyInstance=null)}};var GF=class extends Zt{static targets=["label","valueInput","visibleInput"];update(){this.valueInputTarget.value=this.visibleInputTarget.value,this.labelTarget.textContent=this.valueInputTarget.value}};var NG=Wo(ORe()),BG=Wo(QRe()),JF=class extends Zt{lastCheckedIndex=null;autoClicking=!1;get itemSelectorCells(){return document.querySelectorAll(".item-selector-cell")}get hasLastCheckedIndex(){return this.lastCheckedIndex!==null}connect(){this.#t()}disconnect(){this.#r()}toggleMultiple(r){if(this.autoClicking)return;if(!this.hasLastCheckedIndex){this.#c(r);return}if(!r.shiftKey){this.#u();return}let e=parseInt(r.target.dataset.index),t=(0,NG.default)((0,BG.default)(this.lastCheckedIndex,e),[this.lastCheckedIndex,e]);this.autoClicking=!0;let n=r.target.checked;t.forEach(i=>{let o=document.querySelector(`input[type="checkbox"][data-index="${i}"]`);o.checked!==n&&o.click()}),this.#h(r),this.autoClicking=!1,this.#u(),this.#e()}#e(){this.#r(),this.#t()}#t(){this.boundMouseenterHandler=this.#i.bind(this),this.boundMouseleaveHandler=this.#n.bind(this),Array.from(this.itemSelectorCells).forEach(r=>{r.addEventListener("mouseenter",this.boundMouseenterHandler),r.addEventListener("mouseleave",this.boundMouseleaveHandler)}),document.addEventListener("keydown",this.#o),document.addEventListener("keyup",this.#s)}#r(){Array.from(this.itemSelectorCells).forEach(r=>{r.removeEventListener("mouseenter",this.boundMouseenterHandler),r.removeEventListener("mouseleave",this.boundMouseleaveHandler)}),document.removeEventListener("keydown",this.#o),document.removeEventListener("keyup",this.#s)}#i(r){r.target.closest("tr").classList.add("highlighted-row"),this.lastCheckedIndex&&this.#a(this.lastCheckedIndex,parseInt(r.target.closest("tr").dataset.index))}#n(r){r.target.closest("tr").classList.remove("highlighted-row"),document.querySelectorAll("tr[data-index]").forEach(e=>{e.classList.remove("highlighted-row")})}#a(r,e){(0,NG.default)((0,BG.default)(r,e)).forEach(n=>{document.querySelector(`tr[data-index="${n}"]`).classList.add("highlighted-row")})}#o(r){r.shiftKey&&document.body.classList.add("shift-pressed")}#s(r){r.shiftKey||document.body.classList.remove("shift-pressed")}#u(){this.lastCheckedIndex=null}#c(r){this.lastCheckedIndex=parseInt(r.target.dataset.index),r.target.closest("tr").classList.add("highlighted-row")}#h(r){this.lastCheckedIndex=parseInt(r.target.dataset.index),r.target.closest("tr").classList.add("highlighted-row")}};var QF=class extends Zt{static values={polymorphic:Boolean,searchable:Boolean,targetName:String,relationName:String};beforeStreamRender(r){let{relationName:e}=r.target.dataset;if(r.target.action!=="update-belongs-to"||this.relationNameValue!==e)return!1;r.detail.render=t=>{this.searchableValue?this.updateSearchable(t):this.updateNonSearchable(t)}}updateSearchable(r){document.querySelector(`input[name="${this.targetNameValue}"][type="hidden"]`).value=r.dataset.targetRecordId,document.querySelector(`input[name="${this.targetNameValue}"][type="text"]`).value=r.dataset.targetResourceLabel}updateNonSearchable(r){let e=document.querySelector(`select[name="${this.targetNameValue}"]`),t=document.createElement("option");t.value=r.dataset.targetRecordId,t.text=r.dataset.targetResourceLabel,t.selected="selected",e.appendChild(t)}};var VG=Wo(fqe()),eN=class extends Zt{static targets=[];static values={view:String};debugOnInput(r){console.log("onInput",r,r.target.value)}toggle({params:r}){let{toggleTarget:e,toggleTargets:t}=r;e&&this.toggleAvoTarget(e),t&&t.length>0&&t.forEach(this.toggleAvoTarget.bind(this))}disable({params:r}){let{disableTarget:e,disableTargets:t}=r;e&&this.disableAvoTarget(e),t&&t.length>0&&t.forEach(this.disableAvoTarget.bind(this))}toggleAvoTarget(r){let e=(0,VG.default)(r),t=document.querySelector(`[data-resource-edit-target="${e}"]`);t&&t.classList.toggle("hidden")}disableAvoTarget(r){let e=(0,VG.default)(r);document.querySelectorAll(`[data-resource-edit-target="${e}"]`).forEach(this.toggleItemDisabled),document.querySelectorAll(`[data-resource-edit-target="${e}"] input`).forEach(this.toggleItemDisabled),document.querySelectorAll(`[data-resource-edit-target="${e}"] select`).forEach(this.toggleItemDisabled),document.querySelectorAll(`[data-resource-edit-target="${e}"] [data-slot="value"] button`).forEach(this.toggleItemDisabled)}toggleItemDisabled(r){r.disabled=!r.disabled}};var tN=class extends Zt{};var rN=class extends Zt{static targets=["input","overlay"];static values={debounce:{type:Number,default:300},url:String};connect(){this.#n(),this.#o()}disconnect(){this.#n(),this.#o()}blurOnEscape(r){r.key==="Escape"&&(r.preventDefault(),this.inputTarget.blur())}search(){this.debouncedSearch()}debouncedSearch=this.debounce(this.performSearch,this.debounceValue);async performSearch(){let r=this.inputTarget.value,[e,t]=this.urlValue.split("?"),n=this.buildSearchUrl(e,t,r);(!t||!t.includes("turbo_frame"))&&window.history.replaceState({},"",n);try{this.#i(),await Y9(n,{responseKind:"turbo-stream",headers:{Accept:"text/vnd.turbo-stream.html","X-Search-Request":"resource-search-controller"}})}catch{}finally{this.#s()}}buildSearchUrl(r,e,t){let n=new URLSearchParams(e);return t?n.set("q",t):n.delete("q"),n.set("page","1"),`${r}?${n.toString()}`}debounce(r,e){let t;return function(...i){let o=()=>{clearTimeout(t),r.apply(this,i)};clearTimeout(t),t=setTimeout(o,e)}}#e=null;#t=null;#r=500;#i(){this.#n(),this.#e=setTimeout(()=>this.#a(),this.#r)}#n(){this.#e&&(clearTimeout(this.#e),this.#e=null)}#a(){document.body.classList.add("search-loading"),this.overlayTarget.classList.add("is-active"),this.#t=this.overlayTarget}#o(){document.body.classList.remove("search-loading"),this.#t&&this.#t.classList.remove("is-active"),this.#t=null}#s(){this.#n(),this.#o()}};var nN=class extends Zt{};var dqe=Wo(sS()),iN=class extends Zt{static targets=["select"];get parentTurboFrame(){return this.context.scope.element.closest("turbo-frame")}onChange(r){if(!this.parentTurboFrame.src)return;let e=new dqe.default(this.parentTurboFrame.src);e.search({...e.query(!0),range:r.currentTarget.value}),this.parentTurboFrame.src=e.toString(),this.parentTurboFrame.reload()}};var oN=class extends Sf{static targets=["selector"];getFilterValue(){return this.selectorTarget.value===""?null:this.selectorTarget.value}getFilterClass(){let{filterClass:r}=this.selectorTarget.dataset;return r}};var aN=class extends Zt{destroy(){this.context.element.remove()}};function s6t(r,e){let t=r.getBoundingClientRect(),n=document.documentElement,i=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(i.height||window.innerHeight||n.clientHeight)&&t.right<=(i.width||window.innerWidth||n.clientWidth)}function l6t(){let r=document.querySelector(".avo-sidebar .mac-styled-scrollbar a.active"),e=document.querySelector(".avo-sidebar .mac-styled-scrollbar");r&&!s6t(r,e)&&r.scrollIntoView({block:"end",inline:"nearest"})}var sN=class extends Zt{static targets=["sidebar","mobileSidebar","mainArea"];static values={open:Boolean};get cookieKey(){return`${window.Avo.configuration.cookies_key}.sidebar.open`}get sidebarOpen(){return Ob.get(this.cookieKey)==="1"}get sidebarScrollPosition(){return window.Avo.localStorage.get("sidebar.sidebarScrollPosition")}set sidebarScrollPosition(r){window.Avo.localStorage.set("sidebar.sidebarScrollPosition",r)}set cookie(r){Ob.set(this.cookieKey,r===!0?1:0)}connect(){this.attachScrollVisibilityAnchor(),this.sidebarScrollPosition&&document.querySelector(".avo-sidebar .mac-styled-scrollbar").scrollTo({top:this.sidebarScrollPosition,behavior:"instant"}),this.rememberScrollPosition();let e=window.innerWidth<1024?this.mainAreaTarget.classList.contains("sidebar-mobile-open"):this.mainAreaTarget.classList.contains("sidebar-open");this.setToggleButtonsState(e?"open":"closed"),this.handleToggleShortcut=t=>{t.repeat||t.defaultPrevented||t.target?.closest("input, textarea, select, [contenteditable]")||!t.shiftKey||t.metaKey||t.ctrlKey||t.altKey||t.code==="Backslash"&&(t.preventDefault(),this.toggleSidebarForViewport())},document.addEventListener("keydown",this.handleToggleShortcut)}disconnect(){document.removeEventListener("keydown",this.handleToggleShortcut)}rememberScrollPosition(){let r;document.addEventListener("turbo:visit",r=()=>{this.sidebarScrollPosition=document.querySelector(".avo-sidebar .mac-styled-scrollbar").scrollTop,document.removeEventListener("turbo:visit",r)})}attachScrollVisibilityAnchor(){l6t()}get toggleButtons(){return document.querySelectorAll("[data-sidebar-toggle-icon]")}setToggleButtonsState(r){this.toggleButtons.forEach(e=>{e.dataset.sidebarState=r})}toggleSidebarForViewport(){window.innerWidth<1024?this.toggleSidebarOnMobile():this.toggleSidebar()}toggleSidebar(){this.sidebarTarget.classList.contains("hidden")&&(this.sidebarTarget.classList.remove("hidden"),this.mainAreaTarget.offsetHeight),this.mainAreaTarget.classList.toggle("sidebar-open"),Ob.set(this.cookieKey,this.newValue(Ob.get(this.cookieKey)));let r=this.mainAreaTarget.classList.contains("sidebar-open");this.openValue=r,this.setToggleButtonsState(r?"open":"closed")}toggleSidebarOnMobile(){this.mobileSidebarTarget.classList.contains("hidden")&&(this.mainAreaTarget.classList.remove("sidebar-mobile-open"),this.mobileSidebarTarget.classList.remove("hidden"),this.mainAreaTarget.offsetHeight),this.mainAreaTarget.classList.toggle("sidebar-mobile-open");let r=this.mainAreaTarget.classList.contains("sidebar-mobile-open");this.setToggleButtonsState(r?"open":"closed")}newValue(r){return r===void 0||r==="1"?"0":"1"}};var lN=class extends Zt{static targets=["element"];static values={confirm:String};handle(r){r.preventDefault(),window.confirm(this.confirmValue)&&(window.Turbo.cache.clear(),this.element.submit())}};var uN=class extends Zt{static targets=["valueInput","starsContainer","star"];connect(){this.maxValue=parseInt(this.starsContainerTarget.dataset.max),this.currentValue=parseInt(this.starsContainerTarget.dataset.currentValue),this.updateStarsDisplay(this.currentValue)}setStar(r){let e=parseInt(r.currentTarget.dataset.starValue);e===this.currentValue?this.currentValue=0:this.currentValue=e,this.valueInputTarget.value=this.currentValue,this.updateStarsDisplay(this.currentValue),this.valueInputTarget.dispatchEvent(new Event("change"))}hoverStar(r){let e=parseInt(r.currentTarget.dataset.starValue);this.updateStarsDisplay(e,!0)}unhoverStar(r){this.updateStarsDisplay(this.currentValue)}updateStarsDisplay(r,e=!1){this.starTargets.forEach((t,n)=>{n+1<=r?t.classList.add("filled"):t.classList.remove("filled")})}};var cN=class extends Zt{connect(){this.isSelecting=!1,this.boundHandleMouseDown=this.#e.bind(this),this.boundHandleMouseMove=this.#t.bind(this),this.element.addEventListener("mousedown",this.boundHandleMouseDown),this.element.addEventListener("mousemove",this.boundHandleMouseMove)}disconnect(){this.element.removeEventListener("mousedown",this.boundHandleMouseDown),this.element.removeEventListener("mousemove",this.boundHandleMouseMove)}anchor=null;mouseEntered(r){let t=r.target.closest("[data-visit-path]")?.dataset?.visitPath;t&&(this.anchor=this.createAnchor(t),this.anchor.dispatchEvent(new MouseEvent("mouseenter",{bubbles:!0})))}mouseLeft(){this.anchor&&(this.anchor.dispatchEvent(new MouseEvent("mouseleave",{bubbles:!0})),document.body.removeChild(this.anchor))}createAnchor(r){let e=document.createElement("a");return e.href=r,e.rel="noopener noreferrer",document.body.appendChild(e),e}visitRecord(r){if(r.type!=="click"||this.#r())return;let e=r.shiftKey,t=r.target.closest(".item-selector-cell"),n=r.target.closest("a, button"),i=r.target.closest('input[type="checkbox"]');if(e||n||i||t)return;let o=r.target.closest("[data-visit-path]"),a=o?.dataset?.visitPath;!o||!a||(r.metaKey||r.ctrlKey||o.dataset.visitTarget==="_blank"?this.#n(a):this.#i(a))}#e(){this.isSelecting=!1}#t(r){r.buttons===1&&(this.isSelecting=!0)}#r(){return this.isSelecting||window.getSelection().toString().length>0?(this.isSelecting=!1,!0):!1}#i(r){window.Turbo.visit(r)}#n(r){window.open(r,"_blank").focus()}};var hN=class extends Zt{static targets=["tabPanel"];static values={view:String,activeTab:String,groupId:String,resourceName:String};connect(){this.selectCurrentTab()}selectCurrentTab(){let r={};Array.from(new URL(window.location).searchParams.entries()).forEach(([i,o])=>{r[i]=o});let e=`resources.${this.resourceNameValue}.tabgroups.${this.groupIdValue}.selectedTab`,t=window.Avo.localStorage.get(e),n=null;r[this.groupParam(this.groupIdValue)]?n=r[this.groupParam(this.groupIdValue)]:t&&(n=t),this.getTabByName(n)&&(this.hideAllTabs(),this.revealTabByName(n))}getTabByName(r){return this.tabPanelTargets.find(e=>e.dataset.tabId===r)}groupParam(r){return encodeURIComponent(`tab-group_${r}`)}async changeTab(r){r.preventDefault();let{params:e}=r,{groupId:t,tabName:n,resourceName:i}=e,o=`resources.${i}.tabgroups.${t}.selectedTab`,a=new URL(window.location);a.searchParams.set(this.groupParam(t),encodeURIComponent(n)),window.Turbo.navigator.history.replace({href:a.pathname+a.search}),window.Avo.localStorage.set(o,n),this.hideAllTabs(),this.revealTabByName(n)}revealTabByName(r){this.getTabByName(r).classList.remove("hidden")}hideAllTabs(){this.tabPanelTargets.map(r=>r.classList.add("hidden"))}};var pqe="tabs--scrollable",fN=class extends Zt{connect(){this.update=this.update.bind(this),this.resizeObserver=new ResizeObserver(this.update),this.resizeObserver.observe(this.element),this.update()}disconnect(){this.resizeObserver?.disconnect()}update(){this.element.classList.remove(pqe);let r=Array.from(this.element.children);if(r.length<2)return;let e=r[0].offsetTop,t=r.some(n=>n.offsetTop!==e);this.element.classList.toggle(pqe,t)}};var a_=Wo(AG());var mqe="&#8203;",Wb={isEnabled:()=>window.TAGIFY_DEBUG??!0,log(...r){this.isEnabled()&&console.log("[Tagify]:",...r)},warn(...r){this.isEnabled()&&console.warn("[Tagify]:",...r)}},ZC=(r,e,t,n)=>(r=""+r,e=""+e,n&&(r=r.trim(),e=e.trim()),t?r==e:r.toLowerCase()==e.toLowerCase()),gqe=(r,e)=>r&&Array.isArray(r)&&r.map((t=>$G(t,e)));function $G(r,e){var t,n={};for(t in r)e.indexOf(t)<0&&(n[t]=r[t]);return n}function HG(r){return new DOMParser().parseFromString(r.trim(),"text/html").body.firstElementChild}function vqe(r,e){for(e=e||"previous";r=r[e+"Sibling"];)if(r.nodeType==3)return r}function zv(r){return typeof r=="string"?r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/`|'/g,"&#039;"):r}function _m(r){var e=Object.prototype.toString.call(r).split(" ")[1].slice(0,-1);return r===Object(r)&&e!="Array"&&e!="Function"&&e!="RegExp"&&e!="HTMLUnknownElement"}function Gl(r,e,t){function n(i,o){for(var a in o)if(o.hasOwnProperty(a)){if(_m(o[a])){_m(i[a])?n(i[a],o[a]):i[a]=Object.assign({},o[a]);continue}if(Array.isArray(o[a])){i[a]=Object.assign([],o[a]);continue}i[a]=o[a]}}return r instanceof Object||(r={}),n(r,e),t&&n(r,t),r}function yqe(){let r=[],e={};for(let t of arguments)for(let n of t)_m(n)?e[n.value]||(r.push(n),e[n.value]=1):r.includes(n)||r.push(n);return r}function dN(r){return String.prototype.normalize?typeof r=="string"?r.normalize("NFD").replace(/[\u0300-\u036f]/g,""):void 0:r}var bqe=()=>/(?=.*chrome)(?=.*android)/i.test(navigator.userAgent);function xqe(){return("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,(r=>(r^crypto.getRandomValues(new Uint8Array(1))[0]&15>>r/4).toString(16)))}function Uv(r){let e=wqe.call(this,r),t=r?.classList?.contains(this.settings.classNames.tag);return e&&t}function _qe(r){return wqe.call(this,r)&&r?.closest(this.settings.classNames.tagSelector)}function wqe(r){return r?.closest?.(this.settings.classNames.namespaceSelector)===this.DOM.scope}function Sqe(r,e){var t=window.getSelection();return e=e||(t.rangeCount?t.getRangeAt(0):null),typeof r=="string"&&(r=document.createTextNode(r)),e&&(e.deleteContents(),e.insertNode(r)),r}function rs(r,e,t){return r?(e&&(r.__tagifyTagData=t?e:Gl({},r.__tagifyTagData||{},e)),r.__tagifyTagData):(Wb.warn("tag element doesn't exist",{tagElm:r,data:e}),e)}function Sg(r){if(r&&r.parentNode){var e=window.getSelection();if(e){var t=document.createRange();t.setStartAfter(r),t.collapse(!0),e.removeAllRanges(),e.addRange(t)}}}function GG(r,e){r.forEach((t=>{if(rs(t.previousSibling)||!t.previousSibling){var n=document.createTextNode("\u200B");t.before(n),e&&Sg(n)}}))}var WG={delimiters:",",pattern:null,tagTextProp:"value",maxTags:1/0,callbacks:{},addTagOnBlur:!0,addTagOn:["blur","tab","enter"],onChangeAfterBlur:!0,duplicates:!1,whitelist:[],blacklist:[],enforceWhitelist:!1,userInput:!0,focusable:!0,focusInputOnRemove:!0,keepInvalidTags:!1,createInvalidTags:!0,mixTagsAllowedAfter:/,|\.|\:|\s/,mixTagsInterpolator:["[[","]]"],backspace:!0,allowCaretBetweenTags:!0,skipInvalid:!1,pasteAsTags:!0,editTags:{clicks:2,keepInvalid:!0},transformTag:()=>{},trim:!0,a11y:{focusableTags:!1,inputAriaLabel:"Tags input field"},mixMode:{insertAfterTag:"\xA0"},autoComplete:{enabled:!0,rightKey:!1,tabKey:!1},classNames:{namespace:"tagify",mixMode:"tagify--mix",selectMode:"tagify--select",input:"tagify__input",focus:"tagify--focus",tagNoAnimation:"tagify--noAnim",tagInvalid:"tagify--invalid",tagNotAllowed:"tagify--notAllowed",scopeLoading:"tagify--loading",hasMaxTags:"tagify--hasMaxTags",hasNoTags:"tagify--noTags",empty:"tagify--empty",inputInvalid:"tagify__input--invalid",dropdown:"tagify__dropdown",dropdownWrapper:"tagify__dropdown__wrapper",dropdownHeader:"tagify__dropdown__header",dropdownFooter:"tagify__dropdown__footer",dropdownItem:"tagify__dropdown__item",dropdownItemActive:"tagify__dropdown__item--active",dropdownItemHidden:"tagify__dropdown__item--hidden",dropdownItemSelected:"tagify__dropdown__item--selected",dropdownInital:"tagify__dropdown--initial",tag:"tagify__tag",tagText:"tagify__tag-text",tagX:"tagify__tag__removeBtn",tagLoading:"tagify__tag--loading",tagEditing:"tagify__tag--editable",tagFlash:"tagify__tag--flash",tagHide:"tagify__tag--hide"},dropdown:{classname:"",enabled:2,maxItems:10,searchKeys:["value","searchBy"],fuzzySearch:!0,caseSensitive:!1,accentedSearch:!0,includeSelectedTags:!1,escapeHTML:!0,highlightFirst:!0,closeOnSelect:!0,clearOnSelect:!0,position:"all",appendTarget:null},hooks:{beforeRemoveTag:()=>Promise.resolve(),beforePaste:()=>Promise.resolve(),suggestionClick:()=>Promise.resolve(),beforeKeyDown:()=>Promise.resolve()}};function u6t(){this.dropdown={};for(let r in this._dropdown)this.dropdown[r]=typeof this._dropdown[r]=="function"?this._dropdown[r].bind(this):this._dropdown[r];this.dropdown.refs(),this.DOM.dropdown.__tagify=this}var c6t={events:{binding(r=!0){var e=this.dropdown.events.callbacks,t=this.listeners.dropdown=this.listeners.dropdown||{position:this.dropdown.position.bind(this,null),onKeyDown:e.onKeyDown.bind(this),onMouseOver:e.onMouseOver.bind(this),onMouseLeave:e.onMouseLeave.bind(this),onClick:e.onClick.bind(this),onScroll:e.onScroll.bind(this)},n=r?"addEventListener":"removeEventListener";this.settings.dropdown.position!="manual"&&(document[n]("scroll",t.position,!0),window[n]("resize",t.position),window[n]("keydown",t.onKeyDown)),this.DOM.dropdown[n]("mouseover",t.onMouseOver),this.DOM.dropdown[n]("mouseleave",t.onMouseLeave),this.DOM.dropdown[n]("mousedown",t.onClick),this.DOM.dropdown.content[n]("scroll",t.onScroll)},callbacks:{onKeyDown(r){if(this.state.hasFocus&&!this.state.composing){var e=this.settings,t=e.dropdown.includeSelectedTags,n=this.DOM.dropdown.querySelector(e.classNames.dropdownItemActiveSelector),i=this.dropdown.getSuggestionDataByNode(n),o=e.mode=="mix",a=e.mode=="select";e.hooks.beforeKeyDown(r,{tagify:this}).then((l=>{switch(r.key){case"ArrowDown":case"ArrowUp":case"Down":case"Up":r.preventDefault();var u=this.dropdown.getAllSuggestionsRefs(),f=r.key=="ArrowUp"||r.key=="Up";n&&(n=this.dropdown.getNextOrPrevOption(n,!f)),n&&n.matches(e.classNames.dropdownItemSelector)||(n=u[f?u.length-1:0]),this.dropdown.highlightOption(n,!0);break;case"PageUp":case"PageDown":{r.preventDefault();let x=this.dropdown.getAllSuggestionsRefs(),T=Math.floor(this.DOM.dropdown.content.clientHeight/x[0]?.offsetHeight)||1,C=r.key==="PageUp";if(n){let M=x.indexOf(n),L=C?Math.max(0,M-T):Math.min(x.length-1,M+T);n=x[L]}else n=x[0];this.dropdown.highlightOption(n,!0);break}case"Home":case"End":{r.preventDefault();let x=this.dropdown.getAllSuggestionsRefs();n=x[r.key==="Home"?0:x.length-1],this.dropdown.highlightOption(n,!0);break}case"Escape":case"Esc":this.dropdown.hide();break;case"ArrowRight":if(this.state.actions.ArrowLeft||e.autoComplete.rightKey||e.allowCaretBetweenTags)return;case"Tab":{let x=!e.autoComplete.rightKey||!e.autoComplete.tabKey;if(!o&&!a&&n&&x&&!this.state.editing&&i){r.preventDefault();var p=this.dropdown.getMappedValue(i);return this.state.autoCompleteData=i,this.input.autocomplete.set.call(this,p),!1}return!0}case"Enter":r.preventDefault(),this.state.actions.selectOption=!0,setTimeout((()=>this.state.actions.selectOption=!1),100),e.hooks.suggestionClick(r,{tagify:this,tagData:i,suggestionElm:n}).then((()=>{if(n){var x=t?n:this.dropdown.getNextOrPrevOption(n,!f);this.dropdown.selectOption(n,r,(()=>{if(x){var T=x.getAttribute("value");x=this.dropdown.getSuggestionNodeByValue(T),this.dropdown.highlightOption(x)}}))}else this.dropdown.hide(),o||this.addTags(this.state.inputText.trim(),!0)})).catch((x=>Wb.warn(x)));break;case"Backspace":{if(o||this.state.editing.scope)return;let x=this.input.raw.call(this);x!=""&&x.charCodeAt(0)!=8203||(e.backspace===!0?this.removeTags():e.backspace=="edit"&&setTimeout(this.editTag.bind(this),0))}}}))}},onMouseOver(r){var e=r.target.closest(this.settings.classNames.dropdownItemSelector);this.dropdown.highlightOption(e)},onMouseLeave(r){this.dropdown.highlightOption()},onClick(r){if(r.button==0&&r.target!=this.DOM.dropdown&&r.target!=this.DOM.dropdown.content){var e=r.target.closest(this.settings.classNames.dropdownItemSelector),t=this.dropdown.getSuggestionDataByNode(e);this.state.actions.selectOption=!0,setTimeout((()=>this.state.actions.selectOption=!1),100),this.settings.hooks.suggestionClick(r,{tagify:this,tagData:t,suggestionElm:e}).then((()=>{e?this.dropdown.selectOption(e,r):this.dropdown.hide()})).catch((n=>Wb.warn(n)))}},onScroll(r){var e=r.target,t=e.scrollTop/(e.scrollHeight-e.parentNode.clientHeight)*100;this.trigger("dropdown:scroll",{percentage:Math.round(t)})}}},refilter(r){r=r||this.state.dropdown.query||"",this.suggestedListItems=this.dropdown.filterListItems(r),this.dropdown.fill(),this.suggestedListItems.length||this.dropdown.hide(),this.trigger("dropdown:updated",this.DOM.dropdown)},getSuggestionDataByNode(r){for(var e,t=r&&r.getAttribute("value"),n=this.suggestedListItems.length;n--;){if(_m(e=this.suggestedListItems[n])&&e.value==t)return e;if(e==t)return{value:e}}},getSuggestionNodeByValue(r){return this.dropdown.getAllSuggestionsRefs().find((e=>e.getAttribute("value")===r))},getNextOrPrevOption(r,e=!0){var t=this.dropdown.getAllSuggestionsRefs(),n=t.findIndex((i=>i===r));return e?t[n+1]:t[n-1]},highlightOption(r,e){var t,n=this.settings.classNames.dropdownItemActive;if(this.state.ddItemElm&&(this.state.ddItemElm.classList.remove(n),this.state.ddItemElm.removeAttribute("aria-selected")),!r)return this.state.ddItemData=null,this.state.ddItemElm=null,void this.input.autocomplete.suggest.call(this);t=this.dropdown.getSuggestionDataByNode(r),this.state.ddItemData=t,this.state.ddItemElm=r,r.classList.add(n),r.setAttribute("aria-selected",!0),e&&(r.parentNode.scrollTop=r.clientHeight+r.offsetTop-r.parentNode.clientHeight),this.settings.autoComplete&&(this.input.autocomplete.suggest.call(this,t),this.dropdown.position())},selectOption(r,e,t){var n=this.settings,i=n.dropdown.includeSelectedTags,{clearOnSelect:o,closeOnSelect:a}=n.dropdown;if(!r)return this.addTags(this.state.inputText,!0),void(a&&this.dropdown.hide());e=e||{};var l=r.getAttribute("value"),u=l=="noMatch",f=n.mode=="mix",p=this.suggestedListItems.find((x=>(x.value??x)==l));if(this.trigger("dropdown:select",{data:p,elm:r,event:e}),p||u){if(this.state.editing){let x=this.normalizeTags([p])[0];p=n.transformTag.call(this,x)||x,this.onEditTagDone(null,Gl({__isValid:!0},p))}else this[f?"addMixTags":"addTags"]([p||this.input.raw.call(this)],o);(f||this.DOM.input.parentNode)&&(setTimeout((()=>{this.DOM.input.focus(),this.toggleFocusClass(!0)})),a&&setTimeout(this.dropdown.hide.bind(this)),i?t&&t():(r.addEventListener("transitionend",(()=>{this.dropdown.fillHeaderFooter(),setTimeout((()=>{r.remove(),this.dropdown.refilter(),t&&t()}),100)}),{once:!0}),r.classList.add(this.settings.classNames.dropdownItemHidden)))}else a&&setTimeout(this.dropdown.hide.bind(this))},selectAll(r){this.suggestedListItems.length=0,this.dropdown.hide(),this.dropdown.filterListItems("");var e=this.dropdown.filterListItems("");return r||(e=this.state.dropdown.suggestions),this.addTags(e,!0),this},filterListItems(r,e){var t,n,i,o,a,l=this.settings,u=l.dropdown,f=(e=e||{},[]),p=[],x=l.whitelist,T=u.maxItems>=0?u.maxItems:1/0,C=u.includeSelectedTags,M=typeof u.sortby=="function",L=u.searchKeys,R=0;if(!(r=l.mode=="select"&&this.value.length&&this.value[0][l.tagTextProp]==r?"":r)||!L.length){f=C?x:x.filter((Q=>!this.isTagDuplicate(_m(Q)?Q.value:Q)));var H=M?u.sortby(f,a):f.slice(0,T);return this.state.dropdown.suggestions=H,H}function $(Q,G){return G.toLowerCase().split(" ").every((te=>Q.includes(te.toLowerCase())))}for(a=u.caseSensitive?""+r:(""+r).toLowerCase();R<x.length;R++){let Q,G;t=x[R]instanceof Object?x[R]:{value:x[R]};let te=Object.keys(t).some((fe=>L.includes(fe)))?L:["value"];u.fuzzySearch&&!e.exact?(i=te.reduce(((fe,re)=>fe+" "+(t[re]||"")),"").toLowerCase().trim(),u.accentedSearch&&(i=dN(i),a=dN(a)),Q=i.indexOf(a)==0,G=i===a,n=$(i,a)):(Q=!0,n=te.some((fe=>{var re=""+(t[fe]||"");return u.accentedSearch&&(re=dN(re),a=dN(a)),u.caseSensitive||(re=re.toLowerCase()),G=re===a,e.exact?re===a:re.indexOf(a)==0}))),o=!u.includeSelectedTags&&this.isTagDuplicate(_m(t)?t.value:t),n&&!o&&(G&&Q?p.push(t):u.sortby=="startsWith"&&Q?f.unshift(t):f.push(t))}return this.state.dropdown.suggestions=p.concat(f),H=M?u.sortby(p.concat(f),a):p.concat(f).slice(0,T),this.state.dropdown.suggestions=H,H},getMappedValue(r){var e=this.settings.dropdown.mapValueTo;return e?typeof e=="function"?e(r):r[e]||r.value:r.value},createListHTML(r){return Gl([],r).map(((e,t)=>{typeof e!="string"&&typeof e!="number"||(e={value:e});var n=this.dropdown.getMappedValue(e);return n=typeof n=="string"&&this.settings.dropdown.escapeHTML?zv(n):n,this.settings.templates.dropdownItem.apply(this,[{...e,mappedValue:n},this])})).join("")},refs(){this.DOM.dropdown=this.parseTemplate("dropdown",[this.settings]),this.DOM.dropdown.content=this.DOM.dropdown.querySelector("[data-selector='tagify-suggestions-wrapper']")},getHeaderRef(){return this.DOM.dropdown.querySelector("[data-selector='tagify-suggestions-header']")},getFooterRef(){return this.DOM.dropdown.querySelector("[data-selector='tagify-suggestions-footer']")},getAllSuggestionsRefs(){return[...this.DOM.dropdown.content.querySelectorAll(this.settings.classNames.dropdownItemSelector)]},show(r){var e,t,n,i=this.settings,o=i.mode=="mix"&&!i.enforceWhitelist,a=!i.whitelist||!i.whitelist.length,l=i.dropdown.position=="manual";if(r=r===void 0?this.state.inputText:r,!(a&&!o&&!i.templates.dropdownItemNoMatch||i.dropdown.enabled===!1||this.state.isLoading||this.settings.readonly)){if(clearTimeout(this.dropdownHide__bindEventsTimeout),this.suggestedListItems=this.dropdown.filterListItems(r),r&&!this.suggestedListItems.length&&(this.trigger("dropdown:noMatch",r),i.templates.dropdownItemNoMatch&&(n=i.templates.dropdownItemNoMatch.call(this,{value:r}))),!n){if(this.suggestedListItems.length)r&&o&&!this.state.editing.scope&&!ZC(this.suggestedListItems[0].value,r)&&this.suggestedListItems.unshift({value:r});else{if(!r||!o||this.state.editing.scope)return this.input.autocomplete.suggest.call(this),void this.dropdown.hide();this.suggestedListItems=[{value:r}]}t=""+(_m(e=this.suggestedListItems[0])?e.value:e),i.autoComplete&&t&&t.indexOf(r)==0&&this.input.autocomplete.suggest.call(this,e)}this.dropdown.fill(n),i.dropdown.highlightFirst&&this.dropdown.highlightOption(this.DOM.dropdown.content.querySelector(i.classNames.dropdownItemSelector)),this.state.dropdown.visible||setTimeout(this.dropdown.events.binding.bind(this)),this.state.dropdown.visible=r||!0,this.state.dropdown.query=r,this.setStateSelection(),l||setTimeout((()=>{this.dropdown.position(),this.dropdown.render()})),setTimeout((()=>{this.trigger("dropdown:show",this.DOM.dropdown)}))}},hide(r){var{scope:e,dropdown:t}=this.DOM,n=this.settings.dropdown.position=="manual"&&!r;if(t&&document.body.contains(t)&&!n)return window.removeEventListener("resize",this.dropdown.position),this.dropdown.events.binding.call(this,!1),e.setAttribute("aria-expanded",!1),t.parentNode.removeChild(t),setTimeout((()=>{this.state.dropdown.visible=!1}),100),this.state.dropdown.query=this.state.ddItemData=this.state.ddItemElm=this.state.selection=null,this.state.tag&&this.state.tag.value.length&&(this.state.flaggedTags[this.state.tag.baseOffset]=this.state.tag),this.trigger("dropdown:hide",t),this},toggle(r){this.dropdown[this.state.dropdown.visible&&!r?"hide":"show"]()},getAppendTarget(){var r=this.settings.dropdown;return typeof r.appendTarget=="function"?r.appendTarget():r.appendTarget},render(){var r,e,t,n=(r=this.DOM.dropdown,(t=r.cloneNode(!0)).style.cssText="position:fixed; top:-9999px; opacity:0",document.body.appendChild(t),e=t.clientHeight,t.parentNode.removeChild(t),e),i=this.settings,o=this.dropdown.getAppendTarget();return i.dropdown.enabled===!1||(this.DOM.scope.setAttribute("aria-expanded",!0),document.body.contains(this.DOM.dropdown)||(this.DOM.dropdown.classList.add(i.classNames.dropdownInital),this.dropdown.position(n),o.appendChild(this.DOM.dropdown),setTimeout((()=>this.DOM.dropdown.classList.remove(i.classNames.dropdownInital))))),this},fill(r){r=typeof r=="string"?r:this.dropdown.createListHTML(r||this.suggestedListItems);var e,t=this.settings.templates.dropdownContent.call(this,r);this.DOM.dropdown.content.innerHTML=(e=t)?e.replace(/\>[\r\n ]+\</g,"><").split(/>\s+</).join("><").trim():""},fillHeaderFooter(){var r=this.dropdown.filterListItems(this.state.dropdown.query),e=this.parseTemplate("dropdownHeader",[r]),t=this.parseTemplate("dropdownFooter",[r]),n=this.dropdown.getHeaderRef(),i=this.dropdown.getFooterRef();e&&n?.parentNode.replaceChild(e,n),t&&i?.parentNode.replaceChild(t,i)},position(r){var e=this.settings.dropdown,t=this.dropdown.getAppendTarget();if(e.position!="manual"&&t){var n,i,o,a,l,u,f,p,x,T,C=this.DOM.dropdown,M=e.RTL,L=t===document.body,R=t===this.DOM.scope,H=L?window.pageYOffset:t.scrollTop,$=document.fullscreenElement||document.webkitFullscreenElement||document.documentElement,Q=$.clientHeight,G=Math.max($.clientWidth||0,window.innerWidth||0),te=G>480?e.position:"all",fe=this.DOM[te=="input"?"input":"scope"];if(r=r||C.clientHeight,this.state.dropdown.visible){if(te=="text"?(o=(n=(function(){let re=document.getSelection();if(re.rangeCount){let ve=re.getRangeAt(0),_e=ve.startContainer,qe=ve.startOffset,Ee,U;if(qe>0)return U=document.createRange(),U.setStart(_e,qe-1),U.setEnd(_e,qe),Ee=U.getBoundingClientRect(),{left:Ee.right,top:Ee.top,bottom:Ee.bottom};if(_e.getBoundingClientRect)return _e.getBoundingClientRect()}return{left:-9999,top:-9999}})()).bottom,i=n.top,a=n.left,l="auto"):(u=(function(re){var ve=0,_e=0;for(re=re.parentNode;re&&re!=$;)ve+=re.offsetTop||0,_e+=re.offsetLeft||0,re=re.parentNode;return{top:ve,left:_e}})(t),n=fe.getBoundingClientRect(),i=R?-1:n.top-u.top,o=(R?n.height:n.bottom-u.top)-1,a=R?-1:n.left-u.left,l=n.width+"px"),!L){let re=(function(){for(var ve=0,_e=e.appendTarget.parentNode;_e;)ve+=_e.scrollTop||0,_e=_e.parentNode;return ve})();i+=re,o+=re}i=Math.floor(i),o=Math.ceil(o),p=G-a<120,x=((f=e.placeAbove??Q-n.bottom<r)?i:o)+H,T=a+(M&&n.width||0)+window.pageXOffset,T=te=="text"&&p?"right: 0;":`left: ${T}px;`,C.style.cssText=`${T} top: ${x}px; min-width: ${l}; max-width: ${l}`,C.setAttribute("placement",f?"top":"bottom"),C.setAttribute("position",te)}}}},YC="@yaireo/tagify/",h6t={empty:"empty",exceed:"number of tags exceeded",pattern:"pattern mismatch",duplicate:"already exists",notAllowed:"not allowed"},f6t={wrapper(r,e){return`<tags class="${e.classNames.namespace} ${e.mode?`${e.classNames[e.mode+"Mode"]}`:""} ${r.className}"
696
696
  ${e.readonly?"readonly":""}
697
697
  ${e.disabled?"disabled":""}
698
698
  ${e.required?"required":""}