plutonium 0.55.0 → 0.56.0
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/.claude/skills/plutonium-resource/SKILL.md +21 -2
- data/.claude/skills/plutonium-ui/SKILL.md +15 -2
- data/CHANGELOG.md +31 -0
- data/app/assets/plutonium.css +1 -1
- data/app/assets/plutonium.js +94 -26
- data/app/assets/plutonium.js.map +2 -2
- data/app/assets/plutonium.min.js +9 -9
- data/app/assets/plutonium.min.js.map +3 -3
- data/config/initializers/rabl.rb +16 -0
- data/docs/.vitepress/config.ts +1 -0
- data/docs/public/templates/lite.rb +10 -0
- data/docs/reference/generators/lite.md +65 -0
- data/docs/reference/resource/definition.md +18 -2
- data/docs/reference/ui/assets.md +14 -0
- data/docs/reference/ui/displays.md +27 -1
- data/docs/reference/ui/forms.md +2 -1
- data/docs/reference/ui/layouts.md +33 -0
- data/docs/superpowers/plans/2026-06-04-sqlite-tune-maintenance-generators.md +857 -0
- data/docs/superpowers/plans/2026-06-04-sqlite-tune-maintenance-generators.md.tasks.json +45 -0
- data/docs/superpowers/specs/2026-06-04-sqlite-tune-maintenance-generators-design.md +238 -0
- data/gemfiles/rails_7.gemfile.lock +1 -1
- data/gemfiles/rails_8.0.gemfile.lock +1 -1
- data/gemfiles/rails_8.1.gemfile.lock +1 -1
- data/lib/generators/pu/core/update/update_generator.rb +4 -1
- data/lib/generators/pu/lib/plutonium_generators/concerns/configures_recurring.rb +89 -0
- data/lib/generators/pu/lite/maintenance/maintenance_generator.rb +45 -0
- data/lib/generators/pu/lite/maintenance/templates/app/jobs/sqlite_maintenance_job.rb.tt +60 -0
- data/lib/generators/pu/lite/rails_pulse/rails_pulse_generator.rb +4 -51
- data/lib/generators/pu/lite/rails_pulse/templates/config/initializers/rails_pulse.rb.tt +1 -1
- data/lib/generators/pu/lite/tune/tune_generator.rb +105 -0
- data/lib/plutonium/models/has_cents.rb +10 -0
- data/lib/plutonium/resource/controllers/interactive_actions.rb +19 -2
- data/lib/plutonium/routing/mapper_extensions.rb +5 -0
- data/lib/plutonium/ui/display/base.rb +9 -0
- data/lib/plutonium/ui/display/components/badge.rb +83 -0
- data/lib/plutonium/ui/display/components/boolean.rb +28 -6
- data/lib/plutonium/ui/display/components/currency.rb +50 -0
- data/lib/plutonium/ui/display/options/inferred_types.rb +13 -0
- data/lib/plutonium/ui/display/theme.rb +5 -0
- data/lib/plutonium/ui/form/base.rb +5 -0
- data/lib/plutonium/ui/form/components/toggle.rb +14 -0
- data/lib/plutonium/ui/form/concerns/renders_nested_resource_fields.rb +14 -25
- data/lib/plutonium/ui/form/concerns/renders_repeater_row_controls.rb +67 -0
- data/lib/plutonium/ui/form/concerns/renders_structured_inputs.rb +5 -38
- data/lib/plutonium/ui/form/interaction.rb +7 -2
- data/lib/plutonium/ui/form/options/inferred_types.rb +2 -0
- data/lib/plutonium/ui/form/resource.rb +1 -0
- data/lib/plutonium/ui/form/theme.rb +12 -0
- data/lib/plutonium/ui/grid/card.rb +58 -21
- data/lib/plutonium/ui/layout/icon_rail.rb +29 -9
- data/lib/plutonium/ui/sidebar_menu.rb +29 -0
- data/lib/plutonium/version.rb +1 -1
- data/package.json +1 -1
- data/plutonium.gemspec +5 -4
- data/src/css/components.css +126 -0
- data/src/js/controllers/dirty_form_guard_controller.js +55 -4
- data/src/js/controllers/nested_resource_form_fields_controller.js +35 -12
- data/src/js/controllers/resource_drop_down_controller.js +49 -14
- metadata +19 -6
data/app/assets/plutonium.min.js
CHANGED
|
@@ -15,7 +15,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
15
15
|
opacity ${i.animationDuration/2}ms ${i.animationDuration/2}ms ease-in;
|
|
16
16
|
transform: translate3d(0, 0, 0);
|
|
17
17
|
}
|
|
18
|
-
`}hiding=!1;value=0;visible=!1;constructor(){this.stylesheetElement=this.createStylesheetElement(),this.progressElement=this.createProgressElement(),this.installStylesheetElement(),this.setValue(0)}show(){this.visible||(this.visible=!0,this.installProgressElement(),this.startTrickling())}hide(){this.visible&&!this.hiding&&(this.hiding=!0,this.fadeProgressElement(()=>{this.uninstallProgressElement(),this.stopTrickling(),this.visible=!1,this.hiding=!1}))}setValue(e){this.value=e,this.refresh()}installStylesheetElement(){document.head.insertBefore(this.stylesheetElement,document.head.firstChild)}installProgressElement(){this.progressElement.style.width="0",this.progressElement.style.opacity="1",document.documentElement.insertBefore(this.progressElement,document.body),this.refresh()}fadeProgressElement(e){this.progressElement.style.opacity="0",setTimeout(e,i.animationDuration*1.5)}uninstallProgressElement(){this.progressElement.parentNode&&document.documentElement.removeChild(this.progressElement)}startTrickling(){this.trickleInterval||(this.trickleInterval=window.setInterval(this.trickle,i.animationDuration))}stopTrickling(){window.clearInterval(this.trickleInterval),delete this.trickleInterval}trickle=()=>{this.setValue(this.value+Math.random()/100)};refresh(){requestAnimationFrame(()=>{this.progressElement.style.width=`${10+this.value*90}%`})}createStylesheetElement(){let e=document.createElement("style");e.type="text/css",e.textContent=i.defaultCSS;let t=Nh();return t&&(e.nonce=t),e}createProgressElement(){let e=document.createElement("div");return e.className="turbo-progress-bar",e}},ul=class extends Nr{detailsByOuterHTML=this.children.filter(e=>!Xb(e)).map(e=>Qb(e)).reduce((e,t)=>{let{outerHTML:r}=t,s=r in e?e[r]:{type:Wb(t),tracked:Gb(t),elements:[]};return{...e,[r]:{...s,elements:[...s.elements,t]}}},{});get trackedElementSignature(){return Object.keys(this.detailsByOuterHTML).filter(e=>this.detailsByOuterHTML[e].tracked).join("")}getScriptElementsNotInSnapshot(e){return this.getElementsMatchingTypeNotInSnapshot("script",e)}getStylesheetElementsNotInSnapshot(e){return this.getElementsMatchingTypeNotInSnapshot("stylesheet",e)}getElementsMatchingTypeNotInSnapshot(e,t){return Object.keys(this.detailsByOuterHTML).filter(r=>!(r in t.detailsByOuterHTML)).map(r=>this.detailsByOuterHTML[r]).filter(({type:r})=>r==e).map(({elements:[r]})=>r)}get provisionalElements(){return Object.keys(this.detailsByOuterHTML).reduce((e,t)=>{let{type:r,tracked:s,elements:n}=this.detailsByOuterHTML[t];return r==null&&!s?[...e,...n]:n.length>1?[...e,...n.slice(1)]:e},[])}getMetaValue(e){let t=this.findMetaElementByName(e);return t?t.getAttribute("content"):null}findMetaElementByName(e){return Object.keys(this.detailsByOuterHTML).reduce((t,r)=>{let{elements:[s]}=this.detailsByOuterHTML[r];return Zb(s,e)?s:t},void 0|void 0)}};function Wb(i){if(Kb(i))return"script";if(Yb(i))return"stylesheet"}function Gb(i){return i.getAttribute("data-turbo-track")=="reload"}function Kb(i){return i.localName=="script"}function Xb(i){return i.localName=="noscript"}function Yb(i){let e=i.localName;return e=="style"||e=="link"&&i.getAttribute("rel")=="stylesheet"}function Zb(i,e){return i.localName=="meta"&&i.getAttribute("name")==e}function Qb(i){return i.hasAttribute("nonce")&&i.setAttribute("nonce",""),i}var Qt=class i extends Nr{static fromHTMLString(e=""){return this.fromDocument(Mh(e))}static fromElement(e){return this.fromDocument(e.ownerDocument)}static fromDocument({documentElement:e,body:t,head:r}){return new this(e,t,new ul(r))}constructor(e,t,r){super(t),this.documentElement=e,this.headSnapshot=r}clone(){let e=this.element.cloneNode(!0),t=this.element.querySelectorAll("select"),r=e.querySelectorAll("select");for(let[s,n]of t.entries()){let o=r[s];for(let a of o.selectedOptions)a.selected=!1;for(let a of n.selectedOptions)o.options[a.index].selected=!0}for(let s of e.querySelectorAll('input[type="password"]'))s.value="";for(let s of e.querySelectorAll("noscript"))s.remove();return new i(this.documentElement,e,this.headSnapshot)}get lang(){return this.documentElement.getAttribute("lang")}get dir(){return this.documentElement.getAttribute("dir")}get headElement(){return this.headSnapshot.element}get rootLocation(){let e=this.getSetting("root")??"/";return Qe(e)}get cacheControlValue(){return this.getSetting("cache-control")}get isPreviewable(){return this.cacheControlValue!="no-preview"}get isCacheable(){return this.cacheControlValue!="no-cache"}get isVisitable(){return this.getSetting("visit-control")!="reload"}get prefersViewTransitions(){return(this.getSetting("view-transition")==="true"||this.headSnapshot.getMetaValue("view-transition")==="same-origin")&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches}get refreshMethod(){return this.getSetting("refresh-method")}get refreshScroll(){return this.getSetting("refresh-scroll")}getSetting(e){return this.headSnapshot.getMetaValue(`turbo-${e}`)}},hl=class{#e=!1;#t=Promise.resolve();renderChange(e,t){return e&&this.viewTransitionsAvailable&&!this.#e?(this.#e=!0,this.#t=this.#t.then(async()=>{await document.startViewTransition(t).finished})):this.#t=this.#t.then(t),this.#t}get viewTransitionsAvailable(){return document.startViewTransition}},Jb={action:"advance",historyChanged:!1,visitCachedSnapshot:()=>{},willRender:!0,updateHistory:!0,shouldCacheSnapshot:!0,acceptsStreamResponse:!1,refresh:{}},qn={visitStart:"visitStart",requestStart:"requestStart",requestEnd:"requestEnd",visitEnd:"visitEnd"},wi={initialized:"initialized",started:"started",canceled:"canceled",failed:"failed",completed:"completed"},Dr={networkFailure:0,timeoutFailure:-1,contentTypeMismatch:-2},ey={advance:"forward",restore:"back",replace:"none"},dl=class{identifier=Bi();timingMetrics={};followedRedirect=!1;historyChanged=!1;scrolled=!1;shouldCacheSnapshot=!0;acceptsStreamResponse=!1;snapshotCached=!1;state=wi.initialized;viewTransitioner=new hl;constructor(e,t,r,s={}){this.delegate=e,this.location=t,this.restorationIdentifier=r||Bi();let{action:n,historyChanged:o,referrer:a,snapshot:l,snapshotHTML:h,response:f,visitCachedSnapshot:m,willRender:w,updateHistory:y,shouldCacheSnapshot:k,acceptsStreamResponse:C,direction:O,refresh:R}={...Jb,...s};this.action=n,this.historyChanged=o,this.referrer=a,this.snapshot=l,this.snapshotHTML=h,this.response=f,this.isPageRefresh=this.view.isPageRefresh(this),this.visitCachedSnapshot=m,this.willRender=w,this.updateHistory=y,this.scrolled=!w,this.shouldCacheSnapshot=k,this.acceptsStreamResponse=C,this.direction=O||ey[n],this.refresh=R}get adapter(){return this.delegate.adapter}get view(){return this.delegate.view}get history(){return this.delegate.history}get restorationData(){return this.history.getRestorationDataForIdentifier(this.restorationIdentifier)}start(){this.state==wi.initialized&&(this.recordTimingMetric(qn.visitStart),this.state=wi.started,this.adapter.visitStarted(this),this.delegate.visitStarted(this))}cancel(){this.state==wi.started&&(this.request&&this.request.cancel(),this.cancelRender(),this.state=wi.canceled)}complete(){this.state==wi.started&&(this.recordTimingMetric(qn.visitEnd),this.adapter.visitCompleted(this),this.state=wi.completed,this.followRedirect(),this.followedRedirect||this.delegate.visitCompleted(this))}fail(){this.state==wi.started&&(this.state=wi.failed,this.adapter.visitFailed(this),this.delegate.visitCompleted(this))}changeHistory(){if(!this.historyChanged&&this.updateHistory){let e=this.location.href===this.referrer?.href?"replace":this.action,t=Dh(e);this.history.update(t,this.location,this.restorationIdentifier),this.historyChanged=!0}}issueRequest(){this.hasPreloadedResponse()?this.simulateRequest():this.shouldIssueRequest()&&!this.request&&(this.request=new nr(this,jt.get,this.location),this.request.perform())}simulateRequest(){this.response&&(this.startRequest(),this.recordResponse(),this.finishRequest())}startRequest(){this.recordTimingMetric(qn.requestStart),this.adapter.visitRequestStarted(this)}recordResponse(e=this.response){if(this.response=e,e){let{statusCode:t}=e;Fh(t)?this.adapter.visitRequestCompleted(this):this.adapter.visitRequestFailedWithStatusCode(this,t)}}finishRequest(){this.recordTimingMetric(qn.requestEnd),this.adapter.visitRequestFinished(this)}loadResponse(){if(this.response){let{statusCode:e,responseHTML:t}=this.response;this.render(async()=>{if(this.shouldCacheSnapshot&&this.cacheSnapshot(),this.view.renderPromise&&await this.view.renderPromise,Fh(e)&&t!=null){let r=Qt.fromHTMLString(t);await this.renderPageSnapshot(r,!1),this.adapter.visitRendered(this),this.complete()}else await this.view.renderError(Qt.fromHTMLString(t),this),this.adapter.visitRendered(this),this.fail()})}}getCachedSnapshot(){let e=this.view.getCachedSnapshotForLocation(this.location)||this.getPreloadedSnapshot();if(e&&(!Es(this.location)||e.hasAnchor(Es(this.location)))&&(this.action=="restore"||e.isPreviewable))return e}getPreloadedSnapshot(){if(this.snapshotHTML)return Qt.fromHTMLString(this.snapshotHTML)}hasCachedSnapshot(){return this.getCachedSnapshot()!=null}loadCachedSnapshot(){let e=this.getCachedSnapshot();if(e){let t=this.shouldIssueRequest();this.render(async()=>{this.cacheSnapshot(),this.isPageRefresh?this.adapter.visitRendered(this):(this.view.renderPromise&&await this.view.renderPromise,await this.renderPageSnapshot(e,t),this.adapter.visitRendered(this),t||this.complete())})}}followRedirect(){this.redirectedToLocation&&!this.followedRedirect&&this.response?.redirected&&(this.adapter.visitProposedToLocation(this.redirectedToLocation,{action:"replace",response:this.response,shouldCacheSnapshot:!1,willRender:!1}),this.followedRedirect=!0)}prepareRequest(e){this.acceptsStreamResponse&&e.acceptResponseType(Ui.contentType)}requestStarted(){this.startRequest()}requestPreventedHandlingResponse(e,t){}async requestSucceededWithResponse(e,t){let r=await t.responseHTML,{redirected:s,statusCode:n}=t;r==null?this.recordResponse({statusCode:Dr.contentTypeMismatch,redirected:s}):(this.redirectedToLocation=t.redirected?t.location:void 0,this.recordResponse({statusCode:n,responseHTML:r,redirected:s}))}async requestFailedWithResponse(e,t){let r=await t.responseHTML,{redirected:s,statusCode:n}=t;r==null?this.recordResponse({statusCode:Dr.contentTypeMismatch,redirected:s}):this.recordResponse({statusCode:n,responseHTML:r,redirected:s})}requestErrored(e,t){this.recordResponse({statusCode:Dr.networkFailure,redirected:!1})}requestFinished(){this.finishRequest()}performScroll(){!this.scrolled&&!this.view.forceReloaded&&!this.view.shouldPreserveScrollPosition(this)&&(this.action=="restore"?this.scrollToRestoredPosition()||this.scrollToAnchor()||this.view.scrollToTop():this.scrollToAnchor()||this.view.scrollToTop(),this.scrolled=!0)}scrollToRestoredPosition(){let{scrollPosition:e}=this.restorationData;if(e)return this.view.scrollToPosition(e),!0}scrollToAnchor(){let e=Es(this.location);if(e!=null)return this.view.scrollToAnchor(e),!0}recordTimingMetric(e){this.timingMetrics[e]=new Date().getTime()}getTimingMetrics(){return{...this.timingMetrics}}hasPreloadedResponse(){return typeof this.response=="object"}shouldIssueRequest(){return this.action=="restore"?!this.hasCachedSnapshot():this.willRender}cacheSnapshot(){this.snapshotCached||(this.view.cacheSnapshot(this.snapshot).then(e=>e&&this.visitCachedSnapshot(e)),this.snapshotCached=!0)}async render(e){this.cancelRender(),await new Promise(t=>{this.frame=document.visibilityState==="hidden"?setTimeout(()=>t(),0):requestAnimationFrame(()=>t())}),await e(),delete this.frame}async renderPageSnapshot(e,t){await this.viewTransitioner.renderChange(this.view.shouldTransitionTo(e),async()=>{await this.view.renderPage(e,t,this.willRender,this),this.performScroll()})}cancelRender(){this.frame&&(cancelAnimationFrame(this.frame),delete this.frame)}};function Fh(i){return i>=200&&i<300}var pl=class{progressBar=new cl;constructor(e){this.session=e}visitProposedToLocation(e,t){Ni(e,this.navigator.rootLocation)?this.navigator.startVisit(e,t?.restorationIdentifier||Bi(),t):window.location.href=e.toString()}visitStarted(e){this.location=e.location,this.redirectedToLocation=null,e.loadCachedSnapshot(),e.issueRequest()}visitRequestStarted(e){this.progressBar.setValue(0),e.hasCachedSnapshot()||e.action!="restore"?this.showVisitProgressBarAfterDelay():this.showProgressBar()}visitRequestCompleted(e){e.loadResponse(),e.response.redirected&&(this.redirectedToLocation=e.redirectedToLocation)}visitRequestFailedWithStatusCode(e,t){switch(t){case Dr.networkFailure:case Dr.timeoutFailure:case Dr.contentTypeMismatch:return this.reload({reason:"request_failed",context:{statusCode:t}});default:return e.loadResponse()}}visitRequestFinished(e){}visitCompleted(e){this.progressBar.setValue(1),this.hideVisitProgressBar()}pageInvalidated(e){this.reload(e)}visitFailed(e){this.progressBar.setValue(1),this.hideVisitProgressBar()}visitRendered(e){}linkPrefetchingIsEnabledForLocation(e){return!0}formSubmissionStarted(e){this.progressBar.setValue(0),this.showFormProgressBarAfterDelay()}formSubmissionFinished(e){this.progressBar.setValue(1),this.hideFormProgressBar()}showVisitProgressBarAfterDelay(){this.visitProgressBarTimeout=window.setTimeout(this.showProgressBar,this.session.progressBarDelay)}hideVisitProgressBar(){this.progressBar.hide(),this.visitProgressBarTimeout!=null&&(window.clearTimeout(this.visitProgressBarTimeout),delete this.visitProgressBarTimeout)}showFormProgressBarAfterDelay(){this.formProgressBarTimeout==null&&(this.formProgressBarTimeout=window.setTimeout(this.showProgressBar,this.session.progressBarDelay))}hideFormProgressBar(){this.progressBar.hide(),this.formProgressBarTimeout!=null&&(window.clearTimeout(this.formProgressBarTimeout),delete this.formProgressBarTimeout)}showProgressBar=()=>{this.progressBar.show()};reload(e){ve("turbo:reload",{detail:e}),window.location.href=(this.redirectedToLocation||this.location)?.toString()||window.location.href}get navigator(){return this.session.navigator}},fl=class{selector="[data-turbo-temporary]";started=!1;start(){this.started||(this.started=!0,addEventListener("turbo:before-cache",this.removeTemporaryElements,!1))}stop(){this.started&&(this.started=!1,removeEventListener("turbo:before-cache",this.removeTemporaryElements,!1))}removeTemporaryElements=e=>{for(let t of this.temporaryElements)t.remove()};get temporaryElements(){return[...document.querySelectorAll(this.selector)]}},ml=class{constructor(e,t){this.session=e,this.element=t,this.linkInterceptor=new Qn(this,t),this.formSubmitObserver=new ks(this,t)}start(){this.linkInterceptor.start(),this.formSubmitObserver.start()}stop(){this.linkInterceptor.stop(),this.formSubmitObserver.stop()}shouldInterceptLinkClick(e,t,r){return this.#t(e)}linkClickIntercepted(e,t,r){let s=this.#i(e);s&&s.delegate.linkClickIntercepted(e,t,r)}willSubmitForm(e,t){return e.closest("turbo-frame")==null&&this.#e(e,t)&&this.#t(e,t)}formSubmitted(e,t){let r=this.#i(e,t);r&&r.delegate.formSubmitted(e,t)}#e(e,t){let r=Il(e,t),s=this.element.ownerDocument.querySelector('meta[name="turbo-root"]'),n=Qe(s?.content??"/");return this.#t(e,t)&&Ni(r,n)}#t(e,t){if(e instanceof HTMLFormElement?this.session.submissionIsNavigatable(e,t):this.session.elementIsNavigatable(e)){let s=this.#i(e,t);return s?s!=e.closest("turbo-frame"):!1}else return!1}#i(e,t){let r=t?.getAttribute("data-turbo-frame")||e.getAttribute("data-turbo-frame");if(r&&r!="_top"){let s=this.element.querySelector(`#${r}:not([disabled])`);if(s instanceof qt)return s}}},gl=class{location;restorationIdentifier=Bi();restorationData={};started=!1;currentIndex=0;constructor(e){this.delegate=e}start(){this.started||(addEventListener("popstate",this.onPopState,!1),this.currentIndex=history.state?.turbo?.restorationIndex||0,this.started=!0,this.replace(new URL(window.location.href)))}stop(){this.started&&(removeEventListener("popstate",this.onPopState,!1),this.started=!1)}push(e,t){this.update(history.pushState,e,t)}replace(e,t){this.update(history.replaceState,e,t)}update(e,t,r=Bi()){e===history.pushState&&++this.currentIndex;let s={turbo:{restorationIdentifier:r,restorationIndex:this.currentIndex}};e.call(history,s,"",t.href),this.location=t,this.restorationIdentifier=r}getRestorationDataForIdentifier(e){return this.restorationData[e]||{}}updateRestorationData(e){let{restorationIdentifier:t}=this,r=this.restorationData[t];this.restorationData[t]={...r,...e}}assumeControlOfScrollRestoration(){this.previousScrollRestoration||(this.previousScrollRestoration=history.scrollRestoration??"auto",history.scrollRestoration="manual")}relinquishControlOfScrollRestoration(){this.previousScrollRestoration&&(history.scrollRestoration=this.previousScrollRestoration,delete this.previousScrollRestoration)}onPopState=e=>{let{turbo:t}=e.state||{};if(this.location=new URL(window.location.href),t){let{restorationIdentifier:r,restorationIndex:s}=t;this.restorationIdentifier=r;let n=s>this.currentIndex?"forward":"back";this.delegate.historyPoppedToLocationWithRestorationIdentifierAndDirection(this.location,r,n),this.currentIndex=s}else this.currentIndex++,this.delegate.historyPoppedWithEmptyState(this.location)}},bl=class{started=!1;#e=null;constructor(e,t){this.delegate=e,this.eventTarget=t}start(){this.started||(this.eventTarget.readyState==="loading"?this.eventTarget.addEventListener("DOMContentLoaded",this.#t,{once:!0}):this.#t())}stop(){this.started&&(this.eventTarget.removeEventListener("mouseenter",this.#i,{capture:!0,passive:!0}),this.eventTarget.removeEventListener("mouseleave",this.#r,{capture:!0,passive:!0}),this.eventTarget.removeEventListener("turbo:before-fetch-request",this.#o,!0),this.started=!1)}#t=()=>{this.eventTarget.addEventListener("mouseenter",this.#i,{capture:!0,passive:!0}),this.eventTarget.addEventListener("mouseleave",this.#r,{capture:!0,passive:!0}),this.eventTarget.addEventListener("turbo:before-fetch-request",this.#o,!0),this.started=!0};#i=e=>{if(Kn("turbo-prefetch")==="false")return;let t=e.target;if(t.matches&&t.matches("a[href]:not([target^=_]):not([download])")&&this.#l(t)){let s=t,n=Hh(s);if(this.delegate.canPrefetchRequestToLocation(s,n)){this.#e=s;let o=new nr(this,jt.get,n,new URLSearchParams,t);o.fetchOptions.priority="low",Mr.putLater(n,o,this.#n)}}};#r=e=>{e.target===this.#e&&this.#s()};#s=()=>{Mr.clear(),this.#e=null};#o=e=>{if(e.target.tagName!=="FORM"&&e.detail.fetchOptions.method==="GET"){let t=Mr.get(e.detail.url);t&&(e.detail.fetchRequest=t),Mr.clear()}};prepareRequest(e){let t=e.target;e.headers["X-Sec-Purpose"]="prefetch";let r=t.closest("turbo-frame"),s=t.getAttribute("data-turbo-frame")||r?.getAttribute("target")||r?.id;s&&s!=="_top"&&(e.headers["Turbo-Frame"]=s)}requestSucceededWithResponse(){}requestStarted(e){}requestErrored(e){}requestFinished(e){}requestPreventedHandlingResponse(e,t){}requestFailedWithResponse(e,t){}get#n(){return Number(Kn("turbo-prefetch-cache-time"))||Wh}#l(e){return!(!e.getAttribute("href")||ty(e)||iy(e)||ry(e)||sy(e)||oy(e))}},ty=i=>i.origin!==document.location.origin||!["http:","https:"].includes(i.protocol)||i.hasAttribute("target"),iy=i=>i.pathname+i.search===document.location.pathname+document.location.search||i.href.startsWith("#"),ry=i=>{if(i.getAttribute("data-turbo-prefetch")==="false"||i.getAttribute("data-turbo")==="false")return!0;let e=Ir(i,"[data-turbo-prefetch]");return!!(e&&e.getAttribute("data-turbo-prefetch")==="false")},sy=i=>{let e=i.getAttribute("data-turbo-method");return!!(e&&e.toLowerCase()!=="get"||ny(i)||i.hasAttribute("data-turbo-confirm")||i.hasAttribute("data-turbo-stream"))},ny=i=>i.hasAttribute("data-remote")||i.hasAttribute("data-behavior")||i.hasAttribute("data-confirm")||i.hasAttribute("data-method"),oy=i=>ve("turbo:before-prefetch",{target:i,cancelable:!0}).defaultPrevented,yl=class{constructor(e){this.delegate=e}proposeVisit(e,t={}){this.delegate.allowsVisitingLocationWithAction(e,t.action)&&this.delegate.visitProposedToLocation(e,t)}startVisit(e,t,r={}){this.stop(),this.currentVisit=new dl(this,Qe(e),t,{referrer:this.location,...r}),this.currentVisit.start()}submitForm(e,t){this.stop(),this.formSubmission=new Yn(this,e,t,!0),this.formSubmission.start()}stop(){this.formSubmission&&(this.formSubmission.stop(),delete this.formSubmission),this.currentVisit&&(this.currentVisit.cancel(),delete this.currentVisit)}get adapter(){return this.delegate.adapter}get view(){return this.delegate.view}get rootLocation(){return this.view.snapshot.rootLocation}get history(){return this.delegate.history}formSubmissionStarted(e){typeof this.adapter.formSubmissionStarted=="function"&&this.adapter.formSubmissionStarted(e)}async formSubmissionSucceededWithResponse(e,t){if(e==this.formSubmission){let r=await t.responseHTML;if(r){let s=e.isSafe;s||this.view.clearSnapshotCache();let{statusCode:n,redirected:o}=t,l={action:this.#e(e,t),shouldCacheSnapshot:s,response:{statusCode:n,responseHTML:r,redirected:o}};this.proposeVisit(t.location,l)}}}async formSubmissionFailedWithResponse(e,t){let r=await t.responseHTML;if(r){let s=Qt.fromHTMLString(r);t.serverError?await this.view.renderError(s,this.currentVisit):await this.view.renderPage(s,!1,!0,this.currentVisit),s.refreshScroll!=="preserve"&&this.view.scrollToTop(),this.view.clearSnapshotCache()}}formSubmissionErrored(e,t){console.error(t)}formSubmissionFinished(e){typeof this.adapter.formSubmissionFinished=="function"&&this.adapter.formSubmissionFinished(e)}linkPrefetchingIsEnabledForLocation(e){return typeof this.adapter.linkPrefetchingIsEnabledForLocation=="function"?this.adapter.linkPrefetchingIsEnabledForLocation(e):!0}visitStarted(e){this.delegate.visitStarted(e)}visitCompleted(e){this.delegate.visitCompleted(e),delete this.currentVisit}locationWithActionIsSamePage(e,t){return!1}get location(){return this.history.location}get restorationIdentifier(){return this.history.restorationIdentifier}#e(e,t){let{submitter:r,formElement:s}=e;return sr(r,s)||this.#t(t)}#t(e){return e.redirected&&e.location.href===this.location?.href?"replace":"advance"}},ir={initial:0,loading:1,interactive:2,complete:3},vl=class{stage=ir.initial;started=!1;constructor(e){this.delegate=e}start(){this.started||(this.stage==ir.initial&&(this.stage=ir.loading),document.addEventListener("readystatechange",this.interpretReadyState,!1),addEventListener("pagehide",this.pageWillUnload,!1),this.started=!0)}stop(){this.started&&(document.removeEventListener("readystatechange",this.interpretReadyState,!1),removeEventListener("pagehide",this.pageWillUnload,!1),this.started=!1)}interpretReadyState=()=>{let{readyState:e}=this;e=="interactive"?this.pageIsInteractive():e=="complete"&&this.pageIsComplete()};pageIsInteractive(){this.stage==ir.loading&&(this.stage=ir.interactive,this.delegate.pageBecameInteractive())}pageIsComplete(){this.pageIsInteractive(),this.stage==ir.interactive&&(this.stage=ir.complete,this.delegate.pageLoaded())}pageWillUnload=()=>{this.delegate.pageWillUnload()};get readyState(){return document.readyState}},wl=class{started=!1;constructor(e){this.delegate=e}start(){this.started||(addEventListener("scroll",this.onScroll,!1),this.onScroll(),this.started=!0)}stop(){this.started&&(removeEventListener("scroll",this.onScroll,!1),this.started=!1)}onScroll=()=>{this.updatePosition({x:window.pageXOffset,y:window.pageYOffset})};updatePosition(e){this.delegate.scrollPositionChanged(e)}},Sl=class{render({fragment:e}){to.preservingPermanentElements(this,ay(e),()=>{ly(e,()=>{cy(()=>{document.documentElement.appendChild(e)})})})}enteringBardo(e,t){t.replaceWith(e.cloneNode(!0))}leavingBardo(){}};function ay(i){let e=Kh(document.documentElement),t={};for(let r of e){let{id:s}=r;for(let n of i.querySelectorAll("turbo-stream")){let o=Gh(n.templateElement.content,s);o&&(t[s]=[r,o])}}return t}async function ly(i,e){let t=`turbo-stream-autofocus-${Bi()}`,r=i.querySelectorAll("turbo-stream"),s=uy(r),n=null;if(s&&(s.id?n=s.id:n=t,s.id=n),e(),await Ss(),(document.activeElement==null||document.activeElement==document.body)&&n){let a=document.getElementById(n);Ml(a)&&a.focus(),a&&a.id==t&&a.removeAttribute("id")}}async function cy(i){let[e,t]=await yb(i,()=>document.activeElement),r=e&&e.id;if(r){let s=document.getElementById(r);Ml(s)&&s!=t&&s.focus()}}function uy(i){for(let e of i){let t=Bh(e.templateElement.content);if(t)return t}return null}var El=class{sources=new Set;#e=!1;constructor(e){this.delegate=e}start(){this.#e||(this.#e=!0,addEventListener("turbo:before-fetch-response",this.inspectFetchResponse,!1))}stop(){this.#e&&(this.#e=!1,removeEventListener("turbo:before-fetch-response",this.inspectFetchResponse,!1))}connectStreamSource(e){this.streamSourceIsConnected(e)||(this.sources.add(e),e.addEventListener("message",this.receiveMessageEvent,!1))}disconnectStreamSource(e){this.streamSourceIsConnected(e)&&(this.sources.delete(e),e.removeEventListener("message",this.receiveMessageEvent,!1))}streamSourceIsConnected(e){return this.sources.has(e)}inspectFetchResponse=e=>{let t=hy(e);t&&dy(t)&&(e.preventDefault(),this.receiveMessageResponse(t))};receiveMessageEvent=e=>{this.#e&&typeof e.data=="string"&&this.receiveMessageHTML(e.data)};async receiveMessageResponse(e){let t=await e.responseHTML;t&&this.receiveMessageHTML(t)}receiveMessageHTML(e){this.delegate.receivedMessageFromStream(Ui.wrap(e))}};function hy(i){let e=i.detail?.fetchResponse;if(e instanceof xs)return e}function dy(i){return(i.contentType??"").startsWith(Ui.contentType)}var Tl=class extends _s{static renderElement(e,t){let{documentElement:r,body:s}=document;r.replaceChild(t,s)}async render(){this.replaceHeadAndBody(),this.activateScriptElements()}replaceHeadAndBody(){let{documentElement:e,head:t}=document;e.replaceChild(this.newHead,t),this.renderElement(this.currentElement,this.newElement)}activateScriptElements(){for(let e of this.scriptElements){let t=e.parentNode;if(t){let r=Ts(e);t.replaceChild(r,e)}}}get newHead(){return this.newSnapshot.headSnapshot.element}get scriptElements(){return document.documentElement.querySelectorAll("script")}},Cs=class extends _s{static renderElement(e,t){document.body&&t instanceof HTMLBodyElement?document.body.replaceWith(t):document.documentElement.appendChild(t)}get shouldRender(){return this.newSnapshot.isVisitable&&this.trackedElementsAreIdentical}get reloadReason(){if(!this.newSnapshot.isVisitable)return{reason:"turbo_visit_control_is_reload"};if(!this.trackedElementsAreIdentical)return{reason:"tracked_element_mismatch"}}async prepareToRender(){this.#e(),await this.mergeHead()}async render(){this.willRender&&await this.replaceBody()}finishRendering(){super.finishRendering(),this.isPreview||this.focusFirstAutofocusableElement()}get currentHeadSnapshot(){return this.currentSnapshot.headSnapshot}get newHeadSnapshot(){return this.newSnapshot.headSnapshot}get newElement(){return this.newSnapshot.element}#e(){let{documentElement:e}=this.currentSnapshot,{dir:t,lang:r}=this.newSnapshot;r?e.setAttribute("lang",r):e.removeAttribute("lang"),t?e.setAttribute("dir",t):e.removeAttribute("dir")}async mergeHead(){let e=this.mergeProvisionalElements(),t=this.copyNewHeadStylesheetElements();this.copyNewHeadScriptElements(),await e,await t,this.willRender&&this.removeUnusedDynamicStylesheetElements()}async replaceBody(){await this.preservingPermanentElements(async()=>{this.activateNewBody(),await this.assignNewBody()})}get trackedElementsAreIdentical(){return this.currentHeadSnapshot.trackedElementSignature==this.newHeadSnapshot.trackedElementSignature}async copyNewHeadStylesheetElements(){let e=[];for(let t of this.newHeadStylesheetElements)e.push(mb(t)),document.head.appendChild(t);await Promise.all(e)}copyNewHeadScriptElements(){for(let e of this.newHeadScriptElements)document.head.appendChild(Ts(e))}removeUnusedDynamicStylesheetElements(){for(let e of this.unusedDynamicStylesheetElements)document.head.removeChild(e)}async mergeProvisionalElements(){let e=[...this.newHeadProvisionalElements];for(let t of this.currentHeadProvisionalElements)this.isCurrentElementInElementList(t,e)||document.head.removeChild(t);for(let t of e)document.head.appendChild(t)}isCurrentElementInElementList(e,t){for(let[r,s]of t.entries()){if(e.tagName=="TITLE"){if(s.tagName!="TITLE")continue;if(e.innerHTML==s.innerHTML)return t.splice(r,1),!0}if(s.isEqualNode(e))return t.splice(r,1),!0}return!1}removeCurrentHeadProvisionalElements(){for(let e of this.currentHeadProvisionalElements)document.head.removeChild(e)}copyNewHeadProvisionalElements(){for(let e of this.newHeadProvisionalElements)document.head.appendChild(e)}activateNewBody(){document.adoptNode(this.newElement),this.removeNoscriptElements(),this.activateNewBodyScriptElements()}removeNoscriptElements(){for(let e of this.newElement.querySelectorAll("noscript"))e.remove()}activateNewBodyScriptElements(){for(let e of this.newBodyScriptElements){let t=Ts(e);e.replaceWith(t)}}async assignNewBody(){await this.renderElement(this.currentElement,this.newElement)}get unusedDynamicStylesheetElements(){return this.oldHeadStylesheetElements.filter(e=>e.getAttribute("data-turbo-track")==="dynamic")}get oldHeadStylesheetElements(){return this.currentHeadSnapshot.getStylesheetElementsNotInSnapshot(this.newHeadSnapshot)}get newHeadStylesheetElements(){return this.newHeadSnapshot.getStylesheetElementsNotInSnapshot(this.currentHeadSnapshot)}get newHeadScriptElements(){return this.newHeadSnapshot.getScriptElementsNotInSnapshot(this.currentHeadSnapshot)}get currentHeadProvisionalElements(){return this.currentHeadSnapshot.provisionalElements}get newHeadProvisionalElements(){return this.newHeadSnapshot.provisionalElements}get newBodyScriptElements(){return this.newElement.querySelectorAll("script")}},ro=class extends Cs{static renderElement(e,t){so(e,t,{callbacks:{beforeNodeMorphed:(r,s)=>Xh(r,s)&&!Yh(r)?(r.reload(),!1):!0}}),ve("turbo:morph",{detail:{currentElement:e,newElement:t}})}async preservingPermanentElements(e){return await e()}get renderMethod(){return"morph"}get shouldAutofocus(){return!1}},xl=class extends Xn{constructor(e){super(e,$n)}get snapshots(){return this.entries}},kl=class extends Zn{snapshotCache=new xl(10);lastRenderedLocation=new URL(location.href);forceReloaded=!1;shouldTransitionTo(e){return this.snapshot.prefersViewTransitions&&e.prefersViewTransitions}renderPage(e,t=!1,r=!0,s){let o=this.isPageRefresh(s)&&(s?.refresh?.method||this.snapshot.refreshMethod)==="morph"?ro:Cs,a=new o(this.snapshot,e,t,r);return a.shouldRender?s?.changeHistory():this.forceReloaded=!0,this.render(a)}renderError(e,t){t?.changeHistory();let r=new Tl(this.snapshot,e,!1);return this.render(r)}clearSnapshotCache(){this.snapshotCache.clear()}async cacheSnapshot(e=this.snapshot){if(e.isCacheable){this.delegate.viewWillCacheSnapshot();let{lastRenderedLocation:t}=this;await Lh();let r=e.clone();return this.snapshotCache.put(t,r),r}}getCachedSnapshotForLocation(e){return this.snapshotCache.get(e)}isPageRefresh(e){return!e||this.lastRenderedLocation.pathname===e.location.pathname&&e.action==="replace"}shouldPreserveScrollPosition(e){return this.isPageRefresh(e)&&(e?.refresh?.scroll||this.snapshot.refreshScroll)==="preserve"}get snapshot(){return Qt.fromElement(this.element)}},_l=class{selector="a[data-turbo-preload]";constructor(e,t){this.delegate=e,this.snapshotCache=t}start(){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",this.#e):this.preloadOnLoadLinksForView(document.body)}stop(){document.removeEventListener("DOMContentLoaded",this.#e)}preloadOnLoadLinksForView(e){for(let t of e.querySelectorAll(this.selector))this.delegate.shouldPreloadLink(t)&&this.preloadURL(t)}async preloadURL(e){let t=new URL(e.href);if(this.snapshotCache.has(t))return;await new nr(this,jt.get,t,new URLSearchParams,e).perform()}prepareRequest(e){e.headers["X-Sec-Purpose"]="prefetch"}async requestSucceededWithResponse(e,t){try{let r=await t.responseHTML,s=Qt.fromHTMLString(r);this.snapshotCache.put(e.url,s)}catch{}}requestStarted(e){}requestErrored(e){}requestFinished(e){}requestPreventedHandlingResponse(e,t){}requestFailedWithResponse(e,t){}#e=()=>{this.preloadOnLoadLinksForView(document.body)}},Al=class{constructor(e){this.session=e}clear(){this.session.clearCache()}resetCacheControl(){this.#e("")}exemptPageFromCache(){this.#e("no-cache")}exemptPageFromPreview(){this.#e("no-preview")}#e(e){bb("turbo-cache-control",e)}},Cl=class{navigator=new yl(this);history=new gl(this);view=new kl(this,document.documentElement);adapter=new pl(this);pageObserver=new vl(this);cacheObserver=new fl;linkPrefetchObserver=new bl(this,document);linkClickObserver=new Jn(this,window);formSubmitObserver=new ks(this,document);scrollObserver=new wl(this);streamObserver=new El(this);formLinkClickObserver=new eo(this,document.documentElement);frameRedirector=new ml(this,document.documentElement);streamMessageRenderer=new Sl;cache=new Al(this);enabled=!0;started=!1;#e=150;constructor(e){this.recentRequests=e,this.preloader=new _l(this,this.view.snapshotCache),this.debouncedRefresh=this.refresh,this.pageRefreshDebouncePeriod=this.pageRefreshDebouncePeriod}start(){this.started||(this.pageObserver.start(),this.cacheObserver.start(),this.linkPrefetchObserver.start(),this.formLinkClickObserver.start(),this.linkClickObserver.start(),this.formSubmitObserver.start(),this.scrollObserver.start(),this.streamObserver.start(),this.frameRedirector.start(),this.history.start(),this.preloader.start(),this.started=!0,this.enabled=!0)}disable(){this.enabled=!1}stop(){this.started&&(this.pageObserver.stop(),this.cacheObserver.stop(),this.linkPrefetchObserver.stop(),this.formLinkClickObserver.stop(),this.linkClickObserver.stop(),this.formSubmitObserver.stop(),this.scrollObserver.stop(),this.streamObserver.stop(),this.frameRedirector.stop(),this.history.stop(),this.preloader.stop(),this.started=!1)}registerAdapter(e){this.adapter=e}visit(e,t={}){let r=t.frame?document.getElementById(t.frame):null;if(r instanceof qt){let s=t.action||sr(r);r.delegate.proposeVisitIfNavigatedWithAction(r,s),r.src=e.toString()}else this.navigator.proposeVisit(Qe(e),t)}refresh(e,t={}){t=typeof t=="string"?{requestId:t}:t;let{method:r,requestId:s,scroll:n}=t,o=s&&this.recentRequests.has(s),a=e===document.baseURI;!o&&!this.navigator.currentVisit&&a&&this.visit(e,{action:"replace",shouldCacheSnapshot:!1,refresh:{method:r,scroll:n}})}connectStreamSource(e){this.streamObserver.connectStreamSource(e)}disconnectStreamSource(e){this.streamObserver.disconnectStreamSource(e)}renderStreamMessage(e){this.streamMessageRenderer.render(Ui.wrap(e))}clearCache(){this.view.clearSnapshotCache()}setProgressBarDelay(e){console.warn("Please replace `session.setProgressBarDelay(delay)` with `session.progressBarDelay = delay`. The function is deprecated and will be removed in a future version of Turbo.`"),this.progressBarDelay=e}set progressBarDelay(e){We.drive.progressBarDelay=e}get progressBarDelay(){return We.drive.progressBarDelay}set drive(e){We.drive.enabled=e}get drive(){return We.drive.enabled}set formMode(e){We.forms.mode=e}get formMode(){return We.forms.mode}get location(){return this.history.location}get restorationIdentifier(){return this.history.restorationIdentifier}get pageRefreshDebouncePeriod(){return this.#e}set pageRefreshDebouncePeriod(e){this.refresh=vb(this.debouncedRefresh.bind(this),e),this.#e=e}shouldPreloadLink(e){let t=e.hasAttribute("data-turbo-method"),r=e.hasAttribute("data-turbo-stream"),s=e.getAttribute("data-turbo-frame"),n=s=="_top"?null:document.getElementById(s)||Ir(e,"turbo-frame:not([disabled])");if(t||r||n instanceof qt)return!1;{let o=new URL(e.href);return this.elementIsNavigatable(e)&&Ni(o,this.snapshot.rootLocation)}}historyPoppedToLocationWithRestorationIdentifierAndDirection(e,t,r){this.enabled?this.navigator.startVisit(e,t,{action:"restore",historyChanged:!0,direction:r}):this.adapter.pageInvalidated({reason:"turbo_disabled"})}historyPoppedWithEmptyState(e){this.history.replace(e),this.view.lastRenderedLocation=e,this.view.cacheSnapshot()}scrollPositionChanged(e){this.history.updateRestorationData({scrollPosition:e})}willSubmitFormLinkToLocation(e,t){return this.elementIsNavigatable(e)&&Ni(t,this.snapshot.rootLocation)}submittedFormLinkToLocation(){}canPrefetchRequestToLocation(e,t){return this.elementIsNavigatable(e)&&Ni(t,this.snapshot.rootLocation)&&this.navigator.linkPrefetchingIsEnabledForLocation(t)}willFollowLinkToLocation(e,t,r){return this.elementIsNavigatable(e)&&Ni(t,this.snapshot.rootLocation)&&this.applicationAllowsFollowingLinkToLocation(e,t,r)}followedLinkToLocation(e,t){let r=this.getActionForLink(e),s=e.hasAttribute("data-turbo-stream");this.visit(t.href,{action:r,acceptsStreamResponse:s})}allowsVisitingLocationWithAction(e,t){return this.applicationAllowsVisitingLocation(e)}visitProposedToLocation(e,t){Ph(e),this.adapter.visitProposedToLocation(e,t)}visitStarted(e){e.acceptsStreamResponse||(Wn(document.documentElement),this.view.markVisitDirection(e.direction)),Ph(e.location),this.notifyApplicationAfterVisitingLocation(e.location,e.action)}visitCompleted(e){this.view.unmarkVisitDirection(),Gn(document.documentElement),this.notifyApplicationAfterPageLoad(e.getTimingMetrics())}willSubmitForm(e,t){let r=Il(e,t);return this.submissionIsNavigatable(e,t)&&Ni(Qe(r),this.snapshot.rootLocation)}formSubmitted(e,t){this.navigator.submitForm(e,t)}pageBecameInteractive(){this.view.lastRenderedLocation=this.location,this.notifyApplicationAfterPageLoad()}pageLoaded(){this.history.assumeControlOfScrollRestoration()}pageWillUnload(){this.history.relinquishControlOfScrollRestoration()}receivedMessageFromStream(e){this.renderStreamMessage(e)}viewWillCacheSnapshot(){this.notifyApplicationBeforeCachingSnapshot()}allowsImmediateRender({element:e},t){let r=this.notifyApplicationBeforeRender(e,t),{defaultPrevented:s,detail:{render:n}}=r;return this.view.renderer&&n&&(this.view.renderer.renderElement=n),!s}viewRenderedSnapshot(e,t,r){this.view.lastRenderedLocation=this.history.location,this.notifyApplicationAfterRender(r)}preloadOnLoadLinksForView(e){this.preloader.preloadOnLoadLinksForView(e)}viewInvalidated(e){this.adapter.pageInvalidated(e)}frameLoaded(e){this.notifyApplicationAfterFrameLoad(e)}frameRendered(e,t){this.notifyApplicationAfterFrameRender(e,t)}applicationAllowsFollowingLinkToLocation(e,t,r){return!this.notifyApplicationAfterClickingLinkToLocation(e,t,r).defaultPrevented}applicationAllowsVisitingLocation(e){return!this.notifyApplicationBeforeVisitingLocation(e).defaultPrevented}notifyApplicationAfterClickingLinkToLocation(e,t,r){return ve("turbo:click",{target:e,detail:{url:t.href,originalEvent:r},cancelable:!0})}notifyApplicationBeforeVisitingLocation(e){return ve("turbo:before-visit",{detail:{url:e.href},cancelable:!0})}notifyApplicationAfterVisitingLocation(e,t){return ve("turbo:visit",{detail:{url:e.href,action:t}})}notifyApplicationBeforeCachingSnapshot(){return ve("turbo:before-cache")}notifyApplicationBeforeRender(e,t){return ve("turbo:before-render",{detail:{newBody:e,...t},cancelable:!0})}notifyApplicationAfterRender(e){return ve("turbo:render",{detail:{renderMethod:e}})}notifyApplicationAfterPageLoad(e={}){return ve("turbo:load",{detail:{url:this.location.href,timing:e}})}notifyApplicationAfterFrameLoad(e){return ve("turbo:frame-load",{target:e})}notifyApplicationAfterFrameRender(e,t){return ve("turbo:frame-render",{detail:{fetchResponse:e},target:t,cancelable:!0})}submissionIsNavigatable(e,t){if(We.forms.mode=="off")return!1;{let r=t?this.elementIsNavigatable(t):!0;return We.forms.mode=="optin"?r&&e.closest('[data-turbo="true"]')!=null:r&&this.elementIsNavigatable(e)}}elementIsNavigatable(e){let t=Ir(e,"[data-turbo]"),r=Ir(e,"turbo-frame");return We.drive.enabled||r?t?t.getAttribute("data-turbo")!="false":!0:t?t.getAttribute("data-turbo")=="true":!1}getActionForLink(e){return sr(e)||"advance"}get snapshot(){return this.view.snapshot}};function Ph(i){Object.defineProperties(i,py)}var py={absoluteURL:{get(){return this.toString()}}},Me=new Cl(qh),{cache:fy,navigator:my}=Me;function Zh(){Me.start()}function gy(i){Me.registerAdapter(i)}function by(i,e){Me.visit(i,e)}function Qh(i){Me.connectStreamSource(i)}function Jh(i){Me.disconnectStreamSource(i)}function yy(i){Me.renderStreamMessage(i)}function vy(i){console.warn("Please replace `Turbo.setProgressBarDelay(delay)` with `Turbo.config.drive.progressBarDelay = delay`. The top-level function is deprecated and will be removed in a future version of Turbo.`"),We.drive.progressBarDelay=i}function wy(i){console.warn("Please replace `Turbo.setConfirmMethod(confirmMethod)` with `Turbo.config.forms.confirm = confirmMethod`. The top-level function is deprecated and will be removed in a future version of Turbo.`"),We.forms.confirm=i}function Sy(i){console.warn("Please replace `Turbo.setFormMode(mode)` with `Turbo.config.forms.mode = mode`. The top-level function is deprecated and will be removed in a future version of Turbo.`"),We.forms.mode=i}function Ey(i,e){ro.renderElement(i,e)}function Ty(i,e){io.renderElement(i,e)}var xy=Object.freeze({__proto__:null,navigator:my,session:Me,cache:fy,PageRenderer:Cs,PageSnapshot:Qt,FrameRenderer:As,fetch:$h,config:We,start:Zh,registerAdapter:gy,visit:by,connectStreamSource:Qh,disconnectStreamSource:Jh,renderStreamMessage:yy,setProgressBarDelay:vy,setConfirmMethod:wy,setFormMode:Sy,morphBodyElements:Ey,morphTurboFrameElements:Ty,morphChildren:Bl,morphElements:so}),Fl=class extends Error{},Pl=class{fetchResponseLoaded=e=>Promise.resolve();#e=null;#t=()=>{};#i=!1;#r=!1;#s=new Set;#o=!1;action=null;constructor(e){this.element=e,this.view=new al(this,this.element),this.appearanceObserver=new nl(this,this.element),this.formLinkClickObserver=new eo(this,this.element),this.linkInterceptor=new Qn(this,this.element),this.restorationIdentifier=Bi(),this.formSubmitObserver=new ks(this,this.element)}connect(){this.#i||(this.#i=!0,this.loadingStyle==Lr.lazy?this.appearanceObserver.start():this.#n(),this.formLinkClickObserver.start(),this.linkInterceptor.start(),this.formSubmitObserver.start())}disconnect(){this.#i&&(this.#i=!1,this.appearanceObserver.stop(),this.formLinkClickObserver.stop(),this.linkInterceptor.stop(),this.formSubmitObserver.stop(),this.element.hasAttribute("recurse")||this.#e?.cancel())}disabledChanged(){this.disabled?this.#e?.cancel():this.loadingStyle==Lr.eager&&this.#n()}sourceURLChanged(){this.#y("src")||(this.sourceURL||this.#e?.cancel(),this.element.isConnected&&(this.complete=!1),(this.loadingStyle==Lr.eager||this.#r)&&this.#n())}sourceURLReloaded(){let{refresh:e,src:t}=this.element;return this.#o=t&&e==="morph",this.element.removeAttribute("complete"),this.element.src=null,this.element.src=t,this.element.loaded}loadingStyleChanged(){this.loadingStyle==Lr.lazy?this.appearanceObserver.start():(this.appearanceObserver.stop(),this.#n())}async#n(){this.enabled&&this.isActive&&!this.complete&&this.sourceURL&&(this.element.loaded=this.#a(Qe(this.sourceURL)),this.appearanceObserver.stop(),await this.element.loaded,this.#r=!0)}async loadResponse(e){(e.redirected||e.succeeded&&e.isHTML)&&(this.sourceURL=e.response.url);try{let t=await e.responseHTML;if(t){let r=Mh(t);Qt.fromDocument(r).isVisitable?await this.#l(e,r):await this.#c(e)}}finally{this.#o=!1,this.fetchResponseLoaded=()=>Promise.resolve()}}elementAppearedInViewport(e){this.proposeVisitIfNavigatedWithAction(e,sr(e)),this.#n()}willSubmitFormLinkToLocation(e){return this.#b(e)}submittedFormLinkToLocation(e,t,r){let s=this.#p(e);s&&r.setAttribute("data-turbo-frame",s.id)}shouldInterceptLinkClick(e,t,r){return this.#b(e)}linkClickIntercepted(e,t){this.#d(e,t)}willSubmitForm(e,t){return e.closest("turbo-frame")==this.element&&this.#b(e,t)}formSubmitted(e,t){this.formSubmission&&this.formSubmission.stop(),this.formSubmission=new Yn(this,e,t);let{fetchRequest:r}=this.formSubmission,s=this.#p(e,t);this.prepareRequest(r,s),this.formSubmission.start()}prepareRequest(e,t=this){e.headers["Turbo-Frame"]=t.id,this.currentNavigationElement?.hasAttribute("data-turbo-stream")&&e.acceptResponseType(Ui.contentType)}requestStarted(e){Wn(this.element)}requestPreventedHandlingResponse(e,t){this.#t()}async requestSucceededWithResponse(e,t){await this.loadResponse(t),this.#t()}async requestFailedWithResponse(e,t){await this.loadResponse(t),this.#t()}requestErrored(e,t){console.error(t),this.#t()}requestFinished(e){Gn(this.element)}formSubmissionStarted({formElement:e}){Wn(e,this.#p(e))}formSubmissionSucceededWithResponse(e,t){let r=this.#p(e.formElement,e.submitter);r.delegate.proposeVisitIfNavigatedWithAction(r,sr(e.submitter,e.formElement,r)),r.delegate.loadResponse(t),e.isSafe||Me.clearCache()}formSubmissionFailedWithResponse(e,t){this.element.delegate.loadResponse(t),Me.clearCache()}formSubmissionErrored(e,t){console.error(t)}formSubmissionFinished({formElement:e}){Gn(e,this.#p(e))}allowsImmediateRender({element:e},t){let r=ve("turbo:before-frame-render",{target:this.element,detail:{newFrame:e,...t},cancelable:!0}),{defaultPrevented:s,detail:{render:n}}=r;return this.view.renderer&&n&&(this.view.renderer.renderElement=n),!s}viewRenderedSnapshot(e,t,r){}preloadOnLoadLinksForView(e){Me.preloadOnLoadLinksForView(e)}viewInvalidated(){}willRenderFrame(e,t){this.previousFrameElement=e.cloneNode(!0)}visitCachedSnapshot=({element:e})=>{let t=e.querySelector("#"+this.element.id);t&&this.previousFrameElement&&t.replaceChildren(...this.previousFrameElement.children),delete this.previousFrameElement};async#l(e,t){let r=await this.extractForeignFrameElement(t.body),s=this.#o?io:As;if(r){let n=new Nr(r),o=new s(this,this.view.snapshot,n,!1,!1);this.view.renderPromise&&await this.view.renderPromise,this.changeHistory(),await this.view.render(o),this.complete=!0,Me.frameRendered(e,this.element),Me.frameLoaded(this.element),await this.fetchResponseLoaded(e)}else this.#h(e)&&this.#u(e)}async#a(e){let t=new nr(this,jt.get,e,new URLSearchParams,this.element);return this.#e?.cancel(),this.#e=t,new Promise(r=>{this.#t=()=>{this.#t=()=>{},this.#e=null,r()},t.perform()})}#d(e,t,r){let s=this.#p(e,r);s.delegate.proposeVisitIfNavigatedWithAction(s,sr(r,e,s)),this.#S(e,()=>{s.src=t})}proposeVisitIfNavigatedWithAction(e,t=null){if(this.action=t,this.action){let r=Qt.fromElement(e).clone(),{visitCachedSnapshot:s}=e.delegate;e.delegate.fetchResponseLoaded=async n=>{if(e.src){let{statusCode:o,redirected:a}=n,l=await n.responseHTML,f={response:{statusCode:o,redirected:a,responseHTML:l},visitCachedSnapshot:s,willRender:!1,updateHistory:!1,restorationIdentifier:this.restorationIdentifier,snapshot:r};this.action&&(f.action=this.action),Me.visit(e.src,f)}}}}changeHistory(){if(this.action){let e=Dh(this.action);Me.history.update(e,Qe(this.element.src||""),this.restorationIdentifier)}}async#c(e){console.warn(`The response (${e.statusCode}) from <turbo-frame id="${this.element.id}"> is performing a full page visit due to turbo-visit-control.`),await this.#g(e.response)}#h(e){this.element.setAttribute("complete","");let t=e.response,r=async(n,o)=>{n instanceof Response?this.#g(n):Me.visit(n,o)};return!ve("turbo:frame-missing",{target:this.element,detail:{response:t,visit:r},cancelable:!0}).defaultPrevented}#u(e){this.view.missing(),this.#f(e)}#f(e){let t=`The response (${e.statusCode}) did not contain the expected <turbo-frame id="${this.element.id}"> and will be ignored. To perform a full page visit instead, set turbo-visit-control to reload.`;throw new Fl(t)}async#g(e){let t=new xs(e),r=await t.responseHTML,{location:s,redirected:n,statusCode:o}=t;return Me.visit(s,{response:{redirected:n,statusCode:o,responseHTML:r}})}#p(e,t){let r=Vn("data-turbo-frame",t,e)||this.element.getAttribute("target"),s=this.#m(r);return s instanceof qt?s:this.element}async extractForeignFrameElement(e){let t,r=CSS.escape(this.id);try{if(t=Oh(e.querySelector(`turbo-frame#${r}`),this.sourceURL),t)return t;if(t=Oh(e.querySelector(`turbo-frame[src][recurse~=${r}]`),this.sourceURL),t)return await t.loaded,await this.extractForeignFrameElement(t)}catch(s){return console.error(s),new qt}return null}#w(e,t){let r=Il(e,t);return Ni(Qe(r),this.rootLocation)}#b(e,t){let r=Vn("data-turbo-frame",t,e)||this.element.getAttribute("target");if(e instanceof HTMLFormElement&&!this.#w(e,t)||!this.enabled||r=="_top")return!1;if(r){let s=this.#m(r);if(s)return!s.disabled;if(r=="_parent")return!1}return!(!Me.elementIsNavigatable(e)||t&&!Me.elementIsNavigatable(t))}get id(){return this.element.id}get disabled(){return this.element.disabled}get enabled(){return!this.disabled}get sourceURL(){if(this.element.src)return this.element.src}set sourceURL(e){this.#T("src",()=>{this.element.src=e??null})}get loadingStyle(){return this.element.loading}get isLoading(){return this.formSubmission!==void 0||this.#t()!==void 0}get complete(){return this.element.hasAttribute("complete")}set complete(e){e?this.element.setAttribute("complete",""):this.element.removeAttribute("complete")}get isActive(){return this.element.isActive&&this.#i}get rootLocation(){let t=this.element.ownerDocument.querySelector('meta[name="turbo-root"]')?.content??"/";return Qe(t)}#y(e){return this.#s.has(e)}#T(e,t){this.#s.add(e),t(),this.#s.delete(e)}#S(e,t){this.currentNavigationElement=e,t(),delete this.currentNavigationElement}#m(e){if(e!=null){let t=e==="_parent"?this.element.parentElement.closest("turbo-frame"):document.getElementById(e);if(t instanceof qt)return t}}};function Oh(i,e){if(i){let t=i.getAttribute("src");if(t!=null&&e!=null&&jh(t,e))throw new Error(`Matching <turbo-frame id="${i.id}"> element has a source URL which references itself`);if(i.ownerDocument!==document&&(i=document.importNode(i,!0)),i instanceof qt)return i.connectedCallback(),i.disconnectedCallback(),i}}var ed={after(){this.removeDuplicateTargetSiblings(),this.targetElements.forEach(i=>i.parentElement?.insertBefore(this.templateContent,i.nextSibling))},append(){this.removeDuplicateTargetChildren(),this.targetElements.forEach(i=>i.append(this.templateContent))},before(){this.removeDuplicateTargetSiblings(),this.targetElements.forEach(i=>i.parentElement?.insertBefore(this.templateContent,i))},prepend(){this.removeDuplicateTargetChildren(),this.targetElements.forEach(i=>i.prepend(this.templateContent))},remove(){this.targetElements.forEach(i=>i.remove())},replace(){let i=this.getAttribute("method");this.targetElements.forEach(e=>{i==="morph"?so(e,this.templateContent):e.replaceWith(this.templateContent)})},update(){let i=this.getAttribute("method");this.targetElements.forEach(e=>{i==="morph"?Bl(e,this.templateContent):(e.innerHTML="",e.append(this.templateContent))})},refresh(){let i=this.getAttribute("method"),e=this.requestId,t=this.getAttribute("scroll");Me.refresh(this.baseURI,{method:i,requestId:e,scroll:t})}},Ol=class i extends HTMLElement{static async renderElement(e){await e.performAction()}async connectedCallback(){try{await this.render()}catch(e){console.error(e)}finally{this.disconnect()}}async render(){return this.renderPromise??=(async()=>{let e=this.beforeRenderEvent;this.dispatchEvent(e)&&(await Ss(),await e.detail.render(this))})()}disconnect(){try{this.remove()}catch{}}removeDuplicateTargetChildren(){this.duplicateChildren.forEach(e=>e.remove())}get duplicateChildren(){let e=this.targetElements.flatMap(r=>[...r.children]).filter(r=>!!r.getAttribute("id")),t=[...this.templateContent?.children||[]].filter(r=>!!r.getAttribute("id")).map(r=>r.getAttribute("id"));return e.filter(r=>t.includes(r.getAttribute("id")))}removeDuplicateTargetSiblings(){this.duplicateSiblings.forEach(e=>e.remove())}get duplicateSiblings(){let e=this.targetElements.flatMap(r=>[...r.parentElement.children]).filter(r=>!!r.id),t=[...this.templateContent?.children||[]].filter(r=>!!r.id).map(r=>r.id);return e.filter(r=>t.includes(r.id))}get performAction(){if(this.action){let e=ed[this.action];if(e)return e;this.#e("unknown action")}this.#e("action attribute is missing")}get targetElements(){if(this.target)return this.targetElementsById;if(this.targets)return this.targetElementsByQuery;this.#e("target or targets attribute is missing")}get templateContent(){return this.templateElement.content.cloneNode(!0)}get templateElement(){if(this.firstElementChild===null){let e=this.ownerDocument.createElement("template");return this.appendChild(e),e}else if(this.firstElementChild instanceof HTMLTemplateElement)return this.firstElementChild;this.#e("first child element must be a <template> element")}get action(){return this.getAttribute("action")}get target(){return this.getAttribute("target")}get targets(){return this.getAttribute("targets")}get requestId(){return this.getAttribute("request-id")}#e(e){throw new Error(`${this.description}: ${e}`)}get description(){return(this.outerHTML.match(/<[^>]+>/)??[])[0]??"<turbo-stream>"}get beforeRenderEvent(){return new CustomEvent("turbo:before-stream-render",{bubbles:!0,cancelable:!0,detail:{newStream:this,render:i.renderElement}})}get targetElementsById(){let e=this.ownerDocument?.getElementById(this.target);return e!==null?[e]:[]}get targetElementsByQuery(){let e=this.ownerDocument?.querySelectorAll(this.targets);return e.length!==0?Array.prototype.slice.call(e):[]}},Rl=class extends HTMLElement{streamSource=null;connectedCallback(){this.streamSource=this.src.match(/^ws{1,2}:/)?new WebSocket(this.src):new EventSource(this.src),Qh(this.streamSource)}disconnectedCallback(){this.streamSource&&(this.streamSource.close(),Jh(this.streamSource))}get src(){return this.getAttribute("src")||""}};qt.delegateConstructor=Pl;customElements.get("turbo-frame")===void 0&&customElements.define("turbo-frame",qt);customElements.get("turbo-stream")===void 0&&customElements.define("turbo-stream",Ol);customElements.get("turbo-stream-source")===void 0&&customElements.define("turbo-stream-source",Rl);(()=>{let i=document.currentScript;if(!i||i.hasAttribute("data-turbo-suppress-warning"))return;let e=i.parentElement;for(;e;){if(e==document.body)return console.warn(Ih`
|
|
18
|
+
`}hiding=!1;value=0;visible=!1;constructor(){this.stylesheetElement=this.createStylesheetElement(),this.progressElement=this.createProgressElement(),this.installStylesheetElement(),this.setValue(0)}show(){this.visible||(this.visible=!0,this.installProgressElement(),this.startTrickling())}hide(){this.visible&&!this.hiding&&(this.hiding=!0,this.fadeProgressElement(()=>{this.uninstallProgressElement(),this.stopTrickling(),this.visible=!1,this.hiding=!1}))}setValue(e){this.value=e,this.refresh()}installStylesheetElement(){document.head.insertBefore(this.stylesheetElement,document.head.firstChild)}installProgressElement(){this.progressElement.style.width="0",this.progressElement.style.opacity="1",document.documentElement.insertBefore(this.progressElement,document.body),this.refresh()}fadeProgressElement(e){this.progressElement.style.opacity="0",setTimeout(e,i.animationDuration*1.5)}uninstallProgressElement(){this.progressElement.parentNode&&document.documentElement.removeChild(this.progressElement)}startTrickling(){this.trickleInterval||(this.trickleInterval=window.setInterval(this.trickle,i.animationDuration))}stopTrickling(){window.clearInterval(this.trickleInterval),delete this.trickleInterval}trickle=()=>{this.setValue(this.value+Math.random()/100)};refresh(){requestAnimationFrame(()=>{this.progressElement.style.width=`${10+this.value*90}%`})}createStylesheetElement(){let e=document.createElement("style");e.type="text/css",e.textContent=i.defaultCSS;let t=Nh();return t&&(e.nonce=t),e}createProgressElement(){let e=document.createElement("div");return e.className="turbo-progress-bar",e}},ul=class extends Nr{detailsByOuterHTML=this.children.filter(e=>!Xb(e)).map(e=>Qb(e)).reduce((e,t)=>{let{outerHTML:r}=t,s=r in e?e[r]:{type:Wb(t),tracked:Gb(t),elements:[]};return{...e,[r]:{...s,elements:[...s.elements,t]}}},{});get trackedElementSignature(){return Object.keys(this.detailsByOuterHTML).filter(e=>this.detailsByOuterHTML[e].tracked).join("")}getScriptElementsNotInSnapshot(e){return this.getElementsMatchingTypeNotInSnapshot("script",e)}getStylesheetElementsNotInSnapshot(e){return this.getElementsMatchingTypeNotInSnapshot("stylesheet",e)}getElementsMatchingTypeNotInSnapshot(e,t){return Object.keys(this.detailsByOuterHTML).filter(r=>!(r in t.detailsByOuterHTML)).map(r=>this.detailsByOuterHTML[r]).filter(({type:r})=>r==e).map(({elements:[r]})=>r)}get provisionalElements(){return Object.keys(this.detailsByOuterHTML).reduce((e,t)=>{let{type:r,tracked:s,elements:n}=this.detailsByOuterHTML[t];return r==null&&!s?[...e,...n]:n.length>1?[...e,...n.slice(1)]:e},[])}getMetaValue(e){let t=this.findMetaElementByName(e);return t?t.getAttribute("content"):null}findMetaElementByName(e){return Object.keys(this.detailsByOuterHTML).reduce((t,r)=>{let{elements:[s]}=this.detailsByOuterHTML[r];return Zb(s,e)?s:t},void 0|void 0)}};function Wb(i){if(Kb(i))return"script";if(Yb(i))return"stylesheet"}function Gb(i){return i.getAttribute("data-turbo-track")=="reload"}function Kb(i){return i.localName=="script"}function Xb(i){return i.localName=="noscript"}function Yb(i){let e=i.localName;return e=="style"||e=="link"&&i.getAttribute("rel")=="stylesheet"}function Zb(i,e){return i.localName=="meta"&&i.getAttribute("name")==e}function Qb(i){return i.hasAttribute("nonce")&&i.setAttribute("nonce",""),i}var Qt=class i extends Nr{static fromHTMLString(e=""){return this.fromDocument(Mh(e))}static fromElement(e){return this.fromDocument(e.ownerDocument)}static fromDocument({documentElement:e,body:t,head:r}){return new this(e,t,new ul(r))}constructor(e,t,r){super(t),this.documentElement=e,this.headSnapshot=r}clone(){let e=this.element.cloneNode(!0),t=this.element.querySelectorAll("select"),r=e.querySelectorAll("select");for(let[s,n]of t.entries()){let o=r[s];for(let a of o.selectedOptions)a.selected=!1;for(let a of n.selectedOptions)o.options[a.index].selected=!0}for(let s of e.querySelectorAll('input[type="password"]'))s.value="";for(let s of e.querySelectorAll("noscript"))s.remove();return new i(this.documentElement,e,this.headSnapshot)}get lang(){return this.documentElement.getAttribute("lang")}get dir(){return this.documentElement.getAttribute("dir")}get headElement(){return this.headSnapshot.element}get rootLocation(){let e=this.getSetting("root")??"/";return Qe(e)}get cacheControlValue(){return this.getSetting("cache-control")}get isPreviewable(){return this.cacheControlValue!="no-preview"}get isCacheable(){return this.cacheControlValue!="no-cache"}get isVisitable(){return this.getSetting("visit-control")!="reload"}get prefersViewTransitions(){return(this.getSetting("view-transition")==="true"||this.headSnapshot.getMetaValue("view-transition")==="same-origin")&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches}get refreshMethod(){return this.getSetting("refresh-method")}get refreshScroll(){return this.getSetting("refresh-scroll")}getSetting(e){return this.headSnapshot.getMetaValue(`turbo-${e}`)}},hl=class{#e=!1;#t=Promise.resolve();renderChange(e,t){return e&&this.viewTransitionsAvailable&&!this.#e?(this.#e=!0,this.#t=this.#t.then(async()=>{await document.startViewTransition(t).finished})):this.#t=this.#t.then(t),this.#t}get viewTransitionsAvailable(){return document.startViewTransition}},Jb={action:"advance",historyChanged:!1,visitCachedSnapshot:()=>{},willRender:!0,updateHistory:!0,shouldCacheSnapshot:!0,acceptsStreamResponse:!1,refresh:{}},qn={visitStart:"visitStart",requestStart:"requestStart",requestEnd:"requestEnd",visitEnd:"visitEnd"},wi={initialized:"initialized",started:"started",canceled:"canceled",failed:"failed",completed:"completed"},Dr={networkFailure:0,timeoutFailure:-1,contentTypeMismatch:-2},ey={advance:"forward",restore:"back",replace:"none"},dl=class{identifier=Bi();timingMetrics={};followedRedirect=!1;historyChanged=!1;scrolled=!1;shouldCacheSnapshot=!0;acceptsStreamResponse=!1;snapshotCached=!1;state=wi.initialized;viewTransitioner=new hl;constructor(e,t,r,s={}){this.delegate=e,this.location=t,this.restorationIdentifier=r||Bi();let{action:n,historyChanged:o,referrer:a,snapshot:l,snapshotHTML:h,response:f,visitCachedSnapshot:m,willRender:w,updateHistory:y,shouldCacheSnapshot:k,acceptsStreamResponse:C,direction:O,refresh:R}={...Jb,...s};this.action=n,this.historyChanged=o,this.referrer=a,this.snapshot=l,this.snapshotHTML=h,this.response=f,this.isPageRefresh=this.view.isPageRefresh(this),this.visitCachedSnapshot=m,this.willRender=w,this.updateHistory=y,this.scrolled=!w,this.shouldCacheSnapshot=k,this.acceptsStreamResponse=C,this.direction=O||ey[n],this.refresh=R}get adapter(){return this.delegate.adapter}get view(){return this.delegate.view}get history(){return this.delegate.history}get restorationData(){return this.history.getRestorationDataForIdentifier(this.restorationIdentifier)}start(){this.state==wi.initialized&&(this.recordTimingMetric(qn.visitStart),this.state=wi.started,this.adapter.visitStarted(this),this.delegate.visitStarted(this))}cancel(){this.state==wi.started&&(this.request&&this.request.cancel(),this.cancelRender(),this.state=wi.canceled)}complete(){this.state==wi.started&&(this.recordTimingMetric(qn.visitEnd),this.adapter.visitCompleted(this),this.state=wi.completed,this.followRedirect(),this.followedRedirect||this.delegate.visitCompleted(this))}fail(){this.state==wi.started&&(this.state=wi.failed,this.adapter.visitFailed(this),this.delegate.visitCompleted(this))}changeHistory(){if(!this.historyChanged&&this.updateHistory){let e=this.location.href===this.referrer?.href?"replace":this.action,t=Dh(e);this.history.update(t,this.location,this.restorationIdentifier),this.historyChanged=!0}}issueRequest(){this.hasPreloadedResponse()?this.simulateRequest():this.shouldIssueRequest()&&!this.request&&(this.request=new nr(this,jt.get,this.location),this.request.perform())}simulateRequest(){this.response&&(this.startRequest(),this.recordResponse(),this.finishRequest())}startRequest(){this.recordTimingMetric(qn.requestStart),this.adapter.visitRequestStarted(this)}recordResponse(e=this.response){if(this.response=e,e){let{statusCode:t}=e;Fh(t)?this.adapter.visitRequestCompleted(this):this.adapter.visitRequestFailedWithStatusCode(this,t)}}finishRequest(){this.recordTimingMetric(qn.requestEnd),this.adapter.visitRequestFinished(this)}loadResponse(){if(this.response){let{statusCode:e,responseHTML:t}=this.response;this.render(async()=>{if(this.shouldCacheSnapshot&&this.cacheSnapshot(),this.view.renderPromise&&await this.view.renderPromise,Fh(e)&&t!=null){let r=Qt.fromHTMLString(t);await this.renderPageSnapshot(r,!1),this.adapter.visitRendered(this),this.complete()}else await this.view.renderError(Qt.fromHTMLString(t),this),this.adapter.visitRendered(this),this.fail()})}}getCachedSnapshot(){let e=this.view.getCachedSnapshotForLocation(this.location)||this.getPreloadedSnapshot();if(e&&(!Es(this.location)||e.hasAnchor(Es(this.location)))&&(this.action=="restore"||e.isPreviewable))return e}getPreloadedSnapshot(){if(this.snapshotHTML)return Qt.fromHTMLString(this.snapshotHTML)}hasCachedSnapshot(){return this.getCachedSnapshot()!=null}loadCachedSnapshot(){let e=this.getCachedSnapshot();if(e){let t=this.shouldIssueRequest();this.render(async()=>{this.cacheSnapshot(),this.isPageRefresh?this.adapter.visitRendered(this):(this.view.renderPromise&&await this.view.renderPromise,await this.renderPageSnapshot(e,t),this.adapter.visitRendered(this),t||this.complete())})}}followRedirect(){this.redirectedToLocation&&!this.followedRedirect&&this.response?.redirected&&(this.adapter.visitProposedToLocation(this.redirectedToLocation,{action:"replace",response:this.response,shouldCacheSnapshot:!1,willRender:!1}),this.followedRedirect=!0)}prepareRequest(e){this.acceptsStreamResponse&&e.acceptResponseType(Ui.contentType)}requestStarted(){this.startRequest()}requestPreventedHandlingResponse(e,t){}async requestSucceededWithResponse(e,t){let r=await t.responseHTML,{redirected:s,statusCode:n}=t;r==null?this.recordResponse({statusCode:Dr.contentTypeMismatch,redirected:s}):(this.redirectedToLocation=t.redirected?t.location:void 0,this.recordResponse({statusCode:n,responseHTML:r,redirected:s}))}async requestFailedWithResponse(e,t){let r=await t.responseHTML,{redirected:s,statusCode:n}=t;r==null?this.recordResponse({statusCode:Dr.contentTypeMismatch,redirected:s}):this.recordResponse({statusCode:n,responseHTML:r,redirected:s})}requestErrored(e,t){this.recordResponse({statusCode:Dr.networkFailure,redirected:!1})}requestFinished(){this.finishRequest()}performScroll(){!this.scrolled&&!this.view.forceReloaded&&!this.view.shouldPreserveScrollPosition(this)&&(this.action=="restore"?this.scrollToRestoredPosition()||this.scrollToAnchor()||this.view.scrollToTop():this.scrollToAnchor()||this.view.scrollToTop(),this.scrolled=!0)}scrollToRestoredPosition(){let{scrollPosition:e}=this.restorationData;if(e)return this.view.scrollToPosition(e),!0}scrollToAnchor(){let e=Es(this.location);if(e!=null)return this.view.scrollToAnchor(e),!0}recordTimingMetric(e){this.timingMetrics[e]=new Date().getTime()}getTimingMetrics(){return{...this.timingMetrics}}hasPreloadedResponse(){return typeof this.response=="object"}shouldIssueRequest(){return this.action=="restore"?!this.hasCachedSnapshot():this.willRender}cacheSnapshot(){this.snapshotCached||(this.view.cacheSnapshot(this.snapshot).then(e=>e&&this.visitCachedSnapshot(e)),this.snapshotCached=!0)}async render(e){this.cancelRender(),await new Promise(t=>{this.frame=document.visibilityState==="hidden"?setTimeout(()=>t(),0):requestAnimationFrame(()=>t())}),await e(),delete this.frame}async renderPageSnapshot(e,t){await this.viewTransitioner.renderChange(this.view.shouldTransitionTo(e),async()=>{await this.view.renderPage(e,t,this.willRender,this),this.performScroll()})}cancelRender(){this.frame&&(cancelAnimationFrame(this.frame),delete this.frame)}};function Fh(i){return i>=200&&i<300}var pl=class{progressBar=new cl;constructor(e){this.session=e}visitProposedToLocation(e,t){Ni(e,this.navigator.rootLocation)?this.navigator.startVisit(e,t?.restorationIdentifier||Bi(),t):window.location.href=e.toString()}visitStarted(e){this.location=e.location,this.redirectedToLocation=null,e.loadCachedSnapshot(),e.issueRequest()}visitRequestStarted(e){this.progressBar.setValue(0),e.hasCachedSnapshot()||e.action!="restore"?this.showVisitProgressBarAfterDelay():this.showProgressBar()}visitRequestCompleted(e){e.loadResponse(),e.response.redirected&&(this.redirectedToLocation=e.redirectedToLocation)}visitRequestFailedWithStatusCode(e,t){switch(t){case Dr.networkFailure:case Dr.timeoutFailure:case Dr.contentTypeMismatch:return this.reload({reason:"request_failed",context:{statusCode:t}});default:return e.loadResponse()}}visitRequestFinished(e){}visitCompleted(e){this.progressBar.setValue(1),this.hideVisitProgressBar()}pageInvalidated(e){this.reload(e)}visitFailed(e){this.progressBar.setValue(1),this.hideVisitProgressBar()}visitRendered(e){}linkPrefetchingIsEnabledForLocation(e){return!0}formSubmissionStarted(e){this.progressBar.setValue(0),this.showFormProgressBarAfterDelay()}formSubmissionFinished(e){this.progressBar.setValue(1),this.hideFormProgressBar()}showVisitProgressBarAfterDelay(){this.visitProgressBarTimeout=window.setTimeout(this.showProgressBar,this.session.progressBarDelay)}hideVisitProgressBar(){this.progressBar.hide(),this.visitProgressBarTimeout!=null&&(window.clearTimeout(this.visitProgressBarTimeout),delete this.visitProgressBarTimeout)}showFormProgressBarAfterDelay(){this.formProgressBarTimeout==null&&(this.formProgressBarTimeout=window.setTimeout(this.showProgressBar,this.session.progressBarDelay))}hideFormProgressBar(){this.progressBar.hide(),this.formProgressBarTimeout!=null&&(window.clearTimeout(this.formProgressBarTimeout),delete this.formProgressBarTimeout)}showProgressBar=()=>{this.progressBar.show()};reload(e){ve("turbo:reload",{detail:e}),window.location.href=(this.redirectedToLocation||this.location)?.toString()||window.location.href}get navigator(){return this.session.navigator}},fl=class{selector="[data-turbo-temporary]";started=!1;start(){this.started||(this.started=!0,addEventListener("turbo:before-cache",this.removeTemporaryElements,!1))}stop(){this.started&&(this.started=!1,removeEventListener("turbo:before-cache",this.removeTemporaryElements,!1))}removeTemporaryElements=e=>{for(let t of this.temporaryElements)t.remove()};get temporaryElements(){return[...document.querySelectorAll(this.selector)]}},ml=class{constructor(e,t){this.session=e,this.element=t,this.linkInterceptor=new Qn(this,t),this.formSubmitObserver=new ks(this,t)}start(){this.linkInterceptor.start(),this.formSubmitObserver.start()}stop(){this.linkInterceptor.stop(),this.formSubmitObserver.stop()}shouldInterceptLinkClick(e,t,r){return this.#t(e)}linkClickIntercepted(e,t,r){let s=this.#i(e);s&&s.delegate.linkClickIntercepted(e,t,r)}willSubmitForm(e,t){return e.closest("turbo-frame")==null&&this.#e(e,t)&&this.#t(e,t)}formSubmitted(e,t){let r=this.#i(e,t);r&&r.delegate.formSubmitted(e,t)}#e(e,t){let r=Il(e,t),s=this.element.ownerDocument.querySelector('meta[name="turbo-root"]'),n=Qe(s?.content??"/");return this.#t(e,t)&&Ni(r,n)}#t(e,t){if(e instanceof HTMLFormElement?this.session.submissionIsNavigatable(e,t):this.session.elementIsNavigatable(e)){let s=this.#i(e,t);return s?s!=e.closest("turbo-frame"):!1}else return!1}#i(e,t){let r=t?.getAttribute("data-turbo-frame")||e.getAttribute("data-turbo-frame");if(r&&r!="_top"){let s=this.element.querySelector(`#${r}:not([disabled])`);if(s instanceof qt)return s}}},gl=class{location;restorationIdentifier=Bi();restorationData={};started=!1;currentIndex=0;constructor(e){this.delegate=e}start(){this.started||(addEventListener("popstate",this.onPopState,!1),this.currentIndex=history.state?.turbo?.restorationIndex||0,this.started=!0,this.replace(new URL(window.location.href)))}stop(){this.started&&(removeEventListener("popstate",this.onPopState,!1),this.started=!1)}push(e,t){this.update(history.pushState,e,t)}replace(e,t){this.update(history.replaceState,e,t)}update(e,t,r=Bi()){e===history.pushState&&++this.currentIndex;let s={turbo:{restorationIdentifier:r,restorationIndex:this.currentIndex}};e.call(history,s,"",t.href),this.location=t,this.restorationIdentifier=r}getRestorationDataForIdentifier(e){return this.restorationData[e]||{}}updateRestorationData(e){let{restorationIdentifier:t}=this,r=this.restorationData[t];this.restorationData[t]={...r,...e}}assumeControlOfScrollRestoration(){this.previousScrollRestoration||(this.previousScrollRestoration=history.scrollRestoration??"auto",history.scrollRestoration="manual")}relinquishControlOfScrollRestoration(){this.previousScrollRestoration&&(history.scrollRestoration=this.previousScrollRestoration,delete this.previousScrollRestoration)}onPopState=e=>{let{turbo:t}=e.state||{};if(this.location=new URL(window.location.href),t){let{restorationIdentifier:r,restorationIndex:s}=t;this.restorationIdentifier=r;let n=s>this.currentIndex?"forward":"back";this.delegate.historyPoppedToLocationWithRestorationIdentifierAndDirection(this.location,r,n),this.currentIndex=s}else this.currentIndex++,this.delegate.historyPoppedWithEmptyState(this.location)}},bl=class{started=!1;#e=null;constructor(e,t){this.delegate=e,this.eventTarget=t}start(){this.started||(this.eventTarget.readyState==="loading"?this.eventTarget.addEventListener("DOMContentLoaded",this.#t,{once:!0}):this.#t())}stop(){this.started&&(this.eventTarget.removeEventListener("mouseenter",this.#i,{capture:!0,passive:!0}),this.eventTarget.removeEventListener("mouseleave",this.#r,{capture:!0,passive:!0}),this.eventTarget.removeEventListener("turbo:before-fetch-request",this.#o,!0),this.started=!1)}#t=()=>{this.eventTarget.addEventListener("mouseenter",this.#i,{capture:!0,passive:!0}),this.eventTarget.addEventListener("mouseleave",this.#r,{capture:!0,passive:!0}),this.eventTarget.addEventListener("turbo:before-fetch-request",this.#o,!0),this.started=!0};#i=e=>{if(Kn("turbo-prefetch")==="false")return;let t=e.target;if(t.matches&&t.matches("a[href]:not([target^=_]):not([download])")&&this.#l(t)){let s=t,n=Hh(s);if(this.delegate.canPrefetchRequestToLocation(s,n)){this.#e=s;let o=new nr(this,jt.get,n,new URLSearchParams,t);o.fetchOptions.priority="low",Mr.putLater(n,o,this.#n)}}};#r=e=>{e.target===this.#e&&this.#s()};#s=()=>{Mr.clear(),this.#e=null};#o=e=>{if(e.target.tagName!=="FORM"&&e.detail.fetchOptions.method==="GET"){let t=Mr.get(e.detail.url);t&&(e.detail.fetchRequest=t),Mr.clear()}};prepareRequest(e){let t=e.target;e.headers["X-Sec-Purpose"]="prefetch";let r=t.closest("turbo-frame"),s=t.getAttribute("data-turbo-frame")||r?.getAttribute("target")||r?.id;s&&s!=="_top"&&(e.headers["Turbo-Frame"]=s)}requestSucceededWithResponse(){}requestStarted(e){}requestErrored(e){}requestFinished(e){}requestPreventedHandlingResponse(e,t){}requestFailedWithResponse(e,t){}get#n(){return Number(Kn("turbo-prefetch-cache-time"))||Wh}#l(e){return!(!e.getAttribute("href")||ty(e)||iy(e)||ry(e)||sy(e)||oy(e))}},ty=i=>i.origin!==document.location.origin||!["http:","https:"].includes(i.protocol)||i.hasAttribute("target"),iy=i=>i.pathname+i.search===document.location.pathname+document.location.search||i.href.startsWith("#"),ry=i=>{if(i.getAttribute("data-turbo-prefetch")==="false"||i.getAttribute("data-turbo")==="false")return!0;let e=Ir(i,"[data-turbo-prefetch]");return!!(e&&e.getAttribute("data-turbo-prefetch")==="false")},sy=i=>{let e=i.getAttribute("data-turbo-method");return!!(e&&e.toLowerCase()!=="get"||ny(i)||i.hasAttribute("data-turbo-confirm")||i.hasAttribute("data-turbo-stream"))},ny=i=>i.hasAttribute("data-remote")||i.hasAttribute("data-behavior")||i.hasAttribute("data-confirm")||i.hasAttribute("data-method"),oy=i=>ve("turbo:before-prefetch",{target:i,cancelable:!0}).defaultPrevented,yl=class{constructor(e){this.delegate=e}proposeVisit(e,t={}){this.delegate.allowsVisitingLocationWithAction(e,t.action)&&this.delegate.visitProposedToLocation(e,t)}startVisit(e,t,r={}){this.stop(),this.currentVisit=new dl(this,Qe(e),t,{referrer:this.location,...r}),this.currentVisit.start()}submitForm(e,t){this.stop(),this.formSubmission=new Yn(this,e,t,!0),this.formSubmission.start()}stop(){this.formSubmission&&(this.formSubmission.stop(),delete this.formSubmission),this.currentVisit&&(this.currentVisit.cancel(),delete this.currentVisit)}get adapter(){return this.delegate.adapter}get view(){return this.delegate.view}get rootLocation(){return this.view.snapshot.rootLocation}get history(){return this.delegate.history}formSubmissionStarted(e){typeof this.adapter.formSubmissionStarted=="function"&&this.adapter.formSubmissionStarted(e)}async formSubmissionSucceededWithResponse(e,t){if(e==this.formSubmission){let r=await t.responseHTML;if(r){let s=e.isSafe;s||this.view.clearSnapshotCache();let{statusCode:n,redirected:o}=t,l={action:this.#e(e,t),shouldCacheSnapshot:s,response:{statusCode:n,responseHTML:r,redirected:o}};this.proposeVisit(t.location,l)}}}async formSubmissionFailedWithResponse(e,t){let r=await t.responseHTML;if(r){let s=Qt.fromHTMLString(r);t.serverError?await this.view.renderError(s,this.currentVisit):await this.view.renderPage(s,!1,!0,this.currentVisit),s.refreshScroll!=="preserve"&&this.view.scrollToTop(),this.view.clearSnapshotCache()}}formSubmissionErrored(e,t){console.error(t)}formSubmissionFinished(e){typeof this.adapter.formSubmissionFinished=="function"&&this.adapter.formSubmissionFinished(e)}linkPrefetchingIsEnabledForLocation(e){return typeof this.adapter.linkPrefetchingIsEnabledForLocation=="function"?this.adapter.linkPrefetchingIsEnabledForLocation(e):!0}visitStarted(e){this.delegate.visitStarted(e)}visitCompleted(e){this.delegate.visitCompleted(e),delete this.currentVisit}locationWithActionIsSamePage(e,t){return!1}get location(){return this.history.location}get restorationIdentifier(){return this.history.restorationIdentifier}#e(e,t){let{submitter:r,formElement:s}=e;return sr(r,s)||this.#t(t)}#t(e){return e.redirected&&e.location.href===this.location?.href?"replace":"advance"}},ir={initial:0,loading:1,interactive:2,complete:3},vl=class{stage=ir.initial;started=!1;constructor(e){this.delegate=e}start(){this.started||(this.stage==ir.initial&&(this.stage=ir.loading),document.addEventListener("readystatechange",this.interpretReadyState,!1),addEventListener("pagehide",this.pageWillUnload,!1),this.started=!0)}stop(){this.started&&(document.removeEventListener("readystatechange",this.interpretReadyState,!1),removeEventListener("pagehide",this.pageWillUnload,!1),this.started=!1)}interpretReadyState=()=>{let{readyState:e}=this;e=="interactive"?this.pageIsInteractive():e=="complete"&&this.pageIsComplete()};pageIsInteractive(){this.stage==ir.loading&&(this.stage=ir.interactive,this.delegate.pageBecameInteractive())}pageIsComplete(){this.pageIsInteractive(),this.stage==ir.interactive&&(this.stage=ir.complete,this.delegate.pageLoaded())}pageWillUnload=()=>{this.delegate.pageWillUnload()};get readyState(){return document.readyState}},wl=class{started=!1;constructor(e){this.delegate=e}start(){this.started||(addEventListener("scroll",this.onScroll,!1),this.onScroll(),this.started=!0)}stop(){this.started&&(removeEventListener("scroll",this.onScroll,!1),this.started=!1)}onScroll=()=>{this.updatePosition({x:window.pageXOffset,y:window.pageYOffset})};updatePosition(e){this.delegate.scrollPositionChanged(e)}},Sl=class{render({fragment:e}){to.preservingPermanentElements(this,ay(e),()=>{ly(e,()=>{cy(()=>{document.documentElement.appendChild(e)})})})}enteringBardo(e,t){t.replaceWith(e.cloneNode(!0))}leavingBardo(){}};function ay(i){let e=Kh(document.documentElement),t={};for(let r of e){let{id:s}=r;for(let n of i.querySelectorAll("turbo-stream")){let o=Gh(n.templateElement.content,s);o&&(t[s]=[r,o])}}return t}async function ly(i,e){let t=`turbo-stream-autofocus-${Bi()}`,r=i.querySelectorAll("turbo-stream"),s=uy(r),n=null;if(s&&(s.id?n=s.id:n=t,s.id=n),e(),await Ss(),(document.activeElement==null||document.activeElement==document.body)&&n){let a=document.getElementById(n);Ml(a)&&a.focus(),a&&a.id==t&&a.removeAttribute("id")}}async function cy(i){let[e,t]=await yb(i,()=>document.activeElement),r=e&&e.id;if(r){let s=document.getElementById(r);Ml(s)&&s!=t&&s.focus()}}function uy(i){for(let e of i){let t=Bh(e.templateElement.content);if(t)return t}return null}var El=class{sources=new Set;#e=!1;constructor(e){this.delegate=e}start(){this.#e||(this.#e=!0,addEventListener("turbo:before-fetch-response",this.inspectFetchResponse,!1))}stop(){this.#e&&(this.#e=!1,removeEventListener("turbo:before-fetch-response",this.inspectFetchResponse,!1))}connectStreamSource(e){this.streamSourceIsConnected(e)||(this.sources.add(e),e.addEventListener("message",this.receiveMessageEvent,!1))}disconnectStreamSource(e){this.streamSourceIsConnected(e)&&(this.sources.delete(e),e.removeEventListener("message",this.receiveMessageEvent,!1))}streamSourceIsConnected(e){return this.sources.has(e)}inspectFetchResponse=e=>{let t=hy(e);t&&dy(t)&&(e.preventDefault(),this.receiveMessageResponse(t))};receiveMessageEvent=e=>{this.#e&&typeof e.data=="string"&&this.receiveMessageHTML(e.data)};async receiveMessageResponse(e){let t=await e.responseHTML;t&&this.receiveMessageHTML(t)}receiveMessageHTML(e){this.delegate.receivedMessageFromStream(Ui.wrap(e))}};function hy(i){let e=i.detail?.fetchResponse;if(e instanceof xs)return e}function dy(i){return(i.contentType??"").startsWith(Ui.contentType)}var Tl=class extends _s{static renderElement(e,t){let{documentElement:r,body:s}=document;r.replaceChild(t,s)}async render(){this.replaceHeadAndBody(),this.activateScriptElements()}replaceHeadAndBody(){let{documentElement:e,head:t}=document;e.replaceChild(this.newHead,t),this.renderElement(this.currentElement,this.newElement)}activateScriptElements(){for(let e of this.scriptElements){let t=e.parentNode;if(t){let r=Ts(e);t.replaceChild(r,e)}}}get newHead(){return this.newSnapshot.headSnapshot.element}get scriptElements(){return document.documentElement.querySelectorAll("script")}},Cs=class extends _s{static renderElement(e,t){document.body&&t instanceof HTMLBodyElement?document.body.replaceWith(t):document.documentElement.appendChild(t)}get shouldRender(){return this.newSnapshot.isVisitable&&this.trackedElementsAreIdentical}get reloadReason(){if(!this.newSnapshot.isVisitable)return{reason:"turbo_visit_control_is_reload"};if(!this.trackedElementsAreIdentical)return{reason:"tracked_element_mismatch"}}async prepareToRender(){this.#e(),await this.mergeHead()}async render(){this.willRender&&await this.replaceBody()}finishRendering(){super.finishRendering(),this.isPreview||this.focusFirstAutofocusableElement()}get currentHeadSnapshot(){return this.currentSnapshot.headSnapshot}get newHeadSnapshot(){return this.newSnapshot.headSnapshot}get newElement(){return this.newSnapshot.element}#e(){let{documentElement:e}=this.currentSnapshot,{dir:t,lang:r}=this.newSnapshot;r?e.setAttribute("lang",r):e.removeAttribute("lang"),t?e.setAttribute("dir",t):e.removeAttribute("dir")}async mergeHead(){let e=this.mergeProvisionalElements(),t=this.copyNewHeadStylesheetElements();this.copyNewHeadScriptElements(),await e,await t,this.willRender&&this.removeUnusedDynamicStylesheetElements()}async replaceBody(){await this.preservingPermanentElements(async()=>{this.activateNewBody(),await this.assignNewBody()})}get trackedElementsAreIdentical(){return this.currentHeadSnapshot.trackedElementSignature==this.newHeadSnapshot.trackedElementSignature}async copyNewHeadStylesheetElements(){let e=[];for(let t of this.newHeadStylesheetElements)e.push(mb(t)),document.head.appendChild(t);await Promise.all(e)}copyNewHeadScriptElements(){for(let e of this.newHeadScriptElements)document.head.appendChild(Ts(e))}removeUnusedDynamicStylesheetElements(){for(let e of this.unusedDynamicStylesheetElements)document.head.removeChild(e)}async mergeProvisionalElements(){let e=[...this.newHeadProvisionalElements];for(let t of this.currentHeadProvisionalElements)this.isCurrentElementInElementList(t,e)||document.head.removeChild(t);for(let t of e)document.head.appendChild(t)}isCurrentElementInElementList(e,t){for(let[r,s]of t.entries()){if(e.tagName=="TITLE"){if(s.tagName!="TITLE")continue;if(e.innerHTML==s.innerHTML)return t.splice(r,1),!0}if(s.isEqualNode(e))return t.splice(r,1),!0}return!1}removeCurrentHeadProvisionalElements(){for(let e of this.currentHeadProvisionalElements)document.head.removeChild(e)}copyNewHeadProvisionalElements(){for(let e of this.newHeadProvisionalElements)document.head.appendChild(e)}activateNewBody(){document.adoptNode(this.newElement),this.removeNoscriptElements(),this.activateNewBodyScriptElements()}removeNoscriptElements(){for(let e of this.newElement.querySelectorAll("noscript"))e.remove()}activateNewBodyScriptElements(){for(let e of this.newBodyScriptElements){let t=Ts(e);e.replaceWith(t)}}async assignNewBody(){await this.renderElement(this.currentElement,this.newElement)}get unusedDynamicStylesheetElements(){return this.oldHeadStylesheetElements.filter(e=>e.getAttribute("data-turbo-track")==="dynamic")}get oldHeadStylesheetElements(){return this.currentHeadSnapshot.getStylesheetElementsNotInSnapshot(this.newHeadSnapshot)}get newHeadStylesheetElements(){return this.newHeadSnapshot.getStylesheetElementsNotInSnapshot(this.currentHeadSnapshot)}get newHeadScriptElements(){return this.newHeadSnapshot.getScriptElementsNotInSnapshot(this.currentHeadSnapshot)}get currentHeadProvisionalElements(){return this.currentHeadSnapshot.provisionalElements}get newHeadProvisionalElements(){return this.newHeadSnapshot.provisionalElements}get newBodyScriptElements(){return this.newElement.querySelectorAll("script")}},ro=class extends Cs{static renderElement(e,t){so(e,t,{callbacks:{beforeNodeMorphed:(r,s)=>Xh(r,s)&&!Yh(r)?(r.reload(),!1):!0}}),ve("turbo:morph",{detail:{currentElement:e,newElement:t}})}async preservingPermanentElements(e){return await e()}get renderMethod(){return"morph"}get shouldAutofocus(){return!1}},xl=class extends Xn{constructor(e){super(e,$n)}get snapshots(){return this.entries}},kl=class extends Zn{snapshotCache=new xl(10);lastRenderedLocation=new URL(location.href);forceReloaded=!1;shouldTransitionTo(e){return this.snapshot.prefersViewTransitions&&e.prefersViewTransitions}renderPage(e,t=!1,r=!0,s){let o=this.isPageRefresh(s)&&(s?.refresh?.method||this.snapshot.refreshMethod)==="morph"?ro:Cs,a=new o(this.snapshot,e,t,r);return a.shouldRender?s?.changeHistory():this.forceReloaded=!0,this.render(a)}renderError(e,t){t?.changeHistory();let r=new Tl(this.snapshot,e,!1);return this.render(r)}clearSnapshotCache(){this.snapshotCache.clear()}async cacheSnapshot(e=this.snapshot){if(e.isCacheable){this.delegate.viewWillCacheSnapshot();let{lastRenderedLocation:t}=this;await Lh();let r=e.clone();return this.snapshotCache.put(t,r),r}}getCachedSnapshotForLocation(e){return this.snapshotCache.get(e)}isPageRefresh(e){return!e||this.lastRenderedLocation.pathname===e.location.pathname&&e.action==="replace"}shouldPreserveScrollPosition(e){return this.isPageRefresh(e)&&(e?.refresh?.scroll||this.snapshot.refreshScroll)==="preserve"}get snapshot(){return Qt.fromElement(this.element)}},_l=class{selector="a[data-turbo-preload]";constructor(e,t){this.delegate=e,this.snapshotCache=t}start(){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",this.#e):this.preloadOnLoadLinksForView(document.body)}stop(){document.removeEventListener("DOMContentLoaded",this.#e)}preloadOnLoadLinksForView(e){for(let t of e.querySelectorAll(this.selector))this.delegate.shouldPreloadLink(t)&&this.preloadURL(t)}async preloadURL(e){let t=new URL(e.href);if(this.snapshotCache.has(t))return;await new nr(this,jt.get,t,new URLSearchParams,e).perform()}prepareRequest(e){e.headers["X-Sec-Purpose"]="prefetch"}async requestSucceededWithResponse(e,t){try{let r=await t.responseHTML,s=Qt.fromHTMLString(r);this.snapshotCache.put(e.url,s)}catch{}}requestStarted(e){}requestErrored(e){}requestFinished(e){}requestPreventedHandlingResponse(e,t){}requestFailedWithResponse(e,t){}#e=()=>{this.preloadOnLoadLinksForView(document.body)}},Al=class{constructor(e){this.session=e}clear(){this.session.clearCache()}resetCacheControl(){this.#e("")}exemptPageFromCache(){this.#e("no-cache")}exemptPageFromPreview(){this.#e("no-preview")}#e(e){bb("turbo-cache-control",e)}},Cl=class{navigator=new yl(this);history=new gl(this);view=new kl(this,document.documentElement);adapter=new pl(this);pageObserver=new vl(this);cacheObserver=new fl;linkPrefetchObserver=new bl(this,document);linkClickObserver=new Jn(this,window);formSubmitObserver=new ks(this,document);scrollObserver=new wl(this);streamObserver=new El(this);formLinkClickObserver=new eo(this,document.documentElement);frameRedirector=new ml(this,document.documentElement);streamMessageRenderer=new Sl;cache=new Al(this);enabled=!0;started=!1;#e=150;constructor(e){this.recentRequests=e,this.preloader=new _l(this,this.view.snapshotCache),this.debouncedRefresh=this.refresh,this.pageRefreshDebouncePeriod=this.pageRefreshDebouncePeriod}start(){this.started||(this.pageObserver.start(),this.cacheObserver.start(),this.linkPrefetchObserver.start(),this.formLinkClickObserver.start(),this.linkClickObserver.start(),this.formSubmitObserver.start(),this.scrollObserver.start(),this.streamObserver.start(),this.frameRedirector.start(),this.history.start(),this.preloader.start(),this.started=!0,this.enabled=!0)}disable(){this.enabled=!1}stop(){this.started&&(this.pageObserver.stop(),this.cacheObserver.stop(),this.linkPrefetchObserver.stop(),this.formLinkClickObserver.stop(),this.linkClickObserver.stop(),this.formSubmitObserver.stop(),this.scrollObserver.stop(),this.streamObserver.stop(),this.frameRedirector.stop(),this.history.stop(),this.preloader.stop(),this.started=!1)}registerAdapter(e){this.adapter=e}visit(e,t={}){let r=t.frame?document.getElementById(t.frame):null;if(r instanceof qt){let s=t.action||sr(r);r.delegate.proposeVisitIfNavigatedWithAction(r,s),r.src=e.toString()}else this.navigator.proposeVisit(Qe(e),t)}refresh(e,t={}){t=typeof t=="string"?{requestId:t}:t;let{method:r,requestId:s,scroll:n}=t,o=s&&this.recentRequests.has(s),a=e===document.baseURI;!o&&!this.navigator.currentVisit&&a&&this.visit(e,{action:"replace",shouldCacheSnapshot:!1,refresh:{method:r,scroll:n}})}connectStreamSource(e){this.streamObserver.connectStreamSource(e)}disconnectStreamSource(e){this.streamObserver.disconnectStreamSource(e)}renderStreamMessage(e){this.streamMessageRenderer.render(Ui.wrap(e))}clearCache(){this.view.clearSnapshotCache()}setProgressBarDelay(e){console.warn("Please replace `session.setProgressBarDelay(delay)` with `session.progressBarDelay = delay`. The function is deprecated and will be removed in a future version of Turbo.`"),this.progressBarDelay=e}set progressBarDelay(e){We.drive.progressBarDelay=e}get progressBarDelay(){return We.drive.progressBarDelay}set drive(e){We.drive.enabled=e}get drive(){return We.drive.enabled}set formMode(e){We.forms.mode=e}get formMode(){return We.forms.mode}get location(){return this.history.location}get restorationIdentifier(){return this.history.restorationIdentifier}get pageRefreshDebouncePeriod(){return this.#e}set pageRefreshDebouncePeriod(e){this.refresh=vb(this.debouncedRefresh.bind(this),e),this.#e=e}shouldPreloadLink(e){let t=e.hasAttribute("data-turbo-method"),r=e.hasAttribute("data-turbo-stream"),s=e.getAttribute("data-turbo-frame"),n=s=="_top"?null:document.getElementById(s)||Ir(e,"turbo-frame:not([disabled])");if(t||r||n instanceof qt)return!1;{let o=new URL(e.href);return this.elementIsNavigatable(e)&&Ni(o,this.snapshot.rootLocation)}}historyPoppedToLocationWithRestorationIdentifierAndDirection(e,t,r){this.enabled?this.navigator.startVisit(e,t,{action:"restore",historyChanged:!0,direction:r}):this.adapter.pageInvalidated({reason:"turbo_disabled"})}historyPoppedWithEmptyState(e){this.history.replace(e),this.view.lastRenderedLocation=e,this.view.cacheSnapshot()}scrollPositionChanged(e){this.history.updateRestorationData({scrollPosition:e})}willSubmitFormLinkToLocation(e,t){return this.elementIsNavigatable(e)&&Ni(t,this.snapshot.rootLocation)}submittedFormLinkToLocation(){}canPrefetchRequestToLocation(e,t){return this.elementIsNavigatable(e)&&Ni(t,this.snapshot.rootLocation)&&this.navigator.linkPrefetchingIsEnabledForLocation(t)}willFollowLinkToLocation(e,t,r){return this.elementIsNavigatable(e)&&Ni(t,this.snapshot.rootLocation)&&this.applicationAllowsFollowingLinkToLocation(e,t,r)}followedLinkToLocation(e,t){let r=this.getActionForLink(e),s=e.hasAttribute("data-turbo-stream");this.visit(t.href,{action:r,acceptsStreamResponse:s})}allowsVisitingLocationWithAction(e,t){return this.applicationAllowsVisitingLocation(e)}visitProposedToLocation(e,t){Ph(e),this.adapter.visitProposedToLocation(e,t)}visitStarted(e){e.acceptsStreamResponse||(Wn(document.documentElement),this.view.markVisitDirection(e.direction)),Ph(e.location),this.notifyApplicationAfterVisitingLocation(e.location,e.action)}visitCompleted(e){this.view.unmarkVisitDirection(),Gn(document.documentElement),this.notifyApplicationAfterPageLoad(e.getTimingMetrics())}willSubmitForm(e,t){let r=Il(e,t);return this.submissionIsNavigatable(e,t)&&Ni(Qe(r),this.snapshot.rootLocation)}formSubmitted(e,t){this.navigator.submitForm(e,t)}pageBecameInteractive(){this.view.lastRenderedLocation=this.location,this.notifyApplicationAfterPageLoad()}pageLoaded(){this.history.assumeControlOfScrollRestoration()}pageWillUnload(){this.history.relinquishControlOfScrollRestoration()}receivedMessageFromStream(e){this.renderStreamMessage(e)}viewWillCacheSnapshot(){this.notifyApplicationBeforeCachingSnapshot()}allowsImmediateRender({element:e},t){let r=this.notifyApplicationBeforeRender(e,t),{defaultPrevented:s,detail:{render:n}}=r;return this.view.renderer&&n&&(this.view.renderer.renderElement=n),!s}viewRenderedSnapshot(e,t,r){this.view.lastRenderedLocation=this.history.location,this.notifyApplicationAfterRender(r)}preloadOnLoadLinksForView(e){this.preloader.preloadOnLoadLinksForView(e)}viewInvalidated(e){this.adapter.pageInvalidated(e)}frameLoaded(e){this.notifyApplicationAfterFrameLoad(e)}frameRendered(e,t){this.notifyApplicationAfterFrameRender(e,t)}applicationAllowsFollowingLinkToLocation(e,t,r){return!this.notifyApplicationAfterClickingLinkToLocation(e,t,r).defaultPrevented}applicationAllowsVisitingLocation(e){return!this.notifyApplicationBeforeVisitingLocation(e).defaultPrevented}notifyApplicationAfterClickingLinkToLocation(e,t,r){return ve("turbo:click",{target:e,detail:{url:t.href,originalEvent:r},cancelable:!0})}notifyApplicationBeforeVisitingLocation(e){return ve("turbo:before-visit",{detail:{url:e.href},cancelable:!0})}notifyApplicationAfterVisitingLocation(e,t){return ve("turbo:visit",{detail:{url:e.href,action:t}})}notifyApplicationBeforeCachingSnapshot(){return ve("turbo:before-cache")}notifyApplicationBeforeRender(e,t){return ve("turbo:before-render",{detail:{newBody:e,...t},cancelable:!0})}notifyApplicationAfterRender(e){return ve("turbo:render",{detail:{renderMethod:e}})}notifyApplicationAfterPageLoad(e={}){return ve("turbo:load",{detail:{url:this.location.href,timing:e}})}notifyApplicationAfterFrameLoad(e){return ve("turbo:frame-load",{target:e})}notifyApplicationAfterFrameRender(e,t){return ve("turbo:frame-render",{detail:{fetchResponse:e},target:t,cancelable:!0})}submissionIsNavigatable(e,t){if(We.forms.mode=="off")return!1;{let r=t?this.elementIsNavigatable(t):!0;return We.forms.mode=="optin"?r&&e.closest('[data-turbo="true"]')!=null:r&&this.elementIsNavigatable(e)}}elementIsNavigatable(e){let t=Ir(e,"[data-turbo]"),r=Ir(e,"turbo-frame");return We.drive.enabled||r?t?t.getAttribute("data-turbo")!="false":!0:t?t.getAttribute("data-turbo")=="true":!1}getActionForLink(e){return sr(e)||"advance"}get snapshot(){return this.view.snapshot}};function Ph(i){Object.defineProperties(i,py)}var py={absoluteURL:{get(){return this.toString()}}},Me=new Cl(qh),{cache:fy,navigator:my}=Me;function Zh(){Me.start()}function gy(i){Me.registerAdapter(i)}function by(i,e){Me.visit(i,e)}function Qh(i){Me.connectStreamSource(i)}function Jh(i){Me.disconnectStreamSource(i)}function yy(i){Me.renderStreamMessage(i)}function vy(i){console.warn("Please replace `Turbo.setProgressBarDelay(delay)` with `Turbo.config.drive.progressBarDelay = delay`. The top-level function is deprecated and will be removed in a future version of Turbo.`"),We.drive.progressBarDelay=i}function wy(i){console.warn("Please replace `Turbo.setConfirmMethod(confirmMethod)` with `Turbo.config.forms.confirm = confirmMethod`. The top-level function is deprecated and will be removed in a future version of Turbo.`"),We.forms.confirm=i}function Sy(i){console.warn("Please replace `Turbo.setFormMode(mode)` with `Turbo.config.forms.mode = mode`. The top-level function is deprecated and will be removed in a future version of Turbo.`"),We.forms.mode=i}function Ey(i,e){ro.renderElement(i,e)}function Ty(i,e){io.renderElement(i,e)}var xy=Object.freeze({__proto__:null,navigator:my,session:Me,cache:fy,PageRenderer:Cs,PageSnapshot:Qt,FrameRenderer:As,fetch:$h,config:We,start:Zh,registerAdapter:gy,visit:by,connectStreamSource:Qh,disconnectStreamSource:Jh,renderStreamMessage:yy,setProgressBarDelay:vy,setConfirmMethod:wy,setFormMode:Sy,morphBodyElements:Ey,morphTurboFrameElements:Ty,morphChildren:Bl,morphElements:so}),Fl=class extends Error{},Pl=class{fetchResponseLoaded=e=>Promise.resolve();#e=null;#t=()=>{};#i=!1;#r=!1;#s=new Set;#o=!1;action=null;constructor(e){this.element=e,this.view=new al(this,this.element),this.appearanceObserver=new nl(this,this.element),this.formLinkClickObserver=new eo(this,this.element),this.linkInterceptor=new Qn(this,this.element),this.restorationIdentifier=Bi(),this.formSubmitObserver=new ks(this,this.element)}connect(){this.#i||(this.#i=!0,this.loadingStyle==Lr.lazy?this.appearanceObserver.start():this.#n(),this.formLinkClickObserver.start(),this.linkInterceptor.start(),this.formSubmitObserver.start())}disconnect(){this.#i&&(this.#i=!1,this.appearanceObserver.stop(),this.formLinkClickObserver.stop(),this.linkInterceptor.stop(),this.formSubmitObserver.stop(),this.element.hasAttribute("recurse")||this.#e?.cancel())}disabledChanged(){this.disabled?this.#e?.cancel():this.loadingStyle==Lr.eager&&this.#n()}sourceURLChanged(){this.#y("src")||(this.sourceURL||this.#e?.cancel(),this.element.isConnected&&(this.complete=!1),(this.loadingStyle==Lr.eager||this.#r)&&this.#n())}sourceURLReloaded(){let{refresh:e,src:t}=this.element;return this.#o=t&&e==="morph",this.element.removeAttribute("complete"),this.element.src=null,this.element.src=t,this.element.loaded}loadingStyleChanged(){this.loadingStyle==Lr.lazy?this.appearanceObserver.start():(this.appearanceObserver.stop(),this.#n())}async#n(){this.enabled&&this.isActive&&!this.complete&&this.sourceURL&&(this.element.loaded=this.#a(Qe(this.sourceURL)),this.appearanceObserver.stop(),await this.element.loaded,this.#r=!0)}async loadResponse(e){(e.redirected||e.succeeded&&e.isHTML)&&(this.sourceURL=e.response.url);try{let t=await e.responseHTML;if(t){let r=Mh(t);Qt.fromDocument(r).isVisitable?await this.#l(e,r):await this.#c(e)}}finally{this.#o=!1,this.fetchResponseLoaded=()=>Promise.resolve()}}elementAppearedInViewport(e){this.proposeVisitIfNavigatedWithAction(e,sr(e)),this.#n()}willSubmitFormLinkToLocation(e){return this.#b(e)}submittedFormLinkToLocation(e,t,r){let s=this.#d(e);s&&r.setAttribute("data-turbo-frame",s.id)}shouldInterceptLinkClick(e,t,r){return this.#b(e)}linkClickIntercepted(e,t){this.#p(e,t)}willSubmitForm(e,t){return e.closest("turbo-frame")==this.element&&this.#b(e,t)}formSubmitted(e,t){this.formSubmission&&this.formSubmission.stop(),this.formSubmission=new Yn(this,e,t);let{fetchRequest:r}=this.formSubmission,s=this.#d(e,t);this.prepareRequest(r,s),this.formSubmission.start()}prepareRequest(e,t=this){e.headers["Turbo-Frame"]=t.id,this.currentNavigationElement?.hasAttribute("data-turbo-stream")&&e.acceptResponseType(Ui.contentType)}requestStarted(e){Wn(this.element)}requestPreventedHandlingResponse(e,t){this.#t()}async requestSucceededWithResponse(e,t){await this.loadResponse(t),this.#t()}async requestFailedWithResponse(e,t){await this.loadResponse(t),this.#t()}requestErrored(e,t){console.error(t),this.#t()}requestFinished(e){Gn(this.element)}formSubmissionStarted({formElement:e}){Wn(e,this.#d(e))}formSubmissionSucceededWithResponse(e,t){let r=this.#d(e.formElement,e.submitter);r.delegate.proposeVisitIfNavigatedWithAction(r,sr(e.submitter,e.formElement,r)),r.delegate.loadResponse(t),e.isSafe||Me.clearCache()}formSubmissionFailedWithResponse(e,t){this.element.delegate.loadResponse(t),Me.clearCache()}formSubmissionErrored(e,t){console.error(t)}formSubmissionFinished({formElement:e}){Gn(e,this.#d(e))}allowsImmediateRender({element:e},t){let r=ve("turbo:before-frame-render",{target:this.element,detail:{newFrame:e,...t},cancelable:!0}),{defaultPrevented:s,detail:{render:n}}=r;return this.view.renderer&&n&&(this.view.renderer.renderElement=n),!s}viewRenderedSnapshot(e,t,r){}preloadOnLoadLinksForView(e){Me.preloadOnLoadLinksForView(e)}viewInvalidated(){}willRenderFrame(e,t){this.previousFrameElement=e.cloneNode(!0)}visitCachedSnapshot=({element:e})=>{let t=e.querySelector("#"+this.element.id);t&&this.previousFrameElement&&t.replaceChildren(...this.previousFrameElement.children),delete this.previousFrameElement};async#l(e,t){let r=await this.extractForeignFrameElement(t.body),s=this.#o?io:As;if(r){let n=new Nr(r),o=new s(this,this.view.snapshot,n,!1,!1);this.view.renderPromise&&await this.view.renderPromise,this.changeHistory(),await this.view.render(o),this.complete=!0,Me.frameRendered(e,this.element),Me.frameLoaded(this.element),await this.fetchResponseLoaded(e)}else this.#h(e)&&this.#u(e)}async#a(e){let t=new nr(this,jt.get,e,new URLSearchParams,this.element);return this.#e?.cancel(),this.#e=t,new Promise(r=>{this.#t=()=>{this.#t=()=>{},this.#e=null,r()},t.perform()})}#p(e,t,r){let s=this.#d(e,r);s.delegate.proposeVisitIfNavigatedWithAction(s,sr(r,e,s)),this.#S(e,()=>{s.src=t})}proposeVisitIfNavigatedWithAction(e,t=null){if(this.action=t,this.action){let r=Qt.fromElement(e).clone(),{visitCachedSnapshot:s}=e.delegate;e.delegate.fetchResponseLoaded=async n=>{if(e.src){let{statusCode:o,redirected:a}=n,l=await n.responseHTML,f={response:{statusCode:o,redirected:a,responseHTML:l},visitCachedSnapshot:s,willRender:!1,updateHistory:!1,restorationIdentifier:this.restorationIdentifier,snapshot:r};this.action&&(f.action=this.action),Me.visit(e.src,f)}}}}changeHistory(){if(this.action){let e=Dh(this.action);Me.history.update(e,Qe(this.element.src||""),this.restorationIdentifier)}}async#c(e){console.warn(`The response (${e.statusCode}) from <turbo-frame id="${this.element.id}"> is performing a full page visit due to turbo-visit-control.`),await this.#g(e.response)}#h(e){this.element.setAttribute("complete","");let t=e.response,r=async(n,o)=>{n instanceof Response?this.#g(n):Me.visit(n,o)};return!ve("turbo:frame-missing",{target:this.element,detail:{response:t,visit:r},cancelable:!0}).defaultPrevented}#u(e){this.view.missing(),this.#f(e)}#f(e){let t=`The response (${e.statusCode}) did not contain the expected <turbo-frame id="${this.element.id}"> and will be ignored. To perform a full page visit instead, set turbo-visit-control to reload.`;throw new Fl(t)}async#g(e){let t=new xs(e),r=await t.responseHTML,{location:s,redirected:n,statusCode:o}=t;return Me.visit(s,{response:{redirected:n,statusCode:o,responseHTML:r}})}#d(e,t){let r=Vn("data-turbo-frame",t,e)||this.element.getAttribute("target"),s=this.#m(r);return s instanceof qt?s:this.element}async extractForeignFrameElement(e){let t,r=CSS.escape(this.id);try{if(t=Oh(e.querySelector(`turbo-frame#${r}`),this.sourceURL),t)return t;if(t=Oh(e.querySelector(`turbo-frame[src][recurse~=${r}]`),this.sourceURL),t)return await t.loaded,await this.extractForeignFrameElement(t)}catch(s){return console.error(s),new qt}return null}#w(e,t){let r=Il(e,t);return Ni(Qe(r),this.rootLocation)}#b(e,t){let r=Vn("data-turbo-frame",t,e)||this.element.getAttribute("target");if(e instanceof HTMLFormElement&&!this.#w(e,t)||!this.enabled||r=="_top")return!1;if(r){let s=this.#m(r);if(s)return!s.disabled;if(r=="_parent")return!1}return!(!Me.elementIsNavigatable(e)||t&&!Me.elementIsNavigatable(t))}get id(){return this.element.id}get disabled(){return this.element.disabled}get enabled(){return!this.disabled}get sourceURL(){if(this.element.src)return this.element.src}set sourceURL(e){this.#T("src",()=>{this.element.src=e??null})}get loadingStyle(){return this.element.loading}get isLoading(){return this.formSubmission!==void 0||this.#t()!==void 0}get complete(){return this.element.hasAttribute("complete")}set complete(e){e?this.element.setAttribute("complete",""):this.element.removeAttribute("complete")}get isActive(){return this.element.isActive&&this.#i}get rootLocation(){let t=this.element.ownerDocument.querySelector('meta[name="turbo-root"]')?.content??"/";return Qe(t)}#y(e){return this.#s.has(e)}#T(e,t){this.#s.add(e),t(),this.#s.delete(e)}#S(e,t){this.currentNavigationElement=e,t(),delete this.currentNavigationElement}#m(e){if(e!=null){let t=e==="_parent"?this.element.parentElement.closest("turbo-frame"):document.getElementById(e);if(t instanceof qt)return t}}};function Oh(i,e){if(i){let t=i.getAttribute("src");if(t!=null&&e!=null&&jh(t,e))throw new Error(`Matching <turbo-frame id="${i.id}"> element has a source URL which references itself`);if(i.ownerDocument!==document&&(i=document.importNode(i,!0)),i instanceof qt)return i.connectedCallback(),i.disconnectedCallback(),i}}var ed={after(){this.removeDuplicateTargetSiblings(),this.targetElements.forEach(i=>i.parentElement?.insertBefore(this.templateContent,i.nextSibling))},append(){this.removeDuplicateTargetChildren(),this.targetElements.forEach(i=>i.append(this.templateContent))},before(){this.removeDuplicateTargetSiblings(),this.targetElements.forEach(i=>i.parentElement?.insertBefore(this.templateContent,i))},prepend(){this.removeDuplicateTargetChildren(),this.targetElements.forEach(i=>i.prepend(this.templateContent))},remove(){this.targetElements.forEach(i=>i.remove())},replace(){let i=this.getAttribute("method");this.targetElements.forEach(e=>{i==="morph"?so(e,this.templateContent):e.replaceWith(this.templateContent)})},update(){let i=this.getAttribute("method");this.targetElements.forEach(e=>{i==="morph"?Bl(e,this.templateContent):(e.innerHTML="",e.append(this.templateContent))})},refresh(){let i=this.getAttribute("method"),e=this.requestId,t=this.getAttribute("scroll");Me.refresh(this.baseURI,{method:i,requestId:e,scroll:t})}},Ol=class i extends HTMLElement{static async renderElement(e){await e.performAction()}async connectedCallback(){try{await this.render()}catch(e){console.error(e)}finally{this.disconnect()}}async render(){return this.renderPromise??=(async()=>{let e=this.beforeRenderEvent;this.dispatchEvent(e)&&(await Ss(),await e.detail.render(this))})()}disconnect(){try{this.remove()}catch{}}removeDuplicateTargetChildren(){this.duplicateChildren.forEach(e=>e.remove())}get duplicateChildren(){let e=this.targetElements.flatMap(r=>[...r.children]).filter(r=>!!r.getAttribute("id")),t=[...this.templateContent?.children||[]].filter(r=>!!r.getAttribute("id")).map(r=>r.getAttribute("id"));return e.filter(r=>t.includes(r.getAttribute("id")))}removeDuplicateTargetSiblings(){this.duplicateSiblings.forEach(e=>e.remove())}get duplicateSiblings(){let e=this.targetElements.flatMap(r=>[...r.parentElement.children]).filter(r=>!!r.id),t=[...this.templateContent?.children||[]].filter(r=>!!r.id).map(r=>r.id);return e.filter(r=>t.includes(r.id))}get performAction(){if(this.action){let e=ed[this.action];if(e)return e;this.#e("unknown action")}this.#e("action attribute is missing")}get targetElements(){if(this.target)return this.targetElementsById;if(this.targets)return this.targetElementsByQuery;this.#e("target or targets attribute is missing")}get templateContent(){return this.templateElement.content.cloneNode(!0)}get templateElement(){if(this.firstElementChild===null){let e=this.ownerDocument.createElement("template");return this.appendChild(e),e}else if(this.firstElementChild instanceof HTMLTemplateElement)return this.firstElementChild;this.#e("first child element must be a <template> element")}get action(){return this.getAttribute("action")}get target(){return this.getAttribute("target")}get targets(){return this.getAttribute("targets")}get requestId(){return this.getAttribute("request-id")}#e(e){throw new Error(`${this.description}: ${e}`)}get description(){return(this.outerHTML.match(/<[^>]+>/)??[])[0]??"<turbo-stream>"}get beforeRenderEvent(){return new CustomEvent("turbo:before-stream-render",{bubbles:!0,cancelable:!0,detail:{newStream:this,render:i.renderElement}})}get targetElementsById(){let e=this.ownerDocument?.getElementById(this.target);return e!==null?[e]:[]}get targetElementsByQuery(){let e=this.ownerDocument?.querySelectorAll(this.targets);return e.length!==0?Array.prototype.slice.call(e):[]}},Rl=class extends HTMLElement{streamSource=null;connectedCallback(){this.streamSource=this.src.match(/^ws{1,2}:/)?new WebSocket(this.src):new EventSource(this.src),Qh(this.streamSource)}disconnectedCallback(){this.streamSource&&(this.streamSource.close(),Jh(this.streamSource))}get src(){return this.getAttribute("src")||""}};qt.delegateConstructor=Pl;customElements.get("turbo-frame")===void 0&&customElements.define("turbo-frame",qt);customElements.get("turbo-stream")===void 0&&customElements.define("turbo-stream",Ol);customElements.get("turbo-stream-source")===void 0&&customElements.define("turbo-stream-source",Rl);(()=>{let i=document.currentScript;if(!i||i.hasAttribute("data-turbo-suppress-warning"))return;let e=i.parentElement;for(;e;){if(e==document.body)return console.warn(Ih`
|
|
19
19
|
You are loading Turbo from a <script> element inside the <body> element. This is probably not what you meant to do!
|
|
20
20
|
|
|
21
21
|
Load your application’s JavaScript bundle inside the <head> element instead. <script> elements in <body> are evaluated with each page change.
|
|
@@ -28,7 +28,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
28
28
|
|
|
29
29
|
%o
|
|
30
30
|
|
|
31
|
-
%o`,t,e,r),(s=window.onerror)===null||s===void 0||s.call(window,t,"",0,0,e)}logFormattedMessage(e,t,r={}){r=Object.assign({application:this},r),this.logger.groupCollapsed(`${e} #${t}`),this.logger.log("details:",Object.assign({},r)),this.logger.groupEnd()}};function Jy(){return new Promise(i=>{document.readyState=="loading"?document.addEventListener("DOMContentLoaded",()=>i()):i()})}function ev(i){return Os(i,"classes").reduce((t,r)=>Object.assign(t,tv(r)),{})}function tv(i){return{[`${i}Class`]:{get(){let{classes:e}=this;if(e.has(i))return e.get(i);{let t=e.getAttributeName(i);throw new Error(`Missing attribute "${t}"`)}}},[`${i}Classes`]:{get(){return this.classes.getAll(i)}},[`has${Ps(i)}Class`]:{get(){return this.classes.has(i)}}}}function iv(i){return Os(i,"outlets").reduce((t,r)=>Object.assign(t,rv(r)),{})}function nd(i,e,t){return i.application.getControllerForElementAndIdentifier(e,t)}function od(i,e,t){let r=nd(i,e,t);if(r||(i.application.router.proposeToConnectScopeForElementAndIdentifier(e,t),r=nd(i,e,t),r))return r}function rv(i){let e=Hl(i);return{[`${e}Outlet`]:{get(){let t=this.outlets.find(i),r=this.outlets.getSelectorForOutletName(i);if(t){let s=od(this,t,i);if(s)return s;throw new Error(`The provided outlet element is missing an outlet controller "${i}" instance for host controller "${this.identifier}"`)}throw new Error(`Missing outlet element "${i}" for host controller "${this.identifier}". Stimulus couldn't find a matching outlet element using selector "${r}".`)}},[`${e}Outlets`]:{get(){let t=this.outlets.findAll(i);return t.length>0?t.map(r=>{let s=od(this,r,i);if(s)return s;console.warn(`The provided outlet element is missing an outlet controller "${i}" instance for host controller "${this.identifier}"`,r)}).filter(r=>r):[]}},[`${e}OutletElement`]:{get(){let t=this.outlets.find(i),r=this.outlets.getSelectorForOutletName(i);if(t)return t;throw new Error(`Missing outlet element "${i}" for host controller "${this.identifier}". Stimulus couldn't find a matching outlet element using selector "${r}".`)}},[`${e}OutletElements`]:{get(){return this.outlets.findAll(i)}},[`has${Ps(e)}Outlet`]:{get(){return this.outlets.has(i)}}}}function sv(i){return Os(i,"targets").reduce((t,r)=>Object.assign(t,nv(r)),{})}function nv(i){return{[`${i}Target`]:{get(){let e=this.targets.find(i);if(e)return e;throw new Error(`Missing target element "${i}" for "${this.identifier}" controller`)}},[`${i}Targets`]:{get(){return this.targets.findAll(i)}},[`has${Ps(i)}Target`]:{get(){return this.targets.has(i)}}}}function ov(i){let e=Hy(i,"values"),t={valueDescriptorMap:{get(){return e.reduce((r,s)=>{let n=pd(s,this.identifier),o=this.data.getAttributeNameForKey(n.key);return Object.assign(r,{[o]:n})},{})}}};return e.reduce((r,s)=>Object.assign(r,av(s)),t)}function av(i,e){let t=pd(i,e),{key:r,name:s,reader:n,writer:o}=t;return{[s]:{get(){let a=this.data.get(r);return a!==null?n(a):t.defaultValue},set(a){a===void 0?this.data.delete(r):this.data.set(r,o(a))}},[`has${Ps(s)}`]:{get(){return this.data.has(r)||t.hasCustomDefaultValue}}}}function pd([i,e],t){return hv({controller:t,token:i,typeDefinition:e})}function ho(i){switch(i){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function Fs(i){switch(typeof i){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}if(Array.isArray(i))return"array";if(Object.prototype.toString.call(i)==="[object Object]")return"object"}function lv(i){let{controller:e,token:t,typeObject:r}=i,s=td(r.type),n=td(r.default),o=s&&n,a=s&&!n,l=!s&&n,h=ho(r.type),f=Fs(i.typeObject.default);if(a)return h;if(l)return f;if(h!==f){let m=e?`${e}.${t}`:t;throw new Error(`The specified default value for the Stimulus Value "${m}" must match the defined type "${h}". The provided default value of "${r.default}" is of type "${f}".`)}if(o)return h}function cv(i){let{controller:e,token:t,typeDefinition:r}=i,n=lv({controller:e,token:t,typeObject:r}),o=Fs(r),a=ho(r),l=n||o||a;if(l)return l;let h=e?`${e}.${r}`:t;throw new Error(`Unknown value type "${h}" for "${t}" value`)}function uv(i){let e=ho(i);if(e)return ad[e];let t=jl(i,"default"),r=jl(i,"type"),s=i;if(t)return s.default;if(r){let{type:n}=s,o=ho(n);if(o)return ad[o]}return i}function hv(i){let{token:e,typeDefinition:t}=i,r=`${ud(e)}-value`,s=cv(i);return{type:s,key:r,name:lc(r),get defaultValue(){return uv(t)},get hasCustomDefaultValue(){return Fs(t)!==void 0},reader:dv[s],writer:ld[s]||ld.default}}var ad={get array(){return[]},boolean:!1,number:0,get object(){return{}},string:""},dv={array(i){let e=JSON.parse(i);if(!Array.isArray(e))throw new TypeError(`expected value of type "array" but instead got value "${i}" of type "${Fs(e)}"`);return e},boolean(i){return!(i=="0"||String(i).toLowerCase()=="false")},number(i){return Number(i.replace(/_/g,""))},object(i){let e=JSON.parse(i);if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError(`expected value of type "object" but instead got value "${i}" of type "${Fs(e)}"`);return e},string(i){return i}},ld={default:pv,array:cd,object:cd};function cd(i){return JSON.stringify(i)}function pv(i){return`${i}`}var $=class{constructor(e){this.context=e}static get shouldLoad(){return!0}static afterLoad(e,t){}get application(){return this.context.application}get scope(){return this.context.scope}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get targets(){return this.scope.targets}get outlets(){return this.scope.outlets}get classes(){return this.scope.classes}get data(){return this.scope.data}initialize(){}connect(){}disconnect(){}dispatch(e,{target:t=this.element,detail:r={},prefix:s=this.identifier,bubbles:n=!0,cancelable:o=!0}={}){let a=s?`${s}:${e}`:e,l=new CustomEvent(a,{detail:r,bubbles:n,cancelable:o});return t.dispatchEvent(l),l}};$.blessings=[ev,sv,ov,iv];$.targets=[];$.outlets=[];$.values={};var po=class extends ${static targets=["openIcon","closeIcon"];static outlets=["sidebar"];static values={placement:{type:String,default:"left"},bodyScrolling:{type:Boolean,default:!1},backdrop:{type:Boolean,default:!0},edge:{type:Boolean,default:!1},edgeOffset:{type:String,default:"bottom-[60px]"}};static classes={backdrop:"bg-gray-900/50 dark:bg-gray-900/80 fixed inset-0 z-30"};initialize(){this.visible=!1,this.handleEscapeKey=this.handleEscapeKey.bind(this)}connect(){document.addEventListener("keydown",this.handleEscapeKey)}sidebarOutletConnected(){this.#e(this.sidebarOutlet.element)}disconnect(){this.#i(),document.removeEventListener("keydown",this.handleEscapeKey),this.bodyScrollingValue||document.body.classList.remove("overflow-hidden")}#e(i){i.setAttribute("aria-hidden","true"),i.classList.add("transition-transform"),this.#r(this.placementValue).base.forEach(e=>{i.classList.add(e)})}toggleDrawer(){this.visible?this.hideDrawer():this.showDrawer()}showDrawer(){this.edgeValue?this.#o(`${this.placementValue}-edge`,!0):this.#s(this.placementValue,!0),this.openIconTarget.classList.add("hidden"),this.openIconTarget.setAttribute("aria-hidden","true"),this.closeIconTarget.classList.remove("hidden"),this.closeIconTarget.setAttribute("aria-hidden","false"),this.sidebarOutlet.element.setAttribute("aria-modal","true"),this.sidebarOutlet.element.setAttribute("role","dialog"),this.sidebarOutlet.element.removeAttribute("aria-hidden"),this.bodyScrollingValue||document.body.classList.add("overflow-hidden"),this.backdropValue&&this.#t(),this.visible=!0,this.dispatch("show")}hideDrawer(){this.edgeValue?this.#o(`${this.placementValue}-edge`,!1):this.#s(this.placementValue,!1),this.openIconTarget.classList.remove("hidden"),this.openIconTarget.setAttribute("aria-hidden","false"),this.closeIconTarget.classList.add("hidden"),this.closeIconTarget.setAttribute("aria-hidden","true"),this.sidebarOutlet.element.setAttribute("aria-hidden","true"),this.sidebarOutlet.element.removeAttribute("aria-modal"),this.sidebarOutlet.element.removeAttribute("role"),this.bodyScrollingValue||document.body.classList.remove("overflow-hidden"),this.backdropValue&&this.#i(),this.visible=!1,this.dispatch("hide")}handleEscapeKey(i){i.key==="Escape"&&this.visible&&this.hideDrawer()}#t(){if(!this.visible){let i=document.createElement("div");i.setAttribute("data-drawer-backdrop",""),i.classList.add(...this.constructor.classes.backdrop.split(" ")),i.addEventListener("click",()=>this.hideDrawer()),document.body.appendChild(i)}}#i(){let i=document.querySelector("[data-drawer-backdrop]");i&&i.remove()}#r(i){let e={top:{base:["top-0","left-0","right-0"],active:["transform-none"],inactive:["-translate-y-full"]},right:{base:["right-0","top-0"],active:["transform-none"],inactive:["translate-x-full"]},bottom:{base:["bottom-0","left-0","right-0"],active:["transform-none"],inactive:["translate-y-full"]},left:{base:["left-0","top-0"],active:["transform-none"],inactive:["-translate-x-full"]},"bottom-edge":{base:["left-0","top-0"],active:["transform-none"],inactive:["translate-y-full",this.edgeOffsetValue]}};return e[i]||e.left}#s(i,e){let t=this.#r(i);e?(t.active.forEach(r=>this.sidebarOutlet.element.classList.add(r)),t.inactive.forEach(r=>this.sidebarOutlet.element.classList.remove(r))):(t.active.forEach(r=>this.sidebarOutlet.element.classList.remove(r)),t.inactive.forEach(r=>this.sidebarOutlet.element.classList.add(r)))}#o(i,e){this.#s(i,e)}};var fo=class extends ${static targets=["target","template","addButton"];static values={wrapperSelector:{type:String,default:".nested-resource-form-fields"},limit:Number};connect(){this.updateState()}add(i){i.preventDefault();let e=this.templateTarget.innerHTML.replace(/NEW_RECORD/g,new Date().getTime().toString());this.targetTarget.insertAdjacentHTML("beforebegin",e);let t=new CustomEvent("nested-resource-form-fields:add",{bubbles:!0});this.element.dispatchEvent(t),this.updateState()}remove(i){i.preventDefault();let e=i.target.closest(this.wrapperSelectorValue);if(e.dataset.newRecord!==void 0)e.remove();else{e.style.display="none",e.classList.remove(...e.classList);let r=e.querySelector("input[name*='_destroy']");r.value="1"}let t=new CustomEvent("nested-resource-form-fields:remove",{bubbles:!0});this.element.dispatchEvent(t),this.updateState()}updateState(){!this.hasAddButtonTarget||this.limitValue==0||(this.childCount>=this.limitValue?this.addButtonTarget.style.display="none":this.addButtonTarget.style.display="initial")}get childCount(){return this.element.querySelectorAll(this.wrapperSelectorValue).length}};var mo=class extends ${static targets=["content","removed"];remove(i){i.preventDefault(),this.contentTarget.disabled=!0,this.contentTarget.hidden=!0,this.removedTarget.hidden=!1}restore(i){i.preventDefault(),this.contentTarget.disabled=!1,this.contentTarget.hidden=!1,this.removedTarget.hidden=!0}};var go=class extends ${connect(){}preSubmit(){this.element.querySelectorAll('input[name="pre_submit"]').forEach(e=>e.remove());let i=document.createElement("input");i.type="hidden",i.name="pre_submit",i.value="true",this.element.appendChild(i),this.element.setAttribute("novalidate",""),this.submit()}submit(){this.element.requestSubmit()}};var xe="top",je="bottom",Ie="right",Fe="left",bo="auto",zi=[xe,je,Ie,Fe],Ei="start",or="end",fd="clippingParents",yo="viewport",Br="popper",md="reference",cc=zi.reduce(function(i,e){return i.concat([e+"-"+Ei,e+"-"+or])},[]),vo=[].concat(zi,[bo]).reduce(function(i,e){return i.concat([e,e+"-"+Ei,e+"-"+or])},[]),fv="beforeRead",mv="read",gv="afterRead",bv="beforeMain",yv="main",vv="afterMain",wv="beforeWrite",Sv="write",Ev="afterWrite",gd=[fv,mv,gv,bv,yv,vv,wv,Sv,Ev];function Ge(i){return i?(i.nodeName||"").toLowerCase():null}function be(i){if(i==null)return window;if(i.toString()!=="[object Window]"){var e=i.ownerDocument;return e&&e.defaultView||window}return i}function $t(i){var e=be(i).Element;return i instanceof e||i instanceof Element}function qe(i){var e=be(i).HTMLElement;return i instanceof e||i instanceof HTMLElement}function Ur(i){if(typeof ShadowRoot>"u")return!1;var e=be(i).ShadowRoot;return i instanceof e||i instanceof ShadowRoot}function Tv(i){var e=i.state;Object.keys(e.elements).forEach(function(t){var r=e.styles[t]||{},s=e.attributes[t]||{},n=e.elements[t];!qe(n)||!Ge(n)||(Object.assign(n.style,r),Object.keys(s).forEach(function(o){var a=s[o];a===!1?n.removeAttribute(o):n.setAttribute(o,a===!0?"":a)}))})}function xv(i){var e=i.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(r){var s=e.elements[r],n=e.attributes[r]||{},o=Object.keys(e.styles.hasOwnProperty(r)?e.styles[r]:t[r]),a=o.reduce(function(l,h){return l[h]="",l},{});!qe(s)||!Ge(s)||(Object.assign(s.style,a),Object.keys(n).forEach(function(l){s.removeAttribute(l)}))})}}var bd={name:"applyStyles",enabled:!0,phase:"write",fn:Tv,effect:xv,requires:["computeStyles"]};function Ke(i){return i.split("-")[0]}var Jt=Math.max,ar=Math.min,Ti=Math.round;function zr(){var i=navigator.userAgentData;return i!=null&&i.brands&&Array.isArray(i.brands)?i.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function Rs(){return!/^((?!chrome|android).)*safari/i.test(zr())}function Vt(i,e,t){e===void 0&&(e=!1),t===void 0&&(t=!1);var r=i.getBoundingClientRect(),s=1,n=1;e&&qe(i)&&(s=i.offsetWidth>0&&Ti(r.width)/i.offsetWidth||1,n=i.offsetHeight>0&&Ti(r.height)/i.offsetHeight||1);var o=$t(i)?be(i):window,a=o.visualViewport,l=!Rs()&&t,h=(r.left+(l&&a?a.offsetLeft:0))/s,f=(r.top+(l&&a?a.offsetTop:0))/n,m=r.width/s,w=r.height/n;return{width:m,height:w,top:f,right:h+m,bottom:f+w,left:h,x:h,y:f}}function lr(i){var e=Vt(i),t=i.offsetWidth,r=i.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-r)<=1&&(r=e.height),{x:i.offsetLeft,y:i.offsetTop,width:t,height:r}}function Ls(i,e){var t=e.getRootNode&&e.getRootNode();if(i.contains(e))return!0;if(t&&Ur(t)){var r=e;do{if(r&&i.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function at(i){return be(i).getComputedStyle(i)}function uc(i){return["table","td","th"].indexOf(Ge(i))>=0}function Je(i){return(($t(i)?i.ownerDocument:i.document)||window.document).documentElement}function xi(i){return Ge(i)==="html"?i:i.assignedSlot||i.parentNode||(Ur(i)?i.host:null)||Je(i)}function yd(i){return!qe(i)||at(i).position==="fixed"?null:i.offsetParent}function kv(i){var e=/firefox/i.test(zr()),t=/Trident/i.test(zr());if(t&&qe(i)){var r=at(i);if(r.position==="fixed")return null}var s=xi(i);for(Ur(s)&&(s=s.host);qe(s)&&["html","body"].indexOf(Ge(s))<0;){var n=at(s);if(n.transform!=="none"||n.perspective!=="none"||n.contain==="paint"||["transform","perspective"].indexOf(n.willChange)!==-1||e&&n.willChange==="filter"||e&&n.filter&&n.filter!=="none")return s;s=s.parentNode}return null}function ei(i){for(var e=be(i),t=yd(i);t&&uc(t)&&at(t).position==="static";)t=yd(t);return t&&(Ge(t)==="html"||Ge(t)==="body"&&at(t).position==="static")?e:t||kv(i)||e}function cr(i){return["top","bottom"].indexOf(i)>=0?"x":"y"}function ur(i,e,t){return Jt(i,ar(e,t))}function vd(i,e,t){var r=ur(i,e,t);return r>t?t:r}function Ms(){return{top:0,right:0,bottom:0,left:0}}function Is(i){return Object.assign({},Ms(),i)}function Ds(i,e){return e.reduce(function(t,r){return t[r]=i,t},{})}var _v=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,Is(typeof e!="number"?e:Ds(e,zi))};function Av(i){var e,t=i.state,r=i.name,s=i.options,n=t.elements.arrow,o=t.modifiersData.popperOffsets,a=Ke(t.placement),l=cr(a),h=[Fe,Ie].indexOf(a)>=0,f=h?"height":"width";if(!(!n||!o)){var m=_v(s.padding,t),w=lr(n),y=l==="y"?xe:Fe,k=l==="y"?je:Ie,C=t.rects.reference[f]+t.rects.reference[l]-o[l]-t.rects.popper[f],O=o[l]-t.rects.reference[l],R=ei(n),_=R?l==="y"?R.clientHeight||0:R.clientWidth||0:0,F=C/2-O/2,x=m[y],S=_-w[f]-m[k],A=_/2-w[f]/2+F,P=ur(x,A,S),N=l;t.modifiersData[r]=(e={},e[N]=P,e.centerOffset=P-A,e)}}function Cv(i){var e=i.state,t=i.options,r=t.element,s=r===void 0?"[data-popper-arrow]":r;s!=null&&(typeof s=="string"&&(s=e.elements.popper.querySelector(s),!s)||Ls(e.elements.popper,s)&&(e.elements.arrow=s))}var wd={name:"arrow",enabled:!0,phase:"main",fn:Av,effect:Cv,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Wt(i){return i.split("-")[1]}var Fv={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Pv(i,e){var t=i.x,r=i.y,s=e.devicePixelRatio||1;return{x:Ti(t*s)/s||0,y:Ti(r*s)/s||0}}function Sd(i){var e,t=i.popper,r=i.popperRect,s=i.placement,n=i.variation,o=i.offsets,a=i.position,l=i.gpuAcceleration,h=i.adaptive,f=i.roundOffsets,m=i.isFixed,w=o.x,y=w===void 0?0:w,k=o.y,C=k===void 0?0:k,O=typeof f=="function"?f({x:y,y:C}):{x:y,y:C};y=O.x,C=O.y;var R=o.hasOwnProperty("x"),_=o.hasOwnProperty("y"),F=Fe,x=xe,S=window;if(h){var A=ei(t),P="clientHeight",N="clientWidth";if(A===be(t)&&(A=Je(t),at(A).position!=="static"&&a==="absolute"&&(P="scrollHeight",N="scrollWidth")),A=A,s===xe||(s===Fe||s===Ie)&&n===or){x=je;var z=m&&A===S&&S.visualViewport?S.visualViewport.height:A[P];C-=z-r.height,C*=l?1:-1}if(s===Fe||(s===xe||s===je)&&n===or){F=Ie;var q=m&&A===S&&S.visualViewport?S.visualViewport.width:A[N];y-=q-r.width,y*=l?1:-1}}var V=Object.assign({position:a},h&&Fv),Z=f===!0?Pv({x:y,y:C},be(t)):{x:y,y:C};if(y=Z.x,C=Z.y,l){var K;return Object.assign({},V,(K={},K[x]=_?"0":"",K[F]=R?"0":"",K.transform=(S.devicePixelRatio||1)<=1?"translate("+y+"px, "+C+"px)":"translate3d("+y+"px, "+C+"px, 0)",K))}return Object.assign({},V,(e={},e[x]=_?C+"px":"",e[F]=R?y+"px":"",e.transform="",e))}function Ov(i){var e=i.state,t=i.options,r=t.gpuAcceleration,s=r===void 0?!0:r,n=t.adaptive,o=n===void 0?!0:n,a=t.roundOffsets,l=a===void 0?!0:a,h={placement:Ke(e.placement),variation:Wt(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,Sd(Object.assign({},h,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:o,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,Sd(Object.assign({},h,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}var Ed={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Ov,data:{}};var wo={passive:!0};function Rv(i){var e=i.state,t=i.instance,r=i.options,s=r.scroll,n=s===void 0?!0:s,o=r.resize,a=o===void 0?!0:o,l=be(e.elements.popper),h=[].concat(e.scrollParents.reference,e.scrollParents.popper);return n&&h.forEach(function(f){f.addEventListener("scroll",t.update,wo)}),a&&l.addEventListener("resize",t.update,wo),function(){n&&h.forEach(function(f){f.removeEventListener("scroll",t.update,wo)}),a&&l.removeEventListener("resize",t.update,wo)}}var Td={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Rv,data:{}};var Lv={left:"right",right:"left",bottom:"top",top:"bottom"};function Hr(i){return i.replace(/left|right|bottom|top/g,function(e){return Lv[e]})}var Mv={start:"end",end:"start"};function So(i){return i.replace(/start|end/g,function(e){return Mv[e]})}function hr(i){var e=be(i),t=e.pageXOffset,r=e.pageYOffset;return{scrollLeft:t,scrollTop:r}}function dr(i){return Vt(Je(i)).left+hr(i).scrollLeft}function hc(i,e){var t=be(i),r=Je(i),s=t.visualViewport,n=r.clientWidth,o=r.clientHeight,a=0,l=0;if(s){n=s.width,o=s.height;var h=Rs();(h||!h&&e==="fixed")&&(a=s.offsetLeft,l=s.offsetTop)}return{width:n,height:o,x:a+dr(i),y:l}}function dc(i){var e,t=Je(i),r=hr(i),s=(e=i.ownerDocument)==null?void 0:e.body,n=Jt(t.scrollWidth,t.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),o=Jt(t.scrollHeight,t.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-r.scrollLeft+dr(i),l=-r.scrollTop;return at(s||t).direction==="rtl"&&(a+=Jt(t.clientWidth,s?s.clientWidth:0)-n),{width:n,height:o,x:a,y:l}}function pr(i){var e=at(i),t=e.overflow,r=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+s+r)}function Eo(i){return["html","body","#document"].indexOf(Ge(i))>=0?i.ownerDocument.body:qe(i)&&pr(i)?i:Eo(xi(i))}function Hi(i,e){var t;e===void 0&&(e=[]);var r=Eo(i),s=r===((t=i.ownerDocument)==null?void 0:t.body),n=be(r),o=s?[n].concat(n.visualViewport||[],pr(r)?r:[]):r,a=e.concat(o);return s?a:a.concat(Hi(xi(o)))}function jr(i){return Object.assign({},i,{left:i.x,top:i.y,right:i.x+i.width,bottom:i.y+i.height})}function Iv(i,e){var t=Vt(i,!1,e==="fixed");return t.top=t.top+i.clientTop,t.left=t.left+i.clientLeft,t.bottom=t.top+i.clientHeight,t.right=t.left+i.clientWidth,t.width=i.clientWidth,t.height=i.clientHeight,t.x=t.left,t.y=t.top,t}function xd(i,e,t){return e===yo?jr(hc(i,t)):$t(e)?Iv(e,t):jr(dc(Je(i)))}function Dv(i){var e=Hi(xi(i)),t=["absolute","fixed"].indexOf(at(i).position)>=0,r=t&&qe(i)?ei(i):i;return $t(r)?e.filter(function(s){return $t(s)&&Ls(s,r)&&Ge(s)!=="body"}):[]}function pc(i,e,t,r){var s=e==="clippingParents"?Dv(i):[].concat(e),n=[].concat(s,[t]),o=n[0],a=n.reduce(function(l,h){var f=xd(i,h,r);return l.top=Jt(f.top,l.top),l.right=ar(f.right,l.right),l.bottom=ar(f.bottom,l.bottom),l.left=Jt(f.left,l.left),l},xd(i,o,r));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Ns(i){var e=i.reference,t=i.element,r=i.placement,s=r?Ke(r):null,n=r?Wt(r):null,o=e.x+e.width/2-t.width/2,a=e.y+e.height/2-t.height/2,l;switch(s){case xe:l={x:o,y:e.y-t.height};break;case je:l={x:o,y:e.y+e.height};break;case Ie:l={x:e.x+e.width,y:a};break;case Fe:l={x:e.x-t.width,y:a};break;default:l={x:e.x,y:e.y}}var h=s?cr(s):null;if(h!=null){var f=h==="y"?"height":"width";switch(n){case Ei:l[h]=l[h]-(e[f]/2-t[f]/2);break;case or:l[h]=l[h]+(e[f]/2-t[f]/2);break;default:}}return l}function ti(i,e){e===void 0&&(e={});var t=e,r=t.placement,s=r===void 0?i.placement:r,n=t.strategy,o=n===void 0?i.strategy:n,a=t.boundary,l=a===void 0?fd:a,h=t.rootBoundary,f=h===void 0?yo:h,m=t.elementContext,w=m===void 0?Br:m,y=t.altBoundary,k=y===void 0?!1:y,C=t.padding,O=C===void 0?0:C,R=Is(typeof O!="number"?O:Ds(O,zi)),_=w===Br?md:Br,F=i.rects.popper,x=i.elements[k?_:w],S=pc($t(x)?x:x.contextElement||Je(i.elements.popper),l,f,o),A=Vt(i.elements.reference),P=Ns({reference:A,element:F,strategy:"absolute",placement:s}),N=jr(Object.assign({},F,P)),z=w===Br?N:A,q={top:S.top-z.top+R.top,bottom:z.bottom-S.bottom+R.bottom,left:S.left-z.left+R.left,right:z.right-S.right+R.right},V=i.modifiersData.offset;if(w===Br&&V){var Z=V[s];Object.keys(q).forEach(function(K){var ie=[Ie,je].indexOf(K)>=0?1:-1,Ae=[xe,je].indexOf(K)>=0?"y":"x";q[K]+=Z[Ae]*ie})}return q}function fc(i,e){e===void 0&&(e={});var t=e,r=t.placement,s=t.boundary,n=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,h=l===void 0?vo:l,f=Wt(r),m=f?a?cc:cc.filter(function(k){return Wt(k)===f}):zi,w=m.filter(function(k){return h.indexOf(k)>=0});w.length===0&&(w=m);var y=w.reduce(function(k,C){return k[C]=ti(i,{placement:C,boundary:s,rootBoundary:n,padding:o})[Ke(C)],k},{});return Object.keys(y).sort(function(k,C){return y[k]-y[C]})}function Nv(i){if(Ke(i)===bo)return[];var e=Hr(i);return[So(i),e,So(e)]}function Bv(i){var e=i.state,t=i.options,r=i.name;if(!e.modifiersData[r]._skip){for(var s=t.mainAxis,n=s===void 0?!0:s,o=t.altAxis,a=o===void 0?!0:o,l=t.fallbackPlacements,h=t.padding,f=t.boundary,m=t.rootBoundary,w=t.altBoundary,y=t.flipVariations,k=y===void 0?!0:y,C=t.allowedAutoPlacements,O=e.options.placement,R=Ke(O),_=R===O,F=l||(_||!k?[Hr(O)]:Nv(O)),x=[O].concat(F).reduce(function(Ye,se){return Ye.concat(Ke(se)===bo?fc(e,{placement:se,boundary:f,rootBoundary:m,padding:h,flipVariations:k,allowedAutoPlacements:C}):se)},[]),S=e.rects.reference,A=e.rects.popper,P=new Map,N=!0,z=x[0],q=0;q<x.length;q++){var V=x[q],Z=Ke(V),K=Wt(V)===Ei,ie=[xe,je].indexOf(Z)>=0,Ae=ie?"width":"height",de=ti(e,{placement:V,boundary:f,rootBoundary:m,altBoundary:w,padding:h}),Ue=ie?K?Ie:Fe:K?je:xe;S[Ae]>A[Ae]&&(Ue=Hr(Ue));var fe=Hr(Ue),ot=[];if(n&&ot.push(de[Z]<=0),a&&ot.push(de[Ue]<=0,de[fe]<=0),ot.every(function(Ye){return Ye})){z=V,N=!1;break}P.set(V,ot)}if(N)for(var Ot=k?3:1,Et=function(se){var Rt=x.find(function(ne){var Se=P.get(ne);if(Se)return Se.slice(0,se).every(function(Lt){return Lt})});if(Rt)return z=Rt,"break"},ft=Ot;ft>0;ft--){var re=Et(ft);if(re==="break")break}e.placement!==z&&(e.modifiersData[r]._skip=!0,e.placement=z,e.reset=!0)}}var kd={name:"flip",enabled:!0,phase:"main",fn:Bv,requiresIfExists:["offset"],data:{_skip:!1}};function _d(i,e,t){return t===void 0&&(t={x:0,y:0}),{top:i.top-e.height-t.y,right:i.right-e.width+t.x,bottom:i.bottom-e.height+t.y,left:i.left-e.width-t.x}}function Ad(i){return[xe,Ie,je,Fe].some(function(e){return i[e]>=0})}function Uv(i){var e=i.state,t=i.name,r=e.rects.reference,s=e.rects.popper,n=e.modifiersData.preventOverflow,o=ti(e,{elementContext:"reference"}),a=ti(e,{altBoundary:!0}),l=_d(o,r),h=_d(a,s,n),f=Ad(l),m=Ad(h);e.modifiersData[t]={referenceClippingOffsets:l,popperEscapeOffsets:h,isReferenceHidden:f,hasPopperEscaped:m},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":f,"data-popper-escaped":m})}var Cd={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Uv};function zv(i,e,t){var r=Ke(i),s=[Fe,xe].indexOf(r)>=0?-1:1,n=typeof t=="function"?t(Object.assign({},e,{placement:i})):t,o=n[0],a=n[1];return o=o||0,a=(a||0)*s,[Fe,Ie].indexOf(r)>=0?{x:a,y:o}:{x:o,y:a}}function Hv(i){var e=i.state,t=i.options,r=i.name,s=t.offset,n=s===void 0?[0,0]:s,o=vo.reduce(function(f,m){return f[m]=zv(m,e.rects,n),f},{}),a=o[e.placement],l=a.x,h=a.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=h),e.modifiersData[r]=o}var Fd={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Hv};function jv(i){var e=i.state,t=i.name;e.modifiersData[t]=Ns({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}var Pd={name:"popperOffsets",enabled:!0,phase:"read",fn:jv,data:{}};function mc(i){return i==="x"?"y":"x"}function qv(i){var e=i.state,t=i.options,r=i.name,s=t.mainAxis,n=s===void 0?!0:s,o=t.altAxis,a=o===void 0?!1:o,l=t.boundary,h=t.rootBoundary,f=t.altBoundary,m=t.padding,w=t.tether,y=w===void 0?!0:w,k=t.tetherOffset,C=k===void 0?0:k,O=ti(e,{boundary:l,rootBoundary:h,padding:m,altBoundary:f}),R=Ke(e.placement),_=Wt(e.placement),F=!_,x=cr(R),S=mc(x),A=e.modifiersData.popperOffsets,P=e.rects.reference,N=e.rects.popper,z=typeof C=="function"?C(Object.assign({},e.rects,{placement:e.placement})):C,q=typeof z=="number"?{mainAxis:z,altAxis:z}:Object.assign({mainAxis:0,altAxis:0},z),V=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,Z={x:0,y:0};if(A){if(n){var K,ie=x==="y"?xe:Fe,Ae=x==="y"?je:Ie,de=x==="y"?"height":"width",Ue=A[x],fe=Ue+O[ie],ot=Ue-O[Ae],Ot=y?-N[de]/2:0,Et=_===Ei?P[de]:N[de],ft=_===Ei?-N[de]:-P[de],re=e.elements.arrow,Ye=y&&re?lr(re):{width:0,height:0},se=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:Ms(),Rt=se[ie],ne=se[Ae],Se=ur(0,P[de],Ye[de]),Lt=F?P[de]/2-Ot-Se-Rt-q.mainAxis:Et-Se-Rt-q.mainAxis,mt=F?-P[de]/2+Ot+Se+ne+q.mainAxis:ft+Se+ne+q.mainAxis,oi=e.elements.arrow&&ei(e.elements.arrow),Ci=oi?x==="y"?oi.clientTop||0:oi.clientLeft||0:0,Yi=(K=V?.[x])!=null?K:0,Ar=Ue+Lt-Yi-Ci,Xt=Ue+mt-Yi,Yt=ur(y?ar(fe,Ar):fe,Ue,y?Jt(ot,Xt):ot);A[x]=Yt,Z[x]=Yt-Ue}if(a){var Tt,Fi=x==="x"?xe:Fe,Pi=x==="x"?je:Ie,Ze=A[S],Mt=S==="y"?"height":"width",Zt=Ze+O[Fi],Oi=Ze-O[Pi],Ri=[xe,Fe].indexOf(R)!==-1,Zi=(Tt=V?.[S])!=null?Tt:0,Li=Ri?Zt:Ze-P[Mt]-N[Mt]-Zi+q.altAxis,ai=Ri?Ze+P[Mt]+N[Mt]-Zi-q.altAxis:Oi,It=y&&Ri?vd(Li,Ze,ai):ur(y?Li:Zt,Ze,y?ai:Oi);A[S]=It,Z[S]=It-Ze}e.modifiersData[r]=Z}}var Od={name:"preventOverflow",enabled:!0,phase:"main",fn:qv,requiresIfExists:["offset"]};function gc(i){return{scrollLeft:i.scrollLeft,scrollTop:i.scrollTop}}function bc(i){return i===be(i)||!qe(i)?hr(i):gc(i)}function $v(i){var e=i.getBoundingClientRect(),t=Ti(e.width)/i.offsetWidth||1,r=Ti(e.height)/i.offsetHeight||1;return t!==1||r!==1}function yc(i,e,t){t===void 0&&(t=!1);var r=qe(e),s=qe(e)&&$v(e),n=Je(e),o=Vt(i,s,t),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!t)&&((Ge(e)!=="body"||pr(n))&&(a=bc(e)),qe(e)?(l=Vt(e,!0),l.x+=e.clientLeft,l.y+=e.clientTop):n&&(l.x=dr(n))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function Vv(i){var e=new Map,t=new Set,r=[];i.forEach(function(n){e.set(n.name,n)});function s(n){t.add(n.name);var o=[].concat(n.requires||[],n.requiresIfExists||[]);o.forEach(function(a){if(!t.has(a)){var l=e.get(a);l&&s(l)}}),r.push(n)}return i.forEach(function(n){t.has(n.name)||s(n)}),r}function vc(i){var e=Vv(i);return gd.reduce(function(t,r){return t.concat(e.filter(function(s){return s.phase===r}))},[])}function wc(i){var e;return function(){return e||(e=new Promise(function(t){Promise.resolve().then(function(){e=void 0,t(i())})})),e}}function Sc(i){var e=i.reduce(function(t,r){var s=t[r.name];return t[r.name]=s?Object.assign({},s,r,{options:Object.assign({},s.options,r.options),data:Object.assign({},s.data,r.data)}):r,t},{});return Object.keys(e).map(function(t){return e[t]})}var Rd={placement:"bottom",modifiers:[],strategy:"absolute"};function Ld(){for(var i=arguments.length,e=new Array(i),t=0;t<i;t++)e[t]=arguments[t];return!e.some(function(r){return!(r&&typeof r.getBoundingClientRect=="function")})}function Md(i){i===void 0&&(i={});var e=i,t=e.defaultModifiers,r=t===void 0?[]:t,s=e.defaultOptions,n=s===void 0?Rd:s;return function(a,l,h){h===void 0&&(h=n);var f={placement:"bottom",orderedModifiers:[],options:Object.assign({},Rd,n),modifiersData:{},elements:{reference:a,popper:l},attributes:{},styles:{}},m=[],w=!1,y={state:f,setOptions:function(R){var _=typeof R=="function"?R(f.options):R;C(),f.options=Object.assign({},n,f.options,_),f.scrollParents={reference:$t(a)?Hi(a):a.contextElement?Hi(a.contextElement):[],popper:Hi(l)};var F=vc(Sc([].concat(r,f.options.modifiers)));return f.orderedModifiers=F.filter(function(x){return x.enabled}),k(),y.update()},forceUpdate:function(){if(!w){var R=f.elements,_=R.reference,F=R.popper;if(Ld(_,F)){f.rects={reference:yc(_,ei(F),f.options.strategy==="fixed"),popper:lr(F)},f.reset=!1,f.placement=f.options.placement,f.orderedModifiers.forEach(function(q){return f.modifiersData[q.name]=Object.assign({},q.data)});for(var x=0;x<f.orderedModifiers.length;x++){if(f.reset===!0){f.reset=!1,x=-1;continue}var S=f.orderedModifiers[x],A=S.fn,P=S.options,N=P===void 0?{}:P,z=S.name;typeof A=="function"&&(f=A({state:f,options:N,name:z,instance:y})||f)}}}},update:wc(function(){return new Promise(function(O){y.forceUpdate(),O(f)})}),destroy:function(){C(),w=!0}};if(!Ld(a,l))return y;y.setOptions(h).then(function(O){!w&&h.onFirstUpdate&&h.onFirstUpdate(O)});function k(){f.orderedModifiers.forEach(function(O){var R=O.name,_=O.options,F=_===void 0?{}:_,x=O.effect;if(typeof x=="function"){var S=x({state:f,name:R,instance:y,options:F}),A=function(){};m.push(S||A)}})}function C(){m.forEach(function(O){return O()}),m=[]}return y}}var Wv=[Td,Pd,Ed,bd,Fd,kd,Od,wd,Cd],Ec=Md({defaultModifiers:Wv});var To=class extends ${static targets=["trigger","menu"];static values={placement:{type:String,default:"bottom"}};connect(){this.visible=!1,this.initialized=!1,this.options={placement:this.placementValue,triggerType:"click",offsetSkidding:0,offsetDistance:10,delay:300,ignoreClickOutsideClass:!1},this.init()}init(){this.triggerTarget&&this.menuTarget&&!this.initialized&&(this.popperInstance=Ec(this.triggerTarget,this.menuTarget,{strategy:"fixed",placement:this.options.placement,modifiers:[{name:"offset",options:{offset:[this.options.offsetSkidding,this.options.offsetDistance]}},{name:"flip",options:{fallbackPlacements:["bottom-end","bottom-start","top","top-end","top-start"],boundary:"viewport"}},{name:"preventOverflow",options:{boundary:"viewport",altAxis:!0,padding:8}}]}),this.setupEventListeners(),this.initialized=!0)}disconnect(){this.initialized&&(this.options.triggerType==="click"&&this.triggerTarget.removeEventListener("click",this.clickHandler),this.options.triggerType==="hover"&&(this.triggerTarget.removeEventListener("mouseenter",this.hoverShowTriggerHandler),this.menuTarget.removeEventListener("mouseenter",this.hoverShowMenuHandler),this.triggerTarget.removeEventListener("mouseleave",this.hoverHideHandler),this.menuTarget.removeEventListener("mouseleave",this.hoverHideHandler)),this.removeClickOutsideListener(),this.popperInstance.destroy(),this.initialized=!1)}setupEventListeners(){this.clickHandler=this.toggle.bind(this),this.hoverShowTriggerHandler=i=>{i.type==="click"?this.toggle():setTimeout(()=>{this.show()},this.options.delay)},this.hoverShowMenuHandler=()=>{this.show()},this.hoverHideHandler=()=>{setTimeout(()=>{this.menuTarget.matches(":hover")||this.hide()},this.options.delay)},this.options.triggerType==="click"?this.triggerTarget.addEventListener("click",this.clickHandler):this.options.triggerType==="hover"&&(this.triggerTarget.addEventListener("mouseenter",this.hoverShowTriggerHandler),this.menuTarget.addEventListener("mouseenter",this.hoverShowMenuHandler),this.triggerTarget.addEventListener("mouseleave",this.hoverHideHandler),this.menuTarget.addEventListener("mouseleave",this.hoverHideHandler))}setupClickOutsideListener(){this.clickOutsideHandler=i=>{let e=i.target,t=this.options.ignoreClickOutsideClass,r=!1;t&&document.querySelectorAll(`.${t}`).forEach(o=>{if(o.contains(e)){r=!0;return}});let s=e.closest(".flatpickr-calendar, .ss-main, .ss-content");e!==this.menuTarget&&!this.menuTarget.contains(e)&&!this.triggerTarget.contains(e)&&!r&&!s&&this.visible&&this.hide()},document.body.addEventListener("click",this.clickOutsideHandler,!0)}removeClickOutsideListener(){this.clickOutsideHandler&&document.body.removeEventListener("click",this.clickOutsideHandler,!0)}toggle(){this.visible?this.hide():this.show()}show(){this.menuTarget.classList.remove("hidden"),this.menuTarget.classList.add("block"),this.menuTarget.removeAttribute("aria-hidden"),this.popperInstance.setOptions(i=>({...i,modifiers:[...i.modifiers,{name:"eventListeners",enabled:!0}]})),this.setupClickOutsideListener(),this.popperInstance.update(),this.visible=!0}hide(){this.menuTarget.classList.remove("block"),this.menuTarget.classList.add("hidden"),this.menuTarget.setAttribute("aria-hidden","true"),this.popperInstance.setOptions(i=>({...i,modifiers:[...i.modifiers,{name:"eventListeners",enabled:!1}]})),this.removeClickOutsideListener(),this.visible=!1}};var xo=class extends ${static targets=["trigger","menu"];connect(){this.element.hasAttribute("data-visible")||this.element.setAttribute("data-visible","false"),this.#e()}toggle(){let i=this.element.getAttribute("data-visible")==="true";this.element.setAttribute("data-visible",(!i).toString()),this.#e()}#e(){this.element.getAttribute("data-visible")==="true"?(this.menuTarget.classList.remove("hidden"),this.triggerTarget.setAttribute("aria-expanded","true"),this.dispatch("expand")):(this.menuTarget.classList.add("hidden"),this.triggerTarget.setAttribute("aria-expanded","false"),this.dispatch("collapse"))}};var ko=class extends ${static values={after:Number};connect(){this.hasAfterValue&&this.afterValue>0&&(this.autoDismissTimeout=setTimeout(()=>{this.dismiss(),this.autoDismissTimeout=null},this.afterValue))}disconnect(){this.autoDismissTimeout&&clearTimeout(this.autoDismissTimeout),this.autoDismissTimeout=null}dismiss(){this.element.remove()}};var _o=class extends ${static targets=["frame","refreshButton","backButton","homeButton","maximizeLink"];connect(){this.#t(),this.srcHistory=[],this.originalFrameSrc=this.frameTarget.src,this.hasRefreshButtonTarget&&(this.refreshButtonTarget.style.display="",this.refreshButtonClicked=this.refreshButtonClicked.bind(this),this.refreshButtonTarget.addEventListener("click",this.refreshButtonClicked)),this.hasBackButtonTarget&&(this.backButtonClicked=this.backButtonClicked.bind(this),this.backButtonTarget.addEventListener("click",this.backButtonClicked)),this.hasHomeButtonTarget&&(this.homeButtonClicked=this.homeButtonClicked.bind(this),this.homeButtonTarget.addEventListener("click",this.homeButtonClicked)),this.frameLoaded=this.frameLoaded.bind(this),this.frameTarget.addEventListener("turbo:frame-load",this.frameLoaded),this.frameLoading=this.frameLoading.bind(this),this.frameTarget.addEventListener("turbo:click",this.frameLoading),this.frameTarget.addEventListener("turbo:submit-start",this.frameLoading),this.frameFailed=this.frameFailed.bind(this),this.frameTarget.addEventListener("turbo:fetch-request-error",this.frameFailed)}disconnect(){this.hasRefreshButtonTarget&&this.refreshButtonTarget.removeEventListener("click",this.refreshButtonClicked),this.hasBackButtonTarget&&this.backButtonTarget.removeEventListener("click",this.backButtonClicked),this.hasHomeButtonTarget&&this.homeButtonTarget.removeEventListener("click",this.homeButtonClicked),this.frameTarget.removeEventListener("turbo:frame-load",this.frameLoaded),this.frameTarget.removeEventListener("turbo:click",this.frameLoading),this.frameTarget.removeEventListener("turbo:submit-start",this.frameLoading),this.frameTarget.removeEventListener("turbo:fetch-request-error",this.frameFailed)}frameLoading(i){if(i){let t=i.target.closest("a, form")?.dataset?.turboFrame;if(t&&t!==this.frameTarget.id)return}this.#t()}frameFailed(i){this.#i()}frameLoaded(i){this.#i();let e=i.target.src;this.#e(e)}refreshButtonClicked(i){this.frameLoading(null),this.frameTarget.reload()}backButtonClicked(i){this.frameLoading(null),this.srcHistory.pop(),this.frameTarget.src=this.currentSrc}homeButtonClicked(i){this.frameLoading(null),this.srcHistory=[this.originalFrameSrc],this.#r(),this._homeRequested=!0,this.frameTarget.src=this.originalFrameSrc,this.frameTarget.reload()}get currentSrc(){return this.srcHistory[this.srcHistory.length-1]}#e(i){this._homeRequested?(this._homeRequested=!1,this.srcHistory=[i],this.originalFrameSrc=i):i==this.currentSrc||(i==this.originalFrameSrc?this.srcHistory=[i]:this.srcHistory.push(i)),this.#r(),this.hasMaximizeLinkTarget&&(this.maximizeLinkTarget.href=i)}#t(){this.hasRefreshButtonTarget&&this.refreshButtonTarget.classList.add("motion-safe:animate-spin"),this.frameTarget.classList.add("motion-safe:animate-pulse")}#i(){this.hasRefreshButtonTarget&&this.refreshButtonTarget.classList.remove("motion-safe:animate-spin"),this.frameTarget.classList.remove("motion-safe:animate-pulse")}#r(){this.hasHomeButtonTarget&&(this.homeButtonTarget.style.display=this.srcHistory.length>2?"":"none"),this.hasBackButtonTarget&&(this.backButtonTarget.style.display=this.srcHistory.length>1?"":"none")}};var Ao=["auto","light","dark"],Co=class extends ${static values={current:String};connect(){this.applyMode(this.readMode()),this.handleStorageChange=i=>{i.key==="theme"&&this.applyMode(this.readMode())},window.addEventListener("storage",this.handleStorageChange),this.mq=window.matchMedia("(prefers-color-scheme: dark)"),this.handleMqChange=()=>{this.readMode()==="auto"&&this.applyMode("auto")},this.mq.addEventListener("change",this.handleMqChange)}disconnect(){window.removeEventListener("storage",this.handleStorageChange),this.mq&&this.mq.removeEventListener("change",this.handleMqChange)}toggleMode(){let i=this.readMode(),e=Ao[(Ao.indexOf(i)+1)%Ao.length];this.setMode(e)}setMode(i){localStorage.setItem("theme",i),this.applyMode(i)}applyMode(i){let e=this.effectiveMode(i);document.documentElement.classList.toggle("dark",e==="dark"),this.currentValue=i,this.toggleIcons(i)}readMode(){let i=localStorage.getItem("theme");return Ao.includes(i)?i:"auto"}effectiveMode(i){return i==="light"||i==="dark"?i:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}toggleIcons(i){let e={auto:this.element.querySelector(".color-mode-icon-auto"),light:this.element.querySelector(".color-mode-icon-light"),dark:this.element.querySelector(".color-mode-icon-dark")};for(let[t,r]of Object.entries(e))r&&r.classList.toggle("hidden",t!==i)}};function Id(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,r=Array(e);t<e;t++)r[t]=i[t];return r}function Gv(i){if(Array.isArray(i))return i}function Kv(i,e){var t=i==null?null:typeof Symbol<"u"&&i[Symbol.iterator]||i["@@iterator"];if(t!=null){var r,s,n,o,a=[],l=!0,h=!1;try{if(n=(t=t.call(i)).next,e!==0)for(;!(l=(r=n.call(t)).done)&&(a.push(r.value),a.length!==e);l=!0);}catch(f){h=!0,s=f}finally{try{if(!l&&t.return!=null&&(o=t.return(),Object(o)!==o))return}finally{if(h)throw s}}return a}}function Xv(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
31
|
+
%o`,t,e,r),(s=window.onerror)===null||s===void 0||s.call(window,t,"",0,0,e)}logFormattedMessage(e,t,r={}){r=Object.assign({application:this},r),this.logger.groupCollapsed(`${e} #${t}`),this.logger.log("details:",Object.assign({},r)),this.logger.groupEnd()}};function Jy(){return new Promise(i=>{document.readyState=="loading"?document.addEventListener("DOMContentLoaded",()=>i()):i()})}function ev(i){return Os(i,"classes").reduce((t,r)=>Object.assign(t,tv(r)),{})}function tv(i){return{[`${i}Class`]:{get(){let{classes:e}=this;if(e.has(i))return e.get(i);{let t=e.getAttributeName(i);throw new Error(`Missing attribute "${t}"`)}}},[`${i}Classes`]:{get(){return this.classes.getAll(i)}},[`has${Ps(i)}Class`]:{get(){return this.classes.has(i)}}}}function iv(i){return Os(i,"outlets").reduce((t,r)=>Object.assign(t,rv(r)),{})}function nd(i,e,t){return i.application.getControllerForElementAndIdentifier(e,t)}function od(i,e,t){let r=nd(i,e,t);if(r||(i.application.router.proposeToConnectScopeForElementAndIdentifier(e,t),r=nd(i,e,t),r))return r}function rv(i){let e=Hl(i);return{[`${e}Outlet`]:{get(){let t=this.outlets.find(i),r=this.outlets.getSelectorForOutletName(i);if(t){let s=od(this,t,i);if(s)return s;throw new Error(`The provided outlet element is missing an outlet controller "${i}" instance for host controller "${this.identifier}"`)}throw new Error(`Missing outlet element "${i}" for host controller "${this.identifier}". Stimulus couldn't find a matching outlet element using selector "${r}".`)}},[`${e}Outlets`]:{get(){let t=this.outlets.findAll(i);return t.length>0?t.map(r=>{let s=od(this,r,i);if(s)return s;console.warn(`The provided outlet element is missing an outlet controller "${i}" instance for host controller "${this.identifier}"`,r)}).filter(r=>r):[]}},[`${e}OutletElement`]:{get(){let t=this.outlets.find(i),r=this.outlets.getSelectorForOutletName(i);if(t)return t;throw new Error(`Missing outlet element "${i}" for host controller "${this.identifier}". Stimulus couldn't find a matching outlet element using selector "${r}".`)}},[`${e}OutletElements`]:{get(){return this.outlets.findAll(i)}},[`has${Ps(e)}Outlet`]:{get(){return this.outlets.has(i)}}}}function sv(i){return Os(i,"targets").reduce((t,r)=>Object.assign(t,nv(r)),{})}function nv(i){return{[`${i}Target`]:{get(){let e=this.targets.find(i);if(e)return e;throw new Error(`Missing target element "${i}" for "${this.identifier}" controller`)}},[`${i}Targets`]:{get(){return this.targets.findAll(i)}},[`has${Ps(i)}Target`]:{get(){return this.targets.has(i)}}}}function ov(i){let e=Hy(i,"values"),t={valueDescriptorMap:{get(){return e.reduce((r,s)=>{let n=pd(s,this.identifier),o=this.data.getAttributeNameForKey(n.key);return Object.assign(r,{[o]:n})},{})}}};return e.reduce((r,s)=>Object.assign(r,av(s)),t)}function av(i,e){let t=pd(i,e),{key:r,name:s,reader:n,writer:o}=t;return{[s]:{get(){let a=this.data.get(r);return a!==null?n(a):t.defaultValue},set(a){a===void 0?this.data.delete(r):this.data.set(r,o(a))}},[`has${Ps(s)}`]:{get(){return this.data.has(r)||t.hasCustomDefaultValue}}}}function pd([i,e],t){return hv({controller:t,token:i,typeDefinition:e})}function ho(i){switch(i){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function Fs(i){switch(typeof i){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}if(Array.isArray(i))return"array";if(Object.prototype.toString.call(i)==="[object Object]")return"object"}function lv(i){let{controller:e,token:t,typeObject:r}=i,s=td(r.type),n=td(r.default),o=s&&n,a=s&&!n,l=!s&&n,h=ho(r.type),f=Fs(i.typeObject.default);if(a)return h;if(l)return f;if(h!==f){let m=e?`${e}.${t}`:t;throw new Error(`The specified default value for the Stimulus Value "${m}" must match the defined type "${h}". The provided default value of "${r.default}" is of type "${f}".`)}if(o)return h}function cv(i){let{controller:e,token:t,typeDefinition:r}=i,n=lv({controller:e,token:t,typeObject:r}),o=Fs(r),a=ho(r),l=n||o||a;if(l)return l;let h=e?`${e}.${r}`:t;throw new Error(`Unknown value type "${h}" for "${t}" value`)}function uv(i){let e=ho(i);if(e)return ad[e];let t=jl(i,"default"),r=jl(i,"type"),s=i;if(t)return s.default;if(r){let{type:n}=s,o=ho(n);if(o)return ad[o]}return i}function hv(i){let{token:e,typeDefinition:t}=i,r=`${ud(e)}-value`,s=cv(i);return{type:s,key:r,name:lc(r),get defaultValue(){return uv(t)},get hasCustomDefaultValue(){return Fs(t)!==void 0},reader:dv[s],writer:ld[s]||ld.default}}var ad={get array(){return[]},boolean:!1,number:0,get object(){return{}},string:""},dv={array(i){let e=JSON.parse(i);if(!Array.isArray(e))throw new TypeError(`expected value of type "array" but instead got value "${i}" of type "${Fs(e)}"`);return e},boolean(i){return!(i=="0"||String(i).toLowerCase()=="false")},number(i){return Number(i.replace(/_/g,""))},object(i){let e=JSON.parse(i);if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError(`expected value of type "object" but instead got value "${i}" of type "${Fs(e)}"`);return e},string(i){return i}},ld={default:pv,array:cd,object:cd};function cd(i){return JSON.stringify(i)}function pv(i){return`${i}`}var $=class{constructor(e){this.context=e}static get shouldLoad(){return!0}static afterLoad(e,t){}get application(){return this.context.application}get scope(){return this.context.scope}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get targets(){return this.scope.targets}get outlets(){return this.scope.outlets}get classes(){return this.scope.classes}get data(){return this.scope.data}initialize(){}connect(){}disconnect(){}dispatch(e,{target:t=this.element,detail:r={},prefix:s=this.identifier,bubbles:n=!0,cancelable:o=!0}={}){let a=s?`${s}:${e}`:e,l=new CustomEvent(a,{detail:r,bubbles:n,cancelable:o});return t.dispatchEvent(l),l}};$.blessings=[ev,sv,ov,iv];$.targets=[];$.outlets=[];$.values={};var po=class extends ${static targets=["openIcon","closeIcon"];static outlets=["sidebar"];static values={placement:{type:String,default:"left"},bodyScrolling:{type:Boolean,default:!1},backdrop:{type:Boolean,default:!0},edge:{type:Boolean,default:!1},edgeOffset:{type:String,default:"bottom-[60px]"}};static classes={backdrop:"bg-gray-900/50 dark:bg-gray-900/80 fixed inset-0 z-30"};initialize(){this.visible=!1,this.handleEscapeKey=this.handleEscapeKey.bind(this)}connect(){document.addEventListener("keydown",this.handleEscapeKey)}sidebarOutletConnected(){this.#e(this.sidebarOutlet.element)}disconnect(){this.#i(),document.removeEventListener("keydown",this.handleEscapeKey),this.bodyScrollingValue||document.body.classList.remove("overflow-hidden")}#e(i){i.setAttribute("aria-hidden","true"),i.classList.add("transition-transform"),this.#r(this.placementValue).base.forEach(e=>{i.classList.add(e)})}toggleDrawer(){this.visible?this.hideDrawer():this.showDrawer()}showDrawer(){this.edgeValue?this.#o(`${this.placementValue}-edge`,!0):this.#s(this.placementValue,!0),this.openIconTarget.classList.add("hidden"),this.openIconTarget.setAttribute("aria-hidden","true"),this.closeIconTarget.classList.remove("hidden"),this.closeIconTarget.setAttribute("aria-hidden","false"),this.sidebarOutlet.element.setAttribute("aria-modal","true"),this.sidebarOutlet.element.setAttribute("role","dialog"),this.sidebarOutlet.element.removeAttribute("aria-hidden"),this.bodyScrollingValue||document.body.classList.add("overflow-hidden"),this.backdropValue&&this.#t(),this.visible=!0,this.dispatch("show")}hideDrawer(){this.edgeValue?this.#o(`${this.placementValue}-edge`,!1):this.#s(this.placementValue,!1),this.openIconTarget.classList.remove("hidden"),this.openIconTarget.setAttribute("aria-hidden","false"),this.closeIconTarget.classList.add("hidden"),this.closeIconTarget.setAttribute("aria-hidden","true"),this.sidebarOutlet.element.setAttribute("aria-hidden","true"),this.sidebarOutlet.element.removeAttribute("aria-modal"),this.sidebarOutlet.element.removeAttribute("role"),this.bodyScrollingValue||document.body.classList.remove("overflow-hidden"),this.backdropValue&&this.#i(),this.visible=!1,this.dispatch("hide")}handleEscapeKey(i){i.key==="Escape"&&this.visible&&this.hideDrawer()}#t(){if(!this.visible){let i=document.createElement("div");i.setAttribute("data-drawer-backdrop",""),i.classList.add(...this.constructor.classes.backdrop.split(" ")),i.addEventListener("click",()=>this.hideDrawer()),document.body.appendChild(i)}}#i(){let i=document.querySelector("[data-drawer-backdrop]");i&&i.remove()}#r(i){let e={top:{base:["top-0","left-0","right-0"],active:["transform-none"],inactive:["-translate-y-full"]},right:{base:["right-0","top-0"],active:["transform-none"],inactive:["translate-x-full"]},bottom:{base:["bottom-0","left-0","right-0"],active:["transform-none"],inactive:["translate-y-full"]},left:{base:["left-0","top-0"],active:["transform-none"],inactive:["-translate-x-full"]},"bottom-edge":{base:["left-0","top-0"],active:["transform-none"],inactive:["translate-y-full",this.edgeOffsetValue]}};return e[i]||e.left}#s(i,e){let t=this.#r(i);e?(t.active.forEach(r=>this.sidebarOutlet.element.classList.add(r)),t.inactive.forEach(r=>this.sidebarOutlet.element.classList.remove(r))):(t.active.forEach(r=>this.sidebarOutlet.element.classList.remove(r)),t.inactive.forEach(r=>this.sidebarOutlet.element.classList.add(r)))}#o(i,e){this.#s(i,e)}};var fo=class extends ${static targets=["target","template","addButton"];static values={wrapperSelector:{type:String,default:".nested-resource-form-fields"},limit:Number};connect(){this.updateState()}add(i){i.preventDefault();let e=this.templateTarget.innerHTML.replace(/NEW_RECORD/g,new Date().getTime().toString());this.targetTarget.insertAdjacentHTML("beforebegin",e),this.dispatch("add"),this.updateState()}remove(i){i.preventDefault();let e=i.target.closest(this.wrapperSelectorValue);e.dataset.newRecord!==void 0?e.remove():this.toggleRemoved(e,!0),this.dispatch("remove"),this.updateState()}restore(i){i.preventDefault();let e=i.target.closest(this.wrapperSelectorValue);this.toggleRemoved(e,!1),this.dispatch("restore"),this.updateState()}toggleRemoved(i,e){i.toggleAttribute("data-removed",e);let t=i.querySelector(":scope > [data-nested-content]"),r=i.querySelector(":scope > [data-nested-removed]");t&&(t.hidden=e),r&&(r.hidden=!e);let s=i.querySelector("input[name*='_destroy']");s&&(s.value=e?"1":"0")}updateState(){!this.hasAddButtonTarget||this.limitValue==0||(this.childCount>=this.limitValue?this.addButtonTarget.style.display="none":this.addButtonTarget.style.display="initial")}get childCount(){return this.element.querySelectorAll(`${this.wrapperSelectorValue}:not([data-removed])`).length}};var mo=class extends ${static targets=["content","removed"];remove(i){i.preventDefault(),this.contentTarget.disabled=!0,this.contentTarget.hidden=!0,this.removedTarget.hidden=!1}restore(i){i.preventDefault(),this.contentTarget.disabled=!1,this.contentTarget.hidden=!1,this.removedTarget.hidden=!0}};var go=class extends ${connect(){}preSubmit(){this.element.querySelectorAll('input[name="pre_submit"]').forEach(e=>e.remove());let i=document.createElement("input");i.type="hidden",i.name="pre_submit",i.value="true",this.element.appendChild(i),this.element.setAttribute("novalidate",""),this.submit()}submit(){this.element.requestSubmit()}};var xe="top",je="bottom",Ie="right",Fe="left",bo="auto",zi=[xe,je,Ie,Fe],Ei="start",or="end",fd="clippingParents",yo="viewport",Br="popper",md="reference",cc=zi.reduce(function(i,e){return i.concat([e+"-"+Ei,e+"-"+or])},[]),vo=[].concat(zi,[bo]).reduce(function(i,e){return i.concat([e,e+"-"+Ei,e+"-"+or])},[]),fv="beforeRead",mv="read",gv="afterRead",bv="beforeMain",yv="main",vv="afterMain",wv="beforeWrite",Sv="write",Ev="afterWrite",gd=[fv,mv,gv,bv,yv,vv,wv,Sv,Ev];function Ge(i){return i?(i.nodeName||"").toLowerCase():null}function be(i){if(i==null)return window;if(i.toString()!=="[object Window]"){var e=i.ownerDocument;return e&&e.defaultView||window}return i}function $t(i){var e=be(i).Element;return i instanceof e||i instanceof Element}function qe(i){var e=be(i).HTMLElement;return i instanceof e||i instanceof HTMLElement}function Ur(i){if(typeof ShadowRoot>"u")return!1;var e=be(i).ShadowRoot;return i instanceof e||i instanceof ShadowRoot}function Tv(i){var e=i.state;Object.keys(e.elements).forEach(function(t){var r=e.styles[t]||{},s=e.attributes[t]||{},n=e.elements[t];!qe(n)||!Ge(n)||(Object.assign(n.style,r),Object.keys(s).forEach(function(o){var a=s[o];a===!1?n.removeAttribute(o):n.setAttribute(o,a===!0?"":a)}))})}function xv(i){var e=i.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(r){var s=e.elements[r],n=e.attributes[r]||{},o=Object.keys(e.styles.hasOwnProperty(r)?e.styles[r]:t[r]),a=o.reduce(function(l,h){return l[h]="",l},{});!qe(s)||!Ge(s)||(Object.assign(s.style,a),Object.keys(n).forEach(function(l){s.removeAttribute(l)}))})}}var bd={name:"applyStyles",enabled:!0,phase:"write",fn:Tv,effect:xv,requires:["computeStyles"]};function Ke(i){return i.split("-")[0]}var Jt=Math.max,ar=Math.min,Ti=Math.round;function zr(){var i=navigator.userAgentData;return i!=null&&i.brands&&Array.isArray(i.brands)?i.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function Rs(){return!/^((?!chrome|android).)*safari/i.test(zr())}function Vt(i,e,t){e===void 0&&(e=!1),t===void 0&&(t=!1);var r=i.getBoundingClientRect(),s=1,n=1;e&&qe(i)&&(s=i.offsetWidth>0&&Ti(r.width)/i.offsetWidth||1,n=i.offsetHeight>0&&Ti(r.height)/i.offsetHeight||1);var o=$t(i)?be(i):window,a=o.visualViewport,l=!Rs()&&t,h=(r.left+(l&&a?a.offsetLeft:0))/s,f=(r.top+(l&&a?a.offsetTop:0))/n,m=r.width/s,w=r.height/n;return{width:m,height:w,top:f,right:h+m,bottom:f+w,left:h,x:h,y:f}}function lr(i){var e=Vt(i),t=i.offsetWidth,r=i.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-r)<=1&&(r=e.height),{x:i.offsetLeft,y:i.offsetTop,width:t,height:r}}function Ls(i,e){var t=e.getRootNode&&e.getRootNode();if(i.contains(e))return!0;if(t&&Ur(t)){var r=e;do{if(r&&i.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function at(i){return be(i).getComputedStyle(i)}function uc(i){return["table","td","th"].indexOf(Ge(i))>=0}function Je(i){return(($t(i)?i.ownerDocument:i.document)||window.document).documentElement}function xi(i){return Ge(i)==="html"?i:i.assignedSlot||i.parentNode||(Ur(i)?i.host:null)||Je(i)}function yd(i){return!qe(i)||at(i).position==="fixed"?null:i.offsetParent}function kv(i){var e=/firefox/i.test(zr()),t=/Trident/i.test(zr());if(t&&qe(i)){var r=at(i);if(r.position==="fixed")return null}var s=xi(i);for(Ur(s)&&(s=s.host);qe(s)&&["html","body"].indexOf(Ge(s))<0;){var n=at(s);if(n.transform!=="none"||n.perspective!=="none"||n.contain==="paint"||["transform","perspective"].indexOf(n.willChange)!==-1||e&&n.willChange==="filter"||e&&n.filter&&n.filter!=="none")return s;s=s.parentNode}return null}function ei(i){for(var e=be(i),t=yd(i);t&&uc(t)&&at(t).position==="static";)t=yd(t);return t&&(Ge(t)==="html"||Ge(t)==="body"&&at(t).position==="static")?e:t||kv(i)||e}function cr(i){return["top","bottom"].indexOf(i)>=0?"x":"y"}function ur(i,e,t){return Jt(i,ar(e,t))}function vd(i,e,t){var r=ur(i,e,t);return r>t?t:r}function Ms(){return{top:0,right:0,bottom:0,left:0}}function Is(i){return Object.assign({},Ms(),i)}function Ds(i,e){return e.reduce(function(t,r){return t[r]=i,t},{})}var _v=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,Is(typeof e!="number"?e:Ds(e,zi))};function Av(i){var e,t=i.state,r=i.name,s=i.options,n=t.elements.arrow,o=t.modifiersData.popperOffsets,a=Ke(t.placement),l=cr(a),h=[Fe,Ie].indexOf(a)>=0,f=h?"height":"width";if(!(!n||!o)){var m=_v(s.padding,t),w=lr(n),y=l==="y"?xe:Fe,k=l==="y"?je:Ie,C=t.rects.reference[f]+t.rects.reference[l]-o[l]-t.rects.popper[f],O=o[l]-t.rects.reference[l],R=ei(n),_=R?l==="y"?R.clientHeight||0:R.clientWidth||0:0,F=C/2-O/2,x=m[y],S=_-w[f]-m[k],A=_/2-w[f]/2+F,P=ur(x,A,S),N=l;t.modifiersData[r]=(e={},e[N]=P,e.centerOffset=P-A,e)}}function Cv(i){var e=i.state,t=i.options,r=t.element,s=r===void 0?"[data-popper-arrow]":r;s!=null&&(typeof s=="string"&&(s=e.elements.popper.querySelector(s),!s)||Ls(e.elements.popper,s)&&(e.elements.arrow=s))}var wd={name:"arrow",enabled:!0,phase:"main",fn:Av,effect:Cv,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Wt(i){return i.split("-")[1]}var Fv={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Pv(i,e){var t=i.x,r=i.y,s=e.devicePixelRatio||1;return{x:Ti(t*s)/s||0,y:Ti(r*s)/s||0}}function Sd(i){var e,t=i.popper,r=i.popperRect,s=i.placement,n=i.variation,o=i.offsets,a=i.position,l=i.gpuAcceleration,h=i.adaptive,f=i.roundOffsets,m=i.isFixed,w=o.x,y=w===void 0?0:w,k=o.y,C=k===void 0?0:k,O=typeof f=="function"?f({x:y,y:C}):{x:y,y:C};y=O.x,C=O.y;var R=o.hasOwnProperty("x"),_=o.hasOwnProperty("y"),F=Fe,x=xe,S=window;if(h){var A=ei(t),P="clientHeight",N="clientWidth";if(A===be(t)&&(A=Je(t),at(A).position!=="static"&&a==="absolute"&&(P="scrollHeight",N="scrollWidth")),A=A,s===xe||(s===Fe||s===Ie)&&n===or){x=je;var z=m&&A===S&&S.visualViewport?S.visualViewport.height:A[P];C-=z-r.height,C*=l?1:-1}if(s===Fe||(s===xe||s===je)&&n===or){F=Ie;var q=m&&A===S&&S.visualViewport?S.visualViewport.width:A[N];y-=q-r.width,y*=l?1:-1}}var V=Object.assign({position:a},h&&Fv),Z=f===!0?Pv({x:y,y:C},be(t)):{x:y,y:C};if(y=Z.x,C=Z.y,l){var K;return Object.assign({},V,(K={},K[x]=_?"0":"",K[F]=R?"0":"",K.transform=(S.devicePixelRatio||1)<=1?"translate("+y+"px, "+C+"px)":"translate3d("+y+"px, "+C+"px, 0)",K))}return Object.assign({},V,(e={},e[x]=_?C+"px":"",e[F]=R?y+"px":"",e.transform="",e))}function Ov(i){var e=i.state,t=i.options,r=t.gpuAcceleration,s=r===void 0?!0:r,n=t.adaptive,o=n===void 0?!0:n,a=t.roundOffsets,l=a===void 0?!0:a,h={placement:Ke(e.placement),variation:Wt(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,Sd(Object.assign({},h,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:o,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,Sd(Object.assign({},h,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}var Ed={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Ov,data:{}};var wo={passive:!0};function Rv(i){var e=i.state,t=i.instance,r=i.options,s=r.scroll,n=s===void 0?!0:s,o=r.resize,a=o===void 0?!0:o,l=be(e.elements.popper),h=[].concat(e.scrollParents.reference,e.scrollParents.popper);return n&&h.forEach(function(f){f.addEventListener("scroll",t.update,wo)}),a&&l.addEventListener("resize",t.update,wo),function(){n&&h.forEach(function(f){f.removeEventListener("scroll",t.update,wo)}),a&&l.removeEventListener("resize",t.update,wo)}}var Td={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Rv,data:{}};var Lv={left:"right",right:"left",bottom:"top",top:"bottom"};function Hr(i){return i.replace(/left|right|bottom|top/g,function(e){return Lv[e]})}var Mv={start:"end",end:"start"};function So(i){return i.replace(/start|end/g,function(e){return Mv[e]})}function hr(i){var e=be(i),t=e.pageXOffset,r=e.pageYOffset;return{scrollLeft:t,scrollTop:r}}function dr(i){return Vt(Je(i)).left+hr(i).scrollLeft}function hc(i,e){var t=be(i),r=Je(i),s=t.visualViewport,n=r.clientWidth,o=r.clientHeight,a=0,l=0;if(s){n=s.width,o=s.height;var h=Rs();(h||!h&&e==="fixed")&&(a=s.offsetLeft,l=s.offsetTop)}return{width:n,height:o,x:a+dr(i),y:l}}function dc(i){var e,t=Je(i),r=hr(i),s=(e=i.ownerDocument)==null?void 0:e.body,n=Jt(t.scrollWidth,t.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),o=Jt(t.scrollHeight,t.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-r.scrollLeft+dr(i),l=-r.scrollTop;return at(s||t).direction==="rtl"&&(a+=Jt(t.clientWidth,s?s.clientWidth:0)-n),{width:n,height:o,x:a,y:l}}function pr(i){var e=at(i),t=e.overflow,r=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+s+r)}function Eo(i){return["html","body","#document"].indexOf(Ge(i))>=0?i.ownerDocument.body:qe(i)&&pr(i)?i:Eo(xi(i))}function Hi(i,e){var t;e===void 0&&(e=[]);var r=Eo(i),s=r===((t=i.ownerDocument)==null?void 0:t.body),n=be(r),o=s?[n].concat(n.visualViewport||[],pr(r)?r:[]):r,a=e.concat(o);return s?a:a.concat(Hi(xi(o)))}function jr(i){return Object.assign({},i,{left:i.x,top:i.y,right:i.x+i.width,bottom:i.y+i.height})}function Iv(i,e){var t=Vt(i,!1,e==="fixed");return t.top=t.top+i.clientTop,t.left=t.left+i.clientLeft,t.bottom=t.top+i.clientHeight,t.right=t.left+i.clientWidth,t.width=i.clientWidth,t.height=i.clientHeight,t.x=t.left,t.y=t.top,t}function xd(i,e,t){return e===yo?jr(hc(i,t)):$t(e)?Iv(e,t):jr(dc(Je(i)))}function Dv(i){var e=Hi(xi(i)),t=["absolute","fixed"].indexOf(at(i).position)>=0,r=t&&qe(i)?ei(i):i;return $t(r)?e.filter(function(s){return $t(s)&&Ls(s,r)&&Ge(s)!=="body"}):[]}function pc(i,e,t,r){var s=e==="clippingParents"?Dv(i):[].concat(e),n=[].concat(s,[t]),o=n[0],a=n.reduce(function(l,h){var f=xd(i,h,r);return l.top=Jt(f.top,l.top),l.right=ar(f.right,l.right),l.bottom=ar(f.bottom,l.bottom),l.left=Jt(f.left,l.left),l},xd(i,o,r));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Ns(i){var e=i.reference,t=i.element,r=i.placement,s=r?Ke(r):null,n=r?Wt(r):null,o=e.x+e.width/2-t.width/2,a=e.y+e.height/2-t.height/2,l;switch(s){case xe:l={x:o,y:e.y-t.height};break;case je:l={x:o,y:e.y+e.height};break;case Ie:l={x:e.x+e.width,y:a};break;case Fe:l={x:e.x-t.width,y:a};break;default:l={x:e.x,y:e.y}}var h=s?cr(s):null;if(h!=null){var f=h==="y"?"height":"width";switch(n){case Ei:l[h]=l[h]-(e[f]/2-t[f]/2);break;case or:l[h]=l[h]+(e[f]/2-t[f]/2);break;default:}}return l}function ti(i,e){e===void 0&&(e={});var t=e,r=t.placement,s=r===void 0?i.placement:r,n=t.strategy,o=n===void 0?i.strategy:n,a=t.boundary,l=a===void 0?fd:a,h=t.rootBoundary,f=h===void 0?yo:h,m=t.elementContext,w=m===void 0?Br:m,y=t.altBoundary,k=y===void 0?!1:y,C=t.padding,O=C===void 0?0:C,R=Is(typeof O!="number"?O:Ds(O,zi)),_=w===Br?md:Br,F=i.rects.popper,x=i.elements[k?_:w],S=pc($t(x)?x:x.contextElement||Je(i.elements.popper),l,f,o),A=Vt(i.elements.reference),P=Ns({reference:A,element:F,strategy:"absolute",placement:s}),N=jr(Object.assign({},F,P)),z=w===Br?N:A,q={top:S.top-z.top+R.top,bottom:z.bottom-S.bottom+R.bottom,left:S.left-z.left+R.left,right:z.right-S.right+R.right},V=i.modifiersData.offset;if(w===Br&&V){var Z=V[s];Object.keys(q).forEach(function(K){var ie=[Ie,je].indexOf(K)>=0?1:-1,Ae=[xe,je].indexOf(K)>=0?"y":"x";q[K]+=Z[Ae]*ie})}return q}function fc(i,e){e===void 0&&(e={});var t=e,r=t.placement,s=t.boundary,n=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,h=l===void 0?vo:l,f=Wt(r),m=f?a?cc:cc.filter(function(k){return Wt(k)===f}):zi,w=m.filter(function(k){return h.indexOf(k)>=0});w.length===0&&(w=m);var y=w.reduce(function(k,C){return k[C]=ti(i,{placement:C,boundary:s,rootBoundary:n,padding:o})[Ke(C)],k},{});return Object.keys(y).sort(function(k,C){return y[k]-y[C]})}function Nv(i){if(Ke(i)===bo)return[];var e=Hr(i);return[So(i),e,So(e)]}function Bv(i){var e=i.state,t=i.options,r=i.name;if(!e.modifiersData[r]._skip){for(var s=t.mainAxis,n=s===void 0?!0:s,o=t.altAxis,a=o===void 0?!0:o,l=t.fallbackPlacements,h=t.padding,f=t.boundary,m=t.rootBoundary,w=t.altBoundary,y=t.flipVariations,k=y===void 0?!0:y,C=t.allowedAutoPlacements,O=e.options.placement,R=Ke(O),_=R===O,F=l||(_||!k?[Hr(O)]:Nv(O)),x=[O].concat(F).reduce(function(Ye,se){return Ye.concat(Ke(se)===bo?fc(e,{placement:se,boundary:f,rootBoundary:m,padding:h,flipVariations:k,allowedAutoPlacements:C}):se)},[]),S=e.rects.reference,A=e.rects.popper,P=new Map,N=!0,z=x[0],q=0;q<x.length;q++){var V=x[q],Z=Ke(V),K=Wt(V)===Ei,ie=[xe,je].indexOf(Z)>=0,Ae=ie?"width":"height",de=ti(e,{placement:V,boundary:f,rootBoundary:m,altBoundary:w,padding:h}),Ue=ie?K?Ie:Fe:K?je:xe;S[Ae]>A[Ae]&&(Ue=Hr(Ue));var fe=Hr(Ue),ot=[];if(n&&ot.push(de[Z]<=0),a&&ot.push(de[Ue]<=0,de[fe]<=0),ot.every(function(Ye){return Ye})){z=V,N=!1;break}P.set(V,ot)}if(N)for(var Ot=k?3:1,Et=function(se){var Rt=x.find(function(ne){var Se=P.get(ne);if(Se)return Se.slice(0,se).every(function(Lt){return Lt})});if(Rt)return z=Rt,"break"},ft=Ot;ft>0;ft--){var re=Et(ft);if(re==="break")break}e.placement!==z&&(e.modifiersData[r]._skip=!0,e.placement=z,e.reset=!0)}}var kd={name:"flip",enabled:!0,phase:"main",fn:Bv,requiresIfExists:["offset"],data:{_skip:!1}};function _d(i,e,t){return t===void 0&&(t={x:0,y:0}),{top:i.top-e.height-t.y,right:i.right-e.width+t.x,bottom:i.bottom-e.height+t.y,left:i.left-e.width-t.x}}function Ad(i){return[xe,Ie,je,Fe].some(function(e){return i[e]>=0})}function Uv(i){var e=i.state,t=i.name,r=e.rects.reference,s=e.rects.popper,n=e.modifiersData.preventOverflow,o=ti(e,{elementContext:"reference"}),a=ti(e,{altBoundary:!0}),l=_d(o,r),h=_d(a,s,n),f=Ad(l),m=Ad(h);e.modifiersData[t]={referenceClippingOffsets:l,popperEscapeOffsets:h,isReferenceHidden:f,hasPopperEscaped:m},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":f,"data-popper-escaped":m})}var Cd={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Uv};function zv(i,e,t){var r=Ke(i),s=[Fe,xe].indexOf(r)>=0?-1:1,n=typeof t=="function"?t(Object.assign({},e,{placement:i})):t,o=n[0],a=n[1];return o=o||0,a=(a||0)*s,[Fe,Ie].indexOf(r)>=0?{x:a,y:o}:{x:o,y:a}}function Hv(i){var e=i.state,t=i.options,r=i.name,s=t.offset,n=s===void 0?[0,0]:s,o=vo.reduce(function(f,m){return f[m]=zv(m,e.rects,n),f},{}),a=o[e.placement],l=a.x,h=a.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=h),e.modifiersData[r]=o}var Fd={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Hv};function jv(i){var e=i.state,t=i.name;e.modifiersData[t]=Ns({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}var Pd={name:"popperOffsets",enabled:!0,phase:"read",fn:jv,data:{}};function mc(i){return i==="x"?"y":"x"}function qv(i){var e=i.state,t=i.options,r=i.name,s=t.mainAxis,n=s===void 0?!0:s,o=t.altAxis,a=o===void 0?!1:o,l=t.boundary,h=t.rootBoundary,f=t.altBoundary,m=t.padding,w=t.tether,y=w===void 0?!0:w,k=t.tetherOffset,C=k===void 0?0:k,O=ti(e,{boundary:l,rootBoundary:h,padding:m,altBoundary:f}),R=Ke(e.placement),_=Wt(e.placement),F=!_,x=cr(R),S=mc(x),A=e.modifiersData.popperOffsets,P=e.rects.reference,N=e.rects.popper,z=typeof C=="function"?C(Object.assign({},e.rects,{placement:e.placement})):C,q=typeof z=="number"?{mainAxis:z,altAxis:z}:Object.assign({mainAxis:0,altAxis:0},z),V=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,Z={x:0,y:0};if(A){if(n){var K,ie=x==="y"?xe:Fe,Ae=x==="y"?je:Ie,de=x==="y"?"height":"width",Ue=A[x],fe=Ue+O[ie],ot=Ue-O[Ae],Ot=y?-N[de]/2:0,Et=_===Ei?P[de]:N[de],ft=_===Ei?-N[de]:-P[de],re=e.elements.arrow,Ye=y&&re?lr(re):{width:0,height:0},se=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:Ms(),Rt=se[ie],ne=se[Ae],Se=ur(0,P[de],Ye[de]),Lt=F?P[de]/2-Ot-Se-Rt-q.mainAxis:Et-Se-Rt-q.mainAxis,mt=F?-P[de]/2+Ot+Se+ne+q.mainAxis:ft+Se+ne+q.mainAxis,oi=e.elements.arrow&&ei(e.elements.arrow),Ci=oi?x==="y"?oi.clientTop||0:oi.clientLeft||0:0,Yi=(K=V?.[x])!=null?K:0,Ar=Ue+Lt-Yi-Ci,Xt=Ue+mt-Yi,Yt=ur(y?ar(fe,Ar):fe,Ue,y?Jt(ot,Xt):ot);A[x]=Yt,Z[x]=Yt-Ue}if(a){var Tt,Fi=x==="x"?xe:Fe,Pi=x==="x"?je:Ie,Ze=A[S],Mt=S==="y"?"height":"width",Zt=Ze+O[Fi],Oi=Ze-O[Pi],Ri=[xe,Fe].indexOf(R)!==-1,Zi=(Tt=V?.[S])!=null?Tt:0,Li=Ri?Zt:Ze-P[Mt]-N[Mt]-Zi+q.altAxis,ai=Ri?Ze+P[Mt]+N[Mt]-Zi-q.altAxis:Oi,It=y&&Ri?vd(Li,Ze,ai):ur(y?Li:Zt,Ze,y?ai:Oi);A[S]=It,Z[S]=It-Ze}e.modifiersData[r]=Z}}var Od={name:"preventOverflow",enabled:!0,phase:"main",fn:qv,requiresIfExists:["offset"]};function gc(i){return{scrollLeft:i.scrollLeft,scrollTop:i.scrollTop}}function bc(i){return i===be(i)||!qe(i)?hr(i):gc(i)}function $v(i){var e=i.getBoundingClientRect(),t=Ti(e.width)/i.offsetWidth||1,r=Ti(e.height)/i.offsetHeight||1;return t!==1||r!==1}function yc(i,e,t){t===void 0&&(t=!1);var r=qe(e),s=qe(e)&&$v(e),n=Je(e),o=Vt(i,s,t),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!t)&&((Ge(e)!=="body"||pr(n))&&(a=bc(e)),qe(e)?(l=Vt(e,!0),l.x+=e.clientLeft,l.y+=e.clientTop):n&&(l.x=dr(n))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function Vv(i){var e=new Map,t=new Set,r=[];i.forEach(function(n){e.set(n.name,n)});function s(n){t.add(n.name);var o=[].concat(n.requires||[],n.requiresIfExists||[]);o.forEach(function(a){if(!t.has(a)){var l=e.get(a);l&&s(l)}}),r.push(n)}return i.forEach(function(n){t.has(n.name)||s(n)}),r}function vc(i){var e=Vv(i);return gd.reduce(function(t,r){return t.concat(e.filter(function(s){return s.phase===r}))},[])}function wc(i){var e;return function(){return e||(e=new Promise(function(t){Promise.resolve().then(function(){e=void 0,t(i())})})),e}}function Sc(i){var e=i.reduce(function(t,r){var s=t[r.name];return t[r.name]=s?Object.assign({},s,r,{options:Object.assign({},s.options,r.options),data:Object.assign({},s.data,r.data)}):r,t},{});return Object.keys(e).map(function(t){return e[t]})}var Rd={placement:"bottom",modifiers:[],strategy:"absolute"};function Ld(){for(var i=arguments.length,e=new Array(i),t=0;t<i;t++)e[t]=arguments[t];return!e.some(function(r){return!(r&&typeof r.getBoundingClientRect=="function")})}function Md(i){i===void 0&&(i={});var e=i,t=e.defaultModifiers,r=t===void 0?[]:t,s=e.defaultOptions,n=s===void 0?Rd:s;return function(a,l,h){h===void 0&&(h=n);var f={placement:"bottom",orderedModifiers:[],options:Object.assign({},Rd,n),modifiersData:{},elements:{reference:a,popper:l},attributes:{},styles:{}},m=[],w=!1,y={state:f,setOptions:function(R){var _=typeof R=="function"?R(f.options):R;C(),f.options=Object.assign({},n,f.options,_),f.scrollParents={reference:$t(a)?Hi(a):a.contextElement?Hi(a.contextElement):[],popper:Hi(l)};var F=vc(Sc([].concat(r,f.options.modifiers)));return f.orderedModifiers=F.filter(function(x){return x.enabled}),k(),y.update()},forceUpdate:function(){if(!w){var R=f.elements,_=R.reference,F=R.popper;if(Ld(_,F)){f.rects={reference:yc(_,ei(F),f.options.strategy==="fixed"),popper:lr(F)},f.reset=!1,f.placement=f.options.placement,f.orderedModifiers.forEach(function(q){return f.modifiersData[q.name]=Object.assign({},q.data)});for(var x=0;x<f.orderedModifiers.length;x++){if(f.reset===!0){f.reset=!1,x=-1;continue}var S=f.orderedModifiers[x],A=S.fn,P=S.options,N=P===void 0?{}:P,z=S.name;typeof A=="function"&&(f=A({state:f,options:N,name:z,instance:y})||f)}}}},update:wc(function(){return new Promise(function(O){y.forceUpdate(),O(f)})}),destroy:function(){C(),w=!0}};if(!Ld(a,l))return y;y.setOptions(h).then(function(O){!w&&h.onFirstUpdate&&h.onFirstUpdate(O)});function k(){f.orderedModifiers.forEach(function(O){var R=O.name,_=O.options,F=_===void 0?{}:_,x=O.effect;if(typeof x=="function"){var S=x({state:f,name:R,instance:y,options:F}),A=function(){};m.push(S||A)}})}function C(){m.forEach(function(O){return O()}),m=[]}return y}}var Wv=[Td,Pd,Ed,bd,Fd,kd,Od,wd,Cd],Ec=Md({defaultModifiers:Wv});var To=class extends ${static targets=["trigger","menu"];static values={placement:{type:String,default:"bottom"}};connect(){this.visible=!1,this.initialized=!1,this.options={placement:this.placementValue,triggerType:"click",offsetSkidding:0,offsetDistance:10,delay:300,ignoreClickOutsideClass:!1},this.init()}init(){this.triggerTarget&&this.menuTarget&&!this.initialized&&(this.menu=this.menuTarget,this.menuHome={parent:this.menu.parentNode,next:this.menu.nextSibling},this.popperInstance=Ec(this.triggerTarget,this.menu,{strategy:"fixed",placement:this.options.placement,modifiers:[{name:"offset",options:{offset:[this.options.offsetSkidding,this.options.offsetDistance]}},{name:"flip",options:{fallbackPlacements:["bottom-end","bottom-start","top","top-end","top-start"],boundary:"viewport"}},{name:"preventOverflow",options:{boundary:"viewport",altAxis:!0,padding:8}}]}),this.setupEventListeners(),this.initialized=!0)}disconnect(){this.initialized&&(this.options.triggerType==="click"&&this.triggerTarget.removeEventListener("click",this.clickHandler),this.options.triggerType==="hover"&&(this.triggerTarget.removeEventListener("mouseenter",this.hoverShowTriggerHandler),this.menu.removeEventListener("mouseenter",this.hoverShowMenuHandler),this.triggerTarget.removeEventListener("mouseleave",this.hoverHideHandler),this.menu.removeEventListener("mouseleave",this.hoverHideHandler)),this.removeClickOutsideListener(),this.restoreMenu(),this.menu.parentNode===document.body&&this.menu.remove(),this.popperInstance.destroy(),this.initialized=!1)}teleportMenu(){this.menu.parentNode!==document.body&&document.body.appendChild(this.menu)}restoreMenu(){let i=this.menuHome;i&&i.parent&&i.parent.isConnected&&this.menu.parentNode!==i.parent&&i.parent.insertBefore(this.menu,i.next)}setupEventListeners(){this.clickHandler=this.toggle.bind(this),this.hoverShowTriggerHandler=i=>{i.type==="click"?this.toggle():setTimeout(()=>{this.show()},this.options.delay)},this.hoverShowMenuHandler=()=>{this.show()},this.hoverHideHandler=()=>{setTimeout(()=>{this.menu.matches(":hover")||this.hide()},this.options.delay)},this.options.triggerType==="click"?this.triggerTarget.addEventListener("click",this.clickHandler):this.options.triggerType==="hover"&&(this.triggerTarget.addEventListener("mouseenter",this.hoverShowTriggerHandler),this.menu.addEventListener("mouseenter",this.hoverShowMenuHandler),this.triggerTarget.addEventListener("mouseleave",this.hoverHideHandler),this.menu.addEventListener("mouseleave",this.hoverHideHandler))}setupClickOutsideListener(){this.clickOutsideHandler=i=>{let e=i.target,t=this.options.ignoreClickOutsideClass,r=!1;t&&document.querySelectorAll(`.${t}`).forEach(o=>{if(o.contains(e)){r=!0;return}});let s=e.closest(".flatpickr-calendar, .ss-main, .ss-content");e!==this.menu&&!this.menu.contains(e)&&!this.triggerTarget.contains(e)&&!r&&!s&&this.visible&&this.hide()},document.body.addEventListener("click",this.clickOutsideHandler,!0)}removeClickOutsideListener(){this.clickOutsideHandler&&document.body.removeEventListener("click",this.clickOutsideHandler,!0)}toggle(){this.visible?this.hide():this.show()}show(){this.teleportMenu(),this.menu.classList.remove("hidden"),this.menu.classList.add("block"),this.menu.removeAttribute("aria-hidden"),this.popperInstance.setOptions(i=>({...i,modifiers:[...i.modifiers,{name:"eventListeners",enabled:!0}]})),this.setupClickOutsideListener(),this.popperInstance.update(),this.visible=!0}hide(){this.menu.classList.remove("block"),this.menu.classList.add("hidden"),this.menu.setAttribute("aria-hidden","true"),this.popperInstance.setOptions(i=>({...i,modifiers:[...i.modifiers,{name:"eventListeners",enabled:!1}]})),this.removeClickOutsideListener(),this.restoreMenu(),this.visible=!1}};var xo=class extends ${static targets=["trigger","menu"];connect(){this.element.hasAttribute("data-visible")||this.element.setAttribute("data-visible","false"),this.#e()}toggle(){let i=this.element.getAttribute("data-visible")==="true";this.element.setAttribute("data-visible",(!i).toString()),this.#e()}#e(){this.element.getAttribute("data-visible")==="true"?(this.menuTarget.classList.remove("hidden"),this.triggerTarget.setAttribute("aria-expanded","true"),this.dispatch("expand")):(this.menuTarget.classList.add("hidden"),this.triggerTarget.setAttribute("aria-expanded","false"),this.dispatch("collapse"))}};var ko=class extends ${static values={after:Number};connect(){this.hasAfterValue&&this.afterValue>0&&(this.autoDismissTimeout=setTimeout(()=>{this.dismiss(),this.autoDismissTimeout=null},this.afterValue))}disconnect(){this.autoDismissTimeout&&clearTimeout(this.autoDismissTimeout),this.autoDismissTimeout=null}dismiss(){this.element.remove()}};var _o=class extends ${static targets=["frame","refreshButton","backButton","homeButton","maximizeLink"];connect(){this.#t(),this.srcHistory=[],this.originalFrameSrc=this.frameTarget.src,this.hasRefreshButtonTarget&&(this.refreshButtonTarget.style.display="",this.refreshButtonClicked=this.refreshButtonClicked.bind(this),this.refreshButtonTarget.addEventListener("click",this.refreshButtonClicked)),this.hasBackButtonTarget&&(this.backButtonClicked=this.backButtonClicked.bind(this),this.backButtonTarget.addEventListener("click",this.backButtonClicked)),this.hasHomeButtonTarget&&(this.homeButtonClicked=this.homeButtonClicked.bind(this),this.homeButtonTarget.addEventListener("click",this.homeButtonClicked)),this.frameLoaded=this.frameLoaded.bind(this),this.frameTarget.addEventListener("turbo:frame-load",this.frameLoaded),this.frameLoading=this.frameLoading.bind(this),this.frameTarget.addEventListener("turbo:click",this.frameLoading),this.frameTarget.addEventListener("turbo:submit-start",this.frameLoading),this.frameFailed=this.frameFailed.bind(this),this.frameTarget.addEventListener("turbo:fetch-request-error",this.frameFailed)}disconnect(){this.hasRefreshButtonTarget&&this.refreshButtonTarget.removeEventListener("click",this.refreshButtonClicked),this.hasBackButtonTarget&&this.backButtonTarget.removeEventListener("click",this.backButtonClicked),this.hasHomeButtonTarget&&this.homeButtonTarget.removeEventListener("click",this.homeButtonClicked),this.frameTarget.removeEventListener("turbo:frame-load",this.frameLoaded),this.frameTarget.removeEventListener("turbo:click",this.frameLoading),this.frameTarget.removeEventListener("turbo:submit-start",this.frameLoading),this.frameTarget.removeEventListener("turbo:fetch-request-error",this.frameFailed)}frameLoading(i){if(i){let t=i.target.closest("a, form")?.dataset?.turboFrame;if(t&&t!==this.frameTarget.id)return}this.#t()}frameFailed(i){this.#i()}frameLoaded(i){this.#i();let e=i.target.src;this.#e(e)}refreshButtonClicked(i){this.frameLoading(null),this.frameTarget.reload()}backButtonClicked(i){this.frameLoading(null),this.srcHistory.pop(),this.frameTarget.src=this.currentSrc}homeButtonClicked(i){this.frameLoading(null),this.srcHistory=[this.originalFrameSrc],this.#r(),this._homeRequested=!0,this.frameTarget.src=this.originalFrameSrc,this.frameTarget.reload()}get currentSrc(){return this.srcHistory[this.srcHistory.length-1]}#e(i){this._homeRequested?(this._homeRequested=!1,this.srcHistory=[i],this.originalFrameSrc=i):i==this.currentSrc||(i==this.originalFrameSrc?this.srcHistory=[i]:this.srcHistory.push(i)),this.#r(),this.hasMaximizeLinkTarget&&(this.maximizeLinkTarget.href=i)}#t(){this.hasRefreshButtonTarget&&this.refreshButtonTarget.classList.add("motion-safe:animate-spin"),this.frameTarget.classList.add("motion-safe:animate-pulse")}#i(){this.hasRefreshButtonTarget&&this.refreshButtonTarget.classList.remove("motion-safe:animate-spin"),this.frameTarget.classList.remove("motion-safe:animate-pulse")}#r(){this.hasHomeButtonTarget&&(this.homeButtonTarget.style.display=this.srcHistory.length>2?"":"none"),this.hasBackButtonTarget&&(this.backButtonTarget.style.display=this.srcHistory.length>1?"":"none")}};var Ao=["auto","light","dark"],Co=class extends ${static values={current:String};connect(){this.applyMode(this.readMode()),this.handleStorageChange=i=>{i.key==="theme"&&this.applyMode(this.readMode())},window.addEventListener("storage",this.handleStorageChange),this.mq=window.matchMedia("(prefers-color-scheme: dark)"),this.handleMqChange=()=>{this.readMode()==="auto"&&this.applyMode("auto")},this.mq.addEventListener("change",this.handleMqChange)}disconnect(){window.removeEventListener("storage",this.handleStorageChange),this.mq&&this.mq.removeEventListener("change",this.handleMqChange)}toggleMode(){let i=this.readMode(),e=Ao[(Ao.indexOf(i)+1)%Ao.length];this.setMode(e)}setMode(i){localStorage.setItem("theme",i),this.applyMode(i)}applyMode(i){let e=this.effectiveMode(i);document.documentElement.classList.toggle("dark",e==="dark"),this.currentValue=i,this.toggleIcons(i)}readMode(){let i=localStorage.getItem("theme");return Ao.includes(i)?i:"auto"}effectiveMode(i){return i==="light"||i==="dark"?i:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}toggleIcons(i){let e={auto:this.element.querySelector(".color-mode-icon-auto"),light:this.element.querySelector(".color-mode-icon-light"),dark:this.element.querySelector(".color-mode-icon-dark")};for(let[t,r]of Object.entries(e))r&&r.classList.toggle("hidden",t!==i)}};function Id(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,r=Array(e);t<e;t++)r[t]=i[t];return r}function Gv(i){if(Array.isArray(i))return i}function Kv(i,e){var t=i==null?null:typeof Symbol<"u"&&i[Symbol.iterator]||i["@@iterator"];if(t!=null){var r,s,n,o,a=[],l=!0,h=!1;try{if(n=(t=t.call(i)).next,e!==0)for(;!(l=(r=n.call(t)).done)&&(a.push(r.value),a.length!==e);l=!0);}catch(f){h=!0,s=f}finally{try{if(!l&&t.return!=null&&(o=t.return(),Object(o)!==o))return}finally{if(h)throw s}}return a}}function Xv(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
32
32
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Yv(i,e){return Gv(i)||Kv(i,e)||Zv(i,e)||Xv()}function Zv(i,e){if(i){if(typeof i=="string")return Id(i,e);var t={}.toString.call(i).slice(8,-1);return t==="Object"&&i.constructor&&(t=i.constructor.name),t==="Map"||t==="Set"?Array.from(i):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Id(i,e):void 0}}var Kd=Object.entries,Dd=Object.setPrototypeOf,Qv=Object.isFrozen,Jv=Object.getPrototypeOf,e0=Object.getOwnPropertyDescriptor,ct=Object.freeze,Gt=Object.seal,Gr=Object.create,Xd=typeof Reflect<"u"&&Reflect,Cc=Xd.apply,Fc=Xd.construct;ct||(ct=function(e){return e});Gt||(Gt=function(e){return e});Cc||(Cc=function(e,t){for(var r=arguments.length,s=new Array(r>2?r-2:0),n=2;n<r;n++)s[n-2]=arguments[n];return e.apply(t,s)});Fc||(Fc=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),s=1;s<t;s++)r[s-1]=arguments[s];return new e(...r)});var qr=De(Array.prototype.forEach),t0=De(Array.prototype.lastIndexOf),Nd=De(Array.prototype.pop),$r=De(Array.prototype.push),i0=De(Array.prototype.splice),lt=Array.isArray,Us=De(String.prototype.toLowerCase),Tc=De(String.prototype.toString),Bd=De(String.prototype.match),Vr=De(String.prototype.replace),Ud=De(String.prototype.indexOf),r0=De(String.prototype.trim),s0=De(Number.prototype.toString),n0=De(Boolean.prototype.toString),zd=typeof BigInt>"u"?null:De(BigInt.prototype.toString),Hd=typeof Symbol>"u"?null:De(Symbol.prototype.toString),ke=De(Object.prototype.hasOwnProperty),Bs=De(Object.prototype.toString),et=De(RegExp.prototype.test),Fo=o0(TypeError);function De(i){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,r=new Array(t>1?t-1:0),s=1;s<t;s++)r[s-1]=arguments[s];return Cc(i,e,r)}}function o0(i){return function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Fc(i,t)}}function Y(i,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Us;if(Dd&&Dd(i,null),!lt(e))return i;let r=e.length;for(;r--;){let s=e[r];if(typeof s=="string"){let n=t(s);n!==s&&(Qv(e)||(e[r]=n),s=n)}i[s]=!0}return i}function a0(i){for(let e=0;e<i.length;e++)ke(i,e)||(i[e]=null);return i}function vt(i){let e=Gr(null);for(let r of Kd(i)){var t=Yv(r,2);let s=t[0],n=t[1];ke(i,s)&&(lt(n)?e[s]=a0(n):n&&typeof n=="object"&&n.constructor===Object?e[s]=vt(n):e[s]=n)}return e}function l0(i){switch(typeof i){case"string":return i;case"number":return s0(i);case"boolean":return n0(i);case"bigint":return zd?zd(i):"0";case"symbol":return Hd?Hd(i):"Symbol()";case"undefined":return Bs(i);case"function":case"object":{if(i===null)return Bs(i);let e=i,t=Kr(e,"toString");if(typeof t=="function"){let r=t(e);return typeof r=="string"?r:Bs(r)}return Bs(i)}default:return Bs(i)}}function Kr(i,e){for(;i!==null;){let r=e0(i,e);if(r){if(r.get)return De(r.get);if(typeof r.value=="function")return De(r.value)}i=Jv(i)}function t(){return null}return t}function c0(i){try{return et(i,""),!0}catch{return!1}}var jd=ct(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),xc=ct(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),kc=ct(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),u0=ct(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),_c=ct(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),h0=ct(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),qd=ct(["#text"]),$d=ct(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Ac=ct(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Vd=ct(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Po=ct(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),d0=Gt(/{{[\w\W]*|^[\w\W]*}}/g),p0=Gt(/<%[\w\W]*|^[\w\W]*%>/g),f0=Gt(/\${[\w\W]*/g),m0=Gt(/^data-[\-\w.\u00B7-\uFFFF]+$/),g0=Gt(/^aria-[\-\w]+$/),Wd=Gt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),b0=Gt(/^(?:\w+script|data):/i),y0=Gt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),v0=Gt(/^html$/i),w0=Gt(/^[a-z][.\w]*(-[.\w]+)+$/i),Wr={element:1,text:3,progressingInstruction:7,comment:8,document:9},S0=function(){return typeof window>"u"?null:window},E0=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let r=null,s="data-tt-policy-suffix";t&&t.hasAttribute(s)&&(r=t.getAttribute(s));let n="dompurify"+(r?"#"+r:"");try{return e.createPolicy(n,{createHTML(o){return o},createScriptURL(o){return o}})}catch{return console.warn("TrustedTypes policy "+n+" could not be created."),null}},Gd=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Yd(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:S0(),e=G=>Yd(G);if(e.version="3.4.3",e.removed=[],!i||!i.document||i.document.nodeType!==Wr.document||!i.Element)return e.isSupported=!1,e;let t=i.document,r=t,s=r.currentScript,n=i.DocumentFragment,o=i.HTMLTemplateElement,a=i.Node,l=i.Element,h=i.NodeFilter,f=i.NamedNodeMap,m=f===void 0?i.NamedNodeMap||i.MozNamedAttrMap:f,w=i.HTMLFormElement,y=i.DOMParser,k=i.trustedTypes,C=l.prototype,O=Kr(C,"cloneNode"),R=Kr(C,"remove"),_=Kr(C,"nextSibling"),F=Kr(C,"childNodes"),x=Kr(C,"parentNode");if(typeof o=="function"){let G=t.createElement("template");G.content&&G.content.ownerDocument&&(t=G.content.ownerDocument)}let S,A="",P=t,N=P.implementation,z=P.createNodeIterator,q=P.createDocumentFragment,V=P.getElementsByTagName,Z=r.importNode,K=Gd();e.isSupported=typeof Kd=="function"&&typeof x=="function"&&N&&N.createHTMLDocument!==void 0;let ie=d0,Ae=p0,de=f0,Ue=m0,fe=g0,ot=b0,Ot=y0,Et=w0,ft=Wd,re=null,Ye=Y({},[...jd,...xc,...kc,..._c,...qd]),se=null,Rt=Y({},[...$d,...Ac,...Vd,...Po]),ne=Object.seal(Gr(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Se=null,Lt=null,mt=Object.seal(Gr(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),oi=!0,Ci=!0,Yi=!1,Ar=!0,Xt=!1,Yt=!0,Tt=!1,Fi=!1,Pi=!1,Ze=!1,Mt=!1,Zt=!1,Oi=!0,Ri=!1,Zi="user-content-",Li=!0,ai=!1,It={},xt=null,Cr=Y({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),In=null,Dn=Y({},["audio","video","img","source","image","track"]),Q=null,fs=Y({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Mi="http://www.w3.org/1998/Math/MathML",Dt="http://www.w3.org/2000/svg",Nt="http://www.w3.org/1999/xhtml",kt=Nt,$e=!1,ms=null,Nn=Y({},[Mi,Dt,Nt],Tc),me=Y({},["mi","mo","mn","ms","mtext"]),he=Y({},["annotation-xml"]),Ja=Y({},["title","style","font","a","script"]),Bt=null,el=["application/xhtml+xml","text/html"],li="text/html",Ce=null,pe=null,Ut=t.createElement("form"),gi=function(b){return b instanceof RegExp||b instanceof Function},gs=function(){let b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(pe&&pe===b)return;(!b||typeof b!="object")&&(b={}),b=vt(b),Bt=el.indexOf(b.PARSER_MEDIA_TYPE)===-1?li:b.PARSER_MEDIA_TYPE,Ce=Bt==="application/xhtml+xml"?Tc:Us,re=ke(b,"ALLOWED_TAGS")&<(b.ALLOWED_TAGS)?Y({},b.ALLOWED_TAGS,Ce):Ye,se=ke(b,"ALLOWED_ATTR")&<(b.ALLOWED_ATTR)?Y({},b.ALLOWED_ATTR,Ce):Rt,ms=ke(b,"ALLOWED_NAMESPACES")&<(b.ALLOWED_NAMESPACES)?Y({},b.ALLOWED_NAMESPACES,Tc):Nn,Q=ke(b,"ADD_URI_SAFE_ATTR")&<(b.ADD_URI_SAFE_ATTR)?Y(vt(fs),b.ADD_URI_SAFE_ATTR,Ce):fs,In=ke(b,"ADD_DATA_URI_TAGS")&<(b.ADD_DATA_URI_TAGS)?Y(vt(Dn),b.ADD_DATA_URI_TAGS,Ce):Dn,xt=ke(b,"FORBID_CONTENTS")&<(b.FORBID_CONTENTS)?Y({},b.FORBID_CONTENTS,Ce):Cr,Se=ke(b,"FORBID_TAGS")&<(b.FORBID_TAGS)?Y({},b.FORBID_TAGS,Ce):vt({}),Lt=ke(b,"FORBID_ATTR")&<(b.FORBID_ATTR)?Y({},b.FORBID_ATTR,Ce):vt({}),It=ke(b,"USE_PROFILES")?b.USE_PROFILES&&typeof b.USE_PROFILES=="object"?vt(b.USE_PROFILES):b.USE_PROFILES:!1,oi=b.ALLOW_ARIA_ATTR!==!1,Ci=b.ALLOW_DATA_ATTR!==!1,Yi=b.ALLOW_UNKNOWN_PROTOCOLS||!1,Ar=b.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Xt=b.SAFE_FOR_TEMPLATES||!1,Yt=b.SAFE_FOR_XML!==!1,Tt=b.WHOLE_DOCUMENT||!1,Ze=b.RETURN_DOM||!1,Mt=b.RETURN_DOM_FRAGMENT||!1,Zt=b.RETURN_TRUSTED_TYPE||!1,Pi=b.FORCE_BODY||!1,Oi=b.SANITIZE_DOM!==!1,Ri=b.SANITIZE_NAMED_PROPS||!1,Li=b.KEEP_CONTENT!==!1,ai=b.IN_PLACE||!1,ft=c0(b.ALLOWED_URI_REGEXP)?b.ALLOWED_URI_REGEXP:Wd,kt=typeof b.NAMESPACE=="string"?b.NAMESPACE:Nt,me=ke(b,"MATHML_TEXT_INTEGRATION_POINTS")&&b.MATHML_TEXT_INTEGRATION_POINTS&&typeof b.MATHML_TEXT_INTEGRATION_POINTS=="object"?vt(b.MATHML_TEXT_INTEGRATION_POINTS):Y({},["mi","mo","mn","ms","mtext"]),he=ke(b,"HTML_INTEGRATION_POINTS")&&b.HTML_INTEGRATION_POINTS&&typeof b.HTML_INTEGRATION_POINTS=="object"?vt(b.HTML_INTEGRATION_POINTS):Y({},["annotation-xml"]);let D=ke(b,"CUSTOM_ELEMENT_HANDLING")&&b.CUSTOM_ELEMENT_HANDLING&&typeof b.CUSTOM_ELEMENT_HANDLING=="object"?vt(b.CUSTOM_ELEMENT_HANDLING):Gr(null);if(ne=Gr(null),ke(D,"tagNameCheck")&&gi(D.tagNameCheck)&&(ne.tagNameCheck=D.tagNameCheck),ke(D,"attributeNameCheck")&&gi(D.attributeNameCheck)&&(ne.attributeNameCheck=D.attributeNameCheck),ke(D,"allowCustomizedBuiltInElements")&&typeof D.allowCustomizedBuiltInElements=="boolean"&&(ne.allowCustomizedBuiltInElements=D.allowCustomizedBuiltInElements),Xt&&(Ci=!1),Mt&&(Ze=!0),It&&(re=Y({},qd),se=Gr(null),It.html===!0&&(Y(re,jd),Y(se,$d)),It.svg===!0&&(Y(re,xc),Y(se,Ac),Y(se,Po)),It.svgFilters===!0&&(Y(re,kc),Y(se,Ac),Y(se,Po)),It.mathMl===!0&&(Y(re,_c),Y(se,Vd),Y(se,Po))),mt.tagCheck=null,mt.attributeCheck=null,ke(b,"ADD_TAGS")&&(typeof b.ADD_TAGS=="function"?mt.tagCheck=b.ADD_TAGS:lt(b.ADD_TAGS)&&(re===Ye&&(re=vt(re)),Y(re,b.ADD_TAGS,Ce))),ke(b,"ADD_ATTR")&&(typeof b.ADD_ATTR=="function"?mt.attributeCheck=b.ADD_ATTR:lt(b.ADD_ATTR)&&(se===Rt&&(se=vt(se)),Y(se,b.ADD_ATTR,Ce))),ke(b,"ADD_URI_SAFE_ATTR")&<(b.ADD_URI_SAFE_ATTR)&&Y(Q,b.ADD_URI_SAFE_ATTR,Ce),ke(b,"FORBID_CONTENTS")&<(b.FORBID_CONTENTS)&&(xt===Cr&&(xt=vt(xt)),Y(xt,b.FORBID_CONTENTS,Ce)),ke(b,"ADD_FORBID_CONTENTS")&<(b.ADD_FORBID_CONTENTS)&&(xt===Cr&&(xt=vt(xt)),Y(xt,b.ADD_FORBID_CONTENTS,Ce)),Li&&(re["#text"]=!0),Tt&&Y(re,["html","head","body"]),re.table&&(Y(re,["tbody"]),delete Se.tbody),b.TRUSTED_TYPES_POLICY){if(typeof b.TRUSTED_TYPES_POLICY.createHTML!="function")throw Fo('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof b.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Fo('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');S=b.TRUSTED_TYPES_POLICY,A=S.createHTML("")}else S===void 0&&(S=E0(k,s)),S!==null&&typeof A=="string"&&(A=S.createHTML(""));ct&&ct(b),pe=b},Fr=Y({},[...xc,...kc,...u0]),Pr=Y({},[..._c,...h0]),Qi=function(b){let D=x(b);(!D||!D.tagName)&&(D={namespaceURI:kt,tagName:"template"});let W=Us(b.tagName),J=Us(D.tagName);return ms[b.namespaceURI]?b.namespaceURI===Dt?D.namespaceURI===Nt?W==="svg":D.namespaceURI===Mi?W==="svg"&&(J==="annotation-xml"||me[J]):!!Fr[W]:b.namespaceURI===Mi?D.namespaceURI===Nt?W==="math":D.namespaceURI===Dt?W==="math"&&he[J]:!!Pr[W]:b.namespaceURI===Nt?D.namespaceURI===Dt&&!he[J]||D.namespaceURI===Mi&&!me[J]?!1:!Pr[W]&&(Ja[W]||!Fr[W]):!!(Bt==="application/xhtml+xml"&&ms[b.namespaceURI]):!1},_t=function(b){$r(e.removed,{element:b});try{x(b).removeChild(b)}catch{R(b)}},ci=function(b,D){try{$r(e.removed,{attribute:D.getAttributeNode(b),from:D})}catch{$r(e.removed,{attribute:null,from:D})}if(D.removeAttribute(b),b==="is")if(Ze||Mt)try{_t(D)}catch{}else try{D.setAttribute(b,"")}catch{}},bs=function(b){let D=null,W=null;if(Pi)b="<remove></remove>"+b;else{let Ee=Bd(b,/^[\r\n\t ]+/);W=Ee&&Ee[0]}Bt==="application/xhtml+xml"&&kt===Nt&&(b='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+b+"</body></html>");let J=S?S.createHTML(b):b;if(kt===Nt)try{D=new y().parseFromString(J,Bt)}catch{}if(!D||!D.documentElement){D=N.createDocument(kt,"template",null);try{D.documentElement.innerHTML=$e?A:J}catch{}}let Oe=D.body||D.documentElement;return b&&W&&Oe.insertBefore(t.createTextNode(W),Oe.childNodes[0]||null),kt===Nt?V.call(D,Tt?"html":"body")[0]:Tt?D.documentElement:Oe},gt=function(b){return z.call(b.ownerDocument||b,b,h.SHOW_ELEMENT|h.SHOW_COMMENT|h.SHOW_TEXT|h.SHOW_PROCESSING_INSTRUCTION|h.SHOW_CDATA_SECTION,null)},rt=function(b){return b instanceof w&&(typeof b.nodeName!="string"||typeof b.textContent!="string"||typeof b.removeChild!="function"||!(b.attributes instanceof m)||typeof b.removeAttribute!="function"||typeof b.setAttribute!="function"||typeof b.namespaceURI!="string"||typeof b.insertBefore!="function"||typeof b.hasChildNodes!="function")},ui=function(b){return typeof a=="function"&&b instanceof a};function zt(G,b,D){qr(G,W=>{W.call(e,b,D,pe)})}let Or=function(b){let D=null;if(zt(K.beforeSanitizeElements,b,null),rt(b))return _t(b),!0;let W=Ce(b.nodeName);if(zt(K.uponSanitizeElement,b,{tagName:W,allowedTags:re}),Yt&&b.hasChildNodes()&&!ui(b.firstElementChild)&&et(/<[/\w!]/g,b.innerHTML)&&et(/<[/\w!]/g,b.textContent)||Yt&&b.namespaceURI===Nt&&W==="style"&&ui(b.firstElementChild)||b.nodeType===Wr.progressingInstruction||Yt&&b.nodeType===Wr.comment&&et(/<[/\w]/g,b.data))return _t(b),!0;if(Se[W]||!(mt.tagCheck instanceof Function&&mt.tagCheck(W))&&!re[W]){if(!Se[W]&&ys(W)&&(ne.tagNameCheck instanceof RegExp&&et(ne.tagNameCheck,W)||ne.tagNameCheck instanceof Function&&ne.tagNameCheck(W)))return!1;if(Li&&!xt[W]){let J=x(b)||b.parentNode,Oe=F(b)||b.childNodes;if(Oe&&J){let Ee=Oe.length;for(let st=Ee-1;st>=0;--st){let bt=O(Oe[st],!0);J.insertBefore(bt,_(b))}}}return _t(b),!0}return b instanceof l&&!Qi(b)||(W==="noscript"||W==="noembed"||W==="noframes")&&et(/<\/no(script|embed|frames)/i,b.innerHTML)?(_t(b),!0):(Xt&&b.nodeType===Wr.text&&(D=b.textContent,qr([ie,Ae,de],J=>{D=Vr(D,J," ")}),b.textContent!==D&&($r(e.removed,{element:b.cloneNode()}),b.textContent=D)),zt(K.afterSanitizeElements,b,null),!1)},Bn=function(b,D,W){if(Lt[D]||Oi&&(D==="id"||D==="name")&&(W in t||W in Ut))return!1;let J=se[D]||mt.attributeCheck instanceof Function&&mt.attributeCheck(D,b);if(!(Ci&&!Lt[D]&&et(Ue,D))){if(!(oi&&et(fe,D))){if(!J||Lt[D]){if(!(ys(b)&&(ne.tagNameCheck instanceof RegExp&&et(ne.tagNameCheck,b)||ne.tagNameCheck instanceof Function&&ne.tagNameCheck(b))&&(ne.attributeNameCheck instanceof RegExp&&et(ne.attributeNameCheck,D)||ne.attributeNameCheck instanceof Function&&ne.attributeNameCheck(D,b))||D==="is"&&ne.allowCustomizedBuiltInElements&&(ne.tagNameCheck instanceof RegExp&&et(ne.tagNameCheck,W)||ne.tagNameCheck instanceof Function&&ne.tagNameCheck(W))))return!1}else if(!Q[D]){if(!et(ft,Vr(W,Ot,""))){if(!((D==="src"||D==="xlink:href"||D==="href")&&b!=="script"&&Ud(W,"data:")===0&&In[b])){if(!(Yi&&!et(ot,Vr(W,Ot,"")))){if(W)return!1}}}}}}return!0},Un=Y({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),ys=function(b){return!Un[Us(b)]&&et(Et,b)},Ii=function(b){zt(K.beforeSanitizeAttributes,b,null);let D=b.attributes;if(!D||rt(b))return;let W={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:se,forceKeepAttr:void 0},J=D.length;for(;J--;){let Oe=D[J],Ee=Oe.name,st=Oe.namespaceURI,bt=Oe.value,At=Ce(Ee),ws=bt,Re=Ee==="value"?ws:r0(ws);if(W.attrName=At,W.attrValue=Re,W.keepAttr=!0,W.forceKeepAttr=void 0,zt(K.uponSanitizeAttribute,b,W),Re=W.attrValue,Ri&&(At==="id"||At==="name")&&Ud(Re,Zi)!==0&&(ci(Ee,b),Re=Zi+Re),Yt&&et(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Re)){ci(Ee,b);continue}if(At==="attributename"&&Bd(Re,"href")){ci(Ee,b);continue}if(W.forceKeepAttr)continue;if(!W.keepAttr){ci(Ee,b);continue}if(!Ar&&et(/\/>/i,Re)){ci(Ee,b);continue}Xt&&qr([ie,Ae,de],Hn=>{Re=Vr(Re,Hn," ")});let zn=Ce(b.nodeName);if(!Bn(zn,At,Re)){ci(Ee,b);continue}if(S&&typeof k=="object"&&typeof k.getAttributeType=="function"&&!st)switch(k.getAttributeType(zn,At)){case"TrustedHTML":{Re=S.createHTML(Re);break}case"TrustedScriptURL":{Re=S.createScriptURL(Re);break}}if(Re!==ws)try{st?b.setAttributeNS(st,Ee,Re):b.setAttribute(Ee,Re),rt(b)?_t(b):Nd(e.removed)}catch{ci(Ee,b)}}zt(K.afterSanitizeAttributes,b,null)},vs=function(b){let D=null,W=gt(b);for(zt(K.beforeSanitizeShadowDOM,b,null);D=W.nextNode();)zt(K.uponSanitizeShadowNode,D,null),Or(D),Ii(D),D.content instanceof n&&vs(D.content);zt(K.afterSanitizeShadowDOM,b,null)},bi=function(b){if(b.nodeType===Wr.element&&b.shadowRoot instanceof n){let J=b.shadowRoot;bi(J),vs(J)}let D=b.childNodes;if(!D)return;let W=[];qr(D,J=>{$r(W,J)});for(let J of W)bi(J)};return e.sanitize=function(G){let b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},D=null,W=null,J=null,Oe=null;if($e=!G,$e&&(G="<!-->"),typeof G!="string"&&!ui(G)&&(G=l0(G),typeof G!="string"))throw Fo("dirty is not a string, aborting");if(!e.isSupported)return G;if(Fi||gs(b),e.removed=[],typeof G=="string"&&(ai=!1),ai){let bt=G.nodeName;if(typeof bt=="string"){let At=Ce(bt);if(!re[At]||Se[At])throw Fo("root node is forbidden and cannot be sanitized in-place")}bi(G)}else if(G instanceof a)D=bs("<!---->"),W=D.ownerDocument.importNode(G,!0),W.nodeType===Wr.element&&W.nodeName==="BODY"||W.nodeName==="HTML"?D=W:D.appendChild(W),bi(W);else{if(!Ze&&!Xt&&!Tt&&G.indexOf("<")===-1)return S&&Zt?S.createHTML(G):G;if(D=bs(G),!D)return Ze?null:Zt?A:""}D&&Pi&&_t(D.firstChild);let Ee=gt(ai?G:D);for(;J=Ee.nextNode();)Or(J),Ii(J),J.content instanceof n&&vs(J.content);if(ai)return G;if(Ze){if(Xt){D.normalize();let bt=D.innerHTML;qr([ie,Ae,de],At=>{bt=Vr(bt,At," ")}),D.innerHTML=bt}if(Mt)for(Oe=q.call(D.ownerDocument);D.firstChild;)Oe.appendChild(D.firstChild);else Oe=D;return(se.shadowroot||se.shadowrootmode)&&(Oe=Z.call(r,Oe,!0)),Oe}let st=Tt?D.outerHTML:D.innerHTML;return Tt&&re["!doctype"]&&D.ownerDocument&&D.ownerDocument.doctype&&D.ownerDocument.doctype.name&&et(v0,D.ownerDocument.doctype.name)&&(st="<!DOCTYPE "+D.ownerDocument.doctype.name+`>
|
|
33
33
|
`+st),Xt&&qr([ie,Ae,de],bt=>{st=Vr(st,bt," ")}),S&&Zt?S.createHTML(st):st},e.setConfig=function(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};gs(G),Fi=!0},e.clearConfig=function(){pe=null,Fi=!1},e.isValidAttribute=function(G,b,D){pe||gs({});let W=Ce(G),J=Ce(b);return Bn(W,J,D)},e.addHook=function(G,b){typeof b=="function"&&$r(K[G],b)},e.removeHook=function(G,b){if(b!==void 0){let D=t0(K[G],b);return D===-1?void 0:i0(K[G],D,1)[0]}return Nd(K[G])},e.removeHooks=function(G){K[G]=[]},e.removeAllHooks=function(){K=Gd()},e}var Xr=Yd();function Rc(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var mr=Rc();function ip(i){mr=i}var js={exec:()=>null};function ce(i,e=""){let t=typeof i=="string"?i:i.source,r={replace:(s,n)=>{let o=typeof n=="string"?n:n.source;return o=o.replace(ut.caret,"$1"),t=t.replace(s,o),r},getRegex:()=>new RegExp(t,e)};return r}var ut={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:i=>new RegExp(`^( {0,3}${i})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}#`),htmlBeginRegex:i=>new RegExp(`^ {0,${Math.min(3,i-1)}}<(?:[a-z].*>|!--)`,"i")},T0=/^(?:[ \t]*(?:\n|$))+/,x0=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,k0=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,$s=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,_0=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Lc=/(?:[*+-]|\d{1,9}[.)])/,rp=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,sp=ce(rp).replace(/bull/g,Lc).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),A0=ce(rp).replace(/bull/g,Lc).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Mc=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,C0=/^[^\n]+/,Ic=/(?!\s*\])(?:\\.|[^\[\]\\])+/,F0=ce(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Ic).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),P0=ce(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Lc).getRegex(),Lo="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Dc=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,O0=ce("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Dc).replace("tag",Lo).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),np=ce(Mc).replace("hr",$s).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Lo).getRegex(),R0=ce(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",np).getRegex(),Nc={blockquote:R0,code:x0,def:F0,fences:k0,heading:_0,hr:$s,html:O0,lheading:sp,list:P0,newline:T0,paragraph:np,table:js,text:C0},Zd=ce("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",$s).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Lo).getRegex(),L0={...Nc,lheading:A0,table:Zd,paragraph:ce(Mc).replace("hr",$s).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Zd).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Lo).getRegex()},M0={...Nc,html:ce(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Dc).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:js,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:ce(Mc).replace("hr",$s).replace("heading",` *#{1,6} *[^
|
|
34
34
|
]`).replace("lheading",sp).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},I0=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,D0=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,op=/^( {2,}|\\)\n(?!\s*$)/,N0=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Mo=/[\p{P}\p{S}]/u,Bc=/[\s\p{P}\p{S}]/u,ap=/[^\s\p{P}\p{S}]/u,B0=ce(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Bc).getRegex(),lp=/(?!~)[\p{P}\p{S}]/u,U0=/(?!~)[\s\p{P}\p{S}]/u,z0=/(?:[^\s\p{P}\p{S}]|~)/u,H0=/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,cp=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,j0=ce(cp,"u").replace(/punct/g,Mo).getRegex(),q0=ce(cp,"u").replace(/punct/g,lp).getRegex(),up="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",$0=ce(up,"gu").replace(/notPunctSpace/g,ap).replace(/punctSpace/g,Bc).replace(/punct/g,Mo).getRegex(),V0=ce(up,"gu").replace(/notPunctSpace/g,z0).replace(/punctSpace/g,U0).replace(/punct/g,lp).getRegex(),W0=ce("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,ap).replace(/punctSpace/g,Bc).replace(/punct/g,Mo).getRegex(),G0=ce(/\\(punct)/,"gu").replace(/punct/g,Mo).getRegex(),K0=ce(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),X0=ce(Dc).replace("(?:-->|$)","-->").getRegex(),Y0=ce("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",X0).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Ro=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Z0=ce(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",Ro).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),hp=ce(/^!?\[(label)\]\[(ref)\]/).replace("label",Ro).replace("ref",Ic).getRegex(),dp=ce(/^!?\[(ref)\](?:\[\])?/).replace("ref",Ic).getRegex(),Q0=ce("reflink|nolink(?!\\()","g").replace("reflink",hp).replace("nolink",dp).getRegex(),Uc={_backpedal:js,anyPunctuation:G0,autolink:K0,blockSkip:H0,br:op,code:D0,del:js,emStrongLDelim:j0,emStrongRDelimAst:$0,emStrongRDelimUnd:W0,escape:I0,link:Z0,nolink:dp,punctuation:B0,reflink:hp,reflinkSearch:Q0,tag:Y0,text:N0,url:js},J0={...Uc,link:ce(/^!?\[(label)\]\((.*?)\)/).replace("label",Ro).getRegex(),reflink:ce(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ro).getRegex()},Pc={...Uc,emStrongRDelimAst:V0,emStrongLDelim:q0,url:ce(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},ew={...Pc,br:ce(op).replace("{2,}","*").getRegex(),text:ce(Pc.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Oo={normal:Nc,gfm:L0,pedantic:M0},zs={normal:Uc,gfm:Pc,breaks:ew,pedantic:J0},tw={"&":"&","<":"<",">":">",'"':""","'":"'"},Qd=i=>tw[i];function di(i,e){if(e){if(ut.escapeTest.test(i))return i.replace(ut.escapeReplace,Qd)}else if(ut.escapeTestNoEncode.test(i))return i.replace(ut.escapeReplaceNoEncode,Qd);return i}function Jd(i){try{i=encodeURI(i).replace(ut.percentDecode,"%")}catch{return null}return i}function ep(i,e){let t=i.replace(ut.findPipe,(n,o,a)=>{let l=!1,h=o;for(;--h>=0&&a[h]==="\\";)l=!l;return l?"|":" |"}),r=t.split(ut.splitPipe),s=0;if(r[0].trim()||r.shift(),r.length>0&&!r.at(-1)?.trim()&&r.pop(),e)if(r.length>e)r.splice(e);else for(;r.length<e;)r.push("");for(;s<r.length;s++)r[s]=r[s].trim().replace(ut.slashPipe,"|");return r}function Hs(i,e,t){let r=i.length;if(r===0)return"";let s=0;for(;s<r&&i.charAt(r-s-1)===e;)s++;return i.slice(0,r-s)}function iw(i,e){if(i.indexOf(e[1])===-1)return-1;let t=0;for(let r=0;r<i.length;r++)if(i[r]==="\\")r++;else if(i[r]===e[0])t++;else if(i[r]===e[1]&&(t--,t<0))return r;return-1}function tp(i,e,t,r,s){let n=e.href,o=e.title||null,a=i[1].replace(s.other.outputLinkReplace,"$1");if(i[0].charAt(0)!=="!"){r.state.inLink=!0;let l={type:"link",raw:t,href:n,title:o,text:a,tokens:r.inlineTokens(a)};return r.state.inLink=!1,l}return{type:"image",raw:t,href:n,title:o,text:a}}function rw(i,e,t){let r=i.match(t.other.indentCodeCompensation);if(r===null)return e;let s=r[1];return e.split(`
|
|
@@ -85,22 +85,22 @@ ${e}</tr>
|
|
|
85
85
|
`}tablecell(e){let t=this.parser.parseInline(e.tokens),r=e.header?"th":"td";return(e.align?`<${r} align="${e.align}">`:`<${r}>`)+t+`</${r}>
|
|
86
86
|
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${di(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:r}){let s=this.parser.parseInline(r),n=Jd(e);if(n===null)return s;e=n;let o='<a href="'+e+'"';return t&&(o+=' title="'+di(t)+'"'),o+=">"+s+"</a>",o}image({href:e,title:t,text:r}){let s=Jd(e);if(s===null)return di(r);e=s;let n=`<img src="${e}" alt="${r}"`;return t&&(n+=` title="${di(t)}"`),n+=">",n}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:di(e.text)}},qs=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}},ri=class i{options;renderer;textRenderer;constructor(e){this.options=e||mr,this.options.renderer=this.options.renderer||new Qr,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new qs}static parse(e,t){return new i(t).parse(e)}static parseInline(e,t){return new i(t).parseInline(e)}parse(e,t=!0){let r="";for(let s=0;s<e.length;s++){let n=e[s];if(this.options.extensions?.renderers?.[n.type]){let a=n,l=this.options.extensions.renderers[a.type].call({parser:this},a);if(l!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(a.type)){r+=l||"";continue}}let o=n;switch(o.type){case"space":{r+=this.renderer.space(o);continue}case"hr":{r+=this.renderer.hr(o);continue}case"heading":{r+=this.renderer.heading(o);continue}case"code":{r+=this.renderer.code(o);continue}case"table":{r+=this.renderer.table(o);continue}case"blockquote":{r+=this.renderer.blockquote(o);continue}case"list":{r+=this.renderer.list(o);continue}case"html":{r+=this.renderer.html(o);continue}case"paragraph":{r+=this.renderer.paragraph(o);continue}case"text":{let a=o,l=this.renderer.text(a);for(;s+1<e.length&&e[s+1].type==="text";)a=e[++s],l+=`
|
|
87
87
|
`+this.renderer.text(a);t?r+=this.renderer.paragraph({type:"paragraph",raw:l,text:l,tokens:[{type:"text",raw:l,text:l,escaped:!0}]}):r+=l;continue}default:{let a='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return r}parseInline(e,t=this.renderer){let r="";for(let s=0;s<e.length;s++){let n=e[s];if(this.options.extensions?.renderers?.[n.type]){let a=this.options.extensions.renderers[n.type].call({parser:this},n);if(a!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(n.type)){r+=a||"";continue}}let o=n;switch(o.type){case"escape":{r+=t.text(o);break}case"html":{r+=t.html(o);break}case"link":{r+=t.link(o);break}case"image":{r+=t.image(o);break}case"strong":{r+=t.strong(o);break}case"em":{r+=t.em(o);break}case"codespan":{r+=t.codespan(o);break}case"br":{r+=t.br(o);break}case"del":{r+=t.del(o);break}case"text":{r+=t.text(o);break}default:{let a='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return r}},Yr=class{options;block;constructor(e){this.options=e||mr}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}provideLexer(){return this.block?ii.lex:ii.lexInline}provideParser(){return this.block?ri.parse:ri.parseInline}},Oc=class{defaults=Rc();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=ri;Renderer=Qr;TextRenderer=qs;Lexer=ii;Tokenizer=Zr;Hooks=Yr;constructor(...e){this.use(...e)}walkTokens(e,t){let r=[];for(let s of e)switch(r=r.concat(t.call(this,s)),s.type){case"table":{let n=s;for(let o of n.header)r=r.concat(this.walkTokens(o.tokens,t));for(let o of n.rows)for(let a of o)r=r.concat(this.walkTokens(a.tokens,t));break}case"list":{let n=s;r=r.concat(this.walkTokens(n.items,t));break}default:{let n=s;this.defaults.extensions?.childTokens?.[n.type]?this.defaults.extensions.childTokens[n.type].forEach(o=>{let a=n[o].flat(1/0);r=r.concat(this.walkTokens(a,t))}):n.tokens&&(r=r.concat(this.walkTokens(n.tokens,t)))}}return r}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(r=>{let s={...r};if(s.async=this.defaults.async||s.async||!1,r.extensions&&(r.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){let o=t.renderers[n.name];o?t.renderers[n.name]=function(...a){let l=n.renderer.apply(this,a);return l===!1&&(l=o.apply(this,a)),l}:t.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||n.level!=="block"&&n.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let o=t[n.level];o?o.unshift(n.tokenizer):t[n.level]=[n.tokenizer],n.start&&(n.level==="block"?t.startBlock?t.startBlock.push(n.start):t.startBlock=[n.start]:n.level==="inline"&&(t.startInline?t.startInline.push(n.start):t.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(t.childTokens[n.name]=n.childTokens)}),s.extensions=t),r.renderer){let n=this.defaults.renderer||new Qr(this.defaults);for(let o in r.renderer){if(!(o in n))throw new Error(`renderer '${o}' does not exist`);if(["options","parser"].includes(o))continue;let a=o,l=r.renderer[a],h=n[a];n[a]=(...f)=>{let m=l.apply(n,f);return m===!1&&(m=h.apply(n,f)),m||""}}s.renderer=n}if(r.tokenizer){let n=this.defaults.tokenizer||new Zr(this.defaults);for(let o in r.tokenizer){if(!(o in n))throw new Error(`tokenizer '${o}' does not exist`);if(["options","rules","lexer"].includes(o))continue;let a=o,l=r.tokenizer[a],h=n[a];n[a]=(...f)=>{let m=l.apply(n,f);return m===!1&&(m=h.apply(n,f)),m}}s.tokenizer=n}if(r.hooks){let n=this.defaults.hooks||new Yr;for(let o in r.hooks){if(!(o in n))throw new Error(`hook '${o}' does not exist`);if(["options","block"].includes(o))continue;let a=o,l=r.hooks[a],h=n[a];Yr.passThroughHooks.has(o)?n[a]=f=>{if(this.defaults.async)return Promise.resolve(l.call(n,f)).then(w=>h.call(n,w));let m=l.call(n,f);return h.call(n,m)}:n[a]=(...f)=>{let m=l.apply(n,f);return m===!1&&(m=h.apply(n,f)),m}}s.hooks=n}if(r.walkTokens){let n=this.defaults.walkTokens,o=r.walkTokens;s.walkTokens=function(a){let l=[];return l.push(o.call(this,a)),n&&(l=l.concat(n.call(this,a))),l}}this.defaults={...this.defaults,...s}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return ii.lex(e,t??this.defaults)}parser(e,t){return ri.parse(e,t??this.defaults)}parseMarkdown(e){return(r,s)=>{let n={...s},o={...this.defaults,...n},a=this.onError(!!o.silent,!!o.async);if(this.defaults.async===!0&&n.async===!1)return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof r>"u"||r===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof r!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));o.hooks&&(o.hooks.options=o,o.hooks.block=e);let l=o.hooks?o.hooks.provideLexer():e?ii.lex:ii.lexInline,h=o.hooks?o.hooks.provideParser():e?ri.parse:ri.parseInline;if(o.async)return Promise.resolve(o.hooks?o.hooks.preprocess(r):r).then(f=>l(f,o)).then(f=>o.hooks?o.hooks.processAllTokens(f):f).then(f=>o.walkTokens?Promise.all(this.walkTokens(f,o.walkTokens)).then(()=>f):f).then(f=>h(f,o)).then(f=>o.hooks?o.hooks.postprocess(f):f).catch(a);try{o.hooks&&(r=o.hooks.preprocess(r));let f=l(r,o);o.hooks&&(f=o.hooks.processAllTokens(f)),o.walkTokens&&this.walkTokens(f,o.walkTokens);let m=h(f,o);return o.hooks&&(m=o.hooks.postprocess(m)),m}catch(f){return a(f)}}}onError(e,t){return r=>{if(r.message+=`
|
|
88
|
-
Please report this to https://github.com/markedjs/marked.`,e){let s="<p>An error occurred:</p><pre>"+di(r.message+"",!0)+"</pre>";return t?Promise.resolve(s):s}if(t)return Promise.reject(r);throw r}}},fr=new Oc;function le(i,e){return fr.parse(i,e)}le.options=le.setOptions=function(i){return fr.setOptions(i),le.defaults=fr.defaults,ip(le.defaults),le};le.getDefaults=Rc;le.defaults=mr;le.use=function(...i){return fr.use(...i),le.defaults=fr.defaults,ip(le.defaults),le};le.walkTokens=function(i,e){return fr.walkTokens(i,e)};le.parseInline=fr.parseInline;le.Parser=ri;le.parser=ri.parse;le.Renderer=Qr;le.TextRenderer=qs;le.Lexer=ii;le.lexer=ii.lex;le.Tokenizer=Zr;le.Hooks=Yr;le.parse=le;var SA=le.options,EA=le.setOptions,TA=le.use,xA=le.walkTokens,kA=le.parseInline;var _A=ri.parse,AA=ii.lex;var Io=class extends ${static targets=["textarea"];connect(){this.easyMDE||(this.originalValue=this.element.value,this.easyMDE=new EasyMDE(this.#t()),this.element.addEventListener("turbo:before-morph-element",i=>{i.target===this.element&&this.easyMDE&&(this.storedValue=this.easyMDE.value())}),this.element.addEventListener("turbo:morph-element",i=>{i.target===this.element&&requestAnimationFrame(()=>this.#e())}))}disconnect(){if(this.easyMDE){try{this.element.isConnected&&this.element.parentNode&&this.easyMDE.toTextArea()}catch(i){console.warn("EasyMDE cleanup error:",i)}this.easyMDE=null}}#e(){this.element.isConnected&&(this.easyMDE&&(this.easyMDE=null),this.easyMDE=new EasyMDE(this.#t()),this.storedValue!==void 0&&(this.easyMDE.value(this.storedValue),this.storedValue=void 0))}#t(){let i={element:this.element,promptURLs:!0,spellChecker:!1,previewRender:e=>{let t=Xr.sanitize(e,{ALLOWED_TAGS:["strong","em","sub","sup","details","summary"],ALLOWED_ATTR:[]}),r=le(t);return Xr.sanitize(r,{USE_PROFILES:{html:!0}})}};return this.element.attributes.id.value&&(i.autosave={enabled:!0,uniqueId:this.element.attributes.id.value,delay:1e3}),i}};var Do=class extends ${static values={typeaheadUrl:String,typeaheadDebounceMs:{type:Number,default:200}};connect(){this.slimSelect||(this.#e(),this.element.addEventListener("turbo:morph-element",i=>{i.target===this.element&&!this.morphing&&(this.morphing=!0,requestAnimationFrame(()=>{this.#r(),this.morphing=!1}))}))}#e(){let i={};if(document.querySelector('[data-controller="remote-modal"]')){this.dropdownContainer=document.createElement("div"),this.dropdownContainer.className="ss-dropdown-container";let r=this.element.parentNode;getComputedStyle(r).position==="static"&&(r.style.position="relative",this.modifiedSelectWrapper=r),this.element.parentNode.insertBefore(this.dropdownContainer,this.element.nextSibling),i.contentLocation=this.dropdownContainer,i.contentPosition="absolute",i.openPosition="auto"}let t={};this.hasTypeaheadUrlValue&&this.typeaheadUrlValue&&(t.search=(r,s)=>this.#t(r,s)),this.slimSelect=new SlimSelect({select:this.element,settings:i,events:t}),this.handleDropdownPosition(),this.boundHandleDropdownOpen=this.handleDropdownOpen.bind(this),this.boundHandleDropdownClose=this.handleDropdownClose.bind(this),this.element.addEventListener("ss:open",this.boundHandleDropdownOpen),this.element.addEventListener("ss:close",this.boundHandleDropdownClose),this.setupAriaObserver()}handleDropdownPosition(){if(this.dropdownContainer){let i=()=>{let e=this.element.getBoundingClientRect(),t=window.innerHeight-e.bottom,r=e.top;t<200&&r>t?(this.dropdownContainer.style.top="auto",this.dropdownContainer.style.bottom="100%",this.dropdownContainer.style.borderRadius="0.375rem 0.375rem 0 0"):(this.dropdownContainer.style.bottom="auto",this.dropdownContainer.style.borderRadius="0 0 0.375rem 0.375rem")};setTimeout(i,0),window.addEventListener("resize",i),window.addEventListener("scroll",i),this.repositionDropdown=i}}handleDropdownOpen(){this.dropdownContainer&&(this.dropdownContainer.style.height="auto",this.dropdownContainer.style.overflow="visible",this.dropdownContainer.classList.add("ss-active"),document.querySelectorAll(".ss-dropdown-container").forEach(e=>{e!==this.dropdownContainer&&(e.style.zIndex="9999")}),this.dropdownContainer.style.zIndex="10000")}handleDropdownClose(){this.dropdownContainer&&this.dropdownContainer.classList.remove("ss-active")}setupAriaObserver(){if(this.element){this.ariaObserver=new MutationObserver(t=>{t.forEach(r=>{r.attributeName==="aria-expanded"&&(r.target.getAttribute("aria-expanded")==="true"?this.handleDropdownOpen():this.handleDropdownClose())})});let e=[this.element,this.element.parentNode.querySelector(".ss-main"),this.element.parentNode.querySelector("[aria-expanded]")].find(t=>t&&t.hasAttribute&&t.hasAttribute("aria-expanded"));e&&(this.ariaObserver.observe(e,{attributes:!0,attributeFilter:["aria-expanded"]}),e.getAttribute("aria-expanded")==="true"?this.handleDropdownOpen():this.handleDropdownClose())}}disconnect(){this.#s()}#t(i,e){return this._typeaheadDebounce&&clearTimeout(this._typeaheadDebounce),this._typeaheadAbort&&this._typeaheadAbort.abort(),new Promise(t=>{this._typeaheadDebounce=setTimeout(()=>{this._typeaheadAbort=new AbortController,this.#i(i,this._typeaheadAbort.signal).then(t)},this.typeaheadDebounceMsValue)})}async#i(i,e){let t=new URL(this.typeaheadUrlValue,window.location.origin);t.searchParams.set("q",i||"");try{let r=await fetch(t.toString(),{headers:{Accept:"application/json"},signal:e});if(!r.ok)return"Search failed";let s=await r.json();return(Array.isArray(s.results)?s.results:[]).map(o=>({value:String(o.value??""),text:String(o.label??"")}))}catch(r){return r.name==="AbortError"?[]:(console.warn("[slim-select] typeahead error",r),"Search failed")}}#r(){this.element.isConnected&&(this.#s(),this.#e())}#s(){this.element&&(this.boundHandleDropdownOpen&&this.element.removeEventListener("ss:open",this.boundHandleDropdownOpen),this.boundHandleDropdownClose&&this.element.removeEventListener("ss:close",this.boundHandleDropdownClose)),this.ariaObserver&&(this.ariaObserver.disconnect(),this.ariaObserver=null),this.slimSelect&&(this.slimSelect.destroy(),this.slimSelect=null),this.repositionDropdown&&(window.removeEventListener("resize",this.repositionDropdown),window.removeEventListener("scroll",this.repositionDropdown),this.repositionDropdown=null),this.dropdownContainer&&this.dropdownContainer.parentNode&&(this.dropdownContainer.parentNode.removeChild(this.dropdownContainer),this.dropdownContainer=null),this.modifiedSelectWrapper&&(this.modifiedSelectWrapper.style.position="",this.modifiedSelectWrapper=null)}};var No=class extends ${connect(){this.picker||(this.modal=document.querySelector("[data-controller=remote-modal]"),this.picker=new flatpickr(this.element,this.#t()),this.element.addEventListener("turbo:morph-element",i=>{i.target===this.element&&!this.morphing&&(this.morphing=!0,requestAnimationFrame(()=>{this.#e(),this.morphing=!1}))}))}disconnect(){this.picker&&(this.picker.destroy(),this.picker=null)}#e(){this.element.isConnected&&(this.picker&&(this.picker.destroy(),this.picker=null),this.modal=document.querySelector("[data-controller=remote-modal]"),this.picker=new flatpickr(this.element,this.#t()))}#t(){let i={altInput:!0};return this.element.attributes.type.value=="datetime-local"?i.enableTime=!0:this.element.attributes.type.value=="time"&&(i.enableTime=!0,i.noCalendar=!0),this.modal&&(i.appendTo=this.modal,i.position=e=>{let r=(e.altInput||e.input).getBoundingClientRect(),s=this.modal.getBoundingClientRect(),n=e.calendarContainer,o=n.offsetHeight,l=window.innerHeight-r.bottom<o&&r.top>o,h=l?r.top-s.top-o-2:r.bottom-s.top+2;n.style.top=`${h}px`,n.style.left=`${r.left-s.left}px`,n.style.right="auto",n.classList.toggle("arrowTop",!l),n.classList.toggle("arrowBottom",l)}),i}};var Bo=class extends ${static targets=["input"];connect(){}disconnect(){this.inputTargetDisconnected()}inputTargetConnected(){!this.hasInputTarget||this.iti||(this.iti=window.intlTelInput(this.inputTarget,this.#t()),this.element.addEventListener("turbo:morph-element",i=>{i.target===this.element&&!this.morphing&&(this.morphing=!0,requestAnimationFrame(()=>{this.#e(),this.morphing=!1}))}))}inputTargetDisconnected(){this.iti&&(this.iti.destroy(),this.iti=null)}#e(){!this.inputTarget||!this.inputTarget.isConnected||(this.iti&&(this.iti.destroy(),this.iti=null),this.iti=window.intlTelInput(this.inputTarget,this.#t()))}#t(){return{strictMode:!0,hiddenInput:()=>({phone:this.inputTarget.attributes.name.value}),loadUtilsOnInit:"https://cdn.jsdelivr.net/npm/intl-tel-input@24.8.1/build/js/utils.js"}}};var Uo=class extends ${static targets=["select"];navigate(i){let e=this.selectTarget.value,t=document.createElement("a");t.href=e,this.element.appendChild(t),t.click(),t.remove()}};var zo=class extends ${static targets=["btn","tab"];static values={defaultTab:String,activeClasses:String,inActiveClasses:String};connect(){this.activeClasses=this.hasActiveClassesValue?this.activeClassesValue.split(" "):[],this.inActiveClasses=this.hasInActiveClassesValue?this.inActiveClassesValue.split(" "):[];let e=this.#t()||this.defaultTabValue||this.btnTargets[0]?.id;this.#e(e,{skipFocus:!0,skipHashUpdate:!0}),this._syncFromHash=this._syncFromHash.bind(this),window.addEventListener("hashchange",this._syncFromHash),document.addEventListener("turbo:load",this._syncFromHash)}disconnect(){this._syncFromHash&&(window.removeEventListener("hashchange",this._syncFromHash),document.removeEventListener("turbo:load",this._syncFromHash))}_syncFromHash(){let i=this.#t();i&&this.#e(i,{skipFocus:!0,skipHashUpdate:!0})}select(i){this.#e(i.currentTarget.id)}#e(i,e={}){let t=this.btnTargets.find(s=>s.id===i);if(!t){console.error(`Tab Button with id "${i}" not found`);return}let r=this.tabTargets.find(s=>s.id===t.dataset.target);if(!r){console.error(`Tab Panel with id "${t.dataset.target}" not found`);return}this.tabTargets.forEach(s=>{s.hidden=!0,s.setAttribute("aria-hidden","true")}),this.btnTargets.forEach(s=>{s.setAttribute("aria-selected","false"),s.setAttribute("tabindex","-1"),s.classList.remove(...this.activeClasses),s.classList.add(...this.inActiveClasses)}),t.setAttribute("aria-selected","true"),t.setAttribute("tabindex","0"),t.classList.remove(...this.inActiveClasses),t.classList.add(...this.activeClasses),r.hidden=!1,r.setAttribute("aria-hidden","false"),e.skipHashUpdate||this.#i(i),!e.skipFocus&&t!==document.activeElement&&t.focus()}#t(){let i=window.location.hash.replace(/^#/,"");if(!i)return null;let e=`${i}-tab`;return this.btnTargets.some(r=>r.id===e)?e:null}#i(i){let t=`#${i.replace(/-tab$/,"")}`;window.location.hash!==t&&history.replaceState(null,"",t)}};function sw(i,e,t){let r=[];return i.forEach(s=>typeof s!="string"?r.push(s):e[Symbol.split](s).forEach((n,o,a)=>{n!==""&&r.push(n),o<a.length-1&&r.push(t)})),r}function pp(i,e){let t=/\$/g,r="$$$$",s=[i];if(e==null)return s;for(let n of Object.keys(e))if(n!=="_"){let o=e[n];typeof o=="string"&&(o=t[Symbol.replace](o,r)),s=sw(s,new RegExp(`%\\{${n}\\}`,"g"),o)}return s}var nw=i=>{throw new Error(`missing string: ${i}`)},gr=class{locale;constructor(e,{onMissingKey:t=nw}={}){this.locale={strings:{},pluralize(r){return r===1?0:1}},Array.isArray(e)?e.forEach(this.#t,this):this.#t(e),this.#e=t}#e;#t(e){if(!e?.strings)return;let t=this.locale;Object.assign(this.locale,{strings:{...t.strings,...e.strings},pluralize:e.pluralize||t.pluralize})}translate(e,t){return this.translateArray(e,t).join("")}translateArray(e,t){let r=this.locale.strings[e];if(r==null&&(this.#e(e),r=e),typeof r=="object"){if(t&&typeof t.smart_count<"u"){let n=this.locale.pluralize(t.smart_count);return pp(r[n],t)}throw new Error("Attempted to use a string with plural forms, but no value was given for %{smart_count}")}if(typeof r!="string")throw new Error("string was not a string");return pp(r,t)}};var ji=class{uppy;opts;id;defaultLocale;i18n;i18nArray;type;VERSION;constructor(e,t){this.uppy=e,this.opts=t??{}}getPluginState(){let{plugins:e}=this.uppy.getState();return e?.[this.id]||{}}setPluginState(e){let{plugins:t}=this.uppy.getState();this.uppy.setState({plugins:{...t,[this.id]:{...t[this.id],...e}}})}setOptions(e){this.opts={...this.opts,...e},this.setPluginState(void 0),this.i18nInit()}i18nInit(){let e=new gr([this.defaultLocale,this.uppy.locale,this.opts.locale]);this.i18n=e.translate.bind(e),this.i18nArray=e.translateArray.bind(e),this.setPluginState(void 0)}addTarget(e){throw new Error("Extend the addTarget method to add your plugin to another plugin's target")}install(){}uninstall(){}update(e){}afterUpdate(){}};function zc(i){return i<10?`0${i}`:i.toString()}function Jr(){let i=new Date,e=zc(i.getHours()),t=zc(i.getMinutes()),r=zc(i.getSeconds());return`${e}:${t}:${r}`}var fp={debug:()=>{},warn:()=>{},error:(...i)=>console.error(`[Uppy] [${Jr()}]`,...i)},mp={debug:(...i)=>console.debug(`[Uppy] [${Jr()}]`,...i),warn:(...i)=>console.warn(`[Uppy] [${Jr()}]`,...i),error:(...i)=>console.error(`[Uppy] [${Jr()}]`,...i)};function Vs(i){return typeof i!="object"||i===null||!("nodeType"in i)?!1:i.nodeType===Node.ELEMENT_NODE}function ow(i,e=document){return typeof i=="string"?e.querySelector(i):Vs(i)?i:null}var gp=ow;function aw(i){for(;i&&!i.dir;)i=i.parentNode;return i?.dir}var Ho=aw;var Ks,X,Sp,lw,br,bp,Ep,Tp,xp,$c,Hc,jc,cw,Gs={},kp=[],uw=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Xs=Array.isArray;function pi(i,e){for(var t in e)i[t]=e[t];return i}function Vc(i){i&&i.parentNode&&i.parentNode.removeChild(i)}function ki(i,e,t){var r,s,n,o={};for(n in e)n=="key"?r=e[n]:n=="ref"?s=e[n]:o[n]=e[n];if(arguments.length>2&&(o.children=arguments.length>3?Ks.call(arguments,2):t),typeof i=="function"&&i.defaultProps!=null)for(n in i.defaultProps)o[n]===void 0&&(o[n]=i.defaultProps[n]);return Ws(i,o,r,s,null)}function Ws(i,e,t,r,s){var n={type:i,props:e,key:t,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:s??++Sp,__i:-1,__u:0};return s==null&&X.vnode!=null&&X.vnode(n),n}function $o(){return{current:null}}function _e(i){return i.children}function we(i,e){this.props=i,this.context=e}function es(i,e){if(e==null)return i.__?es(i.__,i.__i+1):null;for(var t;e<i.__k.length;e++)if((t=i.__k[e])!=null&&t.__e!=null)return t.__e;return typeof i.type=="function"?es(i):null}function _p(i){var e,t;if((i=i.__)!=null&&i.__c!=null){for(i.__e=i.__c.base=null,e=0;e<i.__k.length;e++)if((t=i.__k[e])!=null&&t.__e!=null){i.__e=i.__c.base=t.__e;break}return _p(i)}}function yp(i){(!i.__d&&(i.__d=!0)&&br.push(i)&&!qo.__r++||bp!=X.debounceRendering)&&((bp=X.debounceRendering)||Ep)(qo)}function qo(){for(var i,e,t,r,s,n,o,a=1;br.length;)br.length>a&&br.sort(Tp),i=br.shift(),a=br.length,i.__d&&(t=void 0,r=void 0,s=(r=(e=i).__v).__e,n=[],o=[],e.__P&&((t=pi({},r)).__v=r.__v+1,X.vnode&&X.vnode(t),Wc(e.__P,t,r,e.__n,e.__P.namespaceURI,32&r.__u?[s]:null,n,s??es(r),!!(32&r.__u),o),t.__v=r.__v,t.__.__k[t.__i]=t,Fp(n,t,o),r.__e=r.__=null,t.__e!=s&&_p(t)));qo.__r=0}function Ap(i,e,t,r,s,n,o,a,l,h,f){var m,w,y,k,C,O,R,_=r&&r.__k||kp,F=e.length;for(l=hw(t,e,_,l,F),m=0;m<F;m++)(y=t.__k[m])!=null&&(w=y.__i==-1?Gs:_[y.__i]||Gs,y.__i=m,O=Wc(i,y,w,s,n,o,a,l,h,f),k=y.__e,y.ref&&w.ref!=y.ref&&(w.ref&&Gc(w.ref,null,y),f.push(y.ref,y.__c||k,y)),C==null&&k!=null&&(C=k),(R=!!(4&y.__u))||w.__k===y.__k?l=Cp(y,l,i,R):typeof y.type=="function"&&O!==void 0?l=O:k&&(l=k.nextSibling),y.__u&=-7);return t.__e=C,l}function hw(i,e,t,r,s){var n,o,a,l,h,f=t.length,m=f,w=0;for(i.__k=new Array(s),n=0;n<s;n++)(o=e[n])!=null&&typeof o!="boolean"&&typeof o!="function"?(typeof o=="string"||typeof o=="number"||typeof o=="bigint"||o.constructor==String?o=i.__k[n]=Ws(null,o,null,null,null):Xs(o)?o=i.__k[n]=Ws(_e,{children:o},null,null,null):o.constructor===void 0&&o.__b>0?o=i.__k[n]=Ws(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):i.__k[n]=o,l=n+w,o.__=i,o.__b=i.__b+1,a=null,(h=o.__i=dw(o,t,l,m))!=-1&&(m--,(a=t[h])&&(a.__u|=2)),a==null||a.__v==null?(h==-1&&(s>f?w--:s<f&&w++),typeof o.type!="function"&&(o.__u|=4)):h!=l&&(h==l-1?w--:h==l+1?w++:(h>l?w--:w++,o.__u|=4))):i.__k[n]=null;if(m)for(n=0;n<f;n++)(a=t[n])!=null&&(2&a.__u)==0&&(a.__e==r&&(r=es(a)),Op(a,a));return r}function Cp(i,e,t,r){var s,n;if(typeof i.type=="function"){for(s=i.__k,n=0;s&&n<s.length;n++)s[n]&&(s[n].__=i,e=Cp(s[n],e,t,r));return e}i.__e!=e&&(r&&(e&&i.type&&!e.parentNode&&(e=es(i)),t.insertBefore(i.__e,e||null)),e=i.__e);do e=e&&e.nextSibling;while(e!=null&&e.nodeType==8);return e}function wt(i,e){return e=e||[],i==null||typeof i=="boolean"||(Xs(i)?i.some(function(t){wt(t,e)}):e.push(i)),e}function dw(i,e,t,r){var s,n,o,a=i.key,l=i.type,h=e[t],f=h!=null&&(2&h.__u)==0;if(h===null&&a==null||f&&a==h.key&&l==h.type)return t;if(r>(f?1:0)){for(s=t-1,n=t+1;s>=0||n<e.length;)if((h=e[o=s>=0?s--:n++])!=null&&(2&h.__u)==0&&a==h.key&&l==h.type)return o}return-1}function vp(i,e,t){e[0]=="-"?i.setProperty(e,t??""):i[e]=t==null?"":typeof t!="number"||uw.test(e)?t:t+"px"}function jo(i,e,t,r,s){var n,o;e:if(e=="style")if(typeof t=="string")i.style.cssText=t;else{if(typeof r=="string"&&(i.style.cssText=r=""),r)for(e in r)t&&e in t||vp(i.style,e,"");if(t)for(e in t)r&&t[e]==r[e]||vp(i.style,e,t[e])}else if(e[0]=="o"&&e[1]=="n")n=e!=(e=e.replace(xp,"$1")),o=e.toLowerCase(),e=o in i||e=="onFocusOut"||e=="onFocusIn"?o.slice(2):e.slice(2),i.l||(i.l={}),i.l[e+n]=t,t?r?t.u=r.u:(t.u=$c,i.addEventListener(e,n?jc:Hc,n)):i.removeEventListener(e,n?jc:Hc,n);else{if(s=="http://www.w3.org/2000/svg")e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!="width"&&e!="height"&&e!="href"&&e!="list"&&e!="form"&&e!="tabIndex"&&e!="download"&&e!="rowSpan"&&e!="colSpan"&&e!="role"&&e!="popover"&&e in i)try{i[e]=t??"";break e}catch{}typeof t=="function"||(t==null||t===!1&&e[4]!="-"?i.removeAttribute(e):i.setAttribute(e,e=="popover"&&t==1?"":t))}}function wp(i){return function(e){if(this.l){var t=this.l[e.type+i];if(e.t==null)e.t=$c++;else if(e.t<t.u)return;return t(X.event?X.event(e):e)}}}function Wc(i,e,t,r,s,n,o,a,l,h){var f,m,w,y,k,C,O,R,_,F,x,S,A,P,N,z,q,V=e.type;if(e.constructor!==void 0)return null;128&t.__u&&(l=!!(32&t.__u),n=[a=e.__e=t.__e]),(f=X.__b)&&f(e);e:if(typeof V=="function")try{if(R=e.props,_="prototype"in V&&V.prototype.render,F=(f=V.contextType)&&r[f.__c],x=f?F?F.props.value:f.__:r,t.__c?O=(m=e.__c=t.__c).__=m.__E:(_?e.__c=m=new V(R,x):(e.__c=m=new we(R,x),m.constructor=V,m.render=fw),F&&F.sub(m),m.state||(m.state={}),m.__n=r,w=m.__d=!0,m.__h=[],m._sb=[]),_&&m.__s==null&&(m.__s=m.state),_&&V.getDerivedStateFromProps!=null&&(m.__s==m.state&&(m.__s=pi({},m.__s)),pi(m.__s,V.getDerivedStateFromProps(R,m.__s))),y=m.props,k=m.state,m.__v=e,w)_&&V.getDerivedStateFromProps==null&&m.componentWillMount!=null&&m.componentWillMount(),_&&m.componentDidMount!=null&&m.__h.push(m.componentDidMount);else{if(_&&V.getDerivedStateFromProps==null&&R!==y&&m.componentWillReceiveProps!=null&&m.componentWillReceiveProps(R,x),e.__v==t.__v||!m.__e&&m.shouldComponentUpdate!=null&&m.shouldComponentUpdate(R,m.__s,x)===!1){for(e.__v!=t.__v&&(m.props=R,m.state=m.__s,m.__d=!1),e.__e=t.__e,e.__k=t.__k,e.__k.some(function(Z){Z&&(Z.__=e)}),S=0;S<m._sb.length;S++)m.__h.push(m._sb[S]);m._sb=[],m.__h.length&&o.push(m);break e}m.componentWillUpdate!=null&&m.componentWillUpdate(R,m.__s,x),_&&m.componentDidUpdate!=null&&m.__h.push(function(){m.componentDidUpdate(y,k,C)})}if(m.context=x,m.props=R,m.__P=i,m.__e=!1,A=X.__r,P=0,_){for(m.state=m.__s,m.__d=!1,A&&A(e),f=m.render(m.props,m.state,m.context),N=0;N<m._sb.length;N++)m.__h.push(m._sb[N]);m._sb=[]}else do m.__d=!1,A&&A(e),f=m.render(m.props,m.state,m.context),m.state=m.__s;while(m.__d&&++P<25);m.state=m.__s,m.getChildContext!=null&&(r=pi(pi({},r),m.getChildContext())),_&&!w&&m.getSnapshotBeforeUpdate!=null&&(C=m.getSnapshotBeforeUpdate(y,k)),z=f,f!=null&&f.type===_e&&f.key==null&&(z=Pp(f.props.children)),a=Ap(i,Xs(z)?z:[z],e,t,r,s,n,o,a,l,h),m.base=e.__e,e.__u&=-161,m.__h.length&&o.push(m),O&&(m.__E=m.__=null)}catch(Z){if(e.__v=null,l||n!=null)if(Z.then){for(e.__u|=l?160:128;a&&a.nodeType==8&&a.nextSibling;)a=a.nextSibling;n[n.indexOf(a)]=null,e.__e=a}else{for(q=n.length;q--;)Vc(n[q]);qc(e)}else e.__e=t.__e,e.__k=t.__k,Z.then||qc(e);X.__e(Z,e,t)}else n==null&&e.__v==t.__v?(e.__k=t.__k,e.__e=t.__e):a=e.__e=pw(t.__e,e,t,r,s,n,o,l,h);return(f=X.diffed)&&f(e),128&e.__u?void 0:a}function qc(i){i&&i.__c&&(i.__c.__e=!0),i&&i.__k&&i.__k.forEach(qc)}function Fp(i,e,t){for(var r=0;r<t.length;r++)Gc(t[r],t[++r],t[++r]);X.__c&&X.__c(e,i),i.some(function(s){try{i=s.__h,s.__h=[],i.some(function(n){n.call(s)})}catch(n){X.__e(n,s.__v)}})}function Pp(i){return typeof i!="object"||i==null||i.__b&&i.__b>0?i:Xs(i)?i.map(Pp):pi({},i)}function pw(i,e,t,r,s,n,o,a,l){var h,f,m,w,y,k,C,O=t.props||Gs,R=e.props,_=e.type;if(_=="svg"?s="http://www.w3.org/2000/svg":_=="math"?s="http://www.w3.org/1998/Math/MathML":s||(s="http://www.w3.org/1999/xhtml"),n!=null){for(h=0;h<n.length;h++)if((y=n[h])&&"setAttribute"in y==!!_&&(_?y.localName==_:y.nodeType==3)){i=y,n[h]=null;break}}if(i==null){if(_==null)return document.createTextNode(R);i=document.createElementNS(s,_,R.is&&R),a&&(X.__m&&X.__m(e,n),a=!1),n=null}if(_==null)O===R||a&&i.data==R||(i.data=R);else{if(n=n&&Ks.call(i.childNodes),!a&&n!=null)for(O={},h=0;h<i.attributes.length;h++)O[(y=i.attributes[h]).name]=y.value;for(h in O)if(y=O[h],h!="children"){if(h=="dangerouslySetInnerHTML")m=y;else if(!(h in R)){if(h=="value"&&"defaultValue"in R||h=="checked"&&"defaultChecked"in R)continue;jo(i,h,null,y,s)}}for(h in R)y=R[h],h=="children"?w=y:h=="dangerouslySetInnerHTML"?f=y:h=="value"?k=y:h=="checked"?C=y:a&&typeof y!="function"||O[h]===y||jo(i,h,y,O[h],s);if(f)a||m&&(f.__html==m.__html||f.__html==i.innerHTML)||(i.innerHTML=f.__html),e.__k=[];else if(m&&(i.innerHTML=""),Ap(e.type=="template"?i.content:i,Xs(w)?w:[w],e,t,r,_=="foreignObject"?"http://www.w3.org/1999/xhtml":s,n,o,n?n[0]:t.__k&&es(t,0),a,l),n!=null)for(h=n.length;h--;)Vc(n[h]);a||(h="value",_=="progress"&&k==null?i.removeAttribute("value"):k!=null&&(k!==i[h]||_=="progress"&&!k||_=="option"&&k!=O[h])&&jo(i,h,k,O[h],s),h="checked",C!=null&&C!=i[h]&&jo(i,h,C,O[h],s))}return i}function Gc(i,e,t){try{if(typeof i=="function"){var r=typeof i.__u=="function";r&&i.__u(),r&&e==null||(i.__u=i(e))}else i.current=e}catch(s){X.__e(s,t)}}function Op(i,e,t){var r,s;if(X.unmount&&X.unmount(i),(r=i.ref)&&(r.current&&r.current!=i.__e||Gc(r,null,e)),(r=i.__c)!=null){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(n){X.__e(n,e)}r.base=r.__P=null}if(r=i.__k)for(s=0;s<r.length;s++)r[s]&&Op(r[s],e,t||typeof i.type!="function");t||Vc(i.__e),i.__c=i.__=i.__e=void 0}function fw(i,e,t){return this.constructor(i,t)}function Rp(i,e,t){var r,s,n,o;e==document&&(e=document.documentElement),X.__&&X.__(i,e),s=(r=typeof t=="function")?null:t&&t.__k||e.__k,n=[],o=[],Wc(e,i=(!r&&t||e).__k=ki(_e,null,[i]),s||Gs,Gs,e.namespaceURI,!r&&t?[t]:s?null:e.firstChild?Ks.call(e.childNodes):null,n,!r&&t?t:s?s.__e:e.firstChild,r,o),Fp(n,i,o)}function Ys(i,e,t){var r,s,n,o,a=pi({},i.props);for(n in i.type&&i.type.defaultProps&&(o=i.type.defaultProps),e)n=="key"?r=e[n]:n=="ref"?s=e[n]:a[n]=e[n]===void 0&&o!=null?o[n]:e[n];return arguments.length>2&&(a.children=arguments.length>3?Ks.call(arguments,2):t),Ws(i.type,a,r||i.key,s||i.ref,null)}Ks=kp.slice,X={__e:function(i,e,t,r){for(var s,n,o;e=e.__;)if((s=e.__c)&&!s.__)try{if((n=s.constructor)&&n.getDerivedStateFromError!=null&&(s.setState(n.getDerivedStateFromError(i)),o=s.__d),s.componentDidCatch!=null&&(s.componentDidCatch(i,r||{}),o=s.__d),o)return s.__E=s}catch(a){i=a}throw i}},Sp=0,lw=function(i){return i!=null&&i.constructor===void 0},we.prototype.setState=function(i,e){var t;t=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=pi({},this.state),typeof i=="function"&&(i=i(pi({},t),this.props)),i&&pi(t,i),i!=null&&this.__v&&(e&&this._sb.push(e),yp(this))},we.prototype.forceUpdate=function(i){this.__v&&(this.__e=!0,i&&this.__h.push(i),yp(this))},we.prototype.render=_e,br=[],Ep=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Tp=function(i,e){return i.__v.__b-e.__v.__b},qo.__r=0,xp=/(PointerCapture)$|Capture$/i,$c=0,Hc=wp(!1),jc=wp(!0),cw=0;var Zs,Pe,Kc,Lp,Qs=0,Hp=[],Ne=X,Mp=Ne.__b,Ip=Ne.__r,Dp=Ne.diffed,Np=Ne.__c,Bp=Ne.unmount,Up=Ne.__;function Yc(i,e){Ne.__h&&Ne.__h(Pe,i,Qs||e),Qs=0;var t=Pe.__H||(Pe.__H={__:[],__h:[]});return i>=t.__.length&&t.__.push({}),t.__[i]}function Kt(i){return Qs=1,jp($p,i)}function jp(i,e,t){var r=Yc(Zs++,2);if(r.t=i,!r.__c&&(r.__=[t?t(e):$p(void 0,e),function(a){var l=r.__N?r.__N[0]:r.__[0],h=r.t(l,a);l!==h&&(r.__N=[h,r.__[1]],r.__c.setState({}))}],r.__c=Pe,!Pe.__f)){var s=function(a,l,h){if(!r.__c.__H)return!0;var f=r.__c.__H.__.filter(function(w){return!!w.__c});if(f.every(function(w){return!w.__N}))return!n||n.call(this,a,l,h);var m=r.__c.props!==a;return f.forEach(function(w){if(w.__N){var y=w.__[0];w.__=w.__N,w.__N=void 0,y!==w.__[0]&&(m=!0)}}),n&&n.call(this,a,l,h)||m};Pe.__f=!0;var n=Pe.shouldComponentUpdate,o=Pe.componentWillUpdate;Pe.componentWillUpdate=function(a,l,h){if(this.__e){var f=n;n=void 0,s(a,l,h),n=f}o&&o.call(this,a,l,h)},Pe.shouldComponentUpdate=s}return r.__N||r.__}function si(i,e){var t=Yc(Zs++,3);!Ne.__s&&qp(t.__H,e)&&(t.__=i,t.u=e,Pe.__H.__h.push(t))}function qi(i){return Qs=5,$i(function(){return{current:i}},[])}function $i(i,e){var t=Yc(Zs++,7);return qp(t.__H,e)&&(t.__=i(),t.__H=e,t.__h=i),t.__}function Vi(i,e){return Qs=8,$i(function(){return i},e)}function mw(){for(var i;i=Hp.shift();)if(i.__P&&i.__H)try{i.__H.__h.forEach(Vo),i.__H.__h.forEach(Xc),i.__H.__h=[]}catch(e){i.__H.__h=[],Ne.__e(e,i.__v)}}Ne.__b=function(i){Pe=null,Mp&&Mp(i)},Ne.__=function(i,e){i&&e.__k&&e.__k.__m&&(i.__m=e.__k.__m),Up&&Up(i,e)},Ne.__r=function(i){Ip&&Ip(i),Zs=0;var e=(Pe=i.__c).__H;e&&(Kc===Pe?(e.__h=[],Pe.__h=[],e.__.forEach(function(t){t.__N&&(t.__=t.__N),t.u=t.__N=void 0})):(e.__h.forEach(Vo),e.__h.forEach(Xc),e.__h=[],Zs=0)),Kc=Pe},Ne.diffed=function(i){Dp&&Dp(i);var e=i.__c;e&&e.__H&&(e.__H.__h.length&&(Hp.push(e)!==1&&Lp===Ne.requestAnimationFrame||((Lp=Ne.requestAnimationFrame)||gw)(mw)),e.__H.__.forEach(function(t){t.u&&(t.__H=t.u),t.u=void 0})),Kc=Pe=null},Ne.__c=function(i,e){e.some(function(t){try{t.__h.forEach(Vo),t.__h=t.__h.filter(function(r){return!r.__||Xc(r)})}catch(r){e.some(function(s){s.__h&&(s.__h=[])}),e=[],Ne.__e(r,t.__v)}}),Np&&Np(i,e)},Ne.unmount=function(i){Bp&&Bp(i);var e,t=i.__c;t&&t.__H&&(t.__H.__.forEach(function(r){try{Vo(r)}catch(s){e=s}}),t.__H=void 0,e&&Ne.__e(e,t.__v))};var zp=typeof requestAnimationFrame=="function";function gw(i){var e,t=function(){clearTimeout(r),zp&&cancelAnimationFrame(e),setTimeout(i)},r=setTimeout(t,35);zp&&(e=requestAnimationFrame(t))}function Vo(i){var e=Pe,t=i.__c;typeof t=="function"&&(i.__c=void 0,t()),Pe=e}function Xc(i){var e=Pe;i.__c=i.__(),Pe=e}function qp(i,e){return!i||i.length!==e.length||e.some(function(t,r){return t!==i[r]})}function $p(i,e){return typeof e=="function"?e(i):e}function yw(i,e){for(var t in e)i[t]=e[t];return i}function Vp(i,e){for(var t in i)if(t!=="__source"&&!(t in e))return!0;for(var r in e)if(r!=="__source"&&i[r]!==e[r])return!0;return!1}function Wp(i,e){this.props=i,this.context=e}(Wp.prototype=new we).isPureReactComponent=!0,Wp.prototype.shouldComponentUpdate=function(i,e){return Vp(this.props,i)||Vp(this.state,e)};var Gp=X.__b;X.__b=function(i){i.type&&i.type.__f&&i.ref&&(i.props.ref=i.ref,i.ref=null),Gp&&Gp(i)};var gC=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;var vw=X.__e;X.__e=function(i,e,t,r){if(i.then){for(var s,n=e;n=n.__;)if((s=n.__c)&&s.__c)return e.__e==null&&(e.__e=t.__e,e.__k=t.__k),s.__c(i,e)}vw(i,e,t,r)};var Kp=X.unmount;function ef(i,e,t){return i&&(i.__c&&i.__c.__H&&(i.__c.__H.__.forEach(function(r){typeof r.__c=="function"&&r.__c()}),i.__c.__H=null),(i=yw({},i)).__c!=null&&(i.__c.__P===t&&(i.__c.__P=e),i.__c.__e=!0,i.__c=null),i.__k=i.__k&&i.__k.map(function(r){return ef(r,e,t)})),i}function tf(i,e,t){return i&&t&&(i.__v=null,i.__k=i.__k&&i.__k.map(function(r){return tf(r,e,t)}),i.__c&&i.__c.__P===e&&(i.__e&&t.appendChild(i.__e),i.__c.__e=!0,i.__c.__P=t)),i}function Zc(){this.__u=0,this.o=null,this.__b=null}function rf(i){var e=i.__.__c;return e&&e.__a&&e.__a(i)}function Wo(){this.i=null,this.l=null}X.unmount=function(i){var e=i.__c;e&&e.__R&&e.__R(),e&&32&i.__u&&(i.type=null),Kp&&Kp(i)},(Zc.prototype=new we).__c=function(i,e){var t=e.__c,r=this;r.o==null&&(r.o=[]),r.o.push(t);var s=rf(r.__v),n=!1,o=function(){n||(n=!0,t.__R=null,s?s(a):a())};t.__R=o;var a=function(){if(!--r.__u){if(r.state.__a){var l=r.state.__a;r.__v.__k[0]=tf(l,l.__c.__P,l.__c.__O)}var h;for(r.setState({__a:r.__b=null});h=r.o.pop();)h.forceUpdate()}};r.__u++||32&e.__u||r.setState({__a:r.__b=r.__v.__k[0]}),i.then(o,o)},Zc.prototype.componentWillUnmount=function(){this.o=[]},Zc.prototype.render=function(i,e){if(this.__b){if(this.__v.__k){var t=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=ef(this.__b,t,r.__O=r.__P)}this.__b=null}var s=e.__a&&ki(_e,null,i.fallback);return s&&(s.__u&=-33),[ki(_e,null,e.__a?null:i.children),s]};var Xp=function(i,e,t){if(++t[1]===t[0]&&i.l.delete(e),i.props.revealOrder&&(i.props.revealOrder[0]!=="t"||!i.l.size))for(t=i.i;t;){for(;t.length>3;)t.pop()();if(t[1]<t[0])break;i.i=t=t[2]}};(Wo.prototype=new we).__a=function(i){var e=this,t=rf(e.__v),r=e.l.get(i);return r[0]++,function(s){var n=function(){e.props.revealOrder?(r.push(s),Xp(e,i,r)):s()};t?t(n):n()}},Wo.prototype.render=function(i){this.i=null,this.l=new Map;var e=wt(i.children);i.revealOrder&&i.revealOrder[0]==="b"&&e.reverse();for(var t=e.length;t--;)this.l.set(e[t],this.i=[1,0,this.i]);return i.children},Wo.prototype.componentDidUpdate=Wo.prototype.componentDidMount=function(){var i=this;this.l.forEach(function(e,t){Xp(i,t,e)})};var ww=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,Sw=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Ew=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Tw=/[A-Z0-9]/g,xw=typeof document<"u",kw=function(i){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/:/fil|che|ra/).test(i)};function Qc(i,e,t){return e.__k==null&&(e.textContent=""),Rp(i,e),typeof t=="function"&&t(),i?i.__c:null}we.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(i){Object.defineProperty(we.prototype,i,{configurable:!0,get:function(){return this["UNSAFE_"+i]},set:function(e){Object.defineProperty(this,i,{configurable:!0,writable:!0,value:e})}})});var Yp=X.event;function _w(){}function Aw(){return this.cancelBubble}function Cw(){return this.defaultPrevented}X.event=function(i){return Yp&&(i=Yp(i)),i.persist=_w,i.isPropagationStopped=Aw,i.isDefaultPrevented=Cw,i.nativeEvent=i};var sf,Fw={enumerable:!1,configurable:!0,get:function(){return this.class}},Zp=X.vnode;X.vnode=function(i){typeof i.type=="string"&&(function(e){var t=e.props,r=e.type,s={},n=r.indexOf("-")===-1;for(var o in t){var a=t[o];if(!(o==="value"&&"defaultValue"in t&&a==null||xw&&o==="children"&&r==="noscript"||o==="class"||o==="className")){var l=o.toLowerCase();o==="defaultValue"&&"value"in t&&t.value==null?o="value":o==="download"&&a===!0?a="":l==="translate"&&a==="no"?a=!1:l[0]==="o"&&l[1]==="n"?l==="ondoubleclick"?o="ondblclick":l!=="onchange"||r!=="input"&&r!=="textarea"||kw(t.type)?l==="onfocus"?o="onfocusin":l==="onblur"?o="onfocusout":Ew.test(o)&&(o=l):l=o="oninput":n&&Sw.test(o)?o=o.replace(Tw,"-$&").toLowerCase():a===null&&(a=void 0),l==="oninput"&&s[o=l]&&(o="oninputCapture"),s[o]=a}}r=="select"&&s.multiple&&Array.isArray(s.value)&&(s.value=wt(t.children).forEach(function(h){h.props.selected=s.value.indexOf(h.props.value)!=-1})),r=="select"&&s.defaultValue!=null&&(s.value=wt(t.children).forEach(function(h){h.props.selected=s.multiple?s.defaultValue.indexOf(h.props.value)!=-1:s.defaultValue==h.props.value})),t.class&&!t.className?(s.class=t.class,Object.defineProperty(s,"className",Fw)):(t.className&&!t.class||t.class&&t.className)&&(s.class=s.className=t.className),e.props=s})(i),i.$$typeof=ww,Zp&&Zp(i)};var Qp=X.__r;X.__r=function(i){Qp&&Qp(i),sf=i.__c};var Jp=X.diffed;X.diffed=function(i){Jp&&Jp(i);var e=i.props,t=i.__e;t!=null&&i.type==="textarea"&&"value"in e&&e.value!==t.value&&(t.value=e.value==null?"":e.value),sf=null};function Pw(i){let e=null,t;return(...r)=>(t=r,e||(e=Promise.resolve().then(()=>(e=null,i(...t)))),e)}var Jc=class i extends ji{#e;isTargetDOMEl;el;parent;title;getTargetPlugin(e){let t;if(typeof e?.addTarget=="function")t=e,t instanceof i||console.warn(new Error("The provided plugin is not an instance of UIPlugin. This is an indication of a bug with the way Uppy is bundled.",{cause:{targetPlugin:t,UIPlugin:i}}));else if(typeof e=="function"){let r=e;this.uppy.iteratePlugins(s=>{s instanceof r&&(t=s)})}return t}mount(e,t){let r=t.id,s=gp(e);if(s){this.isTargetDOMEl=!0;let a=document.createElement("div");return a.classList.add("uppy-Root"),this.#e=Pw(l=>{this.uppy.getPlugin(this.id)&&(Qc(this.render(l,a),a),this.afterUpdate())}),this.uppy.log(`Installing ${r} to a DOM element '${e}'`),this.opts.replaceTargetContent&&(s.innerHTML=""),Qc(this.render(this.uppy.getState(),a),a),this.el=a,s.appendChild(a),a.dir=this.opts.direction||Ho(a)||"ltr",this.onMount(),this.el}let n=this.getTargetPlugin(e);if(n)return this.uppy.log(`Installing ${r} to ${n.id}`),this.parent=n,this.el=n.addTarget(t),this.onMount(),this.el;this.uppy.log(`Not installing ${r}`);let o=`Invalid target option given to ${r}.`;throw typeof e=="function"?o+=" The given target is not a Plugin class. Please check that you're not specifying a React Component instead of a plugin. If you are using @uppy/* packages directly, make sure you have only 1 version of @uppy/core installed: run `npm ls @uppy/core` on the command line and verify that all the versions match and are deduped correctly.":o+="If you meant to target an HTML element, please make sure that the element exists. Check that the <script> tag initializing Uppy is right before the closing </body> tag at the end of the page. (see https://github.com/transloadit/uppy/issues/1042)\n\nIf you meant to target a plugin, please confirm that your `import` statements or `require` calls are correct.",new Error(o)}render(e,t){throw new Error("Extend the render method to add your plugin to a DOM element")}update(e){this.el!=null&&this.#e?.(e)}unmount(){this.isTargetDOMEl&&this.el?.remove(),this.onUnmount()}onMount(){}onUnmount(){}},ni=Jc;var nf={name:"@uppy/store-default",description:"The default simple object-based store for Uppy.",version:"4.3.2",license:"MIT",main:"lib/index.js",type:"module",scripts:{build:"tsc --build tsconfig.build.json",typecheck:"tsc --build",test:"vitest run --environment=jsdom --silent='passed-only'"},keywords:["file uploader","uppy","uppy-store"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},devDependencies:{jsdom:"^26.1.0",typescript:"^5.8.3",vitest:"^3.2.4"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"]};var eu=class{static VERSION=nf.version;state={};#e=new Set;getState(){return this.state}setState(e){let t={...this.state},r={...this.state,...e};this.state=r,this.#t(t,r,e)}subscribe(e){return this.#e.add(e),()=>{this.#e.delete(e)}}#t(...e){this.#e.forEach(t=>{t(...e)})}},of=eu;function yr(i){let e=i.lastIndexOf(".");return e===-1||e===i.length-1?{name:i,extension:void 0}:{name:i.slice(0,e),extension:i.slice(e+1)}}var tu={__proto__:null,md:"text/markdown",markdown:"text/markdown",mp4:"video/mp4",mp3:"audio/mp3",svg:"image/svg+xml",jpg:"image/jpeg",png:"image/png",webp:"image/webp",gif:"image/gif",heic:"image/heic",heif:"image/heif",yaml:"text/yaml",yml:"text/yaml",csv:"text/csv",tsv:"text/tab-separated-values",tab:"text/tab-separated-values",avi:"video/x-msvideo",mks:"video/x-matroska",mkv:"video/x-matroska",mov:"video/quicktime",dicom:"application/dicom",doc:"application/msword",msg:"application/vnd.ms-outlook",docm:"application/vnd.ms-word.document.macroenabled.12",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",dot:"application/msword",dotm:"application/vnd.ms-word.template.macroenabled.12",dotx:"application/vnd.openxmlformats-officedocument.wordprocessingml.template",xla:"application/vnd.ms-excel",xlam:"application/vnd.ms-excel.addin.macroenabled.12",xlc:"application/vnd.ms-excel",xlf:"application/x-xliff+xml",xlm:"application/vnd.ms-excel",xls:"application/vnd.ms-excel",xlsb:"application/vnd.ms-excel.sheet.binary.macroenabled.12",xlsm:"application/vnd.ms-excel.sheet.macroenabled.12",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",xlt:"application/vnd.ms-excel",xltm:"application/vnd.ms-excel.template.macroenabled.12",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template",xlw:"application/vnd.ms-excel",txt:"text/plain",text:"text/plain",conf:"text/plain",log:"text/plain",pdf:"application/pdf",zip:"application/zip","7z":"application/x-7z-compressed",rar:"application/x-rar-compressed",tar:"application/x-tar",gz:"application/gzip",dmg:"application/x-apple-diskimage"};function Js(i){if(i.type)return i.type;let e=i.name?yr(i.name).extension?.toLowerCase():null;return e&&e in tu?tu[e]:"application/octet-stream"}function Rw(i){return i.charCodeAt(0).toString(32)}function af(i){let e="";return i.replace(/[^A-Z0-9]/gi,t=>(e+=`-${Rw(t)}`,"/"))+e}function lf(i,e){let t=e||"uppy";return typeof i.name=="string"&&(t+=`-${af(i.name.toLowerCase())}`),i.type!==void 0&&(t+=`-${i.type}`),i.meta&&typeof i.meta.relativePath=="string"&&(t+=`-${af(i.meta.relativePath.toLowerCase())}`),i.data.size!==void 0&&(t+=`-${i.data.size}`),i.data.lastModified!==void 0&&(t+=`-${i.data.lastModified}`),t}function Lw(i){return!i.isRemote||!i.remote?!1:new Set(["box","dropbox","drive","facebook","unsplash"]).has(i.remote.provider)}function Go(i,e){if(Lw(i))return i.id;let t=Js(i);return lf({...i,type:t},e)}var em=ye(Hf(),1),tm=ye(qf(),1);var _1="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Wi=(i=21)=>{let e="",t=i|0;for(;t--;)e+=_1[Math.random()*64|0];return e};var $f={name:"@uppy/core",description:"Core module for the extensible JavaScript file upload widget with support for drag&drop, resumable uploads, previews, restrictions, file processing/encoding, remote providers like Instagram, Dropbox, Google Drive, S3 and more :dog:",version:"4.5.3",license:"MIT",main:"lib/index.js",style:"dist/style.min.css",type:"module",sideEffects:["*.css"],scripts:{build:"tsc --build tsconfig.build.json","build:css":"sass --load-path=../../ src/style.scss dist/style.css && postcss dist/style.css -u cssnano -o dist/style.min.css",typecheck:"tsc --build",test:"vitest run --environment=jsdom --silent='passed-only'"},keywords:["file uploader","uppy","uppy-plugin"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"],dependencies:{"@transloadit/prettier-bytes":"^0.3.4","@uppy/store-default":"^4.3.2","@uppy/utils":"^6.2.2",lodash:"^4.17.21","mime-match":"^1.0.2","namespace-emitter":"^2.0.1",nanoid:"^5.0.9",preact:"^10.5.13"},devDependencies:{"@types/deep-freeze":"^0",cssnano:"^7.0.7","deep-freeze":"^0.0.1",jsdom:"^26.1.0",postcss:"^8.5.6","postcss-cli":"^11.0.1",sass:"^1.89.2",typescript:"^5.8.3",vitest:"^3.2.4"}};function ou(i,e){return e.name?e.name:i.split("/")[0]==="image"?`${i.split("/")[0]}.${i.split("/")[1]}`:"noname"}var Vf={strings:{addBulkFilesFailed:{0:"Failed to add %{smart_count} file due to an internal error",1:"Failed to add %{smart_count} files due to internal errors"},youCanOnlyUploadX:{0:"You can only upload %{smart_count} file",1:"You can only upload %{smart_count} files"},youHaveToAtLeastSelectX:{0:"You have to select at least %{smart_count} file",1:"You have to select at least %{smart_count} files"},aggregateExceedsSize:"You selected %{size} of files, but maximum allowed size is %{sizeAllowed}",exceedsSize:"%{file} exceeds maximum allowed size of %{size}",missingRequiredMetaField:"Missing required meta fields",missingRequiredMetaFieldOnFile:"Missing required meta fields in %{fileName}",inferiorSize:"This file is smaller than the allowed size of %{size}",youCanOnlyUploadFileTypes:"You can only upload: %{types}",noMoreFilesAllowed:"Cannot add more files",noDuplicates:"Cannot add the duplicate file '%{fileName}', it already exists",companionError:"Connection with Companion failed",authAborted:"Authentication aborted",companionUnauthorizeHint:"To unauthorize to your %{provider} account, please go to %{url}",failedToUpload:"Failed to upload %{file}",noInternetConnection:"No Internet connection",connectedToInternet:"Connected to the Internet",noFilesFound:"You have no files or folders here",noSearchResults:"Unfortunately, there are no results for this search",selectX:{0:"Select %{smart_count}",1:"Select %{smart_count}"},allFilesFromFolderNamed:"All files from folder %{name}",openFolderNamed:"Open folder %{name}",cancel:"Cancel",logOut:"Log out",logIn:"Log in",pickFiles:"Pick files",pickPhotos:"Pick photos",filter:"Filter",resetFilter:"Reset filter",loading:"Loading...",loadedXFiles:"Loaded %{numFiles} files",authenticateWithTitle:"Please authenticate with %{pluginName} to select files",authenticateWith:"Connect to %{pluginName}",signInWithGoogle:"Sign in with Google",searchImages:"Search for images",enterTextToSearch:"Enter text to search for images",search:"Search",resetSearch:"Reset search",emptyFolderAdded:"No files were added from empty folder",addedNumFiles:"Added %{numFiles} file(s)",folderAlreadyAdded:'The folder "%{folder}" was already added',folderAdded:{0:"Added %{smart_count} file from %{folder}",1:"Added %{smart_count} files from %{folder}"},additionalRestrictionsFailed:"%{count} additional restrictions were not fulfilled",unnamed:"Unnamed",pleaseWait:"Please wait"}};var tn=ye(Xo(),1),Qf=ye(Zf(),1),Jf={maxFileSize:null,minFileSize:null,maxTotalFileSize:null,maxNumberOfFiles:null,minNumberOfFiles:null,allowedFileTypes:null,requiredMetaFields:[]},St=class extends Error{isUserFacing;file;constructor(e,t){super(e),this.isUserFacing=t?.isUserFacing??!0,t?.file&&(this.file=t.file)}isRestriction=!0},Yo=class{getI18n;getOpts;constructor(e,t){this.getI18n=t,this.getOpts=()=>{let r=e();if(r.restrictions?.allowedFileTypes!=null&&!Array.isArray(r.restrictions.allowedFileTypes))throw new TypeError("`restrictions.allowedFileTypes` must be an array");return r}}validateAggregateRestrictions(e,t){let{maxTotalFileSize:r,maxNumberOfFiles:s}=this.getOpts().restrictions;if(s&&e.filter(o=>!o.isGhost).length+t.length>s)throw new St(`${this.getI18n()("youCanOnlyUploadX",{smart_count:s})}`);if(r){let n=[...e,...t].reduce((o,a)=>o+(a.size??0),0);if(n>r)throw new St(this.getI18n()("aggregateExceedsSize",{sizeAllowed:(0,tn.default)(r),size:(0,tn.default)(n)}))}}validateSingleFile(e){let{maxFileSize:t,minFileSize:r,allowedFileTypes:s}=this.getOpts().restrictions;if(s&&!s.some(o=>o.includes("/")?e.type?(0,Qf.default)(e.type.replace(/;.*?$/,""),o):!1:o[0]==="."&&e.extension?e.extension.toLowerCase()===o.slice(1).toLowerCase():!1)){let o=s.join(", ");throw new St(this.getI18n()("youCanOnlyUploadFileTypes",{types:o}),{file:e})}if(t&&e.size!=null&&e.size>t)throw new St(this.getI18n()("exceedsSize",{size:(0,tn.default)(t),file:e.name??this.getI18n()("unnamed")}),{file:e});if(r&&e.size!=null&&e.size<r)throw new St(this.getI18n()("inferiorSize",{size:(0,tn.default)(r)}),{file:e})}validate(e,t){t.forEach(r=>{this.validateSingleFile(r)}),this.validateAggregateRestrictions(e,t)}validateMinNumberOfFiles(e){let{minNumberOfFiles:t}=this.getOpts().restrictions;if(t&&Object.keys(e).length<t)throw new St(this.getI18n()("youHaveToAtLeastSelectX",{smart_count:t}))}getMissingRequiredMetaFields(e){let t=new St(this.getI18n()("missingRequiredMetaFieldOnFile",{fileName:e.name??this.getI18n()("unnamed")})),{requiredMetaFields:r}=this.getOpts().restrictions,s=[];for(let n of r)(!Object.hasOwn(e.meta,n)||e.meta[n]==="")&&s.push(n);return{missingFields:s,error:t}}};function au(i){if(i==null&&typeof navigator<"u"&&(i=navigator.userAgent),!i)return!0;let e=/Edge\/(\d+\.\d+)/.exec(i);if(!e)return!0;let r=e[1].split(".",2),s=parseInt(r[0],10),n=parseInt(r[1],10);return s<15||s===15&&n<15063||s>18||s===18&&n>=18218}var Zo={totalProgress:0,allowNewUpload:!0,error:null,recoveredState:null},lu=class i{static VERSION=$f.version;#e=Object.create(null);#t;#i;#r=(0,tm.default)();#s=new Set;#o=new Set;#n=new Set;defaultLocale;locale;opts;store;i18n;i18nArray;scheduledAutoProceed=null;wasOffline=!1;constructor(e){this.defaultLocale=Vf;let t={id:"uppy",autoProceed:!1,allowMultipleUploadBatches:!0,debug:!1,restrictions:Jf,meta:{},onBeforeFileAdded:(s,n)=>!Object.hasOwn(n,s.id),onBeforeUpload:s=>s,store:new of,logger:fp,infoTimeout:5e3},r={...t,...e};this.opts={...r,restrictions:{...t.restrictions,...e?.restrictions}},e?.logger&&e.debug?this.log("You are using a custom `logger`, but also set `debug: true`, which uses built-in logger to output logs to console. Ignoring `debug: true` and using your custom `logger`.","warning"):e?.debug&&(this.opts.logger=mp),this.log(`Using Core v${i.VERSION}`),this.i18nInit(),this.store=this.opts.store,this.setState({...Zo,plugins:{},files:{},currentUploads:{},capabilities:{uploadProgress:au(),individualCancellation:!0,resumableUploads:!1},meta:{...this.opts.meta},info:[]}),this.#t=new Yo(()=>this.opts,()=>this.i18n),this.#i=this.store.subscribe((s,n,o)=>{this.emit("state-update",s,n,o),this.updateAll(n)}),this.opts.debug&&typeof window<"u"&&(window[this.opts.id]=this),this.#S()}emit(e,...t){this.#r.emit(e,...t)}on(e,t){return this.#r.on(e,t),this}once(e,t){return this.#r.once(e,t),this}off(e,t){return this.#r.off(e,t),this}updateAll(e){this.iteratePlugins(t=>{t.update(e)})}setState(e){this.store.setState(e)}getState(){return this.store.getState()}patchFilesState(e){let t=this.getState().files;this.setState({files:{...t,...Object.fromEntries(Object.entries(e).map(([r,s])=>[r,{...t[r],...s}]))}})}setFileState(e,t){if(!this.getState().files[e])throw new Error(`Can\u2019t set state for ${e} (the file could have been removed)`);this.patchFilesState({[e]:t})}i18nInit(){let e=r=>this.log(`Missing i18n string: ${r}`,"error"),t=new gr([this.defaultLocale,this.opts.locale],{onMissingKey:e});this.i18n=t.translate.bind(t),this.i18nArray=t.translateArray.bind(t),this.locale=t.locale}setOptions(e){this.opts={...this.opts,...e,restrictions:{...this.opts.restrictions,...e?.restrictions}},e.meta&&this.setMeta(e.meta),this.i18nInit(),e.locale&&this.iteratePlugins(t=>{t.setOptions(e)}),this.setState(void 0)}resetProgress(){let e={percentage:0,bytesUploaded:!1,uploadComplete:!1,uploadStarted:null},t={...this.getState().files},r=Object.create(null);Object.keys(t).forEach(s=>{r[s]={...t[s],progress:{...t[s].progress,...e},tus:void 0,transloadit:void 0}}),this.setState({files:r,...Zo})}clear(){let{capabilities:e,currentUploads:t}=this.getState();if(Object.keys(t).length>0&&!e.individualCancellation)throw new Error("The installed uploader plugin does not allow removing files during an upload.");this.setState({...Zo,files:{}})}addPreProcessor(e){this.#s.add(e)}removePreProcessor(e){return this.#s.delete(e)}addPostProcessor(e){this.#n.add(e)}removePostProcessor(e){return this.#n.delete(e)}addUploader(e){this.#o.add(e)}removeUploader(e){return this.#o.delete(e)}setMeta(e){let t={...this.getState().meta,...e},r={...this.getState().files};Object.keys(r).forEach(s=>{r[s]={...r[s],meta:{...r[s].meta,...e}}}),this.log("Adding metadata:"),this.log(e),this.setState({meta:t,files:r})}setFileMeta(e,t){let r={...this.getState().files};if(!r[e]){this.log(`Was trying to set metadata for a file that has been removed: ${e}`);return}let s={...r[e].meta,...t};r[e]={...r[e],meta:s},this.setState({files:r})}getFile(e){return this.getState().files[e]}getFiles(){let{files:e}=this.getState();return Object.values(e)}getFilesByIds(e){return e.map(t=>this.getFile(t))}getObjectOfFilesPerState(){let{files:e,totalProgress:t,error:r}=this.getState(),s=Object.values(e),n=[],o=[],a=[],l=[],h=[],f=[],m=[],w=[],y=[];for(let k of s){let{progress:C}=k;!C.uploadComplete&&C.uploadStarted&&(n.push(k),k.isPaused||w.push(k)),C.uploadStarted||o.push(k),(C.uploadStarted||C.preprocess||C.postprocess)&&a.push(k),C.uploadStarted&&l.push(k),k.isPaused&&h.push(k),C.uploadComplete&&f.push(k),k.error&&m.push(k),(C.preprocess||C.postprocess)&&y.push(k)}return{newFiles:o,startedFiles:a,uploadStartedFiles:l,pausedFiles:h,completeFiles:f,erroredFiles:m,inProgressFiles:n,inProgressNotPausedFiles:w,processingFiles:y,isUploadStarted:l.length>0,isAllComplete:t===100&&f.length===s.length&&y.length===0,isAllErrored:!!r&&m.length===s.length,isAllPaused:n.length!==0&&h.length===n.length,isUploadInProgress:n.length>0,isSomeGhost:s.some(k=>k.isGhost)}}#l(e){for(let o of e)o.isRestriction?this.emit("restriction-failed",o.file,o):this.emit("error",o,o.file),this.log(o,"warning");let t=e.filter(o=>o.isUserFacing),r=4,s=t.slice(0,r),n=t.slice(r);s.forEach(({message:o,details:a=""})=>{this.info({message:o,details:a},"error",this.opts.infoTimeout)}),n.length>0&&this.info({message:this.i18n("additionalRestrictionsFailed",{count:n.length})})}validateRestrictions(e,t=this.getFiles()){try{this.#t.validate(t,[e])}catch(r){return r}return null}validateSingleFile(e){try{this.#t.validateSingleFile(e)}catch(t){return t.message}return null}validateAggregateRestrictions(e){let t=this.getFiles();try{this.#t.validateAggregateRestrictions(t,e)}catch(r){return r.message}return null}#a(e){let{missingFields:t,error:r}=this.#t.getMissingRequiredMetaFields(e);return t.length>0?(this.setFileState(e.id,{missingRequiredMetaFields:t,error:r.message}),this.log(r.message),this.emit("restriction-failed",e,r),!1):(t.length===0&&e.missingRequiredMetaFields&&this.setFileState(e.id,{missingRequiredMetaFields:[]}),!0)}#d(e){let t=!0;for(let r of Object.values(e))this.#a(r)||(t=!1);return t}#c(e){let{allowNewUpload:t}=this.getState();if(t===!1){let r=new St(this.i18n("noMoreFilesAllowed"),{file:e});throw this.#l([r]),r}}checkIfFileAlreadyExists(e){let{files:t}=this.getState();return!!(t[e]&&!t[e].isGhost)}#h(e){let t=e instanceof File?{name:e.name,type:e.type,size:e.size,data:e}:e,r=Js(t),s=ou(r,t),n=yr(s).extension,o=Go(t,this.getID()),a=t.meta||{};a.name=s,a.type=r;let l=Number.isFinite(t.data.size)?t.data.size:null;return{source:t.source||"",id:o,name:s,extension:n||"",meta:{...this.getState().meta,...a},type:r,data:t.data,progress:{percentage:0,bytesUploaded:!1,bytesTotal:l,uploadComplete:!1,uploadStarted:null},size:l,isGhost:!1,isRemote:t.isRemote||!1,remote:t.remote,preview:t.preview}}#u(){this.opts.autoProceed&&!this.scheduledAutoProceed&&(this.scheduledAutoProceed=setTimeout(()=>{this.scheduledAutoProceed=null,this.upload().catch(e=>{e.isRestriction||this.log(e.stack||e.message||e)})},4))}#f(e){let{files:t}=this.getState(),r={...t},s=[],n=[];for(let o of e)try{let a=this.#h(o),l=t[a.id]?.isGhost;l&&(a={...t[a.id],isGhost:!1,data:o.data},this.log(`Replaced the blob in the restored ghost file: ${a.name}, ${a.id}`));let h=this.opts.onBeforeFileAdded(a,r);if(t=this.getState().files,r={...t,...r},!h&&this.checkIfFileAlreadyExists(a.id))throw new St(this.i18n("noDuplicates",{fileName:a.name??this.i18n("unnamed")}),{file:o});if(h===!1&&!l)throw new St("Cannot add the file because onBeforeFileAdded returned false.",{isUserFacing:!1,file:o});typeof h=="object"&&h!==null&&(a=h),this.#t.validateSingleFile(a),r[a.id]=a,s.push(a)}catch(a){n.push(a)}try{this.#t.validateAggregateRestrictions(Object.values(t),s)}catch(o){return n.push(o),{nextFilesState:t,validFilesToAdd:[],errors:n}}return{nextFilesState:r,validFilesToAdd:s,errors:n}}addFile(e){this.#c(e);let{nextFilesState:t,validFilesToAdd:r,errors:s}=this.#f([e]),n=s.filter(a=>a.isRestriction);if(this.#l(n),s.length>0)throw s[0];this.setState({files:t});let[o]=r;return this.emit("file-added",o),this.emit("files-added",r),this.log(`Added file: ${o.name}, ${o.id}, mime type: ${o.type}`),this.#u(),o.id}addFiles(e){this.#c();let{nextFilesState:t,validFilesToAdd:r,errors:s}=this.#f(e),n=s.filter(a=>a.isRestriction);this.#l(n);let o=s.filter(a=>!a.isRestriction);if(o.length>0){let a=`Multiple errors occurred while adding files:
|
|
88
|
+
Please report this to https://github.com/markedjs/marked.`,e){let s="<p>An error occurred:</p><pre>"+di(r.message+"",!0)+"</pre>";return t?Promise.resolve(s):s}if(t)return Promise.reject(r);throw r}}},fr=new Oc;function le(i,e){return fr.parse(i,e)}le.options=le.setOptions=function(i){return fr.setOptions(i),le.defaults=fr.defaults,ip(le.defaults),le};le.getDefaults=Rc;le.defaults=mr;le.use=function(...i){return fr.use(...i),le.defaults=fr.defaults,ip(le.defaults),le};le.walkTokens=function(i,e){return fr.walkTokens(i,e)};le.parseInline=fr.parseInline;le.Parser=ri;le.parser=ri.parse;le.Renderer=Qr;le.TextRenderer=qs;le.Lexer=ii;le.lexer=ii.lex;le.Tokenizer=Zr;le.Hooks=Yr;le.parse=le;var SA=le.options,EA=le.setOptions,TA=le.use,xA=le.walkTokens,kA=le.parseInline;var _A=ri.parse,AA=ii.lex;var Io=class extends ${static targets=["textarea"];connect(){this.easyMDE||(this.originalValue=this.element.value,this.easyMDE=new EasyMDE(this.#t()),this.element.addEventListener("turbo:before-morph-element",i=>{i.target===this.element&&this.easyMDE&&(this.storedValue=this.easyMDE.value())}),this.element.addEventListener("turbo:morph-element",i=>{i.target===this.element&&requestAnimationFrame(()=>this.#e())}))}disconnect(){if(this.easyMDE){try{this.element.isConnected&&this.element.parentNode&&this.easyMDE.toTextArea()}catch(i){console.warn("EasyMDE cleanup error:",i)}this.easyMDE=null}}#e(){this.element.isConnected&&(this.easyMDE&&(this.easyMDE=null),this.easyMDE=new EasyMDE(this.#t()),this.storedValue!==void 0&&(this.easyMDE.value(this.storedValue),this.storedValue=void 0))}#t(){let i={element:this.element,promptURLs:!0,spellChecker:!1,previewRender:e=>{let t=Xr.sanitize(e,{ALLOWED_TAGS:["strong","em","sub","sup","details","summary"],ALLOWED_ATTR:[]}),r=le(t);return Xr.sanitize(r,{USE_PROFILES:{html:!0}})}};return this.element.attributes.id.value&&(i.autosave={enabled:!0,uniqueId:this.element.attributes.id.value,delay:1e3}),i}};var Do=class extends ${static values={typeaheadUrl:String,typeaheadDebounceMs:{type:Number,default:200}};connect(){this.slimSelect||(this.#e(),this.element.addEventListener("turbo:morph-element",i=>{i.target===this.element&&!this.morphing&&(this.morphing=!0,requestAnimationFrame(()=>{this.#r(),this.morphing=!1}))}))}#e(){let i={};if(document.querySelector('[data-controller="remote-modal"]')){this.dropdownContainer=document.createElement("div"),this.dropdownContainer.className="ss-dropdown-container";let r=this.element.parentNode;getComputedStyle(r).position==="static"&&(r.style.position="relative",this.modifiedSelectWrapper=r),this.element.parentNode.insertBefore(this.dropdownContainer,this.element.nextSibling),i.contentLocation=this.dropdownContainer,i.contentPosition="absolute",i.openPosition="auto"}let t={};this.hasTypeaheadUrlValue&&this.typeaheadUrlValue&&(t.search=(r,s)=>this.#t(r,s)),this.slimSelect=new SlimSelect({select:this.element,settings:i,events:t}),this.handleDropdownPosition(),this.boundHandleDropdownOpen=this.handleDropdownOpen.bind(this),this.boundHandleDropdownClose=this.handleDropdownClose.bind(this),this.element.addEventListener("ss:open",this.boundHandleDropdownOpen),this.element.addEventListener("ss:close",this.boundHandleDropdownClose),this.setupAriaObserver()}handleDropdownPosition(){if(this.dropdownContainer){let i=()=>{let e=this.element.getBoundingClientRect(),t=window.innerHeight-e.bottom,r=e.top;t<200&&r>t?(this.dropdownContainer.style.top="auto",this.dropdownContainer.style.bottom="100%",this.dropdownContainer.style.borderRadius="0.375rem 0.375rem 0 0"):(this.dropdownContainer.style.bottom="auto",this.dropdownContainer.style.borderRadius="0 0 0.375rem 0.375rem")};setTimeout(i,0),window.addEventListener("resize",i),window.addEventListener("scroll",i),this.repositionDropdown=i}}handleDropdownOpen(){this.dropdownContainer&&(this.dropdownContainer.style.height="auto",this.dropdownContainer.style.overflow="visible",this.dropdownContainer.classList.add("ss-active"),document.querySelectorAll(".ss-dropdown-container").forEach(e=>{e!==this.dropdownContainer&&(e.style.zIndex="9999")}),this.dropdownContainer.style.zIndex="10000")}handleDropdownClose(){this.dropdownContainer&&this.dropdownContainer.classList.remove("ss-active")}setupAriaObserver(){if(this.element){this.ariaObserver=new MutationObserver(t=>{t.forEach(r=>{r.attributeName==="aria-expanded"&&(r.target.getAttribute("aria-expanded")==="true"?this.handleDropdownOpen():this.handleDropdownClose())})});let e=[this.element,this.element.parentNode.querySelector(".ss-main"),this.element.parentNode.querySelector("[aria-expanded]")].find(t=>t&&t.hasAttribute&&t.hasAttribute("aria-expanded"));e&&(this.ariaObserver.observe(e,{attributes:!0,attributeFilter:["aria-expanded"]}),e.getAttribute("aria-expanded")==="true"?this.handleDropdownOpen():this.handleDropdownClose())}}disconnect(){this.#s()}#t(i,e){return this._typeaheadDebounce&&clearTimeout(this._typeaheadDebounce),this._typeaheadAbort&&this._typeaheadAbort.abort(),new Promise(t=>{this._typeaheadDebounce=setTimeout(()=>{this._typeaheadAbort=new AbortController,this.#i(i,this._typeaheadAbort.signal).then(t)},this.typeaheadDebounceMsValue)})}async#i(i,e){let t=new URL(this.typeaheadUrlValue,window.location.origin);t.searchParams.set("q",i||"");try{let r=await fetch(t.toString(),{headers:{Accept:"application/json"},signal:e});if(!r.ok)return"Search failed";let s=await r.json();return(Array.isArray(s.results)?s.results:[]).map(o=>({value:String(o.value??""),text:String(o.label??"")}))}catch(r){return r.name==="AbortError"?[]:(console.warn("[slim-select] typeahead error",r),"Search failed")}}#r(){this.element.isConnected&&(this.#s(),this.#e())}#s(){this.element&&(this.boundHandleDropdownOpen&&this.element.removeEventListener("ss:open",this.boundHandleDropdownOpen),this.boundHandleDropdownClose&&this.element.removeEventListener("ss:close",this.boundHandleDropdownClose)),this.ariaObserver&&(this.ariaObserver.disconnect(),this.ariaObserver=null),this.slimSelect&&(this.slimSelect.destroy(),this.slimSelect=null),this.repositionDropdown&&(window.removeEventListener("resize",this.repositionDropdown),window.removeEventListener("scroll",this.repositionDropdown),this.repositionDropdown=null),this.dropdownContainer&&this.dropdownContainer.parentNode&&(this.dropdownContainer.parentNode.removeChild(this.dropdownContainer),this.dropdownContainer=null),this.modifiedSelectWrapper&&(this.modifiedSelectWrapper.style.position="",this.modifiedSelectWrapper=null)}};var No=class extends ${connect(){this.picker||(this.modal=document.querySelector("[data-controller=remote-modal]"),this.picker=new flatpickr(this.element,this.#t()),this.element.addEventListener("turbo:morph-element",i=>{i.target===this.element&&!this.morphing&&(this.morphing=!0,requestAnimationFrame(()=>{this.#e(),this.morphing=!1}))}))}disconnect(){this.picker&&(this.picker.destroy(),this.picker=null)}#e(){this.element.isConnected&&(this.picker&&(this.picker.destroy(),this.picker=null),this.modal=document.querySelector("[data-controller=remote-modal]"),this.picker=new flatpickr(this.element,this.#t()))}#t(){let i={altInput:!0};return this.element.attributes.type.value=="datetime-local"?i.enableTime=!0:this.element.attributes.type.value=="time"&&(i.enableTime=!0,i.noCalendar=!0),this.modal&&(i.appendTo=this.modal,i.position=e=>{let r=(e.altInput||e.input).getBoundingClientRect(),s=this.modal.getBoundingClientRect(),n=e.calendarContainer,o=n.offsetHeight,l=window.innerHeight-r.bottom<o&&r.top>o,h=l?r.top-s.top-o-2:r.bottom-s.top+2;n.style.top=`${h}px`,n.style.left=`${r.left-s.left}px`,n.style.right="auto",n.classList.toggle("arrowTop",!l),n.classList.toggle("arrowBottom",l)}),i}};var Bo=class extends ${static targets=["input"];connect(){}disconnect(){this.inputTargetDisconnected()}inputTargetConnected(){!this.hasInputTarget||this.iti||(this.iti=window.intlTelInput(this.inputTarget,this.#t()),this.element.addEventListener("turbo:morph-element",i=>{i.target===this.element&&!this.morphing&&(this.morphing=!0,requestAnimationFrame(()=>{this.#e(),this.morphing=!1}))}))}inputTargetDisconnected(){this.iti&&(this.iti.destroy(),this.iti=null)}#e(){!this.inputTarget||!this.inputTarget.isConnected||(this.iti&&(this.iti.destroy(),this.iti=null),this.iti=window.intlTelInput(this.inputTarget,this.#t()))}#t(){return{strictMode:!0,hiddenInput:()=>({phone:this.inputTarget.attributes.name.value}),loadUtilsOnInit:"https://cdn.jsdelivr.net/npm/intl-tel-input@24.8.1/build/js/utils.js"}}};var Uo=class extends ${static targets=["select"];navigate(i){let e=this.selectTarget.value,t=document.createElement("a");t.href=e,this.element.appendChild(t),t.click(),t.remove()}};var zo=class extends ${static targets=["btn","tab"];static values={defaultTab:String,activeClasses:String,inActiveClasses:String};connect(){this.activeClasses=this.hasActiveClassesValue?this.activeClassesValue.split(" "):[],this.inActiveClasses=this.hasInActiveClassesValue?this.inActiveClassesValue.split(" "):[];let e=this.#t()||this.defaultTabValue||this.btnTargets[0]?.id;this.#e(e,{skipFocus:!0,skipHashUpdate:!0}),this._syncFromHash=this._syncFromHash.bind(this),window.addEventListener("hashchange",this._syncFromHash),document.addEventListener("turbo:load",this._syncFromHash)}disconnect(){this._syncFromHash&&(window.removeEventListener("hashchange",this._syncFromHash),document.removeEventListener("turbo:load",this._syncFromHash))}_syncFromHash(){let i=this.#t();i&&this.#e(i,{skipFocus:!0,skipHashUpdate:!0})}select(i){this.#e(i.currentTarget.id)}#e(i,e={}){let t=this.btnTargets.find(s=>s.id===i);if(!t){console.error(`Tab Button with id "${i}" not found`);return}let r=this.tabTargets.find(s=>s.id===t.dataset.target);if(!r){console.error(`Tab Panel with id "${t.dataset.target}" not found`);return}this.tabTargets.forEach(s=>{s.hidden=!0,s.setAttribute("aria-hidden","true")}),this.btnTargets.forEach(s=>{s.setAttribute("aria-selected","false"),s.setAttribute("tabindex","-1"),s.classList.remove(...this.activeClasses),s.classList.add(...this.inActiveClasses)}),t.setAttribute("aria-selected","true"),t.setAttribute("tabindex","0"),t.classList.remove(...this.inActiveClasses),t.classList.add(...this.activeClasses),r.hidden=!1,r.setAttribute("aria-hidden","false"),e.skipHashUpdate||this.#i(i),!e.skipFocus&&t!==document.activeElement&&t.focus()}#t(){let i=window.location.hash.replace(/^#/,"");if(!i)return null;let e=`${i}-tab`;return this.btnTargets.some(r=>r.id===e)?e:null}#i(i){let t=`#${i.replace(/-tab$/,"")}`;window.location.hash!==t&&history.replaceState(null,"",t)}};function sw(i,e,t){let r=[];return i.forEach(s=>typeof s!="string"?r.push(s):e[Symbol.split](s).forEach((n,o,a)=>{n!==""&&r.push(n),o<a.length-1&&r.push(t)})),r}function pp(i,e){let t=/\$/g,r="$$$$",s=[i];if(e==null)return s;for(let n of Object.keys(e))if(n!=="_"){let o=e[n];typeof o=="string"&&(o=t[Symbol.replace](o,r)),s=sw(s,new RegExp(`%\\{${n}\\}`,"g"),o)}return s}var nw=i=>{throw new Error(`missing string: ${i}`)},gr=class{locale;constructor(e,{onMissingKey:t=nw}={}){this.locale={strings:{},pluralize(r){return r===1?0:1}},Array.isArray(e)?e.forEach(this.#t,this):this.#t(e),this.#e=t}#e;#t(e){if(!e?.strings)return;let t=this.locale;Object.assign(this.locale,{strings:{...t.strings,...e.strings},pluralize:e.pluralize||t.pluralize})}translate(e,t){return this.translateArray(e,t).join("")}translateArray(e,t){let r=this.locale.strings[e];if(r==null&&(this.#e(e),r=e),typeof r=="object"){if(t&&typeof t.smart_count<"u"){let n=this.locale.pluralize(t.smart_count);return pp(r[n],t)}throw new Error("Attempted to use a string with plural forms, but no value was given for %{smart_count}")}if(typeof r!="string")throw new Error("string was not a string");return pp(r,t)}};var ji=class{uppy;opts;id;defaultLocale;i18n;i18nArray;type;VERSION;constructor(e,t){this.uppy=e,this.opts=t??{}}getPluginState(){let{plugins:e}=this.uppy.getState();return e?.[this.id]||{}}setPluginState(e){let{plugins:t}=this.uppy.getState();this.uppy.setState({plugins:{...t,[this.id]:{...t[this.id],...e}}})}setOptions(e){this.opts={...this.opts,...e},this.setPluginState(void 0),this.i18nInit()}i18nInit(){let e=new gr([this.defaultLocale,this.uppy.locale,this.opts.locale]);this.i18n=e.translate.bind(e),this.i18nArray=e.translateArray.bind(e),this.setPluginState(void 0)}addTarget(e){throw new Error("Extend the addTarget method to add your plugin to another plugin's target")}install(){}uninstall(){}update(e){}afterUpdate(){}};function zc(i){return i<10?`0${i}`:i.toString()}function Jr(){let i=new Date,e=zc(i.getHours()),t=zc(i.getMinutes()),r=zc(i.getSeconds());return`${e}:${t}:${r}`}var fp={debug:()=>{},warn:()=>{},error:(...i)=>console.error(`[Uppy] [${Jr()}]`,...i)},mp={debug:(...i)=>console.debug(`[Uppy] [${Jr()}]`,...i),warn:(...i)=>console.warn(`[Uppy] [${Jr()}]`,...i),error:(...i)=>console.error(`[Uppy] [${Jr()}]`,...i)};function Vs(i){return typeof i!="object"||i===null||!("nodeType"in i)?!1:i.nodeType===Node.ELEMENT_NODE}function ow(i,e=document){return typeof i=="string"?e.querySelector(i):Vs(i)?i:null}var gp=ow;function aw(i){for(;i&&!i.dir;)i=i.parentNode;return i?.dir}var Ho=aw;var Ks,X,Sp,lw,br,bp,Ep,Tp,xp,$c,Hc,jc,cw,Gs={},kp=[],uw=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Xs=Array.isArray;function pi(i,e){for(var t in e)i[t]=e[t];return i}function Vc(i){i&&i.parentNode&&i.parentNode.removeChild(i)}function ki(i,e,t){var r,s,n,o={};for(n in e)n=="key"?r=e[n]:n=="ref"?s=e[n]:o[n]=e[n];if(arguments.length>2&&(o.children=arguments.length>3?Ks.call(arguments,2):t),typeof i=="function"&&i.defaultProps!=null)for(n in i.defaultProps)o[n]===void 0&&(o[n]=i.defaultProps[n]);return Ws(i,o,r,s,null)}function Ws(i,e,t,r,s){var n={type:i,props:e,key:t,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:s??++Sp,__i:-1,__u:0};return s==null&&X.vnode!=null&&X.vnode(n),n}function $o(){return{current:null}}function _e(i){return i.children}function we(i,e){this.props=i,this.context=e}function es(i,e){if(e==null)return i.__?es(i.__,i.__i+1):null;for(var t;e<i.__k.length;e++)if((t=i.__k[e])!=null&&t.__e!=null)return t.__e;return typeof i.type=="function"?es(i):null}function _p(i){var e,t;if((i=i.__)!=null&&i.__c!=null){for(i.__e=i.__c.base=null,e=0;e<i.__k.length;e++)if((t=i.__k[e])!=null&&t.__e!=null){i.__e=i.__c.base=t.__e;break}return _p(i)}}function yp(i){(!i.__d&&(i.__d=!0)&&br.push(i)&&!qo.__r++||bp!=X.debounceRendering)&&((bp=X.debounceRendering)||Ep)(qo)}function qo(){for(var i,e,t,r,s,n,o,a=1;br.length;)br.length>a&&br.sort(Tp),i=br.shift(),a=br.length,i.__d&&(t=void 0,r=void 0,s=(r=(e=i).__v).__e,n=[],o=[],e.__P&&((t=pi({},r)).__v=r.__v+1,X.vnode&&X.vnode(t),Wc(e.__P,t,r,e.__n,e.__P.namespaceURI,32&r.__u?[s]:null,n,s??es(r),!!(32&r.__u),o),t.__v=r.__v,t.__.__k[t.__i]=t,Fp(n,t,o),r.__e=r.__=null,t.__e!=s&&_p(t)));qo.__r=0}function Ap(i,e,t,r,s,n,o,a,l,h,f){var m,w,y,k,C,O,R,_=r&&r.__k||kp,F=e.length;for(l=hw(t,e,_,l,F),m=0;m<F;m++)(y=t.__k[m])!=null&&(w=y.__i==-1?Gs:_[y.__i]||Gs,y.__i=m,O=Wc(i,y,w,s,n,o,a,l,h,f),k=y.__e,y.ref&&w.ref!=y.ref&&(w.ref&&Gc(w.ref,null,y),f.push(y.ref,y.__c||k,y)),C==null&&k!=null&&(C=k),(R=!!(4&y.__u))||w.__k===y.__k?l=Cp(y,l,i,R):typeof y.type=="function"&&O!==void 0?l=O:k&&(l=k.nextSibling),y.__u&=-7);return t.__e=C,l}function hw(i,e,t,r,s){var n,o,a,l,h,f=t.length,m=f,w=0;for(i.__k=new Array(s),n=0;n<s;n++)(o=e[n])!=null&&typeof o!="boolean"&&typeof o!="function"?(typeof o=="string"||typeof o=="number"||typeof o=="bigint"||o.constructor==String?o=i.__k[n]=Ws(null,o,null,null,null):Xs(o)?o=i.__k[n]=Ws(_e,{children:o},null,null,null):o.constructor===void 0&&o.__b>0?o=i.__k[n]=Ws(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):i.__k[n]=o,l=n+w,o.__=i,o.__b=i.__b+1,a=null,(h=o.__i=dw(o,t,l,m))!=-1&&(m--,(a=t[h])&&(a.__u|=2)),a==null||a.__v==null?(h==-1&&(s>f?w--:s<f&&w++),typeof o.type!="function"&&(o.__u|=4)):h!=l&&(h==l-1?w--:h==l+1?w++:(h>l?w--:w++,o.__u|=4))):i.__k[n]=null;if(m)for(n=0;n<f;n++)(a=t[n])!=null&&(2&a.__u)==0&&(a.__e==r&&(r=es(a)),Op(a,a));return r}function Cp(i,e,t,r){var s,n;if(typeof i.type=="function"){for(s=i.__k,n=0;s&&n<s.length;n++)s[n]&&(s[n].__=i,e=Cp(s[n],e,t,r));return e}i.__e!=e&&(r&&(e&&i.type&&!e.parentNode&&(e=es(i)),t.insertBefore(i.__e,e||null)),e=i.__e);do e=e&&e.nextSibling;while(e!=null&&e.nodeType==8);return e}function wt(i,e){return e=e||[],i==null||typeof i=="boolean"||(Xs(i)?i.some(function(t){wt(t,e)}):e.push(i)),e}function dw(i,e,t,r){var s,n,o,a=i.key,l=i.type,h=e[t],f=h!=null&&(2&h.__u)==0;if(h===null&&a==null||f&&a==h.key&&l==h.type)return t;if(r>(f?1:0)){for(s=t-1,n=t+1;s>=0||n<e.length;)if((h=e[o=s>=0?s--:n++])!=null&&(2&h.__u)==0&&a==h.key&&l==h.type)return o}return-1}function vp(i,e,t){e[0]=="-"?i.setProperty(e,t??""):i[e]=t==null?"":typeof t!="number"||uw.test(e)?t:t+"px"}function jo(i,e,t,r,s){var n,o;e:if(e=="style")if(typeof t=="string")i.style.cssText=t;else{if(typeof r=="string"&&(i.style.cssText=r=""),r)for(e in r)t&&e in t||vp(i.style,e,"");if(t)for(e in t)r&&t[e]==r[e]||vp(i.style,e,t[e])}else if(e[0]=="o"&&e[1]=="n")n=e!=(e=e.replace(xp,"$1")),o=e.toLowerCase(),e=o in i||e=="onFocusOut"||e=="onFocusIn"?o.slice(2):e.slice(2),i.l||(i.l={}),i.l[e+n]=t,t?r?t.u=r.u:(t.u=$c,i.addEventListener(e,n?jc:Hc,n)):i.removeEventListener(e,n?jc:Hc,n);else{if(s=="http://www.w3.org/2000/svg")e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!="width"&&e!="height"&&e!="href"&&e!="list"&&e!="form"&&e!="tabIndex"&&e!="download"&&e!="rowSpan"&&e!="colSpan"&&e!="role"&&e!="popover"&&e in i)try{i[e]=t??"";break e}catch{}typeof t=="function"||(t==null||t===!1&&e[4]!="-"?i.removeAttribute(e):i.setAttribute(e,e=="popover"&&t==1?"":t))}}function wp(i){return function(e){if(this.l){var t=this.l[e.type+i];if(e.t==null)e.t=$c++;else if(e.t<t.u)return;return t(X.event?X.event(e):e)}}}function Wc(i,e,t,r,s,n,o,a,l,h){var f,m,w,y,k,C,O,R,_,F,x,S,A,P,N,z,q,V=e.type;if(e.constructor!==void 0)return null;128&t.__u&&(l=!!(32&t.__u),n=[a=e.__e=t.__e]),(f=X.__b)&&f(e);e:if(typeof V=="function")try{if(R=e.props,_="prototype"in V&&V.prototype.render,F=(f=V.contextType)&&r[f.__c],x=f?F?F.props.value:f.__:r,t.__c?O=(m=e.__c=t.__c).__=m.__E:(_?e.__c=m=new V(R,x):(e.__c=m=new we(R,x),m.constructor=V,m.render=fw),F&&F.sub(m),m.state||(m.state={}),m.__n=r,w=m.__d=!0,m.__h=[],m._sb=[]),_&&m.__s==null&&(m.__s=m.state),_&&V.getDerivedStateFromProps!=null&&(m.__s==m.state&&(m.__s=pi({},m.__s)),pi(m.__s,V.getDerivedStateFromProps(R,m.__s))),y=m.props,k=m.state,m.__v=e,w)_&&V.getDerivedStateFromProps==null&&m.componentWillMount!=null&&m.componentWillMount(),_&&m.componentDidMount!=null&&m.__h.push(m.componentDidMount);else{if(_&&V.getDerivedStateFromProps==null&&R!==y&&m.componentWillReceiveProps!=null&&m.componentWillReceiveProps(R,x),e.__v==t.__v||!m.__e&&m.shouldComponentUpdate!=null&&m.shouldComponentUpdate(R,m.__s,x)===!1){for(e.__v!=t.__v&&(m.props=R,m.state=m.__s,m.__d=!1),e.__e=t.__e,e.__k=t.__k,e.__k.some(function(Z){Z&&(Z.__=e)}),S=0;S<m._sb.length;S++)m.__h.push(m._sb[S]);m._sb=[],m.__h.length&&o.push(m);break e}m.componentWillUpdate!=null&&m.componentWillUpdate(R,m.__s,x),_&&m.componentDidUpdate!=null&&m.__h.push(function(){m.componentDidUpdate(y,k,C)})}if(m.context=x,m.props=R,m.__P=i,m.__e=!1,A=X.__r,P=0,_){for(m.state=m.__s,m.__d=!1,A&&A(e),f=m.render(m.props,m.state,m.context),N=0;N<m._sb.length;N++)m.__h.push(m._sb[N]);m._sb=[]}else do m.__d=!1,A&&A(e),f=m.render(m.props,m.state,m.context),m.state=m.__s;while(m.__d&&++P<25);m.state=m.__s,m.getChildContext!=null&&(r=pi(pi({},r),m.getChildContext())),_&&!w&&m.getSnapshotBeforeUpdate!=null&&(C=m.getSnapshotBeforeUpdate(y,k)),z=f,f!=null&&f.type===_e&&f.key==null&&(z=Pp(f.props.children)),a=Ap(i,Xs(z)?z:[z],e,t,r,s,n,o,a,l,h),m.base=e.__e,e.__u&=-161,m.__h.length&&o.push(m),O&&(m.__E=m.__=null)}catch(Z){if(e.__v=null,l||n!=null)if(Z.then){for(e.__u|=l?160:128;a&&a.nodeType==8&&a.nextSibling;)a=a.nextSibling;n[n.indexOf(a)]=null,e.__e=a}else{for(q=n.length;q--;)Vc(n[q]);qc(e)}else e.__e=t.__e,e.__k=t.__k,Z.then||qc(e);X.__e(Z,e,t)}else n==null&&e.__v==t.__v?(e.__k=t.__k,e.__e=t.__e):a=e.__e=pw(t.__e,e,t,r,s,n,o,l,h);return(f=X.diffed)&&f(e),128&e.__u?void 0:a}function qc(i){i&&i.__c&&(i.__c.__e=!0),i&&i.__k&&i.__k.forEach(qc)}function Fp(i,e,t){for(var r=0;r<t.length;r++)Gc(t[r],t[++r],t[++r]);X.__c&&X.__c(e,i),i.some(function(s){try{i=s.__h,s.__h=[],i.some(function(n){n.call(s)})}catch(n){X.__e(n,s.__v)}})}function Pp(i){return typeof i!="object"||i==null||i.__b&&i.__b>0?i:Xs(i)?i.map(Pp):pi({},i)}function pw(i,e,t,r,s,n,o,a,l){var h,f,m,w,y,k,C,O=t.props||Gs,R=e.props,_=e.type;if(_=="svg"?s="http://www.w3.org/2000/svg":_=="math"?s="http://www.w3.org/1998/Math/MathML":s||(s="http://www.w3.org/1999/xhtml"),n!=null){for(h=0;h<n.length;h++)if((y=n[h])&&"setAttribute"in y==!!_&&(_?y.localName==_:y.nodeType==3)){i=y,n[h]=null;break}}if(i==null){if(_==null)return document.createTextNode(R);i=document.createElementNS(s,_,R.is&&R),a&&(X.__m&&X.__m(e,n),a=!1),n=null}if(_==null)O===R||a&&i.data==R||(i.data=R);else{if(n=n&&Ks.call(i.childNodes),!a&&n!=null)for(O={},h=0;h<i.attributes.length;h++)O[(y=i.attributes[h]).name]=y.value;for(h in O)if(y=O[h],h!="children"){if(h=="dangerouslySetInnerHTML")m=y;else if(!(h in R)){if(h=="value"&&"defaultValue"in R||h=="checked"&&"defaultChecked"in R)continue;jo(i,h,null,y,s)}}for(h in R)y=R[h],h=="children"?w=y:h=="dangerouslySetInnerHTML"?f=y:h=="value"?k=y:h=="checked"?C=y:a&&typeof y!="function"||O[h]===y||jo(i,h,y,O[h],s);if(f)a||m&&(f.__html==m.__html||f.__html==i.innerHTML)||(i.innerHTML=f.__html),e.__k=[];else if(m&&(i.innerHTML=""),Ap(e.type=="template"?i.content:i,Xs(w)?w:[w],e,t,r,_=="foreignObject"?"http://www.w3.org/1999/xhtml":s,n,o,n?n[0]:t.__k&&es(t,0),a,l),n!=null)for(h=n.length;h--;)Vc(n[h]);a||(h="value",_=="progress"&&k==null?i.removeAttribute("value"):k!=null&&(k!==i[h]||_=="progress"&&!k||_=="option"&&k!=O[h])&&jo(i,h,k,O[h],s),h="checked",C!=null&&C!=i[h]&&jo(i,h,C,O[h],s))}return i}function Gc(i,e,t){try{if(typeof i=="function"){var r=typeof i.__u=="function";r&&i.__u(),r&&e==null||(i.__u=i(e))}else i.current=e}catch(s){X.__e(s,t)}}function Op(i,e,t){var r,s;if(X.unmount&&X.unmount(i),(r=i.ref)&&(r.current&&r.current!=i.__e||Gc(r,null,e)),(r=i.__c)!=null){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(n){X.__e(n,e)}r.base=r.__P=null}if(r=i.__k)for(s=0;s<r.length;s++)r[s]&&Op(r[s],e,t||typeof i.type!="function");t||Vc(i.__e),i.__c=i.__=i.__e=void 0}function fw(i,e,t){return this.constructor(i,t)}function Rp(i,e,t){var r,s,n,o;e==document&&(e=document.documentElement),X.__&&X.__(i,e),s=(r=typeof t=="function")?null:t&&t.__k||e.__k,n=[],o=[],Wc(e,i=(!r&&t||e).__k=ki(_e,null,[i]),s||Gs,Gs,e.namespaceURI,!r&&t?[t]:s?null:e.firstChild?Ks.call(e.childNodes):null,n,!r&&t?t:s?s.__e:e.firstChild,r,o),Fp(n,i,o)}function Ys(i,e,t){var r,s,n,o,a=pi({},i.props);for(n in i.type&&i.type.defaultProps&&(o=i.type.defaultProps),e)n=="key"?r=e[n]:n=="ref"?s=e[n]:a[n]=e[n]===void 0&&o!=null?o[n]:e[n];return arguments.length>2&&(a.children=arguments.length>3?Ks.call(arguments,2):t),Ws(i.type,a,r||i.key,s||i.ref,null)}Ks=kp.slice,X={__e:function(i,e,t,r){for(var s,n,o;e=e.__;)if((s=e.__c)&&!s.__)try{if((n=s.constructor)&&n.getDerivedStateFromError!=null&&(s.setState(n.getDerivedStateFromError(i)),o=s.__d),s.componentDidCatch!=null&&(s.componentDidCatch(i,r||{}),o=s.__d),o)return s.__E=s}catch(a){i=a}throw i}},Sp=0,lw=function(i){return i!=null&&i.constructor===void 0},we.prototype.setState=function(i,e){var t;t=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=pi({},this.state),typeof i=="function"&&(i=i(pi({},t),this.props)),i&&pi(t,i),i!=null&&this.__v&&(e&&this._sb.push(e),yp(this))},we.prototype.forceUpdate=function(i){this.__v&&(this.__e=!0,i&&this.__h.push(i),yp(this))},we.prototype.render=_e,br=[],Ep=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Tp=function(i,e){return i.__v.__b-e.__v.__b},qo.__r=0,xp=/(PointerCapture)$|Capture$/i,$c=0,Hc=wp(!1),jc=wp(!0),cw=0;var Zs,Pe,Kc,Lp,Qs=0,Hp=[],Ne=X,Mp=Ne.__b,Ip=Ne.__r,Dp=Ne.diffed,Np=Ne.__c,Bp=Ne.unmount,Up=Ne.__;function Yc(i,e){Ne.__h&&Ne.__h(Pe,i,Qs||e),Qs=0;var t=Pe.__H||(Pe.__H={__:[],__h:[]});return i>=t.__.length&&t.__.push({}),t.__[i]}function Kt(i){return Qs=1,jp($p,i)}function jp(i,e,t){var r=Yc(Zs++,2);if(r.t=i,!r.__c&&(r.__=[t?t(e):$p(void 0,e),function(a){var l=r.__N?r.__N[0]:r.__[0],h=r.t(l,a);l!==h&&(r.__N=[h,r.__[1]],r.__c.setState({}))}],r.__c=Pe,!Pe.__f)){var s=function(a,l,h){if(!r.__c.__H)return!0;var f=r.__c.__H.__.filter(function(w){return!!w.__c});if(f.every(function(w){return!w.__N}))return!n||n.call(this,a,l,h);var m=r.__c.props!==a;return f.forEach(function(w){if(w.__N){var y=w.__[0];w.__=w.__N,w.__N=void 0,y!==w.__[0]&&(m=!0)}}),n&&n.call(this,a,l,h)||m};Pe.__f=!0;var n=Pe.shouldComponentUpdate,o=Pe.componentWillUpdate;Pe.componentWillUpdate=function(a,l,h){if(this.__e){var f=n;n=void 0,s(a,l,h),n=f}o&&o.call(this,a,l,h)},Pe.shouldComponentUpdate=s}return r.__N||r.__}function si(i,e){var t=Yc(Zs++,3);!Ne.__s&&qp(t.__H,e)&&(t.__=i,t.u=e,Pe.__H.__h.push(t))}function qi(i){return Qs=5,$i(function(){return{current:i}},[])}function $i(i,e){var t=Yc(Zs++,7);return qp(t.__H,e)&&(t.__=i(),t.__H=e,t.__h=i),t.__}function Vi(i,e){return Qs=8,$i(function(){return i},e)}function mw(){for(var i;i=Hp.shift();)if(i.__P&&i.__H)try{i.__H.__h.forEach(Vo),i.__H.__h.forEach(Xc),i.__H.__h=[]}catch(e){i.__H.__h=[],Ne.__e(e,i.__v)}}Ne.__b=function(i){Pe=null,Mp&&Mp(i)},Ne.__=function(i,e){i&&e.__k&&e.__k.__m&&(i.__m=e.__k.__m),Up&&Up(i,e)},Ne.__r=function(i){Ip&&Ip(i),Zs=0;var e=(Pe=i.__c).__H;e&&(Kc===Pe?(e.__h=[],Pe.__h=[],e.__.forEach(function(t){t.__N&&(t.__=t.__N),t.u=t.__N=void 0})):(e.__h.forEach(Vo),e.__h.forEach(Xc),e.__h=[],Zs=0)),Kc=Pe},Ne.diffed=function(i){Dp&&Dp(i);var e=i.__c;e&&e.__H&&(e.__H.__h.length&&(Hp.push(e)!==1&&Lp===Ne.requestAnimationFrame||((Lp=Ne.requestAnimationFrame)||gw)(mw)),e.__H.__.forEach(function(t){t.u&&(t.__H=t.u),t.u=void 0})),Kc=Pe=null},Ne.__c=function(i,e){e.some(function(t){try{t.__h.forEach(Vo),t.__h=t.__h.filter(function(r){return!r.__||Xc(r)})}catch(r){e.some(function(s){s.__h&&(s.__h=[])}),e=[],Ne.__e(r,t.__v)}}),Np&&Np(i,e)},Ne.unmount=function(i){Bp&&Bp(i);var e,t=i.__c;t&&t.__H&&(t.__H.__.forEach(function(r){try{Vo(r)}catch(s){e=s}}),t.__H=void 0,e&&Ne.__e(e,t.__v))};var zp=typeof requestAnimationFrame=="function";function gw(i){var e,t=function(){clearTimeout(r),zp&&cancelAnimationFrame(e),setTimeout(i)},r=setTimeout(t,35);zp&&(e=requestAnimationFrame(t))}function Vo(i){var e=Pe,t=i.__c;typeof t=="function"&&(i.__c=void 0,t()),Pe=e}function Xc(i){var e=Pe;i.__c=i.__(),Pe=e}function qp(i,e){return!i||i.length!==e.length||e.some(function(t,r){return t!==i[r]})}function $p(i,e){return typeof e=="function"?e(i):e}function yw(i,e){for(var t in e)i[t]=e[t];return i}function Vp(i,e){for(var t in i)if(t!=="__source"&&!(t in e))return!0;for(var r in e)if(r!=="__source"&&i[r]!==e[r])return!0;return!1}function Wp(i,e){this.props=i,this.context=e}(Wp.prototype=new we).isPureReactComponent=!0,Wp.prototype.shouldComponentUpdate=function(i,e){return Vp(this.props,i)||Vp(this.state,e)};var Gp=X.__b;X.__b=function(i){i.type&&i.type.__f&&i.ref&&(i.props.ref=i.ref,i.ref=null),Gp&&Gp(i)};var gC=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;var vw=X.__e;X.__e=function(i,e,t,r){if(i.then){for(var s,n=e;n=n.__;)if((s=n.__c)&&s.__c)return e.__e==null&&(e.__e=t.__e,e.__k=t.__k),s.__c(i,e)}vw(i,e,t,r)};var Kp=X.unmount;function ef(i,e,t){return i&&(i.__c&&i.__c.__H&&(i.__c.__H.__.forEach(function(r){typeof r.__c=="function"&&r.__c()}),i.__c.__H=null),(i=yw({},i)).__c!=null&&(i.__c.__P===t&&(i.__c.__P=e),i.__c.__e=!0,i.__c=null),i.__k=i.__k&&i.__k.map(function(r){return ef(r,e,t)})),i}function tf(i,e,t){return i&&t&&(i.__v=null,i.__k=i.__k&&i.__k.map(function(r){return tf(r,e,t)}),i.__c&&i.__c.__P===e&&(i.__e&&t.appendChild(i.__e),i.__c.__e=!0,i.__c.__P=t)),i}function Zc(){this.__u=0,this.o=null,this.__b=null}function rf(i){var e=i.__.__c;return e&&e.__a&&e.__a(i)}function Wo(){this.i=null,this.l=null}X.unmount=function(i){var e=i.__c;e&&e.__R&&e.__R(),e&&32&i.__u&&(i.type=null),Kp&&Kp(i)},(Zc.prototype=new we).__c=function(i,e){var t=e.__c,r=this;r.o==null&&(r.o=[]),r.o.push(t);var s=rf(r.__v),n=!1,o=function(){n||(n=!0,t.__R=null,s?s(a):a())};t.__R=o;var a=function(){if(!--r.__u){if(r.state.__a){var l=r.state.__a;r.__v.__k[0]=tf(l,l.__c.__P,l.__c.__O)}var h;for(r.setState({__a:r.__b=null});h=r.o.pop();)h.forceUpdate()}};r.__u++||32&e.__u||r.setState({__a:r.__b=r.__v.__k[0]}),i.then(o,o)},Zc.prototype.componentWillUnmount=function(){this.o=[]},Zc.prototype.render=function(i,e){if(this.__b){if(this.__v.__k){var t=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=ef(this.__b,t,r.__O=r.__P)}this.__b=null}var s=e.__a&&ki(_e,null,i.fallback);return s&&(s.__u&=-33),[ki(_e,null,e.__a?null:i.children),s]};var Xp=function(i,e,t){if(++t[1]===t[0]&&i.l.delete(e),i.props.revealOrder&&(i.props.revealOrder[0]!=="t"||!i.l.size))for(t=i.i;t;){for(;t.length>3;)t.pop()();if(t[1]<t[0])break;i.i=t=t[2]}};(Wo.prototype=new we).__a=function(i){var e=this,t=rf(e.__v),r=e.l.get(i);return r[0]++,function(s){var n=function(){e.props.revealOrder?(r.push(s),Xp(e,i,r)):s()};t?t(n):n()}},Wo.prototype.render=function(i){this.i=null,this.l=new Map;var e=wt(i.children);i.revealOrder&&i.revealOrder[0]==="b"&&e.reverse();for(var t=e.length;t--;)this.l.set(e[t],this.i=[1,0,this.i]);return i.children},Wo.prototype.componentDidUpdate=Wo.prototype.componentDidMount=function(){var i=this;this.l.forEach(function(e,t){Xp(i,t,e)})};var ww=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,Sw=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Ew=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Tw=/[A-Z0-9]/g,xw=typeof document<"u",kw=function(i){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/:/fil|che|ra/).test(i)};function Qc(i,e,t){return e.__k==null&&(e.textContent=""),Rp(i,e),typeof t=="function"&&t(),i?i.__c:null}we.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(i){Object.defineProperty(we.prototype,i,{configurable:!0,get:function(){return this["UNSAFE_"+i]},set:function(e){Object.defineProperty(this,i,{configurable:!0,writable:!0,value:e})}})});var Yp=X.event;function _w(){}function Aw(){return this.cancelBubble}function Cw(){return this.defaultPrevented}X.event=function(i){return Yp&&(i=Yp(i)),i.persist=_w,i.isPropagationStopped=Aw,i.isDefaultPrevented=Cw,i.nativeEvent=i};var sf,Fw={enumerable:!1,configurable:!0,get:function(){return this.class}},Zp=X.vnode;X.vnode=function(i){typeof i.type=="string"&&(function(e){var t=e.props,r=e.type,s={},n=r.indexOf("-")===-1;for(var o in t){var a=t[o];if(!(o==="value"&&"defaultValue"in t&&a==null||xw&&o==="children"&&r==="noscript"||o==="class"||o==="className")){var l=o.toLowerCase();o==="defaultValue"&&"value"in t&&t.value==null?o="value":o==="download"&&a===!0?a="":l==="translate"&&a==="no"?a=!1:l[0]==="o"&&l[1]==="n"?l==="ondoubleclick"?o="ondblclick":l!=="onchange"||r!=="input"&&r!=="textarea"||kw(t.type)?l==="onfocus"?o="onfocusin":l==="onblur"?o="onfocusout":Ew.test(o)&&(o=l):l=o="oninput":n&&Sw.test(o)?o=o.replace(Tw,"-$&").toLowerCase():a===null&&(a=void 0),l==="oninput"&&s[o=l]&&(o="oninputCapture"),s[o]=a}}r=="select"&&s.multiple&&Array.isArray(s.value)&&(s.value=wt(t.children).forEach(function(h){h.props.selected=s.value.indexOf(h.props.value)!=-1})),r=="select"&&s.defaultValue!=null&&(s.value=wt(t.children).forEach(function(h){h.props.selected=s.multiple?s.defaultValue.indexOf(h.props.value)!=-1:s.defaultValue==h.props.value})),t.class&&!t.className?(s.class=t.class,Object.defineProperty(s,"className",Fw)):(t.className&&!t.class||t.class&&t.className)&&(s.class=s.className=t.className),e.props=s})(i),i.$$typeof=ww,Zp&&Zp(i)};var Qp=X.__r;X.__r=function(i){Qp&&Qp(i),sf=i.__c};var Jp=X.diffed;X.diffed=function(i){Jp&&Jp(i);var e=i.props,t=i.__e;t!=null&&i.type==="textarea"&&"value"in e&&e.value!==t.value&&(t.value=e.value==null?"":e.value),sf=null};function Pw(i){let e=null,t;return(...r)=>(t=r,e||(e=Promise.resolve().then(()=>(e=null,i(...t)))),e)}var Jc=class i extends ji{#e;isTargetDOMEl;el;parent;title;getTargetPlugin(e){let t;if(typeof e?.addTarget=="function")t=e,t instanceof i||console.warn(new Error("The provided plugin is not an instance of UIPlugin. This is an indication of a bug with the way Uppy is bundled.",{cause:{targetPlugin:t,UIPlugin:i}}));else if(typeof e=="function"){let r=e;this.uppy.iteratePlugins(s=>{s instanceof r&&(t=s)})}return t}mount(e,t){let r=t.id,s=gp(e);if(s){this.isTargetDOMEl=!0;let a=document.createElement("div");return a.classList.add("uppy-Root"),this.#e=Pw(l=>{this.uppy.getPlugin(this.id)&&(Qc(this.render(l,a),a),this.afterUpdate())}),this.uppy.log(`Installing ${r} to a DOM element '${e}'`),this.opts.replaceTargetContent&&(s.innerHTML=""),Qc(this.render(this.uppy.getState(),a),a),this.el=a,s.appendChild(a),a.dir=this.opts.direction||Ho(a)||"ltr",this.onMount(),this.el}let n=this.getTargetPlugin(e);if(n)return this.uppy.log(`Installing ${r} to ${n.id}`),this.parent=n,this.el=n.addTarget(t),this.onMount(),this.el;this.uppy.log(`Not installing ${r}`);let o=`Invalid target option given to ${r}.`;throw typeof e=="function"?o+=" The given target is not a Plugin class. Please check that you're not specifying a React Component instead of a plugin. If you are using @uppy/* packages directly, make sure you have only 1 version of @uppy/core installed: run `npm ls @uppy/core` on the command line and verify that all the versions match and are deduped correctly.":o+="If you meant to target an HTML element, please make sure that the element exists. Check that the <script> tag initializing Uppy is right before the closing </body> tag at the end of the page. (see https://github.com/transloadit/uppy/issues/1042)\n\nIf you meant to target a plugin, please confirm that your `import` statements or `require` calls are correct.",new Error(o)}render(e,t){throw new Error("Extend the render method to add your plugin to a DOM element")}update(e){this.el!=null&&this.#e?.(e)}unmount(){this.isTargetDOMEl&&this.el?.remove(),this.onUnmount()}onMount(){}onUnmount(){}},ni=Jc;var nf={name:"@uppy/store-default",description:"The default simple object-based store for Uppy.",version:"4.3.2",license:"MIT",main:"lib/index.js",type:"module",scripts:{build:"tsc --build tsconfig.build.json",typecheck:"tsc --build",test:"vitest run --environment=jsdom --silent='passed-only'"},keywords:["file uploader","uppy","uppy-store"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},devDependencies:{jsdom:"^26.1.0",typescript:"^5.8.3",vitest:"^3.2.4"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"]};var eu=class{static VERSION=nf.version;state={};#e=new Set;getState(){return this.state}setState(e){let t={...this.state},r={...this.state,...e};this.state=r,this.#t(t,r,e)}subscribe(e){return this.#e.add(e),()=>{this.#e.delete(e)}}#t(...e){this.#e.forEach(t=>{t(...e)})}},of=eu;function yr(i){let e=i.lastIndexOf(".");return e===-1||e===i.length-1?{name:i,extension:void 0}:{name:i.slice(0,e),extension:i.slice(e+1)}}var tu={__proto__:null,md:"text/markdown",markdown:"text/markdown",mp4:"video/mp4",mp3:"audio/mp3",svg:"image/svg+xml",jpg:"image/jpeg",png:"image/png",webp:"image/webp",gif:"image/gif",heic:"image/heic",heif:"image/heif",yaml:"text/yaml",yml:"text/yaml",csv:"text/csv",tsv:"text/tab-separated-values",tab:"text/tab-separated-values",avi:"video/x-msvideo",mks:"video/x-matroska",mkv:"video/x-matroska",mov:"video/quicktime",dicom:"application/dicom",doc:"application/msword",msg:"application/vnd.ms-outlook",docm:"application/vnd.ms-word.document.macroenabled.12",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",dot:"application/msword",dotm:"application/vnd.ms-word.template.macroenabled.12",dotx:"application/vnd.openxmlformats-officedocument.wordprocessingml.template",xla:"application/vnd.ms-excel",xlam:"application/vnd.ms-excel.addin.macroenabled.12",xlc:"application/vnd.ms-excel",xlf:"application/x-xliff+xml",xlm:"application/vnd.ms-excel",xls:"application/vnd.ms-excel",xlsb:"application/vnd.ms-excel.sheet.binary.macroenabled.12",xlsm:"application/vnd.ms-excel.sheet.macroenabled.12",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",xlt:"application/vnd.ms-excel",xltm:"application/vnd.ms-excel.template.macroenabled.12",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template",xlw:"application/vnd.ms-excel",txt:"text/plain",text:"text/plain",conf:"text/plain",log:"text/plain",pdf:"application/pdf",zip:"application/zip","7z":"application/x-7z-compressed",rar:"application/x-rar-compressed",tar:"application/x-tar",gz:"application/gzip",dmg:"application/x-apple-diskimage"};function Js(i){if(i.type)return i.type;let e=i.name?yr(i.name).extension?.toLowerCase():null;return e&&e in tu?tu[e]:"application/octet-stream"}function Rw(i){return i.charCodeAt(0).toString(32)}function af(i){let e="";return i.replace(/[^A-Z0-9]/gi,t=>(e+=`-${Rw(t)}`,"/"))+e}function lf(i,e){let t=e||"uppy";return typeof i.name=="string"&&(t+=`-${af(i.name.toLowerCase())}`),i.type!==void 0&&(t+=`-${i.type}`),i.meta&&typeof i.meta.relativePath=="string"&&(t+=`-${af(i.meta.relativePath.toLowerCase())}`),i.data.size!==void 0&&(t+=`-${i.data.size}`),i.data.lastModified!==void 0&&(t+=`-${i.data.lastModified}`),t}function Lw(i){return!i.isRemote||!i.remote?!1:new Set(["box","dropbox","drive","facebook","unsplash"]).has(i.remote.provider)}function Go(i,e){if(Lw(i))return i.id;let t=Js(i);return lf({...i,type:t},e)}var em=ye(Hf(),1),tm=ye(qf(),1);var _1="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Wi=(i=21)=>{let e="",t=i|0;for(;t--;)e+=_1[Math.random()*64|0];return e};var $f={name:"@uppy/core",description:"Core module for the extensible JavaScript file upload widget with support for drag&drop, resumable uploads, previews, restrictions, file processing/encoding, remote providers like Instagram, Dropbox, Google Drive, S3 and more :dog:",version:"4.5.3",license:"MIT",main:"lib/index.js",style:"dist/style.min.css",type:"module",sideEffects:["*.css"],scripts:{build:"tsc --build tsconfig.build.json","build:css":"sass --load-path=../../ src/style.scss dist/style.css && postcss dist/style.css -u cssnano -o dist/style.min.css",typecheck:"tsc --build",test:"vitest run --environment=jsdom --silent='passed-only'"},keywords:["file uploader","uppy","uppy-plugin"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"],dependencies:{"@transloadit/prettier-bytes":"^0.3.4","@uppy/store-default":"^4.3.2","@uppy/utils":"^6.2.2",lodash:"^4.17.21","mime-match":"^1.0.2","namespace-emitter":"^2.0.1",nanoid:"^5.0.9",preact:"^10.5.13"},devDependencies:{"@types/deep-freeze":"^0",cssnano:"^7.0.7","deep-freeze":"^0.0.1",jsdom:"^26.1.0",postcss:"^8.5.6","postcss-cli":"^11.0.1",sass:"^1.89.2",typescript:"^5.8.3",vitest:"^3.2.4"}};function ou(i,e){return e.name?e.name:i.split("/")[0]==="image"?`${i.split("/")[0]}.${i.split("/")[1]}`:"noname"}var Vf={strings:{addBulkFilesFailed:{0:"Failed to add %{smart_count} file due to an internal error",1:"Failed to add %{smart_count} files due to internal errors"},youCanOnlyUploadX:{0:"You can only upload %{smart_count} file",1:"You can only upload %{smart_count} files"},youHaveToAtLeastSelectX:{0:"You have to select at least %{smart_count} file",1:"You have to select at least %{smart_count} files"},aggregateExceedsSize:"You selected %{size} of files, but maximum allowed size is %{sizeAllowed}",exceedsSize:"%{file} exceeds maximum allowed size of %{size}",missingRequiredMetaField:"Missing required meta fields",missingRequiredMetaFieldOnFile:"Missing required meta fields in %{fileName}",inferiorSize:"This file is smaller than the allowed size of %{size}",youCanOnlyUploadFileTypes:"You can only upload: %{types}",noMoreFilesAllowed:"Cannot add more files",noDuplicates:"Cannot add the duplicate file '%{fileName}', it already exists",companionError:"Connection with Companion failed",authAborted:"Authentication aborted",companionUnauthorizeHint:"To unauthorize to your %{provider} account, please go to %{url}",failedToUpload:"Failed to upload %{file}",noInternetConnection:"No Internet connection",connectedToInternet:"Connected to the Internet",noFilesFound:"You have no files or folders here",noSearchResults:"Unfortunately, there are no results for this search",selectX:{0:"Select %{smart_count}",1:"Select %{smart_count}"},allFilesFromFolderNamed:"All files from folder %{name}",openFolderNamed:"Open folder %{name}",cancel:"Cancel",logOut:"Log out",logIn:"Log in",pickFiles:"Pick files",pickPhotos:"Pick photos",filter:"Filter",resetFilter:"Reset filter",loading:"Loading...",loadedXFiles:"Loaded %{numFiles} files",authenticateWithTitle:"Please authenticate with %{pluginName} to select files",authenticateWith:"Connect to %{pluginName}",signInWithGoogle:"Sign in with Google",searchImages:"Search for images",enterTextToSearch:"Enter text to search for images",search:"Search",resetSearch:"Reset search",emptyFolderAdded:"No files were added from empty folder",addedNumFiles:"Added %{numFiles} file(s)",folderAlreadyAdded:'The folder "%{folder}" was already added',folderAdded:{0:"Added %{smart_count} file from %{folder}",1:"Added %{smart_count} files from %{folder}"},additionalRestrictionsFailed:"%{count} additional restrictions were not fulfilled",unnamed:"Unnamed",pleaseWait:"Please wait"}};var tn=ye(Xo(),1),Qf=ye(Zf(),1),Jf={maxFileSize:null,minFileSize:null,maxTotalFileSize:null,maxNumberOfFiles:null,minNumberOfFiles:null,allowedFileTypes:null,requiredMetaFields:[]},St=class extends Error{isUserFacing;file;constructor(e,t){super(e),this.isUserFacing=t?.isUserFacing??!0,t?.file&&(this.file=t.file)}isRestriction=!0},Yo=class{getI18n;getOpts;constructor(e,t){this.getI18n=t,this.getOpts=()=>{let r=e();if(r.restrictions?.allowedFileTypes!=null&&!Array.isArray(r.restrictions.allowedFileTypes))throw new TypeError("`restrictions.allowedFileTypes` must be an array");return r}}validateAggregateRestrictions(e,t){let{maxTotalFileSize:r,maxNumberOfFiles:s}=this.getOpts().restrictions;if(s&&e.filter(o=>!o.isGhost).length+t.length>s)throw new St(`${this.getI18n()("youCanOnlyUploadX",{smart_count:s})}`);if(r){let n=[...e,...t].reduce((o,a)=>o+(a.size??0),0);if(n>r)throw new St(this.getI18n()("aggregateExceedsSize",{sizeAllowed:(0,tn.default)(r),size:(0,tn.default)(n)}))}}validateSingleFile(e){let{maxFileSize:t,minFileSize:r,allowedFileTypes:s}=this.getOpts().restrictions;if(s&&!s.some(o=>o.includes("/")?e.type?(0,Qf.default)(e.type.replace(/;.*?$/,""),o):!1:o[0]==="."&&e.extension?e.extension.toLowerCase()===o.slice(1).toLowerCase():!1)){let o=s.join(", ");throw new St(this.getI18n()("youCanOnlyUploadFileTypes",{types:o}),{file:e})}if(t&&e.size!=null&&e.size>t)throw new St(this.getI18n()("exceedsSize",{size:(0,tn.default)(t),file:e.name??this.getI18n()("unnamed")}),{file:e});if(r&&e.size!=null&&e.size<r)throw new St(this.getI18n()("inferiorSize",{size:(0,tn.default)(r)}),{file:e})}validate(e,t){t.forEach(r=>{this.validateSingleFile(r)}),this.validateAggregateRestrictions(e,t)}validateMinNumberOfFiles(e){let{minNumberOfFiles:t}=this.getOpts().restrictions;if(t&&Object.keys(e).length<t)throw new St(this.getI18n()("youHaveToAtLeastSelectX",{smart_count:t}))}getMissingRequiredMetaFields(e){let t=new St(this.getI18n()("missingRequiredMetaFieldOnFile",{fileName:e.name??this.getI18n()("unnamed")})),{requiredMetaFields:r}=this.getOpts().restrictions,s=[];for(let n of r)(!Object.hasOwn(e.meta,n)||e.meta[n]==="")&&s.push(n);return{missingFields:s,error:t}}};function au(i){if(i==null&&typeof navigator<"u"&&(i=navigator.userAgent),!i)return!0;let e=/Edge\/(\d+\.\d+)/.exec(i);if(!e)return!0;let r=e[1].split(".",2),s=parseInt(r[0],10),n=parseInt(r[1],10);return s<15||s===15&&n<15063||s>18||s===18&&n>=18218}var Zo={totalProgress:0,allowNewUpload:!0,error:null,recoveredState:null},lu=class i{static VERSION=$f.version;#e=Object.create(null);#t;#i;#r=(0,tm.default)();#s=new Set;#o=new Set;#n=new Set;defaultLocale;locale;opts;store;i18n;i18nArray;scheduledAutoProceed=null;wasOffline=!1;constructor(e){this.defaultLocale=Vf;let t={id:"uppy",autoProceed:!1,allowMultipleUploadBatches:!0,debug:!1,restrictions:Jf,meta:{},onBeforeFileAdded:(s,n)=>!Object.hasOwn(n,s.id),onBeforeUpload:s=>s,store:new of,logger:fp,infoTimeout:5e3},r={...t,...e};this.opts={...r,restrictions:{...t.restrictions,...e?.restrictions}},e?.logger&&e.debug?this.log("You are using a custom `logger`, but also set `debug: true`, which uses built-in logger to output logs to console. Ignoring `debug: true` and using your custom `logger`.","warning"):e?.debug&&(this.opts.logger=mp),this.log(`Using Core v${i.VERSION}`),this.i18nInit(),this.store=this.opts.store,this.setState({...Zo,plugins:{},files:{},currentUploads:{},capabilities:{uploadProgress:au(),individualCancellation:!0,resumableUploads:!1},meta:{...this.opts.meta},info:[]}),this.#t=new Yo(()=>this.opts,()=>this.i18n),this.#i=this.store.subscribe((s,n,o)=>{this.emit("state-update",s,n,o),this.updateAll(n)}),this.opts.debug&&typeof window<"u"&&(window[this.opts.id]=this),this.#S()}emit(e,...t){this.#r.emit(e,...t)}on(e,t){return this.#r.on(e,t),this}once(e,t){return this.#r.once(e,t),this}off(e,t){return this.#r.off(e,t),this}updateAll(e){this.iteratePlugins(t=>{t.update(e)})}setState(e){this.store.setState(e)}getState(){return this.store.getState()}patchFilesState(e){let t=this.getState().files;this.setState({files:{...t,...Object.fromEntries(Object.entries(e).map(([r,s])=>[r,{...t[r],...s}]))}})}setFileState(e,t){if(!this.getState().files[e])throw new Error(`Can\u2019t set state for ${e} (the file could have been removed)`);this.patchFilesState({[e]:t})}i18nInit(){let e=r=>this.log(`Missing i18n string: ${r}`,"error"),t=new gr([this.defaultLocale,this.opts.locale],{onMissingKey:e});this.i18n=t.translate.bind(t),this.i18nArray=t.translateArray.bind(t),this.locale=t.locale}setOptions(e){this.opts={...this.opts,...e,restrictions:{...this.opts.restrictions,...e?.restrictions}},e.meta&&this.setMeta(e.meta),this.i18nInit(),e.locale&&this.iteratePlugins(t=>{t.setOptions(e)}),this.setState(void 0)}resetProgress(){let e={percentage:0,bytesUploaded:!1,uploadComplete:!1,uploadStarted:null},t={...this.getState().files},r=Object.create(null);Object.keys(t).forEach(s=>{r[s]={...t[s],progress:{...t[s].progress,...e},tus:void 0,transloadit:void 0}}),this.setState({files:r,...Zo})}clear(){let{capabilities:e,currentUploads:t}=this.getState();if(Object.keys(t).length>0&&!e.individualCancellation)throw new Error("The installed uploader plugin does not allow removing files during an upload.");this.setState({...Zo,files:{}})}addPreProcessor(e){this.#s.add(e)}removePreProcessor(e){return this.#s.delete(e)}addPostProcessor(e){this.#n.add(e)}removePostProcessor(e){return this.#n.delete(e)}addUploader(e){this.#o.add(e)}removeUploader(e){return this.#o.delete(e)}setMeta(e){let t={...this.getState().meta,...e},r={...this.getState().files};Object.keys(r).forEach(s=>{r[s]={...r[s],meta:{...r[s].meta,...e}}}),this.log("Adding metadata:"),this.log(e),this.setState({meta:t,files:r})}setFileMeta(e,t){let r={...this.getState().files};if(!r[e]){this.log(`Was trying to set metadata for a file that has been removed: ${e}`);return}let s={...r[e].meta,...t};r[e]={...r[e],meta:s},this.setState({files:r})}getFile(e){return this.getState().files[e]}getFiles(){let{files:e}=this.getState();return Object.values(e)}getFilesByIds(e){return e.map(t=>this.getFile(t))}getObjectOfFilesPerState(){let{files:e,totalProgress:t,error:r}=this.getState(),s=Object.values(e),n=[],o=[],a=[],l=[],h=[],f=[],m=[],w=[],y=[];for(let k of s){let{progress:C}=k;!C.uploadComplete&&C.uploadStarted&&(n.push(k),k.isPaused||w.push(k)),C.uploadStarted||o.push(k),(C.uploadStarted||C.preprocess||C.postprocess)&&a.push(k),C.uploadStarted&&l.push(k),k.isPaused&&h.push(k),C.uploadComplete&&f.push(k),k.error&&m.push(k),(C.preprocess||C.postprocess)&&y.push(k)}return{newFiles:o,startedFiles:a,uploadStartedFiles:l,pausedFiles:h,completeFiles:f,erroredFiles:m,inProgressFiles:n,inProgressNotPausedFiles:w,processingFiles:y,isUploadStarted:l.length>0,isAllComplete:t===100&&f.length===s.length&&y.length===0,isAllErrored:!!r&&m.length===s.length,isAllPaused:n.length!==0&&h.length===n.length,isUploadInProgress:n.length>0,isSomeGhost:s.some(k=>k.isGhost)}}#l(e){for(let o of e)o.isRestriction?this.emit("restriction-failed",o.file,o):this.emit("error",o,o.file),this.log(o,"warning");let t=e.filter(o=>o.isUserFacing),r=4,s=t.slice(0,r),n=t.slice(r);s.forEach(({message:o,details:a=""})=>{this.info({message:o,details:a},"error",this.opts.infoTimeout)}),n.length>0&&this.info({message:this.i18n("additionalRestrictionsFailed",{count:n.length})})}validateRestrictions(e,t=this.getFiles()){try{this.#t.validate(t,[e])}catch(r){return r}return null}validateSingleFile(e){try{this.#t.validateSingleFile(e)}catch(t){return t.message}return null}validateAggregateRestrictions(e){let t=this.getFiles();try{this.#t.validateAggregateRestrictions(t,e)}catch(r){return r.message}return null}#a(e){let{missingFields:t,error:r}=this.#t.getMissingRequiredMetaFields(e);return t.length>0?(this.setFileState(e.id,{missingRequiredMetaFields:t,error:r.message}),this.log(r.message),this.emit("restriction-failed",e,r),!1):(t.length===0&&e.missingRequiredMetaFields&&this.setFileState(e.id,{missingRequiredMetaFields:[]}),!0)}#p(e){let t=!0;for(let r of Object.values(e))this.#a(r)||(t=!1);return t}#c(e){let{allowNewUpload:t}=this.getState();if(t===!1){let r=new St(this.i18n("noMoreFilesAllowed"),{file:e});throw this.#l([r]),r}}checkIfFileAlreadyExists(e){let{files:t}=this.getState();return!!(t[e]&&!t[e].isGhost)}#h(e){let t=e instanceof File?{name:e.name,type:e.type,size:e.size,data:e}:e,r=Js(t),s=ou(r,t),n=yr(s).extension,o=Go(t,this.getID()),a=t.meta||{};a.name=s,a.type=r;let l=Number.isFinite(t.data.size)?t.data.size:null;return{source:t.source||"",id:o,name:s,extension:n||"",meta:{...this.getState().meta,...a},type:r,data:t.data,progress:{percentage:0,bytesUploaded:!1,bytesTotal:l,uploadComplete:!1,uploadStarted:null},size:l,isGhost:!1,isRemote:t.isRemote||!1,remote:t.remote,preview:t.preview}}#u(){this.opts.autoProceed&&!this.scheduledAutoProceed&&(this.scheduledAutoProceed=setTimeout(()=>{this.scheduledAutoProceed=null,this.upload().catch(e=>{e.isRestriction||this.log(e.stack||e.message||e)})},4))}#f(e){let{files:t}=this.getState(),r={...t},s=[],n=[];for(let o of e)try{let a=this.#h(o),l=t[a.id]?.isGhost;l&&(a={...t[a.id],isGhost:!1,data:o.data},this.log(`Replaced the blob in the restored ghost file: ${a.name}, ${a.id}`));let h=this.opts.onBeforeFileAdded(a,r);if(t=this.getState().files,r={...t,...r},!h&&this.checkIfFileAlreadyExists(a.id))throw new St(this.i18n("noDuplicates",{fileName:a.name??this.i18n("unnamed")}),{file:o});if(h===!1&&!l)throw new St("Cannot add the file because onBeforeFileAdded returned false.",{isUserFacing:!1,file:o});typeof h=="object"&&h!==null&&(a=h),this.#t.validateSingleFile(a),r[a.id]=a,s.push(a)}catch(a){n.push(a)}try{this.#t.validateAggregateRestrictions(Object.values(t),s)}catch(o){return n.push(o),{nextFilesState:t,validFilesToAdd:[],errors:n}}return{nextFilesState:r,validFilesToAdd:s,errors:n}}addFile(e){this.#c(e);let{nextFilesState:t,validFilesToAdd:r,errors:s}=this.#f([e]),n=s.filter(a=>a.isRestriction);if(this.#l(n),s.length>0)throw s[0];this.setState({files:t});let[o]=r;return this.emit("file-added",o),this.emit("files-added",r),this.log(`Added file: ${o.name}, ${o.id}, mime type: ${o.type}`),this.#u(),o.id}addFiles(e){this.#c();let{nextFilesState:t,validFilesToAdd:r,errors:s}=this.#f(e),n=s.filter(a=>a.isRestriction);this.#l(n);let o=s.filter(a=>!a.isRestriction);if(o.length>0){let a=`Multiple errors occurred while adding files:
|
|
89
89
|
`;if(o.forEach(l=>{a+=`
|
|
90
90
|
* ${l.message}`}),this.info({message:this.i18n("addBulkFilesFailed",{smart_count:o.length}),details:a},"error",this.opts.infoTimeout),typeof AggregateError=="function")throw new AggregateError(o,a);{let l=new Error(a);throw l.errors=o,l}}this.setState({files:t}),r.forEach(a=>{this.emit("file-added",a)}),this.emit("files-added",r),r.length>5?this.log(`Added batch of ${r.length} files`):Object.values(r).forEach(a=>{this.log(`Added file: ${a.name}
|
|
91
91
|
id: ${a.id}
|
|
92
|
-
type: ${a.type}`)}),r.length>0&&this.#u()}removeFiles(e){let{files:t,currentUploads:r}=this.getState(),s={...t},n={...r},o=Object.create(null);e.forEach(f=>{t[f]&&(o[f]=t[f],delete s[f])});function a(f){return o[f]===void 0}Object.keys(n).forEach(f=>{let m=r[f].fileIDs.filter(a);if(m.length===0){delete n[f];return}let{capabilities:w}=this.getState();if(m.length!==r[f].fileIDs.length&&!w.individualCancellation)throw new Error("The installed uploader plugin does not allow removing files during an upload.");n[f]={...r[f],fileIDs:m}});let l={currentUploads:n,files:s};Object.keys(s).length===0&&(l.allowNewUpload=!0,l.error=null,l.recoveredState=null),this.setState(l),this.#y();let h=Object.keys(o);h.forEach(f=>{this.emit("file-removed",o[f])}),h.length>5?this.log(`Removed ${h.length} files`):this.log(`Removed files: ${h.join(", ")}`)}removeFile(e){this.removeFiles([e])}pauseResume(e){if(!this.getState().capabilities.resumableUploads||this.getFile(e).progress.uploadComplete)return;let t=this.getFile(e),s=!(t.isPaused||!1);return this.setFileState(e,{isPaused:s}),this.emit("upload-pause",t,s),s}pauseAll(){let e={...this.getState().files};Object.keys(e).filter(r=>!e[r].progress.uploadComplete&&e[r].progress.uploadStarted).forEach(r=>{let s={...e[r],isPaused:!0};e[r]=s}),this.setState({files:e}),this.emit("pause-all")}resumeAll(){let e={...this.getState().files};Object.keys(e).filter(r=>!e[r].progress.uploadComplete&&e[r].progress.uploadStarted).forEach(r=>{let s={...e[r],isPaused:!1,error:null};e[r]=s}),this.setState({files:e}),this.emit("resume-all")}#g(){let{files:e}=this.getState();return Object.keys(e).filter(t=>{let r=e[t];return r.error&&(!r.missingRequiredMetaFields||r.missingRequiredMetaFields.length===0)})}async#
|
|
93
|
-
Uppy plugins must have unique \`id\` options.`;throw new Error(o)}return e.VERSION&&this.log(`Using ${s} v${e.VERSION}`),r.type in this.#e?this.#e[r.type].push(r):this.#e[r.type]=[r],r.install(),this.emit("plugin-added",r),this}getPlugin(e){for(let t of Object.values(this.#e)){let r=t.find(s=>s.id===e);if(r!=null)return r}}[Symbol.for("uppy test: getPlugins")](e){return this.#e[e]}iteratePlugins(e){Object.values(this.#e).flat(1).forEach(e)}removePlugin(e){this.log(`Removing plugin ${e.id}`),this.emit("plugin-remove",e),e.uninstall&&e.uninstall();let t=this.#e[e.type],r=t.findIndex(o=>o.id===e.id);r!==-1&&t.splice(r,1);let n={plugins:{...this.getState().plugins,[e.id]:void 0}};this.setState(n)}destroy(){this.log(`Closing Uppy instance ${this.opts.id}: removing all files and uninstalling plugins`),this.cancelAll(),this.#i(),this.iteratePlugins(e=>{this.removePlugin(e)}),typeof window<"u"&&window.removeEventListener&&(window.removeEventListener("online",this.#m),window.removeEventListener("offline",this.#m))}hideInfo(){let{info:e}=this.getState();this.setState({info:e.slice(1)}),this.emit("info-hidden")}info(e,t="info",r=3e3){let s=typeof e=="object";this.setState({info:[...this.getState().info,{type:t,message:s?e.message:e,details:s?e.details:null}]}),setTimeout(()=>this.hideInfo(),r),this.emit("info-visible")}log(e,t){let{logger:r}=this.opts;switch(t){case"error":r.error(e);break;case"warning":r.warn(e);break;default:r.debug(e);break}}#x=new Map;registerRequestClient(e,t){this.#x.set(e,t)}getRequestClientForFile(e){if(!e.remote)throw new Error(`Tried to get RequestClient for a non-remote file ${e.id}`);let t=this.#x.get(e.remote.requestClientId);if(t==null)throw new Error(`requestClientId "${e.remote.requestClientId}" not registered for file "${e.id}"`);return t}restore(e){return this.log(`Core: attempting to restore upload "${e}"`),this.getState().currentUploads[e]?this.#k(e):(this.#E(e),Promise.reject(new Error("Nonexistent upload")))}#v(e,t={}){let{forceAllowNewUpload:r=!1}=t,{allowNewUpload:s,currentUploads:n}=this.getState();if(!s&&!r)throw new Error("Cannot create a new upload: already uploading.");let o=Wi();return this.emit("upload",o,this.getFilesByIds(e)),this.setState({allowNewUpload:this.opts.allowMultipleUploadBatches!==!1&&this.opts.allowMultipleUploads!==!1,currentUploads:{...n,[o]:{fileIDs:e,step:0,result:{}}}}),o}[Symbol.for("uppy test: createUpload")](...e){return this.#v(...e)}#_(e){let{currentUploads:t}=this.getState();return t[e]}addResultData(e,t){if(!this.#_(e)){this.log(`Not setting result for an upload that has been removed: ${e}`);return}let{currentUploads:r}=this.getState(),s={...r[e],result:{...r[e].result,...t}};this.setState({currentUploads:{...r,[e]:s}})}#E(e){let t={...this.getState().currentUploads};delete t[e],this.setState({currentUploads:t})}async#k(e){let t=()=>{let{currentUploads:o}=this.getState();return o[e]},r=t(),s=[...this.#s,...this.#o,...this.#n];try{for(let o=r.step||0;o<s.length&&r;o++){let a=s[o];this.setState({currentUploads:{...this.getState().currentUploads,[e]:{...r,step:o}}});let{fileIDs:l}=r;await a(l,e),r=t()}}catch(o){throw this.#E(e),o}if(r){r.fileIDs.forEach(h=>{let f=this.getFile(h);f?.progress.postprocess&&this.emit("postprocess-complete",f)});let o=r.fileIDs.map(h=>this.getFile(h)),a=o.filter(h=>!h.error),l=o.filter(h=>h.error);this.addResultData(e,{successful:a,failed:l,uploadID:e}),r=t()}let n;return r&&(n=r.result,this.#E(e)),n==null&&(this.log(`Not setting result for an upload that has been removed: ${e}`),n={successful:[],failed:[],uploadID:e}),n}async upload(){this.#e.uploader?.length||this.log("No uploader type plugins are used","warning");let{files:e}=this.getState();if(this.#g().length>0){let s=await this.#p();if(!(this.getFiles().filter(o=>o.progress.uploadStarted==null).length>0))return this.emit("complete",s),s;({files:e}=this.getState())}let r=this.opts.onBeforeUpload(e);return r===!1?Promise.reject(new Error("Not starting the upload because onBeforeUpload returned false")):(r&&typeof r=="object"&&(e=r,this.setState({files:e})),Promise.resolve().then(()=>this.#t.validateMinNumberOfFiles(e)).catch(s=>{throw this.#l([s]),s}).then(()=>{if(!this.#d(e))throw new St(this.i18n("missingRequiredMetaField"))}).catch(s=>{throw s}).then(async()=>{let{currentUploads:s}=this.getState(),n=Object.values(s).flatMap(h=>h.fileIDs),o=[];Object.keys(e).forEach(h=>{let f=this.getFile(h);!f.progress.uploadStarted&&n.indexOf(h)===-1&&o.push(f.id)});let a=this.#v(o),l=await this.#k(a);return this.emit("complete",l),l}).catch(s=>{throw this.emit("error",s),this.log(s,"error"),s}))}},Qo=lu;var P1=0;function c(i,e,t,r,s,n){e||(e={});var o,a,l=e;if("ref"in l)for(a in l={},e)a=="ref"?o=e[a]:l[a]=e[a];var h={type:i,props:l,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--P1,__i:-1,__u:0,__source:s,__self:n};if(typeof i=="function"&&(o=i.defaultProps))for(a in o)l[a]===void 0&&(l[a]=o[a]);return X.vnode&&X.vnode(h),h}var im={name:"@uppy/informer",description:"A notification and error pop-up bar for Uppy.",version:"4.3.2",license:"MIT",main:"lib/index.js",style:"dist/style.min.css",type:"module",scripts:{build:"tsc --build tsconfig.build.json","build:css":"sass --load-path=../../ src/style.scss dist/style.css && postcss dist/style.css -u cssnano -o dist/style.min.css",typecheck:"tsc --build"},keywords:["file uploader","uppy","uppy-plugin","notification","bar","ui"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"],dependencies:{"@uppy/utils":"^6.2.2",preact:"^10.5.13"},peerDependencies:{"@uppy/core":"^4.5.2"},devDependencies:{cssnano:"^7.0.7",postcss:"^8.5.6","postcss-cli":"^11.0.1",sass:"^1.89.2",typescript:"^5.8.3"}};var rm=300,rn=class extends we{ref=$o();componentWillEnter(e){this.ref.current.style.opacity="1",this.ref.current.style.transform="none",setTimeout(e,rm)}componentWillLeave(e){this.ref.current.style.opacity="0",this.ref.current.style.transform="translateY(350%)",setTimeout(e,rm)}render(){let{children:e}=this.props;return c("div",{className:"uppy-Informer-animated",ref:this.ref,children:e})}};function R1(i,e){return Object.assign(i,e)}function L1(i,e){return i?.key??e}function M1(i,e){let t=i._ptgLinkedRefs||(i._ptgLinkedRefs={});return t[e]||(t[e]=r=>{i.refs[e]=r})}function sn(i){let e={};for(let t=0;t<i.length;t++)if(i[t]!=null){let r=L1(i[t],t.toString(36));e[r]=i[t]}return e}function I1(i,e){i=i||{},e=e||{};let t=o=>Object.hasOwn(e,o)?e[o]:i[o],r={},s=[];for(let o in i)Object.hasOwn(e,o)?s.length&&(r[o]=s,s=[]):s.push(o);let n={};for(let o in e){if(Object.hasOwn(r,o))for(let a=0;a<r[o].length;a++){let l=r[o][a];n[r[o][a]]=t(l)}n[o]=t(o)}for(let o=0;o<s.length;o++)n[s[o]]=t(s[o]);return n}var D1=i=>i,Jo=class extends we{constructor(e,t){super(e,t),this.refs={},this.state={children:sn(wt(wt(this.props.children))||[])},this.performAppear=this.performAppear.bind(this),this.performEnter=this.performEnter.bind(this),this.performLeave=this.performLeave.bind(this)}componentWillMount(){this.currentlyTransitioningKeys={},this.keysToAbortLeave=[],this.keysToEnter=[],this.keysToLeave=[]}componentDidMount(){let e=this.state.children;for(let t in e)e[t]&&this.performAppear(t)}componentWillReceiveProps(e){let t=sn(wt(e.children)||[]),r=this.state.children;this.setState(n=>({children:I1(n.children,t)}));let s;for(s in t)if(Object.hasOwn(t,s)){let n=r&&Object.hasOwn(r,s);t[s]&&n&&this.currentlyTransitioningKeys[s]?(this.keysToEnter.push(s),this.keysToAbortLeave.push(s)):t[s]&&!n&&!this.currentlyTransitioningKeys[s]&&this.keysToEnter.push(s)}for(s in r)if(Object.hasOwn(r,s)){let n=t&&Object.hasOwn(t,s);r[s]&&!n&&!this.currentlyTransitioningKeys[s]&&this.keysToLeave.push(s)}}componentDidUpdate(){let{keysToEnter:e}=this;this.keysToEnter=[],e.forEach(this.performEnter);let{keysToLeave:t}=this;this.keysToLeave=[],t.forEach(this.performLeave)}_finishAbort(e){let t=this.keysToAbortLeave.indexOf(e);t!==-1&&this.keysToAbortLeave.splice(t,1)}performAppear(e){this.currentlyTransitioningKeys[e]=!0;let t=this.refs[e];t?.componentWillAppear?t.componentWillAppear(this._handleDoneAppearing.bind(this,e)):this._handleDoneAppearing(e)}_handleDoneAppearing(e){let t=this.refs[e];t?.componentDidAppear&&t.componentDidAppear(),delete this.currentlyTransitioningKeys[e],this._finishAbort(e);let r=sn(wt(this.props.children)||[]);(!r||!Object.hasOwn(r,e))&&this.performLeave(e)}performEnter(e){this.currentlyTransitioningKeys[e]=!0;let t=this.refs[e];t?.componentWillEnter?t.componentWillEnter(this._handleDoneEntering.bind(this,e)):this._handleDoneEntering(e)}_handleDoneEntering(e){let t=this.refs[e];t?.componentDidEnter&&t.componentDidEnter(),delete this.currentlyTransitioningKeys[e],this._finishAbort(e);let r=sn(wt(this.props.children)||[]);(!r||!Object.hasOwn(r,e))&&this.performLeave(e)}performLeave(e){if(this.keysToAbortLeave.indexOf(e)!==-1)return;this.currentlyTransitioningKeys[e]=!0;let r=this.refs[e];r?.componentWillLeave?r.componentWillLeave(this._handleDoneLeaving.bind(this,e)):this._handleDoneLeaving(e)}_handleDoneLeaving(e){if(this.keysToAbortLeave.indexOf(e)!==-1)return;let r=this.refs[e];r?.componentDidLeave&&r.componentDidLeave(),delete this.currentlyTransitioningKeys[e];let s=sn(wt(this.props.children)||[]);if(s&&Object.hasOwn(s,e))this.performEnter(e);else{let n=R1({},this.state.children);delete n[e],this.setState({children:n})}}render({childFactory:e,transitionLeave:t,transitionName:r,transitionAppear:s,transitionEnter:n,transitionLeaveTimeout:o,transitionEnterTimeout:a,transitionAppearTimeout:l,component:h,...f},{children:m}){let w=Object.entries(m).map(([y,k])=>{if(!k)return;let C=M1(this,y);return Ys(e(k),{ref:C,key:y})}).filter(Boolean);return ki(h,f,w)}};Jo.defaultProps={component:"span",childFactory:D1};var sm=Jo;var ts=class extends ni{static VERSION=im.version;constructor(e,t){super(e,t),this.type="progressindicator",this.id=this.opts.id||"Informer",this.title="Informer"}render=e=>c("div",{className:"uppy uppy-Informer",children:c(sm,{children:e.info.map(t=>c(rn,{children:c("p",{role:"alert",children:[t.message," ",t.details&&c("span",{"aria-label":t.details,"data-microtip-position":"top-left","data-microtip-size":"medium",role:"tooltip",onClick:()=>alert(`${t.message}
|
|
92
|
+
type: ${a.type}`)}),r.length>0&&this.#u()}removeFiles(e){let{files:t,currentUploads:r}=this.getState(),s={...t},n={...r},o=Object.create(null);e.forEach(f=>{t[f]&&(o[f]=t[f],delete s[f])});function a(f){return o[f]===void 0}Object.keys(n).forEach(f=>{let m=r[f].fileIDs.filter(a);if(m.length===0){delete n[f];return}let{capabilities:w}=this.getState();if(m.length!==r[f].fileIDs.length&&!w.individualCancellation)throw new Error("The installed uploader plugin does not allow removing files during an upload.");n[f]={...r[f],fileIDs:m}});let l={currentUploads:n,files:s};Object.keys(s).length===0&&(l.allowNewUpload=!0,l.error=null,l.recoveredState=null),this.setState(l),this.#y();let h=Object.keys(o);h.forEach(f=>{this.emit("file-removed",o[f])}),h.length>5?this.log(`Removed ${h.length} files`):this.log(`Removed files: ${h.join(", ")}`)}removeFile(e){this.removeFiles([e])}pauseResume(e){if(!this.getState().capabilities.resumableUploads||this.getFile(e).progress.uploadComplete)return;let t=this.getFile(e),s=!(t.isPaused||!1);return this.setFileState(e,{isPaused:s}),this.emit("upload-pause",t,s),s}pauseAll(){let e={...this.getState().files};Object.keys(e).filter(r=>!e[r].progress.uploadComplete&&e[r].progress.uploadStarted).forEach(r=>{let s={...e[r],isPaused:!0};e[r]=s}),this.setState({files:e}),this.emit("pause-all")}resumeAll(){let e={...this.getState().files};Object.keys(e).filter(r=>!e[r].progress.uploadComplete&&e[r].progress.uploadStarted).forEach(r=>{let s={...e[r],isPaused:!1,error:null};e[r]=s}),this.setState({files:e}),this.emit("resume-all")}#g(){let{files:e}=this.getState();return Object.keys(e).filter(t=>{let r=e[t];return r.error&&(!r.missingRequiredMetaFields||r.missingRequiredMetaFields.length===0)})}async#d(){let e=this.#g(),t={...this.getState().files};if(e.forEach(s=>{t[s]={...t[s],isPaused:!1,error:null}}),this.setState({files:t,error:null}),this.emit("retry-all",this.getFilesByIds(e)),e.length===0)return{successful:[],failed:[]};let r=this.#v(e,{forceAllowNewUpload:!0});return this.#k(r)}async retryAll(){let e=await this.#d();return this.emit("complete",e),e}cancelAll(){this.emit("cancel-all");let{files:e}=this.getState(),t=Object.keys(e);t.length&&this.removeFiles(t),this.setState(Zo)}retryUpload(e){this.setFileState(e,{error:null,isPaused:!1}),this.emit("upload-retry",this.getFile(e));let t=this.#v([e],{forceAllowNewUpload:!0});return this.#k(t)}logout(){this.iteratePlugins(e=>{e.provider?.logout?.()})}#w=(e,t)=>{let r=e?this.getFile(e.id):void 0;if(e==null||!r){this.log(`Not setting progress for a file that has been removed: ${e?.id}`);return}if(r.progress.percentage===100){this.log(`Not setting progress for a file that has been already uploaded: ${e.id}`);return}let s={bytesTotal:t.bytesTotal,percentage:t.bytesTotal!=null&&Number.isFinite(t.bytesTotal)&&t.bytesTotal>0?Math.round(t.bytesUploaded/t.bytesTotal*100):void 0};r.progress.uploadStarted!=null?this.setFileState(e.id,{progress:{...r.progress,...s,bytesUploaded:t.bytesUploaded}}):this.setFileState(e.id,{progress:{...r.progress,...s}}),this.#y()};#b(){let e=this.#T(),t=null;e!=null&&(t=Math.round(e*100),t>100?t=100:t<0&&(t=0)),this.emit("progress",t??0),this.setState({totalProgress:t??0})}#y=(0,em.default)(()=>this.#b(),500,{leading:!0,trailing:!0});[Symbol.for("uppy test: updateTotalProgress")](){return this.#b()}#T(){let t=this.getFiles().filter(l=>l.progress.uploadStarted||l.progress.preprocess||l.progress.postprocess);if(t.length===0)return 0;if(t.every(l=>l.progress.uploadComplete))return 1;let r=l=>l.progress.bytesTotal!=null&&l.progress.bytesTotal!==0,s=t.filter(r),n=t.filter(l=>!r(l));if(s.every(l=>l.progress.uploadComplete)&&n.length>0&&!n.every(l=>l.progress.uploadComplete))return null;let o=s.reduce((l,h)=>l+(h.progress.bytesTotal??0),0),a=s.reduce((l,h)=>l+(h.progress.bytesUploaded||0),0);return o===0?0:a/o}#S(){let e=(s,n,o)=>{let a=s.message||"Unknown error";s.details&&(a+=` ${s.details}`),this.setState({error:a}),n!=null&&n.id in this.getState().files&&this.setFileState(n.id,{error:a,response:o})};this.on("error",e),this.on("upload-error",(s,n,o)=>{if(e(n,s,o),typeof n=="object"&&n.message){this.log(n.message,"error");let a=new Error(this.i18n("failedToUpload",{file:s?.name??""}));a.isUserFacing=!0,a.details=n.message,n.details&&(a.details+=` ${n.details}`),this.#l([a])}else this.#l([n])});let t=null;this.on("upload-stalled",(s,n)=>{let{message:o}=s,a=n.map(l=>l.meta.name).join(", ");t||(this.info({message:o,details:a},"warning",this.opts.infoTimeout),t=setTimeout(()=>{t=null},this.opts.infoTimeout)),this.log(`${o} ${a}`.trim(),"warning")}),this.on("upload",()=>{this.setState({error:null})});let r=s=>{let n=s.filter(a=>{let l=a!=null&&this.getFile(a.id);return l||this.log(`Not setting progress for a file that has been removed: ${a?.id}`),l}),o=Object.fromEntries(n.map(a=>[a.id,{progress:{uploadStarted:Date.now(),uploadComplete:!1,bytesUploaded:0,bytesTotal:a.size}}]));this.patchFilesState(o)};this.on("upload-start",r),this.on("upload-progress",this.#w),this.on("upload-success",(s,n)=>{if(s==null||!this.getFile(s.id)){this.log(`Not setting progress for a file that has been removed: ${s?.id}`);return}let o=this.getFile(s.id).progress;this.setFileState(s.id,{progress:{...o,postprocess:this.#n.size>0?{mode:"indeterminate"}:void 0,uploadComplete:!0,percentage:100,bytesUploaded:o.bytesTotal},response:n,uploadURL:n.uploadURL,isPaused:!1}),s.size==null&&this.setFileState(s.id,{size:n.bytesUploaded||o.bytesTotal}),this.#y()}),this.on("preprocess-progress",(s,n)=>{if(s==null||!this.getFile(s.id)){this.log(`Not setting progress for a file that has been removed: ${s?.id}`);return}this.setFileState(s.id,{progress:{...this.getFile(s.id).progress,preprocess:n}})}),this.on("preprocess-complete",s=>{if(s==null||!this.getFile(s.id)){this.log(`Not setting progress for a file that has been removed: ${s?.id}`);return}let n={...this.getState().files};n[s.id]={...n[s.id],progress:{...n[s.id].progress}},delete n[s.id].progress.preprocess,this.setState({files:n})}),this.on("postprocess-progress",(s,n)=>{if(s==null||!this.getFile(s.id)){this.log(`Not setting progress for a file that has been removed: ${s?.id}`);return}this.setFileState(s.id,{progress:{...this.getState().files[s.id].progress,postprocess:n}})}),this.on("postprocess-complete",s=>{if(s==null||!this.getFile(s.id)){this.log(`Not setting progress for a file that has been removed: ${s?.id}`);return}let n={...this.getState().files};n[s.id]={...n[s.id],progress:{...n[s.id].progress}},delete n[s.id].progress.postprocess,this.setState({files:n})}),this.on("restored",()=>{this.#y()}),this.on("dashboard:file-edit-complete",s=>{s&&this.#a(s)}),typeof window<"u"&&window.addEventListener&&(window.addEventListener("online",this.#m),window.addEventListener("offline",this.#m),setTimeout(this.#m,3e3))}updateOnlineStatus(){window.navigator.onLine??!0?(this.emit("is-online"),this.wasOffline&&(this.emit("back-online"),this.info(this.i18n("connectedToInternet"),"success",3e3),this.wasOffline=!1)):(this.emit("is-offline"),this.info(this.i18n("noInternetConnection"),"error",0),this.wasOffline=!0)}#m=this.updateOnlineStatus.bind(this);getID(){return this.opts.id}use(e,...t){if(typeof e!="function"){let o=`Expected a plugin class, but got ${e===null?"null":typeof e}. Please verify that the plugin was imported and spelled correctly.`;throw new TypeError(o)}let r=new e(this,...t),s=r.id;if(!s)throw new Error("Your plugin must have an id");if(!r.type)throw new Error("Your plugin must have a type");let n=this.getPlugin(s);if(n){let o=`Already found a plugin named '${n.id}'. Tried to use: '${s}'.
|
|
93
|
+
Uppy plugins must have unique \`id\` options.`;throw new Error(o)}return e.VERSION&&this.log(`Using ${s} v${e.VERSION}`),r.type in this.#e?this.#e[r.type].push(r):this.#e[r.type]=[r],r.install(),this.emit("plugin-added",r),this}getPlugin(e){for(let t of Object.values(this.#e)){let r=t.find(s=>s.id===e);if(r!=null)return r}}[Symbol.for("uppy test: getPlugins")](e){return this.#e[e]}iteratePlugins(e){Object.values(this.#e).flat(1).forEach(e)}removePlugin(e){this.log(`Removing plugin ${e.id}`),this.emit("plugin-remove",e),e.uninstall&&e.uninstall();let t=this.#e[e.type],r=t.findIndex(o=>o.id===e.id);r!==-1&&t.splice(r,1);let n={plugins:{...this.getState().plugins,[e.id]:void 0}};this.setState(n)}destroy(){this.log(`Closing Uppy instance ${this.opts.id}: removing all files and uninstalling plugins`),this.cancelAll(),this.#i(),this.iteratePlugins(e=>{this.removePlugin(e)}),typeof window<"u"&&window.removeEventListener&&(window.removeEventListener("online",this.#m),window.removeEventListener("offline",this.#m))}hideInfo(){let{info:e}=this.getState();this.setState({info:e.slice(1)}),this.emit("info-hidden")}info(e,t="info",r=3e3){let s=typeof e=="object";this.setState({info:[...this.getState().info,{type:t,message:s?e.message:e,details:s?e.details:null}]}),setTimeout(()=>this.hideInfo(),r),this.emit("info-visible")}log(e,t){let{logger:r}=this.opts;switch(t){case"error":r.error(e);break;case"warning":r.warn(e);break;default:r.debug(e);break}}#x=new Map;registerRequestClient(e,t){this.#x.set(e,t)}getRequestClientForFile(e){if(!e.remote)throw new Error(`Tried to get RequestClient for a non-remote file ${e.id}`);let t=this.#x.get(e.remote.requestClientId);if(t==null)throw new Error(`requestClientId "${e.remote.requestClientId}" not registered for file "${e.id}"`);return t}restore(e){return this.log(`Core: attempting to restore upload "${e}"`),this.getState().currentUploads[e]?this.#k(e):(this.#E(e),Promise.reject(new Error("Nonexistent upload")))}#v(e,t={}){let{forceAllowNewUpload:r=!1}=t,{allowNewUpload:s,currentUploads:n}=this.getState();if(!s&&!r)throw new Error("Cannot create a new upload: already uploading.");let o=Wi();return this.emit("upload",o,this.getFilesByIds(e)),this.setState({allowNewUpload:this.opts.allowMultipleUploadBatches!==!1&&this.opts.allowMultipleUploads!==!1,currentUploads:{...n,[o]:{fileIDs:e,step:0,result:{}}}}),o}[Symbol.for("uppy test: createUpload")](...e){return this.#v(...e)}#_(e){let{currentUploads:t}=this.getState();return t[e]}addResultData(e,t){if(!this.#_(e)){this.log(`Not setting result for an upload that has been removed: ${e}`);return}let{currentUploads:r}=this.getState(),s={...r[e],result:{...r[e].result,...t}};this.setState({currentUploads:{...r,[e]:s}})}#E(e){let t={...this.getState().currentUploads};delete t[e],this.setState({currentUploads:t})}async#k(e){let t=()=>{let{currentUploads:o}=this.getState();return o[e]},r=t(),s=[...this.#s,...this.#o,...this.#n];try{for(let o=r.step||0;o<s.length&&r;o++){let a=s[o];this.setState({currentUploads:{...this.getState().currentUploads,[e]:{...r,step:o}}});let{fileIDs:l}=r;await a(l,e),r=t()}}catch(o){throw this.#E(e),o}if(r){r.fileIDs.forEach(h=>{let f=this.getFile(h);f?.progress.postprocess&&this.emit("postprocess-complete",f)});let o=r.fileIDs.map(h=>this.getFile(h)),a=o.filter(h=>!h.error),l=o.filter(h=>h.error);this.addResultData(e,{successful:a,failed:l,uploadID:e}),r=t()}let n;return r&&(n=r.result,this.#E(e)),n==null&&(this.log(`Not setting result for an upload that has been removed: ${e}`),n={successful:[],failed:[],uploadID:e}),n}async upload(){this.#e.uploader?.length||this.log("No uploader type plugins are used","warning");let{files:e}=this.getState();if(this.#g().length>0){let s=await this.#d();if(!(this.getFiles().filter(o=>o.progress.uploadStarted==null).length>0))return this.emit("complete",s),s;({files:e}=this.getState())}let r=this.opts.onBeforeUpload(e);return r===!1?Promise.reject(new Error("Not starting the upload because onBeforeUpload returned false")):(r&&typeof r=="object"&&(e=r,this.setState({files:e})),Promise.resolve().then(()=>this.#t.validateMinNumberOfFiles(e)).catch(s=>{throw this.#l([s]),s}).then(()=>{if(!this.#p(e))throw new St(this.i18n("missingRequiredMetaField"))}).catch(s=>{throw s}).then(async()=>{let{currentUploads:s}=this.getState(),n=Object.values(s).flatMap(h=>h.fileIDs),o=[];Object.keys(e).forEach(h=>{let f=this.getFile(h);!f.progress.uploadStarted&&n.indexOf(h)===-1&&o.push(f.id)});let a=this.#v(o),l=await this.#k(a);return this.emit("complete",l),l}).catch(s=>{throw this.emit("error",s),this.log(s,"error"),s}))}},Qo=lu;var P1=0;function c(i,e,t,r,s,n){e||(e={});var o,a,l=e;if("ref"in l)for(a in l={},e)a=="ref"?o=e[a]:l[a]=e[a];var h={type:i,props:l,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--P1,__i:-1,__u:0,__source:s,__self:n};if(typeof i=="function"&&(o=i.defaultProps))for(a in o)l[a]===void 0&&(l[a]=o[a]);return X.vnode&&X.vnode(h),h}var im={name:"@uppy/informer",description:"A notification and error pop-up bar for Uppy.",version:"4.3.2",license:"MIT",main:"lib/index.js",style:"dist/style.min.css",type:"module",scripts:{build:"tsc --build tsconfig.build.json","build:css":"sass --load-path=../../ src/style.scss dist/style.css && postcss dist/style.css -u cssnano -o dist/style.min.css",typecheck:"tsc --build"},keywords:["file uploader","uppy","uppy-plugin","notification","bar","ui"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"],dependencies:{"@uppy/utils":"^6.2.2",preact:"^10.5.13"},peerDependencies:{"@uppy/core":"^4.5.2"},devDependencies:{cssnano:"^7.0.7",postcss:"^8.5.6","postcss-cli":"^11.0.1",sass:"^1.89.2",typescript:"^5.8.3"}};var rm=300,rn=class extends we{ref=$o();componentWillEnter(e){this.ref.current.style.opacity="1",this.ref.current.style.transform="none",setTimeout(e,rm)}componentWillLeave(e){this.ref.current.style.opacity="0",this.ref.current.style.transform="translateY(350%)",setTimeout(e,rm)}render(){let{children:e}=this.props;return c("div",{className:"uppy-Informer-animated",ref:this.ref,children:e})}};function R1(i,e){return Object.assign(i,e)}function L1(i,e){return i?.key??e}function M1(i,e){let t=i._ptgLinkedRefs||(i._ptgLinkedRefs={});return t[e]||(t[e]=r=>{i.refs[e]=r})}function sn(i){let e={};for(let t=0;t<i.length;t++)if(i[t]!=null){let r=L1(i[t],t.toString(36));e[r]=i[t]}return e}function I1(i,e){i=i||{},e=e||{};let t=o=>Object.hasOwn(e,o)?e[o]:i[o],r={},s=[];for(let o in i)Object.hasOwn(e,o)?s.length&&(r[o]=s,s=[]):s.push(o);let n={};for(let o in e){if(Object.hasOwn(r,o))for(let a=0;a<r[o].length;a++){let l=r[o][a];n[r[o][a]]=t(l)}n[o]=t(o)}for(let o=0;o<s.length;o++)n[s[o]]=t(s[o]);return n}var D1=i=>i,Jo=class extends we{constructor(e,t){super(e,t),this.refs={},this.state={children:sn(wt(wt(this.props.children))||[])},this.performAppear=this.performAppear.bind(this),this.performEnter=this.performEnter.bind(this),this.performLeave=this.performLeave.bind(this)}componentWillMount(){this.currentlyTransitioningKeys={},this.keysToAbortLeave=[],this.keysToEnter=[],this.keysToLeave=[]}componentDidMount(){let e=this.state.children;for(let t in e)e[t]&&this.performAppear(t)}componentWillReceiveProps(e){let t=sn(wt(e.children)||[]),r=this.state.children;this.setState(n=>({children:I1(n.children,t)}));let s;for(s in t)if(Object.hasOwn(t,s)){let n=r&&Object.hasOwn(r,s);t[s]&&n&&this.currentlyTransitioningKeys[s]?(this.keysToEnter.push(s),this.keysToAbortLeave.push(s)):t[s]&&!n&&!this.currentlyTransitioningKeys[s]&&this.keysToEnter.push(s)}for(s in r)if(Object.hasOwn(r,s)){let n=t&&Object.hasOwn(t,s);r[s]&&!n&&!this.currentlyTransitioningKeys[s]&&this.keysToLeave.push(s)}}componentDidUpdate(){let{keysToEnter:e}=this;this.keysToEnter=[],e.forEach(this.performEnter);let{keysToLeave:t}=this;this.keysToLeave=[],t.forEach(this.performLeave)}_finishAbort(e){let t=this.keysToAbortLeave.indexOf(e);t!==-1&&this.keysToAbortLeave.splice(t,1)}performAppear(e){this.currentlyTransitioningKeys[e]=!0;let t=this.refs[e];t?.componentWillAppear?t.componentWillAppear(this._handleDoneAppearing.bind(this,e)):this._handleDoneAppearing(e)}_handleDoneAppearing(e){let t=this.refs[e];t?.componentDidAppear&&t.componentDidAppear(),delete this.currentlyTransitioningKeys[e],this._finishAbort(e);let r=sn(wt(this.props.children)||[]);(!r||!Object.hasOwn(r,e))&&this.performLeave(e)}performEnter(e){this.currentlyTransitioningKeys[e]=!0;let t=this.refs[e];t?.componentWillEnter?t.componentWillEnter(this._handleDoneEntering.bind(this,e)):this._handleDoneEntering(e)}_handleDoneEntering(e){let t=this.refs[e];t?.componentDidEnter&&t.componentDidEnter(),delete this.currentlyTransitioningKeys[e],this._finishAbort(e);let r=sn(wt(this.props.children)||[]);(!r||!Object.hasOwn(r,e))&&this.performLeave(e)}performLeave(e){if(this.keysToAbortLeave.indexOf(e)!==-1)return;this.currentlyTransitioningKeys[e]=!0;let r=this.refs[e];r?.componentWillLeave?r.componentWillLeave(this._handleDoneLeaving.bind(this,e)):this._handleDoneLeaving(e)}_handleDoneLeaving(e){if(this.keysToAbortLeave.indexOf(e)!==-1)return;let r=this.refs[e];r?.componentDidLeave&&r.componentDidLeave(),delete this.currentlyTransitioningKeys[e];let s=sn(wt(this.props.children)||[]);if(s&&Object.hasOwn(s,e))this.performEnter(e);else{let n=R1({},this.state.children);delete n[e],this.setState({children:n})}}render({childFactory:e,transitionLeave:t,transitionName:r,transitionAppear:s,transitionEnter:n,transitionLeaveTimeout:o,transitionEnterTimeout:a,transitionAppearTimeout:l,component:h,...f},{children:m}){let w=Object.entries(m).map(([y,k])=>{if(!k)return;let C=M1(this,y);return Ys(e(k),{ref:C,key:y})}).filter(Boolean);return ki(h,f,w)}};Jo.defaultProps={component:"span",childFactory:D1};var sm=Jo;var ts=class extends ni{static VERSION=im.version;constructor(e,t){super(e,t),this.type="progressindicator",this.id=this.opts.id||"Informer",this.title="Informer"}render=e=>c("div",{className:"uppy uppy-Informer",children:c(sm,{children:e.info.map(t=>c(rn,{children:c("p",{role:"alert",children:[t.message," ",t.details&&c("span",{"aria-label":t.details,"data-microtip-position":"top-left","data-microtip-size":"medium",role:"tooltip",onClick:()=>alert(`${t.message}
|
|
94
94
|
|
|
95
|
-
${t.details}`),children:"?"})]})},t.message))})});install(){let{target:e}=this.opts;e&&this.mount(e,this)}};function N1(){return c("svg",{width:"26",height:"26",viewBox:"0 0 26 26",xmlns:"http://www.w3.org/2000/svg",children:c("g",{fill:"none","fill-rule":"evenodd",children:[c("circle",{fill:"#FFF",cx:"13",cy:"13",r:"13"}),c("path",{d:"M21.64 13.205c0-.639-.057-1.252-.164-1.841H13v3.481h4.844a4.14 4.14 0 01-1.796 2.716v2.259h2.908c1.702-1.567 2.684-3.875 2.684-6.615z",fill:"#4285F4","fill-rule":"nonzero"}),c("path",{d:"M13 22c2.43 0 4.467-.806 5.956-2.18l-2.908-2.259c-.806.54-1.837.86-3.048.86-2.344 0-4.328-1.584-5.036-3.711H4.957v2.332A8.997 8.997 0 0013 22z",fill:"#34A853","fill-rule":"nonzero"}),c("path",{d:"M7.964 14.71A5.41 5.41 0 017.682 13c0-.593.102-1.17.282-1.71V8.958H4.957A8.996 8.996 0 004 13c0 1.452.348 2.827.957 4.042l3.007-2.332z",fill:"#FBBC05","fill-rule":"nonzero"}),c("path",{d:"M13 7.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C17.463 4.891 15.426 4 13 4a8.997 8.997 0 00-8.043 4.958l3.007 2.332C8.672 9.163 10.656 7.58 13 7.58z",fill:"#EA4335","fill-rule":"nonzero"}),c("path",{d:"M4 4h18v18H4z"})]})})}function B1({pluginName:i,i18n:e,onAuth:t}){let r=i==="Google Drive",s=Vi(n=>{n.preventDefault(),t()},[t]);return c("form",{onSubmit:s,children:r?c("button",{type:"submit",className:"uppy-u-reset uppy-c-btn uppy-c-btn-primary uppy-Provider-authBtn uppy-Provider-btn-google","data-uppy-super-focusable":!0,children:[c(N1,{}),e("signInWithGoogle")]}):c("button",{type:"submit",className:"uppy-u-reset uppy-c-btn uppy-c-btn-primary uppy-Provider-authBtn","data-uppy-super-focusable":!0,children:e("authenticateWith",{pluginName:i})})})}var U1=({pluginName:i,i18n:e,onAuth:t})=>c(B1,{pluginName:i,i18n:e,onAuth:t});function ea({loading:i,pluginName:e,pluginIcon:t,i18n:r,handleAuth:s,renderForm:n=U1}){return c("div",{className:"uppy-Provider-auth",children:[c("div",{className:"uppy-Provider-authIcon",children:t()}),c("div",{className:"uppy-Provider-authTitle",children:r("authenticateWithTitle",{pluginName:e})}),n({pluginName:e,i18n:r,loading:i,onAuth:s})]})}function nn(i){return{...i,type:i.mimeType,extension:i.name?yr(i.name).extension:null}}var Sm=ye(ht(),1);var ia={name:"@uppy/provider-views",description:"View library for Uppy remote provider plugins.",version:"4.5.3",license:"MIT",main:"lib/index.js",style:"dist/style.min.css",type:"module",scripts:{build:"tsc --build tsconfig.build.json","build:css":"sass --load-path=../../ src/style.scss dist/style.css && postcss dist/style.css -u cssnano -o dist/style.min.css",typecheck:"tsc --build",test:"vitest run --environment=jsdom --silent='passed-only'"},keywords:["file uploader","uppy"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"],dependencies:{"@uppy/utils":"^6.2.2",classnames:"^2.2.6",nanoid:"^5.0.9","p-queue":"^8.0.0",preact:"^10.5.13"},devDependencies:{"@types/gapi":"^0.0.47","@types/google.accounts":"^0.0.14","@types/google.picker":"^0.0.42",cssnano:"^7.0.7",jsdom:"^26.1.0",postcss:"^8.5.6","postcss-cli":"^11.0.1",sass:"^1.89.2",typescript:"^5.8.3",vitest:"^3.2.4"},peerDependencies:{"@uppy/core":"^4.5.3"}};var H1={position:"relative",width:"100%",minHeight:"100%"},j1={position:"absolute",top:0,left:0,width:"100%",overflow:"visible"},cu=class extends we{constructor(e){super(e),this.focusElement=null,this.state={offset:0,height:0}}componentDidMount(){this.resize(),window.addEventListener("resize",this.handleResize)}componentWillUpdate(){this.base.contains(document.activeElement)&&(this.focusElement=document.activeElement)}componentDidUpdate(){this.focusElement?.parentNode&&document.activeElement!==this.focusElement&&this.focusElement.focus(),this.focusElement=null,this.resize()}componentWillUnmount(){window.removeEventListener("resize",this.handleResize)}handleScroll=()=>{this.setState({offset:this.base.scrollTop})};handleResize=()=>{this.resize()};resize(){let{height:e}=this.state;e!==this.base.offsetHeight&&this.setState({height:this.base.offsetHeight})}render({data:e,rowHeight:t,renderRow:r,overscanCount:s=10,...n}){let{offset:o,height:a}=this.state,l=Math.floor(o/t),h=Math.floor(a/t);s&&(l=Math.max(0,l-l%s),h+=s);let f=l+h+4,m=e.slice(l,f),w={...H1,height:e.length*t},y={...j1,top:l*t};return c("div",{onScroll:this.handleScroll,...n,children:c("div",{role:"presentation",style:w,children:c("div",{role:"presentation",style:y,children:m.map(r)})})})}},ra=cu;var nm=ye(ht(),1);function q1(){return c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:11,height:14.5,viewBox:"0 0 44 58",children:c("path",{d:"M27.437.517a1 1 0 0 0-.094.03H4.25C2.037.548.217 2.368.217 4.58v48.405c0 2.212 1.82 4.03 4.03 4.03H39.03c2.21 0 4.03-1.818 4.03-4.03V15.61a1 1 0 0 0-.03-.28 1 1 0 0 0 0-.093 1 1 0 0 0-.03-.032 1 1 0 0 0 0-.03 1 1 0 0 0-.032-.063 1 1 0 0 0-.03-.063 1 1 0 0 0-.032 0 1 1 0 0 0-.03-.063 1 1 0 0 0-.032-.03 1 1 0 0 0-.03-.063 1 1 0 0 0-.063-.062l-14.593-14a1 1 0 0 0-.062-.062A1 1 0 0 0 28 .708a1 1 0 0 0-.374-.157 1 1 0 0 0-.156 0 1 1 0 0 0-.03-.03l-.003-.003zM4.25 2.547h22.218v9.97c0 2.21 1.82 4.03 4.03 4.03h10.564v36.438a2.02 2.02 0 0 1-2.032 2.032H4.25c-1.13 0-2.032-.9-2.032-2.032V4.58c0-1.13.902-2.032 2.03-2.032zm24.218 1.345l10.375 9.937.75.718H30.5c-1.13 0-2.032-.9-2.032-2.03V3.89z"})})}function $1(){return c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",style:{minWidth:16,marginRight:3},viewBox:"0 0 276.157 276.157",children:c("path",{d:"M273.08 101.378c-3.3-4.65-8.86-7.32-15.254-7.32h-24.34V67.59c0-10.2-8.3-18.5-18.5-18.5h-85.322c-3.63 0-9.295-2.875-11.436-5.805l-6.386-8.735c-4.982-6.814-15.104-11.954-23.546-11.954H58.73c-9.292 0-18.638 6.608-21.737 15.372l-2.033 5.752c-.958 2.71-4.72 5.37-7.596 5.37H18.5C8.3 49.09 0 57.39 0 67.59v167.07c0 .886.16 1.73.443 2.52.152 3.306 1.18 6.424 3.053 9.064 3.3 4.652 8.86 7.32 15.255 7.32h188.487c11.395 0 23.27-8.425 27.035-19.18l40.677-116.188c2.11-6.035 1.43-12.164-1.87-16.816zM18.5 64.088h8.864c9.295 0 18.64-6.607 21.738-15.37l2.032-5.75c.96-2.712 4.722-5.373 7.597-5.373h29.565c3.63 0 9.295 2.876 11.437 5.806l6.386 8.735c4.982 6.815 15.104 11.954 23.546 11.954h85.322c1.898 0 3.5 1.602 3.5 3.5v26.47H69.34c-11.395 0-23.27 8.423-27.035 19.178L15 191.23V67.59c0-1.898 1.603-3.5 3.5-3.5zm242.29 49.15l-40.676 116.188c-1.674 4.78-7.812 9.135-12.877 9.135H18.75c-1.447 0-2.576-.372-3.02-.997-.442-.625-.422-1.814.057-3.18l40.677-116.19c1.674-4.78 7.812-9.134 12.877-9.134h188.487c1.448 0 2.577.372 3.02.997.443.625.423 1.814-.056 3.18z"})})}function V1(){return c("svg",{"aria-hidden":"true",focusable:"false",style:{width:16,marginRight:4},viewBox:"0 0 58 58",children:[c("path",{d:"M36.537 28.156l-11-7a1.005 1.005 0 0 0-1.02-.033C24.2 21.3 24 21.635 24 22v14a1 1 0 0 0 1.537.844l11-7a1.002 1.002 0 0 0 0-1.688zM26 34.18V23.82L34.137 29 26 34.18z"}),c("path",{d:"M57 6H1a1 1 0 0 0-1 1v44a1 1 0 0 0 1 1h56a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1zM10 28H2v-9h8v9zm-8 2h8v9H2v-9zm10 10V8h34v42H12V40zm44-12h-8v-9h8v9zm-8 2h8v9h-8v-9zm8-22v9h-8V8h8zM2 8h8v9H2V8zm0 42v-9h8v9H2zm54 0h-8v-9h8v9z"})]})}function is({itemIconString:i,alt:e=void 0}){if(i===null)return null;switch(i){case"file":return c(q1,{});case"folder":return c($1,{});case"video":return c(V1,{});default:return c("img",{src:i,alt:e,referrerPolicy:"no-referrer",loading:"lazy",width:16,height:16})}}function W1({file:i,toggleCheckbox:e,className:t,isDisabled:r,restrictionError:s,showTitles:n,children:o=null,i18n:a}){return c("li",{className:t,title:r&&s?s:void 0,children:[c("input",{type:"checkbox",className:"uppy-u-reset uppy-ProviderBrowserItem-checkbox uppy-ProviderBrowserItem-checkbox--grid",onChange:e,name:"listitem",id:i.id,checked:i.status==="checked",disabled:r,"data-uppy-super-focusable":!0}),c("label",{htmlFor:i.id,"aria-label":i.data.name??a("unnamed"),className:"uppy-u-reset uppy-ProviderBrowserItem-inner",children:[c(is,{itemIconString:i.data.thumbnail||i.data.icon}),n&&(i.data.name??a("unnamed")),o]})]})}var uu=W1;function hu({file:i,openFolder:e,className:t,isDisabled:r,restrictionError:s,toggleCheckbox:n,showTitles:o,i18n:a}){return c("li",{className:t,title:i.status!=="checked"&&s?s:void 0,children:[c("input",{type:"checkbox",className:"uppy-u-reset uppy-ProviderBrowserItem-checkbox",onChange:n,name:"listitem",id:i.id,checked:i.status==="checked","aria-label":i.data.isFolder?a("allFilesFromFolderNamed",{name:i.data.name??a("unnamed")}):null,disabled:r,"data-uppy-super-focusable":!0}),i.data.isFolder?c("button",{type:"button",className:"uppy-u-reset uppy-c-btn uppy-ProviderBrowserItem-inner",onClick:()=>e(i.id),"aria-label":a("openFolderNamed",{name:i.data.name??a("unnamed")}),children:[c("div",{className:"uppy-ProviderBrowserItem-iconWrap",children:c(is,{itemIconString:i.data.icon})}),o&&i.data.name?c("span",{children:i.data.name}):a("unnamed")]}):c("label",{htmlFor:i.id,className:"uppy-u-reset uppy-ProviderBrowserItem-inner",children:[c("div",{className:"uppy-ProviderBrowserItem-iconWrap",children:c(is,{itemIconString:i.data.icon})}),o&&(i.data.name??a("unnamed"))]})]})}function du(i){let{viewType:e,toggleCheckbox:t,showTitles:r,i18n:s,openFolder:n,file:o,utmSource:a}=i,l=o.type==="folder"?null:o.restrictionError,h=!!l&&o.status!=="checked",f={file:o,openFolder:n,toggleCheckbox:t,utmSource:a,i18n:s,viewType:e,showTitles:r,className:(0,nm.default)("uppy-ProviderBrowserItem",{"uppy-ProviderBrowserItem--disabled":h},{"uppy-ProviderBrowserItem--noPreview":o.data.icon==="video"},{"uppy-ProviderBrowserItem--is-checked":o.status==="checked"},{"uppy-ProviderBrowserItem--is-partial":o.status==="partial"}),isDisabled:h,restrictionError:l};switch(e){case"grid":return c(uu,{...f});case"list":return c(hu,{...f});case"unsplash":return c(uu,{...f,children:c("a",{href:`${o.data.author.url}?utm_source=${a}&utm_medium=referral`,target:"_blank",rel:"noopener noreferrer",className:"uppy-ProviderBrowserItem-author",tabIndex:-1,children:o.data.author.name})});default:throw new Error(`There is no such type ${e}`)}}function G1(i){let{displayedPartialTree:e,viewType:t,toggleCheckbox:r,handleScroll:s,showTitles:n,i18n:o,isLoading:a,openFolder:l,noResultsLabel:h,virtualList:f,utmSource:m}=i,[w,y]=Kt(!1);if(si(()=>{let C=R=>{R.key==="Shift"&&y(!1)},O=R=>{R.key==="Shift"&&y(!0)};return document.addEventListener("keyup",C),document.addEventListener("keydown",O),()=>{document.removeEventListener("keyup",C),document.removeEventListener("keydown",O)}},[]),a)return c("div",{className:"uppy-Provider-loading",children:typeof a=="string"?a:o("loading")});if(e.length===0)return c("div",{className:"uppy-Provider-empty",children:h});let k=C=>c(du,{viewType:t,toggleCheckbox:O=>{O.stopPropagation(),O.preventDefault(),document.getSelection()?.removeAllRanges(),r(C,w)},showTitles:n,i18n:o,openFolder:l,file:C,utmSource:m},C.id);return f?c("div",{className:"uppy-ProviderBrowser-body",children:c(ra,{className:"uppy-ProviderBrowser-list",data:e,renderRow:k,rowHeight:35.5})}):c("div",{className:"uppy-ProviderBrowser-body",children:c("ul",{className:"uppy-ProviderBrowser-list",onScroll:s,tabIndex:-1,children:e.map(k)})})}var sa=G1;var om=ye(ht(),1);var K1=i=>i.filter(t=>t.type==="file"&&t.status==="checked"?!0:t.type==="folder"&&t.status==="checked"?!i.some(s=>s.type!=="root"&&s.parentId===t.id):!1).length,na=K1;function on({cancelSelection:i,donePicking:e,i18n:t,partialTree:r,validateAggregateRestrictions:s}){let n=$i(()=>s(r),[r,s]),o=$i(()=>na(r),[r]);return o===0?null:c("div",{className:"uppy-ProviderBrowser-footer",children:[c("div",{className:"uppy-ProviderBrowser-footer-buttons",children:[c("button",{className:(0,om.default)("uppy-u-reset uppy-c-btn uppy-c-btn-primary",{"uppy-c-btn--disabled":n}),disabled:!!n,onClick:e,type:"button",children:t("selectX",{smart_count:o})}),c("button",{className:"uppy-u-reset uppy-c-btn uppy-c-btn-link",onClick:i,type:"button",children:t("cancel")})]}),n&&c("div",{className:"uppy-ProviderBrowser-footer-error",children:n})]})}function X1({searchString:i,setSearchString:e,submitSearchString:t,wrapperClassName:r,inputClassName:s,inputLabel:n,clearSearchLabel:o="",showButton:a=!1,buttonLabel:l="",buttonCSSClassName:h=""}){let f=y=>{e(y.target.value)},m=Vi(y=>{y.preventDefault(),t()},[t]),[w]=Kt(()=>{let y=document.createElement("form");return y.setAttribute("tabindex","-1"),y.id=Wi(),y});return si(()=>(document.body.appendChild(w),w.addEventListener("submit",m),()=>{w.removeEventListener("submit",m),document.body.removeChild(w)}),[w,m]),c("section",{className:r,children:[c("input",{className:`uppy-u-reset ${s}`,type:"search","aria-label":n,placeholder:n,value:i,onInput:f,form:w.id,"data-uppy-super-focusable":!0}),!a&&c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon uppy-ProviderBrowser-searchFilterIcon",width:"12",height:"12",viewBox:"0 0 12 12",children:c("path",{d:"M8.638 7.99l3.172 3.172a.492.492 0 1 1-.697.697L7.91 8.656a4.977 4.977 0 0 1-2.983.983C2.206 9.639 0 7.481 0 4.819 0 2.158 2.206 0 4.927 0c2.721 0 4.927 2.158 4.927 4.82a4.74 4.74 0 0 1-1.216 3.17zm-3.71.685c2.176 0 3.94-1.726 3.94-3.856 0-2.129-1.764-3.855-3.94-3.855C2.75.964.984 2.69.984 4.819c0 2.13 1.765 3.856 3.942 3.856z"})}),!a&&i&&c("button",{className:"uppy-u-reset uppy-ProviderBrowser-searchFilterReset",type:"button","aria-label":o,title:o,onClick:()=>e(""),children:c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",viewBox:"0 0 19 19",children:c("path",{d:"M17.318 17.232L9.94 9.854 9.586 9.5l-.354.354-7.378 7.378h.707l-.62-.62v.706L9.318 9.94l.354-.354-.354-.354L1.94 1.854v.707l.62-.62h-.706l7.378 7.378.354.354.354-.354 7.378-7.378h-.707l.622.62v-.706L9.854 9.232l-.354.354.354.354 7.378 7.378.708-.707-7.38-7.378v.708l7.38-7.38.353-.353-.353-.353-.622-.622-.353-.353-.354.352-7.378 7.38h.708L2.56 1.23 2.208.88l-.353.353-.622.62-.353.355.352.353 7.38 7.38v-.708l-7.38 7.38-.353.353.352.353.622.622.353.353.354-.353 7.38-7.38h-.708l7.38 7.38z"})})}),a&&c("button",{className:`uppy-u-reset uppy-c-btn uppy-c-btn-primary ${h}`,type:"submit",form:w.id,children:l})]})}var rs=X1;var Y1=(i,e,t)=>({id:i.id,source:e.id,name:i.name||i.id,type:i.mimeType,isRemote:!0,data:i,preview:i.thumbnail||void 0,meta:{authorName:i.author?.name,authorUrl:i.author?.url,relativePath:i.relDirPath||null,absolutePath:i.absDirPath},body:{fileId:i.id},remote:{companionUrl:e.opts.companionUrl,url:`${t.fileUrl(i.requestPath)}`,body:{fileId:i.id},providerName:t.name,provider:t.provider,requestClientId:t.provider}}),am=Y1;var Z1=(i,e,t)=>{let r=i.map(o=>am(o,e,t)),s=[],n=[];r.forEach(o=>{e.uppy.checkIfFileAlreadyExists(Go(o,e.uppy.getID()))?n.push(o):s.push(o)}),s.length>0&&e.uppy.info(e.uppy.i18n("addedNumFiles",{numFiles:s.length})),n.length>0&&e.uppy.info(`Not adding ${n.length} files because they already exist`),e.uppy.addFiles(s)},oa=Z1;var Q1=(i,e,t,r)=>{let s=e.findIndex(n=>n.id===r);if(s!==-1&&t){let n=e.findIndex(a=>a.id===i);return e.slice(Math.min(s,n),Math.max(s,n)+1).map(a=>a.id)}return[i]},aa=Q1;var J1=i=>e=>{if(!e.isAuthError){if(e.name==="AbortError"){i.log("Aborting request","warning");return}i.log(e,"error"),e.name==="UserFacingApiError"&&i.info({message:i.i18n("companionError"),details:i.i18n(e.message)},"warning",5e3)}},_i=J1;var eS=(i,e)=>{let t=i.find(s=>s.id===e),r=[];for(;r=[t,...r],t.type!=="root";){let s=t.parentId;t=i.find(n=>n.id===s)}return r},lm=eS;var cm=(i,e,t)=>{let r=e===null?"null":e;if(t[r])return t[r];let s=i.find(o=>o.id===e);if(s.type==="root")return[];let n=[...cm(i,s.parentId,t),s];return t[r]=n,n},tS=i=>{let e=Object.create(null);return i.filter(s=>s.type==="file"&&s.status==="checked").map(s=>{let n=cm(i,s.id,e),o=n.findIndex(f=>f.type==="folder"&&f.status==="checked"),a=n.slice(o),l=`/${n.map(f=>f.data.name).join("/")}`,h=a.length===1?void 0:a.map(f=>f.data.name).join("/");return{...s.data,absDirPath:l,relDirPath:h}})},la=tS;var fu=ye(hm(),1);var ln=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},mu=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},dm=i=>globalThis.DOMException===void 0?new mu(i):new DOMException(i),pm=i=>{let e=i.reason===void 0?dm("This operation was aborted."):i.reason;return e instanceof Error?e:dm(e)};function gu(i,e){let{milliseconds:t,fallback:r,message:s,customTimers:n={setTimeout,clearTimeout}}=e,o,a,h=new Promise((f,m)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(e.signal){let{signal:y}=e;y.aborted&&m(pm(y)),a=()=>{m(pm(y))},y.addEventListener("abort",a,{once:!0})}if(t===Number.POSITIVE_INFINITY){i.then(f,m);return}let w=new ln;o=n.setTimeout.call(void 0,()=>{if(r){try{f(r())}catch(y){m(y)}return}typeof i.cancel=="function"&&i.cancel(),s===!1?f():s instanceof Error?m(s):(w.message=s??`Promise timed out after ${t} milliseconds`,m(w))},t),(async()=>{try{f(await i)}catch(y){m(y)}})()}).finally(()=>{h.clear(),a&&e.signal&&e.signal.removeEventListener("abort",a)});return h.clear=()=>{n.clearTimeout.call(void 0,o),o=void 0},h}function bu(i,e,t){let r=0,s=i.length;for(;s>0;){let n=Math.trunc(s/2),o=r+n;t(i[o],e)<=0?(r=++o,s-=n+1):s=n}return r}var cn=class{#e=[];enqueue(e,t){t={priority:0,...t};let r={priority:t.priority,id:t.id,run:e};if(this.size===0||this.#e[this.size-1].priority>=t.priority){this.#e.push(r);return}let s=bu(this.#e,r,(n,o)=>o.priority-n.priority);this.#e.splice(s,0,r)}setPriority(e,t){let r=this.#e.findIndex(n=>n.id===e);if(r===-1)throw new ReferenceError(`No promise function with the id "${e}" exists in the queue.`);let[s]=this.#e.splice(r,1);this.enqueue(s.run,{priority:t,id:e})}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(t=>t.priority===e.priority).map(t=>t.run)}get size(){return this.#e.length}};var un=class extends fu.default{#e;#t;#i=0;#r;#s;#o=0;#n;#l;#a;#d;#c=0;#h;#u;#f;#g=1n;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:cn,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#t=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#r=e.intervalCap,this.#s=e.interval,this.#a=new e.queueClass,this.#d=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#f=e.throwOnTimeout===!0,this.#u=e.autoStart===!1}get#p(){return this.#t||this.#i<this.#r}get#w(){return this.#c<this.#h}#b(){this.#c--,this.#S(),this.emit("next")}#y(){this.#x(),this.#m(),this.#l=void 0}get#T(){let e=Date.now();if(this.#n===void 0){let t=this.#o-e;if(t<0)this.#i=this.#e?this.#c:0;else return this.#l===void 0&&(this.#l=setTimeout(()=>{this.#y()},t)),!0}return!1}#S(){if(this.#a.size===0)return this.#n&&clearInterval(this.#n),this.#n=void 0,this.emit("empty"),this.#c===0&&this.emit("idle"),!1;if(!this.#u){let e=!this.#T;if(this.#p&&this.#w){let t=this.#a.dequeue();return t?(this.emit("active"),t(),e&&this.#m(),!0):!1}}return!1}#m(){this.#t||this.#n!==void 0||(this.#n=setInterval(()=>{this.#x()},this.#s),this.#o=Date.now()+this.#s)}#x(){this.#i===0&&this.#c===0&&this.#n&&(clearInterval(this.#n),this.#n=void 0),this.#i=this.#e?this.#c:0,this.#v()}#v(){for(;this.#S(););}get concurrency(){return this.#h}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#h=e,this.#v()}async#_(e){return new Promise((t,r)=>{e.addEventListener("abort",()=>{r(e.reason)},{once:!0})})}setPriority(e,t){this.#a.setPriority(e,t)}async add(e,t={}){return t.id??=(this.#g++).toString(),t={timeout:this.timeout,throwOnTimeout:this.#f,...t},new Promise((r,s)=>{this.#a.enqueue(async()=>{this.#c++,this.#i++;try{t.signal?.throwIfAborted();let n=e({signal:t.signal});t.timeout&&(n=gu(Promise.resolve(n),{milliseconds:t.timeout})),t.signal&&(n=Promise.race([n,this.#_(t.signal)]));let o=await n;r(o),this.emit("completed",o)}catch(n){if(n instanceof ln&&!t.throwOnTimeout){r();return}s(n),this.emit("error",n)}finally{this.#b()}},t),this.emit("add"),this.#S()})}async addAll(e,t){return Promise.all(e.map(async r=>this.add(r,t)))}start(){return this.#u?(this.#u=!1,this.#v(),this):this}pause(){this.#u=!0}clear(){this.#a=new this.#d}async onEmpty(){this.#a.size!==0&&await this.#E("empty")}async onSizeLessThan(e){this.#a.size<e||await this.#E("next",()=>this.#a.size<e)}async onIdle(){this.#c===0&&this.#a.size===0||await this.#E("idle")}async#E(e,t){return new Promise(r=>{let s=()=>{t&&!t()||(this.off(e,s),r())};this.on(e,s)})}get size(){return this.#a.size}sizeBy(e){return this.#a.filter(e).length}get pending(){return this.#c}get isPaused(){return this.#u}};var sS=i=>i.map(e=>({...e})),ua=sS;var fm=async(i,e,t,r,s)=>{let n=[],o=t.cached?t.nextPagePath:t.id;for(;o;){let m=await r(o);n=n.concat(m.items),o=m.nextPagePath}let a=n.filter(m=>m.isFolder===!0),l=n.filter(m=>m.isFolder===!1),h=a.map(m=>({type:"folder",id:m.requestPath,cached:!1,nextPagePath:null,status:"checked",parentId:t.id,data:m})),f=l.map(m=>{let w=s(m);return{type:"file",id:m.requestPath,restrictionError:w,status:w?"unchecked":"checked",parentId:t.id,data:m}});t.cached=!0,t.nextPagePath=null,e.push(...f,...h),h.forEach(async m=>{i.add(()=>fm(i,e,m,r,s))})},nS=async(i,e,t,r)=>{let s=new un({concurrency:6}),n=ua(i);return n.filter(a=>a.type==="folder"&&a.status==="checked"&&(a.cached===!1||a.nextPagePath)).forEach(a=>{s.add(()=>fm(s,n,a,e,t))}),s.on("completed",()=>{let a=n.filter(l=>l.type==="file"&&l.status==="checked").length;r(a)}),await s.onIdle(),n},mm=nS;var oS=(i,e,t,r,s)=>{let n=e.filter(y=>y.isFolder===!0),o=e.filter(y=>y.isFolder===!1),a=t.type==="folder"&&t.status==="checked",l=n.map(y=>({type:"folder",id:y.requestPath,cached:!1,nextPagePath:null,status:a?"checked":"unchecked",parentId:t.id,data:y})),h=o.map(y=>{let k=s(y);return{type:"file",id:y.requestPath,restrictionError:k,status:a&&!k?"checked":"unchecked",parentId:t.id,data:y}}),f={...t,cached:!0,nextPagePath:r};return[...i.map(y=>y.id===f.id?f:y),...l,...h]},gm=oS;var aS=(i,e,t,r,s)=>{let n=i.find(k=>k.id===e),o=t.filter(k=>k.isFolder===!0),a=t.filter(k=>k.isFolder===!1),l={...n,nextPagePath:r},h=i.map(k=>k.id===l.id?l:k),f=l.type==="folder"&&l.status==="checked",m=o.map(k=>({type:"folder",id:k.requestPath,cached:!1,nextPagePath:null,status:f?"checked":"unchecked",parentId:l.id,data:k})),w=a.map(k=>{let C=s(k);return{type:"file",id:k.requestPath,restrictionError:C,status:f&&!C?"checked":"unchecked",parentId:l.id,data:k}});return[...h,...m,...w]},bm=aS;var yu=(i,e,t)=>{i.filter(s=>s.type!=="root"&&s.parentId===e).forEach(s=>{s.status=t&&!(s.type==="file"&&s.restrictionError)?"checked":"unchecked",yu(i,s.id,t)})},vu=(i,e)=>{let t=i.find(o=>o.id===e);if(t.type==="root")return;let r=i.filter(o=>o.type!=="root"&&o.parentId===t.id&&!(o.type==="file"&&o.restrictionError)),s=r.every(o=>o.status==="checked"),n=r.every(o=>o.status==="unchecked");s?t.status="checked":n?t.status="unchecked":t.status="partial",vu(i,t.parentId)},lS=(i,e)=>{let t=ua(i);if(e.length>=2){let r=t.filter(s=>s.type!=="root"&&e.includes(s.id));r.forEach(s=>{s.type==="file"?s.status=s.restrictionError?"unchecked":"checked":s.status="checked"}),r.forEach(s=>{yu(t,s.id,!0)}),vu(t,r[0].parentId)}else{let r=t.find(s=>s.id===e[0]);r.status=r.status==="checked"?"unchecked":"checked",yu(t,r.id,r.status==="checked"),vu(t,r.parentId)}return t},ym=lS;var vr={afterOpenFolder:gm,afterScrollFolder:bm,afterToggleCheckbox:ym,afterFill:mm};var cS=i=>{let{scrollHeight:e,scrollTop:t,offsetHeight:r}=i.target;return e-(t+r)<50},ha=cS;var vm=ye(ht(),1);function wu(i){let{openFolder:e,title:t,breadcrumbsIcon:r,breadcrumbs:s,i18n:n}=i;return c("div",{className:"uppy-Provider-breadcrumbs",children:[c("div",{className:"uppy-Provider-breadcrumbsIcon",children:r}),s.map((o,a)=>c(_e,{children:[c("button",{type:"button",className:"uppy-u-reset uppy-c-btn",onClick:()=>e(o.id),children:o.type==="root"?t:o.data.name??n("unnamed")},o.id),s.length===a+1?"":" / "]}))]})}function Su({i18n:i,logout:e,username:t}){return c(_e,{children:[t&&c("span",{className:"uppy-ProviderBrowser-user",children:t},"username"),c("button",{type:"button",onClick:e,className:"uppy-u-reset uppy-c-btn uppy-ProviderBrowser-userLogout",children:i("logOut")},"logout")]})}function Eu(i){return c("div",{className:"uppy-ProviderBrowser-header",children:c("div",{className:(0,vm.default)("uppy-ProviderBrowser-headerBar",!i.showBreadcrumbs&&"uppy-ProviderBrowser-headerBar--simple"),children:[i.showBreadcrumbs&&c(wu,{openFolder:i.openFolder,breadcrumbs:i.breadcrumbs,breadcrumbsIcon:i.pluginIcon?.(),title:i.title,i18n:i.i18n}),c(Su,{logout:i.logout,username:i.username,i18n:i.i18n})]})})}function dn(){return c("svg",{"aria-hidden":"true",focusable:"false",width:"30",height:"30",viewBox:"0 0 30 30",children:c("path",{d:"M15 30c8.284 0 15-6.716 15-15 0-8.284-6.716-15-15-15C6.716 0 0 6.716 0 15c0 8.284 6.716 15 15 15zm4.258-12.676v6.846h-8.426v-6.846H5.204l9.82-12.364 9.82 12.364H19.26z"})})}var wm=i=>({authenticated:void 0,partialTree:[{type:"root",id:i,cached:!1,nextPagePath:null}],currentFolderId:i,searchString:"",didFirstRender:!1,username:null,loading:!1}),hn=class{static VERSION=ia.version;plugin;provider;opts;isHandlingScroll=!1;lastCheckbox=null;constructor(e,t){this.plugin=e,this.provider=t.provider;let r={viewType:"list",showTitles:!0,showFilter:!0,showBreadcrumbs:!0,loadAllFiles:!1,virtualList:!1};this.opts={...r,...t},this.openFolder=this.openFolder.bind(this),this.logout=this.logout.bind(this),this.handleAuth=this.handleAuth.bind(this),this.handleScroll=this.handleScroll.bind(this),this.resetPluginState=this.resetPluginState.bind(this),this.donePicking=this.donePicking.bind(this),this.render=this.render.bind(this),this.cancelSelection=this.cancelSelection.bind(this),this.toggleCheckbox=this.toggleCheckbox.bind(this),this.resetPluginState(),this.plugin.uppy.on("dashboard:close-panel",this.resetPluginState),this.plugin.uppy.registerRequestClient(this.provider.provider,this.provider)}resetPluginState(){this.plugin.setPluginState(wm(this.plugin.rootFolderId))}tearDown(){}setLoading(e){this.plugin.setPluginState({loading:e})}cancelSelection(){let{partialTree:e}=this.plugin.getPluginState(),t=e.map(r=>r.type==="root"?r:{...r,status:"unchecked"});this.plugin.setPluginState({partialTree:t})}#e;async#t(e){this.#e?.abort();let t=new AbortController;this.#e=t;let r=()=>{t.abort()};try{this.plugin.uppy.on("dashboard:close-panel",r),this.plugin.uppy.on("cancel-all",r),await e(t.signal)}finally{this.plugin.uppy.off("dashboard:close-panel",r),this.plugin.uppy.off("cancel-all",r),this.#e=void 0}}async openFolder(e){this.lastCheckbox=null;let{partialTree:t}=this.plugin.getPluginState(),r=t.find(s=>s.id===e);if(r.cached){this.plugin.setPluginState({currentFolderId:e,searchString:""});return}this.setLoading(!0),await this.#t(async s=>{let n=e,o=[];do{let{username:l,nextPagePath:h,items:f}=await this.provider.list(n,{signal:s});this.plugin.setPluginState({username:l}),n=h,o=o.concat(f),this.setLoading(this.plugin.uppy.i18n("loadedXFiles",{numFiles:o.length}))}while(this.opts.loadAllFiles&&n);let a=vr.afterOpenFolder(t,o,r,n,this.validateSingleFile);this.plugin.setPluginState({partialTree:a,currentFolderId:e,searchString:""})}).catch(_i(this.plugin.uppy)),this.setLoading(!1)}async logout(){await this.#t(async e=>{let t=await this.provider.logout({signal:e});if(t.ok){if(!t.revoked){let r=this.plugin.uppy.i18n("companionUnauthorizeHint",{provider:this.plugin.title,url:t.manual_revoke_url});this.plugin.uppy.info(r,"info",7e3)}this.plugin.setPluginState({...wm(this.plugin.rootFolderId),authenticated:!1})}}).catch(_i(this.plugin.uppy))}async handleAuth(e){await this.#t(async t=>{this.setLoading(!0),await this.provider.login({authFormData:e,signal:t}),this.plugin.setPluginState({authenticated:!0}),await Promise.all([this.provider.fetchPreAuthToken(),this.openFolder(this.plugin.rootFolderId)])}).catch(_i(this.plugin.uppy)),this.setLoading(!1)}async handleScroll(e){let{partialTree:t,currentFolderId:r}=this.plugin.getPluginState(),s=t.find(n=>n.id===r);ha(e)&&!this.isHandlingScroll&&s.nextPagePath&&(this.isHandlingScroll=!0,await this.#t(async n=>{let{nextPagePath:o,items:a}=await this.provider.list(s.nextPagePath,{signal:n}),l=vr.afterScrollFolder(t,r,a,o,this.validateSingleFile);this.plugin.setPluginState({partialTree:l})}).catch(_i(this.plugin.uppy)),this.isHandlingScroll=!1)}validateSingleFile=e=>{let t=nn(e);return this.plugin.uppy.validateSingleFile(t)};async donePicking(){let{partialTree:e}=this.plugin.getPluginState();this.setLoading(!0),await this.#t(async t=>{let r=await vr.afterFill(e,o=>this.provider.list(o,{signal:t}),this.validateSingleFile,o=>{this.setLoading(this.plugin.uppy.i18n("addedNumFiles",{numFiles:o}))});if(this.validateAggregateRestrictions(r)){this.plugin.setPluginState({partialTree:r});return}let n=la(r);oa(n,this.plugin,this.provider),this.resetPluginState()}).catch(_i(this.plugin.uppy)),this.setLoading(!1)}toggleCheckbox(e,t){let{partialTree:r}=this.plugin.getPluginState(),s=aa(e.id,this.getDisplayedPartialTree(),t,this.lastCheckbox),n=vr.afterToggleCheckbox(r,s);this.plugin.setPluginState({partialTree:n}),this.lastCheckbox=e.id}getDisplayedPartialTree=()=>{let{partialTree:e,currentFolderId:t,searchString:r}=this.plugin.getPluginState(),s=e.filter(o=>o.type!=="root"&&o.parentId===t);return r===""?s:s.filter(o=>(o.data.name??this.plugin.uppy.i18n("unnamed")).toLowerCase().indexOf(r.toLowerCase())!==-1)};getBreadcrumbs=()=>{let{partialTree:e,currentFolderId:t}=this.plugin.getPluginState();return lm(e,t)};getSelectedAmount=()=>{let{partialTree:e}=this.plugin.getPluginState();return na(e)};validateAggregateRestrictions=e=>{let r=e.filter(s=>s.type==="file"&&s.status==="checked").map(s=>s.data);return this.plugin.uppy.validateAggregateRestrictions(r)};render(e,t={}){let{didFirstRender:r}=this.plugin.getPluginState(),{i18n:s}=this.plugin.uppy;r||(this.plugin.setPluginState({didFirstRender:!0}),this.provider.fetchPreAuthToken(),this.openFolder(this.plugin.rootFolderId));let n={...this.opts,...t},{authenticated:o,loading:a}=this.plugin.getPluginState(),l=this.plugin.icon||dn;if(o===!1)return c(ea,{pluginName:this.plugin.title,pluginIcon:l,handleAuth:this.handleAuth,i18n:this.plugin.uppy.i18n,renderForm:n.renderAuthForm,loading:a});let{partialTree:h,username:f,searchString:m}=this.plugin.getPluginState(),w=this.getBreadcrumbs();return c("div",{className:(0,Sm.default)("uppy-ProviderBrowser",`uppy-ProviderBrowser-viewType--${n.viewType}`),children:[c(Eu,{showBreadcrumbs:n.showBreadcrumbs,openFolder:this.openFolder,breadcrumbs:w,pluginIcon:l,title:this.plugin.title,logout:this.logout,username:f,i18n:s}),n.showFilter&&c(rs,{searchString:m,setSearchString:y=>{this.plugin.setPluginState({searchString:y})},submitSearchString:()=>{},inputLabel:s("filter"),clearSearchLabel:s("resetFilter"),wrapperClassName:"uppy-ProviderBrowser-searchFilter",inputClassName:"uppy-ProviderBrowser-searchFilterInput"}),c(sa,{toggleCheckbox:this.toggleCheckbox,displayedPartialTree:this.getDisplayedPartialTree(),openFolder:this.openFolder,virtualList:n.virtualList,noResultsLabel:s("noFilesFound"),handleScroll:this.handleScroll,viewType:n.viewType,showTitles:n.showTitles,i18n:this.plugin.uppy.i18n,isLoading:a,utmSource:"Companion"}),c(on,{partialTree:h,donePicking:this.donePicking,cancelSelection:this.cancelSelection,i18n:s,validateAggregateRestrictions:this.validateAggregateRestrictions})]})}};var Em=ye(ht(),1);var uS={loading:!1,searchString:"",partialTree:[{type:"root",id:null,cached:!1,nextPagePath:null}],currentFolderId:null,isInputMode:!0},hS={viewType:"grid",showTitles:!0,showFilter:!0,utmSource:"Companion"},pn=class{static VERSION=ia.version;plugin;provider;opts;isHandlingScroll=!1;lastCheckbox=null;constructor(e,t){this.plugin=e,this.provider=t.provider,this.opts={...hS,...t},this.setSearchString=this.setSearchString.bind(this),this.search=this.search.bind(this),this.resetPluginState=this.resetPluginState.bind(this),this.handleScroll=this.handleScroll.bind(this),this.donePicking=this.donePicking.bind(this),this.cancelSelection=this.cancelSelection.bind(this),this.toggleCheckbox=this.toggleCheckbox.bind(this),this.render=this.render.bind(this),this.resetPluginState(),this.plugin.uppy.on("dashboard:close-panel",this.resetPluginState),this.plugin.uppy.registerRequestClient(this.provider.provider,this.provider)}tearDown(){}setLoading(e){this.plugin.setPluginState({loading:e})}resetPluginState(){this.plugin.setPluginState(uS)}cancelSelection(){let{partialTree:e}=this.plugin.getPluginState(),t=e.map(r=>r.type==="root"?r:{...r,status:"unchecked"});this.plugin.setPluginState({partialTree:t})}async search(){let{searchString:e}=this.plugin.getPluginState();if(e!==""){this.setLoading(!0);try{let t=await this.provider.search(e),r=[{type:"root",id:null,cached:!1,nextPagePath:t.nextPageQuery},...t.items.map(s=>({type:"file",id:s.requestPath,status:"unchecked",parentId:null,data:s}))];this.plugin.setPluginState({partialTree:r,isInputMode:!1})}catch(t){_i(this.plugin.uppy)(t)}this.setLoading(!1)}}async handleScroll(e){let{partialTree:t,searchString:r}=this.plugin.getPluginState(),s=t.find(n=>n.type==="root");if(ha(e)&&!this.isHandlingScroll&&s.nextPagePath){this.isHandlingScroll=!0;try{let n=await this.provider.search(r,s.nextPagePath),o={...s,nextPagePath:n.nextPageQuery},a=t.filter(h=>h.type!=="root"),l=[o,...a,...n.items.map(h=>({type:"file",id:h.requestPath,status:"unchecked",parentId:null,data:h}))];this.plugin.setPluginState({partialTree:l})}catch(n){_i(this.plugin.uppy)(n)}this.isHandlingScroll=!1}}async donePicking(){let{partialTree:e}=this.plugin.getPluginState(),t=la(e);oa(t,this.plugin,this.provider),this.resetPluginState()}toggleCheckbox(e,t){let{partialTree:r}=this.plugin.getPluginState(),s=aa(e.id,this.getDisplayedPartialTree(),t,this.lastCheckbox),n=vr.afterToggleCheckbox(r,s);this.plugin.setPluginState({partialTree:n}),this.lastCheckbox=e.id}validateSingleFile=e=>{let t=nn(e);return this.plugin.uppy.validateSingleFile(t)};getDisplayedPartialTree=()=>{let{partialTree:e}=this.plugin.getPluginState();return e.filter(t=>t.type!=="root")};setSearchString=e=>{this.plugin.setPluginState({searchString:e}),e===""&&this.plugin.setPluginState({partialTree:[]})};validateAggregateRestrictions=e=>{let r=e.filter(s=>s.type==="file"&&s.status==="checked").map(s=>s.data);return this.plugin.uppy.validateAggregateRestrictions(r)};render(e,t={}){let{isInputMode:r,searchString:s,loading:n,partialTree:o}=this.plugin.getPluginState(),{i18n:a}=this.plugin.uppy,l={...this.opts,...t};return r?c(rs,{searchString:s,setSearchString:this.setSearchString,submitSearchString:this.search,inputLabel:a("enterTextToSearch"),buttonLabel:a("searchImages"),wrapperClassName:"uppy-SearchProvider",inputClassName:"uppy-c-textInput uppy-SearchProvider-input",showButton:!0,buttonCSSClassName:"uppy-SearchProvider-searchButton"}):c("div",{className:(0,Em.default)("uppy-ProviderBrowser",`uppy-ProviderBrowser-viewType--${l.viewType}`),children:[l.showFilter&&c(rs,{searchString:s,setSearchString:this.setSearchString,submitSearchString:this.search,inputLabel:a("search"),clearSearchLabel:a("resetSearch"),wrapperClassName:"uppy-ProviderBrowser-searchFilter",inputClassName:"uppy-ProviderBrowser-searchFilterInput"}),c(sa,{toggleCheckbox:this.toggleCheckbox,displayedPartialTree:this.getDisplayedPartialTree(),handleScroll:this.handleScroll,openFolder:async()=>{},noResultsLabel:a("noSearchResults"),viewType:l.viewType,showTitles:l.showTitles,isLoading:n,i18n:a,virtualList:!1,utmSource:this.opts.utmSource}),c(on,{partialTree:o,donePicking:this.donePicking,cancelSelection:this.cancelSelection,i18n:a,validateAggregateRestrictions:this.validateAggregateRestrictions})]})}};function da(i,e,t,r){return t===0||i===e?i:r===0?e:i+(e-i)*2**(-r/t)}var Tm={name:"@uppy/status-bar",description:"A progress bar for Uppy, with many bells and whistles.",version:"4.2.3",license:"MIT",main:"lib/index.js",style:"dist/style.min.css",type:"module",scripts:{build:"tsc --build tsconfig.build.json","build:css":"sass --load-path=../../ src/style.scss dist/style.css && postcss dist/style.css -u cssnano -o dist/style.min.css",typecheck:"tsc --build"},keywords:["file uploader","uppy","uppy-plugin","progress bar","status bar","progress","upload","eta","speed"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"],dependencies:{"@transloadit/prettier-bytes":"^0.3.4","@uppy/utils":"^6.2.2",classnames:"^2.2.6",preact:"^10.5.13"},peerDependencies:{"@uppy/core":"^4.5.2"},devDependencies:{cssnano:"^7.0.7",postcss:"^8.5.6","postcss-cli":"^11.0.1",sass:"^1.89.2",typescript:"^5.8.3"}};var xm={strings:{uploading:"Uploading",complete:"Complete",uploadFailed:"Upload failed",paused:"Paused",retry:"Retry",cancel:"Cancel",pause:"Pause",resume:"Resume",done:"Done",filesUploadedOfTotal:{0:"%{complete} of %{smart_count} file uploaded",1:"%{complete} of %{smart_count} files uploaded"},dataUploadedOfTotal:"%{complete} of %{total}",dataUploadedOfUnknown:"%{complete} of unknown",xTimeLeft:"%{time} left",uploadXFiles:{0:"Upload %{smart_count} file",1:"Upload %{smart_count} files"},uploadXNewFiles:{0:"Upload +%{smart_count} file",1:"Upload +%{smart_count} files"},upload:"Upload",retryUpload:"Retry upload",xMoreFilesAdded:{0:"%{smart_count} more file added",1:"%{smart_count} more files added"},showErrorDetails:"Show error details"}};var Ft={STATE_ERROR:"error",STATE_WAITING:"waiting",STATE_PREPROCESSING:"preprocessing",STATE_UPLOADING:"uploading",STATE_POSTPROCESSING:"postprocessing",STATE_COMPLETE:"complete"};var Fu=ye(ht(),1);var ku=ye(Xo(),1);function Tu(i){let e=Math.floor(i/3600)%24,t=Math.floor(i/60)%60,r=Math.floor(i%60);return{hours:e,minutes:t,seconds:r}}function xu(i){let e=Tu(i),t=e.hours===0?"":`${e.hours}h`,r=e.minutes===0?"":`${e.hours===0?e.minutes:` ${e.minutes.toString(10).padStart(2,"0")}`}m`,s=e.hours!==0?"":`${e.minutes===0?e.seconds:` ${e.seconds.toString(10).padStart(2,"0")}`}s`;return`${t}${r}${s}`}var _u=ye(ht(),1);var pS="\xB7",km=()=>` ${pS} `;function _m(i){let{newFiles:e,isUploadStarted:t,recoveredState:r,i18n:s,uploadState:n,isSomeGhost:o,startUpload:a}=i,l=(0,_u.default)("uppy-u-reset","uppy-c-btn","uppy-StatusBar-actionBtn","uppy-StatusBar-actionBtn--upload",{"uppy-c-btn-primary":n===Ft.STATE_WAITING},{"uppy-StatusBar-actionBtn--disabled":o}),h=e&&t&&!r?s("uploadXNewFiles",{smart_count:e}):s("uploadXFiles",{smart_count:e});return c("button",{type:"button",className:l,"aria-label":s("uploadXFiles",{smart_count:e}),onClick:a,disabled:o,"data-uppy-super-focusable":!0,children:h})}function Am(i){let{i18n:e,uppy:t}=i;return c("button",{type:"button",className:"uppy-u-reset uppy-c-btn uppy-StatusBar-actionBtn uppy-StatusBar-actionBtn--retry","aria-label":e("retryUpload"),onClick:()=>t.retryAll().catch(()=>{}),"data-uppy-super-focusable":!0,"data-cy":"retry",children:[c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"8",height:"10",viewBox:"0 0 8 10",children:c("path",{d:"M4 2.408a2.75 2.75 0 1 0 2.75 2.75.626.626 0 0 1 1.25.018v.023a4 4 0 1 1-4-4.041V.25a.25.25 0 0 1 .389-.208l2.299 1.533a.25.25 0 0 1 0 .416l-2.3 1.533A.25.25 0 0 1 4 3.316v-.908z"})}),e("retry")]})}function Cm(i){let{i18n:e,uppy:t}=i;return c("button",{type:"button",className:"uppy-u-reset uppy-StatusBar-actionCircleBtn",title:e("cancel"),"aria-label":e("cancel"),onClick:()=>t.cancelAll(),"data-cy":"cancel","data-uppy-super-focusable":!0,children:c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"16",height:"16",viewBox:"0 0 16 16",children:c("g",{fill:"none",fillRule:"evenodd",children:[c("circle",{fill:"#888",cx:"8",cy:"8",r:"8"}),c("path",{fill:"#FFF",d:"M9.283 8l2.567 2.567-1.283 1.283L8 9.283 5.433 11.85 4.15 10.567 6.717 8 4.15 5.433 5.433 4.15 8 6.717l2.567-2.567 1.283 1.283z"})]})})})}function Fm(i){let{isAllPaused:e,i18n:t,isAllComplete:r,resumableUploads:s,uppy:n}=i,o=t(e?"resume":"pause");function a(){if(!r){if(!s){n.cancelAll();return}if(e){n.resumeAll();return}n.pauseAll()}}return c("button",{title:o,"aria-label":o,className:"uppy-u-reset uppy-StatusBar-actionCircleBtn",type:"button",onClick:a,"data-cy":"togglePauseResume","data-uppy-super-focusable":!0,children:c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"16",height:"16",viewBox:"0 0 16 16",children:c("g",{fill:"none",fillRule:"evenodd",children:[c("circle",{fill:"#888",cx:"8",cy:"8",r:"8"}),c("path",{fill:"#FFF",d:e?"M6 4.25L11.5 8 6 11.75z":"M5 4.5h2v7H5v-7zm4 0h2v7H9v-7z"})]})})})}function Pm(i){let{i18n:e,doneButtonHandler:t}=i;return c("button",{type:"button",className:"uppy-u-reset uppy-c-btn uppy-StatusBar-actionBtn uppy-StatusBar-actionBtn--done",onClick:t,"data-uppy-super-focusable":!0,children:e("done")})}function Om(){return c("svg",{className:"uppy-StatusBar-spinner","aria-hidden":"true",focusable:"false",width:"14",height:"14",children:c("path",{d:"M13.983 6.547c-.12-2.509-1.64-4.893-3.939-5.936-2.48-1.127-5.488-.656-7.556 1.094C.524 3.367-.398 6.048.162 8.562c.556 2.495 2.46 4.52 4.94 5.183 2.932.784 5.61-.602 7.256-3.015-1.493 1.993-3.745 3.309-6.298 2.868-2.514-.434-4.578-2.349-5.153-4.84a6.226 6.226 0 0 1 2.98-6.778C6.34.586 9.74 1.1 11.373 3.493c.407.596.693 1.282.842 1.988.127.598.073 1.197.161 1.794.078.525.543 1.257 1.15.864.525-.341.49-1.05.456-1.592-.007-.15.02.3 0 0",fillRule:"evenodd"})})}function Rm(i){let{progress:e}=i,{value:t,mode:r,message:s}=e;return c("div",{className:"uppy-StatusBar-content",children:[c(Om,{}),r==="determinate"?`${Math.round(t*100)}% \xB7 `:"",s]})}function fS(i){let{numUploads:e,complete:t,totalUploadedSize:r,totalSize:s,totalETA:n,i18n:o}=i,a=e>1,l=(0,ku.default)(r);return c("div",{className:"uppy-StatusBar-statusSecondary",children:[a&&o("filesUploadedOfTotal",{complete:t,smart_count:e}),c("span",{className:"uppy-StatusBar-additionalInfo",children:[a&&km(),s!=null?o("dataUploadedOfTotal",{complete:l,total:(0,ku.default)(s)}):o("dataUploadedOfUnknown",{complete:l}),km(),n!=null&&o("xTimeLeft",{time:xu(n)})]})]})}function Lm(i){let{i18n:e,complete:t,numUploads:r}=i;return c("div",{className:"uppy-StatusBar-statusSecondary",children:e("filesUploadedOfTotal",{complete:t,smart_count:r})})}function mS(i){let{i18n:e,newFiles:t,startUpload:r}=i,s=(0,_u.default)("uppy-u-reset","uppy-c-btn","uppy-StatusBar-actionBtn","uppy-StatusBar-actionBtn--uploadNewlyAdded");return c("div",{className:"uppy-StatusBar-statusSecondary",children:[c("div",{className:"uppy-StatusBar-statusSecondaryHint",children:e("xMoreFilesAdded",{smart_count:t})}),c("button",{type:"button",className:s,"aria-label":e("uploadXFiles",{smart_count:t}),onClick:r,children:e("upload")})]})}function Mm(i){let{i18n:e,supportsUploadProgress:t,totalProgress:r,showProgressDetails:s,isUploadStarted:n,isAllComplete:o,isAllPaused:a,newFiles:l,numUploads:h,complete:f,totalUploadedSize:m,totalSize:w,totalETA:y,startUpload:k}=i,C=l&&n;if(!n||o)return null;let O=e(a?"paused":"uploading");function R(){return!a&&!C&&s?t?c(fS,{numUploads:h,complete:f,totalUploadedSize:m,totalSize:w,totalETA:y,i18n:e}):c(Lm,{i18n:e,complete:f,numUploads:h}):null}return c("div",{className:"uppy-StatusBar-content",title:O,children:[a?null:c(Om,{}),c("div",{className:"uppy-StatusBar-status",children:[c("div",{className:"uppy-StatusBar-statusPrimary",children:t&&r!==0?`${O}: ${r}%`:O}),R(),C?c(mS,{i18n:e,newFiles:l,startUpload:k}):null]})]})}function Im(i){let{i18n:e}=i;return c("div",{className:"uppy-StatusBar-content",role:"status",title:e("complete"),children:c("div",{className:"uppy-StatusBar-status",children:c("div",{className:"uppy-StatusBar-statusPrimary",children:[c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-StatusBar-statusIndicator uppy-c-icon",width:"15",height:"11",viewBox:"0 0 15 11",children:c("path",{d:"M.414 5.843L1.627 4.63l3.472 3.472L13.202 0l1.212 1.213L5.1 10.528z"})}),e("complete")]})})})}function Dm(i){let{error:e,i18n:t,complete:r,numUploads:s}=i;function n(){let o=`${t("uploadFailed")}
|
|
95
|
+
${t.details}`),children:"?"})]})},t.message))})});install(){let{target:e}=this.opts;e&&this.mount(e,this)}};function N1(){return c("svg",{width:"26",height:"26",viewBox:"0 0 26 26",xmlns:"http://www.w3.org/2000/svg",children:c("g",{fill:"none","fill-rule":"evenodd",children:[c("circle",{fill:"#FFF",cx:"13",cy:"13",r:"13"}),c("path",{d:"M21.64 13.205c0-.639-.057-1.252-.164-1.841H13v3.481h4.844a4.14 4.14 0 01-1.796 2.716v2.259h2.908c1.702-1.567 2.684-3.875 2.684-6.615z",fill:"#4285F4","fill-rule":"nonzero"}),c("path",{d:"M13 22c2.43 0 4.467-.806 5.956-2.18l-2.908-2.259c-.806.54-1.837.86-3.048.86-2.344 0-4.328-1.584-5.036-3.711H4.957v2.332A8.997 8.997 0 0013 22z",fill:"#34A853","fill-rule":"nonzero"}),c("path",{d:"M7.964 14.71A5.41 5.41 0 017.682 13c0-.593.102-1.17.282-1.71V8.958H4.957A8.996 8.996 0 004 13c0 1.452.348 2.827.957 4.042l3.007-2.332z",fill:"#FBBC05","fill-rule":"nonzero"}),c("path",{d:"M13 7.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C17.463 4.891 15.426 4 13 4a8.997 8.997 0 00-8.043 4.958l3.007 2.332C8.672 9.163 10.656 7.58 13 7.58z",fill:"#EA4335","fill-rule":"nonzero"}),c("path",{d:"M4 4h18v18H4z"})]})})}function B1({pluginName:i,i18n:e,onAuth:t}){let r=i==="Google Drive",s=Vi(n=>{n.preventDefault(),t()},[t]);return c("form",{onSubmit:s,children:r?c("button",{type:"submit",className:"uppy-u-reset uppy-c-btn uppy-c-btn-primary uppy-Provider-authBtn uppy-Provider-btn-google","data-uppy-super-focusable":!0,children:[c(N1,{}),e("signInWithGoogle")]}):c("button",{type:"submit",className:"uppy-u-reset uppy-c-btn uppy-c-btn-primary uppy-Provider-authBtn","data-uppy-super-focusable":!0,children:e("authenticateWith",{pluginName:i})})})}var U1=({pluginName:i,i18n:e,onAuth:t})=>c(B1,{pluginName:i,i18n:e,onAuth:t});function ea({loading:i,pluginName:e,pluginIcon:t,i18n:r,handleAuth:s,renderForm:n=U1}){return c("div",{className:"uppy-Provider-auth",children:[c("div",{className:"uppy-Provider-authIcon",children:t()}),c("div",{className:"uppy-Provider-authTitle",children:r("authenticateWithTitle",{pluginName:e})}),n({pluginName:e,i18n:r,loading:i,onAuth:s})]})}function nn(i){return{...i,type:i.mimeType,extension:i.name?yr(i.name).extension:null}}var Sm=ye(ht(),1);var ia={name:"@uppy/provider-views",description:"View library for Uppy remote provider plugins.",version:"4.5.3",license:"MIT",main:"lib/index.js",style:"dist/style.min.css",type:"module",scripts:{build:"tsc --build tsconfig.build.json","build:css":"sass --load-path=../../ src/style.scss dist/style.css && postcss dist/style.css -u cssnano -o dist/style.min.css",typecheck:"tsc --build",test:"vitest run --environment=jsdom --silent='passed-only'"},keywords:["file uploader","uppy"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"],dependencies:{"@uppy/utils":"^6.2.2",classnames:"^2.2.6",nanoid:"^5.0.9","p-queue":"^8.0.0",preact:"^10.5.13"},devDependencies:{"@types/gapi":"^0.0.47","@types/google.accounts":"^0.0.14","@types/google.picker":"^0.0.42",cssnano:"^7.0.7",jsdom:"^26.1.0",postcss:"^8.5.6","postcss-cli":"^11.0.1",sass:"^1.89.2",typescript:"^5.8.3",vitest:"^3.2.4"},peerDependencies:{"@uppy/core":"^4.5.3"}};var H1={position:"relative",width:"100%",minHeight:"100%"},j1={position:"absolute",top:0,left:0,width:"100%",overflow:"visible"},cu=class extends we{constructor(e){super(e),this.focusElement=null,this.state={offset:0,height:0}}componentDidMount(){this.resize(),window.addEventListener("resize",this.handleResize)}componentWillUpdate(){this.base.contains(document.activeElement)&&(this.focusElement=document.activeElement)}componentDidUpdate(){this.focusElement?.parentNode&&document.activeElement!==this.focusElement&&this.focusElement.focus(),this.focusElement=null,this.resize()}componentWillUnmount(){window.removeEventListener("resize",this.handleResize)}handleScroll=()=>{this.setState({offset:this.base.scrollTop})};handleResize=()=>{this.resize()};resize(){let{height:e}=this.state;e!==this.base.offsetHeight&&this.setState({height:this.base.offsetHeight})}render({data:e,rowHeight:t,renderRow:r,overscanCount:s=10,...n}){let{offset:o,height:a}=this.state,l=Math.floor(o/t),h=Math.floor(a/t);s&&(l=Math.max(0,l-l%s),h+=s);let f=l+h+4,m=e.slice(l,f),w={...H1,height:e.length*t},y={...j1,top:l*t};return c("div",{onScroll:this.handleScroll,...n,children:c("div",{role:"presentation",style:w,children:c("div",{role:"presentation",style:y,children:m.map(r)})})})}},ra=cu;var nm=ye(ht(),1);function q1(){return c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:11,height:14.5,viewBox:"0 0 44 58",children:c("path",{d:"M27.437.517a1 1 0 0 0-.094.03H4.25C2.037.548.217 2.368.217 4.58v48.405c0 2.212 1.82 4.03 4.03 4.03H39.03c2.21 0 4.03-1.818 4.03-4.03V15.61a1 1 0 0 0-.03-.28 1 1 0 0 0 0-.093 1 1 0 0 0-.03-.032 1 1 0 0 0 0-.03 1 1 0 0 0-.032-.063 1 1 0 0 0-.03-.063 1 1 0 0 0-.032 0 1 1 0 0 0-.03-.063 1 1 0 0 0-.032-.03 1 1 0 0 0-.03-.063 1 1 0 0 0-.063-.062l-14.593-14a1 1 0 0 0-.062-.062A1 1 0 0 0 28 .708a1 1 0 0 0-.374-.157 1 1 0 0 0-.156 0 1 1 0 0 0-.03-.03l-.003-.003zM4.25 2.547h22.218v9.97c0 2.21 1.82 4.03 4.03 4.03h10.564v36.438a2.02 2.02 0 0 1-2.032 2.032H4.25c-1.13 0-2.032-.9-2.032-2.032V4.58c0-1.13.902-2.032 2.03-2.032zm24.218 1.345l10.375 9.937.75.718H30.5c-1.13 0-2.032-.9-2.032-2.03V3.89z"})})}function $1(){return c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",style:{minWidth:16,marginRight:3},viewBox:"0 0 276.157 276.157",children:c("path",{d:"M273.08 101.378c-3.3-4.65-8.86-7.32-15.254-7.32h-24.34V67.59c0-10.2-8.3-18.5-18.5-18.5h-85.322c-3.63 0-9.295-2.875-11.436-5.805l-6.386-8.735c-4.982-6.814-15.104-11.954-23.546-11.954H58.73c-9.292 0-18.638 6.608-21.737 15.372l-2.033 5.752c-.958 2.71-4.72 5.37-7.596 5.37H18.5C8.3 49.09 0 57.39 0 67.59v167.07c0 .886.16 1.73.443 2.52.152 3.306 1.18 6.424 3.053 9.064 3.3 4.652 8.86 7.32 15.255 7.32h188.487c11.395 0 23.27-8.425 27.035-19.18l40.677-116.188c2.11-6.035 1.43-12.164-1.87-16.816zM18.5 64.088h8.864c9.295 0 18.64-6.607 21.738-15.37l2.032-5.75c.96-2.712 4.722-5.373 7.597-5.373h29.565c3.63 0 9.295 2.876 11.437 5.806l6.386 8.735c4.982 6.815 15.104 11.954 23.546 11.954h85.322c1.898 0 3.5 1.602 3.5 3.5v26.47H69.34c-11.395 0-23.27 8.423-27.035 19.178L15 191.23V67.59c0-1.898 1.603-3.5 3.5-3.5zm242.29 49.15l-40.676 116.188c-1.674 4.78-7.812 9.135-12.877 9.135H18.75c-1.447 0-2.576-.372-3.02-.997-.442-.625-.422-1.814.057-3.18l40.677-116.19c1.674-4.78 7.812-9.134 12.877-9.134h188.487c1.448 0 2.577.372 3.02.997.443.625.423 1.814-.056 3.18z"})})}function V1(){return c("svg",{"aria-hidden":"true",focusable:"false",style:{width:16,marginRight:4},viewBox:"0 0 58 58",children:[c("path",{d:"M36.537 28.156l-11-7a1.005 1.005 0 0 0-1.02-.033C24.2 21.3 24 21.635 24 22v14a1 1 0 0 0 1.537.844l11-7a1.002 1.002 0 0 0 0-1.688zM26 34.18V23.82L34.137 29 26 34.18z"}),c("path",{d:"M57 6H1a1 1 0 0 0-1 1v44a1 1 0 0 0 1 1h56a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1zM10 28H2v-9h8v9zm-8 2h8v9H2v-9zm10 10V8h34v42H12V40zm44-12h-8v-9h8v9zm-8 2h8v9h-8v-9zm8-22v9h-8V8h8zM2 8h8v9H2V8zm0 42v-9h8v9H2zm54 0h-8v-9h8v9z"})]})}function is({itemIconString:i,alt:e=void 0}){if(i===null)return null;switch(i){case"file":return c(q1,{});case"folder":return c($1,{});case"video":return c(V1,{});default:return c("img",{src:i,alt:e,referrerPolicy:"no-referrer",loading:"lazy",width:16,height:16})}}function W1({file:i,toggleCheckbox:e,className:t,isDisabled:r,restrictionError:s,showTitles:n,children:o=null,i18n:a}){return c("li",{className:t,title:r&&s?s:void 0,children:[c("input",{type:"checkbox",className:"uppy-u-reset uppy-ProviderBrowserItem-checkbox uppy-ProviderBrowserItem-checkbox--grid",onChange:e,name:"listitem",id:i.id,checked:i.status==="checked",disabled:r,"data-uppy-super-focusable":!0}),c("label",{htmlFor:i.id,"aria-label":i.data.name??a("unnamed"),className:"uppy-u-reset uppy-ProviderBrowserItem-inner",children:[c(is,{itemIconString:i.data.thumbnail||i.data.icon}),n&&(i.data.name??a("unnamed")),o]})]})}var uu=W1;function hu({file:i,openFolder:e,className:t,isDisabled:r,restrictionError:s,toggleCheckbox:n,showTitles:o,i18n:a}){return c("li",{className:t,title:i.status!=="checked"&&s?s:void 0,children:[c("input",{type:"checkbox",className:"uppy-u-reset uppy-ProviderBrowserItem-checkbox",onChange:n,name:"listitem",id:i.id,checked:i.status==="checked","aria-label":i.data.isFolder?a("allFilesFromFolderNamed",{name:i.data.name??a("unnamed")}):null,disabled:r,"data-uppy-super-focusable":!0}),i.data.isFolder?c("button",{type:"button",className:"uppy-u-reset uppy-c-btn uppy-ProviderBrowserItem-inner",onClick:()=>e(i.id),"aria-label":a("openFolderNamed",{name:i.data.name??a("unnamed")}),children:[c("div",{className:"uppy-ProviderBrowserItem-iconWrap",children:c(is,{itemIconString:i.data.icon})}),o&&i.data.name?c("span",{children:i.data.name}):a("unnamed")]}):c("label",{htmlFor:i.id,className:"uppy-u-reset uppy-ProviderBrowserItem-inner",children:[c("div",{className:"uppy-ProviderBrowserItem-iconWrap",children:c(is,{itemIconString:i.data.icon})}),o&&(i.data.name??a("unnamed"))]})]})}function du(i){let{viewType:e,toggleCheckbox:t,showTitles:r,i18n:s,openFolder:n,file:o,utmSource:a}=i,l=o.type==="folder"?null:o.restrictionError,h=!!l&&o.status!=="checked",f={file:o,openFolder:n,toggleCheckbox:t,utmSource:a,i18n:s,viewType:e,showTitles:r,className:(0,nm.default)("uppy-ProviderBrowserItem",{"uppy-ProviderBrowserItem--disabled":h},{"uppy-ProviderBrowserItem--noPreview":o.data.icon==="video"},{"uppy-ProviderBrowserItem--is-checked":o.status==="checked"},{"uppy-ProviderBrowserItem--is-partial":o.status==="partial"}),isDisabled:h,restrictionError:l};switch(e){case"grid":return c(uu,{...f});case"list":return c(hu,{...f});case"unsplash":return c(uu,{...f,children:c("a",{href:`${o.data.author.url}?utm_source=${a}&utm_medium=referral`,target:"_blank",rel:"noopener noreferrer",className:"uppy-ProviderBrowserItem-author",tabIndex:-1,children:o.data.author.name})});default:throw new Error(`There is no such type ${e}`)}}function G1(i){let{displayedPartialTree:e,viewType:t,toggleCheckbox:r,handleScroll:s,showTitles:n,i18n:o,isLoading:a,openFolder:l,noResultsLabel:h,virtualList:f,utmSource:m}=i,[w,y]=Kt(!1);if(si(()=>{let C=R=>{R.key==="Shift"&&y(!1)},O=R=>{R.key==="Shift"&&y(!0)};return document.addEventListener("keyup",C),document.addEventListener("keydown",O),()=>{document.removeEventListener("keyup",C),document.removeEventListener("keydown",O)}},[]),a)return c("div",{className:"uppy-Provider-loading",children:typeof a=="string"?a:o("loading")});if(e.length===0)return c("div",{className:"uppy-Provider-empty",children:h});let k=C=>c(du,{viewType:t,toggleCheckbox:O=>{O.stopPropagation(),O.preventDefault(),document.getSelection()?.removeAllRanges(),r(C,w)},showTitles:n,i18n:o,openFolder:l,file:C,utmSource:m},C.id);return f?c("div",{className:"uppy-ProviderBrowser-body",children:c(ra,{className:"uppy-ProviderBrowser-list",data:e,renderRow:k,rowHeight:35.5})}):c("div",{className:"uppy-ProviderBrowser-body",children:c("ul",{className:"uppy-ProviderBrowser-list",onScroll:s,tabIndex:-1,children:e.map(k)})})}var sa=G1;var om=ye(ht(),1);var K1=i=>i.filter(t=>t.type==="file"&&t.status==="checked"?!0:t.type==="folder"&&t.status==="checked"?!i.some(s=>s.type!=="root"&&s.parentId===t.id):!1).length,na=K1;function on({cancelSelection:i,donePicking:e,i18n:t,partialTree:r,validateAggregateRestrictions:s}){let n=$i(()=>s(r),[r,s]),o=$i(()=>na(r),[r]);return o===0?null:c("div",{className:"uppy-ProviderBrowser-footer",children:[c("div",{className:"uppy-ProviderBrowser-footer-buttons",children:[c("button",{className:(0,om.default)("uppy-u-reset uppy-c-btn uppy-c-btn-primary",{"uppy-c-btn--disabled":n}),disabled:!!n,onClick:e,type:"button",children:t("selectX",{smart_count:o})}),c("button",{className:"uppy-u-reset uppy-c-btn uppy-c-btn-link",onClick:i,type:"button",children:t("cancel")})]}),n&&c("div",{className:"uppy-ProviderBrowser-footer-error",children:n})]})}function X1({searchString:i,setSearchString:e,submitSearchString:t,wrapperClassName:r,inputClassName:s,inputLabel:n,clearSearchLabel:o="",showButton:a=!1,buttonLabel:l="",buttonCSSClassName:h=""}){let f=y=>{e(y.target.value)},m=Vi(y=>{y.preventDefault(),t()},[t]),[w]=Kt(()=>{let y=document.createElement("form");return y.setAttribute("tabindex","-1"),y.id=Wi(),y});return si(()=>(document.body.appendChild(w),w.addEventListener("submit",m),()=>{w.removeEventListener("submit",m),document.body.removeChild(w)}),[w,m]),c("section",{className:r,children:[c("input",{className:`uppy-u-reset ${s}`,type:"search","aria-label":n,placeholder:n,value:i,onInput:f,form:w.id,"data-uppy-super-focusable":!0}),!a&&c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon uppy-ProviderBrowser-searchFilterIcon",width:"12",height:"12",viewBox:"0 0 12 12",children:c("path",{d:"M8.638 7.99l3.172 3.172a.492.492 0 1 1-.697.697L7.91 8.656a4.977 4.977 0 0 1-2.983.983C2.206 9.639 0 7.481 0 4.819 0 2.158 2.206 0 4.927 0c2.721 0 4.927 2.158 4.927 4.82a4.74 4.74 0 0 1-1.216 3.17zm-3.71.685c2.176 0 3.94-1.726 3.94-3.856 0-2.129-1.764-3.855-3.94-3.855C2.75.964.984 2.69.984 4.819c0 2.13 1.765 3.856 3.942 3.856z"})}),!a&&i&&c("button",{className:"uppy-u-reset uppy-ProviderBrowser-searchFilterReset",type:"button","aria-label":o,title:o,onClick:()=>e(""),children:c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",viewBox:"0 0 19 19",children:c("path",{d:"M17.318 17.232L9.94 9.854 9.586 9.5l-.354.354-7.378 7.378h.707l-.62-.62v.706L9.318 9.94l.354-.354-.354-.354L1.94 1.854v.707l.62-.62h-.706l7.378 7.378.354.354.354-.354 7.378-7.378h-.707l.622.62v-.706L9.854 9.232l-.354.354.354.354 7.378 7.378.708-.707-7.38-7.378v.708l7.38-7.38.353-.353-.353-.353-.622-.622-.353-.353-.354.352-7.378 7.38h.708L2.56 1.23 2.208.88l-.353.353-.622.62-.353.355.352.353 7.38 7.38v-.708l-7.38 7.38-.353.353.352.353.622.622.353.353.354-.353 7.38-7.38h-.708l7.38 7.38z"})})}),a&&c("button",{className:`uppy-u-reset uppy-c-btn uppy-c-btn-primary ${h}`,type:"submit",form:w.id,children:l})]})}var rs=X1;var Y1=(i,e,t)=>({id:i.id,source:e.id,name:i.name||i.id,type:i.mimeType,isRemote:!0,data:i,preview:i.thumbnail||void 0,meta:{authorName:i.author?.name,authorUrl:i.author?.url,relativePath:i.relDirPath||null,absolutePath:i.absDirPath},body:{fileId:i.id},remote:{companionUrl:e.opts.companionUrl,url:`${t.fileUrl(i.requestPath)}`,body:{fileId:i.id},providerName:t.name,provider:t.provider,requestClientId:t.provider}}),am=Y1;var Z1=(i,e,t)=>{let r=i.map(o=>am(o,e,t)),s=[],n=[];r.forEach(o=>{e.uppy.checkIfFileAlreadyExists(Go(o,e.uppy.getID()))?n.push(o):s.push(o)}),s.length>0&&e.uppy.info(e.uppy.i18n("addedNumFiles",{numFiles:s.length})),n.length>0&&e.uppy.info(`Not adding ${n.length} files because they already exist`),e.uppy.addFiles(s)},oa=Z1;var Q1=(i,e,t,r)=>{let s=e.findIndex(n=>n.id===r);if(s!==-1&&t){let n=e.findIndex(a=>a.id===i);return e.slice(Math.min(s,n),Math.max(s,n)+1).map(a=>a.id)}return[i]},aa=Q1;var J1=i=>e=>{if(!e.isAuthError){if(e.name==="AbortError"){i.log("Aborting request","warning");return}i.log(e,"error"),e.name==="UserFacingApiError"&&i.info({message:i.i18n("companionError"),details:i.i18n(e.message)},"warning",5e3)}},_i=J1;var eS=(i,e)=>{let t=i.find(s=>s.id===e),r=[];for(;r=[t,...r],t.type!=="root";){let s=t.parentId;t=i.find(n=>n.id===s)}return r},lm=eS;var cm=(i,e,t)=>{let r=e===null?"null":e;if(t[r])return t[r];let s=i.find(o=>o.id===e);if(s.type==="root")return[];let n=[...cm(i,s.parentId,t),s];return t[r]=n,n},tS=i=>{let e=Object.create(null);return i.filter(s=>s.type==="file"&&s.status==="checked").map(s=>{let n=cm(i,s.id,e),o=n.findIndex(f=>f.type==="folder"&&f.status==="checked"),a=n.slice(o),l=`/${n.map(f=>f.data.name).join("/")}`,h=a.length===1?void 0:a.map(f=>f.data.name).join("/");return{...s.data,absDirPath:l,relDirPath:h}})},la=tS;var fu=ye(hm(),1);var ln=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},mu=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},dm=i=>globalThis.DOMException===void 0?new mu(i):new DOMException(i),pm=i=>{let e=i.reason===void 0?dm("This operation was aborted."):i.reason;return e instanceof Error?e:dm(e)};function gu(i,e){let{milliseconds:t,fallback:r,message:s,customTimers:n={setTimeout,clearTimeout}}=e,o,a,h=new Promise((f,m)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(e.signal){let{signal:y}=e;y.aborted&&m(pm(y)),a=()=>{m(pm(y))},y.addEventListener("abort",a,{once:!0})}if(t===Number.POSITIVE_INFINITY){i.then(f,m);return}let w=new ln;o=n.setTimeout.call(void 0,()=>{if(r){try{f(r())}catch(y){m(y)}return}typeof i.cancel=="function"&&i.cancel(),s===!1?f():s instanceof Error?m(s):(w.message=s??`Promise timed out after ${t} milliseconds`,m(w))},t),(async()=>{try{f(await i)}catch(y){m(y)}})()}).finally(()=>{h.clear(),a&&e.signal&&e.signal.removeEventListener("abort",a)});return h.clear=()=>{n.clearTimeout.call(void 0,o),o=void 0},h}function bu(i,e,t){let r=0,s=i.length;for(;s>0;){let n=Math.trunc(s/2),o=r+n;t(i[o],e)<=0?(r=++o,s-=n+1):s=n}return r}var cn=class{#e=[];enqueue(e,t){t={priority:0,...t};let r={priority:t.priority,id:t.id,run:e};if(this.size===0||this.#e[this.size-1].priority>=t.priority){this.#e.push(r);return}let s=bu(this.#e,r,(n,o)=>o.priority-n.priority);this.#e.splice(s,0,r)}setPriority(e,t){let r=this.#e.findIndex(n=>n.id===e);if(r===-1)throw new ReferenceError(`No promise function with the id "${e}" exists in the queue.`);let[s]=this.#e.splice(r,1);this.enqueue(s.run,{priority:t,id:e})}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(t=>t.priority===e.priority).map(t=>t.run)}get size(){return this.#e.length}};var un=class extends fu.default{#e;#t;#i=0;#r;#s;#o=0;#n;#l;#a;#p;#c=0;#h;#u;#f;#g=1n;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:cn,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#t=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#r=e.intervalCap,this.#s=e.interval,this.#a=new e.queueClass,this.#p=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#f=e.throwOnTimeout===!0,this.#u=e.autoStart===!1}get#d(){return this.#t||this.#i<this.#r}get#w(){return this.#c<this.#h}#b(){this.#c--,this.#S(),this.emit("next")}#y(){this.#x(),this.#m(),this.#l=void 0}get#T(){let e=Date.now();if(this.#n===void 0){let t=this.#o-e;if(t<0)this.#i=this.#e?this.#c:0;else return this.#l===void 0&&(this.#l=setTimeout(()=>{this.#y()},t)),!0}return!1}#S(){if(this.#a.size===0)return this.#n&&clearInterval(this.#n),this.#n=void 0,this.emit("empty"),this.#c===0&&this.emit("idle"),!1;if(!this.#u){let e=!this.#T;if(this.#d&&this.#w){let t=this.#a.dequeue();return t?(this.emit("active"),t(),e&&this.#m(),!0):!1}}return!1}#m(){this.#t||this.#n!==void 0||(this.#n=setInterval(()=>{this.#x()},this.#s),this.#o=Date.now()+this.#s)}#x(){this.#i===0&&this.#c===0&&this.#n&&(clearInterval(this.#n),this.#n=void 0),this.#i=this.#e?this.#c:0,this.#v()}#v(){for(;this.#S(););}get concurrency(){return this.#h}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#h=e,this.#v()}async#_(e){return new Promise((t,r)=>{e.addEventListener("abort",()=>{r(e.reason)},{once:!0})})}setPriority(e,t){this.#a.setPriority(e,t)}async add(e,t={}){return t.id??=(this.#g++).toString(),t={timeout:this.timeout,throwOnTimeout:this.#f,...t},new Promise((r,s)=>{this.#a.enqueue(async()=>{this.#c++,this.#i++;try{t.signal?.throwIfAborted();let n=e({signal:t.signal});t.timeout&&(n=gu(Promise.resolve(n),{milliseconds:t.timeout})),t.signal&&(n=Promise.race([n,this.#_(t.signal)]));let o=await n;r(o),this.emit("completed",o)}catch(n){if(n instanceof ln&&!t.throwOnTimeout){r();return}s(n),this.emit("error",n)}finally{this.#b()}},t),this.emit("add"),this.#S()})}async addAll(e,t){return Promise.all(e.map(async r=>this.add(r,t)))}start(){return this.#u?(this.#u=!1,this.#v(),this):this}pause(){this.#u=!0}clear(){this.#a=new this.#p}async onEmpty(){this.#a.size!==0&&await this.#E("empty")}async onSizeLessThan(e){this.#a.size<e||await this.#E("next",()=>this.#a.size<e)}async onIdle(){this.#c===0&&this.#a.size===0||await this.#E("idle")}async#E(e,t){return new Promise(r=>{let s=()=>{t&&!t()||(this.off(e,s),r())};this.on(e,s)})}get size(){return this.#a.size}sizeBy(e){return this.#a.filter(e).length}get pending(){return this.#c}get isPaused(){return this.#u}};var sS=i=>i.map(e=>({...e})),ua=sS;var fm=async(i,e,t,r,s)=>{let n=[],o=t.cached?t.nextPagePath:t.id;for(;o;){let m=await r(o);n=n.concat(m.items),o=m.nextPagePath}let a=n.filter(m=>m.isFolder===!0),l=n.filter(m=>m.isFolder===!1),h=a.map(m=>({type:"folder",id:m.requestPath,cached:!1,nextPagePath:null,status:"checked",parentId:t.id,data:m})),f=l.map(m=>{let w=s(m);return{type:"file",id:m.requestPath,restrictionError:w,status:w?"unchecked":"checked",parentId:t.id,data:m}});t.cached=!0,t.nextPagePath=null,e.push(...f,...h),h.forEach(async m=>{i.add(()=>fm(i,e,m,r,s))})},nS=async(i,e,t,r)=>{let s=new un({concurrency:6}),n=ua(i);return n.filter(a=>a.type==="folder"&&a.status==="checked"&&(a.cached===!1||a.nextPagePath)).forEach(a=>{s.add(()=>fm(s,n,a,e,t))}),s.on("completed",()=>{let a=n.filter(l=>l.type==="file"&&l.status==="checked").length;r(a)}),await s.onIdle(),n},mm=nS;var oS=(i,e,t,r,s)=>{let n=e.filter(y=>y.isFolder===!0),o=e.filter(y=>y.isFolder===!1),a=t.type==="folder"&&t.status==="checked",l=n.map(y=>({type:"folder",id:y.requestPath,cached:!1,nextPagePath:null,status:a?"checked":"unchecked",parentId:t.id,data:y})),h=o.map(y=>{let k=s(y);return{type:"file",id:y.requestPath,restrictionError:k,status:a&&!k?"checked":"unchecked",parentId:t.id,data:y}}),f={...t,cached:!0,nextPagePath:r};return[...i.map(y=>y.id===f.id?f:y),...l,...h]},gm=oS;var aS=(i,e,t,r,s)=>{let n=i.find(k=>k.id===e),o=t.filter(k=>k.isFolder===!0),a=t.filter(k=>k.isFolder===!1),l={...n,nextPagePath:r},h=i.map(k=>k.id===l.id?l:k),f=l.type==="folder"&&l.status==="checked",m=o.map(k=>({type:"folder",id:k.requestPath,cached:!1,nextPagePath:null,status:f?"checked":"unchecked",parentId:l.id,data:k})),w=a.map(k=>{let C=s(k);return{type:"file",id:k.requestPath,restrictionError:C,status:f&&!C?"checked":"unchecked",parentId:l.id,data:k}});return[...h,...m,...w]},bm=aS;var yu=(i,e,t)=>{i.filter(s=>s.type!=="root"&&s.parentId===e).forEach(s=>{s.status=t&&!(s.type==="file"&&s.restrictionError)?"checked":"unchecked",yu(i,s.id,t)})},vu=(i,e)=>{let t=i.find(o=>o.id===e);if(t.type==="root")return;let r=i.filter(o=>o.type!=="root"&&o.parentId===t.id&&!(o.type==="file"&&o.restrictionError)),s=r.every(o=>o.status==="checked"),n=r.every(o=>o.status==="unchecked");s?t.status="checked":n?t.status="unchecked":t.status="partial",vu(i,t.parentId)},lS=(i,e)=>{let t=ua(i);if(e.length>=2){let r=t.filter(s=>s.type!=="root"&&e.includes(s.id));r.forEach(s=>{s.type==="file"?s.status=s.restrictionError?"unchecked":"checked":s.status="checked"}),r.forEach(s=>{yu(t,s.id,!0)}),vu(t,r[0].parentId)}else{let r=t.find(s=>s.id===e[0]);r.status=r.status==="checked"?"unchecked":"checked",yu(t,r.id,r.status==="checked"),vu(t,r.parentId)}return t},ym=lS;var vr={afterOpenFolder:gm,afterScrollFolder:bm,afterToggleCheckbox:ym,afterFill:mm};var cS=i=>{let{scrollHeight:e,scrollTop:t,offsetHeight:r}=i.target;return e-(t+r)<50},ha=cS;var vm=ye(ht(),1);function wu(i){let{openFolder:e,title:t,breadcrumbsIcon:r,breadcrumbs:s,i18n:n}=i;return c("div",{className:"uppy-Provider-breadcrumbs",children:[c("div",{className:"uppy-Provider-breadcrumbsIcon",children:r}),s.map((o,a)=>c(_e,{children:[c("button",{type:"button",className:"uppy-u-reset uppy-c-btn",onClick:()=>e(o.id),children:o.type==="root"?t:o.data.name??n("unnamed")},o.id),s.length===a+1?"":" / "]}))]})}function Su({i18n:i,logout:e,username:t}){return c(_e,{children:[t&&c("span",{className:"uppy-ProviderBrowser-user",children:t},"username"),c("button",{type:"button",onClick:e,className:"uppy-u-reset uppy-c-btn uppy-ProviderBrowser-userLogout",children:i("logOut")},"logout")]})}function Eu(i){return c("div",{className:"uppy-ProviderBrowser-header",children:c("div",{className:(0,vm.default)("uppy-ProviderBrowser-headerBar",!i.showBreadcrumbs&&"uppy-ProviderBrowser-headerBar--simple"),children:[i.showBreadcrumbs&&c(wu,{openFolder:i.openFolder,breadcrumbs:i.breadcrumbs,breadcrumbsIcon:i.pluginIcon?.(),title:i.title,i18n:i.i18n}),c(Su,{logout:i.logout,username:i.username,i18n:i.i18n})]})})}function dn(){return c("svg",{"aria-hidden":"true",focusable:"false",width:"30",height:"30",viewBox:"0 0 30 30",children:c("path",{d:"M15 30c8.284 0 15-6.716 15-15 0-8.284-6.716-15-15-15C6.716 0 0 6.716 0 15c0 8.284 6.716 15 15 15zm4.258-12.676v6.846h-8.426v-6.846H5.204l9.82-12.364 9.82 12.364H19.26z"})})}var wm=i=>({authenticated:void 0,partialTree:[{type:"root",id:i,cached:!1,nextPagePath:null}],currentFolderId:i,searchString:"",didFirstRender:!1,username:null,loading:!1}),hn=class{static VERSION=ia.version;plugin;provider;opts;isHandlingScroll=!1;lastCheckbox=null;constructor(e,t){this.plugin=e,this.provider=t.provider;let r={viewType:"list",showTitles:!0,showFilter:!0,showBreadcrumbs:!0,loadAllFiles:!1,virtualList:!1};this.opts={...r,...t},this.openFolder=this.openFolder.bind(this),this.logout=this.logout.bind(this),this.handleAuth=this.handleAuth.bind(this),this.handleScroll=this.handleScroll.bind(this),this.resetPluginState=this.resetPluginState.bind(this),this.donePicking=this.donePicking.bind(this),this.render=this.render.bind(this),this.cancelSelection=this.cancelSelection.bind(this),this.toggleCheckbox=this.toggleCheckbox.bind(this),this.resetPluginState(),this.plugin.uppy.on("dashboard:close-panel",this.resetPluginState),this.plugin.uppy.registerRequestClient(this.provider.provider,this.provider)}resetPluginState(){this.plugin.setPluginState(wm(this.plugin.rootFolderId))}tearDown(){}setLoading(e){this.plugin.setPluginState({loading:e})}cancelSelection(){let{partialTree:e}=this.plugin.getPluginState(),t=e.map(r=>r.type==="root"?r:{...r,status:"unchecked"});this.plugin.setPluginState({partialTree:t})}#e;async#t(e){this.#e?.abort();let t=new AbortController;this.#e=t;let r=()=>{t.abort()};try{this.plugin.uppy.on("dashboard:close-panel",r),this.plugin.uppy.on("cancel-all",r),await e(t.signal)}finally{this.plugin.uppy.off("dashboard:close-panel",r),this.plugin.uppy.off("cancel-all",r),this.#e=void 0}}async openFolder(e){this.lastCheckbox=null;let{partialTree:t}=this.plugin.getPluginState(),r=t.find(s=>s.id===e);if(r.cached){this.plugin.setPluginState({currentFolderId:e,searchString:""});return}this.setLoading(!0),await this.#t(async s=>{let n=e,o=[];do{let{username:l,nextPagePath:h,items:f}=await this.provider.list(n,{signal:s});this.plugin.setPluginState({username:l}),n=h,o=o.concat(f),this.setLoading(this.plugin.uppy.i18n("loadedXFiles",{numFiles:o.length}))}while(this.opts.loadAllFiles&&n);let a=vr.afterOpenFolder(t,o,r,n,this.validateSingleFile);this.plugin.setPluginState({partialTree:a,currentFolderId:e,searchString:""})}).catch(_i(this.plugin.uppy)),this.setLoading(!1)}async logout(){await this.#t(async e=>{let t=await this.provider.logout({signal:e});if(t.ok){if(!t.revoked){let r=this.plugin.uppy.i18n("companionUnauthorizeHint",{provider:this.plugin.title,url:t.manual_revoke_url});this.plugin.uppy.info(r,"info",7e3)}this.plugin.setPluginState({...wm(this.plugin.rootFolderId),authenticated:!1})}}).catch(_i(this.plugin.uppy))}async handleAuth(e){await this.#t(async t=>{this.setLoading(!0),await this.provider.login({authFormData:e,signal:t}),this.plugin.setPluginState({authenticated:!0}),await Promise.all([this.provider.fetchPreAuthToken(),this.openFolder(this.plugin.rootFolderId)])}).catch(_i(this.plugin.uppy)),this.setLoading(!1)}async handleScroll(e){let{partialTree:t,currentFolderId:r}=this.plugin.getPluginState(),s=t.find(n=>n.id===r);ha(e)&&!this.isHandlingScroll&&s.nextPagePath&&(this.isHandlingScroll=!0,await this.#t(async n=>{let{nextPagePath:o,items:a}=await this.provider.list(s.nextPagePath,{signal:n}),l=vr.afterScrollFolder(t,r,a,o,this.validateSingleFile);this.plugin.setPluginState({partialTree:l})}).catch(_i(this.plugin.uppy)),this.isHandlingScroll=!1)}validateSingleFile=e=>{let t=nn(e);return this.plugin.uppy.validateSingleFile(t)};async donePicking(){let{partialTree:e}=this.plugin.getPluginState();this.setLoading(!0),await this.#t(async t=>{let r=await vr.afterFill(e,o=>this.provider.list(o,{signal:t}),this.validateSingleFile,o=>{this.setLoading(this.plugin.uppy.i18n("addedNumFiles",{numFiles:o}))});if(this.validateAggregateRestrictions(r)){this.plugin.setPluginState({partialTree:r});return}let n=la(r);oa(n,this.plugin,this.provider),this.resetPluginState()}).catch(_i(this.plugin.uppy)),this.setLoading(!1)}toggleCheckbox(e,t){let{partialTree:r}=this.plugin.getPluginState(),s=aa(e.id,this.getDisplayedPartialTree(),t,this.lastCheckbox),n=vr.afterToggleCheckbox(r,s);this.plugin.setPluginState({partialTree:n}),this.lastCheckbox=e.id}getDisplayedPartialTree=()=>{let{partialTree:e,currentFolderId:t,searchString:r}=this.plugin.getPluginState(),s=e.filter(o=>o.type!=="root"&&o.parentId===t);return r===""?s:s.filter(o=>(o.data.name??this.plugin.uppy.i18n("unnamed")).toLowerCase().indexOf(r.toLowerCase())!==-1)};getBreadcrumbs=()=>{let{partialTree:e,currentFolderId:t}=this.plugin.getPluginState();return lm(e,t)};getSelectedAmount=()=>{let{partialTree:e}=this.plugin.getPluginState();return na(e)};validateAggregateRestrictions=e=>{let r=e.filter(s=>s.type==="file"&&s.status==="checked").map(s=>s.data);return this.plugin.uppy.validateAggregateRestrictions(r)};render(e,t={}){let{didFirstRender:r}=this.plugin.getPluginState(),{i18n:s}=this.plugin.uppy;r||(this.plugin.setPluginState({didFirstRender:!0}),this.provider.fetchPreAuthToken(),this.openFolder(this.plugin.rootFolderId));let n={...this.opts,...t},{authenticated:o,loading:a}=this.plugin.getPluginState(),l=this.plugin.icon||dn;if(o===!1)return c(ea,{pluginName:this.plugin.title,pluginIcon:l,handleAuth:this.handleAuth,i18n:this.plugin.uppy.i18n,renderForm:n.renderAuthForm,loading:a});let{partialTree:h,username:f,searchString:m}=this.plugin.getPluginState(),w=this.getBreadcrumbs();return c("div",{className:(0,Sm.default)("uppy-ProviderBrowser",`uppy-ProviderBrowser-viewType--${n.viewType}`),children:[c(Eu,{showBreadcrumbs:n.showBreadcrumbs,openFolder:this.openFolder,breadcrumbs:w,pluginIcon:l,title:this.plugin.title,logout:this.logout,username:f,i18n:s}),n.showFilter&&c(rs,{searchString:m,setSearchString:y=>{this.plugin.setPluginState({searchString:y})},submitSearchString:()=>{},inputLabel:s("filter"),clearSearchLabel:s("resetFilter"),wrapperClassName:"uppy-ProviderBrowser-searchFilter",inputClassName:"uppy-ProviderBrowser-searchFilterInput"}),c(sa,{toggleCheckbox:this.toggleCheckbox,displayedPartialTree:this.getDisplayedPartialTree(),openFolder:this.openFolder,virtualList:n.virtualList,noResultsLabel:s("noFilesFound"),handleScroll:this.handleScroll,viewType:n.viewType,showTitles:n.showTitles,i18n:this.plugin.uppy.i18n,isLoading:a,utmSource:"Companion"}),c(on,{partialTree:h,donePicking:this.donePicking,cancelSelection:this.cancelSelection,i18n:s,validateAggregateRestrictions:this.validateAggregateRestrictions})]})}};var Em=ye(ht(),1);var uS={loading:!1,searchString:"",partialTree:[{type:"root",id:null,cached:!1,nextPagePath:null}],currentFolderId:null,isInputMode:!0},hS={viewType:"grid",showTitles:!0,showFilter:!0,utmSource:"Companion"},pn=class{static VERSION=ia.version;plugin;provider;opts;isHandlingScroll=!1;lastCheckbox=null;constructor(e,t){this.plugin=e,this.provider=t.provider,this.opts={...hS,...t},this.setSearchString=this.setSearchString.bind(this),this.search=this.search.bind(this),this.resetPluginState=this.resetPluginState.bind(this),this.handleScroll=this.handleScroll.bind(this),this.donePicking=this.donePicking.bind(this),this.cancelSelection=this.cancelSelection.bind(this),this.toggleCheckbox=this.toggleCheckbox.bind(this),this.render=this.render.bind(this),this.resetPluginState(),this.plugin.uppy.on("dashboard:close-panel",this.resetPluginState),this.plugin.uppy.registerRequestClient(this.provider.provider,this.provider)}tearDown(){}setLoading(e){this.plugin.setPluginState({loading:e})}resetPluginState(){this.plugin.setPluginState(uS)}cancelSelection(){let{partialTree:e}=this.plugin.getPluginState(),t=e.map(r=>r.type==="root"?r:{...r,status:"unchecked"});this.plugin.setPluginState({partialTree:t})}async search(){let{searchString:e}=this.plugin.getPluginState();if(e!==""){this.setLoading(!0);try{let t=await this.provider.search(e),r=[{type:"root",id:null,cached:!1,nextPagePath:t.nextPageQuery},...t.items.map(s=>({type:"file",id:s.requestPath,status:"unchecked",parentId:null,data:s}))];this.plugin.setPluginState({partialTree:r,isInputMode:!1})}catch(t){_i(this.plugin.uppy)(t)}this.setLoading(!1)}}async handleScroll(e){let{partialTree:t,searchString:r}=this.plugin.getPluginState(),s=t.find(n=>n.type==="root");if(ha(e)&&!this.isHandlingScroll&&s.nextPagePath){this.isHandlingScroll=!0;try{let n=await this.provider.search(r,s.nextPagePath),o={...s,nextPagePath:n.nextPageQuery},a=t.filter(h=>h.type!=="root"),l=[o,...a,...n.items.map(h=>({type:"file",id:h.requestPath,status:"unchecked",parentId:null,data:h}))];this.plugin.setPluginState({partialTree:l})}catch(n){_i(this.plugin.uppy)(n)}this.isHandlingScroll=!1}}async donePicking(){let{partialTree:e}=this.plugin.getPluginState(),t=la(e);oa(t,this.plugin,this.provider),this.resetPluginState()}toggleCheckbox(e,t){let{partialTree:r}=this.plugin.getPluginState(),s=aa(e.id,this.getDisplayedPartialTree(),t,this.lastCheckbox),n=vr.afterToggleCheckbox(r,s);this.plugin.setPluginState({partialTree:n}),this.lastCheckbox=e.id}validateSingleFile=e=>{let t=nn(e);return this.plugin.uppy.validateSingleFile(t)};getDisplayedPartialTree=()=>{let{partialTree:e}=this.plugin.getPluginState();return e.filter(t=>t.type!=="root")};setSearchString=e=>{this.plugin.setPluginState({searchString:e}),e===""&&this.plugin.setPluginState({partialTree:[]})};validateAggregateRestrictions=e=>{let r=e.filter(s=>s.type==="file"&&s.status==="checked").map(s=>s.data);return this.plugin.uppy.validateAggregateRestrictions(r)};render(e,t={}){let{isInputMode:r,searchString:s,loading:n,partialTree:o}=this.plugin.getPluginState(),{i18n:a}=this.plugin.uppy,l={...this.opts,...t};return r?c(rs,{searchString:s,setSearchString:this.setSearchString,submitSearchString:this.search,inputLabel:a("enterTextToSearch"),buttonLabel:a("searchImages"),wrapperClassName:"uppy-SearchProvider",inputClassName:"uppy-c-textInput uppy-SearchProvider-input",showButton:!0,buttonCSSClassName:"uppy-SearchProvider-searchButton"}):c("div",{className:(0,Em.default)("uppy-ProviderBrowser",`uppy-ProviderBrowser-viewType--${l.viewType}`),children:[l.showFilter&&c(rs,{searchString:s,setSearchString:this.setSearchString,submitSearchString:this.search,inputLabel:a("search"),clearSearchLabel:a("resetSearch"),wrapperClassName:"uppy-ProviderBrowser-searchFilter",inputClassName:"uppy-ProviderBrowser-searchFilterInput"}),c(sa,{toggleCheckbox:this.toggleCheckbox,displayedPartialTree:this.getDisplayedPartialTree(),handleScroll:this.handleScroll,openFolder:async()=>{},noResultsLabel:a("noSearchResults"),viewType:l.viewType,showTitles:l.showTitles,isLoading:n,i18n:a,virtualList:!1,utmSource:this.opts.utmSource}),c(on,{partialTree:o,donePicking:this.donePicking,cancelSelection:this.cancelSelection,i18n:a,validateAggregateRestrictions:this.validateAggregateRestrictions})]})}};function da(i,e,t,r){return t===0||i===e?i:r===0?e:i+(e-i)*2**(-r/t)}var Tm={name:"@uppy/status-bar",description:"A progress bar for Uppy, with many bells and whistles.",version:"4.2.3",license:"MIT",main:"lib/index.js",style:"dist/style.min.css",type:"module",scripts:{build:"tsc --build tsconfig.build.json","build:css":"sass --load-path=../../ src/style.scss dist/style.css && postcss dist/style.css -u cssnano -o dist/style.min.css",typecheck:"tsc --build"},keywords:["file uploader","uppy","uppy-plugin","progress bar","status bar","progress","upload","eta","speed"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"],dependencies:{"@transloadit/prettier-bytes":"^0.3.4","@uppy/utils":"^6.2.2",classnames:"^2.2.6",preact:"^10.5.13"},peerDependencies:{"@uppy/core":"^4.5.2"},devDependencies:{cssnano:"^7.0.7",postcss:"^8.5.6","postcss-cli":"^11.0.1",sass:"^1.89.2",typescript:"^5.8.3"}};var xm={strings:{uploading:"Uploading",complete:"Complete",uploadFailed:"Upload failed",paused:"Paused",retry:"Retry",cancel:"Cancel",pause:"Pause",resume:"Resume",done:"Done",filesUploadedOfTotal:{0:"%{complete} of %{smart_count} file uploaded",1:"%{complete} of %{smart_count} files uploaded"},dataUploadedOfTotal:"%{complete} of %{total}",dataUploadedOfUnknown:"%{complete} of unknown",xTimeLeft:"%{time} left",uploadXFiles:{0:"Upload %{smart_count} file",1:"Upload %{smart_count} files"},uploadXNewFiles:{0:"Upload +%{smart_count} file",1:"Upload +%{smart_count} files"},upload:"Upload",retryUpload:"Retry upload",xMoreFilesAdded:{0:"%{smart_count} more file added",1:"%{smart_count} more files added"},showErrorDetails:"Show error details"}};var Ft={STATE_ERROR:"error",STATE_WAITING:"waiting",STATE_PREPROCESSING:"preprocessing",STATE_UPLOADING:"uploading",STATE_POSTPROCESSING:"postprocessing",STATE_COMPLETE:"complete"};var Fu=ye(ht(),1);var ku=ye(Xo(),1);function Tu(i){let e=Math.floor(i/3600)%24,t=Math.floor(i/60)%60,r=Math.floor(i%60);return{hours:e,minutes:t,seconds:r}}function xu(i){let e=Tu(i),t=e.hours===0?"":`${e.hours}h`,r=e.minutes===0?"":`${e.hours===0?e.minutes:` ${e.minutes.toString(10).padStart(2,"0")}`}m`,s=e.hours!==0?"":`${e.minutes===0?e.seconds:` ${e.seconds.toString(10).padStart(2,"0")}`}s`;return`${t}${r}${s}`}var _u=ye(ht(),1);var pS="\xB7",km=()=>` ${pS} `;function _m(i){let{newFiles:e,isUploadStarted:t,recoveredState:r,i18n:s,uploadState:n,isSomeGhost:o,startUpload:a}=i,l=(0,_u.default)("uppy-u-reset","uppy-c-btn","uppy-StatusBar-actionBtn","uppy-StatusBar-actionBtn--upload",{"uppy-c-btn-primary":n===Ft.STATE_WAITING},{"uppy-StatusBar-actionBtn--disabled":o}),h=e&&t&&!r?s("uploadXNewFiles",{smart_count:e}):s("uploadXFiles",{smart_count:e});return c("button",{type:"button",className:l,"aria-label":s("uploadXFiles",{smart_count:e}),onClick:a,disabled:o,"data-uppy-super-focusable":!0,children:h})}function Am(i){let{i18n:e,uppy:t}=i;return c("button",{type:"button",className:"uppy-u-reset uppy-c-btn uppy-StatusBar-actionBtn uppy-StatusBar-actionBtn--retry","aria-label":e("retryUpload"),onClick:()=>t.retryAll().catch(()=>{}),"data-uppy-super-focusable":!0,"data-cy":"retry",children:[c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"8",height:"10",viewBox:"0 0 8 10",children:c("path",{d:"M4 2.408a2.75 2.75 0 1 0 2.75 2.75.626.626 0 0 1 1.25.018v.023a4 4 0 1 1-4-4.041V.25a.25.25 0 0 1 .389-.208l2.299 1.533a.25.25 0 0 1 0 .416l-2.3 1.533A.25.25 0 0 1 4 3.316v-.908z"})}),e("retry")]})}function Cm(i){let{i18n:e,uppy:t}=i;return c("button",{type:"button",className:"uppy-u-reset uppy-StatusBar-actionCircleBtn",title:e("cancel"),"aria-label":e("cancel"),onClick:()=>t.cancelAll(),"data-cy":"cancel","data-uppy-super-focusable":!0,children:c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"16",height:"16",viewBox:"0 0 16 16",children:c("g",{fill:"none",fillRule:"evenodd",children:[c("circle",{fill:"#888",cx:"8",cy:"8",r:"8"}),c("path",{fill:"#FFF",d:"M9.283 8l2.567 2.567-1.283 1.283L8 9.283 5.433 11.85 4.15 10.567 6.717 8 4.15 5.433 5.433 4.15 8 6.717l2.567-2.567 1.283 1.283z"})]})})})}function Fm(i){let{isAllPaused:e,i18n:t,isAllComplete:r,resumableUploads:s,uppy:n}=i,o=t(e?"resume":"pause");function a(){if(!r){if(!s){n.cancelAll();return}if(e){n.resumeAll();return}n.pauseAll()}}return c("button",{title:o,"aria-label":o,className:"uppy-u-reset uppy-StatusBar-actionCircleBtn",type:"button",onClick:a,"data-cy":"togglePauseResume","data-uppy-super-focusable":!0,children:c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"16",height:"16",viewBox:"0 0 16 16",children:c("g",{fill:"none",fillRule:"evenodd",children:[c("circle",{fill:"#888",cx:"8",cy:"8",r:"8"}),c("path",{fill:"#FFF",d:e?"M6 4.25L11.5 8 6 11.75z":"M5 4.5h2v7H5v-7zm4 0h2v7H9v-7z"})]})})})}function Pm(i){let{i18n:e,doneButtonHandler:t}=i;return c("button",{type:"button",className:"uppy-u-reset uppy-c-btn uppy-StatusBar-actionBtn uppy-StatusBar-actionBtn--done",onClick:t,"data-uppy-super-focusable":!0,children:e("done")})}function Om(){return c("svg",{className:"uppy-StatusBar-spinner","aria-hidden":"true",focusable:"false",width:"14",height:"14",children:c("path",{d:"M13.983 6.547c-.12-2.509-1.64-4.893-3.939-5.936-2.48-1.127-5.488-.656-7.556 1.094C.524 3.367-.398 6.048.162 8.562c.556 2.495 2.46 4.52 4.94 5.183 2.932.784 5.61-.602 7.256-3.015-1.493 1.993-3.745 3.309-6.298 2.868-2.514-.434-4.578-2.349-5.153-4.84a6.226 6.226 0 0 1 2.98-6.778C6.34.586 9.74 1.1 11.373 3.493c.407.596.693 1.282.842 1.988.127.598.073 1.197.161 1.794.078.525.543 1.257 1.15.864.525-.341.49-1.05.456-1.592-.007-.15.02.3 0 0",fillRule:"evenodd"})})}function Rm(i){let{progress:e}=i,{value:t,mode:r,message:s}=e;return c("div",{className:"uppy-StatusBar-content",children:[c(Om,{}),r==="determinate"?`${Math.round(t*100)}% \xB7 `:"",s]})}function fS(i){let{numUploads:e,complete:t,totalUploadedSize:r,totalSize:s,totalETA:n,i18n:o}=i,a=e>1,l=(0,ku.default)(r);return c("div",{className:"uppy-StatusBar-statusSecondary",children:[a&&o("filesUploadedOfTotal",{complete:t,smart_count:e}),c("span",{className:"uppy-StatusBar-additionalInfo",children:[a&&km(),s!=null?o("dataUploadedOfTotal",{complete:l,total:(0,ku.default)(s)}):o("dataUploadedOfUnknown",{complete:l}),km(),n!=null&&o("xTimeLeft",{time:xu(n)})]})]})}function Lm(i){let{i18n:e,complete:t,numUploads:r}=i;return c("div",{className:"uppy-StatusBar-statusSecondary",children:e("filesUploadedOfTotal",{complete:t,smart_count:r})})}function mS(i){let{i18n:e,newFiles:t,startUpload:r}=i,s=(0,_u.default)("uppy-u-reset","uppy-c-btn","uppy-StatusBar-actionBtn","uppy-StatusBar-actionBtn--uploadNewlyAdded");return c("div",{className:"uppy-StatusBar-statusSecondary",children:[c("div",{className:"uppy-StatusBar-statusSecondaryHint",children:e("xMoreFilesAdded",{smart_count:t})}),c("button",{type:"button",className:s,"aria-label":e("uploadXFiles",{smart_count:t}),onClick:r,children:e("upload")})]})}function Mm(i){let{i18n:e,supportsUploadProgress:t,totalProgress:r,showProgressDetails:s,isUploadStarted:n,isAllComplete:o,isAllPaused:a,newFiles:l,numUploads:h,complete:f,totalUploadedSize:m,totalSize:w,totalETA:y,startUpload:k}=i,C=l&&n;if(!n||o)return null;let O=e(a?"paused":"uploading");function R(){return!a&&!C&&s?t?c(fS,{numUploads:h,complete:f,totalUploadedSize:m,totalSize:w,totalETA:y,i18n:e}):c(Lm,{i18n:e,complete:f,numUploads:h}):null}return c("div",{className:"uppy-StatusBar-content",title:O,children:[a?null:c(Om,{}),c("div",{className:"uppy-StatusBar-status",children:[c("div",{className:"uppy-StatusBar-statusPrimary",children:t&&r!==0?`${O}: ${r}%`:O}),R(),C?c(mS,{i18n:e,newFiles:l,startUpload:k}):null]})]})}function Im(i){let{i18n:e}=i;return c("div",{className:"uppy-StatusBar-content",role:"status",title:e("complete"),children:c("div",{className:"uppy-StatusBar-status",children:c("div",{className:"uppy-StatusBar-statusPrimary",children:[c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-StatusBar-statusIndicator uppy-c-icon",width:"15",height:"11",viewBox:"0 0 15 11",children:c("path",{d:"M.414 5.843L1.627 4.63l3.472 3.472L13.202 0l1.212 1.213L5.1 10.528z"})}),e("complete")]})})})}function Dm(i){let{error:e,i18n:t,complete:r,numUploads:s}=i;function n(){let o=`${t("uploadFailed")}
|
|
96
96
|
|
|
97
97
|
${e}`;alert(o)}return c("div",{className:"uppy-StatusBar-content",title:t("uploadFailed"),children:[c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-StatusBar-statusIndicator uppy-c-icon",width:"11",height:"11",viewBox:"0 0 11 11",children:c("path",{d:"M4.278 5.5L0 1.222 1.222 0 5.5 4.278 9.778 0 11 1.222 6.722 5.5 11 9.778 9.778 11 5.5 6.722 1.222 11 0 9.778z"})}),c("div",{className:"uppy-StatusBar-status",children:[c("div",{className:"uppy-StatusBar-statusPrimary",children:[t("uploadFailed"),c("button",{className:"uppy-u-reset uppy-StatusBar-details","aria-label":t("showErrorDetails"),"data-microtip-position":"top-right","data-microtip-size":"medium",onClick:n,type:"button",children:"?"})]}),c(Lm,{i18n:t,complete:r,numUploads:s})]})]})}function fn(i){let e=[],t="indeterminate",r;for(let{progress:n}of Object.values(i)){let{preprocess:o,postprocess:a}=n;r==null&&(o||a)&&({mode:t,message:r}=o||a),o?.mode==="determinate"&&e.push(o.value),a?.mode==="determinate"&&e.push(a.value)}let s=e.reduce((n,o)=>n+o/e.length,0);return{mode:t,message:r,value:s}}var{STATE_ERROR:Nm,STATE_WAITING:gS,STATE_PREPROCESSING:Au,STATE_UPLOADING:pa,STATE_POSTPROCESSING:Cu,STATE_COMPLETE:fa}=Ft;function Pu({newFiles:i,allowNewUpload:e,isUploadInProgress:t,isAllPaused:r,resumableUploads:s,error:n,hideUploadButton:o=void 0,hidePauseResumeButton:a=!1,hideCancelButton:l=!1,hideRetryButton:h=!1,recoveredState:f,uploadState:m,totalProgress:w,files:y,supportsUploadProgress:k,hideAfterFinish:C=!1,isSomeGhost:O,doneButtonHandler:R=void 0,isUploadStarted:_,i18n:F,startUpload:x,uppy:S,isAllComplete:A,showProgressDetails:P=void 0,numUploads:N,complete:z,totalSize:q,totalETA:V,totalUploadedSize:Z}){function K(){switch(m){case Cu:case Au:{let Se=fn(y);return Se.mode==="determinate"?Se.value*100:w}case Nm:return null;case pa:return k?w:null;default:return w}}function ie(){switch(m){case Cu:case Au:{let{mode:Se}=fn(y);return Se==="indeterminate"}case pa:return!k;default:return!1}}let Ae=K(),de=Ae??100,Ue=!n&&i&&(!t&&!r||f)&&e&&!o,fe=!l&&m!==gS&&m!==fa,ot=s&&!a&&m===pa,Ot=n&&!A&&!h,Et=R&&m===fa,ft=(0,Fu.default)("uppy-StatusBar-progress",{"is-indeterminate":ie()}),re=(0,Fu.default)("uppy-StatusBar",`is-${m}`,{"has-ghosts":O}),Ye=(()=>{switch(m){case Au:case Cu:return c(Rm,{progress:fn(y)});case fa:return c(Im,{i18n:F});case Nm:return c(Dm,{error:n,i18n:F,numUploads:N,complete:z});case pa:return c(Mm,{i18n:F,supportsUploadProgress:k,totalProgress:w,showProgressDetails:P,isUploadStarted:_,isAllComplete:A,isAllPaused:r,newFiles:i,numUploads:N,complete:z,totalUploadedSize:Z,totalSize:q,totalETA:V,startUpload:x});default:return null}})();return!(Ue||Ot||ot||fe||Et)&&!Ye||m===fa&&C?null:c("div",{className:re,children:[c("div",{className:ft,style:{width:`${de}%`},role:"progressbar","aria-label":`${de}%`,"aria-valuetext":`${de}%`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Ae}),Ye,c("div",{className:"uppy-StatusBar-actions",children:[Ue?c(_m,{newFiles:i,isUploadStarted:_,recoveredState:f,i18n:F,isSomeGhost:O,startUpload:x,uploadState:m}):null,Ot?c(Am,{i18n:F,uppy:S}):null,ot?c(Fm,{isAllPaused:r,i18n:F,isAllComplete:A,resumableUploads:s,uppy:S}):null,fe?c(Cm,{i18n:F,uppy:S}):null,Et?c(Pm,{i18n:F,doneButtonHandler:R}):null]})]})}var bS=2e3,yS=2e3;function vS(i,e,t,r){if(i)return Ft.STATE_ERROR;if(e)return Ft.STATE_COMPLETE;if(t)return Ft.STATE_WAITING;let s=Ft.STATE_WAITING,n=Object.keys(r);for(let o=0;o<n.length;o++){let{progress:a}=r[n[o]];if(a.uploadStarted&&!a.uploadComplete)return Ft.STATE_UPLOADING;a.preprocess&&(s=Ft.STATE_PREPROCESSING),a.postprocess&&s!==Ft.STATE_PREPROCESSING&&(s=Ft.STATE_POSTPROCESSING)}return s}var wS={hideUploadButton:!1,hideRetryButton:!1,hidePauseResumeButton:!1,hideCancelButton:!1,showProgressDetails:!1,hideAfterFinish:!0,doneButtonHandler:null},ss=class extends ni{static VERSION=Tm.version;#e;#t;#i;#r;constructor(e,t){super(e,{...wS,...t}),this.id=this.opts.id||"StatusBar",this.title="StatusBar",this.type="progressindicator",this.defaultLocale=xm,this.i18nInit(),this.render=this.render.bind(this),this.install=this.install.bind(this)}#s(e){if(e.total==null||e.total===0)return null;let t=e.total-e.uploaded;if(t<=0)return null;this.#e??=performance.now();let r=performance.now()-this.#e;if(r===0)return Math.round((this.#r??0)/100)/10;let s=e.uploaded-this.#t;if(this.#t=e.uploaded,s<=0)return Math.round((this.#r??0)/100)/10;let n=s/r,o=this.#i==null?n:da(n,this.#i,bS,r);this.#i=o;let a=t/o,l=Math.max(this.#r-r,0),h=this.#r==null?a:da(a,l,yS,r);return this.#r=h,this.#e=performance.now(),Math.round(h/100)/10}startUpload=()=>this.uppy.upload().catch((()=>{}));render(e){let{capabilities:t,files:r,allowNewUpload:s,totalProgress:n,error:o,recoveredState:a}=e,{newFiles:l,startedFiles:h,completeFiles:f,isUploadStarted:m,isAllComplete:w,isAllPaused:y,isUploadInProgress:k,isSomeGhost:C}=this.uppy.getObjectOfFilesPerState(),O=a?Object.values(r):l,R=!!t.resumableUploads,_=t.uploadProgress!==!1,F=null,x=0;h.every(A=>A.progress.bytesTotal!=null&&A.progress.bytesTotal!==0)?(F=0,h.forEach(A=>{F+=A.progress.bytesTotal||0,x+=A.progress.bytesUploaded||0})):h.forEach(A=>{x+=A.progress.bytesUploaded||0});let S=this.#s({uploaded:x,total:F});return Pu({error:o,uploadState:vS(o,w,a,e.files||{}),allowNewUpload:s,totalProgress:n,totalSize:F,totalUploadedSize:x,isAllComplete:!1,isAllPaused:y,isUploadStarted:m,isUploadInProgress:k,isSomeGhost:C,recoveredState:a,complete:f.length,newFiles:O.length,numUploads:h.length,totalETA:S,files:r,i18n:this.i18n,uppy:this.uppy,startUpload:this.startUpload,doneButtonHandler:this.opts.doneButtonHandler,resumableUploads:R,supportsUploadProgress:_,showProgressDetails:this.opts.showProgressDetails,hideUploadButton:this.opts.hideUploadButton,hideRetryButton:this.opts.hideRetryButton,hidePauseResumeButton:this.opts.hidePauseResumeButton,hideCancelButton:this.opts.hideCancelButton,hideAfterFinish:this.opts.hideAfterFinish})}onMount(){let e=this.el;Ho(e)||(e.dir="ltr")}#o=()=>{let{recoveredState:e}=this.uppy.getState();if(this.#i=null,this.#r=null,e){this.#t=Object.values(e.files).reduce((t,{progress:r})=>t+r.bytesUploaded,0),this.uppy.emit("restore-confirmed");return}this.#e=performance.now(),this.#t=0};install(){let{target:e}=this.opts;e&&this.mount(e,this),this.uppy.on("upload",this.#o),this.#e=performance.now(),this.#t=this.uppy.getFiles().reduce((t,r)=>t+r.progress.bytesUploaded,0)}uninstall(){this.unmount(),this.uppy.off("upload",this.#o)}};var SS=/^data:([^/]+\/[^,;]+(?:[^,]*?))(;base64)?,([\s\S]*)$/;function ES(i,e,t){let r=SS.exec(i),s=e.mimeType??r?.[1]??"plain/text",n;if(r?.[2]!=null){let o=atob(decodeURIComponent(r[3])),a=new Uint8Array(o.length);for(let l=0;l<o.length;l++)a[l]=o.charCodeAt(l);n=[a]}else r?.[3]!=null&&(n=[decodeURIComponent(r[3])]);return t?new File(n,e.name||"",{type:s}):new Blob(n,{type:s})}var Bm=ES;function ma(i){return i.startsWith("blob:")}function ga(i){return i?/^[^/]+\/(jpe?g|gif|png|svg|svg\+xml|bmp|webp|avif)$/.test(i):!1}function ue(i,e,t){return e in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}var Gm=typeof self<"u"?self:global,yn=typeof navigator<"u",TS=yn&&typeof HTMLImageElement>"u",Um=!(typeof global>"u"||typeof process>"u"||!process.versions||!process.versions.node),Km=Gm.Buffer,Xm=!!Km,xS=i=>i!==void 0;function Ym(i){return i===void 0||(i instanceof Map?i.size===0:Object.values(i).filter(xS).length===0)}function Xe(i){let e=new Error(i);throw delete e.stack,e}function zm(i){let e=(function(t){let r=0;return t.ifd0.enabled&&(r+=1024),t.exif.enabled&&(r+=2048),t.makerNote&&(r+=2048),t.userComment&&(r+=1024),t.gps.enabled&&(r+=512),t.interop.enabled&&(r+=100),t.ifd1.enabled&&(r+=1024),r+2048})(i);return i.jfif.enabled&&(e+=50),i.xmp.enabled&&(e+=2e4),i.iptc.enabled&&(e+=14e3),i.icc.enabled&&(e+=6e3),e}var Ou=i=>String.fromCharCode.apply(null,i),Hm=typeof TextDecoder<"u"?new TextDecoder("utf-8"):void 0,Sr=class i{static from(e,t){return e instanceof this&&e.le===t?e:new i(e,void 0,void 0,t)}constructor(e,t=0,r,s){if(typeof s=="boolean"&&(this.le=s),Array.isArray(e)&&(e=new Uint8Array(e)),e===0)this.byteOffset=0,this.byteLength=0;else if(e instanceof ArrayBuffer){r===void 0&&(r=e.byteLength-t);let n=new DataView(e,t,r);this._swapDataView(n)}else if(e instanceof Uint8Array||e instanceof DataView||e instanceof i){r===void 0&&(r=e.byteLength-t),(t+=e.byteOffset)+r>e.byteOffset+e.byteLength&&Xe("Creating view outside of available memory in ArrayBuffer");let n=new DataView(e.buffer,t,r);this._swapDataView(n)}else if(typeof e=="number"){let n=new DataView(new ArrayBuffer(e));this._swapDataView(n)}else Xe("Invalid input argument for BufferView: "+e)}_swapArrayBuffer(e){this._swapDataView(new DataView(e))}_swapBuffer(e){this._swapDataView(new DataView(e.buffer,e.byteOffset,e.byteLength))}_swapDataView(e){this.dataView=e,this.buffer=e.buffer,this.byteOffset=e.byteOffset,this.byteLength=e.byteLength}_lengthToEnd(e){return this.byteLength-e}set(e,t,r=i){return e instanceof DataView||e instanceof i?e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e instanceof ArrayBuffer&&(e=new Uint8Array(e)),e instanceof Uint8Array||Xe("BufferView.set(): Invalid data argument."),this.toUint8().set(e,t),new r(this,t,e.byteLength)}subarray(e,t){return t=t||this._lengthToEnd(e),new i(this,e,t)}toUint8(){return new Uint8Array(this.buffer,this.byteOffset,this.byteLength)}getUint8Array(e,t){return new Uint8Array(this.buffer,this.byteOffset+e,t)}getString(e=0,t=this.byteLength){return s=this.getUint8Array(e,t),Hm?Hm.decode(s):Xm?Buffer.from(s).toString("utf8"):decodeURIComponent(escape(Ou(s)));var s}getLatin1String(e=0,t=this.byteLength){let r=this.getUint8Array(e,t);return Ou(r)}getUnicodeString(e=0,t=this.byteLength){let r=[];for(let s=0;s<t&&e+s<this.byteLength;s+=2)r.push(this.getUint16(e+s));return Ou(r)}getInt8(e){return this.dataView.getInt8(e)}getUint8(e){return this.dataView.getUint8(e)}getInt16(e,t=this.le){return this.dataView.getInt16(e,t)}getInt32(e,t=this.le){return this.dataView.getInt32(e,t)}getUint16(e,t=this.le){return this.dataView.getUint16(e,t)}getUint32(e,t=this.le){return this.dataView.getUint32(e,t)}getFloat32(e,t=this.le){return this.dataView.getFloat32(e,t)}getFloat64(e,t=this.le){return this.dataView.getFloat64(e,t)}getFloat(e,t=this.le){return this.dataView.getFloat32(e,t)}getDouble(e,t=this.le){return this.dataView.getFloat64(e,t)}getUintBytes(e,t,r){switch(t){case 1:return this.getUint8(e,r);case 2:return this.getUint16(e,r);case 4:return this.getUint32(e,r);case 8:return this.getUint64&&this.getUint64(e,r)}}getUint(e,t,r){switch(t){case 8:return this.getUint8(e,r);case 16:return this.getUint16(e,r);case 32:return this.getUint32(e,r);case 64:return this.getUint64&&this.getUint64(e,r)}}toString(e){return this.dataView.toString(e,this.constructor.name)}ensureChunk(){}};function Lu(i,e){Xe(`${i} '${e}' was not loaded, try using full build of exifr.`)}var vn=class extends Map{constructor(e){super(),this.kind=e}get(e,t){return this.has(e)||Lu(this.kind,e),t&&(e in t||(function(r,s){Xe(`Unknown ${r} '${s}'.`)})(this.kind,e),t[e].enabled||Lu(this.kind,e)),super.get(e)}keyList(){return Array.from(this.keys())}},Sa=new vn("file parser"),Pt=new vn("segment parser"),En=new vn("file reader"),kS=Gm.fetch;function jm(i,e){return(t=i).startsWith("data:")||t.length>1e4?Iu(i,e,"base64"):Um&&i.includes("://")?Mu(i,e,"url",ba):Um?Iu(i,e,"fs"):yn?Mu(i,e,"url",ba):void Xe("Invalid input argument");var t}async function Mu(i,e,t,r){return En.has(t)?Iu(i,e,t):r?(async function(s,n){let o=await n(s);return new Sr(o)})(i,r):void Xe(`Parser ${t} is not loaded`)}async function Iu(i,e,t){let r=new(En.get(t))(i,e);return await r.read(),r}var ba=i=>kS(i).then((e=>e.arrayBuffer())),wn=i=>new Promise(((e,t)=>{let r=new FileReader;r.onloadend=()=>e(r.result||new ArrayBuffer),r.onerror=t,r.readAsArrayBuffer(i)})),Du=class extends Map{get tagKeys(){return this.allKeys||(this.allKeys=Array.from(this.keys())),this.allKeys}get tagValues(){return this.allValues||(this.allValues=Array.from(this.values())),this.allValues}};function Zm(i,e,t){let r=new Du;for(let[s,n]of t)r.set(s,n);if(Array.isArray(e))for(let s of e)i.set(s,r);else i.set(e,r);return r}function Qm(i,e,t){let r,s=i.get(e);for(r of t)s.set(r[0],r[1])}var Tn=new Map,Hu=new Map,ju=new Map,ns=["chunked","firstChunkSize","firstChunkSizeNode","firstChunkSizeBrowser","chunkSize","chunkLimit"],Ea=["jfif","xmp","icc","iptc","ihdr"],Sn=["tiff",...Ea],Be=["ifd0","ifd1","exif","gps","interop"],os=[...Sn,...Be],as=["makerNote","userComment"],Ta=["translateKeys","translateValues","reviveValues","multiSegment"],ls=[...Ta,"sanitize","mergeOutput","silentErrors"],ya=class{get translate(){return this.translateKeys||this.translateValues||this.reviveValues}},wr=class extends ya{get needed(){return this.enabled||this.deps.size>0}constructor(e,t,r,s){if(super(),ue(this,"enabled",!1),ue(this,"skip",new Set),ue(this,"pick",new Set),ue(this,"deps",new Set),ue(this,"translateKeys",!1),ue(this,"translateValues",!1),ue(this,"reviveValues",!1),this.key=e,this.enabled=t,this.parse=this.enabled,this.applyInheritables(s),this.canBeFiltered=Be.includes(e),this.canBeFiltered&&(this.dict=Tn.get(e)),r!==void 0)if(Array.isArray(r))this.parse=this.enabled=!0,this.canBeFiltered&&r.length>0&&this.translateTagSet(r,this.pick);else if(typeof r=="object"){if(this.enabled=!0,this.parse=r.parse!==!1,this.canBeFiltered){let{pick:n,skip:o}=r;n&&n.length>0&&this.translateTagSet(n,this.pick),o&&o.length>0&&this.translateTagSet(o,this.skip)}this.applyInheritables(r)}else r===!0||r===!1?this.parse=this.enabled=r:Xe(`Invalid options argument: ${r}`)}applyInheritables(e){let t,r;for(t of Ta)r=e[t],r!==void 0&&(this[t]=r)}translateTagSet(e,t){if(this.dict){let r,s,{tagKeys:n,tagValues:o}=this.dict;for(r of e)typeof r=="string"?(s=o.indexOf(r),s===-1&&(s=n.indexOf(Number(r))),s!==-1&&t.add(Number(n[s]))):t.add(r)}else for(let r of e)t.add(r)}finalizeFilters(){!this.enabled&&this.deps.size>0?(this.enabled=!0,va(this.pick,this.deps)):this.enabled&&this.pick.size>0&&va(this.pick,this.deps)}},pt={jfif:!1,tiff:!0,xmp:!1,icc:!1,iptc:!1,ifd0:!0,ifd1:!1,exif:!0,gps:!0,interop:!1,ihdr:void 0,makerNote:!1,userComment:!1,multiSegment:!1,skip:[],pick:[],translateKeys:!0,translateValues:!0,reviveValues:!0,sanitize:!0,mergeOutput:!0,silentErrors:!0,chunked:!0,firstChunkSize:void 0,firstChunkSizeNode:512,firstChunkSizeBrowser:65536,chunkSize:65536,chunkLimit:5},qm=new Map,Er=class extends ya{static useCached(e){let t=qm.get(e);return t!==void 0||(t=new this(e),qm.set(e,t)),t}constructor(e){super(),e===!0?this.setupFromTrue():e===void 0?this.setupFromUndefined():Array.isArray(e)?this.setupFromArray(e):typeof e=="object"?this.setupFromObject(e):Xe(`Invalid options argument ${e}`),this.firstChunkSize===void 0&&(this.firstChunkSize=yn?this.firstChunkSizeBrowser:this.firstChunkSizeNode),this.mergeOutput&&(this.ifd1.enabled=!1),this.filterNestedSegmentTags(),this.traverseTiffDependencyTree(),this.checkLoadedPlugins()}setupFromUndefined(){let e;for(e of ns)this[e]=pt[e];for(e of ls)this[e]=pt[e];for(e of as)this[e]=pt[e];for(e of os)this[e]=new wr(e,pt[e],void 0,this)}setupFromTrue(){let e;for(e of ns)this[e]=pt[e];for(e of ls)this[e]=pt[e];for(e of as)this[e]=!0;for(e of os)this[e]=new wr(e,!0,void 0,this)}setupFromArray(e){let t;for(t of ns)this[t]=pt[t];for(t of ls)this[t]=pt[t];for(t of as)this[t]=pt[t];for(t of os)this[t]=new wr(t,!1,void 0,this);this.setupGlobalFilters(e,void 0,Be)}setupFromObject(e){let t;for(t of(Be.ifd0=Be.ifd0||Be.image,Be.ifd1=Be.ifd1||Be.thumbnail,Object.assign(this,e),ns))this[t]=Ru(e[t],pt[t]);for(t of ls)this[t]=Ru(e[t],pt[t]);for(t of as)this[t]=Ru(e[t],pt[t]);for(t of Sn)this[t]=new wr(t,pt[t],e[t],this);for(t of Be)this[t]=new wr(t,pt[t],e[t],this.tiff);this.setupGlobalFilters(e.pick,e.skip,Be,os),e.tiff===!0?this.batchEnableWithBool(Be,!0):e.tiff===!1?this.batchEnableWithUserValue(Be,e):Array.isArray(e.tiff)?this.setupGlobalFilters(e.tiff,void 0,Be):typeof e.tiff=="object"&&this.setupGlobalFilters(e.tiff.pick,e.tiff.skip,Be)}batchEnableWithBool(e,t){for(let r of e)this[r].enabled=t}batchEnableWithUserValue(e,t){for(let r of e){let s=t[r];this[r].enabled=s!==!1&&s!==void 0}}setupGlobalFilters(e,t,r,s=r){if(e&&e.length){for(let o of s)this[o].enabled=!1;let n=$m(e,r);for(let[o,a]of n)va(this[o].pick,a),this[o].enabled=!0}else if(t&&t.length){let n=$m(t,r);for(let[o,a]of n)va(this[o].skip,a)}}filterNestedSegmentTags(){let{ifd0:e,exif:t,xmp:r,iptc:s,icc:n}=this;this.makerNote?t.deps.add(37500):t.skip.add(37500),this.userComment?t.deps.add(37510):t.skip.add(37510),r.enabled||e.skip.add(700),s.enabled||e.skip.add(33723),n.enabled||e.skip.add(34675)}traverseTiffDependencyTree(){let{ifd0:e,exif:t,gps:r,interop:s}=this;s.needed&&(t.deps.add(40965),e.deps.add(40965)),t.needed&&e.deps.add(34665),r.needed&&e.deps.add(34853),this.tiff.enabled=Be.some((n=>this[n].enabled===!0))||this.makerNote||this.userComment;for(let n of Be)this[n].finalizeFilters()}get onlyTiff(){return!Ea.map((e=>this[e].enabled)).some((e=>e===!0))&&this.tiff.enabled}checkLoadedPlugins(){for(let e of Sn)this[e].enabled&&!Pt.has(e)&&Lu("segment parser",e)}};function $m(i,e){let t,r,s,n,o=[];for(s of e){for(n of(t=Tn.get(s),r=[],t))(i.includes(n[0])||i.includes(n[1]))&&r.push(n[0]);r.length&&o.push([s,r])}return o}function Ru(i,e){return i!==void 0?i:e!==void 0?e:void 0}function va(i,e){for(let t of e)i.add(t)}ue(Er,"default",pt);var cs=class{constructor(e){ue(this,"parsers",{}),ue(this,"output",{}),ue(this,"errors",[]),ue(this,"pushToErrors",(t=>this.errors.push(t))),this.options=Er.useCached(e)}async read(e){this.file=await(function(t,r){return typeof t=="string"?jm(t,r):yn&&!TS&&t instanceof HTMLImageElement?jm(t.src,r):t instanceof Uint8Array||t instanceof ArrayBuffer||t instanceof DataView?new Sr(t):yn&&t instanceof Blob?Mu(t,r,"blob",wn):void Xe("Invalid input argument")})(e,this.options)}setup(){if(this.fileParser)return;let{file:e}=this,t=e.getUint16(0);for(let[r,s]of Sa)if(s.canHandle(e,t))return this.fileParser=new s(this.options,this.file,this.parsers),e[r]=!0;this.file.close&&this.file.close(),Xe("Unknown file format")}async parse(){let{output:e,errors:t}=this;return this.setup(),this.options.silentErrors?(await this.executeParsers().catch(this.pushToErrors),t.push(...this.fileParser.errors)):await this.executeParsers(),this.file.close&&this.file.close(),this.options.silentErrors&&t.length>0&&(e.errors=t),Ym(r=e)?void 0:r;var r}async executeParsers(){let{output:e}=this;await this.fileParser.parse();let t=Object.values(this.parsers).map((async r=>{let s=await r.parse();r.assignToOutput(e,s)}));this.options.silentErrors&&(t=t.map((r=>r.catch(this.pushToErrors)))),await Promise.all(t)}async extractThumbnail(){this.setup();let{options:e,file:t}=this,r=Pt.get("tiff",e);var s;if(t.tiff?s={start:0,type:"tiff"}:t.jpeg&&(s=await this.fileParser.getOrFindSegment("tiff")),s===void 0)return;let n=await this.fileParser.ensureSegmentChunk(s),o=this.parsers.tiff=new r(n,e,t),a=await o.extractThumbnail();return t.close&&t.close(),a}};async function Jm(i,e){let t=new cs(e);return await t.read(i),t.parse()}var _S=Object.freeze({__proto__:null,parse:Jm,Exifr:cs,fileParsers:Sa,segmentParsers:Pt,fileReaders:En,tagKeys:Tn,tagValues:Hu,tagRevivers:ju,createDictionary:Zm,extendDictionary:Qm,fetchUrlAsArrayBuffer:ba,readBlobAsArrayBuffer:wn,chunkedProps:ns,otherSegments:Ea,segments:Sn,tiffBlocks:Be,segmentsAndBlocks:os,tiffExtractables:as,inheritables:Ta,allFormatters:ls,Options:Er}),Gi=class{static findPosition(e,t){let r=e.getUint16(t+2)+2,s=typeof this.headerLength=="function"?this.headerLength(e,t,r):this.headerLength,n=t+s,o=r-s;return{offset:t,length:r,headerLength:s,start:n,size:o,end:n+o}}static parse(e,t={}){return new this(e,new Er({[this.type]:t}),e).parse()}normalizeInput(e){return e instanceof Sr?e:new Sr(e)}constructor(e,t={},r){ue(this,"errors",[]),ue(this,"raw",new Map),ue(this,"handleError",(s=>{if(!this.options.silentErrors)throw s;this.errors.push(s.message)})),this.chunk=this.normalizeInput(e),this.file=r,this.type=this.constructor.type,this.globalOptions=this.options=t,this.localOptions=t[this.type],this.canTranslate=this.localOptions&&this.localOptions.translate}translate(){this.canTranslate&&(this.translated=this.translateBlock(this.raw,this.type))}get output(){return this.translated?this.translated:this.raw?Object.fromEntries(this.raw):void 0}translateBlock(e,t){let r=ju.get(t),s=Hu.get(t),n=Tn.get(t),o=this.options[t],a=o.reviveValues&&!!r,l=o.translateValues&&!!s,h=o.translateKeys&&!!n,f={};for(let[m,w]of e)a&&r.has(m)?w=r.get(m)(w):l&&s.has(m)&&(w=this.translateValue(w,s.get(m))),h&&n.has(m)&&(m=n.get(m)||m),f[m]=w;return f}translateValue(e,t){return t[e]||t.DEFAULT||e}assignToOutput(e,t){this.assignObjectToOutput(e,this.constructor.type,t)}assignObjectToOutput(e,t,r){if(this.globalOptions.mergeOutput)return Object.assign(e,r);e[t]?Object.assign(e[t],r):e[t]=r}};ue(Gi,"headerLength",4),ue(Gi,"type",void 0),ue(Gi,"multiSegment",!1),ue(Gi,"canHandle",(()=>!1));function AS(i){return i===192||i===194||i===196||i===219||i===221||i===218||i===254}function CS(i){return i>=224&&i<=239}function FS(i,e,t){for(let[r,s]of Pt)if(s.canHandle(i,e,t))return r}var wa=class extends class{constructor(e,t,r){ue(this,"errors",[]),ue(this,"ensureSegmentChunk",(async s=>{let n=s.start,o=s.size||65536;if(this.file.chunked)if(this.file.available(n,o))s.chunk=this.file.subarray(n,o);else try{s.chunk=await this.file.readChunk(n,o)}catch(a){Xe(`Couldn't read segment: ${JSON.stringify(s)}. ${a.message}`)}else this.file.byteLength>n+o?s.chunk=this.file.subarray(n,o):s.size===void 0?s.chunk=this.file.subarray(n):Xe("Segment unreachable: "+JSON.stringify(s));return s.chunk})),this.extendOptions&&this.extendOptions(e),this.options=e,this.file=t,this.parsers=r}injectSegment(e,t){this.options[e].enabled&&this.createParser(e,t)}createParser(e,t){let r=new(Pt.get(e))(t,this.options,this.file);return this.parsers[e]=r}createParsers(e){for(let t of e){let{type:r,chunk:s}=t,n=this.options[r];if(n&&n.enabled){let o=this.parsers[r];o&&o.append||o||this.createParser(r,s)}}}async readSegments(e){let t=e.map(this.ensureSegmentChunk);await Promise.all(t)}}{constructor(...e){super(...e),ue(this,"appSegments",[]),ue(this,"jpegSegments",[]),ue(this,"unknownSegments",[])}static canHandle(e,t){return t===65496}async parse(){await this.findAppSegments(),await this.readSegments(this.appSegments),this.mergeMultiSegments(),this.createParsers(this.mergedAppSegments||this.appSegments)}setupSegmentFinderArgs(e){e===!0?(this.findAll=!0,this.wanted=new Set(Pt.keyList())):(e=e===void 0?Pt.keyList().filter((t=>this.options[t].enabled)):e.filter((t=>this.options[t].enabled&&Pt.has(t))),this.findAll=!1,this.remaining=new Set(e),this.wanted=new Set(e)),this.unfinishedMultiSegment=!1}async findAppSegments(e=0,t){this.setupSegmentFinderArgs(t);let{file:r,findAll:s,wanted:n,remaining:o}=this;if(!s&&this.file.chunked&&(s=Array.from(n).some((a=>{let l=Pt.get(a),h=this.options[a];return l.multiSegment&&h.multiSegment})),s&&await this.file.readWhole()),e=this.findAppSegmentsInRange(e,r.byteLength),!this.options.onlyTiff&&r.chunked){let a=!1;for(;o.size>0&&!a&&(r.canReadNextChunk||this.unfinishedMultiSegment);){let{nextChunkOffset:l}=r,h=this.appSegments.some((f=>!this.file.available(f.offset||f.start,f.length||f.size)));if(a=e>l&&!h?!await r.readNextChunk(e):!await r.readNextChunk(l),(e=this.findAppSegmentsInRange(e,r.byteLength))===void 0)return}}}findAppSegmentsInRange(e,t){t-=2;let r,s,n,o,a,l,{file:h,findAll:f,wanted:m,remaining:w,options:y}=this;for(;e<t;e++)if(h.getUint8(e)===255){if(r=h.getUint8(e+1),CS(r)){if(s=h.getUint16(e+2),n=FS(h,e,s),n&&m.has(n)&&(o=Pt.get(n),a=o.findPosition(h,e),l=y[n],a.type=n,this.appSegments.push(a),!f&&(o.multiSegment&&l.multiSegment?(this.unfinishedMultiSegment=a.chunkNumber<a.chunkCount,this.unfinishedMultiSegment||w.delete(n)):w.delete(n),w.size===0)))break;y.recordUnknownSegments&&(a=Gi.findPosition(h,e),a.marker=r,this.unknownSegments.push(a)),e+=s+1}else if(AS(r)){if(s=h.getUint16(e+2),r===218&&y.stopAfterSos!==!1)return;y.recordJpegSegments&&this.jpegSegments.push({offset:e,length:s,marker:r}),e+=s+1}}return e}mergeMultiSegments(){if(!this.appSegments.some((t=>t.multiSegment)))return;let e=(function(t,r){let s,n,o,a=new Map;for(let l=0;l<t.length;l++)s=t[l],n=s[r],a.has(n)?o=a.get(n):a.set(n,o=[]),o.push(s);return Array.from(a)})(this.appSegments,"type");this.mergedAppSegments=e.map((([t,r])=>{let s=Pt.get(t,this.options);return s.handleMultiSegments?{type:t,chunk:s.handleMultiSegments(r)}:r[0]}))}getSegment(e){return this.appSegments.find((t=>t.type===e))}async getOrFindSegment(e){let t=this.getSegment(e);return t===void 0&&(await this.findAppSegments(0,[e]),t=this.getSegment(e)),t}};ue(wa,"type","jpeg"),Sa.set("jpeg",wa);var PS=[void 0,1,1,2,4,8,1,1,2,4,8,4,8,4],Nu=class extends Gi{parseHeader(){var e=this.chunk.getUint16();e===18761?this.le=!0:e===19789&&(this.le=!1),this.chunk.le=this.le,this.headerParsed=!0}parseTags(e,t,r=new Map){let{pick:s,skip:n}=this.options[t];s=new Set(s);let o=s.size>0,a=n.size===0,l=this.chunk.getUint16(e);e+=2;for(let h=0;h<l;h++){let f=this.chunk.getUint16(e);if(o){if(s.has(f)&&(r.set(f,this.parseTag(e,f,t)),s.delete(f),s.size===0))break}else!a&&n.has(f)||r.set(f,this.parseTag(e,f,t));e+=12}return r}parseTag(e,t,r){let{chunk:s}=this,n=s.getUint16(e+2),o=s.getUint32(e+4),a=PS[n];if(a*o<=4?e+=8:e=s.getUint32(e+8),(n<1||n>13)&&Xe(`Invalid TIFF value type. block: ${r.toUpperCase()}, tag: ${t.toString(16)}, type: ${n}, offset ${e}`),e>s.byteLength&&Xe(`Invalid TIFF value offset. block: ${r.toUpperCase()}, tag: ${t.toString(16)}, type: ${n}, offset ${e} is outside of chunk size ${s.byteLength}`),n===1)return s.getUint8Array(e,o);if(n===2)return(l=(function(h){for(;h.endsWith("\0");)h=h.slice(0,-1);return h})(l=s.getString(e,o)).trim())===""?void 0:l;var l;if(n===7)return s.getUint8Array(e,o);if(o===1)return this.parseTagValue(n,e);{let h=new((function(m){switch(m){case 1:return Uint8Array;case 3:return Uint16Array;case 4:return Uint32Array;case 5:return Array;case 6:return Int8Array;case 8:return Int16Array;case 9:return Int32Array;case 10:return Array;case 11:return Float32Array;case 12:return Float64Array;default:return Array}})(n))(o),f=a;for(let m=0;m<o;m++)h[m]=this.parseTagValue(n,e),e+=f;return h}}parseTagValue(e,t){let{chunk:r}=this;switch(e){case 1:return r.getUint8(t);case 3:return r.getUint16(t);case 4:return r.getUint32(t);case 5:return r.getUint32(t)/r.getUint32(t+4);case 6:return r.getInt8(t);case 8:return r.getInt16(t);case 9:return r.getInt32(t);case 10:return r.getInt32(t)/r.getInt32(t+4);case 11:return r.getFloat(t);case 12:return r.getDouble(t);case 13:return r.getUint32(t);default:Xe(`Invalid tiff type ${e}`)}}},bn=class extends Nu{static canHandle(e,t){return e.getUint8(t+1)===225&&e.getUint32(t+4)===1165519206&&e.getUint16(t+8)===0}async parse(){this.parseHeader();let{options:e}=this;return e.ifd0.enabled&&await this.parseIfd0Block(),e.exif.enabled&&await this.safeParse("parseExifBlock"),e.gps.enabled&&await this.safeParse("parseGpsBlock"),e.interop.enabled&&await this.safeParse("parseInteropBlock"),e.ifd1.enabled&&await this.safeParse("parseThumbnailBlock"),this.createOutput()}safeParse(e){let t=this[e]();return t.catch!==void 0&&(t=t.catch(this.handleError)),t}findIfd0Offset(){this.ifd0Offset===void 0&&(this.ifd0Offset=this.chunk.getUint32(4))}findIfd1Offset(){if(this.ifd1Offset===void 0){this.findIfd0Offset();let e=this.chunk.getUint16(this.ifd0Offset),t=this.ifd0Offset+2+12*e;this.ifd1Offset=this.chunk.getUint32(t)}}parseBlock(e,t){let r=new Map;return this[t]=r,this.parseTags(e,t,r),r}async parseIfd0Block(){if(this.ifd0)return;let{file:e}=this;this.findIfd0Offset(),this.ifd0Offset<8&&Xe("Malformed EXIF data"),!e.chunked&&this.ifd0Offset>e.byteLength&&Xe(`IFD0 offset points to outside of file.
|
|
98
|
-
this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e.byteLength}`),e.tiff&&await e.ensureChunk(this.ifd0Offset,zm(this.options));let t=this.parseBlock(this.ifd0Offset,"ifd0");return t.size!==0?(this.exifOffset=t.get(34665),this.interopOffset=t.get(40965),this.gpsOffset=t.get(34853),this.xmp=t.get(700),this.iptc=t.get(33723),this.icc=t.get(34675),this.options.sanitize&&(t.delete(34665),t.delete(40965),t.delete(34853),t.delete(700),t.delete(33723),t.delete(34675)),t):void 0}async parseExifBlock(){if(this.exif||(this.ifd0||await this.parseIfd0Block(),this.exifOffset===void 0))return;this.file.tiff&&await this.file.ensureChunk(this.exifOffset,zm(this.options));let e=this.parseBlock(this.exifOffset,"exif");return this.interopOffset||(this.interopOffset=e.get(40965)),this.makerNote=e.get(37500),this.userComment=e.get(37510),this.options.sanitize&&(e.delete(40965),e.delete(37500),e.delete(37510)),this.unpack(e,41728),this.unpack(e,41729),e}unpack(e,t){let r=e.get(t);r&&r.length===1&&e.set(t,r[0])}async parseGpsBlock(){if(this.gps||(this.ifd0||await this.parseIfd0Block(),this.gpsOffset===void 0))return;let e=this.parseBlock(this.gpsOffset,"gps");return e&&e.has(2)&&e.has(4)&&(e.set("latitude",Vm(...e.get(2),e.get(1))),e.set("longitude",Vm(...e.get(4),e.get(3)))),e}async parseInteropBlock(){if(!this.interop&&(this.ifd0||await this.parseIfd0Block(),this.interopOffset!==void 0||this.exif||await this.parseExifBlock(),this.interopOffset!==void 0))return this.parseBlock(this.interopOffset,"interop")}async parseThumbnailBlock(e=!1){if(!this.ifd1&&!this.ifd1Parsed&&(!this.options.mergeOutput||e))return this.findIfd1Offset(),this.ifd1Offset>0&&(this.parseBlock(this.ifd1Offset,"ifd1"),this.ifd1Parsed=!0),this.ifd1}async extractThumbnail(){if(this.headerParsed||this.parseHeader(),this.ifd1Parsed||await this.parseThumbnailBlock(!0),this.ifd1===void 0)return;let e=this.ifd1.get(513),t=this.ifd1.get(514);return this.chunk.getUint8Array(e,t)}get image(){return this.ifd0}get thumbnail(){return this.ifd1}createOutput(){let e,t,r,s={};for(t of Be)if(e=this[t],!Ym(e))if(r=this.canTranslate?this.translateBlock(e,t):Object.fromEntries(e),this.options.mergeOutput){if(t==="ifd1")continue;Object.assign(s,r)}else s[t]=r;return this.makerNote&&(s.makerNote=this.makerNote),this.userComment&&(s.userComment=this.userComment),s}assignToOutput(e,t){if(this.globalOptions.mergeOutput)Object.assign(e,t);else for(let[r,s]of Object.entries(t))this.assignObjectToOutput(e,r,s)}};function Vm(i,e,t,r){var s=i+e/60+t/3600;return r!=="S"&&r!=="W"||(s*=-1),s}ue(bn,"type","tiff"),ue(bn,"headerLength",10),Pt.set("tiff",bn);var eO=Object.freeze({__proto__:null,default:_S,Exifr:cs,fileParsers:Sa,segmentParsers:Pt,fileReaders:En,tagKeys:Tn,tagValues:Hu,tagRevivers:ju,createDictionary:Zm,extendDictionary:Qm,fetchUrlAsArrayBuffer:ba,readBlobAsArrayBuffer:wn,chunkedProps:ns,otherSegments:Ea,segments:Sn,tiffBlocks:Be,segmentsAndBlocks:os,tiffExtractables:as,inheritables:Ta,allFormatters:ls,Options:Er,parse:Jm}),qu={ifd0:!1,ifd1:!1,exif:!1,gps:!1,interop:!1,sanitize:!1,reviveValues:!0,translateKeys:!1,translateValues:!1,mergeOutput:!1},tO=Object.assign({},qu,{firstChunkSize:4e4,gps:[1,2,3,4]});var iO=Object.assign({},qu,{tiff:!1,ifd1:!0,mergeOutput:!1});var OS=Object.assign({},qu,{firstChunkSize:4e4,ifd0:[274]});async function RS(i){let e=new cs(OS);await e.read(i);let t=await e.parse();if(t&&t.ifd0)return t.ifd0[274]}var LS=Object.freeze({1:{dimensionSwapped:!1,scaleX:1,scaleY:1,deg:0,rad:0},2:{dimensionSwapped:!1,scaleX:-1,scaleY:1,deg:0,rad:0},3:{dimensionSwapped:!1,scaleX:1,scaleY:1,deg:180,rad:180*Math.PI/180},4:{dimensionSwapped:!1,scaleX:-1,scaleY:1,deg:180,rad:180*Math.PI/180},5:{dimensionSwapped:!0,scaleX:1,scaleY:-1,deg:90,rad:90*Math.PI/180},6:{dimensionSwapped:!0,scaleX:1,scaleY:1,deg:90,rad:90*Math.PI/180},7:{dimensionSwapped:!0,scaleX:1,scaleY:-1,deg:270,rad:270*Math.PI/180},8:{dimensionSwapped:!0,scaleX:1,scaleY:1,deg:270,rad:270*Math.PI/180}}),mn=!0,gn=!0;if(typeof navigator=="object"){let i=navigator.userAgent;if(i.includes("iPad")||i.includes("iPhone")){let e=i.match(/OS (\d+)_(\d+)/);if(e){let[,t,r]=e;mn=Number(t)+.1*Number(r)<13.4,gn=!1}}else if(i.includes("OS X 10")){let[,e]=i.match(/OS X 10[_.](\d+)/);mn=gn=Number(e)<15}if(i.includes("Chrome/")){let[,e]=i.match(/Chrome\/(\d+)/);mn=gn=Number(e)<81}else if(i.includes("Firefox/")){let[,e]=i.match(/Firefox\/(\d+)/);mn=gn=Number(e)<77}}async function eg(i){let e=await RS(i);return Object.assign({canvas:mn,css:gn},LS[e])}var Bu=class extends Sr{constructor(...e){super(...e),ue(this,"ranges",new Uu),this.byteLength!==0&&this.ranges.add(0,this.byteLength)}_tryExtend(e,t,r){if(e===0&&this.byteLength===0&&r){let s=new DataView(r.buffer||r,r.byteOffset,r.byteLength);this._swapDataView(s)}else{let s=e+t;if(s>this.byteLength){let{dataView:n}=this._extend(s);this._swapDataView(n)}}}_extend(e){let t;t=Xm?Km.allocUnsafe(e):new Uint8Array(e);let r=new DataView(t.buffer,t.byteOffset,t.byteLength);return t.set(new Uint8Array(this.buffer,this.byteOffset,this.byteLength),0),{uintView:t,dataView:r}}subarray(e,t,r=!1){return t=t||this._lengthToEnd(e),r&&this._tryExtend(e,t),this.ranges.add(e,t),super.subarray(e,t)}set(e,t,r=!1){r&&this._tryExtend(t,e.byteLength,e);let s=super.set(e,t);return this.ranges.add(t,s.byteLength),s}async ensureChunk(e,t){this.chunked&&(this.ranges.available(e,t)||await this.readChunk(e,t))}available(e,t){return this.ranges.available(e,t)}},Uu=class{constructor(){ue(this,"list",[])}get length(){return this.list.length}add(e,t,r=0){let s=e+t,n=this.list.filter((o=>Wm(e,o.offset,s)||Wm(e,o.end,s)));if(n.length>0){e=Math.min(e,...n.map((a=>a.offset))),s=Math.max(s,...n.map((a=>a.end))),t=s-e;let o=n.shift();o.offset=e,o.length=t,o.end=s,this.list=this.list.filter((a=>!n.includes(a)))}else this.list.push({offset:e,length:t,end:s})}available(e,t){let r=e+t;return this.list.some((s=>s.offset<=e&&r<=s.end))}};function Wm(i,e,t){return i<=e&&e<=t}var zu=class extends Bu{constructor(e,t){super(0),ue(this,"chunksRead",0),this.input=e,this.options=t}async readWhole(){this.chunked=!1,await this.readChunk(this.nextChunkOffset)}async readChunked(){this.chunked=!0,await this.readChunk(0,this.options.firstChunkSize)}async readNextChunk(e=this.nextChunkOffset){if(this.fullyRead)return this.chunksRead++,!1;let t=this.options.chunkSize,r=await this.readChunk(e,t);return!!r&&r.byteLength===t}async readChunk(e,t){if(this.chunksRead++,(t=this.safeWrapAddress(e,t))!==0)return this._readChunk(e,t)}safeWrapAddress(e,t){return this.size!==void 0&&e+t>this.size?Math.max(0,this.size-e):t}get nextChunkOffset(){if(this.ranges.list.length!==0)return this.ranges.list[0].length}get canReadNextChunk(){return this.chunksRead<this.options.chunkLimit}get fullyRead(){return this.size!==void 0&&this.nextChunkOffset===this.size}read(){return this.options.chunked?this.readChunked():this.readWhole()}close(){}};En.set("blob",class extends zu{async readWhole(){this.chunked=!1;let i=await wn(this.input);this._swapArrayBuffer(i)}readChunked(){return this.chunked=!0,this.size=this.input.size,super.readChunked()}async _readChunk(i,e){let t=e?i+e:void 0,r=this.input.slice(i,t),s=await wn(r);return this.set(s,i,!0)}});var tg={name:"@uppy/thumbnail-generator",description:"Uppy plugin that generates small previews of images to show on your upload UI.",version:"4.2.3",license:"MIT",main:"lib/index.js",type:"module",scripts:{build:"tsc --build tsconfig.build.json",typecheck:"tsc --build",test:"vitest run --environment=jsdom --silent='passed-only'"},keywords:["file uploader","uppy","uppy-plugin","thumbnail","preview","resize"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"],dependencies:{"@uppy/utils":"^6.2.2",exifr:"^7.0.0"},devDependencies:{jsdom:"^26.1.0","namespace-emitter":"2.0.1",typescript:"^5.8.3",vitest:"^3.2.4"},peerDependencies:{"@uppy/core":"^4.5.3"}};var ig={strings:{generatingThumbnails:"Generating thumbnails..."}};function IS(i,e,t){try{i.getContext("2d").getImageData(0,0,1,1)}catch(r){if(r.code===18)return Promise.reject(new Error("cannot read image, probably an svg with external resources"))}return i.toBlob?new Promise(r=>{i.toBlob(r,e,t)}).then(r=>{if(r===null)throw new Error("cannot read image, probably an svg with external resources");return r}):Promise.resolve().then(()=>Bm(i.toDataURL(e,t),{})).then(r=>{if(r===null)throw new Error("could not extract blob, probably an old browser");return r})}function DS(i,e){let t=i.width,r=i.height;(e.deg===90||e.deg===270)&&(t=i.height,r=i.width);let s=document.createElement("canvas");s.width=t,s.height=r;let n=s.getContext("2d");return n.translate(t/2,r/2),e.canvas&&(n.rotate(e.rad),n.scale(e.scaleX,e.scaleY)),n.drawImage(i,-i.width/2,-i.height/2,i.width,i.height),s}function NS(i){let e=i.width/i.height,t=5e6,r=4096,s=Math.floor(Math.sqrt(t*e)),n=Math.floor(t/Math.sqrt(t*e));if(s>r&&(s=r,n=Math.round(s/e)),n>r&&(n=r,s=Math.round(e*n)),i.width>s){let o=document.createElement("canvas");return o.width=s,o.height=n,o.getContext("2d").drawImage(i,0,0,s,n),o}return i}var BS={thumbnailWidth:null,thumbnailHeight:null,thumbnailType:"image/jpeg",waitForThumbnailsBeforeUpload:!1,lazy:!1},xn=class extends ni{static VERSION=tg.version;queue;queueProcessing;defaultThumbnailDimension;thumbnailType;constructor(e,t){if(super(e,{...BS,...t}),this.type="modifier",this.id=this.opts.id||"ThumbnailGenerator",this.title="Thumbnail Generator",this.queue=[],this.queueProcessing=!1,this.defaultThumbnailDimension=200,this.thumbnailType=this.opts.thumbnailType,this.defaultLocale=ig,this.i18nInit(),this.opts.lazy&&this.opts.waitForThumbnailsBeforeUpload)throw new Error("ThumbnailGenerator: The `lazy` and `waitForThumbnailsBeforeUpload` options are mutually exclusive. Please ensure at most one of them is set to `true`.")}createThumbnail(e,t,r){let s=URL.createObjectURL(e.data),n=new Promise((a,l)=>{let h=new Image;h.src=s,h.addEventListener("load",()=>{URL.revokeObjectURL(s),a(h)}),h.addEventListener("error",f=>{URL.revokeObjectURL(s),l(f.error||new Error("Could not create thumbnail"))})}),o=eg(e.data).catch(()=>1);return Promise.all([n,o]).then(([a,l])=>{let h=this.getProportionalDimensions(a,t,r,l.deg),f=DS(a,l),m=this.resizeImage(f,h.width,h.height);return IS(m,this.thumbnailType,80)}).then(a=>URL.createObjectURL(a))}getProportionalDimensions(e,t,r,s){let n=e.width/e.height;if((s===90||s===270)&&(n=e.height/e.width),t!=null){let o=t;return e.width<t&&(o=e.width),{width:o,height:Math.round(o/n)}}if(r!=null){let o=r;return e.height<r&&(o=e.height),{width:Math.round(o*n),height:o}}return{width:this.defaultThumbnailDimension,height:Math.round(this.defaultThumbnailDimension/n)}}resizeImage(e,t,r){let s=NS(e),n=Math.ceil(Math.log2(s.width/t));n<1&&(n=1);let o=t*2**(n-1),a=r*2**(n-1),l=2;for(;n--;){let h=document.createElement("canvas");h.width=o,h.height=a,h.getContext("2d").drawImage(s,0,0,o,a),s=h,o=Math.round(o/l),a=Math.round(a/l)}return s}setPreviewURL(e,t){this.uppy.setFileState(e,{preview:t})}addToQueue(e){this.queue.push(e),this.queueProcessing===!1&&this.processQueue()}processQueue(){if(this.queueProcessing=!0,this.queue.length>0){let e=this.uppy.getFile(this.queue.shift());return e?this.requestThumbnail(e).catch(()=>{}).then(()=>this.processQueue()):(this.uppy.log("[ThumbnailGenerator] file was removed before a thumbnail could be generated, but not removed from the queue. This is probably a bug","error"),Promise.resolve())}return this.queueProcessing=!1,this.uppy.log("[ThumbnailGenerator] Emptied thumbnail queue"),this.uppy.emit("thumbnail:all-generated"),Promise.resolve()}requestThumbnail(e){return ga(e.type)&&!e.isRemote?this.createThumbnail(e,this.opts.thumbnailWidth,this.opts.thumbnailHeight).then(t=>{this.setPreviewURL(e.id,t),this.uppy.log(`[ThumbnailGenerator] Generated thumbnail for ${e.id}`),this.uppy.emit("thumbnail:generated",this.uppy.getFile(e.id),t)}).catch(t=>{this.uppy.log(`[ThumbnailGenerator] Failed thumbnail for ${e.id}:`,"warning"),this.uppy.log(t,"warning"),this.uppy.emit("thumbnail:error",this.uppy.getFile(e.id),t)}):Promise.resolve()}onFileAdded=e=>{!e.preview&&e.data&&ga(e.type)&&!e.isRemote&&this.addToQueue(e.id)};onCancelRequest=e=>{let t=this.queue.indexOf(e.id);t!==-1&&this.queue.splice(t,1)};onFileRemoved=e=>{let t=this.queue.indexOf(e.id);t!==-1&&this.queue.splice(t,1),e.preview&&ma(e.preview)&&URL.revokeObjectURL(e.preview)};onRestored=()=>{this.uppy.getFiles().filter(t=>t.isRestored).forEach(t=>{(!t.preview||ma(t.preview))&&this.addToQueue(t.id)})};onAllFilesRemoved=()=>{this.queue=[]};waitUntilAllProcessed=e=>{e.forEach(r=>{let s=this.uppy.getFile(r);this.uppy.emit("preprocess-progress",s,{mode:"indeterminate",message:this.i18n("generatingThumbnails")})});let t=()=>{e.forEach(r=>{let s=this.uppy.getFile(r);this.uppy.emit("preprocess-complete",s)})};return new Promise(r=>{this.queueProcessing?this.uppy.once("thumbnail:all-generated",()=>{t(),r()}):(t(),r())})};install(){this.uppy.on("file-removed",this.onFileRemoved),this.uppy.on("cancel-all",this.onAllFilesRemoved),this.opts.lazy?(this.uppy.on("thumbnail:request",this.onFileAdded),this.uppy.on("thumbnail:cancel",this.onCancelRequest)):(this.uppy.on("thumbnail:request",this.onFileAdded),this.uppy.on("file-added",this.onFileAdded),this.uppy.on("restored",this.onRestored)),this.opts.waitForThumbnailsBeforeUpload&&this.uppy.addPreProcessor(this.waitUntilAllProcessed)}uninstall(){this.uppy.off("file-removed",this.onFileRemoved),this.uppy.off("cancel-all",this.onAllFilesRemoved),this.opts.lazy?(this.uppy.off("thumbnail:request",this.onFileAdded),this.uppy.off("thumbnail:cancel",this.onCancelRequest)):(this.uppy.off("thumbnail:request",this.onFileAdded),this.uppy.off("file-added",this.onFileAdded),this.uppy.off("restored",this.onRestored)),this.opts.waitForThumbnailsBeforeUpload&&this.uppy.removePreProcessor(this.waitUntilAllProcessed)}};function US(i){if(typeof i=="string"){let e=document.querySelectorAll(i);return e.length===0?null:Array.from(e)}return typeof i=="object"&&Vs(i)?[i]:null}var $u=US;var Ki=Array.from;function Vu(i){let e=Ki(i.files);return Promise.resolve(e)}function xa(i,e,t,{onSuccess:r}){i.readEntries(s=>{let n=[...e,...s];s.length?queueMicrotask(()=>{xa(i,n,t,{onSuccess:r})}):r(n)},s=>{t(s),r(e)})}function rg(i,e){return i==null?i:{kind:i.isFile?"file":i.isDirectory?"directory":void 0,name:i.name,getFile(){return new Promise((t,r)=>i.file(t,r))},async*values(){let t=i.createReader();yield*await new Promise(s=>{xa(t,[],e,{onSuccess:n=>s(n.map(o=>rg(o,e)))})})},isSameEntry:void 0}}async function*sg(i,e,t=void 0){let r=()=>`${e}/${i.name}`;if(i.kind==="file"){let s=await i.getFile();s!=null?(s.relativePath=e?r():null,yield s):t!=null&&(yield t)}else if(i.kind==="directory")for await(let s of i.values())yield*sg(s,e?r():i.name);else t!=null&&(yield t)}async function*Wu(i,e){let t=await Promise.all(Array.from(i.items,async r=>{let s;return s??=rg(typeof r.getAsEntry=="function"?r.getAsEntry():r.webkitGetAsEntry(),e),{fileSystemHandle:s,lastResortFile:r.getAsFile()}}));for(let{lastResortFile:r,fileSystemHandle:s}of t)if(s!=null)try{yield*sg(s,"",r)}catch(n){r!=null?yield r:e(n)}else r!=null&&(yield r)}async function Gu(i,e){let t=e?.logDropError??Function.prototype;try{let r=[];for await(let s of Wu(i,t))r.push(s);return r}catch{return Vu(i)}}var ng={name:"@uppy/dashboard",description:"Universal UI plugin for Uppy.",version:"4.4.3",license:"MIT",main:"lib/index.js",style:"dist/style.min.css",type:"module",scripts:{build:"tsc --build tsconfig.build.json","build:css":"sass --load-path=../../ src/style.scss dist/style.css && postcss dist/style.css -u cssnano -o dist/style.min.css",typecheck:"tsc --build",test:"vitest run --silent='passed-only'","test:e2e":"vitest watch --project browser --browser.headless false"},keywords:["file uploader","uppy","uppy-plugin","dashboard","ui"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"],dependencies:{"@transloadit/prettier-bytes":"^0.3.4","@uppy/informer":"^4.3.2","@uppy/provider-views":"^4.5.2","@uppy/status-bar":"^4.2.3","@uppy/thumbnail-generator":"^4.2.2","@uppy/utils":"^6.2.2",classnames:"^2.2.6",lodash:"^4.17.21",nanoid:"^5.0.9",preact:"^10.5.13","shallow-equal":"^3.0.0"},devDependencies:{"@uppy/core":"^4.5.2","@uppy/google-drive":"^4.4.2","@uppy/status-bar":"^4.2.3","@uppy/url":"^4.3.2","@uppy/webcam":"^4.3.2","@vitest/browser":"^3.2.4",cssnano:"^7.0.7",jsdom:"^26.1.0",postcss:"^8.5.6","postcss-cli":"^11.0.1","resize-observer-polyfill":"^1.5.0",sass:"^1.89.2",typescript:"^5.8.3",vitest:"^3.2.4"},peerDependencies:{"@uppy/core":"^4.5.2"}};function Ku(){let i=document.body;return!(!("draggable"in i)||!("ondragstart"in i&&"ondrop"in i)||!("FormData"in window)||!("FileReader"in window))}var Tg=ye(ht(),1);var Xu=class extends we{fileInput=null;folderInput=null;mobilePhotoFileInput=null;mobileVideoFileInput=null;triggerFileInputClick=()=>{this.fileInput?.click()};triggerFolderInputClick=()=>{this.folderInput?.click()};triggerVideoCameraInputClick=()=>{this.mobileVideoFileInput?.click()};triggerPhotoCameraInputClick=()=>{this.mobilePhotoFileInput?.click()};onFileInputChange=e=>{this.props.handleInputChange(e),e.currentTarget.value=""};renderHiddenInput=(e,t)=>c("input",{className:"uppy-Dashboard-input",hidden:!0,"aria-hidden":"true",tabIndex:-1,webkitdirectory:e,type:"file",name:"files[]",multiple:this.props.maxNumberOfFiles!==1,onChange:this.onFileInputChange,accept:this.props.allowedFileTypes?.join(", "),ref:t});renderHiddenCameraInput=(e,t,r)=>{let n={photo:"image/*",video:"video/*"}[e];return c("input",{className:"uppy-Dashboard-input",hidden:!0,"aria-hidden":"true",tabIndex:-1,type:"file",name:`camera-${e}`,onChange:this.onFileInputChange,capture:t===""?"environment":t,accept:n,ref:r})};renderMyDeviceAcquirer=()=>c("div",{className:"uppy-DashboardTab",role:"presentation","data-uppy-acquirer-id":"MyDevice",children:c("button",{type:"button",className:"uppy-u-reset uppy-c-btn uppy-DashboardTab-btn",role:"tab",tabIndex:0,"data-uppy-super-focusable":!0,onClick:this.triggerFileInputClick,children:[c("div",{className:"uppy-DashboardTab-inner",children:c("svg",{className:"uppy-DashboardTab-iconMyDevice","aria-hidden":"true",focusable:"false",width:"32",height:"32",viewBox:"0 0 32 32",children:c("path",{d:"M8.45 22.087l-1.305-6.674h17.678l-1.572 6.674H8.45zm4.975-12.412l1.083 1.765a.823.823 0 00.715.386h7.951V13.5H8.587V9.675h4.838zM26.043 13.5h-1.195v-2.598c0-.463-.336-.75-.798-.75h-8.356l-1.082-1.766A.823.823 0 0013.897 8H7.728c-.462 0-.815.256-.815.718V13.5h-.956a.97.97 0 00-.746.37.972.972 0 00-.19.81l1.724 8.565c.095.44.484.755.933.755H24c.44 0 .824-.3.929-.727l2.043-8.568a.972.972 0 00-.176-.825.967.967 0 00-.753-.38z",fill:"currentcolor","fill-rule":"evenodd"})})}),c("div",{className:"uppy-DashboardTab-name",children:this.props.i18n("myDevice")})]})});renderPhotoCamera=()=>c("div",{className:"uppy-DashboardTab",role:"presentation","data-uppy-acquirer-id":"MobilePhotoCamera",children:c("button",{type:"button",className:"uppy-u-reset uppy-c-btn uppy-DashboardTab-btn",role:"tab",tabIndex:0,"data-uppy-super-focusable":!0,onClick:this.triggerPhotoCameraInputClick,children:[c("div",{className:"uppy-DashboardTab-inner",children:c("svg",{"aria-hidden":"true",focusable:"false",width:"32",height:"32",viewBox:"0 0 32 32",children:c("path",{d:"M23.5 9.5c1.417 0 2.5 1.083 2.5 2.5v9.167c0 1.416-1.083 2.5-2.5 2.5h-15c-1.417 0-2.5-1.084-2.5-2.5V12c0-1.417 1.083-2.5 2.5-2.5h2.917l1.416-2.167C13 7.167 13.25 7 13.5 7h5c.25 0 .5.167.667.333L20.583 9.5H23.5zM16 11.417a4.706 4.706 0 00-4.75 4.75 4.704 4.704 0 004.75 4.75 4.703 4.703 0 004.75-4.75c0-2.663-2.09-4.75-4.75-4.75zm0 7.825c-1.744 0-3.076-1.332-3.076-3.074 0-1.745 1.333-3.077 3.076-3.077 1.744 0 3.074 1.333 3.074 3.076s-1.33 3.075-3.074 3.075z",fill:"#02B383","fill-rule":"nonzero"})})}),c("div",{className:"uppy-DashboardTab-name",children:this.props.i18n("takePictureBtn")})]})});renderVideoCamera=()=>c("div",{className:"uppy-DashboardTab",role:"presentation","data-uppy-acquirer-id":"MobileVideoCamera",children:c("button",{type:"button",className:"uppy-u-reset uppy-c-btn uppy-DashboardTab-btn",role:"tab",tabIndex:0,"data-uppy-super-focusable":!0,onClick:this.triggerVideoCameraInputClick,children:[c("div",{className:"uppy-DashboardTab-inner",children:c("svg",{"aria-hidden":"true",width:"32",height:"32",viewBox:"0 0 32 32",children:c("path",{fill:"#FF675E",fillRule:"nonzero",d:"m21.254 14.277 2.941-2.588c.797-.313 1.243.818 1.09 1.554-.01 2.094.02 4.189-.017 6.282-.126.915-1.145 1.08-1.58.34l-2.434-2.142c-.192.287-.504 1.305-.738.468-.104-1.293-.028-2.596-.05-3.894.047-.312.381.823.426 1.069.063-.384.206-.744.362-1.09zm-12.939-3.73c3.858.013 7.717-.025 11.574.02.912.129 1.492 1.237 1.351 2.217-.019 2.412.04 4.83-.03 7.239-.17 1.025-1.166 1.59-2.029 1.429-3.705-.012-7.41.025-11.114-.019-.913-.129-1.492-1.237-1.352-2.217.018-2.404-.036-4.813.029-7.214.136-.82.83-1.473 1.571-1.454z "})})}),c("div",{className:"uppy-DashboardTab-name",children:this.props.i18n("recordVideoBtn")})]})});renderBrowseButton=(e,t)=>{let r=this.props.acquirers.length;return c("button",{type:"button",className:"uppy-u-reset uppy-c-btn uppy-Dashboard-browse",onClick:t,"data-uppy-super-focusable":r===0,children:e})};renderDropPasteBrowseTagline=e=>{let t=this.renderBrowseButton(this.props.i18n("browseFiles"),this.triggerFileInputClick),r=this.renderBrowseButton(this.props.i18n("browseFolders"),this.triggerFolderInputClick),s=this.props.fileManagerSelectionType,n=s.charAt(0).toUpperCase()+s.slice(1);return c("div",{class:"uppy-Dashboard-AddFiles-title",children:this.props.disableLocalFiles?this.props.i18n("importFiles"):e>0?this.props.i18nArray(`dropPasteImport${n}`,{browseFiles:t,browseFolders:r,browse:t}):this.props.i18nArray(`dropPaste${n}`,{browseFiles:t,browseFolders:r,browse:t})})};[Symbol.for("uppy test: disable unused locale key warning")](){this.props.i18nArray("dropPasteBoth"),this.props.i18nArray("dropPasteFiles"),this.props.i18nArray("dropPasteFolders"),this.props.i18nArray("dropPasteImportBoth"),this.props.i18nArray("dropPasteImportFiles"),this.props.i18nArray("dropPasteImportFolders")}renderAcquirer=e=>c("div",{className:"uppy-DashboardTab",role:"presentation","data-uppy-acquirer-id":e.id,children:c("button",{type:"button",className:"uppy-u-reset uppy-c-btn uppy-DashboardTab-btn",role:"tab",tabIndex:0,"data-cy":e.id,"aria-controls":`uppy-DashboardContent-panel--${e.id}`,"aria-selected":this.props.activePickerPanel?.id===e.id,"data-uppy-super-focusable":!0,onClick:()=>this.props.showPanel(e.id),children:[c("div",{className:"uppy-DashboardTab-inner",children:e.icon()}),c("div",{className:"uppy-DashboardTab-name",children:e.name})]})});renderAcquirers=e=>{let t=[...e],r=t.splice(e.length-2,e.length);return c(_e,{children:[t.map(s=>this.renderAcquirer(s)),c("span",{role:"presentation",style:{"white-space":"nowrap"},children:r.map(s=>this.renderAcquirer(s))})]})};renderSourcesList=(e,t)=>{let{showNativePhotoCameraButton:r,showNativeVideoCameraButton:s}=this.props,n=[],o="myDevice";t||n.push({key:o,elements:this.renderMyDeviceAcquirer()}),r&&n.push({key:"nativePhotoCameraButton",elements:this.renderPhotoCamera()}),s&&n.push({key:"nativePhotoCameraButton",elements:this.renderVideoCamera()}),n.push(...e.map(f=>({key:f.id,elements:this.renderAcquirer(f)}))),n.length===1&&n[0].key===o&&(n=[]);let l=[...n],h=l.splice(n.length-2,n.length);return c(_e,{children:[this.renderDropPasteBrowseTagline(n.length),c("div",{className:"uppy-Dashboard-AddFiles-list",role:"tablist",children:[l.map(({key:f,elements:m})=>c(_e,{children:m},f)),c("span",{role:"presentation",style:{"white-space":"nowrap"},children:h.map(({key:f,elements:m})=>c(_e,{children:m},f))})]})]})};renderPoweredByUppy(){let{i18nArray:e}=this.props,t=c("span",{children:[c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon uppy-Dashboard-poweredByIcon",width:"11",height:"11",viewBox:"0 0 11 11",children:c("path",{d:"M7.365 10.5l-.01-4.045h2.612L5.5.806l-4.467 5.65h2.604l.01 4.044h3.718z",fillRule:"evenodd"})}),c("span",{className:"uppy-Dashboard-poweredByUppy",children:"Uppy"})]}),r=e("poweredBy",{uppy:t});return c("a",{tabIndex:-1,href:"https://uppy.io",rel:"noreferrer noopener",target:"_blank",className:"uppy-Dashboard-poweredBy",children:r})}render(){let{showNativePhotoCameraButton:e,showNativeVideoCameraButton:t,nativeCameraFacingMode:r}=this.props;return c("div",{className:"uppy-Dashboard-AddFiles",children:[this.renderHiddenInput(!1,s=>{this.fileInput=s}),this.renderHiddenInput(!0,s=>{this.folderInput=s}),e&&this.renderHiddenCameraInput("photo",r,s=>{this.mobilePhotoFileInput=s}),t&&this.renderHiddenCameraInput("video",r,s=>{this.mobileVideoFileInput=s}),this.renderSourcesList(this.props.acquirers,this.props.disableLocalFiles),c("div",{className:"uppy-Dashboard-AddFiles-info",children:[this.props.note&&c("div",{className:"uppy-Dashboard-note",children:this.props.note}),this.props.proudlyDisplayPoweredByUppy&&this.renderPoweredByUppy()]})]})}},ka=Xu;var og=ye(ht(),1);var HS=i=>c("div",{className:(0,og.default)("uppy-Dashboard-AddFilesPanel",i.className),"data-uppy-panelType":"AddFiles","aria-hidden":!i.showAddFilesPanel,children:[c("div",{className:"uppy-DashboardContent-bar",children:[c("div",{className:"uppy-DashboardContent-title",role:"heading","aria-level":1,children:i.i18n("addingMoreFiles")}),c("button",{className:"uppy-DashboardContent-back",type:"button",onClick:()=>i.toggleAddFilesPanel(!1),children:i.i18n("back")})]}),c(ka,{...i})]}),ag=HS;var lg=ye(ht(),1);function jS(i){let e=i.files[i.fileCardFor],t=()=>{i.uppy.emit("file-editor:cancel",e),i.closeFileEditor()};return c("div",{className:(0,lg.default)("uppy-DashboardContent-panel",i.className),role:"tabpanel","data-uppy-panelType":"FileEditor",id:"uppy-DashboardContent-panel--editor",children:[c("div",{className:"uppy-DashboardContent-bar",children:[c("div",{className:"uppy-DashboardContent-title",role:"heading","aria-level":1,children:i.i18nArray("editing",{file:c("span",{className:"uppy-DashboardContent-titleFile",children:e.meta?e.meta.name:e.name})})}),c("button",{className:"uppy-DashboardContent-back",type:"button",onClick:t,children:i.i18n("cancel")}),c("button",{className:"uppy-DashboardContent-save",type:"button",onClick:i.saveFileEditor,children:i.i18n("save")})]}),c("div",{className:"uppy-DashboardContent-panelBody",children:i.editors.map(r=>i.uppy.getPlugin(r.id).render(i.state))})]})}var cg=jS;var ug=ye(ht(),1);function qS(){return c("svg",{"aria-hidden":"true",focusable:"false",width:"25",height:"25",viewBox:"0 0 25 25",children:c("g",{fill:"#686DE0",fillRule:"evenodd",children:[c("path",{d:"M5 7v10h15V7H5zm0-1h15a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1z",fillRule:"nonzero"}),c("path",{d:"M6.35 17.172l4.994-5.026a.5.5 0 0 1 .707 0l2.16 2.16 3.505-3.505a.5.5 0 0 1 .707 0l2.336 2.31-.707.72-1.983-1.97-3.505 3.505a.5.5 0 0 1-.707 0l-2.16-2.159-3.938 3.939-1.409.026z",fillRule:"nonzero"}),c("circle",{cx:"7.5",cy:"9.5",r:"1.5"})]})})}function $S(){return c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"25",height:"25",viewBox:"0 0 25 25",children:c("path",{d:"M9.5 18.64c0 1.14-1.145 2-2.5 2s-2.5-.86-2.5-2c0-1.14 1.145-2 2.5-2 .557 0 1.079.145 1.5.396V7.25a.5.5 0 0 1 .379-.485l9-2.25A.5.5 0 0 1 18.5 5v11.64c0 1.14-1.145 2-2.5 2s-2.5-.86-2.5-2c0-1.14 1.145-2 2.5-2 .557 0 1.079.145 1.5.396V8.67l-8 2v7.97zm8-11v-2l-8 2v2l8-2zM7 19.64c.855 0 1.5-.484 1.5-1s-.645-1-1.5-1-1.5.484-1.5 1 .645 1 1.5 1zm9-2c.855 0 1.5-.484 1.5-1s-.645-1-1.5-1-1.5.484-1.5 1 .645 1 1.5 1z",fill:"#049BCF",fillRule:"nonzero"})})}function VS(){return c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"25",height:"25",viewBox:"0 0 25 25",children:c("path",{d:"M16 11.834l4.486-2.691A1 1 0 0 1 22 10v6a1 1 0 0 1-1.514.857L16 14.167V17a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2.834zM15 9H5v8h10V9zm1 4l5 3v-6l-5 3z",fill:"#19AF67",fillRule:"nonzero"})})}function WS(){return c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"25",height:"25",viewBox:"0 0 25 25",children:c("path",{d:"M9.766 8.295c-.691-1.843-.539-3.401.747-3.726 1.643-.414 2.505.938 2.39 3.299-.039.79-.194 1.662-.537 3.148.324.49.66.967 1.055 1.51.17.231.382.488.629.757 1.866-.128 3.653.114 4.918.655 1.487.635 2.192 1.685 1.614 2.84-.566 1.133-1.839 1.084-3.416.249-1.141-.604-2.457-1.634-3.51-2.707a13.467 13.467 0 0 0-2.238.426c-1.392 4.051-4.534 6.453-5.707 4.572-.986-1.58 1.38-4.206 4.914-5.375.097-.322.185-.656.264-1.001.08-.353.306-1.31.407-1.737-.678-1.059-1.2-2.031-1.53-2.91zm2.098 4.87c-.033.144-.068.287-.104.427l.033-.01-.012.038a14.065 14.065 0 0 1 1.02-.197l-.032-.033.052-.004a7.902 7.902 0 0 1-.208-.271c-.197-.27-.38-.526-.555-.775l-.006.028-.002-.003c-.076.323-.148.632-.186.8zm5.77 2.978c1.143.605 1.832.632 2.054.187.26-.519-.087-1.034-1.113-1.473-.911-.39-2.175-.608-3.55-.608.845.766 1.787 1.459 2.609 1.894zM6.559 18.789c.14.223.693.16 1.425-.413.827-.648 1.61-1.747 2.208-3.206-2.563 1.064-4.102 2.867-3.633 3.62zm5.345-10.97c.088-1.793-.351-2.48-1.146-2.28-.473.119-.564 1.05-.056 2.405.213.566.52 1.188.908 1.859.18-.858.268-1.453.294-1.984z",fill:"#E2514A",fillRule:"nonzero"})})}function GS(){return c("svg",{"aria-hidden":"true",focusable:"false",width:"25",height:"25",viewBox:"0 0 25 25",children:c("path",{d:"M10.45 2.05h1.05a.5.5 0 0 1 .5.5v.024a.5.5 0 0 1-.5.5h-1.05a.5.5 0 0 1-.5-.5V2.55a.5.5 0 0 1 .5-.5zm2.05 1.024h1.05a.5.5 0 0 1 .5.5V3.6a.5.5 0 0 1-.5.5H12.5a.5.5 0 0 1-.5-.5v-.025a.5.5 0 0 1 .5-.5v-.001zM10.45 0h1.05a.5.5 0 0 1 .5.5v.025a.5.5 0 0 1-.5.5h-1.05a.5.5 0 0 1-.5-.5V.5a.5.5 0 0 1 .5-.5zm2.05 1.025h1.05a.5.5 0 0 1 .5.5v.024a.5.5 0 0 1-.5.5H12.5a.5.5 0 0 1-.5-.5v-.024a.5.5 0 0 1 .5-.5zm-2.05 3.074h1.05a.5.5 0 0 1 .5.5v.025a.5.5 0 0 1-.5.5h-1.05a.5.5 0 0 1-.5-.5v-.025a.5.5 0 0 1 .5-.5zm2.05 1.025h1.05a.5.5 0 0 1 .5.5v.024a.5.5 0 0 1-.5.5H12.5a.5.5 0 0 1-.5-.5v-.024a.5.5 0 0 1 .5-.5zm-2.05 1.024h1.05a.5.5 0 0 1 .5.5v.025a.5.5 0 0 1-.5.5h-1.05a.5.5 0 0 1-.5-.5v-.025a.5.5 0 0 1 .5-.5zm2.05 1.025h1.05a.5.5 0 0 1 .5.5v.025a.5.5 0 0 1-.5.5H12.5a.5.5 0 0 1-.5-.5v-.025a.5.5 0 0 1 .5-.5zm-2.05 1.025h1.05a.5.5 0 0 1 .5.5v.025a.5.5 0 0 1-.5.5h-1.05a.5.5 0 0 1-.5-.5v-.025a.5.5 0 0 1 .5-.5zm2.05 1.025h1.05a.5.5 0 0 1 .5.5v.024a.5.5 0 0 1-.5.5H12.5a.5.5 0 0 1-.5-.5v-.024a.5.5 0 0 1 .5-.5zm-1.656 3.074l-.82 5.946c.52.302 1.174.458 1.976.458.803 0 1.455-.156 1.975-.458l-.82-5.946h-2.311zm0-1.025h2.312c.512 0 .946.378 1.015.885l.82 5.946c.056.412-.142.817-.501 1.026-.686.398-1.515.597-2.49.597-.974 0-1.804-.199-2.49-.597a1.025 1.025 0 0 1-.5-1.026l.819-5.946c.07-.507.503-.885 1.015-.885zm.545 6.6a.5.5 0 0 1-.397-.561l.143-.999a.5.5 0 0 1 .495-.429h.74a.5.5 0 0 1 .495.43l.143.998a.5.5 0 0 1-.397.561c-.404.08-.819.08-1.222 0z",fill:"#00C469",fillRule:"nonzero"})})}function KS(){return c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"25",height:"25",viewBox:"0 0 25 25",children:c("g",{fill:"#A7AFB7",fillRule:"nonzero",children:[c("path",{d:"M5.5 22a.5.5 0 0 1-.5-.5v-18a.5.5 0 0 1 .5-.5h10.719a.5.5 0 0 1 .367.16l3.281 3.556a.5.5 0 0 1 .133.339V21.5a.5.5 0 0 1-.5.5h-14zm.5-1h13V7.25L16 4H6v17z"}),c("path",{d:"M15 4v3a1 1 0 0 0 1 1h3V7h-3V4h-1z"})]})})}function XS(){return c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"25",height:"25",viewBox:"0 0 25 25",children:c("path",{d:"M4.5 7h13a.5.5 0 1 1 0 1h-13a.5.5 0 0 1 0-1zm0 3h15a.5.5 0 1 1 0 1h-15a.5.5 0 1 1 0-1zm0 3h15a.5.5 0 1 1 0 1h-15a.5.5 0 1 1 0-1zm0 3h10a.5.5 0 1 1 0 1h-10a.5.5 0 1 1 0-1z",fill:"#5A5E69",fillRule:"nonzero"})})}function Tr(i){let e={color:"#838999",icon:KS()};if(!i)return e;let t=i.split("/")[0],r=i.split("/")[1];return t==="text"?{color:"#5a5e69",icon:XS()}:t==="image"?{color:"#686de0",icon:qS()}:t==="audio"?{color:"#068dbb",icon:$S()}:t==="video"?{color:"#19af67",icon:VS()}:t==="application"&&r==="pdf"?{color:"#e25149",icon:WS()}:t==="application"&&["zip","x-7z-compressed","x-zip-compressed","x-rar-compressed","x-tar","x-gzip","x-apple-diskimage"].indexOf(r)!==-1?{color:"#00C469",icon:GS()}:e}function YS(i){let{tagName:e}=i.target;if(e==="INPUT"||e==="TEXTAREA"){i.stopPropagation();return}i.preventDefault(),i.stopPropagation()}var fi=YS;function kn(i){let{file:e}=i;if(e.preview)return c("img",{draggable:!1,className:"uppy-Dashboard-Item-previewImg",alt:e.name,src:e.preview});let{color:t,icon:r}=Tr(e.type);return c("div",{className:"uppy-Dashboard-Item-previewIconWrap",children:[c("span",{className:"uppy-Dashboard-Item-previewIcon",style:{color:t},children:r}),c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-Dashboard-Item-previewIconBg",width:"58",height:"76",viewBox:"0 0 58 76",children:c("rect",{fill:"#FFF",width:"58",height:"76",rx:"3",fillRule:"evenodd"})})]})}function Yu(i){let{computedMetaFields:e,requiredMetaFields:t,updateMeta:r,form:s,formState:n}=i,o={text:"uppy-u-reset uppy-c-textInput uppy-Dashboard-FileCard-input"};return e.map(a=>{let l=`uppy-Dashboard-FileCard-input-${a.id}`,h=t.includes(a.id);return c("fieldset",{className:"uppy-Dashboard-FileCard-fieldset",children:[c("label",{className:"uppy-Dashboard-FileCard-label",htmlFor:l,children:a.name}),a.render!==void 0?a.render({value:n[a.id],onChange:f=>r(f,a.id),fieldCSSClasses:o,required:h,form:s.id},ki):c("input",{className:o.text,id:l,form:s.id,type:a.type||"text",required:h,value:n[a.id],placeholder:a.placeholder,onInput:f=>r(f.target.value,a.id),"data-uppy-super-focusable":!0})]},a.id)})}function Zu(i){let{files:e,fileCardFor:t,toggleFileCard:r,saveFileCard:s,metaFields:n,requiredMetaFields:o,openFileEditor:a,i18n:l,i18nArray:h,className:f,canEditFile:m}=i,w=()=>typeof n=="function"?n(e[t]):n,y=e[t],k=w()??[],C=m(y),O={};k.forEach(P=>{O[P.id]=y.meta[P.id]??""});let[R,_]=Kt(O),F=Vi(P=>{P.preventDefault(),s(R,t)},[s,R,t]),x=(P,N)=>{_({...R,[N]:P})},S=()=>{r(!1)},[A]=Kt(()=>{let P=document.createElement("form");return P.setAttribute("tabindex","-1"),P.id=Wi(),P});return si(()=>(document.body.appendChild(A),A.addEventListener("submit",F),()=>{A.removeEventListener("submit",F),document.body.removeChild(A)}),[A,F]),c("div",{className:(0,ug.default)("uppy-Dashboard-FileCard",f),"data-uppy-panelType":"FileCard",onDragOver:fi,onDragLeave:fi,onDrop:fi,onPaste:fi,children:[c("div",{className:"uppy-DashboardContent-bar",children:[c("div",{className:"uppy-DashboardContent-title",role:"heading","aria-level":1,children:h("editing",{file:c("span",{className:"uppy-DashboardContent-titleFile",children:y.meta?y.meta.name:y.name})})}),c("button",{className:"uppy-DashboardContent-back",type:"button",form:A.id,title:l("finishEditingFile"),onClick:S,children:l("cancel")})]}),c("div",{className:"uppy-Dashboard-FileCard-inner",children:[c("div",{className:"uppy-Dashboard-FileCard-preview",style:{backgroundColor:Tr(y.type).color},children:[c(kn,{file:y}),C&&c("button",{type:"button",className:"uppy-u-reset uppy-c-btn uppy-Dashboard-FileCard-edit",onClick:P=>{F(P),a(y)},children:l("editImage")})]}),c("div",{className:"uppy-Dashboard-FileCard-info",children:c(Yu,{computedMetaFields:k,requiredMetaFields:o,updateMeta:x,form:A,formState:R})}),c("div",{className:"uppy-Dashboard-FileCard-actions",children:[c("button",{className:"uppy-u-reset uppy-c-btn uppy-c-btn-primary uppy-Dashboard-FileCard-actionsBtn",type:"submit",form:A.id,children:l("saveChanges")}),c("button",{className:"uppy-u-reset uppy-c-btn uppy-c-btn-link uppy-Dashboard-FileCard-actionsBtn",type:"button",onClick:S,form:A.id,children:l("cancel")})]})]})]})}var fg=ye(ht(),1);function hg(i,e){if(i===e)return!0;if(!i||!e)return!1;let t=Object.keys(i),r=Object.keys(e),s=t.length;if(r.length!==s)return!1;for(let n=0;n<s;n++){let o=t[n];if(i[o]!==e[o]||!Object.prototype.hasOwnProperty.call(e,o))return!1}return!0}function Qu(i,e="Copy the URL below"){return new Promise(t=>{let r=document.createElement("textarea");r.setAttribute("style",{position:"fixed",top:0,left:0,width:"2em",height:"2em",padding:0,border:"none",outline:"none",boxShadow:"none",background:"transparent"}),r.value=i,document.body.appendChild(r),r.select();let s=()=>{document.body.removeChild(r),window.prompt(e,i),t()};try{return document.execCommand("copy")?(document.body.removeChild(r),t()):s()}catch{return document.body.removeChild(r),s()}})}function ZS({file:i,uploadInProgressOrComplete:e,metaFields:t,canEditFile:r,i18n:s,onClick:n}){return!e&&t&&t.length>0||!e&&r(i)?c("button",{className:"uppy-u-reset uppy-c-btn uppy-Dashboard-Item-action uppy-Dashboard-Item-action--edit",type:"button","aria-label":s("editFileWithFilename",{file:i.meta.name}),title:s("editFileWithFilename",{file:i.meta.name}),onClick:()=>n(),children:c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"14",height:"14",viewBox:"0 0 14 14",children:c("g",{fillRule:"evenodd",children:[c("path",{d:"M1.5 10.793h2.793A1 1 0 0 0 5 10.5L11.5 4a1 1 0 0 0 0-1.414L9.707.793a1 1 0 0 0-1.414 0l-6.5 6.5A1 1 0 0 0 1.5 8v2.793zm1-1V8L9 1.5l1.793 1.793-6.5 6.5H2.5z",fillRule:"nonzero"}),c("rect",{x:"1",y:"12.293",width:"11",height:"1",rx:".5"}),c("path",{fillRule:"nonzero",d:"M6.793 2.5L9.5 5.207l.707-.707L7.5 1.793z"})]})})}):null}function QS({i18n:i,onClick:e,file:t}){return c("button",{className:"uppy-u-reset uppy-Dashboard-Item-action uppy-Dashboard-Item-action--remove",type:"button","aria-label":i("removeFile",{file:t.meta.name}),title:i("removeFile",{file:t.meta.name}),onClick:()=>e(),children:c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"18",height:"18",viewBox:"0 0 18 18",children:[c("path",{d:"M9 0C4.034 0 0 4.034 0 9s4.034 9 9 9 9-4.034 9-9-4.034-9-9-9z"}),c("path",{fill:"#FFF",d:"M13 12.222l-.778.778L9 9.778 5.778 13 5 12.222 8.222 9 5 5.778 5.778 5 9 8.222 12.222 5l.778.778L9.778 9z"})]})})}function JS({file:i,uppy:e,i18n:t}){let r=s=>{Qu(i.uploadURL,t("copyLinkToClipboardFallback")).then(()=>{e.log("Link copied to clipboard."),e.info(t("copyLinkToClipboardSuccess"),"info",3e3)}).catch(e.log).then(()=>s.target.focus({preventScroll:!0}))};return c("button",{className:"uppy-u-reset uppy-Dashboard-Item-action uppy-Dashboard-Item-action--copyLink",type:"button","aria-label":t("copyLink"),title:t("copyLink"),onClick:s=>r(s),children:c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"14",height:"14",viewBox:"0 0 14 12",children:c("path",{d:"M7.94 7.703a2.613 2.613 0 0 1-.626 2.681l-.852.851a2.597 2.597 0 0 1-1.849.766A2.616 2.616 0 0 1 2.764 7.54l.852-.852a2.596 2.596 0 0 1 2.69-.625L5.267 7.099a1.44 1.44 0 0 0-.833.407l-.852.851a1.458 1.458 0 0 0 1.03 2.486c.39 0 .755-.152 1.03-.426l.852-.852c.231-.231.363-.522.406-.824l1.04-1.038zm4.295-5.937A2.596 2.596 0 0 0 10.387 1c-.698 0-1.355.272-1.849.766l-.852.851a2.614 2.614 0 0 0-.624 2.688l1.036-1.036c.041-.304.173-.6.407-.833l.852-.852c.275-.275.64-.426 1.03-.426a1.458 1.458 0 0 1 1.03 2.486l-.852.851a1.442 1.442 0 0 1-.824.406l-1.04 1.04a2.596 2.596 0 0 0 2.683-.628l.851-.85a2.616 2.616 0 0 0 0-3.697zm-6.88 6.883a.577.577 0 0 0 .82 0l3.474-3.474a.579.579 0 1 0-.819-.82L5.355 7.83a.579.579 0 0 0 0 .819z"})})})}function Ju(i){let{uppy:e,file:t,uploadInProgressOrComplete:r,canEditFile:s,metaFields:n,showLinkToFileUploadResult:o,showRemoveButton:a,i18n:l,toggleFileCard:h,openFileEditor:f}=i;return c("div",{className:"uppy-Dashboard-Item-actionWrapper",children:[c(ZS,{i18n:l,file:t,uploadInProgressOrComplete:r,canEditFile:s,metaFields:n,onClick:()=>{n&&n.length>0?h(!0,t.id):f(t)}}),o&&t.uploadURL?c(JS,{file:t,uppy:e,i18n:l}):null,a?c(QS,{i18n:l,file:t,onClick:()=>e.removeFile(t.id)}):null]})}var dg=ye(Xo(),1);function _a(i,e){if(e===0)return"";if(i.length<=e)return i;if(e<=4)return`${i.slice(0,e-1)}\u2026`;let t=e-3,r=Math.ceil(t/2),s=Math.floor(t/2);return i.slice(0,r)+"..."+i.slice(-s)}var eE=(i,e)=>(typeof e=="function"?e():e).filter(s=>s.id===i)[0].name;function _n(i){let{file:e,toggleFileCard:t,i18n:r,metaFields:s}=i,{missingRequiredMetaFields:n}=e;if(!n?.length)return null;let o=n.map(a=>eE(a,s)).join(", ");return c("div",{className:"uppy-Dashboard-Item-errorMessage",children:[r("missingRequiredMetaFields",{smart_count:n.length,fields:o})," ",c("button",{type:"button",class:"uppy-u-reset uppy-Dashboard-Item-errorMessageBtn",onClick:()=>t(!0,e.id),children:r("editFile")})]})}var tE=i=>{let{author:e,name:t}=i.file.meta;function r(){return i.isSingleFile&&i.containerHeight>=350?90:i.containerWidth<=352?35:i.containerWidth<=576?60:e?20:30}return c("div",{className:"uppy-Dashboard-Item-name",title:t,children:_a(t,r())})},iE=i=>{let{author:e}=i.file.meta,t=i.file.remote?.providerName,r="\xB7";return e?c("div",{className:"uppy-Dashboard-Item-author",children:[c("a",{href:`${e.url}?utm_source=Companion&utm_medium=referral`,target:"_blank",rel:"noopener noreferrer",children:_a(e.name,13)}),t?c(_e,{children:[` ${r} `,t,` ${r} `]}):null]}):null},rE=i=>i.file.size&&c("div",{className:"uppy-Dashboard-Item-statusSize",children:(0,dg.default)(i.file.size)}),sE=i=>i.file.isGhost&&c("span",{children:[" \u2022 ",c("button",{className:"uppy-u-reset uppy-c-btn uppy-Dashboard-Item-reSelect",type:"button",onClick:()=>i.toggleAddFilesPanel(!0),children:i.i18n("reSelect")})]}),nE=({file:i,onClick:e})=>i.error?c("button",{className:"uppy-u-reset uppy-c-btn uppy-Dashboard-Item-errorDetails","aria-label":i.error,"data-microtip-position":"bottom","data-microtip-size":"medium",onClick:e,type:"button",children:"?"}):null;function eh(i){let{file:e,i18n:t,toggleFileCard:r,metaFields:s,toggleAddFilesPanel:n,isSingleFile:o,containerHeight:a,containerWidth:l}=i;return c("div",{className:"uppy-Dashboard-Item-fileInfo","data-uppy-file-source":e.source,children:[c("div",{className:"uppy-Dashboard-Item-fileName",children:[tE({file:e,isSingleFile:o,containerHeight:a,containerWidth:l}),c(nE,{file:e,onClick:()=>alert(e.error)})]}),c("div",{className:"uppy-Dashboard-Item-status",children:[iE({file:e}),rE({file:e}),sE({file:e,toggleAddFilesPanel:n,i18n:t})]}),c(_n,{file:e,i18n:t,toggleFileCard:r,metaFields:s})]})}function th(i){let{file:e,i18n:t,toggleFileCard:r,metaFields:s,showLinkToFileUploadResult:n}=i,a=e.preview?"rgba(255, 255, 255, 0.5)":Tr(e.type).color;return c("div",{className:"uppy-Dashboard-Item-previewInnerWrap",style:{backgroundColor:a},children:[n&&e.uploadURL&&c("a",{className:"uppy-Dashboard-Item-previewLink",href:e.uploadURL,rel:"noreferrer noopener",target:"_blank","aria-label":e.meta.name,children:c("span",{hidden:!0,children:e.meta.name})}),c(kn,{file:e}),c(_n,{file:e,i18n:t,toggleFileCard:r,metaFields:s})]})}function oE(i){if(!i.isUploaded){if(i.error&&!i.hideRetryButton){i.uppy.retryUpload(i.file.id);return}i.resumableUploads&&!i.hidePauseResumeButton?i.uppy.pauseResume(i.file.id):i.individualCancellation&&!i.hideCancelButton&&i.uppy.removeFile(i.file.id)}}function pg(i){return i.isUploaded?i.i18n("uploadComplete"):i.error?i.i18n("retryUpload"):i.resumableUploads?i.file.isPaused?i.i18n("resumeUpload"):i.i18n("pauseUpload"):i.individualCancellation?i.i18n("cancelUpload"):""}function ih(i){return c("div",{className:"uppy-Dashboard-Item-progress",children:c("button",{className:"uppy-u-reset uppy-c-btn uppy-Dashboard-Item-progressIndicator",type:"button","aria-label":pg(i),title:pg(i),onClick:()=>oE(i),children:i.children})})}function Aa({children:i}){return c("svg",{"aria-hidden":"true",focusable:"false",width:"70",height:"70",viewBox:"0 0 36 36",className:"uppy-c-icon uppy-Dashboard-Item-progressIcon--circle",children:i})}function rh({progress:i}){let e=2*Math.PI*15;return c("g",{children:[c("circle",{className:"uppy-Dashboard-Item-progressIcon--bg",r:"15",cx:"18",cy:"18","stroke-width":"2",fill:"none"}),c("circle",{className:"uppy-Dashboard-Item-progressIcon--progress",r:"15",cx:"18",cy:"18",transform:"rotate(-90, 18, 18)",fill:"none","stroke-width":"2","stroke-dasharray":e,"stroke-dashoffset":e-e/100*i})]})}function sh(i){return!i.file.progress.uploadStarted||i.file.progress.percentage===void 0?null:i.isUploaded?c("div",{className:"uppy-Dashboard-Item-progress",children:c("div",{className:"uppy-Dashboard-Item-progressIndicator",children:c(Aa,{children:[c("circle",{r:"15",cx:"18",cy:"18",fill:"#1bb240"}),c("polygon",{className:"uppy-Dashboard-Item-progressIcon--check",transform:"translate(2, 3)",points:"14 22.5 7 15.2457065 8.99985857 13.1732815 14 18.3547104 22.9729883 9 25 11.1005634"})]})})}):i.recoveredState?null:i.error&&!i.hideRetryButton?c(ih,{...i,children:c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon uppy-Dashboard-Item-progressIcon--retry",width:"28",height:"31",viewBox:"0 0 16 19",children:[c("path",{d:"M16 11a8 8 0 1 1-8-8v2a6 6 0 1 0 6 6h2z"}),c("path",{d:"M7.9 3H10v2H7.9z"}),c("path",{d:"M8.536.5l3.535 3.536-1.414 1.414L7.12 1.914z"}),c("path",{d:"M10.657 2.621l1.414 1.415L8.536 7.57 7.12 6.157z"})]})}):i.resumableUploads&&!i.hidePauseResumeButton?c(ih,{...i,children:c(Aa,{children:[c(rh,{progress:i.file.progress.percentage}),i.file.isPaused?c("polygon",{className:"uppy-Dashboard-Item-progressIcon--play",transform:"translate(3, 3)",points:"12 20 12 10 20 15"}):c("g",{className:"uppy-Dashboard-Item-progressIcon--pause",transform:"translate(14.5, 13)",children:[c("rect",{x:"0",y:"0",width:"2",height:"10",rx:"0"}),c("rect",{x:"5",y:"0",width:"2",height:"10",rx:"0"})]})]})}):!i.resumableUploads&&i.individualCancellation&&!i.hideCancelButton?c(ih,{...i,children:c(Aa,{children:[c(rh,{progress:i.file.progress.percentage}),c("polygon",{className:"cancel",transform:"translate(2, 2)",points:"19.8856516 11.0625 16 14.9481516 12.1019737 11.0625 11.0625 12.1143484 14.9481516 16 11.0625 19.8980263 12.1019737 20.9375 16 17.0518484 19.8856516 20.9375 20.9375 19.8980263 17.0518484 16 20.9375 12"})]})}):c("div",{className:"uppy-Dashboard-Item-progress",children:c("div",{className:"uppy-Dashboard-Item-progressIndicator",children:c(Aa,{children:c(rh,{progress:i.file.progress.percentage})})})})}var An=class extends we{componentDidMount(){let{file:e}=this.props;e.preview||this.props.handleRequestThumbnail(e)}shouldComponentUpdate(e){return!hg(this.props,e)}componentDidUpdate(){let{file:e}=this.props;e.preview||this.props.handleRequestThumbnail(e)}componentWillUnmount(){let{file:e}=this.props;e.preview||this.props.handleCancelThumbnail(e)}render(){let{file:e}=this.props,t=e.progress.preprocess||e.progress.postprocess,r=!!e.progress.uploadComplete&&!t&&!e.error,s=!!e.progress.uploadStarted||!!t,n=e.progress.uploadStarted&&!e.progress.uploadComplete||t,o=e.error||!1,{isGhost:a}=e,l=(this.props.individualCancellation||!n)&&!r;r&&this.props.showRemoveButtonAfterComplete&&(l=!0);let h=(0,fg.default)({"uppy-Dashboard-Item":!0,"is-inprogress":n&&!this.props.recoveredState,"is-processing":t,"is-complete":r,"is-error":!!o,"is-resumable":this.props.resumableUploads,"is-noIndividualCancellation":!this.props.individualCancellation,"is-ghost":a});return c("div",{className:h,id:`uppy_${e.id}`,role:this.props.role,children:[c("div",{className:"uppy-Dashboard-Item-preview",children:[c(th,{file:e,showLinkToFileUploadResult:this.props.showLinkToFileUploadResult,i18n:this.props.i18n,toggleFileCard:this.props.toggleFileCard,metaFields:this.props.metaFields}),c(sh,{uppy:this.props.uppy,file:e,error:o,isUploaded:r,hideRetryButton:this.props.hideRetryButton,hideCancelButton:this.props.hideCancelButton,hidePauseResumeButton:this.props.hidePauseResumeButton,recoveredState:this.props.recoveredState,resumableUploads:this.props.resumableUploads,individualCancellation:this.props.individualCancellation,i18n:this.props.i18n})]}),c("div",{className:"uppy-Dashboard-Item-fileInfoAndButtons",children:[c(eh,{file:e,containerWidth:this.props.containerWidth,containerHeight:this.props.containerHeight,i18n:this.props.i18n,toggleAddFilesPanel:this.props.toggleAddFilesPanel,toggleFileCard:this.props.toggleFileCard,metaFields:this.props.metaFields,isSingleFile:this.props.isSingleFile}),c(Ju,{file:e,metaFields:this.props.metaFields,showLinkToFileUploadResult:this.props.showLinkToFileUploadResult,showRemoveButton:l,canEditFile:this.props.canEditFile,uploadInProgressOrComplete:s,toggleFileCard:this.props.toggleFileCard,openFileEditor:this.props.openFileEditor,uppy:this.props.uppy,i18n:this.props.i18n})]})]})}};function aE(i,e){let t=[],r=[];return i.forEach(s=>{r.length<e?r.push(s):(t.push(r),r=[s])}),r.length&&t.push(r),t}function nh({id:i,i18n:e,uppy:t,files:r,resumableUploads:s,hideRetryButton:n,hidePauseResumeButton:o,hideCancelButton:a,showLinkToFileUploadResult:l,showRemoveButtonAfterComplete:h,metaFields:f,isSingleFile:m,toggleFileCard:w,handleRequestThumbnail:y,handleCancelThumbnail:k,recoveredState:C,individualCancellation:O,itemsPerRow:R,openFileEditor:_,canEditFile:F,toggleAddFilesPanel:x,containerWidth:S,containerHeight:A}){let P=R===1?71:200,N=$i(()=>{let q=(Z,K)=>Number(r[K].isGhost)-Number(r[Z].isGhost),V=Object.keys(r);return C&&V.sort(q),aE(V,R)},[r,R,C]),z=q=>c("div",{class:"uppy-Dashboard-filesInner",role:"presentation",children:q.map(V=>c(An,{uppy:t,id:i,i18n:e,resumableUploads:s,individualCancellation:O,hideRetryButton:n,hidePauseResumeButton:o,hideCancelButton:a,showLinkToFileUploadResult:l,showRemoveButtonAfterComplete:h,metaFields:f,recoveredState:C,isSingleFile:m,containerWidth:S,containerHeight:A,toggleFileCard:w,handleRequestThumbnail:y,handleCancelThumbnail:k,role:"listitem",openFileEditor:_,canEditFile:F,toggleAddFilesPanel:x,file:r[V]},V))},q[0]);return m?c("div",{class:"uppy-Dashboard-files",children:z(N[0])}):c(ra,{class:"uppy-Dashboard-files",role:"list",data:N,renderRow:z,rowHeight:P})}var mg=ye(ht(),1);function lE({activePickerPanel:i,className:e,hideAllPanels:t,i18n:r,state:s,uppy:n}){let o=qi(null);return c("div",{className:(0,mg.default)("uppy-DashboardContent-panel",e),role:"tabpanel","data-uppy-panelType":"PickerPanel",id:`uppy-DashboardContent-panel--${i.id}`,onDragOver:fi,onDragLeave:fi,onDrop:fi,onPaste:fi,children:[c("div",{className:"uppy-DashboardContent-bar",children:[c("div",{className:"uppy-DashboardContent-title",role:"heading","aria-level":1,children:r("importFrom",{name:i.name})}),c("button",{className:"uppy-DashboardContent-back",type:"button",onClick:t,children:r("cancel")})]}),c("div",{ref:o,className:"uppy-DashboardContent-panelBody",children:n.getPlugin(i.id).render(s,o.current)})]})}var gg=lE;var mi={STATE_ERROR:"error",STATE_WAITING:"waiting",STATE_PREPROCESSING:"preprocessing",STATE_UPLOADING:"uploading",STATE_POSTPROCESSING:"postprocessing",STATE_COMPLETE:"complete",STATE_PAUSED:"paused"};function cE(i,e,t,r={}){if(i)return mi.STATE_ERROR;if(e)return mi.STATE_COMPLETE;if(t)return mi.STATE_PAUSED;let s=mi.STATE_WAITING,n=Object.keys(r);for(let o=0;o<n.length;o++){let{progress:a}=r[n[o]];if(a.uploadStarted&&!a.uploadComplete)return mi.STATE_UPLOADING;a.preprocess&&s!==mi.STATE_UPLOADING&&(s=mi.STATE_PREPROCESSING),a.postprocess&&s!==mi.STATE_UPLOADING&&s!==mi.STATE_PREPROCESSING&&(s=mi.STATE_POSTPROCESSING)}return s}function uE({files:i,i18n:e,isAllComplete:t,isAllErrored:r,isAllPaused:s,inProgressNotPausedFiles:n,newFiles:o,processingFiles:a}){switch(cE(r,t,s,i)){case"uploading":return e("uploadingXFiles",{smart_count:n.length});case"preprocessing":case"postprocessing":return e("processingXFiles",{smart_count:a.length});case"paused":return e("uploadPaused");case"waiting":return e("xFilesSelected",{smart_count:o.length});case"complete":return e("uploadComplete");case"error":return e("error");default:}}function hE(i){let{i18n:e,isAllComplete:t,hideCancelButton:r,maxNumberOfFiles:s,toggleAddFilesPanel:n,uppy:o}=i,{allowNewUpload:a}=i;return a&&s&&(a=i.totalFileCount<i.maxNumberOfFiles),c("div",{className:"uppy-DashboardContent-bar",children:[!t&&!r?c("button",{className:"uppy-DashboardContent-back",type:"button",onClick:()=>o.cancelAll(),children:e("cancel")}):c("div",{}),c("div",{className:"uppy-DashboardContent-title",children:c(uE,{...i})}),a?c("button",{className:"uppy-DashboardContent-addMore",type:"button","aria-label":e("addMoreFiles"),title:e("addMoreFiles"),onClick:()=>n(!0),children:[c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"15",height:"15",viewBox:"0 0 15 15",children:c("path",{d:"M8 6.5h6a.5.5 0 0 1 .5.5v.5a.5.5 0 0 1-.5.5H8v6a.5.5 0 0 1-.5.5H7a.5.5 0 0 1-.5-.5V8h-6a.5.5 0 0 1-.5-.5V7a.5.5 0 0 1 .5-.5h6v-6A.5.5 0 0 1 7 0h.5a.5.5 0 0 1 .5.5v6z"})}),c("span",{className:"uppy-DashboardContent-addMoreCaption",children:e("addMore")})]}):c("div",{})]})}var bg=hE;var vg=ye(ht(),1);var us="uppy-transition-slideDownUp",yg=250;function dE({children:i}){let[e,t]=Kt(null),[r,s]=Kt(""),n=qi(),o=qi(),a=qi(),l=()=>{s(`${us}-enter`),cancelAnimationFrame(a.current),clearTimeout(o.current),o.current=void 0,a.current=requestAnimationFrame(()=>{s(`${us}-enter ${us}-enter-active`),n.current=setTimeout(()=>{s("")},yg)})},h=()=>{s(`${us}-leave`),cancelAnimationFrame(a.current),clearTimeout(n.current),n.current=void 0,a.current=requestAnimationFrame(()=>{s(`${us}-leave ${us}-leave-active`),o.current=setTimeout(()=>{t(null),s("")},yg)})};return si(()=>{let f=wt(i)[0];e!==f&&(f&&!e?l():e&&!f&&!o.current&&h(),t(f))},[i,e]),si(()=>()=>{clearTimeout(n.current),clearTimeout(o.current),cancelAnimationFrame(a.current)},[]),e?Ys(e,{className:(0,vg.default)(r,e.props.className)}):null}var Cn=dE;var wg=900,Sg=700,oh=576,Eg=330;function ah(i){let e=i.totalFileCount===0,t=i.totalFileCount===1,r=i.containerWidth>oh,s=i.containerHeight>Eg,n=(0,Tg.default)({"uppy-Dashboard":!0,"uppy-Dashboard--isDisabled":i.disabled,"uppy-Dashboard--animateOpenClose":i.animateOpenClose,"uppy-Dashboard--isClosing":i.isClosing,"uppy-Dashboard--isDraggingOver":i.isDraggingOver,"uppy-Dashboard--modal":!i.inline,"uppy-size--md":i.containerWidth>oh,"uppy-size--lg":i.containerWidth>Sg,"uppy-size--xl":i.containerWidth>wg,"uppy-size--height-md":i.containerHeight>Eg,"uppy-Dashboard--isAddFilesPanelVisible":i.showAddFilesPanel,"uppy-Dashboard--isInnerWrapVisible":i.areInsidesReadyToBeVisible,"uppy-Dashboard--singleFile":i.singleFileFullScreen&&t&&s}),o=1;i.containerWidth>wg?o=5:i.containerWidth>Sg?o=4:i.containerWidth>oh&&(o=3);let a=i.showSelectedFiles&&!e,l=i.recoveredState?Object.keys(i.recoveredState.files).length:null,h=i.files?Object.keys(i.files).filter(w=>i.files[w].isGhost).length:0,f=()=>h>0?i.i18n("recoveredXFiles",{smart_count:h}):i.i18n("recoveredAllFiles");return c("div",{className:n,"data-uppy-theme":i.theme,"data-uppy-num-acquirers":i.acquirers.length,"data-uppy-drag-drop-supported":!i.disableLocalFiles&&Ku(),"aria-hidden":i.inline?"false":i.isHidden,"aria-disabled":i.disabled,"aria-label":i.inline?i.i18n("dashboardTitle"):i.i18n("dashboardWindowTitle"),onPaste:i.handlePaste,onDragOver:i.handleDragOver,onDragLeave:i.handleDragLeave,onDrop:i.handleDrop,children:[c("div",{"aria-hidden":"true",className:"uppy-Dashboard-overlay",tabIndex:-1,onClick:i.handleClickOutside}),c("div",{className:"uppy-Dashboard-inner",role:i.inline?void 0:"dialog",style:{width:i.inline&&i.width?i.width:"",height:i.inline&&i.height?i.height:""},children:[i.inline?null:c("button",{className:"uppy-u-reset uppy-Dashboard-close",type:"button","aria-label":i.i18n("closeModal"),title:i.i18n("closeModal"),onClick:i.closeModal,children:c("span",{"aria-hidden":"true",children:"\xD7"})}),c("div",{className:"uppy-Dashboard-innerWrap",children:[c("div",{className:"uppy-Dashboard-dropFilesHereHint",children:i.i18n("dropHint")}),a&&c(bg,{...i}),l&&c("div",{className:"uppy-Dashboard-serviceMsg",children:[c("svg",{className:"uppy-Dashboard-serviceMsg-icon","aria-hidden":"true",focusable:"false",width:"21",height:"16",viewBox:"0 0 24 19",children:c("g",{transform:"translate(0 -1)",fill:"none",fillRule:"evenodd",children:[c("path",{d:"M12.857 1.43l10.234 17.056A1 1 0 0122.234 20H1.766a1 1 0 01-.857-1.514L11.143 1.429a1 1 0 011.714 0z",fill:"#FFD300"}),c("path",{fill:"#000",d:"M11 6h2l-.3 8h-1.4z"}),c("circle",{fill:"#000",cx:"12",cy:"17",r:"1"})]})}),c("strong",{className:"uppy-Dashboard-serviceMsg-title",children:i.i18n("sessionRestored")}),c("div",{className:"uppy-Dashboard-serviceMsg-text",children:f()})]}),a?c(nh,{id:i.id,i18n:i.i18n,uppy:i.uppy,files:i.files,resumableUploads:i.resumableUploads,hideRetryButton:i.hideRetryButton,hidePauseResumeButton:i.hidePauseResumeButton,hideCancelButton:i.hideCancelButton,showLinkToFileUploadResult:i.showLinkToFileUploadResult,showRemoveButtonAfterComplete:i.showRemoveButtonAfterComplete,metaFields:i.metaFields,toggleFileCard:i.toggleFileCard,handleRequestThumbnail:i.handleRequestThumbnail,handleCancelThumbnail:i.handleCancelThumbnail,recoveredState:i.recoveredState,individualCancellation:i.individualCancellation,openFileEditor:i.openFileEditor,canEditFile:i.canEditFile,toggleAddFilesPanel:i.toggleAddFilesPanel,isSingleFile:t,itemsPerRow:o,containerWidth:i.containerWidth,containerHeight:i.containerHeight}):c(ka,{i18n:i.i18n,i18nArray:i.i18nArray,acquirers:i.acquirers,handleInputChange:i.handleInputChange,maxNumberOfFiles:i.maxNumberOfFiles,allowedFileTypes:i.allowedFileTypes,showNativePhotoCameraButton:i.showNativePhotoCameraButton,showNativeVideoCameraButton:i.showNativeVideoCameraButton,nativeCameraFacingMode:i.nativeCameraFacingMode,showPanel:i.showPanel,activePickerPanel:i.activePickerPanel,disableLocalFiles:i.disableLocalFiles,fileManagerSelectionType:i.fileManagerSelectionType,note:i.note,proudlyDisplayPoweredByUppy:i.proudlyDisplayPoweredByUppy}),c(Cn,{children:i.showAddFilesPanel?c(ag,{...i,isSizeMD:r},"AddFiles"):null}),c(Cn,{children:i.fileCardFor?c(Zu,{...i},"FileCard"):null}),c(Cn,{children:i.activePickerPanel?c(gg,{...i},"Picker"):null}),c(Cn,{children:i.showFileEditor?c(cg,{...i},"Editor"):null}),c("div",{className:"uppy-Dashboard-progressindicators",children:i.progressindicators.map(w=>i.uppy.getPlugin(w.id).render(i.state))})]})]})]})}var xg={strings:{closeModal:"Close Modal",addMoreFiles:"Add more files",addingMoreFiles:"Adding more files",importFrom:"Import from %{name}",dashboardWindowTitle:"Uppy Dashboard Window (Press escape to close)",dashboardTitle:"Uppy Dashboard",copyLinkToClipboardSuccess:"Link copied to clipboard.",copyLinkToClipboardFallback:"Copy the URL below",copyLink:"Copy link",back:"Back",removeFile:"Remove file",editFile:"Edit file",editImage:"Edit image",editing:"Editing %{file}",error:"Error",finishEditingFile:"Finish editing file",saveChanges:"Save changes",myDevice:"My Device",dropHint:"Drop your files here",uploadComplete:"Upload complete",uploadPaused:"Upload paused",resumeUpload:"Resume upload",pauseUpload:"Pause upload",retryUpload:"Retry upload",cancelUpload:"Cancel upload",xFilesSelected:{0:"%{smart_count} file selected",1:"%{smart_count} files selected"},uploadingXFiles:{0:"Uploading %{smart_count} file",1:"Uploading %{smart_count} files"},processingXFiles:{0:"Processing %{smart_count} file",1:"Processing %{smart_count} files"},poweredBy:"Powered by %{uppy}",addMore:"Add more",editFileWithFilename:"Edit file %{file}",save:"Save",cancel:"Cancel",dropPasteFiles:"Drop files here or %{browseFiles}",dropPasteFolders:"Drop files here or %{browseFolders}",dropPasteBoth:"Drop files here, %{browseFiles} or %{browseFolders}",dropPasteImportFiles:"Drop files here, %{browseFiles} or import from:",dropPasteImportFolders:"Drop files here, %{browseFolders} or import from:",dropPasteImportBoth:"Drop files here, %{browseFiles}, %{browseFolders} or import from:",importFiles:"Import files from:",browseFiles:"browse files",browseFolders:"browse folders",recoveredXFiles:{0:"We could not fully recover 1 file. Please re-select it and resume the upload.",1:"We could not fully recover %{smart_count} files. Please re-select them and resume the upload."},recoveredAllFiles:"We restored all files. You can now resume the upload.",sessionRestored:"Session restored",reSelect:"Re-select",missingRequiredMetaFields:{0:"Missing required meta field: %{fields}.",1:"Missing required meta fields: %{fields}."},takePictureBtn:"Take Picture",recordVideoBtn:"Record Video"}};var Ca=['a[href]:not([tabindex^="-"]):not([inert]):not([aria-hidden])','area[href]:not([tabindex^="-"]):not([inert]):not([aria-hidden])',"input:not([disabled]):not([inert]):not([aria-hidden])","select:not([disabled]):not([inert]):not([aria-hidden])","textarea:not([disabled]):not([inert]):not([aria-hidden])","button:not([disabled]):not([inert]):not([aria-hidden])",'iframe:not([tabindex^="-"]):not([inert]):not([aria-hidden])','object:not([tabindex^="-"]):not([inert]):not([aria-hidden])','embed:not([tabindex^="-"]):not([inert]):not([aria-hidden])','[contenteditable]:not([tabindex^="-"]):not([inert]):not([aria-hidden])','[tabindex]:not([tabindex^="-"]):not([inert]):not([aria-hidden])'];var kg=ye(nu(),1);function Fn(i,e){if(e){let t=i.querySelector(`[data-uppy-paneltype="${e}"]`);if(t)return t}return i}function lh(){let i=!1;return(0,kg.default)((t,r)=>{let s=Fn(t,r),n=s.contains(document.activeElement);if(n&&i)return;let o=s.querySelector("[data-uppy-super-focusable]");n&&!o||(o?(o.focus({preventScroll:!0}),i=!0):(s.querySelector(Ca)?.focus({preventScroll:!0}),i=!1))},260)}function _g(i,e){let t=e[0];t&&(t.focus(),i.preventDefault())}function pE(i,e){let t=e[e.length-1];t&&(t.focus(),i.preventDefault())}function fE(i){return i.contains(document.activeElement)}function ch(i,e,t){let r=Fn(t,e),s=Ki(r.querySelectorAll(Ca)),n=s.indexOf(document.activeElement);fE(r)?i.shiftKey&&n===0?pE(i,s):!i.shiftKey&&n===s.length-1&&_g(i,s):_g(i,s)}function Ag(i,e,t){e===null||ch(i,e,t)}var Cg=9,gE=27;function Fg(){let i={};return i.promise=new Promise((e,t)=>{i.resolve=e,i.reject=t}),i}var bE={target:"body",metaFields:[],thumbnailWidth:280,thumbnailType:"image/jpeg",waitForThumbnailsBeforeUpload:!1,defaultPickerIcon:dn,showLinkToFileUploadResult:!1,showProgressDetails:!1,hideUploadButton:!1,hideCancelButton:!1,hideRetryButton:!1,hidePauseResumeButton:!1,hideProgressAfterFinish:!1,note:null,singleFileFullScreen:!0,disableStatusBar:!1,disableInformer:!1,disableThumbnailGenerator:!1,fileManagerSelectionType:"files",proudlyDisplayPoweredByUppy:!0,showSelectedFiles:!0,showRemoveButtonAfterComplete:!1,showNativePhotoCameraButton:!1,showNativeVideoCameraButton:!1,theme:"light",autoOpen:null,disabled:!1,disableLocalFiles:!1,nativeCameraFacingMode:"",onDragLeave:()=>{},onDragOver:()=>{},onDrop:()=>{},plugins:[],doneButtonHandler:void 0,onRequestCloseModal:null,inline:!1,animateOpenClose:!0,browserBackButtonClose:!1,closeAfterFinish:!1,closeModalOnClickOutside:!1,disablePageScrollWhenModalOpen:!0,trigger:null,width:750,height:550},xr=class extends ni{static VERSION=ng.version;#e;modalName=`uppy-Dashboard-${Wi()}`;superFocus=lh();ifFocusedOnUppyRecently=!1;dashboardIsDisabled;savedScrollPosition;savedActiveElement;resizeObserver;darkModeMediaQuery;makeDashboardInsidesVisibleAnywayTimeout;constructor(e,t){let r=t?.autoOpen??null;super(e,{...bE,...t,autoOpen:r}),this.id=this.opts.id||"Dashboard",this.title="Dashboard",this.type="orchestrator",this.defaultLocale=xg,this.opts.doneButtonHandler===void 0&&(this.opts.doneButtonHandler=()=>{this.uppy.clear(),this.requestCloseModal()}),this.opts.onRequestCloseModal??=()=>this.closeModal(),this.i18nInit()}removeTarget=e=>{let r=this.getPluginState().targets.filter(s=>s.id!==e.id);this.setPluginState({targets:r})};addTarget=e=>{let t=e.id||e.constructor.name,r=e.title||t,s=e.type;if(s!=="acquirer"&&s!=="progressindicator"&&s!=="editor")return this.uppy.log("Dashboard: can only be targeted by plugins of types: acquirer, progressindicator, editor","error"),null;let n={id:t,name:r,type:s},a=this.getPluginState().targets.slice();return a.push(n),this.setPluginState({targets:a}),this.el};hideAllPanels=()=>{let e=this.getPluginState(),t={activePickerPanel:void 0,showAddFilesPanel:!1,activeOverlayType:null,fileCardFor:null,showFileEditor:!1};e.activePickerPanel===t.activePickerPanel&&e.showAddFilesPanel===t.showAddFilesPanel&&e.showFileEditor===t.showFileEditor&&e.activeOverlayType===t.activeOverlayType||(this.setPluginState(t),this.uppy.emit("dashboard:close-panel",e.activePickerPanel?.id))};showPanel=e=>{let{targets:t}=this.getPluginState(),r=t.find(s=>s.type==="acquirer"&&s.id===e);this.setPluginState({activePickerPanel:r,activeOverlayType:"PickerPanel"}),this.uppy.emit("dashboard:show-panel",e)};canEditFile=e=>{let{targets:t}=this.getPluginState();return this.#l(t).some(s=>this.uppy.getPlugin(s.id).canEditFile(e))};openFileEditor=e=>{let{targets:t}=this.getPluginState(),r=this.#l(t);this.setPluginState({showFileEditor:!0,fileCardFor:e.id||null,activeOverlayType:"FileEditor"}),r.forEach(s=>{this.uppy.getPlugin(s.id).selectFile(e)})};closeFileEditor=()=>{let{metaFields:e}=this.getPluginState();e&&e.length>0?this.setPluginState({showFileEditor:!1,activeOverlayType:"FileCard"}):this.setPluginState({showFileEditor:!1,fileCardFor:null,activeOverlayType:"AddFiles"})};saveFileEditor=()=>{let{targets:e}=this.getPluginState();this.#l(e).forEach(r=>{this.uppy.getPlugin(r.id).save()}),this.closeFileEditor()};openModal=()=>{let{promise:e,resolve:t}=Fg();if(this.savedScrollPosition=window.pageYOffset,this.savedActiveElement=document.activeElement,this.opts.disablePageScrollWhenModalOpen&&document.body.classList.add("uppy-Dashboard-isFixed"),this.opts.animateOpenClose&&this.getPluginState().isClosing){let r=()=>{this.setPluginState({isHidden:!1}),this.el.removeEventListener("animationend",r,!1),t()};this.el.addEventListener("animationend",r,!1)}else this.setPluginState({isHidden:!1}),t();return this.opts.browserBackButtonClose&&this.updateBrowserHistory(),document.addEventListener("keydown",this.handleKeyDownInModal),this.uppy.emit("dashboard:modal-open"),e};closeModal=e=>{let t=e?.manualClose??!0,{isHidden:r,isClosing:s}=this.getPluginState();if(r||s)return;let{promise:n,resolve:o}=Fg();if(this.opts.disablePageScrollWhenModalOpen&&document.body.classList.remove("uppy-Dashboard-isFixed"),this.opts.animateOpenClose){this.setPluginState({isClosing:!0});let a=()=>{this.setPluginState({isHidden:!0,isClosing:!1}),this.superFocus.cancel(),this.savedActiveElement.focus(),this.el.removeEventListener("animationend",a,!1),o()};this.el.addEventListener("animationend",a,!1)}else this.setPluginState({isHidden:!0}),this.superFocus.cancel(),this.savedActiveElement.focus(),o();return document.removeEventListener("keydown",this.handleKeyDownInModal),t&&this.opts.browserBackButtonClose&&history.state?.[this.modalName]&&history.back(),this.uppy.emit("dashboard:modal-closed"),n};isModalOpen=()=>!this.getPluginState().isHidden||!1;requestCloseModal=()=>this.opts.onRequestCloseModal?this.opts.onRequestCloseModal():this.closeModal();setDarkModeCapability=e=>{let{capabilities:t}=this.uppy.getState();this.uppy.setState({capabilities:{...t,darkMode:e}})};handleSystemDarkModeChange=e=>{let t=e.matches;this.uppy.log(`[Dashboard] Dark mode is ${t?"on":"off"}`),this.setDarkModeCapability(t)};toggleFileCard=(e,t)=>{let r=this.uppy.getFile(t);e?this.uppy.emit("dashboard:file-edit-start",r):this.uppy.emit("dashboard:file-edit-complete",r),this.setPluginState({fileCardFor:e?t:null,activeOverlayType:e?"FileCard":null})};toggleAddFilesPanel=e=>{this.setPluginState({showAddFilesPanel:e,activeOverlayType:e?"AddFiles":null})};addFiles=e=>{let t=e.map(r=>({source:this.id,name:r.name,type:r.type,data:r,meta:{relativePath:r.relativePath||r.webkitRelativePath||null}}));try{this.uppy.addFiles(t)}catch(r){this.uppy.log(r)}};startListeningToResize=()=>{this.resizeObserver=new ResizeObserver(e=>{let t=e[0],{width:r,height:s}=t.contentRect;this.setPluginState({containerWidth:r,containerHeight:s,areInsidesReadyToBeVisible:!0})}),this.resizeObserver.observe(this.el.querySelector(".uppy-Dashboard-inner")),this.makeDashboardInsidesVisibleAnywayTimeout=setTimeout(()=>{let e=this.getPluginState(),t=!this.opts.inline&&e.isHidden;!e.areInsidesReadyToBeVisible&&!t&&(this.uppy.log("[Dashboard] resize event didn\u2019t fire on time: defaulted to mobile layout","warning"),this.setPluginState({areInsidesReadyToBeVisible:!0}))},1e3)};stopListeningToResize=()=>{this.resizeObserver.disconnect(),clearTimeout(this.makeDashboardInsidesVisibleAnywayTimeout)};recordIfFocusedOnUppyRecently=e=>{this.el.contains(e.target)?this.ifFocusedOnUppyRecently=!0:(this.ifFocusedOnUppyRecently=!1,this.superFocus.cancel())};disableInteractiveElements=e=>{let t=["a[href]","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])",'[role="button"]:not([disabled])'],r=this.#e??Ki(this.el.querySelectorAll(t)).filter(s=>!s.classList.contains("uppy-Dashboard-close"));for(let s of r)s.tagName==="A"?s.setAttribute("aria-disabled",e):s.disabled=e;e?this.#e=r:this.#e=null,this.dashboardIsDisabled=e};updateBrowserHistory=()=>{history.state?.[this.modalName]||history.pushState({...history.state,[this.modalName]:!0},""),window.addEventListener("popstate",this.handlePopState,!1)};handlePopState=e=>{this.isModalOpen()&&(!e.state||!e.state[this.modalName])&&this.closeModal({manualClose:!1}),!this.isModalOpen()&&e.state?.[this.modalName]&&history.back()};handleKeyDownInModal=e=>{e.keyCode===gE&&this.requestCloseModal(),e.keyCode===Cg&&ch(e,this.getPluginState().activeOverlayType,this.el)};handleClickOutside=()=>{this.opts.closeModalOnClickOutside&&this.requestCloseModal()};handlePaste=e=>{this.uppy.iteratePlugins(r=>{r.type==="acquirer"&&r.handleRootPaste?.(e)});let t=Ki(e.clipboardData.files);t.length>0&&(this.uppy.log("[Dashboard] Files pasted"),this.addFiles(t))};handleInputChange=e=>{e.preventDefault();let t=Ki(e.currentTarget.files||[]);t.length>0&&(this.uppy.log("[Dashboard] Files selected through input"),this.addFiles(t))};handleDragOver=e=>{e.preventDefault(),e.stopPropagation();let t=()=>{let o=!0;return this.uppy.iteratePlugins(a=>{a.canHandleRootDrop?.(e)&&(o=!0)}),o},r=()=>{let{types:o}=e.dataTransfer;return o.some(a=>a==="Files")},s=t(),n=r();if(!s&&!n||this.opts.disabled||this.opts.disableLocalFiles&&(n||!s)||!this.uppy.getState().allowNewUpload){e.dataTransfer.dropEffect="none";return}e.dataTransfer.dropEffect="copy",this.setPluginState({isDraggingOver:!0}),this.opts.onDragOver(e)};handleDragLeave=e=>{e.preventDefault(),e.stopPropagation(),this.setPluginState({isDraggingOver:!1}),this.opts.onDragLeave(e)};handleDrop=async e=>{e.preventDefault(),e.stopPropagation(),this.setPluginState({isDraggingOver:!1}),this.uppy.iteratePlugins(n=>{n.type==="acquirer"&&n.handleRootDrop?.(e)});let t=!1,r=n=>{this.uppy.log(n,"error"),t||(this.uppy.info(n.message,"error"),t=!0)};this.uppy.log("[Dashboard] Processing dropped files");let s=await Gu(e.dataTransfer,{logDropError:r});s.length>0&&(this.uppy.log("[Dashboard] Files dropped"),this.addFiles(s)),this.opts.onDrop(e)};handleRequestThumbnail=e=>{this.opts.waitForThumbnailsBeforeUpload||this.uppy.emit("thumbnail:request",e)};handleCancelThumbnail=e=>{this.opts.waitForThumbnailsBeforeUpload||this.uppy.emit("thumbnail:cancel",e)};handleKeyDownInInline=e=>{e.keyCode===Cg&&Ag(e,this.getPluginState().activeOverlayType,this.el)};handlePasteOnBody=e=>{this.el.contains(document.activeElement)&&this.handlePaste(e)};handleComplete=({failed:e})=>{this.opts.closeAfterFinish&&!e?.length&&this.requestCloseModal()};handleCancelRestore=()=>{this.uppy.emit("restore-canceled")};#t=()=>{if(this.opts.disableThumbnailGenerator)return;let e=600,t=this.uppy.getFiles();if(t.length===1){let r=this.uppy.getPlugin(`${this.id}:ThumbnailGenerator`);r?.setOptions({thumbnailWidth:e});let s={...t[0],preview:void 0};r?.requestThumbnail(s).then(()=>{r?.setOptions({thumbnailWidth:this.opts.thumbnailWidth})})}};#i=e=>{let t=e[0],{metaFields:r}=this.getPluginState(),s=r&&r.length>0,n=this.canEditFile(t);s&&this.opts.autoOpen==="metaEditor"?this.toggleFileCard(!0,t.id):n&&this.opts.autoOpen==="imageEditor"&&this.openFileEditor(t)};initEvents=()=>{if(this.opts.trigger&&!this.opts.inline){let e=$u(this.opts.trigger);e?e.forEach(t=>t.addEventListener("click",this.openModal)):this.uppy.log("Dashboard modal trigger not found. Make sure `trigger` is set in Dashboard options, unless you are planning to call `dashboard.openModal()` method yourself","warning")}this.startListeningToResize(),document.addEventListener("paste",this.handlePasteOnBody),this.uppy.on("plugin-added",this.#c),this.uppy.on("plugin-remove",this.removeTarget),this.uppy.on("file-added",this.hideAllPanels),this.uppy.on("dashboard:modal-closed",this.hideAllPanels),this.uppy.on("complete",this.handleComplete),this.uppy.on("files-added",this.#t),this.uppy.on("file-removed",this.#t),document.addEventListener("focus",this.recordIfFocusedOnUppyRecently,!0),document.addEventListener("click",this.recordIfFocusedOnUppyRecently,!0),this.opts.inline&&this.el.addEventListener("keydown",this.handleKeyDownInInline),this.opts.autoOpen&&this.uppy.on("files-added",this.#i)};removeEvents=()=>{let e=$u(this.opts.trigger);!this.opts.inline&&e&&e.forEach(t=>t.removeEventListener("click",this.openModal)),this.stopListeningToResize(),document.removeEventListener("paste",this.handlePasteOnBody),window.removeEventListener("popstate",this.handlePopState,!1),this.uppy.off("plugin-added",this.#c),this.uppy.off("plugin-remove",this.removeTarget),this.uppy.off("file-added",this.hideAllPanels),this.uppy.off("dashboard:modal-closed",this.hideAllPanels),this.uppy.off("complete",this.handleComplete),this.uppy.off("files-added",this.#t),this.uppy.off("file-removed",this.#t),document.removeEventListener("focus",this.recordIfFocusedOnUppyRecently),document.removeEventListener("click",this.recordIfFocusedOnUppyRecently),this.opts.inline&&this.el.removeEventListener("keydown",this.handleKeyDownInInline),this.opts.autoOpen&&this.uppy.off("files-added",this.#i)};superFocusOnEachUpdate=()=>{let e=this.el.contains(document.activeElement),t=document.activeElement===document.body||document.activeElement===null,r=this.uppy.getState().info.length===0,s=!this.opts.inline;r&&(s||e||t&&this.ifFocusedOnUppyRecently)?this.superFocus(this.el,this.getPluginState().activeOverlayType):this.superFocus.cancel()};afterUpdate=()=>{if(this.opts.disabled&&!this.dashboardIsDisabled){this.disableInteractiveElements(!0);return}!this.opts.disabled&&this.dashboardIsDisabled&&this.disableInteractiveElements(!1),this.superFocusOnEachUpdate()};saveFileCard=(e,t)=>{this.uppy.setFileMeta(t,e),this.toggleFileCard(!1,t)};#r=e=>{let t=this.uppy.getPlugin(e.id);return{...e,icon:t.icon||this.opts.defaultPickerIcon,render:t.render}};#s=e=>{let t=this.uppy.getPlugin(e.id);return typeof t.isSupported!="function"?!0:t.isSupported()};#o=e=>e.filter(t=>t.type==="acquirer"&&this.#s(t)).map(this.#r);#n=e=>e.filter(t=>t.type==="progressindicator").map(this.#r);#l=e=>e.filter(t=>t.type==="editor").map(this.#r);render=e=>{let t=this.getPluginState(),{files:r,capabilities:s,allowNewUpload:n}=e,{newFiles:o,uploadStartedFiles:a,completeFiles:l,erroredFiles:h,inProgressFiles:f,inProgressNotPausedFiles:m,processingFiles:w,isUploadStarted:y,isAllComplete:k,isAllPaused:C}=this.uppy.getObjectOfFilesPerState(),O=this.#o(t.targets),R=this.#n(t.targets),_=this.#l(t.targets),F;return this.opts.theme==="auto"?F=s.darkMode?"dark":"light":F=this.opts.theme,["files","folders","both"].indexOf(this.opts.fileManagerSelectionType)<0&&(this.opts.fileManagerSelectionType="files",console.warn(`Unsupported option for "fileManagerSelectionType". Using default of "${this.opts.fileManagerSelectionType}".`)),ah({state:e,isHidden:t.isHidden,files:r,newFiles:o,uploadStartedFiles:a,completeFiles:l,erroredFiles:h,inProgressFiles:f,inProgressNotPausedFiles:m,processingFiles:w,isUploadStarted:y,isAllComplete:k,isAllPaused:C,totalFileCount:Object.keys(r).length,totalProgress:e.totalProgress,allowNewUpload:n,acquirers:O,theme:F,disabled:this.opts.disabled,disableLocalFiles:this.opts.disableLocalFiles,direction:this.opts.direction,activePickerPanel:t.activePickerPanel,showFileEditor:t.showFileEditor,saveFileEditor:this.saveFileEditor,closeFileEditor:this.closeFileEditor,disableInteractiveElements:this.disableInteractiveElements,animateOpenClose:this.opts.animateOpenClose,isClosing:t.isClosing,progressindicators:R,editors:_,autoProceed:this.uppy.opts.autoProceed,id:this.id,closeModal:this.requestCloseModal,handleClickOutside:this.handleClickOutside,handleInputChange:this.handleInputChange,handlePaste:this.handlePaste,inline:this.opts.inline,showPanel:this.showPanel,hideAllPanels:this.hideAllPanels,i18n:this.i18n,i18nArray:this.i18nArray,uppy:this.uppy,note:this.opts.note,recoveredState:e.recoveredState,metaFields:t.metaFields,resumableUploads:s.resumableUploads||!1,individualCancellation:s.individualCancellation,isMobileDevice:s.isMobileDevice,fileCardFor:t.fileCardFor,toggleFileCard:this.toggleFileCard,toggleAddFilesPanel:this.toggleAddFilesPanel,showAddFilesPanel:t.showAddFilesPanel,saveFileCard:this.saveFileCard,openFileEditor:this.openFileEditor,canEditFile:this.canEditFile,width:this.opts.width,height:this.opts.height,showLinkToFileUploadResult:this.opts.showLinkToFileUploadResult,fileManagerSelectionType:this.opts.fileManagerSelectionType,proudlyDisplayPoweredByUppy:this.opts.proudlyDisplayPoweredByUppy,hideCancelButton:this.opts.hideCancelButton,hideRetryButton:this.opts.hideRetryButton,hidePauseResumeButton:this.opts.hidePauseResumeButton,showRemoveButtonAfterComplete:this.opts.showRemoveButtonAfterComplete,containerWidth:t.containerWidth,containerHeight:t.containerHeight,areInsidesReadyToBeVisible:t.areInsidesReadyToBeVisible,parentElement:this.el,allowedFileTypes:this.uppy.opts.restrictions.allowedFileTypes,maxNumberOfFiles:this.uppy.opts.restrictions.maxNumberOfFiles,requiredMetaFields:this.uppy.opts.restrictions.requiredMetaFields,showSelectedFiles:this.opts.showSelectedFiles,showNativePhotoCameraButton:this.opts.showNativePhotoCameraButton,showNativeVideoCameraButton:this.opts.showNativeVideoCameraButton,nativeCameraFacingMode:this.opts.nativeCameraFacingMode,singleFileFullScreen:this.opts.singleFileFullScreen,handleCancelRestore:this.handleCancelRestore,handleRequestThumbnail:this.handleRequestThumbnail,handleCancelThumbnail:this.handleCancelThumbnail,isDraggingOver:t.isDraggingOver,handleDragOver:this.handleDragOver,handleDragLeave:this.handleDragLeave,handleDrop:this.handleDrop})};#a=()=>{let{plugins:e}=this.opts;e.forEach(t=>{let r=this.uppy.getPlugin(t);r?r.mount(this,r):this.uppy.log(`[Uppy] Dashboard could not find plugin '${t}', make sure to uppy.use() the plugins you are specifying`,"warning")})};#d=()=>{this.uppy.iteratePlugins(this.#c)};#c=e=>{let t=["acquirer","editor"];e&&!e.opts?.target&&t.includes(e.type)&&(this.getPluginState().targets.some(s=>e.id===s.id)||e.mount(this,e))};#h(){let{hideUploadButton:e,hideRetryButton:t,hidePauseResumeButton:r,hideCancelButton:s,showProgressDetails:n,hideProgressAfterFinish:o,locale:a,doneButtonHandler:l}=this.opts;return{hideUploadButton:e,hideRetryButton:t,hidePauseResumeButton:r,hideCancelButton:s,showProgressDetails:n,hideAfterFinish:o,locale:a,doneButtonHandler:l}}#u(){let{thumbnailWidth:e,thumbnailHeight:t,thumbnailType:r,waitForThumbnailsBeforeUpload:s}=this.opts;return{thumbnailWidth:e,thumbnailHeight:t,thumbnailType:r,waitForThumbnailsBeforeUpload:s,lazy:!s}}#f(){return{}}setOptions(e){super.setOptions(e),this.uppy.getPlugin(this.#g())?.setOptions(this.#h()),this.uppy.getPlugin(this.#p())?.setOptions(this.#u())}#g(){return`${this.id}:StatusBar`}#p(){return`${this.id}:ThumbnailGenerator`}#w(){return`${this.id}:Informer`}install=()=>{this.setPluginState({isHidden:!0,fileCardFor:null,activeOverlayType:null,showAddFilesPanel:!1,activePickerPanel:void 0,showFileEditor:!1,metaFields:this.opts.metaFields,targets:[],areInsidesReadyToBeVisible:!1,isDraggingOver:!1});let{inline:e,closeAfterFinish:t}=this.opts;if(e&&t)throw new Error("[Dashboard] `closeAfterFinish: true` cannot be used on an inline Dashboard, because an inline Dashboard cannot be closed at all. Either set `inline: false`, or disable the `closeAfterFinish` option.");let{allowMultipleUploads:r,allowMultipleUploadBatches:s}=this.uppy.opts;(r||s)&&t&&this.uppy.log("[Dashboard] When using `closeAfterFinish`, we recommended setting the `allowMultipleUploadBatches` option to `false` in the Uppy constructor. See https://uppy.io/docs/uppy/#allowMultipleUploads-true","warning");let{target:n}=this.opts;n&&this.mount(n,this),this.opts.disableStatusBar||this.uppy.use(ss,{id:this.#g(),target:this,...this.#h()}),this.opts.disableInformer||this.uppy.use(ts,{id:this.#w(),target:this,...this.#f()}),this.opts.disableThumbnailGenerator||this.uppy.use(xn,{id:this.#p(),...this.#u()}),this.darkModeMediaQuery=typeof window<"u"&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)"):null;let o=this.darkModeMediaQuery?this.darkModeMediaQuery.matches:!1;this.uppy.log(`[Dashboard] Dark mode is ${o?"on":"off"}`),this.setDarkModeCapability(o),this.opts.theme==="auto"&&this.darkModeMediaQuery?.addListener(this.handleSystemDarkModeChange),this.#a(),this.#d(),this.initEvents()};uninstall=()=>{if(!this.opts.disableInformer){let t=this.uppy.getPlugin(`${this.id}:Informer`);t&&this.uppy.removePlugin(t)}if(!this.opts.disableStatusBar){let t=this.uppy.getPlugin(`${this.id}:StatusBar`);t&&this.uppy.removePlugin(t)}if(!this.opts.disableThumbnailGenerator){let t=this.uppy.getPlugin(`${this.id}:ThumbnailGenerator`);t&&this.uppy.removePlugin(t)}let{plugins:e}=this.opts;e.forEach(t=>{let r=this.uppy.getPlugin(t);r&&r.unmount()}),this.opts.theme==="auto"&&this.darkModeMediaQuery?.removeListener(this.handleSystemDarkModeChange),this.opts.disablePageScrollWhenModalOpen&&document.body.classList.remove("uppy-Dashboard-isFixed"),this.unmount(),this.removeEvents()}};var Pg={name:"@uppy/image-editor",description:"Image editor and cropping UI",version:"3.4.2",license:"MIT",main:"lib/index.js",style:"dist/style.min.css",type:"module",scripts:{build:"tsc --build tsconfig.build.json","build:css":"sass --load-path=../../ src/style.scss dist/style.css && postcss dist/style.css -u cssnano -o dist/style.min.css",typecheck:"tsc --build"},keywords:["file uploader","upload","uppy","uppy-plugin","image editor","cropper","crop","rotate","resize"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"],dependencies:{"@uppy/utils":"^6.2.2",cropperjs:"^1.6.2",preact:"^10.5.13"},peerDependencies:{"@uppy/core":"^4.5.2"},publishConfig:{access:"public"},devDependencies:{cssnano:"^7.0.7",postcss:"^8.5.6","postcss-cli":"^11.0.1",sass:"^1.89.2",typescript:"^5.8.3"}};var Dg=ye(Og(),1);function vE(i,e){let t=i.width/e.width,r=i.height/e.height,s=Math.min(t,r),n=e.width*s,o=e.height*s,a=(i.width-n)/2,l=(i.height-o)/2;return{width:n,height:o,left:a,top:l}}var Rg=vE;function wE(i){return i*(Math.PI/180)}function SE(i,e,t){let r=Math.abs(wE(t));return Math.max((Math.sin(r)*i+Math.cos(r)*e)/e,(Math.sin(r)*e+Math.cos(r)*i)/i)}var Lg=SE;function EE(i,e,t){return e.left<i.left?{left:i.left,width:t.width}:e.top<i.top?{top:i.top,height:t.height}:e.left+e.width>i.left+i.width?{left:i.left+i.width-t.width,width:t.width}:e.top+e.height>i.top+i.height?{top:i.top+i.height-t.height,height:t.height}:null}var Mg=EE;function TE(i,e,t){return e.left<i.left?{left:i.left,width:t.left+t.width-i.left}:e.top<i.top?{top:i.top,height:t.top+t.height-i.top}:e.left+e.width>i.left+i.width?{left:t.left,width:i.left+i.width-t.left}:e.top+e.height>i.top+i.height?{top:t.top,height:i.top+i.height-t.top}:null}var Ig=TE;var Pn=class extends we{imgElement;cropper;constructor(e){super(e),this.state={angle90Deg:0,angleGranular:0,prevCropboxData:null},this.storePrevCropboxData=this.storePrevCropboxData.bind(this),this.limitCropboxMovement=this.limitCropboxMovement.bind(this)}componentDidMount(){let{opts:e,storeCropperInstance:t}=this.props;this.cropper=new Dg.default(this.imgElement,e.cropperOptions),this.imgElement.addEventListener("cropstart",this.storePrevCropboxData),this.imgElement.addEventListener("cropend",this.limitCropboxMovement),t(this.cropper)}componentWillUnmount(){this.cropper.destroy(),this.imgElement.removeEventListener("cropstart",this.storePrevCropboxData),this.imgElement.removeEventListener("cropend",this.limitCropboxMovement)}storePrevCropboxData(){this.setState({prevCropboxData:this.cropper.getCropBoxData()})}limitCropboxMovement(e){let t=this.cropper.getCanvasData(),r=this.cropper.getCropBoxData(),{prevCropboxData:s}=this.state;if(e.detail.action==="all"){let n=Mg(t,r,s);n&&this.cropper.setCropBoxData(n)}else{let n=Ig(t,r,s);n&&this.cropper.setCropBoxData(n)}}onRotate90Deg=()=>{let{angle90Deg:e}=this.state,t=e-90;this.setState({angle90Deg:t,angleGranular:0}),this.cropper.scale(1),this.cropper.rotateTo(t);let r=this.cropper.getCanvasData(),s=this.cropper.getContainerData(),n=Rg(s,r);this.cropper.setCanvasData(n),this.cropper.setCropBoxData(n)};onRotateGranular=e=>{let t=Number(e.target.value);this.setState({angleGranular:t});let{angle90Deg:r}=this.state,s=r+t;this.cropper.rotateTo(s);let n=this.cropper.getImageData(),o=Lg(n.naturalWidth,n.naturalHeight,t),a=this.cropper.getImageData().scaleX<0?-o:o;this.cropper.scale(a,o)};renderGranularRotate(){let{i18n:e}=this.props,{angleGranular:t}=this.state;return c("label",{role:"tooltip","aria-label":`${t}\xBA`,"data-microtip-position":"top",className:"uppy-ImageCropper-rangeWrapper",children:c("input",{className:"uppy-ImageCropper-range uppy-u-reset",type:"range",onInput:this.onRotateGranular,onChange:this.onRotateGranular,value:t,min:"-45",max:"45","aria-label":e("rotate")})})}renderRevert(){let{i18n:e,opts:t}=this.props;return c("button",{"data-microtip-position":"top",type:"button",className:"uppy-u-reset uppy-c-btn","aria-label":e("revert"),onClick:()=>{this.cropper.reset(),this.cropper.setAspectRatio(t.cropperOptions.initialAspectRatio),this.setState({angle90Deg:0,angleGranular:0})},children:c("svg",{"aria-hidden":"true",className:"uppy-c-icon",width:"24",height:"24",viewBox:"0 0 24 24",children:[c("path",{d:"M0 0h24v24H0z",fill:"none"}),c("path",{d:"M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z"})]})})}renderRotate(){let{i18n:e}=this.props;return c("button",{"data-microtip-position":"top",type:"button",className:"uppy-u-reset uppy-c-btn","aria-label":e("rotate"),onClick:this.onRotate90Deg,children:c("svg",{"aria-hidden":"true",className:"uppy-c-icon",width:"24",height:"24",viewBox:"0 0 24 24",children:[c("path",{d:"M0 0h24v24H0V0zm0 0h24v24H0V0z",fill:"none"}),c("path",{d:"M14 10a2 2 0 012 2v7a2 2 0 01-2 2H6a2 2 0 01-2-2v-7a2 2 0 012-2h8zm0 1.75H6a.25.25 0 00-.243.193L5.75 12v7a.25.25 0 00.193.243L6 19.25h8a.25.25 0 00.243-.193L14.25 19v-7a.25.25 0 00-.193-.243L14 11.75zM12 .76V4c2.3 0 4.61.88 6.36 2.64a8.95 8.95 0 012.634 6.025L21 13a1 1 0 01-1.993.117L19 13h-.003a6.979 6.979 0 00-2.047-4.95 6.97 6.97 0 00-4.652-2.044L12 6v3.24L7.76 5 12 .76z"})]})})}renderFlip(){let{i18n:e}=this.props;return c("button",{"data-microtip-position":"top",type:"button",className:"uppy-u-reset uppy-c-btn","aria-label":e("flipHorizontal"),onClick:()=>this.cropper.scaleX(-this.cropper.getData().scaleX||-1),children:c("svg",{"aria-hidden":"true",className:"uppy-c-icon",width:"24",height:"24",viewBox:"0 0 24 24",children:[c("path",{d:"M0 0h24v24H0z",fill:"none"}),c("path",{d:"M15 21h2v-2h-2v2zm4-12h2V7h-2v2zM3 5v14c0 1.1.9 2 2 2h4v-2H5V5h4V3H5c-1.1 0-2 .9-2 2zm16-2v2h2c0-1.1-.9-2-2-2zm-8 20h2V1h-2v22zm8-6h2v-2h-2v2zM15 5h2V3h-2v2zm4 8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2z"})]})})}renderZoomIn(){let{i18n:e}=this.props;return c("button",{"data-microtip-position":"top",type:"button",className:"uppy-u-reset uppy-c-btn","aria-label":e("zoomIn"),onClick:()=>this.cropper.zoom(.1),children:c("svg",{"aria-hidden":"true",className:"uppy-c-icon",height:"24",viewBox:"0 0 24 24",width:"24",children:[c("path",{d:"M0 0h24v24H0V0z",fill:"none"}),c("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"}),c("path",{d:"M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z"})]})})}renderZoomOut(){let{i18n:e}=this.props;return c("button",{"data-microtip-position":"top",type:"button",className:"uppy-u-reset uppy-c-btn","aria-label":e("zoomOut"),onClick:()=>this.cropper.zoom(-.1),children:c("svg",{"aria-hidden":"true",className:"uppy-c-icon",width:"24",height:"24",viewBox:"0 0 24 24",children:[c("path",{d:"M0 0h24v24H0V0z",fill:"none"}),c("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM7 9h5v1H7z"})]})})}renderCropSquare(){let{i18n:e}=this.props;return c("button",{"data-microtip-position":"top",type:"button",className:"uppy-u-reset uppy-c-btn","aria-label":e("aspectRatioSquare"),onClick:()=>this.cropper.setAspectRatio(1),children:c("svg",{"aria-hidden":"true",className:"uppy-c-icon",width:"24",height:"24",viewBox:"0 0 24 24",children:[c("path",{d:"M0 0h24v24H0z",fill:"none"}),c("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"})]})})}renderCropWidescreen(){let{i18n:e}=this.props;return c("button",{"data-microtip-position":"top",type:"button",className:"uppy-u-reset uppy-c-btn","aria-label":e("aspectRatioLandscape"),onClick:()=>this.cropper.setAspectRatio(16/9),children:c("svg",{"aria-hidden":"true",className:"uppy-c-icon",width:"24",height:"24",viewBox:"0 0 24 24",children:[c("path",{d:"M 19,4.9999992 V 17.000001 H 4.9999998 V 6.9999992 H 19 m 0,-2 H 4.9999998 c -1.0999999,0 -1.9999999,0.9000001 -1.9999999,2 V 17.000001 c 0,1.1 0.9,2 1.9999999,2 H 19 c 1.1,0 2,-0.9 2,-2 V 6.9999992 c 0,-1.0999999 -0.9,-2 -2,-2 z"}),c("path",{fill:"none",d:"M0 0h24v24H0z"})]})})}renderCropWidescreenVertical(){let{i18n:e}=this.props;return c("button",{"data-microtip-position":"top",type:"button","aria-label":e("aspectRatioPortrait"),className:"uppy-u-reset uppy-c-btn",onClick:()=>this.cropper.setAspectRatio(9/16),children:c("svg",{"aria-hidden":"true",className:"uppy-c-icon",width:"24",height:"24",viewBox:"0 0 24 24",children:[c("path",{d:"M 19.000001,19 H 6.999999 V 5 h 10.000002 v 14 m 2,0 V 5 c 0,-1.0999999 -0.9,-1.9999999 -2,-1.9999999 H 6.999999 c -1.1,0 -2,0.9 -2,1.9999999 v 14 c 0,1.1 0.9,2 2,2 h 10.000002 c 1.1,0 2,-0.9 2,-2 z"}),c("path",{d:"M0 0h24v24H0z",fill:"none"})]})})}render(){let{currentImage:e,opts:t}=this.props,{actions:r}=t,s=URL.createObjectURL(e.data);return c("div",{className:"uppy-ImageCropper",children:[c("div",{className:"uppy-ImageCropper-container",children:c("img",{className:"uppy-ImageCropper-image",alt:e.name,src:s,ref:n=>{this.imgElement=n}})}),c("div",{className:"uppy-ImageCropper-controls",children:[r.revert&&this.renderRevert(),r.rotate&&this.renderRotate(),r.granularRotate&&this.renderGranularRotate(),r.flip&&this.renderFlip(),r.zoomIn&&this.renderZoomIn(),r.zoomOut&&this.renderZoomOut(),r.cropSquare&&this.renderCropSquare(),r.cropWidescreen&&this.renderCropWidescreen(),r.cropWidescreenVertical&&this.renderCropWidescreenVertical()]})]})}};var Ng={strings:{revert:"Reset",rotate:"Rotate 90\xB0",zoomIn:"Zoom in",zoomOut:"Zoom out",flipHorizontal:"Flip horizontally",aspectRatioSquare:"Crop square",aspectRatioLandscape:"Crop landscape (16:9)",aspectRatioPortrait:"Crop portrait (9:16)"}};var Bg={viewMode:0,background:!1,autoCropArea:1,responsive:!0,minCropBoxWidth:70,minCropBoxHeight:70,croppedCanvasOptions:{},initialAspectRatio:0},Ug={revert:!0,rotate:!0,granularRotate:!0,flip:!0,zoomIn:!0,zoomOut:!0,cropSquare:!0,cropWidescreen:!0,cropWidescreenVertical:!0},xE={quality:.8,actions:Ug,cropperOptions:Bg},hs=class extends ni{static VERSION=Pg.version;cropper;constructor(e,t){super(e,{...xE,...t,actions:{...Ug,...t?.actions},cropperOptions:{...Bg,...t?.cropperOptions}}),this.id=this.opts.id||"ImageEditor",this.title="Image Editor",this.type="editor",this.defaultLocale=Ng,this.i18nInit()}canEditFile(e){if(!e.type||e.isRemote)return!1;let t=e.type.split("/")[1];return!!/^(jpe?g|gif|png|bmp|webp)$/.test(t)}save=()=>{let e=s=>{let{currentImage:n}=this.getPluginState();this.uppy.setFileState(n.id,{data:new File([s],n.name??this.i18n("unnamed"),{type:s.type}),size:s.size,preview:void 0});let o=this.uppy.getFile(n.id);this.uppy.emit("thumbnail:request",o),this.setPluginState({currentImage:o}),this.uppy.emit("file-editor:complete",o)},{currentImage:t}=this.getPluginState(),r=this.cropper.getCroppedCanvas({});r.width%2!==0&&this.cropper.setData({width:r.width-1}),r.height%2!==0&&this.cropper.setData({height:r.height-1}),this.cropper.getCroppedCanvas(this.opts.cropperOptions.croppedCanvasOptions).toBlob(e,t.type,this.opts.quality)};storeCropperInstance=e=>{this.cropper=e};selectFile=e=>{this.uppy.emit("file-editor:start",e),this.setPluginState({currentImage:e})};install(){this.setPluginState({currentImage:null});let{target:e}=this.opts;e&&this.mount(e,this)}uninstall(){let{currentImage:e}=this.getPluginState();if(e){let t=this.uppy.getFile(e.id);this.uppy.emit("file-editor:cancel",t)}this.unmount()}render(){let{currentImage:e}=this.getPluginState();return e===null||e.isRemote?null:c(Pn,{currentImage:e,storeCropperInstance:this.storeCropperInstance,save:this.save,opts:this.opts,i18n:this.i18n})}};var On=class{#e;#t=[];constructor(e){this.#e=e}on(e,t){return this.#t.push([e,t]),this.#e.on(e,t)}remove(){for(let[e,t]of this.#t.splice(0))this.#e.off(e,t)}onFilePause(e,t){this.on("upload-pause",(r,s)=>{e===r?.id&&t(s)})}onFileRemove(e,t){this.on("file-removed",r=>{e===r.id&&t(r.id)})}onPause(e,t){this.on("upload-pause",(r,s)=>{e===r?.id&&t(s)})}onRetry(e,t){this.on("upload-retry",r=>{e===r?.id&&t()})}onRetryAll(e,t){this.on("retry-all",()=>{this.#e.getFile(e)&&t()})}onPauseAll(e,t){this.on("pause-all",()=>{this.#e.getFile(e)&&t()})}onCancelAll(e,t){this.on("cancel-all",(...r)=>{this.#e.getFile(e)&&t(...r)})}onResumeAll(e,t){this.on("resume-all",()=>{this.#e.getFile(e)&&t()})}};function kE(i){return new Error("Cancelled",{cause:i})}function zg(i){if(i!=null){let e=()=>this.abort(i.reason);i.addEventListener("abort",e,{once:!0});let t=()=>{i.removeEventListener("abort",e)};this.then?.(t,t)}return this}var Fa=class{#e=0;#t=[];#i=!1;#r;#s=1;#o;#n;limit;constructor(e){typeof e!="number"||e===0?this.limit=1/0:this.limit=e}#l(e){this.#e+=1;let t=!1,r;try{r=e()}catch(s){throw this.#e-=1,s}return{abort:s=>{t||(t=!0,this.#e-=1,r?.(s),this.#a())},done:()=>{t||(t=!0,this.#e-=1,this.#a())}}}#a(){queueMicrotask(()=>this.#d())}#d(){if(this.#i||this.#e>=this.limit||this.#t.length===0)return;let e=this.#t.shift();if(e==null)throw new Error("Invariant violation: next is null");let t=this.#l(e.fn);e.abort=t.abort,e.done=t.done}#c(e,t){let r={fn:e,priority:t?.priority||0,abort:()=>{this.#h(r)},done:()=>{throw new Error("Cannot mark a queued request as done: this indicates a bug")}},s=this.#t.findIndex(n=>r.priority>n.priority);return s===-1?this.#t.push(r):this.#t.splice(s,0,r),r}#h(e){let t=this.#t.indexOf(e);t!==-1&&this.#t.splice(t,1)}run(e,t){return!this.#i&&this.#e<this.limit?this.#l(e):this.#c(e,t)}wrapSyncFunction(e,t){return(...r)=>{let s=this.run(()=>(e(...r),queueMicrotask(()=>s.done()),()=>{}),t);return{abortOn:zg,abort(){s.abort()}}}}wrapPromiseFunction(e,t){return(...r)=>{let s,n=new Promise((o,a)=>{s=this.run(()=>{let l,h;try{h=Promise.resolve(e(...r))}catch(f){h=Promise.reject(f)}return h.then(f=>{l?a(l):(s.done(),o(f))},f=>{l?a(l):(s.done(),a(f))}),f=>{l=kE(f)}},t)});return n.abort=o=>{s.abort(o)},n.abortOn=zg,n}}resume(){this.#i=!1,clearTimeout(this.#r);for(let e=0;e<this.limit;e++)this.#a()}#u=()=>this.resume();pause(e=null){this.#i=!0,clearTimeout(this.#r),e!=null&&(this.#r=setTimeout(this.#u,e))}rateLimit(e){clearTimeout(this.#n),this.pause(e),this.limit>1&&Number.isFinite(this.limit)&&(this.#o=this.limit-1,this.limit=this.#s,this.#n=setTimeout(this.#f,e))}#f=()=>{if(this.#i){this.#n=setTimeout(this.#f,0);return}this.#s=this.limit,this.limit=Math.ceil((this.#o+this.#s)/2);for(let e=this.#s;e<=this.limit;e++)this.#a();this.#o-this.#s>3?this.#n=setTimeout(this.#f,2e3):this.#s=Math.floor(this.#s/2)};get isPaused(){return this.#i}},Pa=Symbol("__queue");var dh=class extends Error{cause;isNetworkError;request;constructor(e,t=null){super("This looks like a network error, the endpoint might be blocked by an internet provider or a firewall."),this.cause=e,this.isNetworkError=!0,this.request=t}},Rn=dh;function _E(i){return i?i.readyState!==0&&i.readyState!==4||i.status===0:!1}var Hg=_E;var ph=class{#e;#t=!1;#i;#r;constructor(e,t){this.#r=e,this.#i=()=>t(e)}progress(){this.#t||this.#r>0&&(clearTimeout(this.#e),this.#e=setTimeout(this.#i,this.#r))}done(){this.#t||(clearTimeout(this.#e),this.#e=void 0,this.#t=!0)}},jg=ph;var Oa=()=>{};function qg(i,e={}){let{body:t=null,headers:r={},method:s="GET",onBeforeRequest:n=Oa,onUploadProgress:o=Oa,shouldRetry:a=()=>!0,onAfterResponse:l=Oa,onTimeout:h=Oa,responseType:f,retries:m=3,signal:w=null,timeout:y=3e4,withCredentials:k=!1}=e,C=_=>.3*2**(_-1)*1e3,O=new jg(y,h);function R(_=0){return new Promise(async(F,x)=>{let S=new XMLHttpRequest,A=P=>{a(S)&&_<m?setTimeout(()=>{R(_+1).then(F,x)},C(_)):(O.done(),x(P))};S.open(s,i,!0),S.withCredentials=k,f&&(S.responseType=f),w?.addEventListener("abort",()=>{S.abort(),x(new DOMException("Aborted","AbortError"))}),S.onload=async()=>{try{await l(S,_)}catch(P){P.request=S,A(P);return}S.status>=200&&S.status<300?(O.done(),F(S)):a(S)&&_<m?setTimeout(()=>{R(_+1).then(F,x)},C(_)):(O.done(),x(new Rn(S.statusText,S)))},S.onerror=()=>A(new Rn(S.statusText,S)),S.upload.onprogress=P=>{O.progress(),o(P)},r&&Object.keys(r).forEach(P=>{S.setRequestHeader(P,r[P])}),await n(S,_),S.send(t)})}return R()}function $g(i){let e=t=>"error"in t&&!!t.error;return i.filter(t=>!e(t))}function Vg(i){return i.filter(e=>!e.progress?.uploadStarted||!e.isRestored)}function Ra(i,e){return i===!0?Object.keys(e):Array.isArray(i)?i:[]}var Wg={strings:{uploadStalled:"Upload has not made any progress for %{seconds} seconds. You may want to retry it."}};function Ai(i,e){if(!{}.hasOwnProperty.call(i,e))throw new TypeError("attempted to use private field on non-instance");return i}var AE=0;function ps(i){return"__private_"+AE+++"_"+i}var CE={version:"4.3.3"};function FE(i,e){let t=e;return t||(t=new Error("Upload error")),typeof t=="string"&&(t=new Error(t)),t instanceof Error||(t=Object.assign(new Error("Upload error"),{data:t})),Hg(i)?(t=new Rn(t,i),t):(t.request=i,t)}function Gg(i){return i.data.slice(0,i.data.size,i.meta.type)}var PE={formData:!0,fieldName:"file",method:"post",allowedMetaFields:!0,bundle:!1,headers:{},timeout:30*1e3,limit:5,withCredentials:!1,responseType:""},kr=ps("getFetcher"),gh=ps("uploadLocalFile"),fh=ps("uploadBundle"),bh=ps("getCompanionClientArgs"),mh=ps("uploadFiles"),Ln=ps("handleUpload"),ds=class extends ji{constructor(e,t){if(super(e,{...PE,fieldName:t.bundle?"files[]":"file",...t}),Object.defineProperty(this,mh,{value:ME}),Object.defineProperty(this,bh,{value:LE}),Object.defineProperty(this,fh,{value:RE}),Object.defineProperty(this,gh,{value:OE}),Object.defineProperty(this,kr,{writable:!0,value:void 0}),Object.defineProperty(this,Ln,{writable:!0,value:async r=>{if(r.length===0){this.uppy.log("[XHRUpload] No files to upload!");return}this.opts.limit===0&&!this.opts[Pa]&&this.uppy.log("[XHRUpload] When uploading multiple files at once, consider setting the `limit` option (to `10` for example), to limit the number of concurrent uploads, which helps prevent memory and network issues: https://uppy.io/docs/xhr-upload/#limit-0","warning"),this.uppy.log("[XHRUpload] Uploading...");let s=this.uppy.getFilesByIds(r),n=$g(s),o=Vg(n);if(this.uppy.emit("upload-start",o),this.opts.bundle){if(n.some(l=>l.isRemote))throw new Error("Can\u2019t upload remote files when the `bundle: true` option is set");if(typeof this.opts.headers=="function")throw new TypeError("`headers` may not be a function when the `bundle: true` option is set");await Ai(this,fh)[fh](n)}else await Ai(this,mh)[mh](n)}}),this.type="uploader",this.id=this.opts.id||"XHRUpload",this.defaultLocale=Wg,this.i18nInit(),Pa in this.opts?this.requests=this.opts[Pa]:this.requests=new Fa(this.opts.limit),this.opts.bundle&&!this.opts.formData)throw new Error("`opts.formData` must be true when `opts.bundle` is enabled.");if(this.opts.bundle&&typeof this.opts.headers=="function")throw new Error("`opts.headers` can not be a function when the `bundle: true` option is set.");if(t?.allowedMetaFields===void 0&&"metaFields"in this.opts)throw new Error("The `metaFields` option has been renamed to `allowedMetaFields`.");this.uploaderEvents=Object.create(null),Ai(this,kr)[kr]=r=>async(s,n)=>{try{var o,a,l;let m=await qg(s,{...n,onBeforeRequest:(k,C)=>{var O,R;return(O=(R=this.opts).onBeforeRequest)==null?void 0:O.call(R,k,C,r)},shouldRetry:this.opts.shouldRetry,onAfterResponse:this.opts.onAfterResponse,onTimeout:k=>{let C=Math.ceil(k/1e3),O=new Error(this.i18n("uploadStalled",{seconds:C}));this.uppy.emit("upload-stalled",O,r)},onUploadProgress:k=>{if(k.lengthComputable)for(let{id:O}of r){var C;let R=this.uppy.getFile(O);this.uppy.emit("upload-progress",R,{uploadStarted:(C=R.progress.uploadStarted)!=null?C:0,bytesUploaded:k.loaded/k.total*R.size,bytesTotal:R.size})}}}),w=await((o=(a=this.opts).getResponseData)==null?void 0:o.call(a,m));if(m.responseType==="json"){var h;(h=w)!=null||(w=m.response)}else try{var f;(f=w)!=null||(w=JSON.parse(m.responseText))}catch(k){throw new Error("@uppy/xhr-upload expects a JSON response (with a `url` property). To parse non-JSON responses, use `getResponseData` to turn your response into JSON.",{cause:k})}let y=typeof((l=w)==null?void 0:l.url)=="string"?w.url:void 0;for(let{id:k}of r)this.uppy.emit("upload-success",this.uppy.getFile(k),{status:m.status,body:w,uploadURL:y});return m}catch(m){if(m.name==="AbortError")return;let w=m.request;for(let y of r)this.uppy.emit("upload-error",this.uppy.getFile(y.id),FE(w,m),w);throw m}}}getOptions(e){let t=this.uppy.getState().xhrUpload,{headers:r}=this.opts,s={...this.opts,...t||{},...e.xhrUpload||{},headers:{}};return typeof r=="function"?s.headers=r(e):Object.assign(s.headers,this.opts.headers),t&&Object.assign(s.headers,t.headers),e.xhrUpload&&Object.assign(s.headers,e.xhrUpload.headers),s}addMetadata(e,t,r){Ra(r.allowedMetaFields,t).forEach(n=>{let o=t[n];Array.isArray(o)?o.forEach(a=>e.append(n,a)):e.append(n,o)})}createFormDataUpload(e,t){let r=new FormData;this.addMetadata(r,e.meta,t);let s=Gg(e);return e.name?r.append(t.fieldName,s,e.meta.name):r.append(t.fieldName,s),r}createBundledUpload(e,t){let r=new FormData,{meta:s}=this.uppy.getState();return this.addMetadata(r,s,t),e.forEach(n=>{let o=this.getOptions(n),a=Gg(n);n.name?r.append(o.fieldName,a,n.name):r.append(o.fieldName,a)}),r}install(){if(this.opts.bundle){let{capabilities:e}=this.uppy.getState();this.uppy.setState({capabilities:{...e,individualCancellation:!1}})}this.uppy.addUploader(Ai(this,Ln)[Ln])}uninstall(){if(this.opts.bundle){let{capabilities:e}=this.uppy.getState();this.uppy.setState({capabilities:{...e,individualCancellation:!0}})}this.uppy.removeUploader(Ai(this,Ln)[Ln])}};async function OE(i){let e=new On(this.uppy),t=new AbortController,r=this.requests.wrapPromiseFunction(async()=>{let s=this.getOptions(i),n=Ai(this,kr)[kr]([i]),o=s.formData?this.createFormDataUpload(i,s):i.data;return n(s.endpoint,{...s,body:o,signal:t.signal})});e.onFileRemove(i.id,()=>t.abort()),e.onCancelAll(i.id,()=>{t.abort()});try{await r().abortOn(t.signal)}catch(s){if(s.message!=="Cancelled")throw s}finally{e.remove()}}async function RE(i){let e=new AbortController,t=this.requests.wrapPromiseFunction(async()=>{var s;let n=(s=this.uppy.getState().xhrUpload)!=null?s:{},o=Ai(this,kr)[kr](i),a=this.createBundledUpload(i,{...this.opts,...n});return o(this.opts.endpoint,{...this.opts,body:a,signal:e.signal})});function r(){e.abort()}this.uppy.once("cancel-all",r);try{await t().abortOn(e.signal)}catch(s){if(s.message!=="Cancelled")throw s}finally{this.uppy.off("cancel-all",r)}}function LE(i){var e;let t=this.getOptions(i),r=Ra(t.allowedMetaFields,i.meta);return{...(e=i.remote)==null?void 0:e.body,protocol:"multipart",endpoint:t.endpoint,size:i.data.size,fieldname:t.fieldName,metadata:Object.fromEntries(r.map(s=>[s,i.meta[s]])),httpMethod:t.method,useFormData:t.formData,headers:t.headers}}async function ME(i){await Promise.allSettled(i.map(e=>{if(e.isRemote){let t=()=>this.requests,r=new AbortController,s=o=>{o.id===e.id&&r.abort()};this.uppy.on("file-removed",s);let n=this.uppy.getRequestClientForFile(e).uploadRemoteFile(e,Ai(this,bh)[bh](e),{signal:r.signal,getQueue:t});return this.requests.wrapSyncFunction(()=>{this.uppy.off("file-removed",s)},{priority:-1})(),n}return Ai(this,gh)[gh](e)}))}ds.VERSION=CE.version;var tt=class{static fromTemplate(i){if(Xr.isSupported)return Xr.sanitize(i,{USE_PROFILES:{html:!0,svg:!0},RETURN_DOM:!0}).children[0];{let e=new DOMParser().parseFromString(i,"text/html").body.children[0];return IE(e)}}};function IE(i){return DE(i),Kg(i),i}function DE(i){let e=i.querySelectorAll("script");for(let t of e)t.remove()}function NE(i,e){let t=e.replace(/\s+/g,"").toLowerCase();if(["src","href","xlink:href"].includes(i)&&(t.includes("javascript:")||t.includes("data:"))||i.startsWith("on"))return!0}function BE(i){let e=i.attributes;for(let{name:t,value:r}of e)NE(t,r)&&i.removeAttribute(t)}function Kg(i){let e=i.children;for(let t of e)BE(t),Kg(t)}var La=class extends ${static values={identifier:String,endpoint:String,maxFileSize:{type:Number,default:null},minFileSize:{type:Number,default:null},maxTotalSize:{type:Number,default:null},maxFileNum:{type:Number,default:null},minFileNum:{type:Number,default:null},allowedFileTypes:{type:Array,default:null},requiredMetaFields:{type:Array,default:[]}};static outlets=["attachment-preview","attachment-preview-container"];connect(){this.uppy||(this.uploadedFiles=[],this.element.style.display="none",this.configureUppy(),this.#l(),this.#n(),this.element.addEventListener("turbo:morph-element",i=>{i.target===this.element&&!this.morphing&&(this.morphing=!0,requestAnimationFrame(()=>{this.#e(),this.morphing=!1}))}))}disconnect(){this.#t()}#e(){this.element.isConnected&&(this.#t(),this.uploadedFiles=[],this.element.style.display="none",this.configureUppy(),this.#l(),this.#n())}#t(){this.uppy&&(this.uppy.destroy(),this.uppy=null),this.triggerContainer&&this.triggerContainer.parentNode&&(this.triggerContainer.parentNode.removeChild(this.triggerContainer),this.triggerContainer=null)}attachmentPreviewOutletConnected(i,e){this.#n()}attachmentPreviewOutletDisconnected(i,e){this.#n()}configureUppy(){this.uppy=new Qo({restrictions:{maxFileSize:this.maxFileSizeValue,minFileSize:this.minFileSizeValue,maxTotalFileSize:this.maxTotalSizeValue,maxNumberOfFiles:this.maxFileNumValue,minNumberOfFiles:this.minFileNumValue,allowedFileTypes:this.allowedFileTypesValue,requiredMetaFields:this.requiredMetaFieldsValue}}).use(xr,{inline:!1,closeAfterFinish:!0}).use(hs,{target:xr}),this.#i(),this.#r()}#i(){this.uppy.use(ds,{endpoint:this.endpointValue})}#r(){this.uppy.on("upload-success",this.#o.bind(this))}#s(){let i=document.documentElement.getAttribute("data-bs-theme")||"auto";this.#u.setOptions({theme:i});let e=null;for(;e=this.uploadedFiles.pop();)this.uppy.removeFile(e.id);this.#u.openModal()}#o(i,e){this.uploadedFiles.push(i),this.multiple||this.attachmentPreviewOutlets.forEach(s=>s.remove());let t=e.body.data,r=e.body.url;this.attachmentPreviewContainerOutlet.element.appendChild(this.#c(t,r))}#n(){if(!this.deleteAllTrigger)return;this.attachmentPreviewOutlets.length>1?(this.deleteAllTrigger.style.display="initial",this.deleteAllTrigger.textContent=`Delete ${this.attachmentPreviewOutlets.length}`):this.deleteAllTrigger.style.display="none"}#l(){this.triggerContainer=document.createElement("div"),this.triggerContainer.className="flex items-center gap-2",this.element.insertAdjacentElement("afterend",this.triggerContainer),this.#a(),this.uploadTrigger&&this.triggerContainer.append(this.uploadTrigger),this.deleteAllTrigger&&this.triggerContainer.append(this.deleteAllTrigger)}#a(){let i=this.multiple?"Choose files":"Choose file";this.uploadTrigger=tt.fromTemplate(`<button type="button" class="text-gray-900 bg-white border border-gray-300 focus:outline-none hover:bg-gray-100 focus:ring-4 focus:ring-gray-200 font-medium rounded-lg text-sm px-5 py-2.5 dark:bg-gray-800 dark:text-white dark:border-gray-600 dark:hover:bg-gray-700 dark:hover:border-gray-600 dark:focus:ring-gray-700 inline-flex items-center">
|
|
98
|
+
this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e.byteLength}`),e.tiff&&await e.ensureChunk(this.ifd0Offset,zm(this.options));let t=this.parseBlock(this.ifd0Offset,"ifd0");return t.size!==0?(this.exifOffset=t.get(34665),this.interopOffset=t.get(40965),this.gpsOffset=t.get(34853),this.xmp=t.get(700),this.iptc=t.get(33723),this.icc=t.get(34675),this.options.sanitize&&(t.delete(34665),t.delete(40965),t.delete(34853),t.delete(700),t.delete(33723),t.delete(34675)),t):void 0}async parseExifBlock(){if(this.exif||(this.ifd0||await this.parseIfd0Block(),this.exifOffset===void 0))return;this.file.tiff&&await this.file.ensureChunk(this.exifOffset,zm(this.options));let e=this.parseBlock(this.exifOffset,"exif");return this.interopOffset||(this.interopOffset=e.get(40965)),this.makerNote=e.get(37500),this.userComment=e.get(37510),this.options.sanitize&&(e.delete(40965),e.delete(37500),e.delete(37510)),this.unpack(e,41728),this.unpack(e,41729),e}unpack(e,t){let r=e.get(t);r&&r.length===1&&e.set(t,r[0])}async parseGpsBlock(){if(this.gps||(this.ifd0||await this.parseIfd0Block(),this.gpsOffset===void 0))return;let e=this.parseBlock(this.gpsOffset,"gps");return e&&e.has(2)&&e.has(4)&&(e.set("latitude",Vm(...e.get(2),e.get(1))),e.set("longitude",Vm(...e.get(4),e.get(3)))),e}async parseInteropBlock(){if(!this.interop&&(this.ifd0||await this.parseIfd0Block(),this.interopOffset!==void 0||this.exif||await this.parseExifBlock(),this.interopOffset!==void 0))return this.parseBlock(this.interopOffset,"interop")}async parseThumbnailBlock(e=!1){if(!this.ifd1&&!this.ifd1Parsed&&(!this.options.mergeOutput||e))return this.findIfd1Offset(),this.ifd1Offset>0&&(this.parseBlock(this.ifd1Offset,"ifd1"),this.ifd1Parsed=!0),this.ifd1}async extractThumbnail(){if(this.headerParsed||this.parseHeader(),this.ifd1Parsed||await this.parseThumbnailBlock(!0),this.ifd1===void 0)return;let e=this.ifd1.get(513),t=this.ifd1.get(514);return this.chunk.getUint8Array(e,t)}get image(){return this.ifd0}get thumbnail(){return this.ifd1}createOutput(){let e,t,r,s={};for(t of Be)if(e=this[t],!Ym(e))if(r=this.canTranslate?this.translateBlock(e,t):Object.fromEntries(e),this.options.mergeOutput){if(t==="ifd1")continue;Object.assign(s,r)}else s[t]=r;return this.makerNote&&(s.makerNote=this.makerNote),this.userComment&&(s.userComment=this.userComment),s}assignToOutput(e,t){if(this.globalOptions.mergeOutput)Object.assign(e,t);else for(let[r,s]of Object.entries(t))this.assignObjectToOutput(e,r,s)}};function Vm(i,e,t,r){var s=i+e/60+t/3600;return r!=="S"&&r!=="W"||(s*=-1),s}ue(bn,"type","tiff"),ue(bn,"headerLength",10),Pt.set("tiff",bn);var eO=Object.freeze({__proto__:null,default:_S,Exifr:cs,fileParsers:Sa,segmentParsers:Pt,fileReaders:En,tagKeys:Tn,tagValues:Hu,tagRevivers:ju,createDictionary:Zm,extendDictionary:Qm,fetchUrlAsArrayBuffer:ba,readBlobAsArrayBuffer:wn,chunkedProps:ns,otherSegments:Ea,segments:Sn,tiffBlocks:Be,segmentsAndBlocks:os,tiffExtractables:as,inheritables:Ta,allFormatters:ls,Options:Er,parse:Jm}),qu={ifd0:!1,ifd1:!1,exif:!1,gps:!1,interop:!1,sanitize:!1,reviveValues:!0,translateKeys:!1,translateValues:!1,mergeOutput:!1},tO=Object.assign({},qu,{firstChunkSize:4e4,gps:[1,2,3,4]});var iO=Object.assign({},qu,{tiff:!1,ifd1:!0,mergeOutput:!1});var OS=Object.assign({},qu,{firstChunkSize:4e4,ifd0:[274]});async function RS(i){let e=new cs(OS);await e.read(i);let t=await e.parse();if(t&&t.ifd0)return t.ifd0[274]}var LS=Object.freeze({1:{dimensionSwapped:!1,scaleX:1,scaleY:1,deg:0,rad:0},2:{dimensionSwapped:!1,scaleX:-1,scaleY:1,deg:0,rad:0},3:{dimensionSwapped:!1,scaleX:1,scaleY:1,deg:180,rad:180*Math.PI/180},4:{dimensionSwapped:!1,scaleX:-1,scaleY:1,deg:180,rad:180*Math.PI/180},5:{dimensionSwapped:!0,scaleX:1,scaleY:-1,deg:90,rad:90*Math.PI/180},6:{dimensionSwapped:!0,scaleX:1,scaleY:1,deg:90,rad:90*Math.PI/180},7:{dimensionSwapped:!0,scaleX:1,scaleY:-1,deg:270,rad:270*Math.PI/180},8:{dimensionSwapped:!0,scaleX:1,scaleY:1,deg:270,rad:270*Math.PI/180}}),mn=!0,gn=!0;if(typeof navigator=="object"){let i=navigator.userAgent;if(i.includes("iPad")||i.includes("iPhone")){let e=i.match(/OS (\d+)_(\d+)/);if(e){let[,t,r]=e;mn=Number(t)+.1*Number(r)<13.4,gn=!1}}else if(i.includes("OS X 10")){let[,e]=i.match(/OS X 10[_.](\d+)/);mn=gn=Number(e)<15}if(i.includes("Chrome/")){let[,e]=i.match(/Chrome\/(\d+)/);mn=gn=Number(e)<81}else if(i.includes("Firefox/")){let[,e]=i.match(/Firefox\/(\d+)/);mn=gn=Number(e)<77}}async function eg(i){let e=await RS(i);return Object.assign({canvas:mn,css:gn},LS[e])}var Bu=class extends Sr{constructor(...e){super(...e),ue(this,"ranges",new Uu),this.byteLength!==0&&this.ranges.add(0,this.byteLength)}_tryExtend(e,t,r){if(e===0&&this.byteLength===0&&r){let s=new DataView(r.buffer||r,r.byteOffset,r.byteLength);this._swapDataView(s)}else{let s=e+t;if(s>this.byteLength){let{dataView:n}=this._extend(s);this._swapDataView(n)}}}_extend(e){let t;t=Xm?Km.allocUnsafe(e):new Uint8Array(e);let r=new DataView(t.buffer,t.byteOffset,t.byteLength);return t.set(new Uint8Array(this.buffer,this.byteOffset,this.byteLength),0),{uintView:t,dataView:r}}subarray(e,t,r=!1){return t=t||this._lengthToEnd(e),r&&this._tryExtend(e,t),this.ranges.add(e,t),super.subarray(e,t)}set(e,t,r=!1){r&&this._tryExtend(t,e.byteLength,e);let s=super.set(e,t);return this.ranges.add(t,s.byteLength),s}async ensureChunk(e,t){this.chunked&&(this.ranges.available(e,t)||await this.readChunk(e,t))}available(e,t){return this.ranges.available(e,t)}},Uu=class{constructor(){ue(this,"list",[])}get length(){return this.list.length}add(e,t,r=0){let s=e+t,n=this.list.filter((o=>Wm(e,o.offset,s)||Wm(e,o.end,s)));if(n.length>0){e=Math.min(e,...n.map((a=>a.offset))),s=Math.max(s,...n.map((a=>a.end))),t=s-e;let o=n.shift();o.offset=e,o.length=t,o.end=s,this.list=this.list.filter((a=>!n.includes(a)))}else this.list.push({offset:e,length:t,end:s})}available(e,t){let r=e+t;return this.list.some((s=>s.offset<=e&&r<=s.end))}};function Wm(i,e,t){return i<=e&&e<=t}var zu=class extends Bu{constructor(e,t){super(0),ue(this,"chunksRead",0),this.input=e,this.options=t}async readWhole(){this.chunked=!1,await this.readChunk(this.nextChunkOffset)}async readChunked(){this.chunked=!0,await this.readChunk(0,this.options.firstChunkSize)}async readNextChunk(e=this.nextChunkOffset){if(this.fullyRead)return this.chunksRead++,!1;let t=this.options.chunkSize,r=await this.readChunk(e,t);return!!r&&r.byteLength===t}async readChunk(e,t){if(this.chunksRead++,(t=this.safeWrapAddress(e,t))!==0)return this._readChunk(e,t)}safeWrapAddress(e,t){return this.size!==void 0&&e+t>this.size?Math.max(0,this.size-e):t}get nextChunkOffset(){if(this.ranges.list.length!==0)return this.ranges.list[0].length}get canReadNextChunk(){return this.chunksRead<this.options.chunkLimit}get fullyRead(){return this.size!==void 0&&this.nextChunkOffset===this.size}read(){return this.options.chunked?this.readChunked():this.readWhole()}close(){}};En.set("blob",class extends zu{async readWhole(){this.chunked=!1;let i=await wn(this.input);this._swapArrayBuffer(i)}readChunked(){return this.chunked=!0,this.size=this.input.size,super.readChunked()}async _readChunk(i,e){let t=e?i+e:void 0,r=this.input.slice(i,t),s=await wn(r);return this.set(s,i,!0)}});var tg={name:"@uppy/thumbnail-generator",description:"Uppy plugin that generates small previews of images to show on your upload UI.",version:"4.2.3",license:"MIT",main:"lib/index.js",type:"module",scripts:{build:"tsc --build tsconfig.build.json",typecheck:"tsc --build",test:"vitest run --environment=jsdom --silent='passed-only'"},keywords:["file uploader","uppy","uppy-plugin","thumbnail","preview","resize"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"],dependencies:{"@uppy/utils":"^6.2.2",exifr:"^7.0.0"},devDependencies:{jsdom:"^26.1.0","namespace-emitter":"2.0.1",typescript:"^5.8.3",vitest:"^3.2.4"},peerDependencies:{"@uppy/core":"^4.5.3"}};var ig={strings:{generatingThumbnails:"Generating thumbnails..."}};function IS(i,e,t){try{i.getContext("2d").getImageData(0,0,1,1)}catch(r){if(r.code===18)return Promise.reject(new Error("cannot read image, probably an svg with external resources"))}return i.toBlob?new Promise(r=>{i.toBlob(r,e,t)}).then(r=>{if(r===null)throw new Error("cannot read image, probably an svg with external resources");return r}):Promise.resolve().then(()=>Bm(i.toDataURL(e,t),{})).then(r=>{if(r===null)throw new Error("could not extract blob, probably an old browser");return r})}function DS(i,e){let t=i.width,r=i.height;(e.deg===90||e.deg===270)&&(t=i.height,r=i.width);let s=document.createElement("canvas");s.width=t,s.height=r;let n=s.getContext("2d");return n.translate(t/2,r/2),e.canvas&&(n.rotate(e.rad),n.scale(e.scaleX,e.scaleY)),n.drawImage(i,-i.width/2,-i.height/2,i.width,i.height),s}function NS(i){let e=i.width/i.height,t=5e6,r=4096,s=Math.floor(Math.sqrt(t*e)),n=Math.floor(t/Math.sqrt(t*e));if(s>r&&(s=r,n=Math.round(s/e)),n>r&&(n=r,s=Math.round(e*n)),i.width>s){let o=document.createElement("canvas");return o.width=s,o.height=n,o.getContext("2d").drawImage(i,0,0,s,n),o}return i}var BS={thumbnailWidth:null,thumbnailHeight:null,thumbnailType:"image/jpeg",waitForThumbnailsBeforeUpload:!1,lazy:!1},xn=class extends ni{static VERSION=tg.version;queue;queueProcessing;defaultThumbnailDimension;thumbnailType;constructor(e,t){if(super(e,{...BS,...t}),this.type="modifier",this.id=this.opts.id||"ThumbnailGenerator",this.title="Thumbnail Generator",this.queue=[],this.queueProcessing=!1,this.defaultThumbnailDimension=200,this.thumbnailType=this.opts.thumbnailType,this.defaultLocale=ig,this.i18nInit(),this.opts.lazy&&this.opts.waitForThumbnailsBeforeUpload)throw new Error("ThumbnailGenerator: The `lazy` and `waitForThumbnailsBeforeUpload` options are mutually exclusive. Please ensure at most one of them is set to `true`.")}createThumbnail(e,t,r){let s=URL.createObjectURL(e.data),n=new Promise((a,l)=>{let h=new Image;h.src=s,h.addEventListener("load",()=>{URL.revokeObjectURL(s),a(h)}),h.addEventListener("error",f=>{URL.revokeObjectURL(s),l(f.error||new Error("Could not create thumbnail"))})}),o=eg(e.data).catch(()=>1);return Promise.all([n,o]).then(([a,l])=>{let h=this.getProportionalDimensions(a,t,r,l.deg),f=DS(a,l),m=this.resizeImage(f,h.width,h.height);return IS(m,this.thumbnailType,80)}).then(a=>URL.createObjectURL(a))}getProportionalDimensions(e,t,r,s){let n=e.width/e.height;if((s===90||s===270)&&(n=e.height/e.width),t!=null){let o=t;return e.width<t&&(o=e.width),{width:o,height:Math.round(o/n)}}if(r!=null){let o=r;return e.height<r&&(o=e.height),{width:Math.round(o*n),height:o}}return{width:this.defaultThumbnailDimension,height:Math.round(this.defaultThumbnailDimension/n)}}resizeImage(e,t,r){let s=NS(e),n=Math.ceil(Math.log2(s.width/t));n<1&&(n=1);let o=t*2**(n-1),a=r*2**(n-1),l=2;for(;n--;){let h=document.createElement("canvas");h.width=o,h.height=a,h.getContext("2d").drawImage(s,0,0,o,a),s=h,o=Math.round(o/l),a=Math.round(a/l)}return s}setPreviewURL(e,t){this.uppy.setFileState(e,{preview:t})}addToQueue(e){this.queue.push(e),this.queueProcessing===!1&&this.processQueue()}processQueue(){if(this.queueProcessing=!0,this.queue.length>0){let e=this.uppy.getFile(this.queue.shift());return e?this.requestThumbnail(e).catch(()=>{}).then(()=>this.processQueue()):(this.uppy.log("[ThumbnailGenerator] file was removed before a thumbnail could be generated, but not removed from the queue. This is probably a bug","error"),Promise.resolve())}return this.queueProcessing=!1,this.uppy.log("[ThumbnailGenerator] Emptied thumbnail queue"),this.uppy.emit("thumbnail:all-generated"),Promise.resolve()}requestThumbnail(e){return ga(e.type)&&!e.isRemote?this.createThumbnail(e,this.opts.thumbnailWidth,this.opts.thumbnailHeight).then(t=>{this.setPreviewURL(e.id,t),this.uppy.log(`[ThumbnailGenerator] Generated thumbnail for ${e.id}`),this.uppy.emit("thumbnail:generated",this.uppy.getFile(e.id),t)}).catch(t=>{this.uppy.log(`[ThumbnailGenerator] Failed thumbnail for ${e.id}:`,"warning"),this.uppy.log(t,"warning"),this.uppy.emit("thumbnail:error",this.uppy.getFile(e.id),t)}):Promise.resolve()}onFileAdded=e=>{!e.preview&&e.data&&ga(e.type)&&!e.isRemote&&this.addToQueue(e.id)};onCancelRequest=e=>{let t=this.queue.indexOf(e.id);t!==-1&&this.queue.splice(t,1)};onFileRemoved=e=>{let t=this.queue.indexOf(e.id);t!==-1&&this.queue.splice(t,1),e.preview&&ma(e.preview)&&URL.revokeObjectURL(e.preview)};onRestored=()=>{this.uppy.getFiles().filter(t=>t.isRestored).forEach(t=>{(!t.preview||ma(t.preview))&&this.addToQueue(t.id)})};onAllFilesRemoved=()=>{this.queue=[]};waitUntilAllProcessed=e=>{e.forEach(r=>{let s=this.uppy.getFile(r);this.uppy.emit("preprocess-progress",s,{mode:"indeterminate",message:this.i18n("generatingThumbnails")})});let t=()=>{e.forEach(r=>{let s=this.uppy.getFile(r);this.uppy.emit("preprocess-complete",s)})};return new Promise(r=>{this.queueProcessing?this.uppy.once("thumbnail:all-generated",()=>{t(),r()}):(t(),r())})};install(){this.uppy.on("file-removed",this.onFileRemoved),this.uppy.on("cancel-all",this.onAllFilesRemoved),this.opts.lazy?(this.uppy.on("thumbnail:request",this.onFileAdded),this.uppy.on("thumbnail:cancel",this.onCancelRequest)):(this.uppy.on("thumbnail:request",this.onFileAdded),this.uppy.on("file-added",this.onFileAdded),this.uppy.on("restored",this.onRestored)),this.opts.waitForThumbnailsBeforeUpload&&this.uppy.addPreProcessor(this.waitUntilAllProcessed)}uninstall(){this.uppy.off("file-removed",this.onFileRemoved),this.uppy.off("cancel-all",this.onAllFilesRemoved),this.opts.lazy?(this.uppy.off("thumbnail:request",this.onFileAdded),this.uppy.off("thumbnail:cancel",this.onCancelRequest)):(this.uppy.off("thumbnail:request",this.onFileAdded),this.uppy.off("file-added",this.onFileAdded),this.uppy.off("restored",this.onRestored)),this.opts.waitForThumbnailsBeforeUpload&&this.uppy.removePreProcessor(this.waitUntilAllProcessed)}};function US(i){if(typeof i=="string"){let e=document.querySelectorAll(i);return e.length===0?null:Array.from(e)}return typeof i=="object"&&Vs(i)?[i]:null}var $u=US;var Ki=Array.from;function Vu(i){let e=Ki(i.files);return Promise.resolve(e)}function xa(i,e,t,{onSuccess:r}){i.readEntries(s=>{let n=[...e,...s];s.length?queueMicrotask(()=>{xa(i,n,t,{onSuccess:r})}):r(n)},s=>{t(s),r(e)})}function rg(i,e){return i==null?i:{kind:i.isFile?"file":i.isDirectory?"directory":void 0,name:i.name,getFile(){return new Promise((t,r)=>i.file(t,r))},async*values(){let t=i.createReader();yield*await new Promise(s=>{xa(t,[],e,{onSuccess:n=>s(n.map(o=>rg(o,e)))})})},isSameEntry:void 0}}async function*sg(i,e,t=void 0){let r=()=>`${e}/${i.name}`;if(i.kind==="file"){let s=await i.getFile();s!=null?(s.relativePath=e?r():null,yield s):t!=null&&(yield t)}else if(i.kind==="directory")for await(let s of i.values())yield*sg(s,e?r():i.name);else t!=null&&(yield t)}async function*Wu(i,e){let t=await Promise.all(Array.from(i.items,async r=>{let s;return s??=rg(typeof r.getAsEntry=="function"?r.getAsEntry():r.webkitGetAsEntry(),e),{fileSystemHandle:s,lastResortFile:r.getAsFile()}}));for(let{lastResortFile:r,fileSystemHandle:s}of t)if(s!=null)try{yield*sg(s,"",r)}catch(n){r!=null?yield r:e(n)}else r!=null&&(yield r)}async function Gu(i,e){let t=e?.logDropError??Function.prototype;try{let r=[];for await(let s of Wu(i,t))r.push(s);return r}catch{return Vu(i)}}var ng={name:"@uppy/dashboard",description:"Universal UI plugin for Uppy.",version:"4.4.3",license:"MIT",main:"lib/index.js",style:"dist/style.min.css",type:"module",scripts:{build:"tsc --build tsconfig.build.json","build:css":"sass --load-path=../../ src/style.scss dist/style.css && postcss dist/style.css -u cssnano -o dist/style.min.css",typecheck:"tsc --build",test:"vitest run --silent='passed-only'","test:e2e":"vitest watch --project browser --browser.headless false"},keywords:["file uploader","uppy","uppy-plugin","dashboard","ui"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"],dependencies:{"@transloadit/prettier-bytes":"^0.3.4","@uppy/informer":"^4.3.2","@uppy/provider-views":"^4.5.2","@uppy/status-bar":"^4.2.3","@uppy/thumbnail-generator":"^4.2.2","@uppy/utils":"^6.2.2",classnames:"^2.2.6",lodash:"^4.17.21",nanoid:"^5.0.9",preact:"^10.5.13","shallow-equal":"^3.0.0"},devDependencies:{"@uppy/core":"^4.5.2","@uppy/google-drive":"^4.4.2","@uppy/status-bar":"^4.2.3","@uppy/url":"^4.3.2","@uppy/webcam":"^4.3.2","@vitest/browser":"^3.2.4",cssnano:"^7.0.7",jsdom:"^26.1.0",postcss:"^8.5.6","postcss-cli":"^11.0.1","resize-observer-polyfill":"^1.5.0",sass:"^1.89.2",typescript:"^5.8.3",vitest:"^3.2.4"},peerDependencies:{"@uppy/core":"^4.5.2"}};function Ku(){let i=document.body;return!(!("draggable"in i)||!("ondragstart"in i&&"ondrop"in i)||!("FormData"in window)||!("FileReader"in window))}var Tg=ye(ht(),1);var Xu=class extends we{fileInput=null;folderInput=null;mobilePhotoFileInput=null;mobileVideoFileInput=null;triggerFileInputClick=()=>{this.fileInput?.click()};triggerFolderInputClick=()=>{this.folderInput?.click()};triggerVideoCameraInputClick=()=>{this.mobileVideoFileInput?.click()};triggerPhotoCameraInputClick=()=>{this.mobilePhotoFileInput?.click()};onFileInputChange=e=>{this.props.handleInputChange(e),e.currentTarget.value=""};renderHiddenInput=(e,t)=>c("input",{className:"uppy-Dashboard-input",hidden:!0,"aria-hidden":"true",tabIndex:-1,webkitdirectory:e,type:"file",name:"files[]",multiple:this.props.maxNumberOfFiles!==1,onChange:this.onFileInputChange,accept:this.props.allowedFileTypes?.join(", "),ref:t});renderHiddenCameraInput=(e,t,r)=>{let n={photo:"image/*",video:"video/*"}[e];return c("input",{className:"uppy-Dashboard-input",hidden:!0,"aria-hidden":"true",tabIndex:-1,type:"file",name:`camera-${e}`,onChange:this.onFileInputChange,capture:t===""?"environment":t,accept:n,ref:r})};renderMyDeviceAcquirer=()=>c("div",{className:"uppy-DashboardTab",role:"presentation","data-uppy-acquirer-id":"MyDevice",children:c("button",{type:"button",className:"uppy-u-reset uppy-c-btn uppy-DashboardTab-btn",role:"tab",tabIndex:0,"data-uppy-super-focusable":!0,onClick:this.triggerFileInputClick,children:[c("div",{className:"uppy-DashboardTab-inner",children:c("svg",{className:"uppy-DashboardTab-iconMyDevice","aria-hidden":"true",focusable:"false",width:"32",height:"32",viewBox:"0 0 32 32",children:c("path",{d:"M8.45 22.087l-1.305-6.674h17.678l-1.572 6.674H8.45zm4.975-12.412l1.083 1.765a.823.823 0 00.715.386h7.951V13.5H8.587V9.675h4.838zM26.043 13.5h-1.195v-2.598c0-.463-.336-.75-.798-.75h-8.356l-1.082-1.766A.823.823 0 0013.897 8H7.728c-.462 0-.815.256-.815.718V13.5h-.956a.97.97 0 00-.746.37.972.972 0 00-.19.81l1.724 8.565c.095.44.484.755.933.755H24c.44 0 .824-.3.929-.727l2.043-8.568a.972.972 0 00-.176-.825.967.967 0 00-.753-.38z",fill:"currentcolor","fill-rule":"evenodd"})})}),c("div",{className:"uppy-DashboardTab-name",children:this.props.i18n("myDevice")})]})});renderPhotoCamera=()=>c("div",{className:"uppy-DashboardTab",role:"presentation","data-uppy-acquirer-id":"MobilePhotoCamera",children:c("button",{type:"button",className:"uppy-u-reset uppy-c-btn uppy-DashboardTab-btn",role:"tab",tabIndex:0,"data-uppy-super-focusable":!0,onClick:this.triggerPhotoCameraInputClick,children:[c("div",{className:"uppy-DashboardTab-inner",children:c("svg",{"aria-hidden":"true",focusable:"false",width:"32",height:"32",viewBox:"0 0 32 32",children:c("path",{d:"M23.5 9.5c1.417 0 2.5 1.083 2.5 2.5v9.167c0 1.416-1.083 2.5-2.5 2.5h-15c-1.417 0-2.5-1.084-2.5-2.5V12c0-1.417 1.083-2.5 2.5-2.5h2.917l1.416-2.167C13 7.167 13.25 7 13.5 7h5c.25 0 .5.167.667.333L20.583 9.5H23.5zM16 11.417a4.706 4.706 0 00-4.75 4.75 4.704 4.704 0 004.75 4.75 4.703 4.703 0 004.75-4.75c0-2.663-2.09-4.75-4.75-4.75zm0 7.825c-1.744 0-3.076-1.332-3.076-3.074 0-1.745 1.333-3.077 3.076-3.077 1.744 0 3.074 1.333 3.074 3.076s-1.33 3.075-3.074 3.075z",fill:"#02B383","fill-rule":"nonzero"})})}),c("div",{className:"uppy-DashboardTab-name",children:this.props.i18n("takePictureBtn")})]})});renderVideoCamera=()=>c("div",{className:"uppy-DashboardTab",role:"presentation","data-uppy-acquirer-id":"MobileVideoCamera",children:c("button",{type:"button",className:"uppy-u-reset uppy-c-btn uppy-DashboardTab-btn",role:"tab",tabIndex:0,"data-uppy-super-focusable":!0,onClick:this.triggerVideoCameraInputClick,children:[c("div",{className:"uppy-DashboardTab-inner",children:c("svg",{"aria-hidden":"true",width:"32",height:"32",viewBox:"0 0 32 32",children:c("path",{fill:"#FF675E",fillRule:"nonzero",d:"m21.254 14.277 2.941-2.588c.797-.313 1.243.818 1.09 1.554-.01 2.094.02 4.189-.017 6.282-.126.915-1.145 1.08-1.58.34l-2.434-2.142c-.192.287-.504 1.305-.738.468-.104-1.293-.028-2.596-.05-3.894.047-.312.381.823.426 1.069.063-.384.206-.744.362-1.09zm-12.939-3.73c3.858.013 7.717-.025 11.574.02.912.129 1.492 1.237 1.351 2.217-.019 2.412.04 4.83-.03 7.239-.17 1.025-1.166 1.59-2.029 1.429-3.705-.012-7.41.025-11.114-.019-.913-.129-1.492-1.237-1.352-2.217.018-2.404-.036-4.813.029-7.214.136-.82.83-1.473 1.571-1.454z "})})}),c("div",{className:"uppy-DashboardTab-name",children:this.props.i18n("recordVideoBtn")})]})});renderBrowseButton=(e,t)=>{let r=this.props.acquirers.length;return c("button",{type:"button",className:"uppy-u-reset uppy-c-btn uppy-Dashboard-browse",onClick:t,"data-uppy-super-focusable":r===0,children:e})};renderDropPasteBrowseTagline=e=>{let t=this.renderBrowseButton(this.props.i18n("browseFiles"),this.triggerFileInputClick),r=this.renderBrowseButton(this.props.i18n("browseFolders"),this.triggerFolderInputClick),s=this.props.fileManagerSelectionType,n=s.charAt(0).toUpperCase()+s.slice(1);return c("div",{class:"uppy-Dashboard-AddFiles-title",children:this.props.disableLocalFiles?this.props.i18n("importFiles"):e>0?this.props.i18nArray(`dropPasteImport${n}`,{browseFiles:t,browseFolders:r,browse:t}):this.props.i18nArray(`dropPaste${n}`,{browseFiles:t,browseFolders:r,browse:t})})};[Symbol.for("uppy test: disable unused locale key warning")](){this.props.i18nArray("dropPasteBoth"),this.props.i18nArray("dropPasteFiles"),this.props.i18nArray("dropPasteFolders"),this.props.i18nArray("dropPasteImportBoth"),this.props.i18nArray("dropPasteImportFiles"),this.props.i18nArray("dropPasteImportFolders")}renderAcquirer=e=>c("div",{className:"uppy-DashboardTab",role:"presentation","data-uppy-acquirer-id":e.id,children:c("button",{type:"button",className:"uppy-u-reset uppy-c-btn uppy-DashboardTab-btn",role:"tab",tabIndex:0,"data-cy":e.id,"aria-controls":`uppy-DashboardContent-panel--${e.id}`,"aria-selected":this.props.activePickerPanel?.id===e.id,"data-uppy-super-focusable":!0,onClick:()=>this.props.showPanel(e.id),children:[c("div",{className:"uppy-DashboardTab-inner",children:e.icon()}),c("div",{className:"uppy-DashboardTab-name",children:e.name})]})});renderAcquirers=e=>{let t=[...e],r=t.splice(e.length-2,e.length);return c(_e,{children:[t.map(s=>this.renderAcquirer(s)),c("span",{role:"presentation",style:{"white-space":"nowrap"},children:r.map(s=>this.renderAcquirer(s))})]})};renderSourcesList=(e,t)=>{let{showNativePhotoCameraButton:r,showNativeVideoCameraButton:s}=this.props,n=[],o="myDevice";t||n.push({key:o,elements:this.renderMyDeviceAcquirer()}),r&&n.push({key:"nativePhotoCameraButton",elements:this.renderPhotoCamera()}),s&&n.push({key:"nativePhotoCameraButton",elements:this.renderVideoCamera()}),n.push(...e.map(f=>({key:f.id,elements:this.renderAcquirer(f)}))),n.length===1&&n[0].key===o&&(n=[]);let l=[...n],h=l.splice(n.length-2,n.length);return c(_e,{children:[this.renderDropPasteBrowseTagline(n.length),c("div",{className:"uppy-Dashboard-AddFiles-list",role:"tablist",children:[l.map(({key:f,elements:m})=>c(_e,{children:m},f)),c("span",{role:"presentation",style:{"white-space":"nowrap"},children:h.map(({key:f,elements:m})=>c(_e,{children:m},f))})]})]})};renderPoweredByUppy(){let{i18nArray:e}=this.props,t=c("span",{children:[c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon uppy-Dashboard-poweredByIcon",width:"11",height:"11",viewBox:"0 0 11 11",children:c("path",{d:"M7.365 10.5l-.01-4.045h2.612L5.5.806l-4.467 5.65h2.604l.01 4.044h3.718z",fillRule:"evenodd"})}),c("span",{className:"uppy-Dashboard-poweredByUppy",children:"Uppy"})]}),r=e("poweredBy",{uppy:t});return c("a",{tabIndex:-1,href:"https://uppy.io",rel:"noreferrer noopener",target:"_blank",className:"uppy-Dashboard-poweredBy",children:r})}render(){let{showNativePhotoCameraButton:e,showNativeVideoCameraButton:t,nativeCameraFacingMode:r}=this.props;return c("div",{className:"uppy-Dashboard-AddFiles",children:[this.renderHiddenInput(!1,s=>{this.fileInput=s}),this.renderHiddenInput(!0,s=>{this.folderInput=s}),e&&this.renderHiddenCameraInput("photo",r,s=>{this.mobilePhotoFileInput=s}),t&&this.renderHiddenCameraInput("video",r,s=>{this.mobileVideoFileInput=s}),this.renderSourcesList(this.props.acquirers,this.props.disableLocalFiles),c("div",{className:"uppy-Dashboard-AddFiles-info",children:[this.props.note&&c("div",{className:"uppy-Dashboard-note",children:this.props.note}),this.props.proudlyDisplayPoweredByUppy&&this.renderPoweredByUppy()]})]})}},ka=Xu;var og=ye(ht(),1);var HS=i=>c("div",{className:(0,og.default)("uppy-Dashboard-AddFilesPanel",i.className),"data-uppy-panelType":"AddFiles","aria-hidden":!i.showAddFilesPanel,children:[c("div",{className:"uppy-DashboardContent-bar",children:[c("div",{className:"uppy-DashboardContent-title",role:"heading","aria-level":1,children:i.i18n("addingMoreFiles")}),c("button",{className:"uppy-DashboardContent-back",type:"button",onClick:()=>i.toggleAddFilesPanel(!1),children:i.i18n("back")})]}),c(ka,{...i})]}),ag=HS;var lg=ye(ht(),1);function jS(i){let e=i.files[i.fileCardFor],t=()=>{i.uppy.emit("file-editor:cancel",e),i.closeFileEditor()};return c("div",{className:(0,lg.default)("uppy-DashboardContent-panel",i.className),role:"tabpanel","data-uppy-panelType":"FileEditor",id:"uppy-DashboardContent-panel--editor",children:[c("div",{className:"uppy-DashboardContent-bar",children:[c("div",{className:"uppy-DashboardContent-title",role:"heading","aria-level":1,children:i.i18nArray("editing",{file:c("span",{className:"uppy-DashboardContent-titleFile",children:e.meta?e.meta.name:e.name})})}),c("button",{className:"uppy-DashboardContent-back",type:"button",onClick:t,children:i.i18n("cancel")}),c("button",{className:"uppy-DashboardContent-save",type:"button",onClick:i.saveFileEditor,children:i.i18n("save")})]}),c("div",{className:"uppy-DashboardContent-panelBody",children:i.editors.map(r=>i.uppy.getPlugin(r.id).render(i.state))})]})}var cg=jS;var ug=ye(ht(),1);function qS(){return c("svg",{"aria-hidden":"true",focusable:"false",width:"25",height:"25",viewBox:"0 0 25 25",children:c("g",{fill:"#686DE0",fillRule:"evenodd",children:[c("path",{d:"M5 7v10h15V7H5zm0-1h15a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1z",fillRule:"nonzero"}),c("path",{d:"M6.35 17.172l4.994-5.026a.5.5 0 0 1 .707 0l2.16 2.16 3.505-3.505a.5.5 0 0 1 .707 0l2.336 2.31-.707.72-1.983-1.97-3.505 3.505a.5.5 0 0 1-.707 0l-2.16-2.159-3.938 3.939-1.409.026z",fillRule:"nonzero"}),c("circle",{cx:"7.5",cy:"9.5",r:"1.5"})]})})}function $S(){return c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"25",height:"25",viewBox:"0 0 25 25",children:c("path",{d:"M9.5 18.64c0 1.14-1.145 2-2.5 2s-2.5-.86-2.5-2c0-1.14 1.145-2 2.5-2 .557 0 1.079.145 1.5.396V7.25a.5.5 0 0 1 .379-.485l9-2.25A.5.5 0 0 1 18.5 5v11.64c0 1.14-1.145 2-2.5 2s-2.5-.86-2.5-2c0-1.14 1.145-2 2.5-2 .557 0 1.079.145 1.5.396V8.67l-8 2v7.97zm8-11v-2l-8 2v2l8-2zM7 19.64c.855 0 1.5-.484 1.5-1s-.645-1-1.5-1-1.5.484-1.5 1 .645 1 1.5 1zm9-2c.855 0 1.5-.484 1.5-1s-.645-1-1.5-1-1.5.484-1.5 1 .645 1 1.5 1z",fill:"#049BCF",fillRule:"nonzero"})})}function VS(){return c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"25",height:"25",viewBox:"0 0 25 25",children:c("path",{d:"M16 11.834l4.486-2.691A1 1 0 0 1 22 10v6a1 1 0 0 1-1.514.857L16 14.167V17a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2.834zM15 9H5v8h10V9zm1 4l5 3v-6l-5 3z",fill:"#19AF67",fillRule:"nonzero"})})}function WS(){return c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"25",height:"25",viewBox:"0 0 25 25",children:c("path",{d:"M9.766 8.295c-.691-1.843-.539-3.401.747-3.726 1.643-.414 2.505.938 2.39 3.299-.039.79-.194 1.662-.537 3.148.324.49.66.967 1.055 1.51.17.231.382.488.629.757 1.866-.128 3.653.114 4.918.655 1.487.635 2.192 1.685 1.614 2.84-.566 1.133-1.839 1.084-3.416.249-1.141-.604-2.457-1.634-3.51-2.707a13.467 13.467 0 0 0-2.238.426c-1.392 4.051-4.534 6.453-5.707 4.572-.986-1.58 1.38-4.206 4.914-5.375.097-.322.185-.656.264-1.001.08-.353.306-1.31.407-1.737-.678-1.059-1.2-2.031-1.53-2.91zm2.098 4.87c-.033.144-.068.287-.104.427l.033-.01-.012.038a14.065 14.065 0 0 1 1.02-.197l-.032-.033.052-.004a7.902 7.902 0 0 1-.208-.271c-.197-.27-.38-.526-.555-.775l-.006.028-.002-.003c-.076.323-.148.632-.186.8zm5.77 2.978c1.143.605 1.832.632 2.054.187.26-.519-.087-1.034-1.113-1.473-.911-.39-2.175-.608-3.55-.608.845.766 1.787 1.459 2.609 1.894zM6.559 18.789c.14.223.693.16 1.425-.413.827-.648 1.61-1.747 2.208-3.206-2.563 1.064-4.102 2.867-3.633 3.62zm5.345-10.97c.088-1.793-.351-2.48-1.146-2.28-.473.119-.564 1.05-.056 2.405.213.566.52 1.188.908 1.859.18-.858.268-1.453.294-1.984z",fill:"#E2514A",fillRule:"nonzero"})})}function GS(){return c("svg",{"aria-hidden":"true",focusable:"false",width:"25",height:"25",viewBox:"0 0 25 25",children:c("path",{d:"M10.45 2.05h1.05a.5.5 0 0 1 .5.5v.024a.5.5 0 0 1-.5.5h-1.05a.5.5 0 0 1-.5-.5V2.55a.5.5 0 0 1 .5-.5zm2.05 1.024h1.05a.5.5 0 0 1 .5.5V3.6a.5.5 0 0 1-.5.5H12.5a.5.5 0 0 1-.5-.5v-.025a.5.5 0 0 1 .5-.5v-.001zM10.45 0h1.05a.5.5 0 0 1 .5.5v.025a.5.5 0 0 1-.5.5h-1.05a.5.5 0 0 1-.5-.5V.5a.5.5 0 0 1 .5-.5zm2.05 1.025h1.05a.5.5 0 0 1 .5.5v.024a.5.5 0 0 1-.5.5H12.5a.5.5 0 0 1-.5-.5v-.024a.5.5 0 0 1 .5-.5zm-2.05 3.074h1.05a.5.5 0 0 1 .5.5v.025a.5.5 0 0 1-.5.5h-1.05a.5.5 0 0 1-.5-.5v-.025a.5.5 0 0 1 .5-.5zm2.05 1.025h1.05a.5.5 0 0 1 .5.5v.024a.5.5 0 0 1-.5.5H12.5a.5.5 0 0 1-.5-.5v-.024a.5.5 0 0 1 .5-.5zm-2.05 1.024h1.05a.5.5 0 0 1 .5.5v.025a.5.5 0 0 1-.5.5h-1.05a.5.5 0 0 1-.5-.5v-.025a.5.5 0 0 1 .5-.5zm2.05 1.025h1.05a.5.5 0 0 1 .5.5v.025a.5.5 0 0 1-.5.5H12.5a.5.5 0 0 1-.5-.5v-.025a.5.5 0 0 1 .5-.5zm-2.05 1.025h1.05a.5.5 0 0 1 .5.5v.025a.5.5 0 0 1-.5.5h-1.05a.5.5 0 0 1-.5-.5v-.025a.5.5 0 0 1 .5-.5zm2.05 1.025h1.05a.5.5 0 0 1 .5.5v.024a.5.5 0 0 1-.5.5H12.5a.5.5 0 0 1-.5-.5v-.024a.5.5 0 0 1 .5-.5zm-1.656 3.074l-.82 5.946c.52.302 1.174.458 1.976.458.803 0 1.455-.156 1.975-.458l-.82-5.946h-2.311zm0-1.025h2.312c.512 0 .946.378 1.015.885l.82 5.946c.056.412-.142.817-.501 1.026-.686.398-1.515.597-2.49.597-.974 0-1.804-.199-2.49-.597a1.025 1.025 0 0 1-.5-1.026l.819-5.946c.07-.507.503-.885 1.015-.885zm.545 6.6a.5.5 0 0 1-.397-.561l.143-.999a.5.5 0 0 1 .495-.429h.74a.5.5 0 0 1 .495.43l.143.998a.5.5 0 0 1-.397.561c-.404.08-.819.08-1.222 0z",fill:"#00C469",fillRule:"nonzero"})})}function KS(){return c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"25",height:"25",viewBox:"0 0 25 25",children:c("g",{fill:"#A7AFB7",fillRule:"nonzero",children:[c("path",{d:"M5.5 22a.5.5 0 0 1-.5-.5v-18a.5.5 0 0 1 .5-.5h10.719a.5.5 0 0 1 .367.16l3.281 3.556a.5.5 0 0 1 .133.339V21.5a.5.5 0 0 1-.5.5h-14zm.5-1h13V7.25L16 4H6v17z"}),c("path",{d:"M15 4v3a1 1 0 0 0 1 1h3V7h-3V4h-1z"})]})})}function XS(){return c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"25",height:"25",viewBox:"0 0 25 25",children:c("path",{d:"M4.5 7h13a.5.5 0 1 1 0 1h-13a.5.5 0 0 1 0-1zm0 3h15a.5.5 0 1 1 0 1h-15a.5.5 0 1 1 0-1zm0 3h15a.5.5 0 1 1 0 1h-15a.5.5 0 1 1 0-1zm0 3h10a.5.5 0 1 1 0 1h-10a.5.5 0 1 1 0-1z",fill:"#5A5E69",fillRule:"nonzero"})})}function Tr(i){let e={color:"#838999",icon:KS()};if(!i)return e;let t=i.split("/")[0],r=i.split("/")[1];return t==="text"?{color:"#5a5e69",icon:XS()}:t==="image"?{color:"#686de0",icon:qS()}:t==="audio"?{color:"#068dbb",icon:$S()}:t==="video"?{color:"#19af67",icon:VS()}:t==="application"&&r==="pdf"?{color:"#e25149",icon:WS()}:t==="application"&&["zip","x-7z-compressed","x-zip-compressed","x-rar-compressed","x-tar","x-gzip","x-apple-diskimage"].indexOf(r)!==-1?{color:"#00C469",icon:GS()}:e}function YS(i){let{tagName:e}=i.target;if(e==="INPUT"||e==="TEXTAREA"){i.stopPropagation();return}i.preventDefault(),i.stopPropagation()}var fi=YS;function kn(i){let{file:e}=i;if(e.preview)return c("img",{draggable:!1,className:"uppy-Dashboard-Item-previewImg",alt:e.name,src:e.preview});let{color:t,icon:r}=Tr(e.type);return c("div",{className:"uppy-Dashboard-Item-previewIconWrap",children:[c("span",{className:"uppy-Dashboard-Item-previewIcon",style:{color:t},children:r}),c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-Dashboard-Item-previewIconBg",width:"58",height:"76",viewBox:"0 0 58 76",children:c("rect",{fill:"#FFF",width:"58",height:"76",rx:"3",fillRule:"evenodd"})})]})}function Yu(i){let{computedMetaFields:e,requiredMetaFields:t,updateMeta:r,form:s,formState:n}=i,o={text:"uppy-u-reset uppy-c-textInput uppy-Dashboard-FileCard-input"};return e.map(a=>{let l=`uppy-Dashboard-FileCard-input-${a.id}`,h=t.includes(a.id);return c("fieldset",{className:"uppy-Dashboard-FileCard-fieldset",children:[c("label",{className:"uppy-Dashboard-FileCard-label",htmlFor:l,children:a.name}),a.render!==void 0?a.render({value:n[a.id],onChange:f=>r(f,a.id),fieldCSSClasses:o,required:h,form:s.id},ki):c("input",{className:o.text,id:l,form:s.id,type:a.type||"text",required:h,value:n[a.id],placeholder:a.placeholder,onInput:f=>r(f.target.value,a.id),"data-uppy-super-focusable":!0})]},a.id)})}function Zu(i){let{files:e,fileCardFor:t,toggleFileCard:r,saveFileCard:s,metaFields:n,requiredMetaFields:o,openFileEditor:a,i18n:l,i18nArray:h,className:f,canEditFile:m}=i,w=()=>typeof n=="function"?n(e[t]):n,y=e[t],k=w()??[],C=m(y),O={};k.forEach(P=>{O[P.id]=y.meta[P.id]??""});let[R,_]=Kt(O),F=Vi(P=>{P.preventDefault(),s(R,t)},[s,R,t]),x=(P,N)=>{_({...R,[N]:P})},S=()=>{r(!1)},[A]=Kt(()=>{let P=document.createElement("form");return P.setAttribute("tabindex","-1"),P.id=Wi(),P});return si(()=>(document.body.appendChild(A),A.addEventListener("submit",F),()=>{A.removeEventListener("submit",F),document.body.removeChild(A)}),[A,F]),c("div",{className:(0,ug.default)("uppy-Dashboard-FileCard",f),"data-uppy-panelType":"FileCard",onDragOver:fi,onDragLeave:fi,onDrop:fi,onPaste:fi,children:[c("div",{className:"uppy-DashboardContent-bar",children:[c("div",{className:"uppy-DashboardContent-title",role:"heading","aria-level":1,children:h("editing",{file:c("span",{className:"uppy-DashboardContent-titleFile",children:y.meta?y.meta.name:y.name})})}),c("button",{className:"uppy-DashboardContent-back",type:"button",form:A.id,title:l("finishEditingFile"),onClick:S,children:l("cancel")})]}),c("div",{className:"uppy-Dashboard-FileCard-inner",children:[c("div",{className:"uppy-Dashboard-FileCard-preview",style:{backgroundColor:Tr(y.type).color},children:[c(kn,{file:y}),C&&c("button",{type:"button",className:"uppy-u-reset uppy-c-btn uppy-Dashboard-FileCard-edit",onClick:P=>{F(P),a(y)},children:l("editImage")})]}),c("div",{className:"uppy-Dashboard-FileCard-info",children:c(Yu,{computedMetaFields:k,requiredMetaFields:o,updateMeta:x,form:A,formState:R})}),c("div",{className:"uppy-Dashboard-FileCard-actions",children:[c("button",{className:"uppy-u-reset uppy-c-btn uppy-c-btn-primary uppy-Dashboard-FileCard-actionsBtn",type:"submit",form:A.id,children:l("saveChanges")}),c("button",{className:"uppy-u-reset uppy-c-btn uppy-c-btn-link uppy-Dashboard-FileCard-actionsBtn",type:"button",onClick:S,form:A.id,children:l("cancel")})]})]})]})}var fg=ye(ht(),1);function hg(i,e){if(i===e)return!0;if(!i||!e)return!1;let t=Object.keys(i),r=Object.keys(e),s=t.length;if(r.length!==s)return!1;for(let n=0;n<s;n++){let o=t[n];if(i[o]!==e[o]||!Object.prototype.hasOwnProperty.call(e,o))return!1}return!0}function Qu(i,e="Copy the URL below"){return new Promise(t=>{let r=document.createElement("textarea");r.setAttribute("style",{position:"fixed",top:0,left:0,width:"2em",height:"2em",padding:0,border:"none",outline:"none",boxShadow:"none",background:"transparent"}),r.value=i,document.body.appendChild(r),r.select();let s=()=>{document.body.removeChild(r),window.prompt(e,i),t()};try{return document.execCommand("copy")?(document.body.removeChild(r),t()):s()}catch{return document.body.removeChild(r),s()}})}function ZS({file:i,uploadInProgressOrComplete:e,metaFields:t,canEditFile:r,i18n:s,onClick:n}){return!e&&t&&t.length>0||!e&&r(i)?c("button",{className:"uppy-u-reset uppy-c-btn uppy-Dashboard-Item-action uppy-Dashboard-Item-action--edit",type:"button","aria-label":s("editFileWithFilename",{file:i.meta.name}),title:s("editFileWithFilename",{file:i.meta.name}),onClick:()=>n(),children:c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"14",height:"14",viewBox:"0 0 14 14",children:c("g",{fillRule:"evenodd",children:[c("path",{d:"M1.5 10.793h2.793A1 1 0 0 0 5 10.5L11.5 4a1 1 0 0 0 0-1.414L9.707.793a1 1 0 0 0-1.414 0l-6.5 6.5A1 1 0 0 0 1.5 8v2.793zm1-1V8L9 1.5l1.793 1.793-6.5 6.5H2.5z",fillRule:"nonzero"}),c("rect",{x:"1",y:"12.293",width:"11",height:"1",rx:".5"}),c("path",{fillRule:"nonzero",d:"M6.793 2.5L9.5 5.207l.707-.707L7.5 1.793z"})]})})}):null}function QS({i18n:i,onClick:e,file:t}){return c("button",{className:"uppy-u-reset uppy-Dashboard-Item-action uppy-Dashboard-Item-action--remove",type:"button","aria-label":i("removeFile",{file:t.meta.name}),title:i("removeFile",{file:t.meta.name}),onClick:()=>e(),children:c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"18",height:"18",viewBox:"0 0 18 18",children:[c("path",{d:"M9 0C4.034 0 0 4.034 0 9s4.034 9 9 9 9-4.034 9-9-4.034-9-9-9z"}),c("path",{fill:"#FFF",d:"M13 12.222l-.778.778L9 9.778 5.778 13 5 12.222 8.222 9 5 5.778 5.778 5 9 8.222 12.222 5l.778.778L9.778 9z"})]})})}function JS({file:i,uppy:e,i18n:t}){let r=s=>{Qu(i.uploadURL,t("copyLinkToClipboardFallback")).then(()=>{e.log("Link copied to clipboard."),e.info(t("copyLinkToClipboardSuccess"),"info",3e3)}).catch(e.log).then(()=>s.target.focus({preventScroll:!0}))};return c("button",{className:"uppy-u-reset uppy-Dashboard-Item-action uppy-Dashboard-Item-action--copyLink",type:"button","aria-label":t("copyLink"),title:t("copyLink"),onClick:s=>r(s),children:c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"14",height:"14",viewBox:"0 0 14 12",children:c("path",{d:"M7.94 7.703a2.613 2.613 0 0 1-.626 2.681l-.852.851a2.597 2.597 0 0 1-1.849.766A2.616 2.616 0 0 1 2.764 7.54l.852-.852a2.596 2.596 0 0 1 2.69-.625L5.267 7.099a1.44 1.44 0 0 0-.833.407l-.852.851a1.458 1.458 0 0 0 1.03 2.486c.39 0 .755-.152 1.03-.426l.852-.852c.231-.231.363-.522.406-.824l1.04-1.038zm4.295-5.937A2.596 2.596 0 0 0 10.387 1c-.698 0-1.355.272-1.849.766l-.852.851a2.614 2.614 0 0 0-.624 2.688l1.036-1.036c.041-.304.173-.6.407-.833l.852-.852c.275-.275.64-.426 1.03-.426a1.458 1.458 0 0 1 1.03 2.486l-.852.851a1.442 1.442 0 0 1-.824.406l-1.04 1.04a2.596 2.596 0 0 0 2.683-.628l.851-.85a2.616 2.616 0 0 0 0-3.697zm-6.88 6.883a.577.577 0 0 0 .82 0l3.474-3.474a.579.579 0 1 0-.819-.82L5.355 7.83a.579.579 0 0 0 0 .819z"})})})}function Ju(i){let{uppy:e,file:t,uploadInProgressOrComplete:r,canEditFile:s,metaFields:n,showLinkToFileUploadResult:o,showRemoveButton:a,i18n:l,toggleFileCard:h,openFileEditor:f}=i;return c("div",{className:"uppy-Dashboard-Item-actionWrapper",children:[c(ZS,{i18n:l,file:t,uploadInProgressOrComplete:r,canEditFile:s,metaFields:n,onClick:()=>{n&&n.length>0?h(!0,t.id):f(t)}}),o&&t.uploadURL?c(JS,{file:t,uppy:e,i18n:l}):null,a?c(QS,{i18n:l,file:t,onClick:()=>e.removeFile(t.id)}):null]})}var dg=ye(Xo(),1);function _a(i,e){if(e===0)return"";if(i.length<=e)return i;if(e<=4)return`${i.slice(0,e-1)}\u2026`;let t=e-3,r=Math.ceil(t/2),s=Math.floor(t/2);return i.slice(0,r)+"..."+i.slice(-s)}var eE=(i,e)=>(typeof e=="function"?e():e).filter(s=>s.id===i)[0].name;function _n(i){let{file:e,toggleFileCard:t,i18n:r,metaFields:s}=i,{missingRequiredMetaFields:n}=e;if(!n?.length)return null;let o=n.map(a=>eE(a,s)).join(", ");return c("div",{className:"uppy-Dashboard-Item-errorMessage",children:[r("missingRequiredMetaFields",{smart_count:n.length,fields:o})," ",c("button",{type:"button",class:"uppy-u-reset uppy-Dashboard-Item-errorMessageBtn",onClick:()=>t(!0,e.id),children:r("editFile")})]})}var tE=i=>{let{author:e,name:t}=i.file.meta;function r(){return i.isSingleFile&&i.containerHeight>=350?90:i.containerWidth<=352?35:i.containerWidth<=576?60:e?20:30}return c("div",{className:"uppy-Dashboard-Item-name",title:t,children:_a(t,r())})},iE=i=>{let{author:e}=i.file.meta,t=i.file.remote?.providerName,r="\xB7";return e?c("div",{className:"uppy-Dashboard-Item-author",children:[c("a",{href:`${e.url}?utm_source=Companion&utm_medium=referral`,target:"_blank",rel:"noopener noreferrer",children:_a(e.name,13)}),t?c(_e,{children:[` ${r} `,t,` ${r} `]}):null]}):null},rE=i=>i.file.size&&c("div",{className:"uppy-Dashboard-Item-statusSize",children:(0,dg.default)(i.file.size)}),sE=i=>i.file.isGhost&&c("span",{children:[" \u2022 ",c("button",{className:"uppy-u-reset uppy-c-btn uppy-Dashboard-Item-reSelect",type:"button",onClick:()=>i.toggleAddFilesPanel(!0),children:i.i18n("reSelect")})]}),nE=({file:i,onClick:e})=>i.error?c("button",{className:"uppy-u-reset uppy-c-btn uppy-Dashboard-Item-errorDetails","aria-label":i.error,"data-microtip-position":"bottom","data-microtip-size":"medium",onClick:e,type:"button",children:"?"}):null;function eh(i){let{file:e,i18n:t,toggleFileCard:r,metaFields:s,toggleAddFilesPanel:n,isSingleFile:o,containerHeight:a,containerWidth:l}=i;return c("div",{className:"uppy-Dashboard-Item-fileInfo","data-uppy-file-source":e.source,children:[c("div",{className:"uppy-Dashboard-Item-fileName",children:[tE({file:e,isSingleFile:o,containerHeight:a,containerWidth:l}),c(nE,{file:e,onClick:()=>alert(e.error)})]}),c("div",{className:"uppy-Dashboard-Item-status",children:[iE({file:e}),rE({file:e}),sE({file:e,toggleAddFilesPanel:n,i18n:t})]}),c(_n,{file:e,i18n:t,toggleFileCard:r,metaFields:s})]})}function th(i){let{file:e,i18n:t,toggleFileCard:r,metaFields:s,showLinkToFileUploadResult:n}=i,a=e.preview?"rgba(255, 255, 255, 0.5)":Tr(e.type).color;return c("div",{className:"uppy-Dashboard-Item-previewInnerWrap",style:{backgroundColor:a},children:[n&&e.uploadURL&&c("a",{className:"uppy-Dashboard-Item-previewLink",href:e.uploadURL,rel:"noreferrer noopener",target:"_blank","aria-label":e.meta.name,children:c("span",{hidden:!0,children:e.meta.name})}),c(kn,{file:e}),c(_n,{file:e,i18n:t,toggleFileCard:r,metaFields:s})]})}function oE(i){if(!i.isUploaded){if(i.error&&!i.hideRetryButton){i.uppy.retryUpload(i.file.id);return}i.resumableUploads&&!i.hidePauseResumeButton?i.uppy.pauseResume(i.file.id):i.individualCancellation&&!i.hideCancelButton&&i.uppy.removeFile(i.file.id)}}function pg(i){return i.isUploaded?i.i18n("uploadComplete"):i.error?i.i18n("retryUpload"):i.resumableUploads?i.file.isPaused?i.i18n("resumeUpload"):i.i18n("pauseUpload"):i.individualCancellation?i.i18n("cancelUpload"):""}function ih(i){return c("div",{className:"uppy-Dashboard-Item-progress",children:c("button",{className:"uppy-u-reset uppy-c-btn uppy-Dashboard-Item-progressIndicator",type:"button","aria-label":pg(i),title:pg(i),onClick:()=>oE(i),children:i.children})})}function Aa({children:i}){return c("svg",{"aria-hidden":"true",focusable:"false",width:"70",height:"70",viewBox:"0 0 36 36",className:"uppy-c-icon uppy-Dashboard-Item-progressIcon--circle",children:i})}function rh({progress:i}){let e=2*Math.PI*15;return c("g",{children:[c("circle",{className:"uppy-Dashboard-Item-progressIcon--bg",r:"15",cx:"18",cy:"18","stroke-width":"2",fill:"none"}),c("circle",{className:"uppy-Dashboard-Item-progressIcon--progress",r:"15",cx:"18",cy:"18",transform:"rotate(-90, 18, 18)",fill:"none","stroke-width":"2","stroke-dasharray":e,"stroke-dashoffset":e-e/100*i})]})}function sh(i){return!i.file.progress.uploadStarted||i.file.progress.percentage===void 0?null:i.isUploaded?c("div",{className:"uppy-Dashboard-Item-progress",children:c("div",{className:"uppy-Dashboard-Item-progressIndicator",children:c(Aa,{children:[c("circle",{r:"15",cx:"18",cy:"18",fill:"#1bb240"}),c("polygon",{className:"uppy-Dashboard-Item-progressIcon--check",transform:"translate(2, 3)",points:"14 22.5 7 15.2457065 8.99985857 13.1732815 14 18.3547104 22.9729883 9 25 11.1005634"})]})})}):i.recoveredState?null:i.error&&!i.hideRetryButton?c(ih,{...i,children:c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon uppy-Dashboard-Item-progressIcon--retry",width:"28",height:"31",viewBox:"0 0 16 19",children:[c("path",{d:"M16 11a8 8 0 1 1-8-8v2a6 6 0 1 0 6 6h2z"}),c("path",{d:"M7.9 3H10v2H7.9z"}),c("path",{d:"M8.536.5l3.535 3.536-1.414 1.414L7.12 1.914z"}),c("path",{d:"M10.657 2.621l1.414 1.415L8.536 7.57 7.12 6.157z"})]})}):i.resumableUploads&&!i.hidePauseResumeButton?c(ih,{...i,children:c(Aa,{children:[c(rh,{progress:i.file.progress.percentage}),i.file.isPaused?c("polygon",{className:"uppy-Dashboard-Item-progressIcon--play",transform:"translate(3, 3)",points:"12 20 12 10 20 15"}):c("g",{className:"uppy-Dashboard-Item-progressIcon--pause",transform:"translate(14.5, 13)",children:[c("rect",{x:"0",y:"0",width:"2",height:"10",rx:"0"}),c("rect",{x:"5",y:"0",width:"2",height:"10",rx:"0"})]})]})}):!i.resumableUploads&&i.individualCancellation&&!i.hideCancelButton?c(ih,{...i,children:c(Aa,{children:[c(rh,{progress:i.file.progress.percentage}),c("polygon",{className:"cancel",transform:"translate(2, 2)",points:"19.8856516 11.0625 16 14.9481516 12.1019737 11.0625 11.0625 12.1143484 14.9481516 16 11.0625 19.8980263 12.1019737 20.9375 16 17.0518484 19.8856516 20.9375 20.9375 19.8980263 17.0518484 16 20.9375 12"})]})}):c("div",{className:"uppy-Dashboard-Item-progress",children:c("div",{className:"uppy-Dashboard-Item-progressIndicator",children:c(Aa,{children:c(rh,{progress:i.file.progress.percentage})})})})}var An=class extends we{componentDidMount(){let{file:e}=this.props;e.preview||this.props.handleRequestThumbnail(e)}shouldComponentUpdate(e){return!hg(this.props,e)}componentDidUpdate(){let{file:e}=this.props;e.preview||this.props.handleRequestThumbnail(e)}componentWillUnmount(){let{file:e}=this.props;e.preview||this.props.handleCancelThumbnail(e)}render(){let{file:e}=this.props,t=e.progress.preprocess||e.progress.postprocess,r=!!e.progress.uploadComplete&&!t&&!e.error,s=!!e.progress.uploadStarted||!!t,n=e.progress.uploadStarted&&!e.progress.uploadComplete||t,o=e.error||!1,{isGhost:a}=e,l=(this.props.individualCancellation||!n)&&!r;r&&this.props.showRemoveButtonAfterComplete&&(l=!0);let h=(0,fg.default)({"uppy-Dashboard-Item":!0,"is-inprogress":n&&!this.props.recoveredState,"is-processing":t,"is-complete":r,"is-error":!!o,"is-resumable":this.props.resumableUploads,"is-noIndividualCancellation":!this.props.individualCancellation,"is-ghost":a});return c("div",{className:h,id:`uppy_${e.id}`,role:this.props.role,children:[c("div",{className:"uppy-Dashboard-Item-preview",children:[c(th,{file:e,showLinkToFileUploadResult:this.props.showLinkToFileUploadResult,i18n:this.props.i18n,toggleFileCard:this.props.toggleFileCard,metaFields:this.props.metaFields}),c(sh,{uppy:this.props.uppy,file:e,error:o,isUploaded:r,hideRetryButton:this.props.hideRetryButton,hideCancelButton:this.props.hideCancelButton,hidePauseResumeButton:this.props.hidePauseResumeButton,recoveredState:this.props.recoveredState,resumableUploads:this.props.resumableUploads,individualCancellation:this.props.individualCancellation,i18n:this.props.i18n})]}),c("div",{className:"uppy-Dashboard-Item-fileInfoAndButtons",children:[c(eh,{file:e,containerWidth:this.props.containerWidth,containerHeight:this.props.containerHeight,i18n:this.props.i18n,toggleAddFilesPanel:this.props.toggleAddFilesPanel,toggleFileCard:this.props.toggleFileCard,metaFields:this.props.metaFields,isSingleFile:this.props.isSingleFile}),c(Ju,{file:e,metaFields:this.props.metaFields,showLinkToFileUploadResult:this.props.showLinkToFileUploadResult,showRemoveButton:l,canEditFile:this.props.canEditFile,uploadInProgressOrComplete:s,toggleFileCard:this.props.toggleFileCard,openFileEditor:this.props.openFileEditor,uppy:this.props.uppy,i18n:this.props.i18n})]})]})}};function aE(i,e){let t=[],r=[];return i.forEach(s=>{r.length<e?r.push(s):(t.push(r),r=[s])}),r.length&&t.push(r),t}function nh({id:i,i18n:e,uppy:t,files:r,resumableUploads:s,hideRetryButton:n,hidePauseResumeButton:o,hideCancelButton:a,showLinkToFileUploadResult:l,showRemoveButtonAfterComplete:h,metaFields:f,isSingleFile:m,toggleFileCard:w,handleRequestThumbnail:y,handleCancelThumbnail:k,recoveredState:C,individualCancellation:O,itemsPerRow:R,openFileEditor:_,canEditFile:F,toggleAddFilesPanel:x,containerWidth:S,containerHeight:A}){let P=R===1?71:200,N=$i(()=>{let q=(Z,K)=>Number(r[K].isGhost)-Number(r[Z].isGhost),V=Object.keys(r);return C&&V.sort(q),aE(V,R)},[r,R,C]),z=q=>c("div",{class:"uppy-Dashboard-filesInner",role:"presentation",children:q.map(V=>c(An,{uppy:t,id:i,i18n:e,resumableUploads:s,individualCancellation:O,hideRetryButton:n,hidePauseResumeButton:o,hideCancelButton:a,showLinkToFileUploadResult:l,showRemoveButtonAfterComplete:h,metaFields:f,recoveredState:C,isSingleFile:m,containerWidth:S,containerHeight:A,toggleFileCard:w,handleRequestThumbnail:y,handleCancelThumbnail:k,role:"listitem",openFileEditor:_,canEditFile:F,toggleAddFilesPanel:x,file:r[V]},V))},q[0]);return m?c("div",{class:"uppy-Dashboard-files",children:z(N[0])}):c(ra,{class:"uppy-Dashboard-files",role:"list",data:N,renderRow:z,rowHeight:P})}var mg=ye(ht(),1);function lE({activePickerPanel:i,className:e,hideAllPanels:t,i18n:r,state:s,uppy:n}){let o=qi(null);return c("div",{className:(0,mg.default)("uppy-DashboardContent-panel",e),role:"tabpanel","data-uppy-panelType":"PickerPanel",id:`uppy-DashboardContent-panel--${i.id}`,onDragOver:fi,onDragLeave:fi,onDrop:fi,onPaste:fi,children:[c("div",{className:"uppy-DashboardContent-bar",children:[c("div",{className:"uppy-DashboardContent-title",role:"heading","aria-level":1,children:r("importFrom",{name:i.name})}),c("button",{className:"uppy-DashboardContent-back",type:"button",onClick:t,children:r("cancel")})]}),c("div",{ref:o,className:"uppy-DashboardContent-panelBody",children:n.getPlugin(i.id).render(s,o.current)})]})}var gg=lE;var mi={STATE_ERROR:"error",STATE_WAITING:"waiting",STATE_PREPROCESSING:"preprocessing",STATE_UPLOADING:"uploading",STATE_POSTPROCESSING:"postprocessing",STATE_COMPLETE:"complete",STATE_PAUSED:"paused"};function cE(i,e,t,r={}){if(i)return mi.STATE_ERROR;if(e)return mi.STATE_COMPLETE;if(t)return mi.STATE_PAUSED;let s=mi.STATE_WAITING,n=Object.keys(r);for(let o=0;o<n.length;o++){let{progress:a}=r[n[o]];if(a.uploadStarted&&!a.uploadComplete)return mi.STATE_UPLOADING;a.preprocess&&s!==mi.STATE_UPLOADING&&(s=mi.STATE_PREPROCESSING),a.postprocess&&s!==mi.STATE_UPLOADING&&s!==mi.STATE_PREPROCESSING&&(s=mi.STATE_POSTPROCESSING)}return s}function uE({files:i,i18n:e,isAllComplete:t,isAllErrored:r,isAllPaused:s,inProgressNotPausedFiles:n,newFiles:o,processingFiles:a}){switch(cE(r,t,s,i)){case"uploading":return e("uploadingXFiles",{smart_count:n.length});case"preprocessing":case"postprocessing":return e("processingXFiles",{smart_count:a.length});case"paused":return e("uploadPaused");case"waiting":return e("xFilesSelected",{smart_count:o.length});case"complete":return e("uploadComplete");case"error":return e("error");default:}}function hE(i){let{i18n:e,isAllComplete:t,hideCancelButton:r,maxNumberOfFiles:s,toggleAddFilesPanel:n,uppy:o}=i,{allowNewUpload:a}=i;return a&&s&&(a=i.totalFileCount<i.maxNumberOfFiles),c("div",{className:"uppy-DashboardContent-bar",children:[!t&&!r?c("button",{className:"uppy-DashboardContent-back",type:"button",onClick:()=>o.cancelAll(),children:e("cancel")}):c("div",{}),c("div",{className:"uppy-DashboardContent-title",children:c(uE,{...i})}),a?c("button",{className:"uppy-DashboardContent-addMore",type:"button","aria-label":e("addMoreFiles"),title:e("addMoreFiles"),onClick:()=>n(!0),children:[c("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"15",height:"15",viewBox:"0 0 15 15",children:c("path",{d:"M8 6.5h6a.5.5 0 0 1 .5.5v.5a.5.5 0 0 1-.5.5H8v6a.5.5 0 0 1-.5.5H7a.5.5 0 0 1-.5-.5V8h-6a.5.5 0 0 1-.5-.5V7a.5.5 0 0 1 .5-.5h6v-6A.5.5 0 0 1 7 0h.5a.5.5 0 0 1 .5.5v6z"})}),c("span",{className:"uppy-DashboardContent-addMoreCaption",children:e("addMore")})]}):c("div",{})]})}var bg=hE;var vg=ye(ht(),1);var us="uppy-transition-slideDownUp",yg=250;function dE({children:i}){let[e,t]=Kt(null),[r,s]=Kt(""),n=qi(),o=qi(),a=qi(),l=()=>{s(`${us}-enter`),cancelAnimationFrame(a.current),clearTimeout(o.current),o.current=void 0,a.current=requestAnimationFrame(()=>{s(`${us}-enter ${us}-enter-active`),n.current=setTimeout(()=>{s("")},yg)})},h=()=>{s(`${us}-leave`),cancelAnimationFrame(a.current),clearTimeout(n.current),n.current=void 0,a.current=requestAnimationFrame(()=>{s(`${us}-leave ${us}-leave-active`),o.current=setTimeout(()=>{t(null),s("")},yg)})};return si(()=>{let f=wt(i)[0];e!==f&&(f&&!e?l():e&&!f&&!o.current&&h(),t(f))},[i,e]),si(()=>()=>{clearTimeout(n.current),clearTimeout(o.current),cancelAnimationFrame(a.current)},[]),e?Ys(e,{className:(0,vg.default)(r,e.props.className)}):null}var Cn=dE;var wg=900,Sg=700,oh=576,Eg=330;function ah(i){let e=i.totalFileCount===0,t=i.totalFileCount===1,r=i.containerWidth>oh,s=i.containerHeight>Eg,n=(0,Tg.default)({"uppy-Dashboard":!0,"uppy-Dashboard--isDisabled":i.disabled,"uppy-Dashboard--animateOpenClose":i.animateOpenClose,"uppy-Dashboard--isClosing":i.isClosing,"uppy-Dashboard--isDraggingOver":i.isDraggingOver,"uppy-Dashboard--modal":!i.inline,"uppy-size--md":i.containerWidth>oh,"uppy-size--lg":i.containerWidth>Sg,"uppy-size--xl":i.containerWidth>wg,"uppy-size--height-md":i.containerHeight>Eg,"uppy-Dashboard--isAddFilesPanelVisible":i.showAddFilesPanel,"uppy-Dashboard--isInnerWrapVisible":i.areInsidesReadyToBeVisible,"uppy-Dashboard--singleFile":i.singleFileFullScreen&&t&&s}),o=1;i.containerWidth>wg?o=5:i.containerWidth>Sg?o=4:i.containerWidth>oh&&(o=3);let a=i.showSelectedFiles&&!e,l=i.recoveredState?Object.keys(i.recoveredState.files).length:null,h=i.files?Object.keys(i.files).filter(w=>i.files[w].isGhost).length:0,f=()=>h>0?i.i18n("recoveredXFiles",{smart_count:h}):i.i18n("recoveredAllFiles");return c("div",{className:n,"data-uppy-theme":i.theme,"data-uppy-num-acquirers":i.acquirers.length,"data-uppy-drag-drop-supported":!i.disableLocalFiles&&Ku(),"aria-hidden":i.inline?"false":i.isHidden,"aria-disabled":i.disabled,"aria-label":i.inline?i.i18n("dashboardTitle"):i.i18n("dashboardWindowTitle"),onPaste:i.handlePaste,onDragOver:i.handleDragOver,onDragLeave:i.handleDragLeave,onDrop:i.handleDrop,children:[c("div",{"aria-hidden":"true",className:"uppy-Dashboard-overlay",tabIndex:-1,onClick:i.handleClickOutside}),c("div",{className:"uppy-Dashboard-inner",role:i.inline?void 0:"dialog",style:{width:i.inline&&i.width?i.width:"",height:i.inline&&i.height?i.height:""},children:[i.inline?null:c("button",{className:"uppy-u-reset uppy-Dashboard-close",type:"button","aria-label":i.i18n("closeModal"),title:i.i18n("closeModal"),onClick:i.closeModal,children:c("span",{"aria-hidden":"true",children:"\xD7"})}),c("div",{className:"uppy-Dashboard-innerWrap",children:[c("div",{className:"uppy-Dashboard-dropFilesHereHint",children:i.i18n("dropHint")}),a&&c(bg,{...i}),l&&c("div",{className:"uppy-Dashboard-serviceMsg",children:[c("svg",{className:"uppy-Dashboard-serviceMsg-icon","aria-hidden":"true",focusable:"false",width:"21",height:"16",viewBox:"0 0 24 19",children:c("g",{transform:"translate(0 -1)",fill:"none",fillRule:"evenodd",children:[c("path",{d:"M12.857 1.43l10.234 17.056A1 1 0 0122.234 20H1.766a1 1 0 01-.857-1.514L11.143 1.429a1 1 0 011.714 0z",fill:"#FFD300"}),c("path",{fill:"#000",d:"M11 6h2l-.3 8h-1.4z"}),c("circle",{fill:"#000",cx:"12",cy:"17",r:"1"})]})}),c("strong",{className:"uppy-Dashboard-serviceMsg-title",children:i.i18n("sessionRestored")}),c("div",{className:"uppy-Dashboard-serviceMsg-text",children:f()})]}),a?c(nh,{id:i.id,i18n:i.i18n,uppy:i.uppy,files:i.files,resumableUploads:i.resumableUploads,hideRetryButton:i.hideRetryButton,hidePauseResumeButton:i.hidePauseResumeButton,hideCancelButton:i.hideCancelButton,showLinkToFileUploadResult:i.showLinkToFileUploadResult,showRemoveButtonAfterComplete:i.showRemoveButtonAfterComplete,metaFields:i.metaFields,toggleFileCard:i.toggleFileCard,handleRequestThumbnail:i.handleRequestThumbnail,handleCancelThumbnail:i.handleCancelThumbnail,recoveredState:i.recoveredState,individualCancellation:i.individualCancellation,openFileEditor:i.openFileEditor,canEditFile:i.canEditFile,toggleAddFilesPanel:i.toggleAddFilesPanel,isSingleFile:t,itemsPerRow:o,containerWidth:i.containerWidth,containerHeight:i.containerHeight}):c(ka,{i18n:i.i18n,i18nArray:i.i18nArray,acquirers:i.acquirers,handleInputChange:i.handleInputChange,maxNumberOfFiles:i.maxNumberOfFiles,allowedFileTypes:i.allowedFileTypes,showNativePhotoCameraButton:i.showNativePhotoCameraButton,showNativeVideoCameraButton:i.showNativeVideoCameraButton,nativeCameraFacingMode:i.nativeCameraFacingMode,showPanel:i.showPanel,activePickerPanel:i.activePickerPanel,disableLocalFiles:i.disableLocalFiles,fileManagerSelectionType:i.fileManagerSelectionType,note:i.note,proudlyDisplayPoweredByUppy:i.proudlyDisplayPoweredByUppy}),c(Cn,{children:i.showAddFilesPanel?c(ag,{...i,isSizeMD:r},"AddFiles"):null}),c(Cn,{children:i.fileCardFor?c(Zu,{...i},"FileCard"):null}),c(Cn,{children:i.activePickerPanel?c(gg,{...i},"Picker"):null}),c(Cn,{children:i.showFileEditor?c(cg,{...i},"Editor"):null}),c("div",{className:"uppy-Dashboard-progressindicators",children:i.progressindicators.map(w=>i.uppy.getPlugin(w.id).render(i.state))})]})]})]})}var xg={strings:{closeModal:"Close Modal",addMoreFiles:"Add more files",addingMoreFiles:"Adding more files",importFrom:"Import from %{name}",dashboardWindowTitle:"Uppy Dashboard Window (Press escape to close)",dashboardTitle:"Uppy Dashboard",copyLinkToClipboardSuccess:"Link copied to clipboard.",copyLinkToClipboardFallback:"Copy the URL below",copyLink:"Copy link",back:"Back",removeFile:"Remove file",editFile:"Edit file",editImage:"Edit image",editing:"Editing %{file}",error:"Error",finishEditingFile:"Finish editing file",saveChanges:"Save changes",myDevice:"My Device",dropHint:"Drop your files here",uploadComplete:"Upload complete",uploadPaused:"Upload paused",resumeUpload:"Resume upload",pauseUpload:"Pause upload",retryUpload:"Retry upload",cancelUpload:"Cancel upload",xFilesSelected:{0:"%{smart_count} file selected",1:"%{smart_count} files selected"},uploadingXFiles:{0:"Uploading %{smart_count} file",1:"Uploading %{smart_count} files"},processingXFiles:{0:"Processing %{smart_count} file",1:"Processing %{smart_count} files"},poweredBy:"Powered by %{uppy}",addMore:"Add more",editFileWithFilename:"Edit file %{file}",save:"Save",cancel:"Cancel",dropPasteFiles:"Drop files here or %{browseFiles}",dropPasteFolders:"Drop files here or %{browseFolders}",dropPasteBoth:"Drop files here, %{browseFiles} or %{browseFolders}",dropPasteImportFiles:"Drop files here, %{browseFiles} or import from:",dropPasteImportFolders:"Drop files here, %{browseFolders} or import from:",dropPasteImportBoth:"Drop files here, %{browseFiles}, %{browseFolders} or import from:",importFiles:"Import files from:",browseFiles:"browse files",browseFolders:"browse folders",recoveredXFiles:{0:"We could not fully recover 1 file. Please re-select it and resume the upload.",1:"We could not fully recover %{smart_count} files. Please re-select them and resume the upload."},recoveredAllFiles:"We restored all files. You can now resume the upload.",sessionRestored:"Session restored",reSelect:"Re-select",missingRequiredMetaFields:{0:"Missing required meta field: %{fields}.",1:"Missing required meta fields: %{fields}."},takePictureBtn:"Take Picture",recordVideoBtn:"Record Video"}};var Ca=['a[href]:not([tabindex^="-"]):not([inert]):not([aria-hidden])','area[href]:not([tabindex^="-"]):not([inert]):not([aria-hidden])',"input:not([disabled]):not([inert]):not([aria-hidden])","select:not([disabled]):not([inert]):not([aria-hidden])","textarea:not([disabled]):not([inert]):not([aria-hidden])","button:not([disabled]):not([inert]):not([aria-hidden])",'iframe:not([tabindex^="-"]):not([inert]):not([aria-hidden])','object:not([tabindex^="-"]):not([inert]):not([aria-hidden])','embed:not([tabindex^="-"]):not([inert]):not([aria-hidden])','[contenteditable]:not([tabindex^="-"]):not([inert]):not([aria-hidden])','[tabindex]:not([tabindex^="-"]):not([inert]):not([aria-hidden])'];var kg=ye(nu(),1);function Fn(i,e){if(e){let t=i.querySelector(`[data-uppy-paneltype="${e}"]`);if(t)return t}return i}function lh(){let i=!1;return(0,kg.default)((t,r)=>{let s=Fn(t,r),n=s.contains(document.activeElement);if(n&&i)return;let o=s.querySelector("[data-uppy-super-focusable]");n&&!o||(o?(o.focus({preventScroll:!0}),i=!0):(s.querySelector(Ca)?.focus({preventScroll:!0}),i=!1))},260)}function _g(i,e){let t=e[0];t&&(t.focus(),i.preventDefault())}function pE(i,e){let t=e[e.length-1];t&&(t.focus(),i.preventDefault())}function fE(i){return i.contains(document.activeElement)}function ch(i,e,t){let r=Fn(t,e),s=Ki(r.querySelectorAll(Ca)),n=s.indexOf(document.activeElement);fE(r)?i.shiftKey&&n===0?pE(i,s):!i.shiftKey&&n===s.length-1&&_g(i,s):_g(i,s)}function Ag(i,e,t){e===null||ch(i,e,t)}var Cg=9,gE=27;function Fg(){let i={};return i.promise=new Promise((e,t)=>{i.resolve=e,i.reject=t}),i}var bE={target:"body",metaFields:[],thumbnailWidth:280,thumbnailType:"image/jpeg",waitForThumbnailsBeforeUpload:!1,defaultPickerIcon:dn,showLinkToFileUploadResult:!1,showProgressDetails:!1,hideUploadButton:!1,hideCancelButton:!1,hideRetryButton:!1,hidePauseResumeButton:!1,hideProgressAfterFinish:!1,note:null,singleFileFullScreen:!0,disableStatusBar:!1,disableInformer:!1,disableThumbnailGenerator:!1,fileManagerSelectionType:"files",proudlyDisplayPoweredByUppy:!0,showSelectedFiles:!0,showRemoveButtonAfterComplete:!1,showNativePhotoCameraButton:!1,showNativeVideoCameraButton:!1,theme:"light",autoOpen:null,disabled:!1,disableLocalFiles:!1,nativeCameraFacingMode:"",onDragLeave:()=>{},onDragOver:()=>{},onDrop:()=>{},plugins:[],doneButtonHandler:void 0,onRequestCloseModal:null,inline:!1,animateOpenClose:!0,browserBackButtonClose:!1,closeAfterFinish:!1,closeModalOnClickOutside:!1,disablePageScrollWhenModalOpen:!0,trigger:null,width:750,height:550},xr=class extends ni{static VERSION=ng.version;#e;modalName=`uppy-Dashboard-${Wi()}`;superFocus=lh();ifFocusedOnUppyRecently=!1;dashboardIsDisabled;savedScrollPosition;savedActiveElement;resizeObserver;darkModeMediaQuery;makeDashboardInsidesVisibleAnywayTimeout;constructor(e,t){let r=t?.autoOpen??null;super(e,{...bE,...t,autoOpen:r}),this.id=this.opts.id||"Dashboard",this.title="Dashboard",this.type="orchestrator",this.defaultLocale=xg,this.opts.doneButtonHandler===void 0&&(this.opts.doneButtonHandler=()=>{this.uppy.clear(),this.requestCloseModal()}),this.opts.onRequestCloseModal??=()=>this.closeModal(),this.i18nInit()}removeTarget=e=>{let r=this.getPluginState().targets.filter(s=>s.id!==e.id);this.setPluginState({targets:r})};addTarget=e=>{let t=e.id||e.constructor.name,r=e.title||t,s=e.type;if(s!=="acquirer"&&s!=="progressindicator"&&s!=="editor")return this.uppy.log("Dashboard: can only be targeted by plugins of types: acquirer, progressindicator, editor","error"),null;let n={id:t,name:r,type:s},a=this.getPluginState().targets.slice();return a.push(n),this.setPluginState({targets:a}),this.el};hideAllPanels=()=>{let e=this.getPluginState(),t={activePickerPanel:void 0,showAddFilesPanel:!1,activeOverlayType:null,fileCardFor:null,showFileEditor:!1};e.activePickerPanel===t.activePickerPanel&&e.showAddFilesPanel===t.showAddFilesPanel&&e.showFileEditor===t.showFileEditor&&e.activeOverlayType===t.activeOverlayType||(this.setPluginState(t),this.uppy.emit("dashboard:close-panel",e.activePickerPanel?.id))};showPanel=e=>{let{targets:t}=this.getPluginState(),r=t.find(s=>s.type==="acquirer"&&s.id===e);this.setPluginState({activePickerPanel:r,activeOverlayType:"PickerPanel"}),this.uppy.emit("dashboard:show-panel",e)};canEditFile=e=>{let{targets:t}=this.getPluginState();return this.#l(t).some(s=>this.uppy.getPlugin(s.id).canEditFile(e))};openFileEditor=e=>{let{targets:t}=this.getPluginState(),r=this.#l(t);this.setPluginState({showFileEditor:!0,fileCardFor:e.id||null,activeOverlayType:"FileEditor"}),r.forEach(s=>{this.uppy.getPlugin(s.id).selectFile(e)})};closeFileEditor=()=>{let{metaFields:e}=this.getPluginState();e&&e.length>0?this.setPluginState({showFileEditor:!1,activeOverlayType:"FileCard"}):this.setPluginState({showFileEditor:!1,fileCardFor:null,activeOverlayType:"AddFiles"})};saveFileEditor=()=>{let{targets:e}=this.getPluginState();this.#l(e).forEach(r=>{this.uppy.getPlugin(r.id).save()}),this.closeFileEditor()};openModal=()=>{let{promise:e,resolve:t}=Fg();if(this.savedScrollPosition=window.pageYOffset,this.savedActiveElement=document.activeElement,this.opts.disablePageScrollWhenModalOpen&&document.body.classList.add("uppy-Dashboard-isFixed"),this.opts.animateOpenClose&&this.getPluginState().isClosing){let r=()=>{this.setPluginState({isHidden:!1}),this.el.removeEventListener("animationend",r,!1),t()};this.el.addEventListener("animationend",r,!1)}else this.setPluginState({isHidden:!1}),t();return this.opts.browserBackButtonClose&&this.updateBrowserHistory(),document.addEventListener("keydown",this.handleKeyDownInModal),this.uppy.emit("dashboard:modal-open"),e};closeModal=e=>{let t=e?.manualClose??!0,{isHidden:r,isClosing:s}=this.getPluginState();if(r||s)return;let{promise:n,resolve:o}=Fg();if(this.opts.disablePageScrollWhenModalOpen&&document.body.classList.remove("uppy-Dashboard-isFixed"),this.opts.animateOpenClose){this.setPluginState({isClosing:!0});let a=()=>{this.setPluginState({isHidden:!0,isClosing:!1}),this.superFocus.cancel(),this.savedActiveElement.focus(),this.el.removeEventListener("animationend",a,!1),o()};this.el.addEventListener("animationend",a,!1)}else this.setPluginState({isHidden:!0}),this.superFocus.cancel(),this.savedActiveElement.focus(),o();return document.removeEventListener("keydown",this.handleKeyDownInModal),t&&this.opts.browserBackButtonClose&&history.state?.[this.modalName]&&history.back(),this.uppy.emit("dashboard:modal-closed"),n};isModalOpen=()=>!this.getPluginState().isHidden||!1;requestCloseModal=()=>this.opts.onRequestCloseModal?this.opts.onRequestCloseModal():this.closeModal();setDarkModeCapability=e=>{let{capabilities:t}=this.uppy.getState();this.uppy.setState({capabilities:{...t,darkMode:e}})};handleSystemDarkModeChange=e=>{let t=e.matches;this.uppy.log(`[Dashboard] Dark mode is ${t?"on":"off"}`),this.setDarkModeCapability(t)};toggleFileCard=(e,t)=>{let r=this.uppy.getFile(t);e?this.uppy.emit("dashboard:file-edit-start",r):this.uppy.emit("dashboard:file-edit-complete",r),this.setPluginState({fileCardFor:e?t:null,activeOverlayType:e?"FileCard":null})};toggleAddFilesPanel=e=>{this.setPluginState({showAddFilesPanel:e,activeOverlayType:e?"AddFiles":null})};addFiles=e=>{let t=e.map(r=>({source:this.id,name:r.name,type:r.type,data:r,meta:{relativePath:r.relativePath||r.webkitRelativePath||null}}));try{this.uppy.addFiles(t)}catch(r){this.uppy.log(r)}};startListeningToResize=()=>{this.resizeObserver=new ResizeObserver(e=>{let t=e[0],{width:r,height:s}=t.contentRect;this.setPluginState({containerWidth:r,containerHeight:s,areInsidesReadyToBeVisible:!0})}),this.resizeObserver.observe(this.el.querySelector(".uppy-Dashboard-inner")),this.makeDashboardInsidesVisibleAnywayTimeout=setTimeout(()=>{let e=this.getPluginState(),t=!this.opts.inline&&e.isHidden;!e.areInsidesReadyToBeVisible&&!t&&(this.uppy.log("[Dashboard] resize event didn\u2019t fire on time: defaulted to mobile layout","warning"),this.setPluginState({areInsidesReadyToBeVisible:!0}))},1e3)};stopListeningToResize=()=>{this.resizeObserver.disconnect(),clearTimeout(this.makeDashboardInsidesVisibleAnywayTimeout)};recordIfFocusedOnUppyRecently=e=>{this.el.contains(e.target)?this.ifFocusedOnUppyRecently=!0:(this.ifFocusedOnUppyRecently=!1,this.superFocus.cancel())};disableInteractiveElements=e=>{let t=["a[href]","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])",'[role="button"]:not([disabled])'],r=this.#e??Ki(this.el.querySelectorAll(t)).filter(s=>!s.classList.contains("uppy-Dashboard-close"));for(let s of r)s.tagName==="A"?s.setAttribute("aria-disabled",e):s.disabled=e;e?this.#e=r:this.#e=null,this.dashboardIsDisabled=e};updateBrowserHistory=()=>{history.state?.[this.modalName]||history.pushState({...history.state,[this.modalName]:!0},""),window.addEventListener("popstate",this.handlePopState,!1)};handlePopState=e=>{this.isModalOpen()&&(!e.state||!e.state[this.modalName])&&this.closeModal({manualClose:!1}),!this.isModalOpen()&&e.state?.[this.modalName]&&history.back()};handleKeyDownInModal=e=>{e.keyCode===gE&&this.requestCloseModal(),e.keyCode===Cg&&ch(e,this.getPluginState().activeOverlayType,this.el)};handleClickOutside=()=>{this.opts.closeModalOnClickOutside&&this.requestCloseModal()};handlePaste=e=>{this.uppy.iteratePlugins(r=>{r.type==="acquirer"&&r.handleRootPaste?.(e)});let t=Ki(e.clipboardData.files);t.length>0&&(this.uppy.log("[Dashboard] Files pasted"),this.addFiles(t))};handleInputChange=e=>{e.preventDefault();let t=Ki(e.currentTarget.files||[]);t.length>0&&(this.uppy.log("[Dashboard] Files selected through input"),this.addFiles(t))};handleDragOver=e=>{e.preventDefault(),e.stopPropagation();let t=()=>{let o=!0;return this.uppy.iteratePlugins(a=>{a.canHandleRootDrop?.(e)&&(o=!0)}),o},r=()=>{let{types:o}=e.dataTransfer;return o.some(a=>a==="Files")},s=t(),n=r();if(!s&&!n||this.opts.disabled||this.opts.disableLocalFiles&&(n||!s)||!this.uppy.getState().allowNewUpload){e.dataTransfer.dropEffect="none";return}e.dataTransfer.dropEffect="copy",this.setPluginState({isDraggingOver:!0}),this.opts.onDragOver(e)};handleDragLeave=e=>{e.preventDefault(),e.stopPropagation(),this.setPluginState({isDraggingOver:!1}),this.opts.onDragLeave(e)};handleDrop=async e=>{e.preventDefault(),e.stopPropagation(),this.setPluginState({isDraggingOver:!1}),this.uppy.iteratePlugins(n=>{n.type==="acquirer"&&n.handleRootDrop?.(e)});let t=!1,r=n=>{this.uppy.log(n,"error"),t||(this.uppy.info(n.message,"error"),t=!0)};this.uppy.log("[Dashboard] Processing dropped files");let s=await Gu(e.dataTransfer,{logDropError:r});s.length>0&&(this.uppy.log("[Dashboard] Files dropped"),this.addFiles(s)),this.opts.onDrop(e)};handleRequestThumbnail=e=>{this.opts.waitForThumbnailsBeforeUpload||this.uppy.emit("thumbnail:request",e)};handleCancelThumbnail=e=>{this.opts.waitForThumbnailsBeforeUpload||this.uppy.emit("thumbnail:cancel",e)};handleKeyDownInInline=e=>{e.keyCode===Cg&&Ag(e,this.getPluginState().activeOverlayType,this.el)};handlePasteOnBody=e=>{this.el.contains(document.activeElement)&&this.handlePaste(e)};handleComplete=({failed:e})=>{this.opts.closeAfterFinish&&!e?.length&&this.requestCloseModal()};handleCancelRestore=()=>{this.uppy.emit("restore-canceled")};#t=()=>{if(this.opts.disableThumbnailGenerator)return;let e=600,t=this.uppy.getFiles();if(t.length===1){let r=this.uppy.getPlugin(`${this.id}:ThumbnailGenerator`);r?.setOptions({thumbnailWidth:e});let s={...t[0],preview:void 0};r?.requestThumbnail(s).then(()=>{r?.setOptions({thumbnailWidth:this.opts.thumbnailWidth})})}};#i=e=>{let t=e[0],{metaFields:r}=this.getPluginState(),s=r&&r.length>0,n=this.canEditFile(t);s&&this.opts.autoOpen==="metaEditor"?this.toggleFileCard(!0,t.id):n&&this.opts.autoOpen==="imageEditor"&&this.openFileEditor(t)};initEvents=()=>{if(this.opts.trigger&&!this.opts.inline){let e=$u(this.opts.trigger);e?e.forEach(t=>t.addEventListener("click",this.openModal)):this.uppy.log("Dashboard modal trigger not found. Make sure `trigger` is set in Dashboard options, unless you are planning to call `dashboard.openModal()` method yourself","warning")}this.startListeningToResize(),document.addEventListener("paste",this.handlePasteOnBody),this.uppy.on("plugin-added",this.#c),this.uppy.on("plugin-remove",this.removeTarget),this.uppy.on("file-added",this.hideAllPanels),this.uppy.on("dashboard:modal-closed",this.hideAllPanels),this.uppy.on("complete",this.handleComplete),this.uppy.on("files-added",this.#t),this.uppy.on("file-removed",this.#t),document.addEventListener("focus",this.recordIfFocusedOnUppyRecently,!0),document.addEventListener("click",this.recordIfFocusedOnUppyRecently,!0),this.opts.inline&&this.el.addEventListener("keydown",this.handleKeyDownInInline),this.opts.autoOpen&&this.uppy.on("files-added",this.#i)};removeEvents=()=>{let e=$u(this.opts.trigger);!this.opts.inline&&e&&e.forEach(t=>t.removeEventListener("click",this.openModal)),this.stopListeningToResize(),document.removeEventListener("paste",this.handlePasteOnBody),window.removeEventListener("popstate",this.handlePopState,!1),this.uppy.off("plugin-added",this.#c),this.uppy.off("plugin-remove",this.removeTarget),this.uppy.off("file-added",this.hideAllPanels),this.uppy.off("dashboard:modal-closed",this.hideAllPanels),this.uppy.off("complete",this.handleComplete),this.uppy.off("files-added",this.#t),this.uppy.off("file-removed",this.#t),document.removeEventListener("focus",this.recordIfFocusedOnUppyRecently),document.removeEventListener("click",this.recordIfFocusedOnUppyRecently),this.opts.inline&&this.el.removeEventListener("keydown",this.handleKeyDownInInline),this.opts.autoOpen&&this.uppy.off("files-added",this.#i)};superFocusOnEachUpdate=()=>{let e=this.el.contains(document.activeElement),t=document.activeElement===document.body||document.activeElement===null,r=this.uppy.getState().info.length===0,s=!this.opts.inline;r&&(s||e||t&&this.ifFocusedOnUppyRecently)?this.superFocus(this.el,this.getPluginState().activeOverlayType):this.superFocus.cancel()};afterUpdate=()=>{if(this.opts.disabled&&!this.dashboardIsDisabled){this.disableInteractiveElements(!0);return}!this.opts.disabled&&this.dashboardIsDisabled&&this.disableInteractiveElements(!1),this.superFocusOnEachUpdate()};saveFileCard=(e,t)=>{this.uppy.setFileMeta(t,e),this.toggleFileCard(!1,t)};#r=e=>{let t=this.uppy.getPlugin(e.id);return{...e,icon:t.icon||this.opts.defaultPickerIcon,render:t.render}};#s=e=>{let t=this.uppy.getPlugin(e.id);return typeof t.isSupported!="function"?!0:t.isSupported()};#o=e=>e.filter(t=>t.type==="acquirer"&&this.#s(t)).map(this.#r);#n=e=>e.filter(t=>t.type==="progressindicator").map(this.#r);#l=e=>e.filter(t=>t.type==="editor").map(this.#r);render=e=>{let t=this.getPluginState(),{files:r,capabilities:s,allowNewUpload:n}=e,{newFiles:o,uploadStartedFiles:a,completeFiles:l,erroredFiles:h,inProgressFiles:f,inProgressNotPausedFiles:m,processingFiles:w,isUploadStarted:y,isAllComplete:k,isAllPaused:C}=this.uppy.getObjectOfFilesPerState(),O=this.#o(t.targets),R=this.#n(t.targets),_=this.#l(t.targets),F;return this.opts.theme==="auto"?F=s.darkMode?"dark":"light":F=this.opts.theme,["files","folders","both"].indexOf(this.opts.fileManagerSelectionType)<0&&(this.opts.fileManagerSelectionType="files",console.warn(`Unsupported option for "fileManagerSelectionType". Using default of "${this.opts.fileManagerSelectionType}".`)),ah({state:e,isHidden:t.isHidden,files:r,newFiles:o,uploadStartedFiles:a,completeFiles:l,erroredFiles:h,inProgressFiles:f,inProgressNotPausedFiles:m,processingFiles:w,isUploadStarted:y,isAllComplete:k,isAllPaused:C,totalFileCount:Object.keys(r).length,totalProgress:e.totalProgress,allowNewUpload:n,acquirers:O,theme:F,disabled:this.opts.disabled,disableLocalFiles:this.opts.disableLocalFiles,direction:this.opts.direction,activePickerPanel:t.activePickerPanel,showFileEditor:t.showFileEditor,saveFileEditor:this.saveFileEditor,closeFileEditor:this.closeFileEditor,disableInteractiveElements:this.disableInteractiveElements,animateOpenClose:this.opts.animateOpenClose,isClosing:t.isClosing,progressindicators:R,editors:_,autoProceed:this.uppy.opts.autoProceed,id:this.id,closeModal:this.requestCloseModal,handleClickOutside:this.handleClickOutside,handleInputChange:this.handleInputChange,handlePaste:this.handlePaste,inline:this.opts.inline,showPanel:this.showPanel,hideAllPanels:this.hideAllPanels,i18n:this.i18n,i18nArray:this.i18nArray,uppy:this.uppy,note:this.opts.note,recoveredState:e.recoveredState,metaFields:t.metaFields,resumableUploads:s.resumableUploads||!1,individualCancellation:s.individualCancellation,isMobileDevice:s.isMobileDevice,fileCardFor:t.fileCardFor,toggleFileCard:this.toggleFileCard,toggleAddFilesPanel:this.toggleAddFilesPanel,showAddFilesPanel:t.showAddFilesPanel,saveFileCard:this.saveFileCard,openFileEditor:this.openFileEditor,canEditFile:this.canEditFile,width:this.opts.width,height:this.opts.height,showLinkToFileUploadResult:this.opts.showLinkToFileUploadResult,fileManagerSelectionType:this.opts.fileManagerSelectionType,proudlyDisplayPoweredByUppy:this.opts.proudlyDisplayPoweredByUppy,hideCancelButton:this.opts.hideCancelButton,hideRetryButton:this.opts.hideRetryButton,hidePauseResumeButton:this.opts.hidePauseResumeButton,showRemoveButtonAfterComplete:this.opts.showRemoveButtonAfterComplete,containerWidth:t.containerWidth,containerHeight:t.containerHeight,areInsidesReadyToBeVisible:t.areInsidesReadyToBeVisible,parentElement:this.el,allowedFileTypes:this.uppy.opts.restrictions.allowedFileTypes,maxNumberOfFiles:this.uppy.opts.restrictions.maxNumberOfFiles,requiredMetaFields:this.uppy.opts.restrictions.requiredMetaFields,showSelectedFiles:this.opts.showSelectedFiles,showNativePhotoCameraButton:this.opts.showNativePhotoCameraButton,showNativeVideoCameraButton:this.opts.showNativeVideoCameraButton,nativeCameraFacingMode:this.opts.nativeCameraFacingMode,singleFileFullScreen:this.opts.singleFileFullScreen,handleCancelRestore:this.handleCancelRestore,handleRequestThumbnail:this.handleRequestThumbnail,handleCancelThumbnail:this.handleCancelThumbnail,isDraggingOver:t.isDraggingOver,handleDragOver:this.handleDragOver,handleDragLeave:this.handleDragLeave,handleDrop:this.handleDrop})};#a=()=>{let{plugins:e}=this.opts;e.forEach(t=>{let r=this.uppy.getPlugin(t);r?r.mount(this,r):this.uppy.log(`[Uppy] Dashboard could not find plugin '${t}', make sure to uppy.use() the plugins you are specifying`,"warning")})};#p=()=>{this.uppy.iteratePlugins(this.#c)};#c=e=>{let t=["acquirer","editor"];e&&!e.opts?.target&&t.includes(e.type)&&(this.getPluginState().targets.some(s=>e.id===s.id)||e.mount(this,e))};#h(){let{hideUploadButton:e,hideRetryButton:t,hidePauseResumeButton:r,hideCancelButton:s,showProgressDetails:n,hideProgressAfterFinish:o,locale:a,doneButtonHandler:l}=this.opts;return{hideUploadButton:e,hideRetryButton:t,hidePauseResumeButton:r,hideCancelButton:s,showProgressDetails:n,hideAfterFinish:o,locale:a,doneButtonHandler:l}}#u(){let{thumbnailWidth:e,thumbnailHeight:t,thumbnailType:r,waitForThumbnailsBeforeUpload:s}=this.opts;return{thumbnailWidth:e,thumbnailHeight:t,thumbnailType:r,waitForThumbnailsBeforeUpload:s,lazy:!s}}#f(){return{}}setOptions(e){super.setOptions(e),this.uppy.getPlugin(this.#g())?.setOptions(this.#h()),this.uppy.getPlugin(this.#d())?.setOptions(this.#u())}#g(){return`${this.id}:StatusBar`}#d(){return`${this.id}:ThumbnailGenerator`}#w(){return`${this.id}:Informer`}install=()=>{this.setPluginState({isHidden:!0,fileCardFor:null,activeOverlayType:null,showAddFilesPanel:!1,activePickerPanel:void 0,showFileEditor:!1,metaFields:this.opts.metaFields,targets:[],areInsidesReadyToBeVisible:!1,isDraggingOver:!1});let{inline:e,closeAfterFinish:t}=this.opts;if(e&&t)throw new Error("[Dashboard] `closeAfterFinish: true` cannot be used on an inline Dashboard, because an inline Dashboard cannot be closed at all. Either set `inline: false`, or disable the `closeAfterFinish` option.");let{allowMultipleUploads:r,allowMultipleUploadBatches:s}=this.uppy.opts;(r||s)&&t&&this.uppy.log("[Dashboard] When using `closeAfterFinish`, we recommended setting the `allowMultipleUploadBatches` option to `false` in the Uppy constructor. See https://uppy.io/docs/uppy/#allowMultipleUploads-true","warning");let{target:n}=this.opts;n&&this.mount(n,this),this.opts.disableStatusBar||this.uppy.use(ss,{id:this.#g(),target:this,...this.#h()}),this.opts.disableInformer||this.uppy.use(ts,{id:this.#w(),target:this,...this.#f()}),this.opts.disableThumbnailGenerator||this.uppy.use(xn,{id:this.#d(),...this.#u()}),this.darkModeMediaQuery=typeof window<"u"&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)"):null;let o=this.darkModeMediaQuery?this.darkModeMediaQuery.matches:!1;this.uppy.log(`[Dashboard] Dark mode is ${o?"on":"off"}`),this.setDarkModeCapability(o),this.opts.theme==="auto"&&this.darkModeMediaQuery?.addListener(this.handleSystemDarkModeChange),this.#a(),this.#p(),this.initEvents()};uninstall=()=>{if(!this.opts.disableInformer){let t=this.uppy.getPlugin(`${this.id}:Informer`);t&&this.uppy.removePlugin(t)}if(!this.opts.disableStatusBar){let t=this.uppy.getPlugin(`${this.id}:StatusBar`);t&&this.uppy.removePlugin(t)}if(!this.opts.disableThumbnailGenerator){let t=this.uppy.getPlugin(`${this.id}:ThumbnailGenerator`);t&&this.uppy.removePlugin(t)}let{plugins:e}=this.opts;e.forEach(t=>{let r=this.uppy.getPlugin(t);r&&r.unmount()}),this.opts.theme==="auto"&&this.darkModeMediaQuery?.removeListener(this.handleSystemDarkModeChange),this.opts.disablePageScrollWhenModalOpen&&document.body.classList.remove("uppy-Dashboard-isFixed"),this.unmount(),this.removeEvents()}};var Pg={name:"@uppy/image-editor",description:"Image editor and cropping UI",version:"3.4.2",license:"MIT",main:"lib/index.js",style:"dist/style.min.css",type:"module",scripts:{build:"tsc --build tsconfig.build.json","build:css":"sass --load-path=../../ src/style.scss dist/style.css && postcss dist/style.css -u cssnano -o dist/style.min.css",typecheck:"tsc --build"},keywords:["file uploader","upload","uppy","uppy-plugin","image editor","cropper","crop","rotate","resize"],homepage:"https://uppy.io",bugs:{url:"https://github.com/transloadit/uppy/issues"},repository:{type:"git",url:"git+https://github.com/transloadit/uppy.git"},files:["src","lib","dist","CHANGELOG.md"],dependencies:{"@uppy/utils":"^6.2.2",cropperjs:"^1.6.2",preact:"^10.5.13"},peerDependencies:{"@uppy/core":"^4.5.2"},publishConfig:{access:"public"},devDependencies:{cssnano:"^7.0.7",postcss:"^8.5.6","postcss-cli":"^11.0.1",sass:"^1.89.2",typescript:"^5.8.3"}};var Dg=ye(Og(),1);function vE(i,e){let t=i.width/e.width,r=i.height/e.height,s=Math.min(t,r),n=e.width*s,o=e.height*s,a=(i.width-n)/2,l=(i.height-o)/2;return{width:n,height:o,left:a,top:l}}var Rg=vE;function wE(i){return i*(Math.PI/180)}function SE(i,e,t){let r=Math.abs(wE(t));return Math.max((Math.sin(r)*i+Math.cos(r)*e)/e,(Math.sin(r)*e+Math.cos(r)*i)/i)}var Lg=SE;function EE(i,e,t){return e.left<i.left?{left:i.left,width:t.width}:e.top<i.top?{top:i.top,height:t.height}:e.left+e.width>i.left+i.width?{left:i.left+i.width-t.width,width:t.width}:e.top+e.height>i.top+i.height?{top:i.top+i.height-t.height,height:t.height}:null}var Mg=EE;function TE(i,e,t){return e.left<i.left?{left:i.left,width:t.left+t.width-i.left}:e.top<i.top?{top:i.top,height:t.top+t.height-i.top}:e.left+e.width>i.left+i.width?{left:t.left,width:i.left+i.width-t.left}:e.top+e.height>i.top+i.height?{top:t.top,height:i.top+i.height-t.top}:null}var Ig=TE;var Pn=class extends we{imgElement;cropper;constructor(e){super(e),this.state={angle90Deg:0,angleGranular:0,prevCropboxData:null},this.storePrevCropboxData=this.storePrevCropboxData.bind(this),this.limitCropboxMovement=this.limitCropboxMovement.bind(this)}componentDidMount(){let{opts:e,storeCropperInstance:t}=this.props;this.cropper=new Dg.default(this.imgElement,e.cropperOptions),this.imgElement.addEventListener("cropstart",this.storePrevCropboxData),this.imgElement.addEventListener("cropend",this.limitCropboxMovement),t(this.cropper)}componentWillUnmount(){this.cropper.destroy(),this.imgElement.removeEventListener("cropstart",this.storePrevCropboxData),this.imgElement.removeEventListener("cropend",this.limitCropboxMovement)}storePrevCropboxData(){this.setState({prevCropboxData:this.cropper.getCropBoxData()})}limitCropboxMovement(e){let t=this.cropper.getCanvasData(),r=this.cropper.getCropBoxData(),{prevCropboxData:s}=this.state;if(e.detail.action==="all"){let n=Mg(t,r,s);n&&this.cropper.setCropBoxData(n)}else{let n=Ig(t,r,s);n&&this.cropper.setCropBoxData(n)}}onRotate90Deg=()=>{let{angle90Deg:e}=this.state,t=e-90;this.setState({angle90Deg:t,angleGranular:0}),this.cropper.scale(1),this.cropper.rotateTo(t);let r=this.cropper.getCanvasData(),s=this.cropper.getContainerData(),n=Rg(s,r);this.cropper.setCanvasData(n),this.cropper.setCropBoxData(n)};onRotateGranular=e=>{let t=Number(e.target.value);this.setState({angleGranular:t});let{angle90Deg:r}=this.state,s=r+t;this.cropper.rotateTo(s);let n=this.cropper.getImageData(),o=Lg(n.naturalWidth,n.naturalHeight,t),a=this.cropper.getImageData().scaleX<0?-o:o;this.cropper.scale(a,o)};renderGranularRotate(){let{i18n:e}=this.props,{angleGranular:t}=this.state;return c("label",{role:"tooltip","aria-label":`${t}\xBA`,"data-microtip-position":"top",className:"uppy-ImageCropper-rangeWrapper",children:c("input",{className:"uppy-ImageCropper-range uppy-u-reset",type:"range",onInput:this.onRotateGranular,onChange:this.onRotateGranular,value:t,min:"-45",max:"45","aria-label":e("rotate")})})}renderRevert(){let{i18n:e,opts:t}=this.props;return c("button",{"data-microtip-position":"top",type:"button",className:"uppy-u-reset uppy-c-btn","aria-label":e("revert"),onClick:()=>{this.cropper.reset(),this.cropper.setAspectRatio(t.cropperOptions.initialAspectRatio),this.setState({angle90Deg:0,angleGranular:0})},children:c("svg",{"aria-hidden":"true",className:"uppy-c-icon",width:"24",height:"24",viewBox:"0 0 24 24",children:[c("path",{d:"M0 0h24v24H0z",fill:"none"}),c("path",{d:"M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z"})]})})}renderRotate(){let{i18n:e}=this.props;return c("button",{"data-microtip-position":"top",type:"button",className:"uppy-u-reset uppy-c-btn","aria-label":e("rotate"),onClick:this.onRotate90Deg,children:c("svg",{"aria-hidden":"true",className:"uppy-c-icon",width:"24",height:"24",viewBox:"0 0 24 24",children:[c("path",{d:"M0 0h24v24H0V0zm0 0h24v24H0V0z",fill:"none"}),c("path",{d:"M14 10a2 2 0 012 2v7a2 2 0 01-2 2H6a2 2 0 01-2-2v-7a2 2 0 012-2h8zm0 1.75H6a.25.25 0 00-.243.193L5.75 12v7a.25.25 0 00.193.243L6 19.25h8a.25.25 0 00.243-.193L14.25 19v-7a.25.25 0 00-.193-.243L14 11.75zM12 .76V4c2.3 0 4.61.88 6.36 2.64a8.95 8.95 0 012.634 6.025L21 13a1 1 0 01-1.993.117L19 13h-.003a6.979 6.979 0 00-2.047-4.95 6.97 6.97 0 00-4.652-2.044L12 6v3.24L7.76 5 12 .76z"})]})})}renderFlip(){let{i18n:e}=this.props;return c("button",{"data-microtip-position":"top",type:"button",className:"uppy-u-reset uppy-c-btn","aria-label":e("flipHorizontal"),onClick:()=>this.cropper.scaleX(-this.cropper.getData().scaleX||-1),children:c("svg",{"aria-hidden":"true",className:"uppy-c-icon",width:"24",height:"24",viewBox:"0 0 24 24",children:[c("path",{d:"M0 0h24v24H0z",fill:"none"}),c("path",{d:"M15 21h2v-2h-2v2zm4-12h2V7h-2v2zM3 5v14c0 1.1.9 2 2 2h4v-2H5V5h4V3H5c-1.1 0-2 .9-2 2zm16-2v2h2c0-1.1-.9-2-2-2zm-8 20h2V1h-2v22zm8-6h2v-2h-2v2zM15 5h2V3h-2v2zm4 8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2z"})]})})}renderZoomIn(){let{i18n:e}=this.props;return c("button",{"data-microtip-position":"top",type:"button",className:"uppy-u-reset uppy-c-btn","aria-label":e("zoomIn"),onClick:()=>this.cropper.zoom(.1),children:c("svg",{"aria-hidden":"true",className:"uppy-c-icon",height:"24",viewBox:"0 0 24 24",width:"24",children:[c("path",{d:"M0 0h24v24H0V0z",fill:"none"}),c("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"}),c("path",{d:"M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z"})]})})}renderZoomOut(){let{i18n:e}=this.props;return c("button",{"data-microtip-position":"top",type:"button",className:"uppy-u-reset uppy-c-btn","aria-label":e("zoomOut"),onClick:()=>this.cropper.zoom(-.1),children:c("svg",{"aria-hidden":"true",className:"uppy-c-icon",width:"24",height:"24",viewBox:"0 0 24 24",children:[c("path",{d:"M0 0h24v24H0V0z",fill:"none"}),c("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM7 9h5v1H7z"})]})})}renderCropSquare(){let{i18n:e}=this.props;return c("button",{"data-microtip-position":"top",type:"button",className:"uppy-u-reset uppy-c-btn","aria-label":e("aspectRatioSquare"),onClick:()=>this.cropper.setAspectRatio(1),children:c("svg",{"aria-hidden":"true",className:"uppy-c-icon",width:"24",height:"24",viewBox:"0 0 24 24",children:[c("path",{d:"M0 0h24v24H0z",fill:"none"}),c("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"})]})})}renderCropWidescreen(){let{i18n:e}=this.props;return c("button",{"data-microtip-position":"top",type:"button",className:"uppy-u-reset uppy-c-btn","aria-label":e("aspectRatioLandscape"),onClick:()=>this.cropper.setAspectRatio(16/9),children:c("svg",{"aria-hidden":"true",className:"uppy-c-icon",width:"24",height:"24",viewBox:"0 0 24 24",children:[c("path",{d:"M 19,4.9999992 V 17.000001 H 4.9999998 V 6.9999992 H 19 m 0,-2 H 4.9999998 c -1.0999999,0 -1.9999999,0.9000001 -1.9999999,2 V 17.000001 c 0,1.1 0.9,2 1.9999999,2 H 19 c 1.1,0 2,-0.9 2,-2 V 6.9999992 c 0,-1.0999999 -0.9,-2 -2,-2 z"}),c("path",{fill:"none",d:"M0 0h24v24H0z"})]})})}renderCropWidescreenVertical(){let{i18n:e}=this.props;return c("button",{"data-microtip-position":"top",type:"button","aria-label":e("aspectRatioPortrait"),className:"uppy-u-reset uppy-c-btn",onClick:()=>this.cropper.setAspectRatio(9/16),children:c("svg",{"aria-hidden":"true",className:"uppy-c-icon",width:"24",height:"24",viewBox:"0 0 24 24",children:[c("path",{d:"M 19.000001,19 H 6.999999 V 5 h 10.000002 v 14 m 2,0 V 5 c 0,-1.0999999 -0.9,-1.9999999 -2,-1.9999999 H 6.999999 c -1.1,0 -2,0.9 -2,1.9999999 v 14 c 0,1.1 0.9,2 2,2 h 10.000002 c 1.1,0 2,-0.9 2,-2 z"}),c("path",{d:"M0 0h24v24H0z",fill:"none"})]})})}render(){let{currentImage:e,opts:t}=this.props,{actions:r}=t,s=URL.createObjectURL(e.data);return c("div",{className:"uppy-ImageCropper",children:[c("div",{className:"uppy-ImageCropper-container",children:c("img",{className:"uppy-ImageCropper-image",alt:e.name,src:s,ref:n=>{this.imgElement=n}})}),c("div",{className:"uppy-ImageCropper-controls",children:[r.revert&&this.renderRevert(),r.rotate&&this.renderRotate(),r.granularRotate&&this.renderGranularRotate(),r.flip&&this.renderFlip(),r.zoomIn&&this.renderZoomIn(),r.zoomOut&&this.renderZoomOut(),r.cropSquare&&this.renderCropSquare(),r.cropWidescreen&&this.renderCropWidescreen(),r.cropWidescreenVertical&&this.renderCropWidescreenVertical()]})]})}};var Ng={strings:{revert:"Reset",rotate:"Rotate 90\xB0",zoomIn:"Zoom in",zoomOut:"Zoom out",flipHorizontal:"Flip horizontally",aspectRatioSquare:"Crop square",aspectRatioLandscape:"Crop landscape (16:9)",aspectRatioPortrait:"Crop portrait (9:16)"}};var Bg={viewMode:0,background:!1,autoCropArea:1,responsive:!0,minCropBoxWidth:70,minCropBoxHeight:70,croppedCanvasOptions:{},initialAspectRatio:0},Ug={revert:!0,rotate:!0,granularRotate:!0,flip:!0,zoomIn:!0,zoomOut:!0,cropSquare:!0,cropWidescreen:!0,cropWidescreenVertical:!0},xE={quality:.8,actions:Ug,cropperOptions:Bg},hs=class extends ni{static VERSION=Pg.version;cropper;constructor(e,t){super(e,{...xE,...t,actions:{...Ug,...t?.actions},cropperOptions:{...Bg,...t?.cropperOptions}}),this.id=this.opts.id||"ImageEditor",this.title="Image Editor",this.type="editor",this.defaultLocale=Ng,this.i18nInit()}canEditFile(e){if(!e.type||e.isRemote)return!1;let t=e.type.split("/")[1];return!!/^(jpe?g|gif|png|bmp|webp)$/.test(t)}save=()=>{let e=s=>{let{currentImage:n}=this.getPluginState();this.uppy.setFileState(n.id,{data:new File([s],n.name??this.i18n("unnamed"),{type:s.type}),size:s.size,preview:void 0});let o=this.uppy.getFile(n.id);this.uppy.emit("thumbnail:request",o),this.setPluginState({currentImage:o}),this.uppy.emit("file-editor:complete",o)},{currentImage:t}=this.getPluginState(),r=this.cropper.getCroppedCanvas({});r.width%2!==0&&this.cropper.setData({width:r.width-1}),r.height%2!==0&&this.cropper.setData({height:r.height-1}),this.cropper.getCroppedCanvas(this.opts.cropperOptions.croppedCanvasOptions).toBlob(e,t.type,this.opts.quality)};storeCropperInstance=e=>{this.cropper=e};selectFile=e=>{this.uppy.emit("file-editor:start",e),this.setPluginState({currentImage:e})};install(){this.setPluginState({currentImage:null});let{target:e}=this.opts;e&&this.mount(e,this)}uninstall(){let{currentImage:e}=this.getPluginState();if(e){let t=this.uppy.getFile(e.id);this.uppy.emit("file-editor:cancel",t)}this.unmount()}render(){let{currentImage:e}=this.getPluginState();return e===null||e.isRemote?null:c(Pn,{currentImage:e,storeCropperInstance:this.storeCropperInstance,save:this.save,opts:this.opts,i18n:this.i18n})}};var On=class{#e;#t=[];constructor(e){this.#e=e}on(e,t){return this.#t.push([e,t]),this.#e.on(e,t)}remove(){for(let[e,t]of this.#t.splice(0))this.#e.off(e,t)}onFilePause(e,t){this.on("upload-pause",(r,s)=>{e===r?.id&&t(s)})}onFileRemove(e,t){this.on("file-removed",r=>{e===r.id&&t(r.id)})}onPause(e,t){this.on("upload-pause",(r,s)=>{e===r?.id&&t(s)})}onRetry(e,t){this.on("upload-retry",r=>{e===r?.id&&t()})}onRetryAll(e,t){this.on("retry-all",()=>{this.#e.getFile(e)&&t()})}onPauseAll(e,t){this.on("pause-all",()=>{this.#e.getFile(e)&&t()})}onCancelAll(e,t){this.on("cancel-all",(...r)=>{this.#e.getFile(e)&&t(...r)})}onResumeAll(e,t){this.on("resume-all",()=>{this.#e.getFile(e)&&t()})}};function kE(i){return new Error("Cancelled",{cause:i})}function zg(i){if(i!=null){let e=()=>this.abort(i.reason);i.addEventListener("abort",e,{once:!0});let t=()=>{i.removeEventListener("abort",e)};this.then?.(t,t)}return this}var Fa=class{#e=0;#t=[];#i=!1;#r;#s=1;#o;#n;limit;constructor(e){typeof e!="number"||e===0?this.limit=1/0:this.limit=e}#l(e){this.#e+=1;let t=!1,r;try{r=e()}catch(s){throw this.#e-=1,s}return{abort:s=>{t||(t=!0,this.#e-=1,r?.(s),this.#a())},done:()=>{t||(t=!0,this.#e-=1,this.#a())}}}#a(){queueMicrotask(()=>this.#p())}#p(){if(this.#i||this.#e>=this.limit||this.#t.length===0)return;let e=this.#t.shift();if(e==null)throw new Error("Invariant violation: next is null");let t=this.#l(e.fn);e.abort=t.abort,e.done=t.done}#c(e,t){let r={fn:e,priority:t?.priority||0,abort:()=>{this.#h(r)},done:()=>{throw new Error("Cannot mark a queued request as done: this indicates a bug")}},s=this.#t.findIndex(n=>r.priority>n.priority);return s===-1?this.#t.push(r):this.#t.splice(s,0,r),r}#h(e){let t=this.#t.indexOf(e);t!==-1&&this.#t.splice(t,1)}run(e,t){return!this.#i&&this.#e<this.limit?this.#l(e):this.#c(e,t)}wrapSyncFunction(e,t){return(...r)=>{let s=this.run(()=>(e(...r),queueMicrotask(()=>s.done()),()=>{}),t);return{abortOn:zg,abort(){s.abort()}}}}wrapPromiseFunction(e,t){return(...r)=>{let s,n=new Promise((o,a)=>{s=this.run(()=>{let l,h;try{h=Promise.resolve(e(...r))}catch(f){h=Promise.reject(f)}return h.then(f=>{l?a(l):(s.done(),o(f))},f=>{l?a(l):(s.done(),a(f))}),f=>{l=kE(f)}},t)});return n.abort=o=>{s.abort(o)},n.abortOn=zg,n}}resume(){this.#i=!1,clearTimeout(this.#r);for(let e=0;e<this.limit;e++)this.#a()}#u=()=>this.resume();pause(e=null){this.#i=!0,clearTimeout(this.#r),e!=null&&(this.#r=setTimeout(this.#u,e))}rateLimit(e){clearTimeout(this.#n),this.pause(e),this.limit>1&&Number.isFinite(this.limit)&&(this.#o=this.limit-1,this.limit=this.#s,this.#n=setTimeout(this.#f,e))}#f=()=>{if(this.#i){this.#n=setTimeout(this.#f,0);return}this.#s=this.limit,this.limit=Math.ceil((this.#o+this.#s)/2);for(let e=this.#s;e<=this.limit;e++)this.#a();this.#o-this.#s>3?this.#n=setTimeout(this.#f,2e3):this.#s=Math.floor(this.#s/2)};get isPaused(){return this.#i}},Pa=Symbol("__queue");var dh=class extends Error{cause;isNetworkError;request;constructor(e,t=null){super("This looks like a network error, the endpoint might be blocked by an internet provider or a firewall."),this.cause=e,this.isNetworkError=!0,this.request=t}},Rn=dh;function _E(i){return i?i.readyState!==0&&i.readyState!==4||i.status===0:!1}var Hg=_E;var ph=class{#e;#t=!1;#i;#r;constructor(e,t){this.#r=e,this.#i=()=>t(e)}progress(){this.#t||this.#r>0&&(clearTimeout(this.#e),this.#e=setTimeout(this.#i,this.#r))}done(){this.#t||(clearTimeout(this.#e),this.#e=void 0,this.#t=!0)}},jg=ph;var Oa=()=>{};function qg(i,e={}){let{body:t=null,headers:r={},method:s="GET",onBeforeRequest:n=Oa,onUploadProgress:o=Oa,shouldRetry:a=()=>!0,onAfterResponse:l=Oa,onTimeout:h=Oa,responseType:f,retries:m=3,signal:w=null,timeout:y=3e4,withCredentials:k=!1}=e,C=_=>.3*2**(_-1)*1e3,O=new jg(y,h);function R(_=0){return new Promise(async(F,x)=>{let S=new XMLHttpRequest,A=P=>{a(S)&&_<m?setTimeout(()=>{R(_+1).then(F,x)},C(_)):(O.done(),x(P))};S.open(s,i,!0),S.withCredentials=k,f&&(S.responseType=f),w?.addEventListener("abort",()=>{S.abort(),x(new DOMException("Aborted","AbortError"))}),S.onload=async()=>{try{await l(S,_)}catch(P){P.request=S,A(P);return}S.status>=200&&S.status<300?(O.done(),F(S)):a(S)&&_<m?setTimeout(()=>{R(_+1).then(F,x)},C(_)):(O.done(),x(new Rn(S.statusText,S)))},S.onerror=()=>A(new Rn(S.statusText,S)),S.upload.onprogress=P=>{O.progress(),o(P)},r&&Object.keys(r).forEach(P=>{S.setRequestHeader(P,r[P])}),await n(S,_),S.send(t)})}return R()}function $g(i){let e=t=>"error"in t&&!!t.error;return i.filter(t=>!e(t))}function Vg(i){return i.filter(e=>!e.progress?.uploadStarted||!e.isRestored)}function Ra(i,e){return i===!0?Object.keys(e):Array.isArray(i)?i:[]}var Wg={strings:{uploadStalled:"Upload has not made any progress for %{seconds} seconds. You may want to retry it."}};function Ai(i,e){if(!{}.hasOwnProperty.call(i,e))throw new TypeError("attempted to use private field on non-instance");return i}var AE=0;function ps(i){return"__private_"+AE+++"_"+i}var CE={version:"4.3.3"};function FE(i,e){let t=e;return t||(t=new Error("Upload error")),typeof t=="string"&&(t=new Error(t)),t instanceof Error||(t=Object.assign(new Error("Upload error"),{data:t})),Hg(i)?(t=new Rn(t,i),t):(t.request=i,t)}function Gg(i){return i.data.slice(0,i.data.size,i.meta.type)}var PE={formData:!0,fieldName:"file",method:"post",allowedMetaFields:!0,bundle:!1,headers:{},timeout:30*1e3,limit:5,withCredentials:!1,responseType:""},kr=ps("getFetcher"),gh=ps("uploadLocalFile"),fh=ps("uploadBundle"),bh=ps("getCompanionClientArgs"),mh=ps("uploadFiles"),Ln=ps("handleUpload"),ds=class extends ji{constructor(e,t){if(super(e,{...PE,fieldName:t.bundle?"files[]":"file",...t}),Object.defineProperty(this,mh,{value:ME}),Object.defineProperty(this,bh,{value:LE}),Object.defineProperty(this,fh,{value:RE}),Object.defineProperty(this,gh,{value:OE}),Object.defineProperty(this,kr,{writable:!0,value:void 0}),Object.defineProperty(this,Ln,{writable:!0,value:async r=>{if(r.length===0){this.uppy.log("[XHRUpload] No files to upload!");return}this.opts.limit===0&&!this.opts[Pa]&&this.uppy.log("[XHRUpload] When uploading multiple files at once, consider setting the `limit` option (to `10` for example), to limit the number of concurrent uploads, which helps prevent memory and network issues: https://uppy.io/docs/xhr-upload/#limit-0","warning"),this.uppy.log("[XHRUpload] Uploading...");let s=this.uppy.getFilesByIds(r),n=$g(s),o=Vg(n);if(this.uppy.emit("upload-start",o),this.opts.bundle){if(n.some(l=>l.isRemote))throw new Error("Can\u2019t upload remote files when the `bundle: true` option is set");if(typeof this.opts.headers=="function")throw new TypeError("`headers` may not be a function when the `bundle: true` option is set");await Ai(this,fh)[fh](n)}else await Ai(this,mh)[mh](n)}}),this.type="uploader",this.id=this.opts.id||"XHRUpload",this.defaultLocale=Wg,this.i18nInit(),Pa in this.opts?this.requests=this.opts[Pa]:this.requests=new Fa(this.opts.limit),this.opts.bundle&&!this.opts.formData)throw new Error("`opts.formData` must be true when `opts.bundle` is enabled.");if(this.opts.bundle&&typeof this.opts.headers=="function")throw new Error("`opts.headers` can not be a function when the `bundle: true` option is set.");if(t?.allowedMetaFields===void 0&&"metaFields"in this.opts)throw new Error("The `metaFields` option has been renamed to `allowedMetaFields`.");this.uploaderEvents=Object.create(null),Ai(this,kr)[kr]=r=>async(s,n)=>{try{var o,a,l;let m=await qg(s,{...n,onBeforeRequest:(k,C)=>{var O,R;return(O=(R=this.opts).onBeforeRequest)==null?void 0:O.call(R,k,C,r)},shouldRetry:this.opts.shouldRetry,onAfterResponse:this.opts.onAfterResponse,onTimeout:k=>{let C=Math.ceil(k/1e3),O=new Error(this.i18n("uploadStalled",{seconds:C}));this.uppy.emit("upload-stalled",O,r)},onUploadProgress:k=>{if(k.lengthComputable)for(let{id:O}of r){var C;let R=this.uppy.getFile(O);this.uppy.emit("upload-progress",R,{uploadStarted:(C=R.progress.uploadStarted)!=null?C:0,bytesUploaded:k.loaded/k.total*R.size,bytesTotal:R.size})}}}),w=await((o=(a=this.opts).getResponseData)==null?void 0:o.call(a,m));if(m.responseType==="json"){var h;(h=w)!=null||(w=m.response)}else try{var f;(f=w)!=null||(w=JSON.parse(m.responseText))}catch(k){throw new Error("@uppy/xhr-upload expects a JSON response (with a `url` property). To parse non-JSON responses, use `getResponseData` to turn your response into JSON.",{cause:k})}let y=typeof((l=w)==null?void 0:l.url)=="string"?w.url:void 0;for(let{id:k}of r)this.uppy.emit("upload-success",this.uppy.getFile(k),{status:m.status,body:w,uploadURL:y});return m}catch(m){if(m.name==="AbortError")return;let w=m.request;for(let y of r)this.uppy.emit("upload-error",this.uppy.getFile(y.id),FE(w,m),w);throw m}}}getOptions(e){let t=this.uppy.getState().xhrUpload,{headers:r}=this.opts,s={...this.opts,...t||{},...e.xhrUpload||{},headers:{}};return typeof r=="function"?s.headers=r(e):Object.assign(s.headers,this.opts.headers),t&&Object.assign(s.headers,t.headers),e.xhrUpload&&Object.assign(s.headers,e.xhrUpload.headers),s}addMetadata(e,t,r){Ra(r.allowedMetaFields,t).forEach(n=>{let o=t[n];Array.isArray(o)?o.forEach(a=>e.append(n,a)):e.append(n,o)})}createFormDataUpload(e,t){let r=new FormData;this.addMetadata(r,e.meta,t);let s=Gg(e);return e.name?r.append(t.fieldName,s,e.meta.name):r.append(t.fieldName,s),r}createBundledUpload(e,t){let r=new FormData,{meta:s}=this.uppy.getState();return this.addMetadata(r,s,t),e.forEach(n=>{let o=this.getOptions(n),a=Gg(n);n.name?r.append(o.fieldName,a,n.name):r.append(o.fieldName,a)}),r}install(){if(this.opts.bundle){let{capabilities:e}=this.uppy.getState();this.uppy.setState({capabilities:{...e,individualCancellation:!1}})}this.uppy.addUploader(Ai(this,Ln)[Ln])}uninstall(){if(this.opts.bundle){let{capabilities:e}=this.uppy.getState();this.uppy.setState({capabilities:{...e,individualCancellation:!0}})}this.uppy.removeUploader(Ai(this,Ln)[Ln])}};async function OE(i){let e=new On(this.uppy),t=new AbortController,r=this.requests.wrapPromiseFunction(async()=>{let s=this.getOptions(i),n=Ai(this,kr)[kr]([i]),o=s.formData?this.createFormDataUpload(i,s):i.data;return n(s.endpoint,{...s,body:o,signal:t.signal})});e.onFileRemove(i.id,()=>t.abort()),e.onCancelAll(i.id,()=>{t.abort()});try{await r().abortOn(t.signal)}catch(s){if(s.message!=="Cancelled")throw s}finally{e.remove()}}async function RE(i){let e=new AbortController,t=this.requests.wrapPromiseFunction(async()=>{var s;let n=(s=this.uppy.getState().xhrUpload)!=null?s:{},o=Ai(this,kr)[kr](i),a=this.createBundledUpload(i,{...this.opts,...n});return o(this.opts.endpoint,{...this.opts,body:a,signal:e.signal})});function r(){e.abort()}this.uppy.once("cancel-all",r);try{await t().abortOn(e.signal)}catch(s){if(s.message!=="Cancelled")throw s}finally{this.uppy.off("cancel-all",r)}}function LE(i){var e;let t=this.getOptions(i),r=Ra(t.allowedMetaFields,i.meta);return{...(e=i.remote)==null?void 0:e.body,protocol:"multipart",endpoint:t.endpoint,size:i.data.size,fieldname:t.fieldName,metadata:Object.fromEntries(r.map(s=>[s,i.meta[s]])),httpMethod:t.method,useFormData:t.formData,headers:t.headers}}async function ME(i){await Promise.allSettled(i.map(e=>{if(e.isRemote){let t=()=>this.requests,r=new AbortController,s=o=>{o.id===e.id&&r.abort()};this.uppy.on("file-removed",s);let n=this.uppy.getRequestClientForFile(e).uploadRemoteFile(e,Ai(this,bh)[bh](e),{signal:r.signal,getQueue:t});return this.requests.wrapSyncFunction(()=>{this.uppy.off("file-removed",s)},{priority:-1})(),n}return Ai(this,gh)[gh](e)}))}ds.VERSION=CE.version;var tt=class{static fromTemplate(i){if(Xr.isSupported)return Xr.sanitize(i,{USE_PROFILES:{html:!0,svg:!0},RETURN_DOM:!0}).children[0];{let e=new DOMParser().parseFromString(i,"text/html").body.children[0];return IE(e)}}};function IE(i){return DE(i),Kg(i),i}function DE(i){let e=i.querySelectorAll("script");for(let t of e)t.remove()}function NE(i,e){let t=e.replace(/\s+/g,"").toLowerCase();if(["src","href","xlink:href"].includes(i)&&(t.includes("javascript:")||t.includes("data:"))||i.startsWith("on"))return!0}function BE(i){let e=i.attributes;for(let{name:t,value:r}of e)NE(t,r)&&i.removeAttribute(t)}function Kg(i){let e=i.children;for(let t of e)BE(t),Kg(t)}var La=class extends ${static values={identifier:String,endpoint:String,maxFileSize:{type:Number,default:null},minFileSize:{type:Number,default:null},maxTotalSize:{type:Number,default:null},maxFileNum:{type:Number,default:null},minFileNum:{type:Number,default:null},allowedFileTypes:{type:Array,default:null},requiredMetaFields:{type:Array,default:[]}};static outlets=["attachment-preview","attachment-preview-container"];connect(){this.uppy||(this.uploadedFiles=[],this.element.style.display="none",this.configureUppy(),this.#l(),this.#n(),this.element.addEventListener("turbo:morph-element",i=>{i.target===this.element&&!this.morphing&&(this.morphing=!0,requestAnimationFrame(()=>{this.#e(),this.morphing=!1}))}))}disconnect(){this.#t()}#e(){this.element.isConnected&&(this.#t(),this.uploadedFiles=[],this.element.style.display="none",this.configureUppy(),this.#l(),this.#n())}#t(){this.uppy&&(this.uppy.destroy(),this.uppy=null),this.triggerContainer&&this.triggerContainer.parentNode&&(this.triggerContainer.parentNode.removeChild(this.triggerContainer),this.triggerContainer=null)}attachmentPreviewOutletConnected(i,e){this.#n()}attachmentPreviewOutletDisconnected(i,e){this.#n()}configureUppy(){this.uppy=new Qo({restrictions:{maxFileSize:this.maxFileSizeValue,minFileSize:this.minFileSizeValue,maxTotalFileSize:this.maxTotalSizeValue,maxNumberOfFiles:this.maxFileNumValue,minNumberOfFiles:this.minFileNumValue,allowedFileTypes:this.allowedFileTypesValue,requiredMetaFields:this.requiredMetaFieldsValue}}).use(xr,{inline:!1,closeAfterFinish:!0}).use(hs,{target:xr}),this.#i(),this.#r()}#i(){this.uppy.use(ds,{endpoint:this.endpointValue})}#r(){this.uppy.on("upload-success",this.#o.bind(this))}#s(){let i=document.documentElement.getAttribute("data-bs-theme")||"auto";this.#u.setOptions({theme:i});let e=null;for(;e=this.uploadedFiles.pop();)this.uppy.removeFile(e.id);this.#u.openModal()}#o(i,e){this.uploadedFiles.push(i),this.multiple||this.attachmentPreviewOutlets.forEach(s=>s.remove());let t=e.body.data,r=e.body.url;this.attachmentPreviewContainerOutlet.element.appendChild(this.#c(t,r))}#n(){if(!this.deleteAllTrigger)return;this.attachmentPreviewOutlets.length>1?(this.deleteAllTrigger.style.display="initial",this.deleteAllTrigger.textContent=`Delete ${this.attachmentPreviewOutlets.length}`):this.deleteAllTrigger.style.display="none"}#l(){this.triggerContainer=document.createElement("div"),this.triggerContainer.className="flex items-center gap-2",this.element.insertAdjacentElement("afterend",this.triggerContainer),this.#a(),this.uploadTrigger&&this.triggerContainer.append(this.uploadTrigger),this.deleteAllTrigger&&this.triggerContainer.append(this.deleteAllTrigger)}#a(){let i=this.multiple?"Choose files":"Choose file";this.uploadTrigger=tt.fromTemplate(`<button type="button" class="text-gray-900 bg-white border border-gray-300 focus:outline-none hover:bg-gray-100 focus:ring-4 focus:ring-gray-200 font-medium rounded-lg text-sm px-5 py-2.5 dark:bg-gray-800 dark:text-white dark:border-gray-600 dark:hover:bg-gray-700 dark:hover:border-gray-600 dark:focus:ring-gray-700 inline-flex items-center">
|
|
99
99
|
<svg class="w-4 h-4 mr-2" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 16">
|
|
100
100
|
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 13h3a3 3 0 0 0 0-6h-.025A5.56 5.56 0 0 0 16 6.5 5.5 5.5 0 0 0 5.207 5.021C5.137 5.017 5.071 5 5 5a4 4 0 0 0 0 8h2.167M10 15V6m0 0L8 8m2-2 2 2"/>
|
|
101
101
|
</svg>
|
|
102
102
|
${i}
|
|
103
|
-
</button>`,!1),this.uploadTrigger.addEventListener("click",this.#s.bind(this))}#
|
|
103
|
+
</button>`,!1),this.uploadTrigger.addEventListener("click",this.#s.bind(this))}#p(){this.deleteAllTrigger=tt.fromTemplate(`<button type="button" class="text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300 font-medium rounded-lg text-sm px-5 py-2.5 dark:bg-red-600 dark:hover:bg-red-700 focus:outline-none dark:focus:ring-red-800 inline-flex items-center">
|
|
104
104
|
Delete ${this.attachmentPreviewOutlets.length}
|
|
105
105
|
</button>`,!1),this.deleteAllTrigger.addEventListener("click",()=>{confirm("Are you sure?")&&this.attachmentPreviewContainerOutlet.clear()})}#c(i,e){let t=i.metadata.filename,r=t.substring(t.lastIndexOf(".")+1,t.length)||t,s=this.multiple?"multiple":"",n=i.metadata.mime_type,a=["image/jpeg","image/png","image/gif","image/webp","image/svg+xml","image/bmp","image/tiff"].includes(n.toLowerCase()),l=tt.fromTemplate(this.#h(t,r,n,e,a)),h=tt.fromTemplate(`<input name="${this.element.name}" ${s} type="hidden" autocomplete="off" hidden />`);return h.value=JSON.stringify(i),l.appendChild(h),l}#h(i,e,t,r,s){return`
|
|
106
106
|
<div class="${this.identifierValue} attachment-preview group relative bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-sm hover:shadow-md transition-all duration-300"
|
|
@@ -161,7 +161,7 @@ this.ifd0Offset: ${this.ifd0Offset}, file.byteLength: ${e.byteLength}`),e.tiff&&
|
|
|
161
161
|
</svg>
|
|
162
162
|
`)}function yh(i){let e={color:"#838999",icon:$E()};if(!i)return e;let t=i.split("/")[0],r=i.split("/")[1];return t==="text"?{color:"#5a5e69",icon:VE()}:t==="image"?{color:"#686de0",icon:UE()}:t==="audio"?{color:"#068dbb",icon:zE()}:t==="video"?{color:"#19af67",icon:HE()}:t==="application"&&r==="pdf"?{color:"#e25149",icon:jE()}:t==="application"&&["zip","x-7z-compressed","x-rar-compressed","x-tar","x-gzip","x-apple-diskimage"].indexOf(r)!==-1?{color:"#00C469",icon:qE()}:e}var Ma=class extends ${static targets=["thumbnail","thumbnailLink"];static values={mimeType:String,thumbnailUrl:String};connect(){this.hasThumbnailTarget&&(this.thumbnailUrlValue?this.useThumbnailPreview():this.useMimeIconPreview())}remove(){this.element.remove()}useThumbnailPreview(){let i=tt.fromTemplate(`
|
|
163
163
|
<img src="${this.thumbnailUrlValue}" class="w-full h-full object-cover" />
|
|
164
|
-
`);this.thumbnailLinkTarget.innerHTML=null,this.thumbnailLinkTarget.appendChild(i)}useMimeIconPreview(){let i=yh(this.mimeTypeValue);i.icon.classList.add("w-3/5","h-4/5","rounded-lg","shadow-lg","bg-white","p-2"),this.thumbnailLinkTarget.classList.add("flex","items-center","justify-center"),this.thumbnailLinkTarget.style.backgroundColor=i.color,this.thumbnailLinkTarget.innerHTML=null,this.thumbnailLinkTarget.appendChild(i.icon)}};var Ia=class extends ${connect(){}append(i){this.element.appendChild(i)}clear(){this.element.innerHTML=null}};var Xg=0,Da=class extends ${static targets=["scroll"];connect(){this.beforeRender=this.beforeRender.bind(this),this.afterRender=this.afterRender.bind(this),document.addEventListener("turbo:before-render",this.beforeRender),document.addEventListener("turbo:render",this.afterRender)}disconnect(){document.removeEventListener("turbo:before-render",this.beforeRender),document.removeEventListener("turbo:render",this.afterRender)}beforeRender(){this.hasScrollTarget&&(Xg=this.scrollTarget.scrollTop)}afterRender(){this.hasScrollTarget&&(this.scrollTarget.scrollTop=Xg)}};var Na=class extends ${static targets=["password","checkbox"];connect(){this.checkboxTarget.checked=!1}toggle(){this.passwordTarget.type=="password"?this.passwordTargets.forEach(i=>i.type="text"):this.passwordTargets.forEach(i=>i.type="password")}};var Ba=class extends ${connect(){this.originalScrollPosition=window.scrollY,this.originalOverflow=document.body.style.overflow,this.bodyStateRestored=!1,this._closing=!1,document.body.style.overflow="hidden",this.element.showModal(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{this.element.setAttribute("data-open","")})}),this.onCancel=this.#e.bind(this),this.onClose=this.#t.bind(this),this.onRequestClose=()=>this.#i(),this.element.addEventListener("cancel",this.onCancel),this.element.addEventListener("close",this.onClose),this.element.addEventListener("modal:request-close",this.onRequestClose)}disconnect(){this.element.removeEventListener("cancel",this.onCancel),this.element.removeEventListener("close",this.onClose),this.element.removeEventListener("modal:request-close",this.onRequestClose),this.#r()}close(){this.#i()}#e(i){i.target===this.element&&(i.defaultPrevented||(i.preventDefault(),this.#i()))}#t(){this.#r()}async#i(){if(this._closing)return;this._closing=!0,this.element.removeAttribute("data-open");let i=this.element.getAnimations({subtree:!0});await Promise.allSettled(i.map(e=>e.finished)),this.element.close()}#r(){this.bodyStateRestored||(this.bodyStateRestored=!0,document.body.style.overflow=this.originalOverflow||"",window.scrollTo(0,this.originalScrollPosition))}};var Ua=class extends ${static targets=["container","pair","template","addButton","keyInput","valueInput"];static values={limit:Number};connect(){this.updateIndices(),this.updateAddButtonState()}addPair(i){if(i.preventDefault(),this.pairTargets.length>=this.limitValue)return;let t=this.templateTarget.content.cloneNode(!0),r=this.pairTargets.length;this.updatePairIndices(t,r),this.containerTarget.appendChild(t),this.updateIndices(),this.updateAddButtonState();let s=this.containerTarget.lastElementChild.querySelector('[data-key-value-store-target="keyInput"]');s&&s.focus()}removePair(i){i.preventDefault();let e=i.target.closest('[data-key-value-store-target="pair"]');e&&(e.remove(),this.updateIndices(),this.updateAddButtonState())}updateIndices(){this.pairTargets.forEach((i,e)=>{let t=i.querySelector('[data-key-value-store-target="keyInput"]'),r=i.querySelector('[data-key-value-store-target="valueInput"]');t&&(t.name=t.name.replace(/\[\d+\]/,`[${e}]`),t.id=t.id.replace(/_\d+_/,`_${e}_`)),r&&(r.name=r.name.replace(/\[\d+\]/,`[${e}]`),r.id=r.id.replace(/_\d+_/,`_${e}_`))})}updatePairIndices(i,e){i.querySelectorAll("input").forEach(r=>{r.name&&(r.name=r.name.replace("__INDEX__",e)),r.id&&(r.id=r.id.replace("___INDEX___",`_${e}_`))})}updateAddButtonState(){let i=this.addButtonTarget;this.pairTargets.length>=this.limitValue?(i.disabled=!0,i.classList.add("opacity-50","cursor-not-allowed")):(i.disabled=!1,i.classList.remove("opacity-50","cursor-not-allowed"))}toJSON(){let i={};return this.pairTargets.forEach(e=>{let t=e.querySelector('[data-key-value-store-target="keyInput"]'),r=e.querySelector('[data-key-value-store-target="valueInput"]');t&&r&&t.value.trim()&&(i[t.value.trim()]=r.value)}),JSON.stringify(i)}toObject(){let i={};return this.pairTargets.forEach(e=>{let t=e.querySelector('[data-key-value-store-target="keyInput"]'),r=e.querySelector('[data-key-value-store-target="valueInput"]');t&&r&&t.value.trim()&&(i[t.value.trim()]=r.value)}),i}};var za=class extends ${static targets=["checkbox","checkboxAll","toolbar","selectedCount","actionButton","filterPills"];toggle(){this.updateUI()}toggleAll(i){let e=i.target.checked;this.checkboxTargets.forEach(t=>t.checked=e),this.updateUI()}updateUI(){let i=this.checked,e=this.checkboxTargets.length;this.hasCheckboxAllTarget&&(this.checkboxAllTarget.checked=i.length===e&&e>0,this.checkboxAllTarget.indeterminate=i.length>0&&i.length<e),this.hasToolbarTarget&&this.toolbarTarget.classList.toggle("hidden",i.length===0),this.hasFilterPillsTarget&&this.filterPillsTarget.classList.toggle("hidden",i.length>0),this.hasSelectedCountTarget&&(this.selectedCountTarget.textContent=i.length),this.updateActionButtons()}updateActionButtons(){let i=this.checked,t=i.map(s=>s.value).map(s=>`ids[]=${encodeURIComponent(s)}`).join("&"),r=this.computeAllowedActions(i);this.actionButtonTargets.forEach(s=>{let n=s.dataset.bulkActionUrl,o=s.dataset.bulkActionName;n&&(s.href=t?`${n}?${t}`:n),s.style.display=r.has(o)?"":"none"})}computeAllowedActions(i){if(i.length===0)return new Set;let e=new Set(this.getAllowedActionsForCheckbox(i[0]));for(let t=1;t<i.length;t++){let r=this.getAllowedActionsForCheckbox(i[t]);e=new Set([...e].filter(s=>r.includes(s)))}return e}getAllowedActionsForCheckbox(i){let e=i.dataset.allowedActions;return e?e.split(",").filter(t=>t):[]}clearSelection(){this.checkboxTargets.forEach(i=>i.checked=!1),this.hasCheckboxAllTarget&&(this.checkboxAllTarget.checked=!1,this.checkboxAllTarget.indeterminate=!1),this.updateUI()}get checked(){return this.checkboxTargets.filter(i=>i.checked)}get unchecked(){return this.checkboxTargets.filter(i=>!i.checked)}};var Ha=class extends ${static targets=["panel","backdrop"];connect(){this._onKeydown=this._onKeydown.bind(this)}disconnect(){this.isOpen&&(document.removeEventListener("keydown",this._onKeydown),this._unlockBodyScroll())}toggle(){this.isOpen?this.close():this.open()}open(){this.hasPanelTarget&&(this.panelTarget.setAttribute("data-open",""),this.panelTarget.setAttribute("aria-hidden","false")),this.hasBackdropTarget&&this.backdropTarget.setAttribute("data-open",""),this._lockBodyScroll(),document.addEventListener("keydown",this._onKeydown)}close(){this.hasPanelTarget&&(this.panelTarget.removeAttribute("data-open"),this.panelTarget.setAttribute("aria-hidden","true")),this.hasBackdropTarget&&this.backdropTarget.removeAttribute("data-open"),this._unlockBodyScroll(),document.removeEventListener("keydown",this._onKeydown)}_lockBodyScroll(){this._previousBodyOverflow==null&&(this._previousBodyOverflow=document.body.style.overflow,document.body.style.overflow="hidden")}_unlockBodyScroll(){this._previousBodyOverflow!=null&&(document.body.style.overflow=this._previousBodyOverflow,this._previousBodyOverflow=null)}clear(){this.element.querySelectorAll("input, select, textarea").forEach(e=>{e.type==="checkbox"||e.type==="radio"?e.checked=!1:e.tagName==="SELECT"?e.selectedIndex=0:e.type==="hidden"?e.dataset.controller==="flatpickr"&&(e.value=""):e.value=""}),this.element.querySelectorAll('[data-controller="flatpickr"]').forEach(e=>{let t=this.application.getControllerForElementAndIdentifier(e,"flatpickr");t?.picker&&t.picker.clear()});let i=this.element.querySelector("form");i&&i.requestSubmit()}get isOpen(){return this.hasPanelTarget&&this.panelTarget.hasAttribute("data-open")}_onKeydown(i){i.key==="Escape"&&this.close()}};var ja=class extends ${static values={maxHeight:{type:Number,default:0}};connect(){this.resize(),this.element.addEventListener("input",this.resize),window.addEventListener("resize",this.resize)}disconnect(){this.element.removeEventListener("input",this.resize),window.removeEventListener("resize",this.resize)}resize=()=>{let i=this.element,e=this.#e();i.style.height="auto",i.style.overflow="hidden";let t=i.scrollHeight;e>0&&t>e?(i.style.height=`${e}px`,i.style.overflow="auto"):i.style.height=`${t}px`};#e(){if(this.maxHeightValue>0)return this.maxHeightValue;let e=window.getComputedStyle(this.element).maxHeight;if(e&&e!=="none"){let t=parseFloat(e);if(!isNaN(t)&&t>0)return t}return 300}};var qa=class extends ${static targets=["source"];copy(i){let e=this.sourceTarget.value||this.sourceTarget.textContent,t=i.currentTarget,r=t.textContent;navigator.clipboard.writeText(e).then(()=>{t.textContent="Copied!",setTimeout(()=>{t.textContent=r},2e3)}).catch(s=>{console.warn("Clipboard API failed, using fallback:",s),this.fallbackCopy(e),t.textContent="Copied!",setTimeout(()=>{t.textContent=r},2e3)})}fallbackCopy(i){let e=document.createElement("textarea");e.value=i,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)}};var $a=class extends ${static values={storageKey:{type:String,default:"pu_rail_pinned"}};connect(){localStorage.getItem(this.storageKeyValue)==="true"&&document.body.classList.add("pu-rail-pinned")}togglePin(){let i=document.body.classList.toggle("pu-rail-pinned");localStorage.setItem(this.storageKeyValue,i)}};var Va=class extends ${static targets=["trigger","panel"];static values={closeDelay:{type:Number,default:150}};connect(){this._closeTimer=null,this._open=!1,this._panel=null,this._panelHome=null,this._onPanelEnter=()=>{this._closeTimer&&(clearTimeout(this._closeTimer),this._closeTimer=null)},this._onPanelLeave=()=>this.scheduleClose()}disconnect(){this._returnPanel()}open(){this._closeTimer&&(clearTimeout(this._closeTimer),this._closeTimer=null),!this._open&&(!this._panel&&!this.hasPanelTarget||(this._open=!0,this.element.dataset.flyoutOpen="true",this._portalPanel(),this._position()))}scheduleClose(){this._closeTimer&&clearTimeout(this._closeTimer),this._closeTimer=setTimeout(()=>this.close(),this.closeDelayValue)}close(){this._open&&(this._open=!1,delete this.element.dataset.flyoutOpen,this._returnPanel())}toggle(i){i.preventDefault(),this._open?this.close():this.open()}closeOnEsc(i){i.key==="Escape"&&this.close()}_portalPanel(){if(this._panel)return;let i=this.panelTarget;i&&(this._panel=i,this._panelHome=i.parentElement,i.addEventListener("mouseenter",this._onPanelEnter),i.addEventListener("mouseleave",this._onPanelLeave),document.body.appendChild(i),i.style.display="block")}_returnPanel(){if(!this._panel)return;let i=this._panel;i.removeEventListener("mouseenter",this._onPanelEnter),i.removeEventListener("mouseleave",this._onPanelLeave),i.style.position="",i.style.left="",i.style.top="",i.style.display="",this._panelHome&&document.contains(this._panelHome)?this._panelHome.appendChild(i):i.remove(),this._panel=null,this._panelHome=null}_position(){if(!this._panel||!this.hasTriggerTarget)return;let i=this._panel,e=this.triggerTarget.getBoundingClientRect();i.style.position="fixed",i.style.left=`${e.right+4}px`,i.style.top=`${e.top}px`,requestAnimationFrame(()=>{let t=i.getBoundingClientRect(),r=window.innerHeight;if(t.bottom>r-8){let s=t.bottom-(r-8),n=Math.max(8,parseFloat(i.style.top)-s);i.style.top=`${n}px`}})}};var Wa=class extends ${headerClick(i){if(!i.shiftKey)return;let t=i.currentTarget.dataset.tableHeaderMultiHref;t&&(i.preventDefault(),Turbo.visit(t))}};var Ga=class extends ${static targets=["panel"];connect(){this._onDocClick=this._onDocClick.bind(this)}toggle(i){i.preventDefault(),i.stopPropagation(),this.hasPanelTarget&&(!this.panelTarget.classList.toggle("hidden")?(document.addEventListener("click",this._onDocClick),this._onKey=t=>{t.key==="Escape"&&this._close()},document.addEventListener("keydown",this._onKey)):this._unbind())}_close(){this.hasPanelTarget&&this.panelTarget.classList.add("hidden"),this._unbind()}_unbind(){document.removeEventListener("click",this._onDocClick),this._onKey&&(document.removeEventListener("keydown",this._onKey),this._onKey=null)}_onDocClick(i){this.element.contains(i.target)||this._close()}};var Ka=class extends ${connect(){if(!("value"in this.element))return;let i=this.element.value;if(!i)return;let{hash:e}=window.location;e&&(this.element.value=i.split("#")[0]+e)}};var Xa=class extends ${click(i){i.target.closest("a, button, input, label, select, textarea, [data-row-click-ignore]")||this.element.querySelector('[data-row-click-target="show"]')?.click()}};var Ya=class extends ${static values={cookieName:String,cookiePath:{type:String,default:"/"}};select(i){let e=i.params.view;if(!e||!this.cookieNameValue)return;let t=3600*24*365,r=this.cookiePathValue||"/";document.cookie=`${this.cookieNameValue}=${encodeURIComponent(e)}; Path=${r}; Max-Age=${t}; SameSite=Lax`;let s=new URL(window.location.href);s.searchParams.delete("view"),window.location.href=s.toString()}};var Za=class extends ${static values={delay:{type:Number,default:300}};connect(){this._timer=null}disconnect(){this._timer&&clearTimeout(this._timer)}submit(){this._timer&&clearTimeout(this._timer),this._timer=setTimeout(()=>{this.element.closest("form")?.requestSubmit()},this.delayValue)}};var Qa=class extends ${static targets=["confirmDialog"];static IGNORED_KEYS=new Set(["authenticity_token","return_to","pre_submit"]);connect(){this.dialog=this.element.closest("dialog"),this.dialog&&(this.snapshot=this.#t(),this.forceClose=!1,this.submitting=!1,this.onCancel=this.#n.bind(this),this.onSubmit=this.#r.bind(this),this.onCloseButtonClick=this.#l.bind(this),this.onConfirmCancel=this.#a.bind(this),this.onKeydown=this.#o.bind(this),document.addEventListener("keydown",this.onKeydown,!0),this.dialog.addEventListener("cancel",this.onCancel,!0),this.element.addEventListener("submit",this.onSubmit),this.#e().forEach(i=>i.addEventListener("click",this.onCloseButtonClick,!0)),this.hasConfirmDialogTarget&&this.confirmDialogTarget.addEventListener("cancel",this.onConfirmCancel))}disconnect(){this.dialog&&(document.removeEventListener("keydown",this.onKeydown,!0),this.dialog.removeEventListener("cancel",this.onCancel,!0),this.element.removeEventListener("submit",this.onSubmit),this.#e().forEach(i=>i.removeEventListener("click",this.onCloseButtonClick,!0)),this.hasConfirmDialogTarget&&this.confirmDialogTarget.removeEventListener("cancel",this.onConfirmCancel))}discard(){this.forceClose=!0,this.#c(),this.dialog.dispatchEvent(new CustomEvent("modal:request-close"))}keepEditing(){this.#h()}#e(){return this.dialog?this.dialog.querySelectorAll('[data-action~="remote-modal#close"]'):[]}#t(){let i=new FormData(this.element),e=encodeURIComponent;return[...i.entries()].filter(([t])=>!this.constructor.IGNORED_KEYS.has(t)).map(([t,r])=>{let s=r instanceof File?r.name:r;return`${e(t)}=${e(s)}`}).sort().join("&")}#i(){return this.#t()!==this.snapshot}#r(){this.submitting=!0}#s(){return this.hasConfirmDialogTarget&&this.confirmDialogTarget.open}#o(i){if(i.key==="Escape"&&this.dialog.open){if(this.#s()){i.preventDefault(),i.stopPropagation(),i.stopImmediatePropagation();return}this.forceClose||this.submitting||this.#i()&&(i.preventDefault(),i.stopPropagation(),i.stopImmediatePropagation(),this.#d())}}#n(i){i.target===this.dialog&&(this.forceClose||this.submitting||this.#i()&&(i.preventDefault(),this.#d()))}#l(i){this.forceClose||this.submitting||this.#i()&&(i.preventDefault(),i.stopPropagation(),this.#d())}#a(i){i.preventDefault()}#d(){if(this.hasConfirmDialogTarget){let i=this.confirmDialogTarget;i.showModal(),requestAnimationFrame(()=>{requestAnimationFrame(()=>i.setAttribute("data-open",""))})}else window.confirm("Discard your changes?")&&(this.forceClose=!0,this.dialog.dispatchEvent(new CustomEvent("modal:request-close")))}#c(){if(!this.hasConfirmDialogTarget)return;let i=this.confirmDialogTarget;i.removeAttribute("data-open"),i.open&&i.close()}async#h(){if(!this.hasConfirmDialogTarget)return;let i=this.confirmDialogTarget;if(!i.open)return;i.removeAttribute("data-open");let e=i.getAnimations({subtree:!0});await Promise.allSettled(e.map(t=>t.finished)),i.close()}};function vh(i){i.register("password-visibility",Na),i.register("sidebar",Da),i.register("resource-header",po),i.register("nested-resource-form-fields",fo),i.register("structured-input-row",mo),i.register("form",go),i.register("resource-drop-down",To),i.register("resource-collapse",xo),i.register("resource-dismiss",ko),i.register("frame-navigator",_o),i.register("color-mode",Co),i.register("easymde",Io),i.register("slim-select",Do),i.register("flatpickr",No),i.register("intl-tel-input",Bo),i.register("select-navigator",Uo),i.register("resource-tab-list",zo),i.register("attachment-input",La),i.register("attachment-preview",Ma),i.register("attachment-preview-container",Ia),i.register("remote-modal",Ba),i.register("key-value-store",Ua),i.register("bulk-actions",za),i.register("filter-panel",Ha),i.register("textarea-autogrow",ja),i.register("clipboard",qa),i.register("icon-rail",$a),i.register("icon-rail-flyout",Va),i.register("table-header",Wa),i.register("table-column-menu",Ga),i.register("capture-url",Ka),i.register("row-click",Xa),i.register("view-switcher",Ya),i.register("autosubmit",Za),i.register("dirty-form-guard",Qa)}Turbo.StreamActions.redirect=function(){Turbo.cache.clear();let i=this.getAttribute("url");Turbo.visit(i)};Turbo.StreamActions.close_frame=function(){let i=this.getAttribute("target");if(!i)return;let e=document.getElementById(i);if(!e)return;let t=e.querySelector("dialog");t&&typeof t.close=="function"&&t.close(),e.innerHTML="",e.removeAttribute("src")};Turbo.StreamActions.reload_frame=function(){let i=this.getAttribute("target");if(!i)return;let e=document.getElementById(i);!e||typeof e.reload!="function"||e.reload()};var it,Mn,Xi,_r;function WE(){if(it){it.isConnected||document.body.appendChild(it);return}it=document.createElement("dialog"),it.className=["pu-dialog","top-1/2","-translate-y-1/2","left-1/2","-translate-x-1/2","w-full","max-w-md","p-0","open:flex","flex-col","opacity-0","scale-95","data-[open]:opacity-100","data-[open]:scale-100","transition-[opacity,transform]","duration-200","ease-out"].join(" "),it.setAttribute("aria-labelledby","pu-turbo-confirm-message");let i=document.createElement("div");i.className="px-6 pt-5 pb-4 border-b border-[var(--pu-border)]",Mn=document.createElement("h2"),Mn.id="pu-turbo-confirm-message",Mn.className="text-lg font-semibold text-[var(--pu-text)]",i.appendChild(Mn);let e=document.createElement("div");e.className="flex items-center justify-end gap-2 px-6 py-4",_r=document.createElement("button"),_r.type="button",_r.className="pu-btn pu-btn-md pu-btn-outline",_r.textContent="Cancel",Xi=document.createElement("button"),Xi.type="button",Xi.className="pu-btn pu-btn-md pu-btn-primary",Xi.textContent="Confirm",e.appendChild(_r),e.appendChild(Xi),it.appendChild(i),it.appendChild(e),document.body.appendChild(it)}async function GE(){it.removeAttribute("data-open");let i=it.getAnimations({subtree:!0});await Promise.allSettled(i.map(e=>e.finished)),it.open&&it.close()}function Yg(i){return WE(),Mn.textContent=i||"Are you sure?",new Promise(e=>{let t=!1,r=l=>{t||(t=!0,a(),e(l),GE())},s=()=>r(!0),n=()=>r(!1),o=()=>r(!1),a=()=>{Xi.removeEventListener("click",s),_r.removeEventListener("click",n),it.removeEventListener("close",o)};Xi.addEventListener("click",s),_r.addEventListener("click",n),it.addEventListener("close",o),it.showModal(),requestAnimationFrame(()=>{requestAnimationFrame(()=>it.setAttribute("data-open",""))}),Xi.focus()})}typeof window<"u"&&window.Turbo&&(window.Turbo.config?.forms?window.Turbo.config.forms.confirm=Yg:window.Turbo.setConfirmMethod&&window.Turbo.setConfirmMethod(Yg));var KE=uo.start();vh(KE);})();
|
|
164
|
+
`);this.thumbnailLinkTarget.innerHTML=null,this.thumbnailLinkTarget.appendChild(i)}useMimeIconPreview(){let i=yh(this.mimeTypeValue);i.icon.classList.add("w-3/5","h-4/5","rounded-lg","shadow-lg","bg-white","p-2"),this.thumbnailLinkTarget.classList.add("flex","items-center","justify-center"),this.thumbnailLinkTarget.style.backgroundColor=i.color,this.thumbnailLinkTarget.innerHTML=null,this.thumbnailLinkTarget.appendChild(i.icon)}};var Ia=class extends ${connect(){}append(i){this.element.appendChild(i)}clear(){this.element.innerHTML=null}};var Xg=0,Da=class extends ${static targets=["scroll"];connect(){this.beforeRender=this.beforeRender.bind(this),this.afterRender=this.afterRender.bind(this),document.addEventListener("turbo:before-render",this.beforeRender),document.addEventListener("turbo:render",this.afterRender)}disconnect(){document.removeEventListener("turbo:before-render",this.beforeRender),document.removeEventListener("turbo:render",this.afterRender)}beforeRender(){this.hasScrollTarget&&(Xg=this.scrollTarget.scrollTop)}afterRender(){this.hasScrollTarget&&(this.scrollTarget.scrollTop=Xg)}};var Na=class extends ${static targets=["password","checkbox"];connect(){this.checkboxTarget.checked=!1}toggle(){this.passwordTarget.type=="password"?this.passwordTargets.forEach(i=>i.type="text"):this.passwordTargets.forEach(i=>i.type="password")}};var Ba=class extends ${connect(){this.originalScrollPosition=window.scrollY,this.originalOverflow=document.body.style.overflow,this.bodyStateRestored=!1,this._closing=!1,document.body.style.overflow="hidden",this.element.showModal(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{this.element.setAttribute("data-open","")})}),this.onCancel=this.#e.bind(this),this.onClose=this.#t.bind(this),this.onRequestClose=()=>this.#i(),this.element.addEventListener("cancel",this.onCancel),this.element.addEventListener("close",this.onClose),this.element.addEventListener("modal:request-close",this.onRequestClose)}disconnect(){this.element.removeEventListener("cancel",this.onCancel),this.element.removeEventListener("close",this.onClose),this.element.removeEventListener("modal:request-close",this.onRequestClose),this.#r()}close(){this.#i()}#e(i){i.target===this.element&&(i.defaultPrevented||(i.preventDefault(),this.#i()))}#t(){this.#r()}async#i(){if(this._closing)return;this._closing=!0,this.element.removeAttribute("data-open");let i=this.element.getAnimations({subtree:!0});await Promise.allSettled(i.map(e=>e.finished)),this.element.close()}#r(){this.bodyStateRestored||(this.bodyStateRestored=!0,document.body.style.overflow=this.originalOverflow||"",window.scrollTo(0,this.originalScrollPosition))}};var Ua=class extends ${static targets=["container","pair","template","addButton","keyInput","valueInput"];static values={limit:Number};connect(){this.updateIndices(),this.updateAddButtonState()}addPair(i){if(i.preventDefault(),this.pairTargets.length>=this.limitValue)return;let t=this.templateTarget.content.cloneNode(!0),r=this.pairTargets.length;this.updatePairIndices(t,r),this.containerTarget.appendChild(t),this.updateIndices(),this.updateAddButtonState();let s=this.containerTarget.lastElementChild.querySelector('[data-key-value-store-target="keyInput"]');s&&s.focus()}removePair(i){i.preventDefault();let e=i.target.closest('[data-key-value-store-target="pair"]');e&&(e.remove(),this.updateIndices(),this.updateAddButtonState())}updateIndices(){this.pairTargets.forEach((i,e)=>{let t=i.querySelector('[data-key-value-store-target="keyInput"]'),r=i.querySelector('[data-key-value-store-target="valueInput"]');t&&(t.name=t.name.replace(/\[\d+\]/,`[${e}]`),t.id=t.id.replace(/_\d+_/,`_${e}_`)),r&&(r.name=r.name.replace(/\[\d+\]/,`[${e}]`),r.id=r.id.replace(/_\d+_/,`_${e}_`))})}updatePairIndices(i,e){i.querySelectorAll("input").forEach(r=>{r.name&&(r.name=r.name.replace("__INDEX__",e)),r.id&&(r.id=r.id.replace("___INDEX___",`_${e}_`))})}updateAddButtonState(){let i=this.addButtonTarget;this.pairTargets.length>=this.limitValue?(i.disabled=!0,i.classList.add("opacity-50","cursor-not-allowed")):(i.disabled=!1,i.classList.remove("opacity-50","cursor-not-allowed"))}toJSON(){let i={};return this.pairTargets.forEach(e=>{let t=e.querySelector('[data-key-value-store-target="keyInput"]'),r=e.querySelector('[data-key-value-store-target="valueInput"]');t&&r&&t.value.trim()&&(i[t.value.trim()]=r.value)}),JSON.stringify(i)}toObject(){let i={};return this.pairTargets.forEach(e=>{let t=e.querySelector('[data-key-value-store-target="keyInput"]'),r=e.querySelector('[data-key-value-store-target="valueInput"]');t&&r&&t.value.trim()&&(i[t.value.trim()]=r.value)}),i}};var za=class extends ${static targets=["checkbox","checkboxAll","toolbar","selectedCount","actionButton","filterPills"];toggle(){this.updateUI()}toggleAll(i){let e=i.target.checked;this.checkboxTargets.forEach(t=>t.checked=e),this.updateUI()}updateUI(){let i=this.checked,e=this.checkboxTargets.length;this.hasCheckboxAllTarget&&(this.checkboxAllTarget.checked=i.length===e&&e>0,this.checkboxAllTarget.indeterminate=i.length>0&&i.length<e),this.hasToolbarTarget&&this.toolbarTarget.classList.toggle("hidden",i.length===0),this.hasFilterPillsTarget&&this.filterPillsTarget.classList.toggle("hidden",i.length>0),this.hasSelectedCountTarget&&(this.selectedCountTarget.textContent=i.length),this.updateActionButtons()}updateActionButtons(){let i=this.checked,t=i.map(s=>s.value).map(s=>`ids[]=${encodeURIComponent(s)}`).join("&"),r=this.computeAllowedActions(i);this.actionButtonTargets.forEach(s=>{let n=s.dataset.bulkActionUrl,o=s.dataset.bulkActionName;n&&(s.href=t?`${n}?${t}`:n),s.style.display=r.has(o)?"":"none"})}computeAllowedActions(i){if(i.length===0)return new Set;let e=new Set(this.getAllowedActionsForCheckbox(i[0]));for(let t=1;t<i.length;t++){let r=this.getAllowedActionsForCheckbox(i[t]);e=new Set([...e].filter(s=>r.includes(s)))}return e}getAllowedActionsForCheckbox(i){let e=i.dataset.allowedActions;return e?e.split(",").filter(t=>t):[]}clearSelection(){this.checkboxTargets.forEach(i=>i.checked=!1),this.hasCheckboxAllTarget&&(this.checkboxAllTarget.checked=!1,this.checkboxAllTarget.indeterminate=!1),this.updateUI()}get checked(){return this.checkboxTargets.filter(i=>i.checked)}get unchecked(){return this.checkboxTargets.filter(i=>!i.checked)}};var Ha=class extends ${static targets=["panel","backdrop"];connect(){this._onKeydown=this._onKeydown.bind(this)}disconnect(){this.isOpen&&(document.removeEventListener("keydown",this._onKeydown),this._unlockBodyScroll())}toggle(){this.isOpen?this.close():this.open()}open(){this.hasPanelTarget&&(this.panelTarget.setAttribute("data-open",""),this.panelTarget.setAttribute("aria-hidden","false")),this.hasBackdropTarget&&this.backdropTarget.setAttribute("data-open",""),this._lockBodyScroll(),document.addEventListener("keydown",this._onKeydown)}close(){this.hasPanelTarget&&(this.panelTarget.removeAttribute("data-open"),this.panelTarget.setAttribute("aria-hidden","true")),this.hasBackdropTarget&&this.backdropTarget.removeAttribute("data-open"),this._unlockBodyScroll(),document.removeEventListener("keydown",this._onKeydown)}_lockBodyScroll(){this._previousBodyOverflow==null&&(this._previousBodyOverflow=document.body.style.overflow,document.body.style.overflow="hidden")}_unlockBodyScroll(){this._previousBodyOverflow!=null&&(document.body.style.overflow=this._previousBodyOverflow,this._previousBodyOverflow=null)}clear(){this.element.querySelectorAll("input, select, textarea").forEach(e=>{e.type==="checkbox"||e.type==="radio"?e.checked=!1:e.tagName==="SELECT"?e.selectedIndex=0:e.type==="hidden"?e.dataset.controller==="flatpickr"&&(e.value=""):e.value=""}),this.element.querySelectorAll('[data-controller="flatpickr"]').forEach(e=>{let t=this.application.getControllerForElementAndIdentifier(e,"flatpickr");t?.picker&&t.picker.clear()});let i=this.element.querySelector("form");i&&i.requestSubmit()}get isOpen(){return this.hasPanelTarget&&this.panelTarget.hasAttribute("data-open")}_onKeydown(i){i.key==="Escape"&&this.close()}};var ja=class extends ${static values={maxHeight:{type:Number,default:0}};connect(){this.resize(),this.element.addEventListener("input",this.resize),window.addEventListener("resize",this.resize)}disconnect(){this.element.removeEventListener("input",this.resize),window.removeEventListener("resize",this.resize)}resize=()=>{let i=this.element,e=this.#e();i.style.height="auto",i.style.overflow="hidden";let t=i.scrollHeight;e>0&&t>e?(i.style.height=`${e}px`,i.style.overflow="auto"):i.style.height=`${t}px`};#e(){if(this.maxHeightValue>0)return this.maxHeightValue;let e=window.getComputedStyle(this.element).maxHeight;if(e&&e!=="none"){let t=parseFloat(e);if(!isNaN(t)&&t>0)return t}return 300}};var qa=class extends ${static targets=["source"];copy(i){let e=this.sourceTarget.value||this.sourceTarget.textContent,t=i.currentTarget,r=t.textContent;navigator.clipboard.writeText(e).then(()=>{t.textContent="Copied!",setTimeout(()=>{t.textContent=r},2e3)}).catch(s=>{console.warn("Clipboard API failed, using fallback:",s),this.fallbackCopy(e),t.textContent="Copied!",setTimeout(()=>{t.textContent=r},2e3)})}fallbackCopy(i){let e=document.createElement("textarea");e.value=i,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)}};var $a=class extends ${static values={storageKey:{type:String,default:"pu_rail_pinned"}};connect(){localStorage.getItem(this.storageKeyValue)==="true"&&document.body.classList.add("pu-rail-pinned")}togglePin(){let i=document.body.classList.toggle("pu-rail-pinned");localStorage.setItem(this.storageKeyValue,i)}};var Va=class extends ${static targets=["trigger","panel"];static values={closeDelay:{type:Number,default:150}};connect(){this._closeTimer=null,this._open=!1,this._panel=null,this._panelHome=null,this._onPanelEnter=()=>{this._closeTimer&&(clearTimeout(this._closeTimer),this._closeTimer=null)},this._onPanelLeave=()=>this.scheduleClose()}disconnect(){this._returnPanel()}open(){this._closeTimer&&(clearTimeout(this._closeTimer),this._closeTimer=null),!this._open&&(!this._panel&&!this.hasPanelTarget||(this._open=!0,this.element.dataset.flyoutOpen="true",this._portalPanel(),this._position()))}scheduleClose(){this._closeTimer&&clearTimeout(this._closeTimer),this._closeTimer=setTimeout(()=>this.close(),this.closeDelayValue)}close(){this._open&&(this._open=!1,delete this.element.dataset.flyoutOpen,this._returnPanel())}toggle(i){i.preventDefault(),this._open?this.close():this.open()}closeOnEsc(i){i.key==="Escape"&&this.close()}_portalPanel(){if(this._panel)return;let i=this.panelTarget;i&&(this._panel=i,this._panelHome=i.parentElement,i.addEventListener("mouseenter",this._onPanelEnter),i.addEventListener("mouseleave",this._onPanelLeave),document.body.appendChild(i),i.style.display="block")}_returnPanel(){if(!this._panel)return;let i=this._panel;i.removeEventListener("mouseenter",this._onPanelEnter),i.removeEventListener("mouseleave",this._onPanelLeave),i.style.position="",i.style.left="",i.style.top="",i.style.display="",this._panelHome&&document.contains(this._panelHome)?this._panelHome.appendChild(i):i.remove(),this._panel=null,this._panelHome=null}_position(){if(!this._panel||!this.hasTriggerTarget)return;let i=this._panel,e=this.triggerTarget.getBoundingClientRect();i.style.position="fixed",i.style.left=`${e.right+4}px`,i.style.top=`${e.top}px`,requestAnimationFrame(()=>{let t=i.getBoundingClientRect(),r=window.innerHeight;if(t.bottom>r-8){let s=t.bottom-(r-8),n=Math.max(8,parseFloat(i.style.top)-s);i.style.top=`${n}px`}})}};var Wa=class extends ${headerClick(i){if(!i.shiftKey)return;let t=i.currentTarget.dataset.tableHeaderMultiHref;t&&(i.preventDefault(),Turbo.visit(t))}};var Ga=class extends ${static targets=["panel"];connect(){this._onDocClick=this._onDocClick.bind(this)}toggle(i){i.preventDefault(),i.stopPropagation(),this.hasPanelTarget&&(!this.panelTarget.classList.toggle("hidden")?(document.addEventListener("click",this._onDocClick),this._onKey=t=>{t.key==="Escape"&&this._close()},document.addEventListener("keydown",this._onKey)):this._unbind())}_close(){this.hasPanelTarget&&this.panelTarget.classList.add("hidden"),this._unbind()}_unbind(){document.removeEventListener("click",this._onDocClick),this._onKey&&(document.removeEventListener("keydown",this._onKey),this._onKey=null)}_onDocClick(i){this.element.contains(i.target)||this._close()}};var Ka=class extends ${connect(){if(!("value"in this.element))return;let i=this.element.value;if(!i)return;let{hash:e}=window.location;e&&(this.element.value=i.split("#")[0]+e)}};var Xa=class extends ${click(i){i.target.closest("a, button, input, label, select, textarea, [data-row-click-ignore]")||this.element.querySelector('[data-row-click-target="show"]')?.click()}};var Ya=class extends ${static values={cookieName:String,cookiePath:{type:String,default:"/"}};select(i){let e=i.params.view;if(!e||!this.cookieNameValue)return;let t=3600*24*365,r=this.cookiePathValue||"/";document.cookie=`${this.cookieNameValue}=${encodeURIComponent(e)}; Path=${r}; Max-Age=${t}; SameSite=Lax`;let s=new URL(window.location.href);s.searchParams.delete("view"),window.location.href=s.toString()}};var Za=class extends ${static values={delay:{type:Number,default:300}};connect(){this._timer=null}disconnect(){this._timer&&clearTimeout(this._timer)}submit(){this._timer&&clearTimeout(this._timer),this._timer=setTimeout(()=>{this.element.closest("form")?.requestSubmit()},this.delayValue)}};var Qa=class extends ${static targets=["confirmDialog"];static IGNORED_KEYS=new Set(["authenticity_token","return_to","pre_submit"]);static NON_EDITING_KEYS=new Set(["Tab","Escape","Shift","Control","Alt","Meta"]);connect(){this.dialog=this.element.closest("dialog"),this.dialog&&(this.baseline=null,this.forceClose=!1,this.submitting=!1,this.onFirstIntent=this.#t.bind(this),this.onCancel=this.#l.bind(this),this.onSubmit=this.#s.bind(this),this.onCloseButtonClick=this.#a.bind(this),this.onConfirmCancel=this.#p.bind(this),this.onKeydown=this.#n.bind(this),this.element.addEventListener("pointerdown",this.onFirstIntent,!0),this.element.addEventListener("keydown",this.onFirstIntent,!0),document.addEventListener("keydown",this.onKeydown,!0),this.dialog.addEventListener("cancel",this.onCancel,!0),this.element.addEventListener("submit",this.onSubmit),this.#e().forEach(i=>i.addEventListener("click",this.onCloseButtonClick,!0)),this.hasConfirmDialogTarget&&this.confirmDialogTarget.addEventListener("cancel",this.onConfirmCancel))}disconnect(){this.dialog&&(this.element.removeEventListener("pointerdown",this.onFirstIntent,!0),this.element.removeEventListener("keydown",this.onFirstIntent,!0),document.removeEventListener("keydown",this.onKeydown,!0),this.dialog.removeEventListener("cancel",this.onCancel,!0),this.element.removeEventListener("submit",this.onSubmit),this.#e().forEach(i=>i.removeEventListener("click",this.onCloseButtonClick,!0)),this.hasConfirmDialogTarget&&this.confirmDialogTarget.removeEventListener("cancel",this.onConfirmCancel))}discard(){this.forceClose=!0,this.#h(),this.dialog.dispatchEvent(new CustomEvent("modal:request-close"))}keepEditing(){this.#u()}#e(){return this.dialog?this.dialog.querySelectorAll('[data-action~="remote-modal#close"]'):[]}#t(i){this.baseline==null&&i.isTrusted&&(i.type==="keydown"&&this.constructor.NON_EDITING_KEYS.has(i.key)||(this.baseline=this.#i()))}#i(){let i=new FormData(this.element),e=encodeURIComponent;return[...i.entries()].filter(([t])=>!this.constructor.IGNORED_KEYS.has(t)).map(([t,r])=>{let s=r instanceof File?r.name:r;return`${e(t)}=${e(s)}`}).sort().join("&")}#r(){return this.baseline!=null&&this.#i()!==this.baseline}#s(){this.submitting=!0}#o(){return this.hasConfirmDialogTarget&&this.confirmDialogTarget.open}#n(i){if(i.key==="Escape"&&this.dialog.open){if(this.#o()){i.preventDefault(),i.stopPropagation(),i.stopImmediatePropagation();return}this.forceClose||this.submitting||this.#r()&&(i.preventDefault(),i.stopPropagation(),i.stopImmediatePropagation(),this.#c())}}#l(i){i.target===this.dialog&&(this.forceClose||this.submitting||this.#r()&&(i.preventDefault(),this.#c()))}#a(i){this.forceClose||this.submitting||this.#r()&&(i.preventDefault(),i.stopPropagation(),this.#c())}#p(i){i.preventDefault()}#c(){if(this.hasConfirmDialogTarget){let i=this.confirmDialogTarget;i.showModal(),requestAnimationFrame(()=>{requestAnimationFrame(()=>i.setAttribute("data-open",""))})}else window.confirm("Discard your changes?")&&(this.forceClose=!0,this.dialog.dispatchEvent(new CustomEvent("modal:request-close")))}#h(){if(!this.hasConfirmDialogTarget)return;let i=this.confirmDialogTarget;i.removeAttribute("data-open"),i.open&&i.close()}async#u(){if(!this.hasConfirmDialogTarget)return;let i=this.confirmDialogTarget;if(!i.open)return;i.removeAttribute("data-open");let e=i.getAnimations({subtree:!0});await Promise.allSettled(e.map(t=>t.finished)),i.close()}};function vh(i){i.register("password-visibility",Na),i.register("sidebar",Da),i.register("resource-header",po),i.register("nested-resource-form-fields",fo),i.register("structured-input-row",mo),i.register("form",go),i.register("resource-drop-down",To),i.register("resource-collapse",xo),i.register("resource-dismiss",ko),i.register("frame-navigator",_o),i.register("color-mode",Co),i.register("easymde",Io),i.register("slim-select",Do),i.register("flatpickr",No),i.register("intl-tel-input",Bo),i.register("select-navigator",Uo),i.register("resource-tab-list",zo),i.register("attachment-input",La),i.register("attachment-preview",Ma),i.register("attachment-preview-container",Ia),i.register("remote-modal",Ba),i.register("key-value-store",Ua),i.register("bulk-actions",za),i.register("filter-panel",Ha),i.register("textarea-autogrow",ja),i.register("clipboard",qa),i.register("icon-rail",$a),i.register("icon-rail-flyout",Va),i.register("table-header",Wa),i.register("table-column-menu",Ga),i.register("capture-url",Ka),i.register("row-click",Xa),i.register("view-switcher",Ya),i.register("autosubmit",Za),i.register("dirty-form-guard",Qa)}Turbo.StreamActions.redirect=function(){Turbo.cache.clear();let i=this.getAttribute("url");Turbo.visit(i)};Turbo.StreamActions.close_frame=function(){let i=this.getAttribute("target");if(!i)return;let e=document.getElementById(i);if(!e)return;let t=e.querySelector("dialog");t&&typeof t.close=="function"&&t.close(),e.innerHTML="",e.removeAttribute("src")};Turbo.StreamActions.reload_frame=function(){let i=this.getAttribute("target");if(!i)return;let e=document.getElementById(i);!e||typeof e.reload!="function"||e.reload()};var it,Mn,Xi,_r;function WE(){if(it){it.isConnected||document.body.appendChild(it);return}it=document.createElement("dialog"),it.className=["pu-dialog","top-1/2","-translate-y-1/2","left-1/2","-translate-x-1/2","w-full","max-w-md","p-0","open:flex","flex-col","opacity-0","scale-95","data-[open]:opacity-100","data-[open]:scale-100","transition-[opacity,transform]","duration-200","ease-out"].join(" "),it.setAttribute("aria-labelledby","pu-turbo-confirm-message");let i=document.createElement("div");i.className="px-6 pt-5 pb-4 border-b border-[var(--pu-border)]",Mn=document.createElement("h2"),Mn.id="pu-turbo-confirm-message",Mn.className="text-lg font-semibold text-[var(--pu-text)]",i.appendChild(Mn);let e=document.createElement("div");e.className="flex items-center justify-end gap-2 px-6 py-4",_r=document.createElement("button"),_r.type="button",_r.className="pu-btn pu-btn-md pu-btn-outline",_r.textContent="Cancel",Xi=document.createElement("button"),Xi.type="button",Xi.className="pu-btn pu-btn-md pu-btn-primary",Xi.textContent="Confirm",e.appendChild(_r),e.appendChild(Xi),it.appendChild(i),it.appendChild(e),document.body.appendChild(it)}async function GE(){it.removeAttribute("data-open");let i=it.getAnimations({subtree:!0});await Promise.allSettled(i.map(e=>e.finished)),it.open&&it.close()}function Yg(i){return WE(),Mn.textContent=i||"Are you sure?",new Promise(e=>{let t=!1,r=l=>{t||(t=!0,a(),e(l),GE())},s=()=>r(!0),n=()=>r(!1),o=()=>r(!1),a=()=>{Xi.removeEventListener("click",s),_r.removeEventListener("click",n),it.removeEventListener("close",o)};Xi.addEventListener("click",s),_r.addEventListener("click",n),it.addEventListener("close",o),it.showModal(),requestAnimationFrame(()=>{requestAnimationFrame(()=>it.setAttribute("data-open",""))}),Xi.focus()})}typeof window<"u"&&window.Turbo&&(window.Turbo.config?.forms?window.Turbo.config.forms.confirm=Yg:window.Turbo.setConfirmMethod&&window.Turbo.setConfirmMethod(Yg));var KE=uo.start();vh(KE);})();
|
|
165
165
|
/*!
|
|
166
166
|
* Sanitize an HTML node
|
|
167
167
|
*/
|