avo 4.1.5 → 4.1.6
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 +4 -4
- data/Gemfile.lock +1 -1
- data/app/assets/builds/avo/application.css +175 -1
- data/app/assets/builds/avo/application.js +1 -1
- data/app/assets/builds/avo/application.js.map +2 -2
- data/app/assets/stylesheets/css/components/back_to_top.css +1 -1
- data/app/assets/stylesheets/css/components/breadcrumbs.css +20 -0
- data/app/assets/stylesheets/css/sidebar.css +46 -0
- data/app/components/avo/breadcrumb_element_component.html.erb +1 -0
- data/app/components/avo/breadcrumb_element_component.rb +10 -0
- data/app/components/avo/breadcrumbs_component.html.erb +2 -1
- data/app/components/avo/sidebar/link_component.rb +17 -1
- data/app/components/avo/sidebar_component.html.erb +2 -2
- data/app/controllers/avo/base_controller.rb +21 -21
- data/app/javascript/js/controllers/fields/panel_refresh_controller.js +2 -1
- data/lib/avo/concerns/breadcrumbs.rb +3 -3
- data/lib/avo/resources/base.rb +1 -0
- data/lib/avo/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d028ad65cf04bcf008ca5f00996be9f4dfe572d2e1d38f1eaa301f9a7d012e37
|
|
4
|
+
data.tar.gz: ea4417af11d868a2ccabb97c6299bfe5e847da0d58771108a93eea5231ded4a3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 94f9764e8505219e71800ad1ff4513c93595289bb0deceac19a75a9e9aac5c8c3ec153000ec0a84a3c2f1083ac13d8c4e28bef45a978055dc7b12f1a9ff0d5fd
|
|
7
|
+
data.tar.gz: 794846ea9ebee06b134d1f58519df177e96123a9e4375d7667fe739bc630a41280ded4247f7c8616d8948ec45614b51d075bdb8359309e690035b7963e632bb8
|
data/Gemfile.lock
CHANGED
|
@@ -2855,6 +2855,9 @@
|
|
|
2855
2855
|
-webkit-user-select: none;
|
|
2856
2856
|
user-select: none;
|
|
2857
2857
|
}
|
|
2858
|
+
.\[animation-direction\:reverse\] {
|
|
2859
|
+
animation-direction: reverse;
|
|
2860
|
+
}
|
|
2858
2861
|
:is(.\*\:opacity-0 > *) {
|
|
2859
2862
|
opacity: 0%;
|
|
2860
2863
|
}
|
|
@@ -8232,7 +8235,7 @@ tag.tagify__tag {
|
|
|
8232
8235
|
opacity: 0;
|
|
8233
8236
|
visibility: hidden;
|
|
8234
8237
|
pointer-events: none;
|
|
8235
|
-
transform: translateX(-50%) translateY(
|
|
8238
|
+
transform: translateX(-50%) translateY(0.5rem);
|
|
8236
8239
|
transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
|
|
8237
8240
|
&:hover {
|
|
8238
8241
|
background-color: var(--color-secondary);
|
|
@@ -8351,6 +8354,74 @@ tag.tagify__tag {
|
|
|
8351
8354
|
color: var(--color-content);
|
|
8352
8355
|
}
|
|
8353
8356
|
}
|
|
8357
|
+
.breadcrumb-element--color-red .cado-avatar--initials {
|
|
8358
|
+
--bg: var(--color-red-400);
|
|
8359
|
+
--text: var(--color-red-600);
|
|
8360
|
+
}
|
|
8361
|
+
.breadcrumb-element--color-orange .cado-avatar--initials {
|
|
8362
|
+
--bg: var(--color-orange-400);
|
|
8363
|
+
--text: var(--color-orange-600);
|
|
8364
|
+
}
|
|
8365
|
+
.breadcrumb-element--color-amber .cado-avatar--initials {
|
|
8366
|
+
--bg: var(--color-amber-400);
|
|
8367
|
+
--text: var(--color-amber-600);
|
|
8368
|
+
}
|
|
8369
|
+
.breadcrumb-element--color-yellow .cado-avatar--initials {
|
|
8370
|
+
--bg: var(--color-yellow-400);
|
|
8371
|
+
--text: var(--color-yellow-600);
|
|
8372
|
+
}
|
|
8373
|
+
.breadcrumb-element--color-lime .cado-avatar--initials {
|
|
8374
|
+
--bg: var(--color-lime-400);
|
|
8375
|
+
--text: var(--color-lime-600);
|
|
8376
|
+
}
|
|
8377
|
+
.breadcrumb-element--color-green .cado-avatar--initials {
|
|
8378
|
+
--bg: var(--color-green-400);
|
|
8379
|
+
--text: var(--color-green-600);
|
|
8380
|
+
}
|
|
8381
|
+
.breadcrumb-element--color-emerald .cado-avatar--initials {
|
|
8382
|
+
--bg: var(--color-emerald-400);
|
|
8383
|
+
--text: var(--color-emerald-600);
|
|
8384
|
+
}
|
|
8385
|
+
.breadcrumb-element--color-teal .cado-avatar--initials {
|
|
8386
|
+
--bg: var(--color-teal-400);
|
|
8387
|
+
--text: var(--color-teal-600);
|
|
8388
|
+
}
|
|
8389
|
+
.breadcrumb-element--color-cyan .cado-avatar--initials {
|
|
8390
|
+
--bg: var(--color-cyan-400);
|
|
8391
|
+
--text: var(--color-cyan-600);
|
|
8392
|
+
}
|
|
8393
|
+
.breadcrumb-element--color-sky .cado-avatar--initials {
|
|
8394
|
+
--bg: var(--color-sky-400);
|
|
8395
|
+
--text: var(--color-sky-600);
|
|
8396
|
+
}
|
|
8397
|
+
.breadcrumb-element--color-blue .cado-avatar--initials {
|
|
8398
|
+
--bg: var(--color-blue-400);
|
|
8399
|
+
--text: var(--color-blue-600);
|
|
8400
|
+
}
|
|
8401
|
+
.breadcrumb-element--color-indigo .cado-avatar--initials {
|
|
8402
|
+
--bg: var(--color-indigo-400);
|
|
8403
|
+
--text: var(--color-indigo-600);
|
|
8404
|
+
}
|
|
8405
|
+
.breadcrumb-element--color-violet .cado-avatar--initials {
|
|
8406
|
+
--bg: var(--color-violet-400);
|
|
8407
|
+
--text: var(--color-violet-600);
|
|
8408
|
+
}
|
|
8409
|
+
.breadcrumb-element--color-purple .cado-avatar--initials {
|
|
8410
|
+
--bg: var(--color-purple-400);
|
|
8411
|
+
--text: var(--color-purple-600);
|
|
8412
|
+
}
|
|
8413
|
+
.breadcrumb-element--color-fuchsia .cado-avatar--initials {
|
|
8414
|
+
--bg: var(--color-fuchsia-400);
|
|
8415
|
+
--text: var(--color-fuchsia-600);
|
|
8416
|
+
}
|
|
8417
|
+
.breadcrumb-element--color-pink .cado-avatar--initials {
|
|
8418
|
+
--bg: var(--color-pink-400);
|
|
8419
|
+
--text: var(--color-pink-600);
|
|
8420
|
+
}
|
|
8421
|
+
.breadcrumb-element--color-rose .cado-avatar--initials {
|
|
8422
|
+
--bg: var(--color-rose-400);
|
|
8423
|
+
--text: var(--color-rose-600);
|
|
8424
|
+
}
|
|
8354
8425
|
@layer base {
|
|
8355
8426
|
.button-icon {
|
|
8356
8427
|
display: inline-flex;
|
|
@@ -10786,6 +10857,109 @@ tag.tagify__tag {
|
|
|
10786
10857
|
flex-shrink: 0;
|
|
10787
10858
|
align-items: center;
|
|
10788
10859
|
justify-content: center;
|
|
10860
|
+
color: var(--sidebar-icon-color, currentColor);
|
|
10861
|
+
}
|
|
10862
|
+
.sidebar-link--color-red {
|
|
10863
|
+
--sidebar-icon-color: var(--color-red-600);
|
|
10864
|
+
}
|
|
10865
|
+
.sidebar-link--color-orange {
|
|
10866
|
+
--sidebar-icon-color: var(--color-orange-600);
|
|
10867
|
+
}
|
|
10868
|
+
.sidebar-link--color-amber {
|
|
10869
|
+
--sidebar-icon-color: var(--color-amber-700);
|
|
10870
|
+
}
|
|
10871
|
+
.sidebar-link--color-yellow {
|
|
10872
|
+
--sidebar-icon-color: var(--color-yellow-700);
|
|
10873
|
+
}
|
|
10874
|
+
.sidebar-link--color-lime {
|
|
10875
|
+
--sidebar-icon-color: var(--color-lime-700);
|
|
10876
|
+
}
|
|
10877
|
+
.sidebar-link--color-green {
|
|
10878
|
+
--sidebar-icon-color: var(--color-green-600);
|
|
10879
|
+
}
|
|
10880
|
+
.sidebar-link--color-emerald {
|
|
10881
|
+
--sidebar-icon-color: var(--color-emerald-600);
|
|
10882
|
+
}
|
|
10883
|
+
.sidebar-link--color-teal {
|
|
10884
|
+
--sidebar-icon-color: var(--color-teal-600);
|
|
10885
|
+
}
|
|
10886
|
+
.sidebar-link--color-cyan {
|
|
10887
|
+
--sidebar-icon-color: var(--color-cyan-600);
|
|
10888
|
+
}
|
|
10889
|
+
.sidebar-link--color-sky {
|
|
10890
|
+
--sidebar-icon-color: var(--color-sky-600);
|
|
10891
|
+
}
|
|
10892
|
+
.sidebar-link--color-blue {
|
|
10893
|
+
--sidebar-icon-color: var(--color-blue-600);
|
|
10894
|
+
}
|
|
10895
|
+
.sidebar-link--color-indigo {
|
|
10896
|
+
--sidebar-icon-color: var(--color-indigo-600);
|
|
10897
|
+
}
|
|
10898
|
+
.sidebar-link--color-violet {
|
|
10899
|
+
--sidebar-icon-color: var(--color-violet-600);
|
|
10900
|
+
}
|
|
10901
|
+
.sidebar-link--color-purple {
|
|
10902
|
+
--sidebar-icon-color: var(--color-purple-600);
|
|
10903
|
+
}
|
|
10904
|
+
.sidebar-link--color-fuchsia {
|
|
10905
|
+
--sidebar-icon-color: var(--color-fuchsia-600);
|
|
10906
|
+
}
|
|
10907
|
+
.sidebar-link--color-pink {
|
|
10908
|
+
--sidebar-icon-color: var(--color-pink-600);
|
|
10909
|
+
}
|
|
10910
|
+
.sidebar-link--color-rose {
|
|
10911
|
+
--sidebar-icon-color: var(--color-rose-600);
|
|
10912
|
+
}
|
|
10913
|
+
.dark .sidebar-link--color-red {
|
|
10914
|
+
--sidebar-icon-color: var(--color-red-400);
|
|
10915
|
+
}
|
|
10916
|
+
.dark .sidebar-link--color-orange {
|
|
10917
|
+
--sidebar-icon-color: var(--color-orange-400);
|
|
10918
|
+
}
|
|
10919
|
+
.dark .sidebar-link--color-amber {
|
|
10920
|
+
--sidebar-icon-color: var(--color-amber-400);
|
|
10921
|
+
}
|
|
10922
|
+
.dark .sidebar-link--color-yellow {
|
|
10923
|
+
--sidebar-icon-color: var(--color-yellow-400);
|
|
10924
|
+
}
|
|
10925
|
+
.dark .sidebar-link--color-lime {
|
|
10926
|
+
--sidebar-icon-color: var(--color-lime-400);
|
|
10927
|
+
}
|
|
10928
|
+
.dark .sidebar-link--color-green {
|
|
10929
|
+
--sidebar-icon-color: var(--color-green-400);
|
|
10930
|
+
}
|
|
10931
|
+
.dark .sidebar-link--color-emerald {
|
|
10932
|
+
--sidebar-icon-color: var(--color-emerald-400);
|
|
10933
|
+
}
|
|
10934
|
+
.dark .sidebar-link--color-teal {
|
|
10935
|
+
--sidebar-icon-color: var(--color-teal-400);
|
|
10936
|
+
}
|
|
10937
|
+
.dark .sidebar-link--color-cyan {
|
|
10938
|
+
--sidebar-icon-color: var(--color-cyan-400);
|
|
10939
|
+
}
|
|
10940
|
+
.dark .sidebar-link--color-sky {
|
|
10941
|
+
--sidebar-icon-color: var(--color-sky-400);
|
|
10942
|
+
}
|
|
10943
|
+
.dark .sidebar-link--color-blue {
|
|
10944
|
+
--sidebar-icon-color: var(--color-blue-400);
|
|
10945
|
+
}
|
|
10946
|
+
.dark .sidebar-link--color-indigo {
|
|
10947
|
+
--sidebar-icon-color: var(--color-indigo-400);
|
|
10948
|
+
}
|
|
10949
|
+
.dark .sidebar-link--color-violet {
|
|
10950
|
+
--sidebar-icon-color: var(--color-violet-400);
|
|
10951
|
+
}
|
|
10952
|
+
.dark .sidebar-link--color-purple {
|
|
10953
|
+
--sidebar-icon-color: var(--color-purple-400);
|
|
10954
|
+
}
|
|
10955
|
+
.dark .sidebar-link--color-fuchsia {
|
|
10956
|
+
--sidebar-icon-color: var(--color-fuchsia-400);
|
|
10957
|
+
}
|
|
10958
|
+
.dark .sidebar-link--color-pink {
|
|
10959
|
+
--sidebar-icon-color: var(--color-pink-400);
|
|
10960
|
+
}
|
|
10961
|
+
.dark .sidebar-link--color-rose {
|
|
10962
|
+
--sidebar-icon-color: var(--color-rose-400);
|
|
10789
10963
|
}
|
|
10790
10964
|
.sidebar-link__icon-wrapper--placeholder {
|
|
10791
10965
|
width: calc(var(--spacing) * 4);
|
|
@@ -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:uS(this.controllerTarget.dataset.editable)}}};var PF=class extends Yt{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 RF=class extends Yt{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&&H2(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 qF=class extends Yt{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 XMe=Jo(G8()),ZMe=Jo(IK()),OK=class extends EventTarget{constructor(e,t){super(),this.file=e,this.controller=t,this.finished=!1}hasFinished(){return this.finished}handle(){let e=new XMe.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)}%`}},FF=class extends Yt{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 OK(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 JMe=()=>{document.querySelector(`turbo-frame#${window.Avo.configuration.modal_frame_id}`).innerHTML=""};var NF=class extends Yt{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),JMe())}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 BF=class extends Yt{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 US=class extends Yt{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 zF=class extends US{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 UF=class extends Yt{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.#e("modal--width-",r)}updateHeightClass(r){this.#e("modal--height-",r)}#e(r,e){this.modalElement.classList.remove(...[...this.modalElement.classList].filter(t=>t.startsWith(r))),this.modalElement.classList.add(`${r}${e}`)}};var jF=class extends Tf{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 jS=class extends Yt{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"}}};jS.targets=["target","template"];jS.values={wrapperSelector:{type:String,default:".nested-form-wrapper"}};var VF=class extends jS{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 HF=class extends Yt{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 WF=class extends Yt{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 $F=class extends US{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 KF=class extends Yt{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 Yt{static targets=["label","valueInput","visibleInput"];update(){this.valueInputTarget.value=this.visibleInputTarget.value,this.labelTarget.textContent=this.valueInputTarget.value}};var t2e=Jo(MRe()),UK=Jo(e2e()),QF=class extends Yt{lastCheckedIndex=null;autoClicking=!1;get itemSelectorCells(){return this.element.querySelectorAll(".item-selector-cell")}#e(r){return this.element.querySelector(`tr[data-index="${r}"]`)}#t(r){return this.element.querySelector(`input[type="checkbox"][data-index="${r}"]`)}get hasLastCheckedIndex(){return this.lastCheckedIndex!==null}connect(){this.#i()}disconnect(){this.#n()}toggleMultiple(r){if(this.autoClicking||!r.target.closest("tr"))return;if(!this.hasLastCheckedIndex){this.#f(r);return}if(!r.shiftKey){this.#h();return}let e=parseInt(r.target.dataset.index),t=(0,t2e.default)((0,UK.default)(this.lastCheckedIndex,e),[this.lastCheckedIndex,e]);this.autoClicking=!0;let n=r.target.checked;t.forEach(i=>{let o=this.#t(i);o.checked!==n&&o.click()}),this.#d(r),this.autoClicking=!1,this.#h(),this.#r()}#r(){this.#n(),this.#i()}#i(){this.boundMouseenterHandler=this.#o.bind(this),this.boundMouseleaveHandler=this.#a.bind(this),Array.from(this.itemSelectorCells).forEach(r=>{r.addEventListener("mouseenter",this.boundMouseenterHandler),r.addEventListener("mouseleave",this.boundMouseleaveHandler)}),document.addEventListener("keydown",this.#u),document.addEventListener("keyup",this.#c)}#n(){Array.from(this.itemSelectorCells).forEach(r=>{r.removeEventListener("mouseenter",this.boundMouseenterHandler),r.removeEventListener("mouseleave",this.boundMouseleaveHandler)}),document.removeEventListener("keydown",this.#u),document.removeEventListener("keyup",this.#c)}#o(r){r.target.closest("tr").classList.add("highlighted-row"),this.hasLastCheckedIndex&&this.#s(this.lastCheckedIndex,parseInt(r.target.closest("tr").dataset.index))}#a(r){r.target.closest("tr").classList.remove("highlighted-row"),this.element.querySelectorAll("tr[data-index]").forEach(e=>{e.classList.remove("highlighted-row")})}#s(r,e){(0,UK.default)(r,e).forEach(t=>{this.#e(t).classList.add("highlighted-row")})}#u(r){r.shiftKey&&document.body.classList.add("shift-pressed")}#c(r){r.shiftKey||document.body.classList.remove("shift-pressed")}#h(){this.lastCheckedIndex=null}#f(r){this.lastCheckedIndex=parseInt(r.target.dataset.index),r.target.closest("tr").classList.add("highlighted-row")}#d(r){this.lastCheckedIndex=parseInt(r.target.dataset.index),r.target.closest("tr").classList.add("highlighted-row")}};var eN=class extends Yt{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 WK=Jo(pqe()),tN=class extends Yt{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,WK.default)(r),t=document.querySelector(`[data-resource-edit-target="${e}"]`);t&&t.classList.toggle("hidden")}disableAvoTarget(r){let e=(0,WK.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 rN=class extends Yt{loaded(){this.element.dataset.turboAction="advance"}};var nN=class extends Yt{static targets=["input","overlay"];static values={debounce:{type:Number,default:300},url:String};connect(){this.#n(),this.#a()}disconnect(){this.#n(),this.#a()}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=this.urlValue.includes("turbo_frame")?this.urlValue:`${window.location.pathname}${window.location.search}`,[t,n]=e.split("?"),i=this.buildSearchUrl(t,n,r);(!n||!n.includes("turbo_frame"))&&window.history.replaceState({},"",i);try{this.#i(),await Q9(i,{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.#o(),this.#r)}#n(){this.#e&&(clearTimeout(this.#e),this.#e=null)}#o(){document.body.classList.add("search-loading"),this.overlayTarget.classList.add("is-active"),this.#t=this.overlayTarget}#a(){document.body.classList.remove("search-loading"),this.#t&&this.#t.classList.remove("is-active"),this.#t=null}#s(){this.#n(),this.#a()}};var iN=class extends Yt{};var mqe=Jo(rC()),oN=class extends Yt{static targets=["select"];get parentTurboFrame(){return this.context.scope.element.closest("turbo-frame")}onChange(r){if(!this.parentTurboFrame.src)return;let e=new mqe.default(this.parentTurboFrame.src);e.search({...e.query(!0),range:r.currentTarget.value}),this.parentTurboFrame.src=e.toString(),this.parentTurboFrame.reload()}};var aN=class extends Tf{static targets=["selector"];getFilterValue(){return this.selectorTarget.value===""?null:this.selectorTarget.value}getFilterClass(){let{filterClass:r}=this.selectorTarget.dataset;return r}};var sN=class extends Yt{destroy(){this.context.element.remove()}};function u6t(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 c6t(){let r=document.querySelector(".avo-sidebar .mac-styled-scrollbar a.active"),e=document.querySelector(".avo-sidebar .mac-styled-scrollbar");r&&!u6t(r,e)&&r.scrollIntoView({block:"end",inline:"nearest"})}var lN=class extends Yt{static targets=["sidebar","mobileSidebar","mainArea"];static values={open:Boolean};get cookieKey(){return`${window.Avo.configuration.cookies_key}.sidebar.open`}get sidebarOpen(){return Mu.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){Mu.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(){c6t()}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"),Mu.set(this.cookieKey,this.newValue(Mu.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 h6t="(min-width: 64rem)",f6t=3,YC="data-sidebar-resizing",uN="--sidebar-width-stored",cN=class extends Yt{connect(){this.pointerId=null,this.frame=null,this.dragging=!1,this.mediaQuery=window.matchMedia(h6t),this.refresh=this.refresh.bind(this),this.clearResizingState=this.clearResizingState.bind(this),this.onDocumentKeydown=this.onDocumentKeydown.bind(this),this.onWindowBlur=this.onWindowBlur.bind(this),this.drag=this.drag.bind(this),this.endDrag=this.endDrag.bind(this),this.mediaQuery.addEventListener("change",this.refresh),document.addEventListener("turbo:load",this.clearResizingState),document.addEventListener("keydown",this.onDocumentKeydown),window.addEventListener("blur",this.onWindowBlur),this.clearResizingState(),this.refresh()}disconnect(){this.mediaQuery.removeEventListener("change",this.refresh),document.removeEventListener("turbo:load",this.clearResizingState),document.removeEventListener("keydown",this.onDocumentKeydown),window.removeEventListener("blur",this.onWindowBlur),this.abortDrag(),this.clearResizingState()}get isDragging(){return this.dragging}refresh(){this.element.hidden=!(this.mediaQuery.matches&&this.sidebarIsOpen)}startDrag(r){if(!(r.button!==0||!r.isPrimary)){this.pointerId=r.pointerId,this.startX=r.clientX,this.cancelled=!1,this.startWidth=this.sidebarElement.getBoundingClientRect().width,this.latestWidth=this.startWidth,this.initialStoredValue=document.documentElement.style.getPropertyValue(uN),window.addEventListener("pointermove",this.drag),window.addEventListener("pointerup",this.endDrag),window.addEventListener("pointercancel",this.endDrag);try{this.element.setPointerCapture(r.pointerId)}catch{}}}drag(r){if(!(this.pointerId===null||r.pointerId!==this.pointerId)){if(!this.dragging){if(Math.abs(r.clientX-this.startX)<f6t)return;this.dragging=!0,document.documentElement.setAttribute(YC,"")}this.pointerX=r.clientX,!this.frame&&(this.frame=requestAnimationFrame(()=>{this.frame=null,this.applyWidth(this.widthForPointer(this.pointerX))}))}}endDrag(r){if(this.pointerId===null||r?.pointerId!==void 0&&r.pointerId!==this.pointerId)return;let e=this.dragging,t=this.cancelled;if(this.stopTracking(),!!e){if(t){this.writeStoredProperty(this.initialStoredValue),delete this.element.dataset.atBound,document.documentElement.removeAttribute(YC);return}this.applyWidth(this.latestWidth),this.sidebarElement.offsetHeight,document.documentElement.removeAttribute(YC),this.persist(this.latestWidth),this.element.setAttribute("aria-valuenow",Math.round(this.latestWidth))}}reset(r){r.preventDefault(),this.abortDrag(),document.documentElement.removeAttribute(YC),document.documentElement.style.removeProperty(uN),Mu.remove(this.cookieKey,{path:"/"}),this.persistFailed=!1,delete this.element.dataset.atBound,this.element.setAttribute("aria-valuenow",Math.round(this.defaultWidth))}widthForPointer(r){let e=this.isRtl?this.startX-r:r-this.startX;return Math.min(Math.max(this.startWidth+e,this.minWidth),this.maxWidth)}applyWidth(r){this.latestWidth=r,this.writeStoredProperty(`${r}px`),this.updateBoundState(r)}updateBoundState(r){r<=this.minWidth?this.element.dataset.atBound="min":r>=this.maxWidth?this.element.dataset.atBound="max":delete this.element.dataset.atBound}get minWidth(){return window.Avo.configuration.sidebar.widthMin}get maxWidth(){return Math.min(window.Avo.configuration.sidebar.widthMax,.4*window.innerWidth)}get defaultWidth(){return window.Avo.configuration.sidebar.widthDefault}get isRtl(){return getComputedStyle(this.element).direction==="rtl"}get sidebarElement(){return document.querySelector("#main-sidebar .avo-sidebar")}get sidebarIsOpen(){return this.element.closest('[data-controller~="sidebar"]')?.dataset.sidebarOpenValue==="true"}get cookieKey(){return`${window.Avo.configuration.cookies_key}.sidebar.width`}persist(r){let e=String(Math.round(r));if(e===String(Math.round(this.defaultWidth))){Mu.remove(this.cookieKey,{path:"/"}),this.persistFailed=!1;return}Mu.set(this.cookieKey,e,{expires:365,path:"/",sameSite:"lax",secure:window.location.protocol==="https:"}),this.persistFailed=Mu.get(this.cookieKey)!==e}onDocumentKeydown(r){r.key!=="Escape"||this.pointerId===null||(r.preventDefault(),this.cancelled=!0,this.endDrag())}onWindowBlur(){this.endDrag()}abortDrag(){this.stopTracking()}stopTracking(){window.removeEventListener("pointermove",this.drag),window.removeEventListener("pointerup",this.endDrag),window.removeEventListener("pointercancel",this.endDrag),this.cancelFrame(),this.releaseCapture(),this.pointerId=null,this.dragging=!1}cancelFrame(){this.frame&&(cancelAnimationFrame(this.frame),this.frame=null)}releaseCapture(){if(this.pointerId!==null)try{this.element.releasePointerCapture(this.pointerId)}catch{}}writeStoredProperty(r){r?document.documentElement.style.setProperty(uN,r):document.documentElement.style.removeProperty(uN)}clearResizingState(){document.documentElement.removeAttribute(YC)}};var hN=class extends Yt{static targets=["element"];static values={confirm:String};handle(r){r.preventDefault(),window.confirm(this.confirmValue)&&(window.Turbo.cache.clear(),this.element.submit())}};var fN=class extends Yt{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 dN=class extends Yt{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 pN=class extends Yt{static targets=["tabPanel"];static values={view:String,activeTab:String,groupId:String,resourceName:String};connect(){this.selectCurrentTab()}disconnect(){this.releaseHold?.()}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.switchTab(n)}switchTab(r){let e=()=>{this.hideAllTabs(),this.revealTabByName(r)};this.releaseHold?.();let t=this.getTabByName(r),n=t?.querySelector("turbo-frame[src]:not([complete])");n&&this.holdHeight(n);let i=this.element.querySelector('[data-tabs-target="tabPanel"]:not(.hidden) .tabs__indicator'),o=t?.querySelector(".tabs__indicator");if(!i||!o||i===o){e();return}this.animate(e,{oldItem:i,newItem:o})}holdHeight(r){this.element.style.height=`${this.element.offsetHeight}px`,this.element.style.overflow="clip";let e=["turbo:frame-load","turbo:frame-missing","turbo:fetch-request-error"],t=()=>{this.element.style.height="",this.element.style.overflow=""},n=()=>{e.forEach(i=>r.removeEventListener(i,n)),this.releaseHold=null,this.animate(t)};this.releaseHold=()=>{e.forEach(i=>r.removeEventListener(i,n)),this.releaseHold=null,t()},e.forEach(i=>r.addEventListener(i,n))}animate(r,{oldItem:e,newItem:t}={}){if(!document.startViewTransition||window.matchMedia("(prefers-reduced-motion: reduce)").matches){r();return}e&&(e.style.viewTransitionName="tabs-active-item"),this.element.style.viewTransitionName="tabs-group",document.documentElement.classList.add("tabs-view-transition"),document.startViewTransition(()=>{e&&(e.style.viewTransitionName=""),t&&(t.style.viewTransitionName="tabs-active-item"),r()}).finished.finally(()=>{t&&(t.style.viewTransitionName=""),this.element.style.viewTransitionName="",document.documentElement.classList.remove("tabs-view-transition")})}revealTabByName(r){this.getTabByName(r).classList.remove("hidden")}hideAllTabs(){this.tabPanelTargets.map(r=>r.classList.add("hidden"))}};var gqe="tabs--scrollable",mN=class extends Yt{connect(){this.update=this.update.bind(this),this.handleScroll=this.handleScroll.bind(this),this.groupElement=this.element.closest(".tab-group"),this.lastScrollLeft=this.element.scrollLeft,this.element.addEventListener("scroll",this.handleScroll,{passive:!0}),this.resizeObserver=new ResizeObserver(this.update),this.resizeObserver.observe(this.element),this.update()}disconnect(){this.resizeObserver?.disconnect(),this.element.removeEventListener("scroll",this.handleScroll)}handleScroll(){this.element.clientWidth!==0&&(this.lastScrollLeft=this.element.scrollLeft,this.groupElement&&(this.groupElement.dataset.tabsScrollLeft=this.lastScrollLeft))}update(){let r=Number(this.groupElement?.dataset.tabsScrollLeft??this.lastScrollLeft??0);this.element.classList.remove(gqe);let e=Array.from(this.element.children);if(e.length<2)return;let t=e[0].offsetTop,n=e.some(i=>i.offsetTop!==t);this.element.classList.toggle(gqe,n),this.element.scrollLeft=r}};var a_=Jo(IK());var vqe="​",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()),yqe=(r,e)=>r&&Array.isArray(r)&&r.map((t=>GK(t,e)));function GK(r,e){var t,n={};for(t in r)e.indexOf(t)<0&&(n[t]=r[t]);return n}function $K(r){return new DOMParser().parseFromString(r.trim(),"text/html").body.firstElementChild}function bqe(r,e){for(e=e||"previous";r=r[e+"Sibling"];)if(r.nodeType==3)return r}function Uv(r){return typeof r=="string"?r.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/`|'/g,"'"):r}function Sm(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(Sm(o[a])){Sm(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 xqe(){let r=[],e={};for(let t of arguments)for(let n of t)Sm(n)?e[n.value]||(r.push(n),e[n.value]=1):r.includes(n)||r.push(n);return r}function gN(r){return String.prototype.normalize?typeof r=="string"?r.normalize("NFD").replace(/[\u0300-\u036f]/g,""):void 0:r}var _qe=()=>/(?=.*chrome)(?=.*android)/i.test(navigator.userAgent);function wqe(){return("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,(r=>(r^crypto.getRandomValues(new Uint8Array(1))[0]&15>>r/4).toString(16)))}function jv(r){let e=Tqe.call(this,r),t=r?.classList?.contains(this.settings.classNames.tag);return e&&t}function Sqe(r){return Tqe.call(this,r)&&r?.closest(this.settings.classNames.tagSelector)}function Tqe(r){return r?.closest?.(this.settings.classNames.namespaceSelector)===this.DOM.scope}function kqe(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 ns(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 Tg(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 YK(r,e){r.forEach((t=>{if(ns(t.previousSibling)||!t.previousSibling){var n=document.createTextNode("\u200B");t.before(n),e&&Tg(n)}}))}var KK={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 d6t(){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 p6t={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(Sm(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(Sm(Q)?Q.value:Q)));var H=M?u.sortby(f,a):f.slice(0,T);return this.state.dropdown.suggestions=H,H}function $(Q,K){return K.toLowerCase().split(" ").every((te=>Q.includes(te.toLowerCase())))}for(a=u.caseSensitive?""+r:(""+r).toLowerCase();R<x.length;R++){let Q,K;t=x[R]instanceof Object?x[R]:{value:x[R]};let te=Object.keys(t).some((pe=>L.includes(pe)))?L:["value"];u.fuzzySearch&&!e.exact?(i=te.reduce(((pe,re)=>pe+" "+(t[re]||"")),"").toLowerCase().trim(),u.accentedSearch&&(i=gN(i),a=gN(a)),Q=i.indexOf(a)==0,K=i===a,n=$(i,a)):(Q=!0,n=te.some((pe=>{var re=""+(t[pe]||"");return u.accentedSearch&&(re=gN(re),a=gN(a)),u.caseSensitive||(re=re.toLowerCase()),K=re===a,e.exact?re===a:re.indexOf(a)==0}))),o=!u.includeSelectedTags&&this.isTagDuplicate(Sm(t)?t.value:t),n&&!o&&(K&&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?Uv(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=""+(Sm(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,K=Math.max($.clientWidth||0,window.innerWidth||0),te=K>480?e.position:"all",pe=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 ge=re.getRangeAt(0),_e=ge.startContainer,qe=ge.startOffset,Ee,V;if(qe>0)return V=document.createRange(),V.setStart(_e,qe-1),V.setEnd(_e,qe),Ee=V.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 ge=0,_e=0;for(re=re.parentNode;re&&re!=$;)ge+=re.offsetTop||0,_e+=re.offsetLeft||0,re=re.parentNode;return{top:ge,left:_e}})(t),n=pe.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 ge=0,_e=e.appendTarget.parentNode;_e;)ge+=_e.scrollTop||0,_e=_e.parentNode;return ge})();i+=re,o+=re}i=Math.floor(i),o=Math.ceil(o),p=K-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)}}}},XC="@yaireo/tagify/",m6t={empty:"empty",exceed:"number of tags exceeded",pattern:"pattern mismatch",duplicate:"already exists",notAllowed:"not allowed"},g6t={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:uS(this.controllerTarget.dataset.editable)}}};var PF=class extends Yt{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 RF=class extends Yt{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&&H2(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 qF=class extends Yt{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 XMe=Jo(G8()),ZMe=Jo(IK()),OK=class extends EventTarget{constructor(e,t){super(),this.file=e,this.controller=t,this.finished=!1}hasFinished(){return this.finished}handle(){let e=new XMe.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)}%`}},FF=class extends Yt{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 OK(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 JMe=()=>{document.querySelector(`turbo-frame#${window.Avo.configuration.modal_frame_id}`).innerHTML=""};var NF=class extends Yt{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),JMe())}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 BF=class extends Yt{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 US=class extends Yt{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 zF=class extends US{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 UF=class extends Yt{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.#e("modal--width-",r)}updateHeightClass(r){this.#e("modal--height-",r)}#e(r,e){this.modalElement.classList.remove(...[...this.modalElement.classList].filter(t=>t.startsWith(r))),this.modalElement.classList.add(`${r}${e}`)}};var jF=class extends Tf{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 jS=class extends Yt{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"}}};jS.targets=["target","template"];jS.values={wrapperSelector:{type:String,default:".nested-form-wrapper"}};var VF=class extends jS{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 HF=class extends Yt{refresh(){let r=this.context.scope.element.closest("turbo-frame");this.element.querySelector("svg").classList.add("animate-spin","[animation-direction:reverse]"),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 WF=class extends Yt{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 $F=class extends US{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 KF=class extends Yt{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 Yt{static targets=["label","valueInput","visibleInput"];update(){this.valueInputTarget.value=this.visibleInputTarget.value,this.labelTarget.textContent=this.valueInputTarget.value}};var t2e=Jo(MRe()),UK=Jo(e2e()),QF=class extends Yt{lastCheckedIndex=null;autoClicking=!1;get itemSelectorCells(){return this.element.querySelectorAll(".item-selector-cell")}#e(r){return this.element.querySelector(`tr[data-index="${r}"]`)}#t(r){return this.element.querySelector(`input[type="checkbox"][data-index="${r}"]`)}get hasLastCheckedIndex(){return this.lastCheckedIndex!==null}connect(){this.#i()}disconnect(){this.#n()}toggleMultiple(r){if(this.autoClicking||!r.target.closest("tr"))return;if(!this.hasLastCheckedIndex){this.#f(r);return}if(!r.shiftKey){this.#h();return}let e=parseInt(r.target.dataset.index),t=(0,t2e.default)((0,UK.default)(this.lastCheckedIndex,e),[this.lastCheckedIndex,e]);this.autoClicking=!0;let n=r.target.checked;t.forEach(i=>{let o=this.#t(i);o.checked!==n&&o.click()}),this.#d(r),this.autoClicking=!1,this.#h(),this.#r()}#r(){this.#n(),this.#i()}#i(){this.boundMouseenterHandler=this.#o.bind(this),this.boundMouseleaveHandler=this.#a.bind(this),Array.from(this.itemSelectorCells).forEach(r=>{r.addEventListener("mouseenter",this.boundMouseenterHandler),r.addEventListener("mouseleave",this.boundMouseleaveHandler)}),document.addEventListener("keydown",this.#u),document.addEventListener("keyup",this.#c)}#n(){Array.from(this.itemSelectorCells).forEach(r=>{r.removeEventListener("mouseenter",this.boundMouseenterHandler),r.removeEventListener("mouseleave",this.boundMouseleaveHandler)}),document.removeEventListener("keydown",this.#u),document.removeEventListener("keyup",this.#c)}#o(r){r.target.closest("tr").classList.add("highlighted-row"),this.hasLastCheckedIndex&&this.#s(this.lastCheckedIndex,parseInt(r.target.closest("tr").dataset.index))}#a(r){r.target.closest("tr").classList.remove("highlighted-row"),this.element.querySelectorAll("tr[data-index]").forEach(e=>{e.classList.remove("highlighted-row")})}#s(r,e){(0,UK.default)(r,e).forEach(t=>{this.#e(t).classList.add("highlighted-row")})}#u(r){r.shiftKey&&document.body.classList.add("shift-pressed")}#c(r){r.shiftKey||document.body.classList.remove("shift-pressed")}#h(){this.lastCheckedIndex=null}#f(r){this.lastCheckedIndex=parseInt(r.target.dataset.index),r.target.closest("tr").classList.add("highlighted-row")}#d(r){this.lastCheckedIndex=parseInt(r.target.dataset.index),r.target.closest("tr").classList.add("highlighted-row")}};var eN=class extends Yt{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 WK=Jo(pqe()),tN=class extends Yt{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,WK.default)(r),t=document.querySelector(`[data-resource-edit-target="${e}"]`);t&&t.classList.toggle("hidden")}disableAvoTarget(r){let e=(0,WK.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 rN=class extends Yt{loaded(){this.element.dataset.turboAction="advance"}};var nN=class extends Yt{static targets=["input","overlay"];static values={debounce:{type:Number,default:300},url:String};connect(){this.#n(),this.#a()}disconnect(){this.#n(),this.#a()}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=this.urlValue.includes("turbo_frame")?this.urlValue:`${window.location.pathname}${window.location.search}`,[t,n]=e.split("?"),i=this.buildSearchUrl(t,n,r);(!n||!n.includes("turbo_frame"))&&window.history.replaceState({},"",i);try{this.#i(),await Q9(i,{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.#o(),this.#r)}#n(){this.#e&&(clearTimeout(this.#e),this.#e=null)}#o(){document.body.classList.add("search-loading"),this.overlayTarget.classList.add("is-active"),this.#t=this.overlayTarget}#a(){document.body.classList.remove("search-loading"),this.#t&&this.#t.classList.remove("is-active"),this.#t=null}#s(){this.#n(),this.#a()}};var iN=class extends Yt{};var mqe=Jo(rC()),oN=class extends Yt{static targets=["select"];get parentTurboFrame(){return this.context.scope.element.closest("turbo-frame")}onChange(r){if(!this.parentTurboFrame.src)return;let e=new mqe.default(this.parentTurboFrame.src);e.search({...e.query(!0),range:r.currentTarget.value}),this.parentTurboFrame.src=e.toString(),this.parentTurboFrame.reload()}};var aN=class extends Tf{static targets=["selector"];getFilterValue(){return this.selectorTarget.value===""?null:this.selectorTarget.value}getFilterClass(){let{filterClass:r}=this.selectorTarget.dataset;return r}};var sN=class extends Yt{destroy(){this.context.element.remove()}};function u6t(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 c6t(){let r=document.querySelector(".avo-sidebar .mac-styled-scrollbar a.active"),e=document.querySelector(".avo-sidebar .mac-styled-scrollbar");r&&!u6t(r,e)&&r.scrollIntoView({block:"end",inline:"nearest"})}var lN=class extends Yt{static targets=["sidebar","mobileSidebar","mainArea"];static values={open:Boolean};get cookieKey(){return`${window.Avo.configuration.cookies_key}.sidebar.open`}get sidebarOpen(){return Mu.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){Mu.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(){c6t()}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"),Mu.set(this.cookieKey,this.newValue(Mu.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 h6t="(min-width: 64rem)",f6t=3,YC="data-sidebar-resizing",uN="--sidebar-width-stored",cN=class extends Yt{connect(){this.pointerId=null,this.frame=null,this.dragging=!1,this.mediaQuery=window.matchMedia(h6t),this.refresh=this.refresh.bind(this),this.clearResizingState=this.clearResizingState.bind(this),this.onDocumentKeydown=this.onDocumentKeydown.bind(this),this.onWindowBlur=this.onWindowBlur.bind(this),this.drag=this.drag.bind(this),this.endDrag=this.endDrag.bind(this),this.mediaQuery.addEventListener("change",this.refresh),document.addEventListener("turbo:load",this.clearResizingState),document.addEventListener("keydown",this.onDocumentKeydown),window.addEventListener("blur",this.onWindowBlur),this.clearResizingState(),this.refresh()}disconnect(){this.mediaQuery.removeEventListener("change",this.refresh),document.removeEventListener("turbo:load",this.clearResizingState),document.removeEventListener("keydown",this.onDocumentKeydown),window.removeEventListener("blur",this.onWindowBlur),this.abortDrag(),this.clearResizingState()}get isDragging(){return this.dragging}refresh(){this.element.hidden=!(this.mediaQuery.matches&&this.sidebarIsOpen)}startDrag(r){if(!(r.button!==0||!r.isPrimary)){this.pointerId=r.pointerId,this.startX=r.clientX,this.cancelled=!1,this.startWidth=this.sidebarElement.getBoundingClientRect().width,this.latestWidth=this.startWidth,this.initialStoredValue=document.documentElement.style.getPropertyValue(uN),window.addEventListener("pointermove",this.drag),window.addEventListener("pointerup",this.endDrag),window.addEventListener("pointercancel",this.endDrag);try{this.element.setPointerCapture(r.pointerId)}catch{}}}drag(r){if(!(this.pointerId===null||r.pointerId!==this.pointerId)){if(!this.dragging){if(Math.abs(r.clientX-this.startX)<f6t)return;this.dragging=!0,document.documentElement.setAttribute(YC,"")}this.pointerX=r.clientX,!this.frame&&(this.frame=requestAnimationFrame(()=>{this.frame=null,this.applyWidth(this.widthForPointer(this.pointerX))}))}}endDrag(r){if(this.pointerId===null||r?.pointerId!==void 0&&r.pointerId!==this.pointerId)return;let e=this.dragging,t=this.cancelled;if(this.stopTracking(),!!e){if(t){this.writeStoredProperty(this.initialStoredValue),delete this.element.dataset.atBound,document.documentElement.removeAttribute(YC);return}this.applyWidth(this.latestWidth),this.sidebarElement.offsetHeight,document.documentElement.removeAttribute(YC),this.persist(this.latestWidth),this.element.setAttribute("aria-valuenow",Math.round(this.latestWidth))}}reset(r){r.preventDefault(),this.abortDrag(),document.documentElement.removeAttribute(YC),document.documentElement.style.removeProperty(uN),Mu.remove(this.cookieKey,{path:"/"}),this.persistFailed=!1,delete this.element.dataset.atBound,this.element.setAttribute("aria-valuenow",Math.round(this.defaultWidth))}widthForPointer(r){let e=this.isRtl?this.startX-r:r-this.startX;return Math.min(Math.max(this.startWidth+e,this.minWidth),this.maxWidth)}applyWidth(r){this.latestWidth=r,this.writeStoredProperty(`${r}px`),this.updateBoundState(r)}updateBoundState(r){r<=this.minWidth?this.element.dataset.atBound="min":r>=this.maxWidth?this.element.dataset.atBound="max":delete this.element.dataset.atBound}get minWidth(){return window.Avo.configuration.sidebar.widthMin}get maxWidth(){return Math.min(window.Avo.configuration.sidebar.widthMax,.4*window.innerWidth)}get defaultWidth(){return window.Avo.configuration.sidebar.widthDefault}get isRtl(){return getComputedStyle(this.element).direction==="rtl"}get sidebarElement(){return document.querySelector("#main-sidebar .avo-sidebar")}get sidebarIsOpen(){return this.element.closest('[data-controller~="sidebar"]')?.dataset.sidebarOpenValue==="true"}get cookieKey(){return`${window.Avo.configuration.cookies_key}.sidebar.width`}persist(r){let e=String(Math.round(r));if(e===String(Math.round(this.defaultWidth))){Mu.remove(this.cookieKey,{path:"/"}),this.persistFailed=!1;return}Mu.set(this.cookieKey,e,{expires:365,path:"/",sameSite:"lax",secure:window.location.protocol==="https:"}),this.persistFailed=Mu.get(this.cookieKey)!==e}onDocumentKeydown(r){r.key!=="Escape"||this.pointerId===null||(r.preventDefault(),this.cancelled=!0,this.endDrag())}onWindowBlur(){this.endDrag()}abortDrag(){this.stopTracking()}stopTracking(){window.removeEventListener("pointermove",this.drag),window.removeEventListener("pointerup",this.endDrag),window.removeEventListener("pointercancel",this.endDrag),this.cancelFrame(),this.releaseCapture(),this.pointerId=null,this.dragging=!1}cancelFrame(){this.frame&&(cancelAnimationFrame(this.frame),this.frame=null)}releaseCapture(){if(this.pointerId!==null)try{this.element.releasePointerCapture(this.pointerId)}catch{}}writeStoredProperty(r){r?document.documentElement.style.setProperty(uN,r):document.documentElement.style.removeProperty(uN)}clearResizingState(){document.documentElement.removeAttribute(YC)}};var hN=class extends Yt{static targets=["element"];static values={confirm:String};handle(r){r.preventDefault(),window.confirm(this.confirmValue)&&(window.Turbo.cache.clear(),this.element.submit())}};var fN=class extends Yt{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 dN=class extends Yt{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 pN=class extends Yt{static targets=["tabPanel"];static values={view:String,activeTab:String,groupId:String,resourceName:String};connect(){this.selectCurrentTab()}disconnect(){this.releaseHold?.()}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.switchTab(n)}switchTab(r){let e=()=>{this.hideAllTabs(),this.revealTabByName(r)};this.releaseHold?.();let t=this.getTabByName(r),n=t?.querySelector("turbo-frame[src]:not([complete])");n&&this.holdHeight(n);let i=this.element.querySelector('[data-tabs-target="tabPanel"]:not(.hidden) .tabs__indicator'),o=t?.querySelector(".tabs__indicator");if(!i||!o||i===o){e();return}this.animate(e,{oldItem:i,newItem:o})}holdHeight(r){this.element.style.height=`${this.element.offsetHeight}px`,this.element.style.overflow="clip";let e=["turbo:frame-load","turbo:frame-missing","turbo:fetch-request-error"],t=()=>{this.element.style.height="",this.element.style.overflow=""},n=()=>{e.forEach(i=>r.removeEventListener(i,n)),this.releaseHold=null,this.animate(t)};this.releaseHold=()=>{e.forEach(i=>r.removeEventListener(i,n)),this.releaseHold=null,t()},e.forEach(i=>r.addEventListener(i,n))}animate(r,{oldItem:e,newItem:t}={}){if(!document.startViewTransition||window.matchMedia("(prefers-reduced-motion: reduce)").matches){r();return}e&&(e.style.viewTransitionName="tabs-active-item"),this.element.style.viewTransitionName="tabs-group",document.documentElement.classList.add("tabs-view-transition"),document.startViewTransition(()=>{e&&(e.style.viewTransitionName=""),t&&(t.style.viewTransitionName="tabs-active-item"),r()}).finished.finally(()=>{t&&(t.style.viewTransitionName=""),this.element.style.viewTransitionName="",document.documentElement.classList.remove("tabs-view-transition")})}revealTabByName(r){this.getTabByName(r).classList.remove("hidden")}hideAllTabs(){this.tabPanelTargets.map(r=>r.classList.add("hidden"))}};var gqe="tabs--scrollable",mN=class extends Yt{connect(){this.update=this.update.bind(this),this.handleScroll=this.handleScroll.bind(this),this.groupElement=this.element.closest(".tab-group"),this.lastScrollLeft=this.element.scrollLeft,this.element.addEventListener("scroll",this.handleScroll,{passive:!0}),this.resizeObserver=new ResizeObserver(this.update),this.resizeObserver.observe(this.element),this.update()}disconnect(){this.resizeObserver?.disconnect(),this.element.removeEventListener("scroll",this.handleScroll)}handleScroll(){this.element.clientWidth!==0&&(this.lastScrollLeft=this.element.scrollLeft,this.groupElement&&(this.groupElement.dataset.tabsScrollLeft=this.lastScrollLeft))}update(){let r=Number(this.groupElement?.dataset.tabsScrollLeft??this.lastScrollLeft??0);this.element.classList.remove(gqe);let e=Array.from(this.element.children);if(e.length<2)return;let t=e[0].offsetTop,n=e.some(i=>i.offsetTop!==t);this.element.classList.toggle(gqe,n),this.element.scrollLeft=r}};var a_=Jo(IK());var vqe="​",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()),yqe=(r,e)=>r&&Array.isArray(r)&&r.map((t=>GK(t,e)));function GK(r,e){var t,n={};for(t in r)e.indexOf(t)<0&&(n[t]=r[t]);return n}function $K(r){return new DOMParser().parseFromString(r.trim(),"text/html").body.firstElementChild}function bqe(r,e){for(e=e||"previous";r=r[e+"Sibling"];)if(r.nodeType==3)return r}function Uv(r){return typeof r=="string"?r.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/`|'/g,"'"):r}function Sm(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(Sm(o[a])){Sm(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 xqe(){let r=[],e={};for(let t of arguments)for(let n of t)Sm(n)?e[n.value]||(r.push(n),e[n.value]=1):r.includes(n)||r.push(n);return r}function gN(r){return String.prototype.normalize?typeof r=="string"?r.normalize("NFD").replace(/[\u0300-\u036f]/g,""):void 0:r}var _qe=()=>/(?=.*chrome)(?=.*android)/i.test(navigator.userAgent);function wqe(){return("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,(r=>(r^crypto.getRandomValues(new Uint8Array(1))[0]&15>>r/4).toString(16)))}function jv(r){let e=Tqe.call(this,r),t=r?.classList?.contains(this.settings.classNames.tag);return e&&t}function Sqe(r){return Tqe.call(this,r)&&r?.closest(this.settings.classNames.tagSelector)}function Tqe(r){return r?.closest?.(this.settings.classNames.namespaceSelector)===this.DOM.scope}function kqe(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 ns(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 Tg(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 YK(r,e){r.forEach((t=>{if(ns(t.previousSibling)||!t.previousSibling){var n=document.createTextNode("\u200B");t.before(n),e&&Tg(n)}}))}var KK={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 d6t(){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 p6t={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(Sm(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(Sm(Q)?Q.value:Q)));var H=M?u.sortby(f,a):f.slice(0,T);return this.state.dropdown.suggestions=H,H}function $(Q,K){return K.toLowerCase().split(" ").every((te=>Q.includes(te.toLowerCase())))}for(a=u.caseSensitive?""+r:(""+r).toLowerCase();R<x.length;R++){let Q,K;t=x[R]instanceof Object?x[R]:{value:x[R]};let te=Object.keys(t).some((pe=>L.includes(pe)))?L:["value"];u.fuzzySearch&&!e.exact?(i=te.reduce(((pe,re)=>pe+" "+(t[re]||"")),"").toLowerCase().trim(),u.accentedSearch&&(i=gN(i),a=gN(a)),Q=i.indexOf(a)==0,K=i===a,n=$(i,a)):(Q=!0,n=te.some((pe=>{var re=""+(t[pe]||"");return u.accentedSearch&&(re=gN(re),a=gN(a)),u.caseSensitive||(re=re.toLowerCase()),K=re===a,e.exact?re===a:re.indexOf(a)==0}))),o=!u.includeSelectedTags&&this.isTagDuplicate(Sm(t)?t.value:t),n&&!o&&(K&&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?Uv(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=""+(Sm(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,K=Math.max($.clientWidth||0,window.innerWidth||0),te=K>480?e.position:"all",pe=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 ge=re.getRangeAt(0),_e=ge.startContainer,qe=ge.startOffset,Ee,V;if(qe>0)return V=document.createRange(),V.setStart(_e,qe-1),V.setEnd(_e,qe),Ee=V.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 ge=0,_e=0;for(re=re.parentNode;re&&re!=$;)ge+=re.offsetTop||0,_e+=re.offsetLeft||0,re=re.parentNode;return{top:ge,left:_e}})(t),n=pe.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 ge=0,_e=e.appendTarget.parentNode;_e;)ge+=_e.scrollTop||0,_e=_e.parentNode;return ge})();i+=re,o+=re}i=Math.floor(i),o=Math.ceil(o),p=K-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)}}}},XC="@yaireo/tagify/",m6t={empty:"empty",exceed:"number of tags exceeded",pattern:"pattern mismatch",duplicate:"already exists",notAllowed:"not allowed"},g6t={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":""}
|