ablok-components 0.3.91 → 0.3.92
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.
- package/dist/ablok-components.umd.js +2 -2
- package/dist/components/molecules/bulk-upload/bulk-upload.vue.d.ts +18 -0
- package/dist/components/molecules/bulk-upload/bulk-upload.vue.js +111 -97
- package/dist/components/molecules/file-upload/file-upload.vue.d.ts +1 -0
- package/dist/components/molecules/file-upload/file-upload.vue.js +39 -37
- package/package.json +19 -19
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(N,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("dompurify"),require("vue-i18n"),require("lodash"),require("ofetch"),require("vue-advanced-cropper"),require("html2canvas"),require("qr-code-styling")):typeof define=="function"&&define.amd?define(["exports","vue","dompurify","vue-i18n","lodash","ofetch","vue-advanced-cropper","html2canvas","qr-code-styling"],e):(N=typeof globalThis<"u"?globalThis:N||self,e(N.AblokComponents={},N.Vue,N.DOMPurify,N.VueI18n,N._,N.ofetch,N.VueAdvancedCropper,N.html2canvas,N.QRCodeStyling))})(this,(function(N,e,et,tt,at,Re,Ht,Ut,ut){"use strict";const Qt={class:"icon",preserveAspectRatio:"xMaxYMin"},Wt=["xlink:href"],D=e.defineComponent({__name:"svg-icon",props:{basePath:{type:String,default:"/symbol-defs.svg"},prefix:{type:String,default:"icon-"},symbol:{type:String,default:""},size:{type:String,default:"default"}},setup(t){return(c,n)=>(e.openBlock(),e.createElementBlock("i",{class:e.normalizeClass(["svg-icon",{[`svg-icon--${t.size}`]:t.size}])},[(e.openBlock(),e.createElementBlock("svg",Qt,[e.createElementVNode("use",{"xlink:href":`${t.basePath}#${t.prefix}${t.symbol}`,"xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0",y:"0"},null,8,Wt)]))],2))}}),jt={class:"loading-spinner d-block"},He=e.defineComponent({__name:"loading-spinner",props:{color:{type:String,default:"#fff"}},setup(t){return(c,n)=>(e.openBlock(),e.createElementBlock("span",jt,[n[0]||(n[0]=e.createElementVNode("span",{class:"loading-spinner__animation"},[e.createElementVNode("svg",{version:"1.1",x:"0px",y:"0px",viewBox:"0 0 100 100"},[e.createElementVNode("path",{d:"M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"},[e.createElementVNode("animateTransform",{attributeName:"transform",attributeType:"XML",type:"rotate",dur:"1s",from:"0 50 50",to:"360 50 50",repeatCount:"indefinite"})])])],-1)),e.renderSlot(c.$slots,"default")]))}}),qt=["src","alt"],ce=e.defineComponent({__name:"base-image",props:{src:{type:String,default:'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"/>',required:!0},alt:{type:String,default:""},spinner:{type:Boolean,default:!1},zoom:{type:Boolean,default:!1},animate:{type:Boolean,default:!0},ready:{type:Boolean,default:!1},pending:{type:Boolean,default:!1},emitPending:{type:Boolean,default:!0}},emits:["update:ready","update:pending"],setup(t,{emit:c}){const n=t,l=c,o=e.useTemplateRef("image"),i=e.ref(!1);function a(){i.value=!0,o.value?.addEventListener("transitionend",r,{once:!0})}function r(){l("update:ready",!0),n.emitPending&&l("update:pending",!1)}return e.onBeforeMount(()=>{n.emitPending&&l("update:pending",!0)}),(s,d)=>t.src?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["base-image",{"base-image--zoom":t.zoom}])},[t.spinner&&!i.value?(e.openBlock(),e.createBlock(He,{key:0})):e.createCommentVNode("",!0),e.createElementVNode("img",{ref_key:"image",ref:o,class:e.normalizeClass(["",{"opacity-0":t.animate&&!i.value,"opacity-1":!t.animate||i.value}]),src:t.src,alt:t.alt,onLoad:a},null,42,qt)],2)):e.createCommentVNode("",!0)}}),Gt=["innerHTML"],Jt=e.defineComponent({__name:"base-headline",props:{tag:{},size:{},variant:{},text:{},className:{}},setup(t){const c=t,n=e.computed(()=>c.tag||"p");return(l,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{class:e.normalizeClass(["headline",`${t.size} headline--${t.size}${t.className||""}`])},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default",{},()=>[e.createElementVNode("span",{class:"headline__text",innerHTML:t.text},null,8,Gt)])]),_:3},8,["class"]))}});function Ue(t){return e.computed(()=>{const c=typeof t=="function"?t():typeof t=="string"?t:t.value;return et.sanitize(c,{ALLOWED_TAGS:["b","i","em","strong","u","span","p","br","a","ul","ol","li","h1","h2","h3","h4","h5","h6","article","div","label"],ALLOWED_ATTR:["class","id","href","target","rel","title","data-countdown"],ALLOW_DATA_ATTR:!0})})}function Z(t){return et.sanitize(t,{ALLOWED_TAGS:["b","i","em","strong","u","span","p","br","a","ul","ol","li","h1","h2","h3","h4","h5","h6","article","div","label"],ALLOWED_ATTR:["class","id","href","target","rel","title","data-countdown","v-modal"],ALLOW_DATA_ATTR:!0})}const Yt=["innerHTML"],_t=e.defineComponent({__name:"base-paragraph",props:{size:{},variant:{},text:{},className:{}},setup(t){const c=t;return Ue(()=>c.text||""),(n,l)=>(e.openBlock(),e.createElementBlock("p",{class:e.normalizeClass(["base-paragraph",`${t.size||""} ${t.className||""}`]),innerHTML:t.text},null,10,Yt))}});function H(){return Math.random().toString(16).slice(2)}async function mt(t){return await new Promise(c=>{let n=new FileReader;n.onload=()=>c(n.result),n.readAsDataURL(t)})}function Kt(t){const c=atob(t.split(",")[1]),n=new ArrayBuffer(c.length),l=new Uint8Array(n);for(let o=0;o<c.length;o++)l[o]=c.charCodeAt(o);return new Blob([n],{type:"image/png"})}function Zt(t){return{"image/jpeg":"jpg","image/jpg":"jpg","image/png":"png","image/gif":"gif","image/webp":"webp","image/svg+xml":"svg","image/bmp":"bmp","image/tiff":"tiff","application/pdf":"pdf","video/mp4":"mp4","video/webm":"webm","video/ogg":"ogg"}[t]||"bin"}async function ft(t,c,n){const l=Zt(n),i=c.includes(".")?c:`${c}.${l}`;return fetch(t).then(function(a){return a.arrayBuffer()}).then(function(a){return new File([a],i,{type:n})})}async function Xt(t){return await new Promise((c,n)=>{const l=new Image;l.onload=()=>c(l),l.onerror=o=>n(o),l.src=t})}function pt(t,c,n,l="image/png",o){const i=document.createElement("canvas");i.width=c,i.height=n;const a=i.getContext("2d");return a?(a.drawImage(t,0,0,c,n),i.toDataURL(l,o)):t.src}async function ea(t,c,n){const l=(t.type||"").toLowerCase();if(!(l.startsWith("image/")&&l!=="image/svg+xml"))return t;const i=await mt(t),a=await Xt(i),r=a.naturalWidth,s=a.naturalHeight;if(!r||r<=c)return t;const d=Math.round(c),u=s/r,A=Math.round(d*u),m=pt(a,d,A,t.type||"image/png",n);return await ft(m,t.name,t.type||"image/png")}function gt(t){return!t||typeof t!="string"?"":t.replace(/\0/g,"").replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/on\w+\s*=\s*["'][^"']*["']/gi,"").replace(/on\w+\s*=\s*[^\s>]*/gi,"").replace(/javascript:/gi,"").replace(/data:text\/html/gi,"")}const ta={class:"accordion-item"},aa=["id"],na=["aria-expanded","aria-controls"],la={class:"flex-grow-1"},oa=["id","aria-labelledby"],ia=["innerHTML"],ra=e.defineComponent({__name:"accordion-item",props:{id:{type:String,default:()=>H()},modelValue:{type:Boolean,default:!1},title:{type:String,default:"Accordion Title"},body:{type:String,default:"<p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Nisi aut, nobis inventore repudiandae quo laboriosam. Dicta placeat ullam harum optio expedita. Harum fugiat suscipit sapiente quos, molestias neque eaque omnis?</p>"},parent:{type:String,default:""},noPadding:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(n.modelValue);e.watch(()=>n.modelValue,r=>{o.value=r});const i=Ue(()=>n.body);function a(){o.value=!o.value,l("update:modelValue",o.value)}return(r,s)=>(e.openBlock(),e.createElementBlock("div",ta,[e.createElementVNode("div",{class:"accordion-header",id:`heading-${t.id}`},[e.createElementVNode("button",{class:e.normalizeClass(["accordion-button",!o.value&&"collapsed"]),type:"button","aria-expanded":o.value,"aria-controls":`target${t.id}`,onClick:a},[e.renderSlot(r.$slots,"toggle",{},()=>[e.createElementVNode("span",la,e.toDisplayString(t.title),1)])],10,na)],8,aa),e.createVNode(e.Transition,{name:"accordion"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:"accordion-collapse",id:`target${t.id}`,"aria-labelledby":`heading-${t.id}`},[e.createElementVNode("div",{class:e.normalizeClass(["accordion-body",t.noPadding?"p-0":""])},[e.renderSlot(r.$slots,"body",{},()=>[e.createElementVNode("article",{innerHTML:e.unref(i)},null,8,ia)])],2)],8,oa),[[e.vShow,o.value]])]),_:3})]))}}),sa=(t,c)=>{const n=t.__vccOpts||t;for(const[l,o]of c)n[l]=o;return n},ca={},Aa={class:"accordion"};function da(t,c){return e.openBlock(),e.createElementBlock("div",Aa,[e.renderSlot(t.$slots,"default")])}const ua=sa(ca,[["render",da]]),ma=["type","disabled"],ht=e.defineComponent({__name:"base-button",props:{type:{type:null},caption:{type:String},variant:{type:String},color:{type:String,default:"primary"},size:{type:String},icon:{type:String},disabled:{type:Boolean,default:!1},pending:{type:Boolean,default:!1},success:{type:Boolean,default:!1},error:{type:Boolean,default:!1},outlined:{type:Boolean,default:!1},rounded:{type:Boolean,default:!1},circle:{type:Boolean,default:!1}},setup(t){const c=t,n=e.computed(()=>c.caption&&!c.circle);return(l,o)=>(e.openBlock(),e.createElementBlock("button",{type:t.type,disabled:t.disabled,class:e.normalizeClass(["btn",{disabled:t.disabled,pending:t.pending,rounded:t.rounded,"rounded-circle":t.circle,[`btn-${t.color}`]:!t.outlined,[`btn-outline-${t.color}`]:t.outlined,"btn-lg":t.size==="large","btn-sm":t.size==="small"}])},[t.pending?e.renderSlot(l.$slots,"pending-icon",{key:0},()=>[e.createVNode(He)]):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default",{},()=>[t.icon?(e.openBlock(),e.createBlock(D,{key:0,symbol:t.icon,class:"base-button__caption"},null,8,["symbol"])):e.createCommentVNode("",!0),n.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["base-button__caption",{"icon-padding":t.icon}])},e.toDisplayString(t.caption),3)):e.createCommentVNode("",!0)])],10,ma))}}),fa={class:"input-group input__input-group"},pa=["type","id","name","placeholder","pattern","disabled","readonly","required","maxlength","true-value","false-value","aria-label","role","autocomplete"],ga=["for","innerHTML"],ha={key:0,class:"input__error alert alert-danger mt-3"},Se=e.defineComponent({__name:"base-input",props:{modelValue:{type:[String,Number,Boolean,Date],default:""},type:{type:String,default:"text"},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},min:{type:Number},max:{type:Number},maxlength:{type:Number},pattern:{type:String,default:null},trueValue:{type:null,default:!0},falseValue:{type:null,default:!1},role:{type:String,default:"presentation"},autocomplete:{type:String,default:"off"},validate:{type:Boolean,default:!1},valid:{type:Boolean,default:!0},sanitize:{type:Boolean,default:!0}},emits:["update:modelValue","update:valid"],setup(t,{emit:c}){const n=t,l=c,o=e.useTemplateRef("input"),i=e.ref(n.valid),a=e.ref(),r=e.computed(()=>Z(`${n.label}${n.required?" *":""}`)),s=e.computed({get(){return n.modelValue},set(A){A=n.type==="number"?n.max&&Number(A)>n.max?n.max:n.min!==void 0&&Number(A)<n.min?n.min:Number(A):A,n.sanitize&&typeof A=="string"&&!["checkbox","radio","number","date","datetime-local","time","month","week","email","tel","url"].includes(n.type)&&(A=gt(A)),l("update:modelValue",A)}}),d=e.computed(()=>{if(n.type==="number"){const{min:A,max:m}=n;return{...A!==void 0?{min:A}:{},...m!==void 0?{max:m}:{}}}return{}});function u(){n.validate&&o.value&&(i.value=o.value.checkValidity(),i.value?a.value=void 0:a.value=o.value.validationMessage,l("update:valid",i.value))}return e.watch(()=>n.modelValue,()=>{i.value===!1&&u()}),e.onMounted(()=>{let A=m=>{s.value=typeof m.detail=="string"||typeof m.detail=="number"?`${m.detail}`:""};o.value?.addEventListener("focusin",m=>{window.addEventListener("update-focussed-input",A)}),o.value?.addEventListener("focusout",m=>{window.removeEventListener("update-focussed-input",A)}),u()}),(A,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["input",`input--${t.type}${i.value?"":" input--invalid"}`])},[e.createElementVNode("div",fa,[e.renderSlot(A.$slots,"input-prepend",{slotScope:"props"}),e.withDirectives(e.createElementVNode("input",e.mergeProps({ref_key:"input",ref:o,"onUpdate:modelValue":m[0]||(m[0]=f=>s.value=f),type:t.type==="color"?"text":t.type,id:t.id,name:t.name,placeholder:t.placeholder,pattern:t.pattern,disabled:t.disabled,readonly:t.readOnly,required:t.required,maxlength:t.maxlength},d.value,{"true-value":t.trueValue,"false-value":t.falseValue,class:["form-control",{"form-check-input":t.type==="checkbox"}],"aria-label":t.label,role:t.role,autocomplete:t.autocomplete,onChange:u}),null,16,pa),[[e.vModelDynamic,s.value]]),e.renderSlot(A.$slots,"input-append",{slotScope:"props"})]),e.renderSlot(A.$slots,"label",{},()=>[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id,class:e.normalizeClass(["input__label",{"form-check-label":t.type==="checkbox"}]),innerHTML:r.value},null,10,ga)):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[!i.value&&a.value?(e.openBlock(),e.createElementBlock("div",ha,e.toDisplayString(a.value),1)):e.createCommentVNode("",!0)]),_:1})],2))}}),ya={class:"input input--textarea"},ba=["type","id","name","placeholder","pattern","disabled","read-only","required","maxlength","aria-label"],ka=["for","innerHTML"],wa=e.defineComponent({__name:"input-textarea",props:{modelValue:{type:String,default:""},type:{type:String,default:"text"},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},maxlength:{type:Number},pattern:{type:String,default:null},checked:{type:Boolean,default:!1},sanitize:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.computed({get(){return n.modelValue},set(i){n.sanitize&&typeof i=="string"&&(i=gt(i)),l("update:modelValue",i)}});return(i,a)=>(e.openBlock(),e.createElementBlock("div",ya,[e.renderSlot(i.$slots,"input-prepend"),e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":a[0]||(a[0]=r=>o.value=r),type:t.type,id:t.id,name:t.name,placeholder:t.placeholder,pattern:t.pattern,disabled:t.disabled,"read-only":t.readOnly,required:t.required,maxlength:t.maxlength,class:e.normalizeClass(["form-control",{}]),"aria-label":t.label},null,8,ba),[[e.vModelText,o.value]]),e.renderSlot(i.$slots,"input-append"),e.renderSlot(i.$slots,"label",{},()=>[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["input__label",{"form-check-label":t.type==="checkbox"}]),innerHTML:`${t.label}${t.required?" *":""}`},null,10,ka)])]))}}),Ba={class:"form-check input input--checkbox"},Va=["value","id","name","required","disabled","true-value","false-value"],Ca=["for","innerHTML"],Ea=e.defineComponent({__name:"input-checkbox",props:{id:{type:String},name:{type:String},label:{type:String},error:{type:String},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},modelValue:{type:[Boolean,Array]},value:{type:[String,Object]},checked:{type:Boolean},trueValue:{type:null,default:!0},falseValue:{type:null,default:!1}},emits:["update:modelValue","update:checked"],setup(t,{emit:c}){const n=t,l=c,o=e.computed({get(){return n.modelValue||n.checked},set(i){l("update:checked",i),l("update:modelValue",i)}});return(i,a)=>(e.openBlock(),e.createElementBlock("div",Ba,[e.withDirectives(e.createElementVNode("input",{ref:"input","onUpdate:modelValue":a[0]||(a[0]=r=>o.value=r),value:t.value,id:t.id,name:t.name,type:"checkbox",required:t.required,disabled:t.disabled,class:"form-check-input","true-value":t.trueValue,"false-value":t.falseValue},null,8,Va),[[e.vModelCheckbox,o.value]]),e.createElementVNode("label",{class:"input__label form-check-label",for:t.id,innerHTML:e.unref(Z)(t.label||"")},null,8,Ca)]))}}),$a={class:"input-group input__input-group"},Sa=["id","name","placeholder","pattern","disabled","read-only","required","aria-label"],Na=["for","innerHTML"],va=e.defineComponent({__name:"input-datetime",props:{modelValue:{type:[String,Number,Boolean,Date],default:""},type:{type:String,default:"text"},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},pattern:{type:String,default:null}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.computed({get(){const i=n.modelValue&&new Date(`${n.modelValue}Z`),a=i&&new Date(i.getTime()+new Date().getTimezoneOffset()*-60*1e3).toISOString();return a&&a.replace("Z","")},set(i){const a=i&&new Date(i);i=a&&a.toISOString(),l("update:modelValue",i&&i.replace("Z",""))}});return(i,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["input",`input--${t.type}`])},[e.createElementVNode("div",$a,[e.renderSlot(i.$slots,"input-prepend",{slotScope:"props"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":a[0]||(a[0]=r=>o.value=r),type:"datetime-local",id:t.id,name:t.name,placeholder:t.placeholder,pattern:t.pattern,disabled:t.disabled,"read-only":t.readOnly,required:t.required,class:"form-control","aria-label":t.label},null,8,Sa),[[e.vModelText,o.value]]),e.renderSlot(i.$slots,"input-append",{slotScope:"props"})]),e.renderSlot(i.$slots,"label",{},()=>[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id,class:"input__label",innerHTML:e.unref(Z)(`${t.label}${t.required?" *":""}`)},null,8,Na)):e.createCommentVNode("",!0)])],2))}});function me(t){return(c={})=>{const n=c.width?String(c.width):t.defaultWidth;return t.formats[n]||t.formats[t.defaultWidth]}}function ee(t){return(c,n)=>{const l=n?.context?String(n.context):"standalone";let o;if(l==="formatting"&&t.formattingValues){const a=t.defaultFormattingWidth||t.defaultWidth,r=n?.width?String(n.width):a;o=t.formattingValues[r]||t.formattingValues[a]}else{const a=t.defaultWidth,r=n?.width?String(n.width):t.defaultWidth;o=t.values[r]||t.values[a]}const i=t.argumentCallback?t.argumentCallback(c):c;return o[i]}}function te(t){return(c,n={})=>{const l=n.width,o=l&&t.matchPatterns[l]||t.matchPatterns[t.defaultMatchWidth],i=c.match(o);if(!i)return null;const a=i[0],r=l&&t.parsePatterns[l]||t.parsePatterns[t.defaultParseWidth],s=Array.isArray(r)?Da(r,A=>A.test(a)):Ma(r,A=>A.test(a));let d;d=t.valueCallback?t.valueCallback(s):s,d=n.valueCallback?n.valueCallback(d):d;const u=c.slice(a.length);return{value:d,rest:u}}}function Ma(t,c){for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&c(t[n]))return n}function Da(t,c){for(let n=0;n<t.length;n++)if(c(t[n]))return n}function nt(t){return(c,n={})=>{const l=c.match(t.matchPattern);if(!l)return null;const o=l[0],i=c.match(t.parsePattern);if(!i)return null;let a=t.valueCallback?t.valueCallback(i[0]):i[0];a=n.valueCallback?n.valueCallback(a):a;const r=c.slice(o.length);return{value:a,rest:r}}}const yt={lessThanXSeconds:{standalone:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"},withPreposition:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"}},xSeconds:{standalone:{one:"1 Sekunde",other:"{{count}} Sekunden"},withPreposition:{one:"1 Sekunde",other:"{{count}} Sekunden"}},halfAMinute:{standalone:"eine halbe Minute",withPreposition:"einer halben Minute"},lessThanXMinutes:{standalone:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"},withPreposition:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"}},xMinutes:{standalone:{one:"1 Minute",other:"{{count}} Minuten"},withPreposition:{one:"1 Minute",other:"{{count}} Minuten"}},aboutXHours:{standalone:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"},withPreposition:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"}},xHours:{standalone:{one:"1 Stunde",other:"{{count}} Stunden"},withPreposition:{one:"1 Stunde",other:"{{count}} Stunden"}},xDays:{standalone:{one:"1 Tag",other:"{{count}} Tage"},withPreposition:{one:"1 Tag",other:"{{count}} Tagen"}},aboutXWeeks:{standalone:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"},withPreposition:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"}},xWeeks:{standalone:{one:"1 Woche",other:"{{count}} Wochen"},withPreposition:{one:"1 Woche",other:"{{count}} Wochen"}},aboutXMonths:{standalone:{one:"etwa 1 Monat",other:"etwa {{count}} Monate"},withPreposition:{one:"etwa 1 Monat",other:"etwa {{count}} Monaten"}},xMonths:{standalone:{one:"1 Monat",other:"{{count}} Monate"},withPreposition:{one:"1 Monat",other:"{{count}} Monaten"}},aboutXYears:{standalone:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahre"},withPreposition:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahren"}},xYears:{standalone:{one:"1 Jahr",other:"{{count}} Jahre"},withPreposition:{one:"1 Jahr",other:"{{count}} Jahren"}},overXYears:{standalone:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahre"},withPreposition:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahren"}},almostXYears:{standalone:{one:"fast 1 Jahr",other:"fast {{count}} Jahre"},withPreposition:{one:"fast 1 Jahr",other:"fast {{count}} Jahren"}}},La=(t,c,n)=>{let l;const o=n?.addSuffix?yt[t].withPreposition:yt[t].standalone;return typeof o=="string"?l=o:c===1?l=o.one:l=o.other.replace("{{count}}",String(c)),n?.addSuffix?n.comparison&&n.comparison>0?"in "+l:"vor "+l:l},Ia={full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.y"},Ta={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Pa={full:"{{date}} 'um' {{time}}",long:"{{date}} 'um' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},xa={date:me({formats:Ia,defaultWidth:"full"}),time:me({formats:Ta,defaultWidth:"full"}),dateTime:me({formats:Pa,defaultWidth:"full"})},za={lastWeek:"'letzten' eeee 'um' p",yesterday:"'gestern um' p",today:"'heute um' p",tomorrow:"'morgen um' p",nextWeek:"eeee 'um' p",other:"P"},Fa=(t,c,n,l)=>za[t],Oa={narrow:["v.Chr.","n.Chr."],abbreviated:["v.Chr.","n.Chr."],wide:["vor Christus","nach Christus"]},Ra={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. Quartal","2. Quartal","3. Quartal","4. Quartal"]},lt={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],wide:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},Ha={narrow:lt.narrow,abbreviated:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez."],wide:lt.wide},Ua={narrow:["S","M","D","M","D","F","S"],short:["So","Mo","Di","Mi","Do","Fr","Sa"],abbreviated:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],wide:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},Qa={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachm.",evening:"Abend",night:"Nacht"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"}},Wa={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachm.",evening:"abends",night:"nachts"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"}},ja={ordinalNumber:t=>Number(t)+".",era:ee({values:Oa,defaultWidth:"wide"}),quarter:ee({values:Ra,defaultWidth:"wide",argumentCallback:t=>t-1}),month:ee({values:lt,formattingValues:Ha,defaultWidth:"wide"}),day:ee({values:Ua,defaultWidth:"wide"}),dayPeriod:ee({values:Qa,defaultWidth:"wide",formattingValues:Wa,defaultFormattingWidth:"wide"})},qa=/^(\d+)(\.)?/i,Ga=/\d+/i,Ja={narrow:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,abbreviated:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,wide:/^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i},Ya={any:[/^v/i,/^n/i]},_a={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? Quartal/i},Ka={any:[/1/i,/2/i,/3/i,/4/i]},Za={narrow:/^[jfmasond]/i,abbreviated:/^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\.?/i,wide:/^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i},Xa={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^j[aä]/i,/^f/i,/^mär/i,/^ap/i,/^mai/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},en={narrow:/^[smdmf]/i,short:/^(so|mo|di|mi|do|fr|sa)/i,abbreviated:/^(son?|mon?|die?|mit?|don?|fre?|sam?)\.?/i,wide:/^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i},tn={any:[/^so/i,/^mo/i,/^di/i,/^mi/i,/^do/i,/^f/i,/^sa/i]},an={narrow:/^(vm\.?|nm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,abbreviated:/^(vorm\.?|nachm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,wide:/^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i},nn={any:{am:/^v/i,pm:/^n/i,midnight:/^Mitte/i,noon:/^Mitta/i,morning:/morgens/i,afternoon:/nachmittags/i,evening:/abends/i,night:/nachts/i}},ln={ordinalNumber:nt({matchPattern:qa,parsePattern:Ga,valueCallback:t=>parseInt(t)}),era:te({matchPatterns:Ja,defaultMatchWidth:"wide",parsePatterns:Ya,defaultParseWidth:"any"}),quarter:te({matchPatterns:_a,defaultMatchWidth:"wide",parsePatterns:Ka,defaultParseWidth:"any",valueCallback:t=>t+1}),month:te({matchPatterns:Za,defaultMatchWidth:"wide",parsePatterns:Xa,defaultParseWidth:"any"}),day:te({matchPatterns:en,defaultMatchWidth:"wide",parsePatterns:tn,defaultParseWidth:"any"}),dayPeriod:te({matchPatterns:an,defaultMatchWidth:"wide",parsePatterns:nn,defaultParseWidth:"any"})},on={code:"de",formatDistance:La,formatLong:xa,formatRelative:Fa,localize:ja,match:ln,options:{weekStartsOn:1,firstWeekContainsDate:4}},rn={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},sn=(t,c,n)=>{let l;const o=rn[t];return typeof o=="string"?l=o:c===1?l=o.one:l=o.other.replace("{{count}}",c.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+l:l+" ago":l},cn={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},An=(t,c,n,l)=>cn[t],dn={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},un={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},mn={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},fn={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},pn={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},gn={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},hn={ordinalNumber:(t,c)=>{const n=Number(t),l=n%100;if(l>20||l<10)switch(l%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:ee({values:dn,defaultWidth:"wide"}),quarter:ee({values:un,defaultWidth:"wide",argumentCallback:t=>t-1}),month:ee({values:mn,defaultWidth:"wide"}),day:ee({values:fn,defaultWidth:"wide"}),dayPeriod:ee({values:pn,defaultWidth:"wide",formattingValues:gn,defaultFormattingWidth:"wide"})},yn=/^(\d+)(th|st|nd|rd)?/i,bn=/\d+/i,kn={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},wn={any:[/^b/i,/^(a|c)/i]},Bn={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Vn={any:[/1/i,/2/i,/3/i,/4/i]},Cn={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},En={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},$n={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Sn={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Nn={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},vn={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Mn={ordinalNumber:nt({matchPattern:yn,parsePattern:bn,valueCallback:t=>parseInt(t,10)}),era:te({matchPatterns:kn,defaultMatchWidth:"wide",parsePatterns:wn,defaultParseWidth:"any"}),quarter:te({matchPatterns:Bn,defaultMatchWidth:"wide",parsePatterns:Vn,defaultParseWidth:"any",valueCallback:t=>t+1}),month:te({matchPatterns:Cn,defaultMatchWidth:"wide",parsePatterns:En,defaultParseWidth:"any"}),day:te({matchPatterns:$n,defaultMatchWidth:"wide",parsePatterns:Sn,defaultParseWidth:"any"}),dayPeriod:te({matchPatterns:Nn,defaultMatchWidth:"any",parsePatterns:vn,defaultParseWidth:"any"})},Dn={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Ln={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},In={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Tn={date:me({formats:Dn,defaultWidth:"full"}),time:me({formats:Ln,defaultWidth:"full"}),dateTime:me({formats:In,defaultWidth:"full"})},bt={code:"en-US",formatDistance:sn,formatLong:Tn,formatRelative:An,localize:hn,match:Mn,options:{weekStartsOn:0,firstWeekContainsDate:1}},Pn={lessThanXSeconds:{one:"moins d’une seconde",other:"moins de {{count}} secondes"},xSeconds:{one:"1 seconde",other:"{{count}} secondes"},halfAMinute:"30 secondes",lessThanXMinutes:{one:"moins d’une minute",other:"moins de {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"environ 1 heure",other:"environ {{count}} heures"},xHours:{one:"1 heure",other:"{{count}} heures"},xDays:{one:"1 jour",other:"{{count}} jours"},aboutXWeeks:{one:"environ 1 semaine",other:"environ {{count}} semaines"},xWeeks:{one:"1 semaine",other:"{{count}} semaines"},aboutXMonths:{one:"environ 1 mois",other:"environ {{count}} mois"},xMonths:{one:"1 mois",other:"{{count}} mois"},aboutXYears:{one:"environ 1 an",other:"environ {{count}} ans"},xYears:{one:"1 an",other:"{{count}} ans"},overXYears:{one:"plus d’un an",other:"plus de {{count}} ans"},almostXYears:{one:"presqu’un an",other:"presque {{count}} ans"}},xn=(t,c,n)=>{let l;const o=Pn[t];return typeof o=="string"?l=o:c===1?l=o.one:l=o.other.replace("{{count}}",String(c)),n?.addSuffix?n.comparison&&n.comparison>0?"dans "+l:"il y a "+l:l},zn={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},Fn={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},On={full:"{{date}} 'à' {{time}}",long:"{{date}} 'à' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Rn={date:me({formats:zn,defaultWidth:"full"}),time:me({formats:Fn,defaultWidth:"full"}),dateTime:me({formats:On,defaultWidth:"full"})},Hn={lastWeek:"eeee 'dernier à' p",yesterday:"'hier à' p",today:"'aujourd’hui à' p",tomorrow:"'demain à' p'",nextWeek:"eeee 'prochain à' p",other:"P"},Un=(t,c,n,l)=>Hn[t],Qn={narrow:["av. J.-C","ap. J.-C"],abbreviated:["av. J.-C","ap. J.-C"],wide:["avant Jésus-Christ","après Jésus-Christ"]},Wn={narrow:["T1","T2","T3","T4"],abbreviated:["1er trim.","2ème trim.","3ème trim.","4ème trim."],wide:["1er trimestre","2ème trimestre","3ème trimestre","4ème trimestre"]},jn={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],wide:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},qn={narrow:["D","L","M","M","J","V","S"],short:["di","lu","ma","me","je","ve","sa"],abbreviated:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],wide:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},Gn={narrow:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"mat.",afternoon:"ap.m.",evening:"soir",night:"mat."},abbreviated:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"matin",afternoon:"après-midi",evening:"soir",night:"matin"},wide:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"du matin",afternoon:"de l’après-midi",evening:"du soir",night:"du matin"}},Jn=(t,c)=>{const n=Number(t),l=c?.unit;if(n===0)return"0";const o=["year","week","hour","minute","second"];let i;return n===1?i=l&&o.includes(l)?"ère":"er":i="ème",n+i},Yn=["MMM","MMMM"],_n={preprocessor:(t,c)=>t.getDate()===1||!c.some(l=>l.isToken&&Yn.includes(l.value))?c:c.map(l=>l.isToken&&l.value==="do"?{isToken:!0,value:"d"}:l),ordinalNumber:Jn,era:ee({values:Qn,defaultWidth:"wide"}),quarter:ee({values:Wn,defaultWidth:"wide",argumentCallback:t=>t-1}),month:ee({values:jn,defaultWidth:"wide"}),day:ee({values:qn,defaultWidth:"wide"}),dayPeriod:ee({values:Gn,defaultWidth:"wide"})},Kn=/^(\d+)(ième|ère|ème|er|e)?/i,Zn=/\d+/i,Xn={narrow:/^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i,abbreviated:/^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i,wide:/^(avant Jésus-Christ|après Jésus-Christ)/i},el={any:[/^av/i,/^ap/i]},tl={narrow:/^T?[1234]/i,abbreviated:/^[1234](er|ème|e)? trim\.?/i,wide:/^[1234](er|ème|e)? trimestre/i},al={any:[/1/i,/2/i,/3/i,/4/i]},nl={narrow:/^[jfmasond]/i,abbreviated:/^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i,wide:/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i},ll={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^av/i,/^ma/i,/^juin/i,/^juil/i,/^ao/i,/^s/i,/^o/i,/^n/i,/^d/i]},ol={narrow:/^[lmjvsd]/i,short:/^(di|lu|ma|me|je|ve|sa)/i,abbreviated:/^(dim|lun|mar|mer|jeu|ven|sam)\.?/i,wide:/^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i},il={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^di/i,/^lu/i,/^ma/i,/^me/i,/^je/i,/^ve/i,/^sa/i]},rl={narrow:/^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i,any:/^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i},sl={any:{am:/^a/i,pm:/^p/i,midnight:/^min/i,noon:/^mid/i,morning:/mat/i,afternoon:/ap/i,evening:/soir/i,night:/nuit/i}},cl={ordinalNumber:nt({matchPattern:Kn,parsePattern:Zn,valueCallback:t=>parseInt(t)}),era:te({matchPatterns:Xn,defaultMatchWidth:"wide",parsePatterns:el,defaultParseWidth:"any"}),quarter:te({matchPatterns:tl,defaultMatchWidth:"wide",parsePatterns:al,defaultParseWidth:"any",valueCallback:t=>t+1}),month:te({matchPatterns:nl,defaultMatchWidth:"wide",parsePatterns:ll,defaultParseWidth:"any"}),day:te({matchPatterns:ol,defaultMatchWidth:"wide",parsePatterns:il,defaultParseWidth:"any"}),dayPeriod:te({matchPatterns:rl,defaultMatchWidth:"any",parsePatterns:sl,defaultParseWidth:"any"})},Al={code:"fr",formatDistance:xn,formatLong:Rn,formatRelative:Un,localize:_n,match:cl,options:{weekStartsOn:1,firstWeekContainsDate:4}},dl={class:"row"},ul={class:"col-12"},ml=["for","innerHTML"],fl={key:0},pl={class:"input-group justify-content-center"},gl={key:0,class:"row"},hl={class:"col-12 col-md-6"},yl={class:"col-12 col-md-6"},bl={key:1,class:"row"},kl={class:"col-12"},wl=e.defineComponent({__name:"input-datepicker",props:{modelValue:{type:null,default:""},from:{type:[String,Number,Boolean,Date],default:""},to:{type:[String,Number,Boolean,Date],default:""},type:{type:String,default:"datetime-local"},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},range:{type:Boolean,default:!1},textRange:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},textInput:{type:Boolean,default:!0},picker:{type:Boolean,default:!0},locale:{type:String,default:"en"},utcStore:{type:Boolean,default:!1}},emits:["update:modelValue","update:from","update:to"],setup(t,{emit:c}){const n=e.shallowRef(null);e.onMounted(async()=>{const{VueDatePicker:p}=await import("@vuepic/vue-datepicker");n.value=p});const l=t,o=c,{t:i,locale:a}=tt.useI18n(),r={en:bt,de:on,fr:Al},s=e.computed(()=>{const p=l.locale||a.value;return r[p]||bt}),d=e.computed(()=>l.inline||!l.picker?{openMenu:!1,format:s.value}:!0),u=e.computed({get(){if(l.range){let p=l.from||(Array.isArray(l.modelValue)?l.modelValue[0]:null),k=l.to||(Array.isArray(l.modelValue)?l.modelValue[1]:null);return l.utcStore?(p=p?g(p):null,k=k?g(k):null):(p=p?new Date(`${p}Z`).toISOString().replace("Z",""):null,k=k?new Date(`${k}Z`).toISOString().replace("Z",""):null),[...p?[p]:[],...k?[k]:[]]}else{if(l.utcStore){const h=l.modelValue;return h&&g(h)||""}const p=l.modelValue?new Date(`${l.modelValue}Z`):null,k=p&&p.toISOString();return k&&k.replace("Z","")}},set(p){if(l.range&&Array.isArray(p)){let[k,h]=p;l.utcStore?(k=y(k)||null,h=y(h)||null):(k=k&&new Date(k),k?.setUTCHours(k.getHours()),k=k?.toISOString()?.replace("Z",""),h=h&&new Date(h),h?.setUTCHours(h.getHours()),h=h?.toISOString()?.replace("Z","")),o("update:modelValue",[k,h]),o("update:from",k),o("update:to",h)}else if(l.utcStore){const k=y(p);o("update:modelValue",k)}else{const k=p&&new Date(p);k?.setUTCHours(k?.getHours()),p=k&&k.toISOString(),o("update:modelValue",p&&p.replace("Z",""))}}}),A=e.computed({get(){return Array.isArray(u.value)?u.value[0]:u.value},set(p){u.value=Array.isArray(u.value)?[p,u.value[0]]:p}}),m=e.computed({get(){return Array.isArray(u.value)?u.value[1]:u.value},set(p){u.value=Array.isArray(u.value)?[u.value[0],p]:p}});e.watch(()=>[A.value,m.value],(p,k)=>{l.range&&p.some(h=>h===void 0)&&k.every(Boolean)&&(u.value=[])});function f(p){if(!p)return;const k=p.getDate(),h=p.getMonth()+1,T=p.getFullYear(),x=p.getMinutes(),F=p.getHours();switch(s.value){case"de":return`${k}.${h}.${T} ${F<10?"0"+F:F}:${x<10?"0"+x:x}`;case"fr":return`${k}/${h}/${T} ${F<10?"0"+F:F}:${x<10?"0"+x:x}`;default:return`${h}/${k}/${T} ${F<10?"0"+F:F}:${x<10?"0"+x:x}`}}function g(p){if(!p)return null;const k=p instanceof Date?new Date(p):new Date(`${p}Z`),h=k.getFullYear(),T=String(k.getMonth()+1).padStart(2,"0"),x=String(k.getDate()).padStart(2,"0"),F=String(k.getHours()).padStart(2,"0"),$=String(k.getMinutes()).padStart(2,"0"),R=String(k.getSeconds()).padStart(2,"0");return`${h}-${T}-${x}T${F}:${$}:${R}`}function y(p){return p?(p instanceof Date?new Date(p):new Date(String(p))).toISOString().split(".")[0]:null}const C=p=>(Array.isArray(p)?p=p.map(k=>f(k)).join(" - "):p=f(p),p);return(p,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["input","input--datepicker"])},[e.renderSlot(p.$slots,"label",{},()=>[e.createElementVNode("div",dl,[e.createElementVNode("div",ul,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id,class:"input__label",innerHTML:e.unref(Z)(`${t.label}${t.required?" *":""}`)},null,8,ml)):e.createCommentVNode("",!0)])])]),t.textInput?(e.openBlock(),e.createElementBlock("div",fl,[e.createElementVNode("div",pl,[e.renderSlot(p.$slots,"input-prepend",{slotScope:"props"}),t.range&&!t.textRange?(e.openBlock(),e.createElementBlock("div",gl,[e.createElementVNode("div",hl,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{uid:`${t.id}-from`,modelValue:A.value,"onUpdate:modelValue":k[0]||(k[0]=h=>A.value=h),locale:s.value,format:C,"text-input":d.value,disabled:t.disabled,"read-only":t.readOnly,required:t.required,"auto-apply":!0},null,8,["uid","modelValue","locale","text-input","disabled","read-only","required"]))]),e.createElementVNode("div",yl,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{uid:`${t.id}-to`,modelValue:m.value,"onUpdate:modelValue":k[1]||(k[1]=h=>m.value=h),locale:s.value,format:C,"text-input":d.value,disabled:t.disabled,"read-only":t.readOnly,required:t.required,"auto-apply":!0},null,8,["uid","modelValue","locale","text-input","disabled","read-only","required"]))])])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{key:1,uid:`${t.id}-input-to`,modelValue:u.value,"onUpdate:modelValue":k[2]||(k[2]=h=>u.value=h),format:C,locale:s.value,range:t.textRange,"text-input":d.value,disabled:t.disabled,"read-only":t.readOnly,required:t.required,"auto-apply":!0},null,8,["uid","modelValue","locale","range","text-input","disabled","read-only","required"])),e.renderSlot(p.$slots,"input-append",{slotScope:"props"})])])):e.createCommentVNode("",!0),t.inline?(e.openBlock(),e.createElementBlock("div",bl,[e.createElementVNode("div",kl,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{uid:`${t.id}-inline`,modelValue:u.value,"onUpdate:modelValue":k[3]||(k[3]=h=>u.value=h),locale:s.value,cancelText:"abbrechen",selectText:"auswählen",range:t.range,"multi-calendars":t.range,inline:{input:!1},"auto-apply":!0,"partial-range":t.range,"partial-flow":!0,"start-time":{hours:0,minutes:0},class:"justify-content-center",disabled:t.disabled,"read-only":t.readOnly,required:t.required,"month-name-format":"long"},null,8,["uid","modelValue","locale","range","multi-calendars","partial-range","disabled","read-only","required"]))])])):e.createCommentVNode("",!0)]))}}),Bl={class:"input-group input__input-group"},kt=e.defineComponent({__name:"input-password",props:{modelValue:{type:[String,Number,Boolean,Date],default:""},type:{type:String,default:"text"},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},maxlength:{type:Number},pattern:{type:String,default:null},role:{type:String,default:"presentation"},autocomplete:{type:String,default:"off"},password:{type:String,default:""},confirm:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.computed({get(){return n.modelValue},set(i){n.password===i||!n.password?l("update:modelValue",i):l("update:modelValue","")}});return(i,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["input","input-password"])},[e.createElementVNode("div",Bl,[e.createVNode(Se,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=r=>o.value=r),type:"password",placeholder:t.placeholder,disabled:t.disabled,readonly:t.readOnly,required:t.required,label:t.label},{"input-prepend":e.withCtx(r=>[e.renderSlot(i.$slots,"input-prepend",{slotScope:"props"})]),"input-append":e.withCtx(r=>[e.renderSlot(i.$slots,"input-append",{slotScope:"props"},()=>[t.confirm&&t.modelValue===t.password?(e.openBlock(),e.createBlock(D,{key:0,symbol:"check",class:"ms-2"})):e.createCommentVNode("",!0)])]),_:3},8,["modelValue","placeholder","disabled","readonly","required","label"])])]))}}),Vl={class:"input-group input__input-group"},Cl=["onUpdate:modelValue","disabled","readonly","onPaste","onInput","onKeydown"],El=e.defineComponent({__name:"input-passcode",props:{modelValue:{type:[String,Number,Boolean,Date],default:""},type:{type:String,default:"text"},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},maxlength:{type:Number},pattern:{type:String,default:null},role:{type:String,default:"presentation"},autocomplete:{type:String,default:"off"},passcodeMatch:{type:String,default:""},confirm:{type:Boolean,default:!1},splitInput:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const n=e.ref([]),l=e.ref([]),o=t,i=c,a=e.computed({get(){return o.modelValue},set(u){o.passcodeMatch===u||!o.passcodeMatch?i("update:modelValue",u):i("update:modelValue","")}});e.watch(()=>o.modelValue,u=>{const A=u?.toString()||"";for(l.value=A.split("").slice(0,o.passcodeMatch?.length||6);l.value.length<(o.passcodeMatch?.length||6);)l.value.push("")},{immediate:!0}),e.watch(()=>l.value,u=>{const A=u.join("");o.passcodeMatch===A||!o.passcodeMatch?i("update:modelValue",A):i("update:modelValue","")},{deep:!0});const r=(u,A)=>{u.preventDefault();const m=u.clipboardData?.getData("text")||"";console.log("Paste detected:",m);const f=m.split(""),g=o.passcodeMatch?.length||6;f.forEach((C,p)=>{const k=A+p;k<g&&(l.value[k]=C)});const y=Math.min(A+f.length,g-1);setTimeout(()=>n.value[y]?.focus(),0)},s=(u,A)=>{o.passcodeMatch?.length,u.key==="Backspace"&&!l.value[A]&&A>0&&n.value[A-1]?.focus()},d=(u,A)=>{let f=u.target.value;f.length>1&&(f=f.slice(-1)),l.value[A]=f;const g=o.passcodeMatch?.length||6;f&&A<g-1&&setTimeout(()=>n.value[A+1]?.focus(),0)};return(u,A)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["input","input-passcode"])},[e.createElementVNode("div",Vl,[t.splitInput?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(t.passcodeMatch,(m,f)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:f,"onUpdate:modelValue":g=>l.value[f]=g,type:"text",ref_for:!0,ref:g=>n.value[f]=g,maxlength:1,disabled:t.disabled,readonly:t.readOnly,onPaste:g=>r(g,f),onInput:g=>d(g,f),onKeydown:g=>s(g,f),size:"1",class:"form-control text-center"},null,40,Cl)),[[e.vModelText,l.value[f]]])),128)):(e.openBlock(),e.createBlock(kt,{key:0,modelValue:a.value,"onUpdate:modelValue":A[0]||(A[0]=m=>a.value=m),type:t.type,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readOnly,required:t.required,label:t.label},null,8,["modelValue","type","placeholder","disabled","readonly","required","label"]))])]))}}),$l={class:"check-group"},Sl=["id","name","value","disabled","read-only","required"],Nl=["for","innerHTML"],vl=e.defineComponent({__name:"check-group",props:{modelValue:{type:null,default:()=>[]},options:{type:Array,required:!0},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c;e.ref([]);const o=e.computed({get(){return n.modelValue},set(a){l("update:modelValue",a)}}),i=e.computed(()=>n.options&&n.options.map(a=>(a=typeof a=="string"?{text:a,value:a}:a,{...a,active:n.modelValue&&n.modelValue.includes(a.value)})));return(a,r)=>(e.openBlock(),e.createElementBlock("div",$l,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(s,d)=>(e.openBlock(),e.createElementBlock("div",{key:d,class:"form-check"},[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":r[0]||(r[0]=u=>o.value=u),id:`${t.id}-${d}`,name:t.name,class:"form-check-input",value:s.value||s,disabled:t.disabled,"read-only":t.readOnly,required:t.required},null,8,Sl),[[e.vModelCheckbox,o.value]]),e.createElementVNode("label",{class:"form-check-label",for:`${t.id}-${d}`,innerHTML:s.text},null,8,Nl)]))),128))]))}}),Ml={class:"input radio-group"},Dl=["id","name","value","checked","disabled","read-only","required","onChange"],Ll=["for","innerHTML"],Il=["for"],Qe=e.defineComponent({__name:"radio-group",props:{modelValue:{type:null},options:{type:Array,default:[]},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},keyOption:{type:null},itemClass:{type:String,default:""}},emits:["change","update:modelValue"],setup(t,{emit:c}){const n=c;function l(o){n("update:modelValue",o)}return(o,i)=>(e.openBlock(),e.createElementBlock("div",Ml,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(a,r)=>(e.openBlock(),e.createElementBlock("div",{key:r,class:e.normalizeClass(["form-check",t.itemClass])},[e.createElementVNode("input",{type:"radio",id:`${t.id}-${r}`,name:t.name,class:e.normalizeClass(["form-check-input",`
|
|
1
|
+
(function(N,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("dompurify"),require("vue-i18n"),require("lodash"),require("ofetch"),require("vue-advanced-cropper"),require("html2canvas"),require("qr-code-styling")):typeof define=="function"&&define.amd?define(["exports","vue","dompurify","vue-i18n","lodash","ofetch","vue-advanced-cropper","html2canvas","qr-code-styling"],e):(N=typeof globalThis<"u"?globalThis:N||self,e(N.AblokComponents={},N.Vue,N.DOMPurify,N.VueI18n,N._,N.ofetch,N.VueAdvancedCropper,N.html2canvas,N.QRCodeStyling))})(this,(function(N,e,et,tt,at,Re,Ht,Ut,ut){"use strict";const Qt={class:"icon",preserveAspectRatio:"xMaxYMin"},Wt=["xlink:href"],D=e.defineComponent({__name:"svg-icon",props:{basePath:{type:String,default:"/symbol-defs.svg"},prefix:{type:String,default:"icon-"},symbol:{type:String,default:""},size:{type:String,default:"default"}},setup(t){return(c,n)=>(e.openBlock(),e.createElementBlock("i",{class:e.normalizeClass(["svg-icon",{[`svg-icon--${t.size}`]:t.size}])},[(e.openBlock(),e.createElementBlock("svg",Qt,[e.createElementVNode("use",{"xlink:href":`${t.basePath}#${t.prefix}${t.symbol}`,"xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0",y:"0"},null,8,Wt)]))],2))}}),jt={class:"loading-spinner d-block"},He=e.defineComponent({__name:"loading-spinner",props:{color:{type:String,default:"#fff"}},setup(t){return(c,n)=>(e.openBlock(),e.createElementBlock("span",jt,[n[0]||(n[0]=e.createElementVNode("span",{class:"loading-spinner__animation"},[e.createElementVNode("svg",{version:"1.1",x:"0px",y:"0px",viewBox:"0 0 100 100"},[e.createElementVNode("path",{d:"M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50"},[e.createElementVNode("animateTransform",{attributeName:"transform",attributeType:"XML",type:"rotate",dur:"1s",from:"0 50 50",to:"360 50 50",repeatCount:"indefinite"})])])],-1)),e.renderSlot(c.$slots,"default")]))}}),qt=["src","alt"],ce=e.defineComponent({__name:"base-image",props:{src:{type:String,default:'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"/>',required:!0},alt:{type:String,default:""},spinner:{type:Boolean,default:!1},zoom:{type:Boolean,default:!1},animate:{type:Boolean,default:!0},ready:{type:Boolean,default:!1},pending:{type:Boolean,default:!1},emitPending:{type:Boolean,default:!0}},emits:["update:ready","update:pending"],setup(t,{emit:c}){const n=t,l=c,o=e.useTemplateRef("image"),i=e.ref(!1);function a(){i.value=!0,o.value?.addEventListener("transitionend",r,{once:!0})}function r(){l("update:ready",!0),n.emitPending&&l("update:pending",!1)}return e.onBeforeMount(()=>{n.emitPending&&l("update:pending",!0)}),(s,d)=>t.src?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["base-image",{"base-image--zoom":t.zoom}])},[t.spinner&&!i.value?(e.openBlock(),e.createBlock(He,{key:0})):e.createCommentVNode("",!0),e.createElementVNode("img",{ref_key:"image",ref:o,class:e.normalizeClass(["",{"opacity-0":t.animate&&!i.value,"opacity-1":!t.animate||i.value}]),src:t.src,alt:t.alt,onLoad:a},null,42,qt)],2)):e.createCommentVNode("",!0)}}),Gt=["innerHTML"],Jt=e.defineComponent({__name:"base-headline",props:{tag:{},size:{},variant:{},text:{},className:{}},setup(t){const c=t,n=e.computed(()=>c.tag||"p");return(l,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{class:e.normalizeClass(["headline",`${t.size} headline--${t.size}${t.className||""}`])},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default",{},()=>[e.createElementVNode("span",{class:"headline__text",innerHTML:t.text},null,8,Gt)])]),_:3},8,["class"]))}});function Ue(t){return e.computed(()=>{const c=typeof t=="function"?t():typeof t=="string"?t:t.value;return et.sanitize(c,{ALLOWED_TAGS:["b","i","em","strong","u","span","p","br","a","ul","ol","li","h1","h2","h3","h4","h5","h6","article","div","label"],ALLOWED_ATTR:["class","id","href","target","rel","title","data-countdown"],ALLOW_DATA_ATTR:!0})})}function Z(t){return et.sanitize(t,{ALLOWED_TAGS:["b","i","em","strong","u","span","p","br","a","ul","ol","li","h1","h2","h3","h4","h5","h6","article","div","label"],ALLOWED_ATTR:["class","id","href","target","rel","title","data-countdown","v-modal"],ALLOW_DATA_ATTR:!0})}const Yt=["innerHTML"],_t=e.defineComponent({__name:"base-paragraph",props:{size:{},variant:{},text:{},className:{}},setup(t){const c=t;return Ue(()=>c.text||""),(n,l)=>(e.openBlock(),e.createElementBlock("p",{class:e.normalizeClass(["base-paragraph",`${t.size||""} ${t.className||""}`]),innerHTML:t.text},null,10,Yt))}});function H(){return Math.random().toString(16).slice(2)}async function mt(t){return await new Promise(c=>{let n=new FileReader;n.onload=()=>c(n.result),n.readAsDataURL(t)})}function Kt(t){const c=atob(t.split(",")[1]),n=new ArrayBuffer(c.length),l=new Uint8Array(n);for(let o=0;o<c.length;o++)l[o]=c.charCodeAt(o);return new Blob([n],{type:"image/png"})}function Zt(t){return{"image/jpeg":"jpg","image/jpg":"jpg","image/png":"png","image/gif":"gif","image/webp":"webp","image/svg+xml":"svg","image/bmp":"bmp","image/tiff":"tiff","application/pdf":"pdf","video/mp4":"mp4","video/webm":"webm","video/ogg":"ogg"}[t]||"bin"}async function ft(t,c,n){const l=Zt(n),i=c.includes(".")?c:`${c}.${l}`;return fetch(t).then(function(a){return a.arrayBuffer()}).then(function(a){return new File([a],i,{type:n})})}async function Xt(t){return await new Promise((c,n)=>{const l=new Image;l.onload=()=>c(l),l.onerror=o=>n(o),l.src=t})}function pt(t,c,n,l="image/png",o){const i=document.createElement("canvas");i.width=c,i.height=n;const a=i.getContext("2d");return a?(a.drawImage(t,0,0,c,n),i.toDataURL(l,o)):t.src}async function ea(t,c,n){const l=(t.type||"").toLowerCase();if(!(l.startsWith("image/")&&l!=="image/svg+xml"))return t;const i=await mt(t),a=await Xt(i),r=a.naturalWidth,s=a.naturalHeight;if(!r||r<=c)return t;const d=Math.round(c),u=s/r,A=Math.round(d*u),m=pt(a,d,A,t.type||"image/png",n);return await ft(m,t.name,t.type||"image/png")}function gt(t){return!t||typeof t!="string"?"":t.replace(/\0/g,"").replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/on\w+\s*=\s*["'][^"']*["']/gi,"").replace(/on\w+\s*=\s*[^\s>]*/gi,"").replace(/javascript:/gi,"").replace(/data:text\/html/gi,"")}const ta={class:"accordion-item"},aa=["id"],na=["aria-expanded","aria-controls"],la={class:"flex-grow-1"},oa=["id","aria-labelledby"],ia=["innerHTML"],ra=e.defineComponent({__name:"accordion-item",props:{id:{type:String,default:()=>H()},modelValue:{type:Boolean,default:!1},title:{type:String,default:"Accordion Title"},body:{type:String,default:"<p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Nisi aut, nobis inventore repudiandae quo laboriosam. Dicta placeat ullam harum optio expedita. Harum fugiat suscipit sapiente quos, molestias neque eaque omnis?</p>"},parent:{type:String,default:""},noPadding:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(n.modelValue);e.watch(()=>n.modelValue,r=>{o.value=r});const i=Ue(()=>n.body);function a(){o.value=!o.value,l("update:modelValue",o.value)}return(r,s)=>(e.openBlock(),e.createElementBlock("div",ta,[e.createElementVNode("div",{class:"accordion-header",id:`heading-${t.id}`},[e.createElementVNode("button",{class:e.normalizeClass(["accordion-button",!o.value&&"collapsed"]),type:"button","aria-expanded":o.value,"aria-controls":`target${t.id}`,onClick:a},[e.renderSlot(r.$slots,"toggle",{},()=>[e.createElementVNode("span",la,e.toDisplayString(t.title),1)])],10,na)],8,aa),e.createVNode(e.Transition,{name:"accordion"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:"accordion-collapse",id:`target${t.id}`,"aria-labelledby":`heading-${t.id}`},[e.createElementVNode("div",{class:e.normalizeClass(["accordion-body",t.noPadding?"p-0":""])},[e.renderSlot(r.$slots,"body",{},()=>[e.createElementVNode("article",{innerHTML:e.unref(i)},null,8,ia)])],2)],8,oa),[[e.vShow,o.value]])]),_:3})]))}}),sa=(t,c)=>{const n=t.__vccOpts||t;for(const[l,o]of c)n[l]=o;return n},ca={},Aa={class:"accordion"};function da(t,c){return e.openBlock(),e.createElementBlock("div",Aa,[e.renderSlot(t.$slots,"default")])}const ua=sa(ca,[["render",da]]),ma=["type","disabled"],ht=e.defineComponent({__name:"base-button",props:{type:{type:null},caption:{type:String},variant:{type:String},color:{type:String,default:"primary"},size:{type:String},icon:{type:String},disabled:{type:Boolean,default:!1},pending:{type:Boolean,default:!1},success:{type:Boolean,default:!1},error:{type:Boolean,default:!1},outlined:{type:Boolean,default:!1},rounded:{type:Boolean,default:!1},circle:{type:Boolean,default:!1}},setup(t){const c=t,n=e.computed(()=>c.caption&&!c.circle);return(l,o)=>(e.openBlock(),e.createElementBlock("button",{type:t.type,disabled:t.disabled,class:e.normalizeClass(["btn",{disabled:t.disabled,pending:t.pending,rounded:t.rounded,"rounded-circle":t.circle,[`btn-${t.color}`]:!t.outlined,[`btn-outline-${t.color}`]:t.outlined,"btn-lg":t.size==="large","btn-sm":t.size==="small"}])},[t.pending?e.renderSlot(l.$slots,"pending-icon",{key:0},()=>[e.createVNode(He)]):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default",{},()=>[t.icon?(e.openBlock(),e.createBlock(D,{key:0,symbol:t.icon,class:"base-button__caption"},null,8,["symbol"])):e.createCommentVNode("",!0),n.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["base-button__caption",{"icon-padding":t.icon}])},e.toDisplayString(t.caption),3)):e.createCommentVNode("",!0)])],10,ma))}}),fa={class:"input-group input__input-group"},pa=["type","id","name","placeholder","pattern","disabled","readonly","required","maxlength","true-value","false-value","aria-label","role","autocomplete"],ga=["for","innerHTML"],ha={key:0,class:"input__error alert alert-danger mt-3"},Se=e.defineComponent({__name:"base-input",props:{modelValue:{type:[String,Number,Boolean,Date],default:""},type:{type:String,default:"text"},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},min:{type:Number},max:{type:Number},maxlength:{type:Number},pattern:{type:String,default:null},trueValue:{type:null,default:!0},falseValue:{type:null,default:!1},role:{type:String,default:"presentation"},autocomplete:{type:String,default:"off"},validate:{type:Boolean,default:!1},valid:{type:Boolean,default:!0},sanitize:{type:Boolean,default:!0}},emits:["update:modelValue","update:valid"],setup(t,{emit:c}){const n=t,l=c,o=e.useTemplateRef("input"),i=e.ref(n.valid),a=e.ref(),r=e.computed(()=>Z(`${n.label}${n.required?" *":""}`)),s=e.computed({get(){return n.modelValue},set(A){A=n.type==="number"?n.max&&Number(A)>n.max?n.max:n.min!==void 0&&Number(A)<n.min?n.min:Number(A):A,n.sanitize&&typeof A=="string"&&!["checkbox","radio","number","date","datetime-local","time","month","week","email","tel","url"].includes(n.type)&&(A=gt(A)),l("update:modelValue",A)}}),d=e.computed(()=>{if(n.type==="number"){const{min:A,max:m}=n;return{...A!==void 0?{min:A}:{},...m!==void 0?{max:m}:{}}}return{}});function u(){n.validate&&o.value&&(i.value=o.value.checkValidity(),i.value?a.value=void 0:a.value=o.value.validationMessage,l("update:valid",i.value))}return e.watch(()=>n.modelValue,()=>{i.value===!1&&u()}),e.onMounted(()=>{let A=m=>{s.value=typeof m.detail=="string"||typeof m.detail=="number"?`${m.detail}`:""};o.value?.addEventListener("focusin",m=>{window.addEventListener("update-focussed-input",A)}),o.value?.addEventListener("focusout",m=>{window.removeEventListener("update-focussed-input",A)}),u()}),(A,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["input",`input--${t.type}${i.value?"":" input--invalid"}`])},[e.createElementVNode("div",fa,[e.renderSlot(A.$slots,"input-prepend",{slotScope:"props"}),e.withDirectives(e.createElementVNode("input",e.mergeProps({ref_key:"input",ref:o,"onUpdate:modelValue":m[0]||(m[0]=p=>s.value=p),type:t.type==="color"?"text":t.type,id:t.id,name:t.name,placeholder:t.placeholder,pattern:t.pattern,disabled:t.disabled,readonly:t.readOnly,required:t.required,maxlength:t.maxlength},d.value,{"true-value":t.trueValue,"false-value":t.falseValue,class:["form-control",{"form-check-input":t.type==="checkbox"}],"aria-label":t.label,role:t.role,autocomplete:t.autocomplete,onChange:u}),null,16,pa),[[e.vModelDynamic,s.value]]),e.renderSlot(A.$slots,"input-append",{slotScope:"props"})]),e.renderSlot(A.$slots,"label",{},()=>[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id,class:e.normalizeClass(["input__label",{"form-check-label":t.type==="checkbox"}]),innerHTML:r.value},null,10,ga)):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[!i.value&&a.value?(e.openBlock(),e.createElementBlock("div",ha,e.toDisplayString(a.value),1)):e.createCommentVNode("",!0)]),_:1})],2))}}),ya={class:"input input--textarea"},ba=["type","id","name","placeholder","pattern","disabled","read-only","required","maxlength","aria-label"],ka=["for","innerHTML"],wa=e.defineComponent({__name:"input-textarea",props:{modelValue:{type:String,default:""},type:{type:String,default:"text"},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},maxlength:{type:Number},pattern:{type:String,default:null},checked:{type:Boolean,default:!1},sanitize:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.computed({get(){return n.modelValue},set(i){n.sanitize&&typeof i=="string"&&(i=gt(i)),l("update:modelValue",i)}});return(i,a)=>(e.openBlock(),e.createElementBlock("div",ya,[e.renderSlot(i.$slots,"input-prepend"),e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":a[0]||(a[0]=r=>o.value=r),type:t.type,id:t.id,name:t.name,placeholder:t.placeholder,pattern:t.pattern,disabled:t.disabled,"read-only":t.readOnly,required:t.required,maxlength:t.maxlength,class:e.normalizeClass(["form-control",{}]),"aria-label":t.label},null,8,ba),[[e.vModelText,o.value]]),e.renderSlot(i.$slots,"input-append"),e.renderSlot(i.$slots,"label",{},()=>[e.createElementVNode("label",{for:t.id,class:e.normalizeClass(["input__label",{"form-check-label":t.type==="checkbox"}]),innerHTML:`${t.label}${t.required?" *":""}`},null,10,ka)])]))}}),Ba={class:"form-check input input--checkbox"},Va=["value","id","name","required","disabled","true-value","false-value"],Ca=["for","innerHTML"],Ea=e.defineComponent({__name:"input-checkbox",props:{id:{type:String},name:{type:String},label:{type:String},error:{type:String},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},modelValue:{type:[Boolean,Array]},value:{type:[String,Object]},checked:{type:Boolean},trueValue:{type:null,default:!0},falseValue:{type:null,default:!1}},emits:["update:modelValue","update:checked"],setup(t,{emit:c}){const n=t,l=c,o=e.computed({get(){return n.modelValue||n.checked},set(i){l("update:checked",i),l("update:modelValue",i)}});return(i,a)=>(e.openBlock(),e.createElementBlock("div",Ba,[e.withDirectives(e.createElementVNode("input",{ref:"input","onUpdate:modelValue":a[0]||(a[0]=r=>o.value=r),value:t.value,id:t.id,name:t.name,type:"checkbox",required:t.required,disabled:t.disabled,class:"form-check-input","true-value":t.trueValue,"false-value":t.falseValue},null,8,Va),[[e.vModelCheckbox,o.value]]),e.createElementVNode("label",{class:"input__label form-check-label",for:t.id,innerHTML:e.unref(Z)(t.label||"")},null,8,Ca)]))}}),$a={class:"input-group input__input-group"},Sa=["id","name","placeholder","pattern","disabled","read-only","required","aria-label"],Na=["for","innerHTML"],va=e.defineComponent({__name:"input-datetime",props:{modelValue:{type:[String,Number,Boolean,Date],default:""},type:{type:String,default:"text"},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},pattern:{type:String,default:null}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.computed({get(){const i=n.modelValue&&new Date(`${n.modelValue}Z`),a=i&&new Date(i.getTime()+new Date().getTimezoneOffset()*-60*1e3).toISOString();return a&&a.replace("Z","")},set(i){const a=i&&new Date(i);i=a&&a.toISOString(),l("update:modelValue",i&&i.replace("Z",""))}});return(i,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["input",`input--${t.type}`])},[e.createElementVNode("div",$a,[e.renderSlot(i.$slots,"input-prepend",{slotScope:"props"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":a[0]||(a[0]=r=>o.value=r),type:"datetime-local",id:t.id,name:t.name,placeholder:t.placeholder,pattern:t.pattern,disabled:t.disabled,"read-only":t.readOnly,required:t.required,class:"form-control","aria-label":t.label},null,8,Sa),[[e.vModelText,o.value]]),e.renderSlot(i.$slots,"input-append",{slotScope:"props"})]),e.renderSlot(i.$slots,"label",{},()=>[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id,class:"input__label",innerHTML:e.unref(Z)(`${t.label}${t.required?" *":""}`)},null,8,Na)):e.createCommentVNode("",!0)])],2))}});function me(t){return(c={})=>{const n=c.width?String(c.width):t.defaultWidth;return t.formats[n]||t.formats[t.defaultWidth]}}function ee(t){return(c,n)=>{const l=n?.context?String(n.context):"standalone";let o;if(l==="formatting"&&t.formattingValues){const a=t.defaultFormattingWidth||t.defaultWidth,r=n?.width?String(n.width):a;o=t.formattingValues[r]||t.formattingValues[a]}else{const a=t.defaultWidth,r=n?.width?String(n.width):t.defaultWidth;o=t.values[r]||t.values[a]}const i=t.argumentCallback?t.argumentCallback(c):c;return o[i]}}function te(t){return(c,n={})=>{const l=n.width,o=l&&t.matchPatterns[l]||t.matchPatterns[t.defaultMatchWidth],i=c.match(o);if(!i)return null;const a=i[0],r=l&&t.parsePatterns[l]||t.parsePatterns[t.defaultParseWidth],s=Array.isArray(r)?Da(r,A=>A.test(a)):Ma(r,A=>A.test(a));let d;d=t.valueCallback?t.valueCallback(s):s,d=n.valueCallback?n.valueCallback(d):d;const u=c.slice(a.length);return{value:d,rest:u}}}function Ma(t,c){for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&c(t[n]))return n}function Da(t,c){for(let n=0;n<t.length;n++)if(c(t[n]))return n}function nt(t){return(c,n={})=>{const l=c.match(t.matchPattern);if(!l)return null;const o=l[0],i=c.match(t.parsePattern);if(!i)return null;let a=t.valueCallback?t.valueCallback(i[0]):i[0];a=n.valueCallback?n.valueCallback(a):a;const r=c.slice(o.length);return{value:a,rest:r}}}const yt={lessThanXSeconds:{standalone:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"},withPreposition:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"}},xSeconds:{standalone:{one:"1 Sekunde",other:"{{count}} Sekunden"},withPreposition:{one:"1 Sekunde",other:"{{count}} Sekunden"}},halfAMinute:{standalone:"eine halbe Minute",withPreposition:"einer halben Minute"},lessThanXMinutes:{standalone:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"},withPreposition:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"}},xMinutes:{standalone:{one:"1 Minute",other:"{{count}} Minuten"},withPreposition:{one:"1 Minute",other:"{{count}} Minuten"}},aboutXHours:{standalone:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"},withPreposition:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"}},xHours:{standalone:{one:"1 Stunde",other:"{{count}} Stunden"},withPreposition:{one:"1 Stunde",other:"{{count}} Stunden"}},xDays:{standalone:{one:"1 Tag",other:"{{count}} Tage"},withPreposition:{one:"1 Tag",other:"{{count}} Tagen"}},aboutXWeeks:{standalone:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"},withPreposition:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"}},xWeeks:{standalone:{one:"1 Woche",other:"{{count}} Wochen"},withPreposition:{one:"1 Woche",other:"{{count}} Wochen"}},aboutXMonths:{standalone:{one:"etwa 1 Monat",other:"etwa {{count}} Monate"},withPreposition:{one:"etwa 1 Monat",other:"etwa {{count}} Monaten"}},xMonths:{standalone:{one:"1 Monat",other:"{{count}} Monate"},withPreposition:{one:"1 Monat",other:"{{count}} Monaten"}},aboutXYears:{standalone:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahre"},withPreposition:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahren"}},xYears:{standalone:{one:"1 Jahr",other:"{{count}} Jahre"},withPreposition:{one:"1 Jahr",other:"{{count}} Jahren"}},overXYears:{standalone:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahre"},withPreposition:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahren"}},almostXYears:{standalone:{one:"fast 1 Jahr",other:"fast {{count}} Jahre"},withPreposition:{one:"fast 1 Jahr",other:"fast {{count}} Jahren"}}},La=(t,c,n)=>{let l;const o=n?.addSuffix?yt[t].withPreposition:yt[t].standalone;return typeof o=="string"?l=o:c===1?l=o.one:l=o.other.replace("{{count}}",String(c)),n?.addSuffix?n.comparison&&n.comparison>0?"in "+l:"vor "+l:l},Ia={full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.y"},Ta={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Pa={full:"{{date}} 'um' {{time}}",long:"{{date}} 'um' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},xa={date:me({formats:Ia,defaultWidth:"full"}),time:me({formats:Ta,defaultWidth:"full"}),dateTime:me({formats:Pa,defaultWidth:"full"})},za={lastWeek:"'letzten' eeee 'um' p",yesterday:"'gestern um' p",today:"'heute um' p",tomorrow:"'morgen um' p",nextWeek:"eeee 'um' p",other:"P"},Fa=(t,c,n,l)=>za[t],Oa={narrow:["v.Chr.","n.Chr."],abbreviated:["v.Chr.","n.Chr."],wide:["vor Christus","nach Christus"]},Ra={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. Quartal","2. Quartal","3. Quartal","4. Quartal"]},lt={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],wide:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},Ha={narrow:lt.narrow,abbreviated:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez."],wide:lt.wide},Ua={narrow:["S","M","D","M","D","F","S"],short:["So","Mo","Di","Mi","Do","Fr","Sa"],abbreviated:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],wide:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},Qa={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachm.",evening:"Abend",night:"Nacht"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"}},Wa={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachm.",evening:"abends",night:"nachts"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"}},ja={ordinalNumber:t=>Number(t)+".",era:ee({values:Oa,defaultWidth:"wide"}),quarter:ee({values:Ra,defaultWidth:"wide",argumentCallback:t=>t-1}),month:ee({values:lt,formattingValues:Ha,defaultWidth:"wide"}),day:ee({values:Ua,defaultWidth:"wide"}),dayPeriod:ee({values:Qa,defaultWidth:"wide",formattingValues:Wa,defaultFormattingWidth:"wide"})},qa=/^(\d+)(\.)?/i,Ga=/\d+/i,Ja={narrow:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,abbreviated:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,wide:/^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i},Ya={any:[/^v/i,/^n/i]},_a={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? Quartal/i},Ka={any:[/1/i,/2/i,/3/i,/4/i]},Za={narrow:/^[jfmasond]/i,abbreviated:/^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\.?/i,wide:/^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i},Xa={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^j[aä]/i,/^f/i,/^mär/i,/^ap/i,/^mai/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},en={narrow:/^[smdmf]/i,short:/^(so|mo|di|mi|do|fr|sa)/i,abbreviated:/^(son?|mon?|die?|mit?|don?|fre?|sam?)\.?/i,wide:/^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i},tn={any:[/^so/i,/^mo/i,/^di/i,/^mi/i,/^do/i,/^f/i,/^sa/i]},an={narrow:/^(vm\.?|nm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,abbreviated:/^(vorm\.?|nachm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,wide:/^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i},nn={any:{am:/^v/i,pm:/^n/i,midnight:/^Mitte/i,noon:/^Mitta/i,morning:/morgens/i,afternoon:/nachmittags/i,evening:/abends/i,night:/nachts/i}},ln={ordinalNumber:nt({matchPattern:qa,parsePattern:Ga,valueCallback:t=>parseInt(t)}),era:te({matchPatterns:Ja,defaultMatchWidth:"wide",parsePatterns:Ya,defaultParseWidth:"any"}),quarter:te({matchPatterns:_a,defaultMatchWidth:"wide",parsePatterns:Ka,defaultParseWidth:"any",valueCallback:t=>t+1}),month:te({matchPatterns:Za,defaultMatchWidth:"wide",parsePatterns:Xa,defaultParseWidth:"any"}),day:te({matchPatterns:en,defaultMatchWidth:"wide",parsePatterns:tn,defaultParseWidth:"any"}),dayPeriod:te({matchPatterns:an,defaultMatchWidth:"wide",parsePatterns:nn,defaultParseWidth:"any"})},on={code:"de",formatDistance:La,formatLong:xa,formatRelative:Fa,localize:ja,match:ln,options:{weekStartsOn:1,firstWeekContainsDate:4}},rn={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},sn=(t,c,n)=>{let l;const o=rn[t];return typeof o=="string"?l=o:c===1?l=o.one:l=o.other.replace("{{count}}",c.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+l:l+" ago":l},cn={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},An=(t,c,n,l)=>cn[t],dn={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},un={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},mn={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},fn={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},pn={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},gn={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},hn={ordinalNumber:(t,c)=>{const n=Number(t),l=n%100;if(l>20||l<10)switch(l%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:ee({values:dn,defaultWidth:"wide"}),quarter:ee({values:un,defaultWidth:"wide",argumentCallback:t=>t-1}),month:ee({values:mn,defaultWidth:"wide"}),day:ee({values:fn,defaultWidth:"wide"}),dayPeriod:ee({values:pn,defaultWidth:"wide",formattingValues:gn,defaultFormattingWidth:"wide"})},yn=/^(\d+)(th|st|nd|rd)?/i,bn=/\d+/i,kn={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},wn={any:[/^b/i,/^(a|c)/i]},Bn={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Vn={any:[/1/i,/2/i,/3/i,/4/i]},Cn={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},En={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},$n={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Sn={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Nn={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},vn={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Mn={ordinalNumber:nt({matchPattern:yn,parsePattern:bn,valueCallback:t=>parseInt(t,10)}),era:te({matchPatterns:kn,defaultMatchWidth:"wide",parsePatterns:wn,defaultParseWidth:"any"}),quarter:te({matchPatterns:Bn,defaultMatchWidth:"wide",parsePatterns:Vn,defaultParseWidth:"any",valueCallback:t=>t+1}),month:te({matchPatterns:Cn,defaultMatchWidth:"wide",parsePatterns:En,defaultParseWidth:"any"}),day:te({matchPatterns:$n,defaultMatchWidth:"wide",parsePatterns:Sn,defaultParseWidth:"any"}),dayPeriod:te({matchPatterns:Nn,defaultMatchWidth:"any",parsePatterns:vn,defaultParseWidth:"any"})},Dn={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Ln={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},In={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Tn={date:me({formats:Dn,defaultWidth:"full"}),time:me({formats:Ln,defaultWidth:"full"}),dateTime:me({formats:In,defaultWidth:"full"})},bt={code:"en-US",formatDistance:sn,formatLong:Tn,formatRelative:An,localize:hn,match:Mn,options:{weekStartsOn:0,firstWeekContainsDate:1}},Pn={lessThanXSeconds:{one:"moins d’une seconde",other:"moins de {{count}} secondes"},xSeconds:{one:"1 seconde",other:"{{count}} secondes"},halfAMinute:"30 secondes",lessThanXMinutes:{one:"moins d’une minute",other:"moins de {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"environ 1 heure",other:"environ {{count}} heures"},xHours:{one:"1 heure",other:"{{count}} heures"},xDays:{one:"1 jour",other:"{{count}} jours"},aboutXWeeks:{one:"environ 1 semaine",other:"environ {{count}} semaines"},xWeeks:{one:"1 semaine",other:"{{count}} semaines"},aboutXMonths:{one:"environ 1 mois",other:"environ {{count}} mois"},xMonths:{one:"1 mois",other:"{{count}} mois"},aboutXYears:{one:"environ 1 an",other:"environ {{count}} ans"},xYears:{one:"1 an",other:"{{count}} ans"},overXYears:{one:"plus d’un an",other:"plus de {{count}} ans"},almostXYears:{one:"presqu’un an",other:"presque {{count}} ans"}},xn=(t,c,n)=>{let l;const o=Pn[t];return typeof o=="string"?l=o:c===1?l=o.one:l=o.other.replace("{{count}}",String(c)),n?.addSuffix?n.comparison&&n.comparison>0?"dans "+l:"il y a "+l:l},zn={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},Fn={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},On={full:"{{date}} 'à' {{time}}",long:"{{date}} 'à' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Rn={date:me({formats:zn,defaultWidth:"full"}),time:me({formats:Fn,defaultWidth:"full"}),dateTime:me({formats:On,defaultWidth:"full"})},Hn={lastWeek:"eeee 'dernier à' p",yesterday:"'hier à' p",today:"'aujourd’hui à' p",tomorrow:"'demain à' p'",nextWeek:"eeee 'prochain à' p",other:"P"},Un=(t,c,n,l)=>Hn[t],Qn={narrow:["av. J.-C","ap. J.-C"],abbreviated:["av. J.-C","ap. J.-C"],wide:["avant Jésus-Christ","après Jésus-Christ"]},Wn={narrow:["T1","T2","T3","T4"],abbreviated:["1er trim.","2ème trim.","3ème trim.","4ème trim."],wide:["1er trimestre","2ème trimestre","3ème trimestre","4ème trimestre"]},jn={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],wide:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},qn={narrow:["D","L","M","M","J","V","S"],short:["di","lu","ma","me","je","ve","sa"],abbreviated:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],wide:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},Gn={narrow:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"mat.",afternoon:"ap.m.",evening:"soir",night:"mat."},abbreviated:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"matin",afternoon:"après-midi",evening:"soir",night:"matin"},wide:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"du matin",afternoon:"de l’après-midi",evening:"du soir",night:"du matin"}},Jn=(t,c)=>{const n=Number(t),l=c?.unit;if(n===0)return"0";const o=["year","week","hour","minute","second"];let i;return n===1?i=l&&o.includes(l)?"ère":"er":i="ème",n+i},Yn=["MMM","MMMM"],_n={preprocessor:(t,c)=>t.getDate()===1||!c.some(l=>l.isToken&&Yn.includes(l.value))?c:c.map(l=>l.isToken&&l.value==="do"?{isToken:!0,value:"d"}:l),ordinalNumber:Jn,era:ee({values:Qn,defaultWidth:"wide"}),quarter:ee({values:Wn,defaultWidth:"wide",argumentCallback:t=>t-1}),month:ee({values:jn,defaultWidth:"wide"}),day:ee({values:qn,defaultWidth:"wide"}),dayPeriod:ee({values:Gn,defaultWidth:"wide"})},Kn=/^(\d+)(ième|ère|ème|er|e)?/i,Zn=/\d+/i,Xn={narrow:/^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i,abbreviated:/^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i,wide:/^(avant Jésus-Christ|après Jésus-Christ)/i},el={any:[/^av/i,/^ap/i]},tl={narrow:/^T?[1234]/i,abbreviated:/^[1234](er|ème|e)? trim\.?/i,wide:/^[1234](er|ème|e)? trimestre/i},al={any:[/1/i,/2/i,/3/i,/4/i]},nl={narrow:/^[jfmasond]/i,abbreviated:/^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i,wide:/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i},ll={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^av/i,/^ma/i,/^juin/i,/^juil/i,/^ao/i,/^s/i,/^o/i,/^n/i,/^d/i]},ol={narrow:/^[lmjvsd]/i,short:/^(di|lu|ma|me|je|ve|sa)/i,abbreviated:/^(dim|lun|mar|mer|jeu|ven|sam)\.?/i,wide:/^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i},il={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^di/i,/^lu/i,/^ma/i,/^me/i,/^je/i,/^ve/i,/^sa/i]},rl={narrow:/^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i,any:/^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i},sl={any:{am:/^a/i,pm:/^p/i,midnight:/^min/i,noon:/^mid/i,morning:/mat/i,afternoon:/ap/i,evening:/soir/i,night:/nuit/i}},cl={ordinalNumber:nt({matchPattern:Kn,parsePattern:Zn,valueCallback:t=>parseInt(t)}),era:te({matchPatterns:Xn,defaultMatchWidth:"wide",parsePatterns:el,defaultParseWidth:"any"}),quarter:te({matchPatterns:tl,defaultMatchWidth:"wide",parsePatterns:al,defaultParseWidth:"any",valueCallback:t=>t+1}),month:te({matchPatterns:nl,defaultMatchWidth:"wide",parsePatterns:ll,defaultParseWidth:"any"}),day:te({matchPatterns:ol,defaultMatchWidth:"wide",parsePatterns:il,defaultParseWidth:"any"}),dayPeriod:te({matchPatterns:rl,defaultMatchWidth:"any",parsePatterns:sl,defaultParseWidth:"any"})},Al={code:"fr",formatDistance:xn,formatLong:Rn,formatRelative:Un,localize:_n,match:cl,options:{weekStartsOn:1,firstWeekContainsDate:4}},dl={class:"row"},ul={class:"col-12"},ml=["for","innerHTML"],fl={key:0},pl={class:"input-group justify-content-center"},gl={key:0,class:"row"},hl={class:"col-12 col-md-6"},yl={class:"col-12 col-md-6"},bl={key:1,class:"row"},kl={class:"col-12"},wl=e.defineComponent({__name:"input-datepicker",props:{modelValue:{type:null,default:""},from:{type:[String,Number,Boolean,Date],default:""},to:{type:[String,Number,Boolean,Date],default:""},type:{type:String,default:"datetime-local"},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},range:{type:Boolean,default:!1},textRange:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},textInput:{type:Boolean,default:!0},picker:{type:Boolean,default:!0},locale:{type:String,default:"en"},utcStore:{type:Boolean,default:!1}},emits:["update:modelValue","update:from","update:to"],setup(t,{emit:c}){const n=e.shallowRef(null);e.onMounted(async()=>{const{VueDatePicker:f}=await import("@vuepic/vue-datepicker");n.value=f});const l=t,o=c,{t:i,locale:a}=tt.useI18n(),r={en:bt,de:on,fr:Al},s=e.computed(()=>{const f=l.locale||a.value;return r[f]||bt}),d=e.computed(()=>l.inline||!l.picker?{openMenu:!1,format:s.value}:!0),u=e.computed({get(){if(l.range){let f=l.from||(Array.isArray(l.modelValue)?l.modelValue[0]:null),k=l.to||(Array.isArray(l.modelValue)?l.modelValue[1]:null);return l.utcStore?(f=f?y(f):null,k=k?y(k):null):(f=f?new Date(`${f}Z`).toISOString().replace("Z",""):null,k=k?new Date(`${k}Z`).toISOString().replace("Z",""):null),[...f?[f]:[],...k?[k]:[]]}else{if(l.utcStore){const g=l.modelValue;return g&&y(g)||""}const f=l.modelValue?new Date(`${l.modelValue}Z`):null,k=f&&f.toISOString();return k&&k.replace("Z","")}},set(f){if(l.range&&Array.isArray(f)){let[k,g]=f;l.utcStore?(k=h(k)||null,g=h(g)||null):(k=k&&new Date(k),k?.setUTCHours(k.getHours()),k=k?.toISOString()?.replace("Z",""),g=g&&new Date(g),g?.setUTCHours(g.getHours()),g=g?.toISOString()?.replace("Z","")),o("update:modelValue",[k,g]),o("update:from",k),o("update:to",g)}else if(l.utcStore){const k=h(f);o("update:modelValue",k)}else{const k=f&&new Date(f);k?.setUTCHours(k?.getHours()),f=k&&k.toISOString(),o("update:modelValue",f&&f.replace("Z",""))}}}),A=e.computed({get(){return Array.isArray(u.value)?u.value[0]:u.value},set(f){u.value=Array.isArray(u.value)?[f,u.value[0]]:f}}),m=e.computed({get(){return Array.isArray(u.value)?u.value[1]:u.value},set(f){u.value=Array.isArray(u.value)?[u.value[0],f]:f}});e.watch(()=>[A.value,m.value],(f,k)=>{l.range&&f.some(g=>g===void 0)&&k.every(Boolean)&&(u.value=[])});function p(f){if(!f)return;const k=f.getDate(),g=f.getMonth()+1,L=f.getFullYear(),P=f.getMinutes(),z=f.getHours();switch(s.value){case"de":return`${k}.${g}.${L} ${z<10?"0"+z:z}:${P<10?"0"+P:P}`;case"fr":return`${k}/${g}/${L} ${z<10?"0"+z:z}:${P<10?"0"+P:P}`;default:return`${g}/${k}/${L} ${z<10?"0"+z:z}:${P<10?"0"+P:P}`}}function y(f){if(!f)return null;const k=f instanceof Date?new Date(f):new Date(`${f}Z`),g=k.getFullYear(),L=String(k.getMonth()+1).padStart(2,"0"),P=String(k.getDate()).padStart(2,"0"),z=String(k.getHours()).padStart(2,"0"),C=String(k.getMinutes()).padStart(2,"0"),R=String(k.getSeconds()).padStart(2,"0");return`${g}-${L}-${P}T${z}:${C}:${R}`}function h(f){return f?(f instanceof Date?new Date(f):new Date(String(f))).toISOString().split(".")[0]:null}const w=f=>(Array.isArray(f)?f=f.map(k=>p(k)).join(" - "):f=p(f),f);return(f,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["input","input--datepicker"])},[e.renderSlot(f.$slots,"label",{},()=>[e.createElementVNode("div",dl,[e.createElementVNode("div",ul,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id,class:"input__label",innerHTML:e.unref(Z)(`${t.label}${t.required?" *":""}`)},null,8,ml)):e.createCommentVNode("",!0)])])]),t.textInput?(e.openBlock(),e.createElementBlock("div",fl,[e.createElementVNode("div",pl,[e.renderSlot(f.$slots,"input-prepend",{slotScope:"props"}),t.range&&!t.textRange?(e.openBlock(),e.createElementBlock("div",gl,[e.createElementVNode("div",hl,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{uid:`${t.id}-from`,modelValue:A.value,"onUpdate:modelValue":k[0]||(k[0]=g=>A.value=g),locale:s.value,format:w,"text-input":d.value,disabled:t.disabled,"read-only":t.readOnly,required:t.required,"auto-apply":!0},null,8,["uid","modelValue","locale","text-input","disabled","read-only","required"]))]),e.createElementVNode("div",yl,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{uid:`${t.id}-to`,modelValue:m.value,"onUpdate:modelValue":k[1]||(k[1]=g=>m.value=g),locale:s.value,format:w,"text-input":d.value,disabled:t.disabled,"read-only":t.readOnly,required:t.required,"auto-apply":!0},null,8,["uid","modelValue","locale","text-input","disabled","read-only","required"]))])])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{key:1,uid:`${t.id}-input-to`,modelValue:u.value,"onUpdate:modelValue":k[2]||(k[2]=g=>u.value=g),format:w,locale:s.value,range:t.textRange,"text-input":d.value,disabled:t.disabled,"read-only":t.readOnly,required:t.required,"auto-apply":!0},null,8,["uid","modelValue","locale","range","text-input","disabled","read-only","required"])),e.renderSlot(f.$slots,"input-append",{slotScope:"props"})])])):e.createCommentVNode("",!0),t.inline?(e.openBlock(),e.createElementBlock("div",bl,[e.createElementVNode("div",kl,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{uid:`${t.id}-inline`,modelValue:u.value,"onUpdate:modelValue":k[3]||(k[3]=g=>u.value=g),locale:s.value,cancelText:"abbrechen",selectText:"auswählen",range:t.range,"multi-calendars":t.range,inline:{input:!1},"auto-apply":!0,"partial-range":t.range,"partial-flow":!0,"start-time":{hours:0,minutes:0},class:"justify-content-center",disabled:t.disabled,"read-only":t.readOnly,required:t.required,"month-name-format":"long"},null,8,["uid","modelValue","locale","range","multi-calendars","partial-range","disabled","read-only","required"]))])])):e.createCommentVNode("",!0)]))}}),Bl={class:"input-group input__input-group"},kt=e.defineComponent({__name:"input-password",props:{modelValue:{type:[String,Number,Boolean,Date],default:""},type:{type:String,default:"text"},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},maxlength:{type:Number},pattern:{type:String,default:null},role:{type:String,default:"presentation"},autocomplete:{type:String,default:"off"},password:{type:String,default:""},confirm:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.computed({get(){return n.modelValue},set(i){n.password===i||!n.password?l("update:modelValue",i):l("update:modelValue","")}});return(i,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["input","input-password"])},[e.createElementVNode("div",Bl,[e.createVNode(Se,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=r=>o.value=r),type:"password",placeholder:t.placeholder,disabled:t.disabled,readonly:t.readOnly,required:t.required,label:t.label},{"input-prepend":e.withCtx(r=>[e.renderSlot(i.$slots,"input-prepend",{slotScope:"props"})]),"input-append":e.withCtx(r=>[e.renderSlot(i.$slots,"input-append",{slotScope:"props"},()=>[t.confirm&&t.modelValue===t.password?(e.openBlock(),e.createBlock(D,{key:0,symbol:"check",class:"ms-2"})):e.createCommentVNode("",!0)])]),_:3},8,["modelValue","placeholder","disabled","readonly","required","label"])])]))}}),Vl={class:"input-group input__input-group"},Cl=["onUpdate:modelValue","disabled","readonly","onPaste","onInput","onKeydown"],El=e.defineComponent({__name:"input-passcode",props:{modelValue:{type:[String,Number,Boolean,Date],default:""},type:{type:String,default:"text"},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},maxlength:{type:Number},pattern:{type:String,default:null},role:{type:String,default:"presentation"},autocomplete:{type:String,default:"off"},passcodeMatch:{type:String,default:""},confirm:{type:Boolean,default:!1},splitInput:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const n=e.ref([]),l=e.ref([]),o=t,i=c,a=e.computed({get(){return o.modelValue},set(u){o.passcodeMatch===u||!o.passcodeMatch?i("update:modelValue",u):i("update:modelValue","")}});e.watch(()=>o.modelValue,u=>{const A=u?.toString()||"";for(l.value=A.split("").slice(0,o.passcodeMatch?.length||6);l.value.length<(o.passcodeMatch?.length||6);)l.value.push("")},{immediate:!0}),e.watch(()=>l.value,u=>{const A=u.join("");o.passcodeMatch===A||!o.passcodeMatch?i("update:modelValue",A):i("update:modelValue","")},{deep:!0});const r=(u,A)=>{u.preventDefault();const m=u.clipboardData?.getData("text")||"";console.log("Paste detected:",m);const p=m.split(""),y=o.passcodeMatch?.length||6;p.forEach((w,f)=>{const k=A+f;k<y&&(l.value[k]=w)});const h=Math.min(A+p.length,y-1);setTimeout(()=>n.value[h]?.focus(),0)},s=(u,A)=>{o.passcodeMatch?.length,u.key==="Backspace"&&!l.value[A]&&A>0&&n.value[A-1]?.focus()},d=(u,A)=>{let p=u.target.value;p.length>1&&(p=p.slice(-1)),l.value[A]=p;const y=o.passcodeMatch?.length||6;p&&A<y-1&&setTimeout(()=>n.value[A+1]?.focus(),0)};return(u,A)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["input","input-passcode"])},[e.createElementVNode("div",Vl,[t.splitInput?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(t.passcodeMatch,(m,p)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:p,"onUpdate:modelValue":y=>l.value[p]=y,type:"text",ref_for:!0,ref:y=>n.value[p]=y,maxlength:1,disabled:t.disabled,readonly:t.readOnly,onPaste:y=>r(y,p),onInput:y=>d(y,p),onKeydown:y=>s(y,p),size:"1",class:"form-control text-center"},null,40,Cl)),[[e.vModelText,l.value[p]]])),128)):(e.openBlock(),e.createBlock(kt,{key:0,modelValue:a.value,"onUpdate:modelValue":A[0]||(A[0]=m=>a.value=m),type:t.type,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readOnly,required:t.required,label:t.label},null,8,["modelValue","type","placeholder","disabled","readonly","required","label"]))])]))}}),$l={class:"check-group"},Sl=["id","name","value","disabled","read-only","required"],Nl=["for","innerHTML"],vl=e.defineComponent({__name:"check-group",props:{modelValue:{type:null,default:()=>[]},options:{type:Array,required:!0},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c;e.ref([]);const o=e.computed({get(){return n.modelValue},set(a){l("update:modelValue",a)}}),i=e.computed(()=>n.options&&n.options.map(a=>(a=typeof a=="string"?{text:a,value:a}:a,{...a,active:n.modelValue&&n.modelValue.includes(a.value)})));return(a,r)=>(e.openBlock(),e.createElementBlock("div",$l,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(s,d)=>(e.openBlock(),e.createElementBlock("div",{key:d,class:"form-check"},[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":r[0]||(r[0]=u=>o.value=u),id:`${t.id}-${d}`,name:t.name,class:"form-check-input",value:s.value||s,disabled:t.disabled,"read-only":t.readOnly,required:t.required},null,8,Sl),[[e.vModelCheckbox,o.value]]),e.createElementVNode("label",{class:"form-check-label",for:`${t.id}-${d}`,innerHTML:s.text},null,8,Nl)]))),128))]))}}),Ml={class:"input radio-group"},Dl=["id","name","value","checked","disabled","read-only","required","onChange"],Ll=["for","innerHTML"],Il=["for"],Qe=e.defineComponent({__name:"radio-group",props:{modelValue:{type:null},options:{type:Array,default:[]},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},keyOption:{type:null},itemClass:{type:String,default:""}},emits:["change","update:modelValue"],setup(t,{emit:c}){const n=c;function l(o){n("update:modelValue",o)}return(o,i)=>(e.openBlock(),e.createElementBlock("div",Ml,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(a,r)=>(e.openBlock(),e.createElementBlock("div",{key:r,class:e.normalizeClass(["form-check",t.itemClass])},[e.createElementVNode("input",{type:"radio",id:`${t.id}-${r}`,name:t.name,class:e.normalizeClass(["form-check-input",`
|
|
2
2
|
${r===t.keyOption||a.key?"form-check-input--key":""}
|
|
3
3
|
${(r===t.keyOption||a.key)&&a.value===t.modelValue?.value?"form-check-input--match":""}
|
|
4
|
-
`]),value:a.value||a,checked:a.value?a.value===t.modelValue?.value:a===t.modelValue,disabled:t.disabled,"read-only":t.readOnly,required:t.required,onChange:s=>l(a)},null,42,Dl),e.renderSlot(o.$slots,"option-label",{option:a,index:r},()=>[e.createElementVNode("label",{class:"form-check-label",for:`${t.id}-${r}`,innerHTML:e.unref(Z)(a.text||"")},null,8,Ll)])],2))),128)),e.renderSlot(o.$slots,"label",{},()=>[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id},e.toDisplayString(t.label),9,Il)):e.createCommentVNode("",!0)])]))}}),Tl={class:"radio-buttons"},Pl=["for"],xl=e.defineComponent({__name:"radio-buttons",props:{modelValue:{type:null,default:""},options:{type:Array,default:[]},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},keyOption:{type:null},itemClass:{type:String,default:""}},emits:["update:modelValue","update:selection"],setup(t,{emit:c}){const n=t,l=c,o=e.computed({get(){return n.modelValue},set(i){l("update:modelValue",i)}});return(i,a)=>(e.openBlock(),e.createElementBlock("div",Tl,[e.createVNode(Qe,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=r=>o.value=r),options:t.options,name:t.name,id:t.id,disabled:t.disabled,required:t.required,class:"d-flex flex-column gap-3 justify-content-center"},{"option-label":e.withCtx(r=>[e.createElementVNode("label",{for:`${t.id}-${r.index}`,class:"d-block btn btn-outline-primary p-3 fw-bold",role:"button"},e.toDisplayString(r.option.text),9,Pl)]),_:1},8,["modelValue","options","name","id","disabled","required"])]))}}),zl=["id","name","multiple","accept","disabled"],Fl={class:"input__input-group input-group"},Ol=["value","id","name","disabled"],Rl=["for","disabled"],Hl={class:"btn btn-outline-contrast"},Ul=["for"],Ql=["innerHTML"],ot=e.defineComponent({__name:"input-file",props:{modelValue:{type:Array,default:[]},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},pattern:{type:String,default:null},multiple:{type:Boolean,default:!1},accept:{type:String},maxFileSize:{type:Number,default:0},dropzone:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c;function o(s){const d=s.target&&s.target.files;d&&(a.splice(0,a.length),Array.from(d).forEach(u=>{if(n.maxFileSize&&u.size>n.maxFileSize){console.warn(`File ${u.name} exceeds the ${n.maxFileSize} bytes size limit and will not be added.`);return}a.push(u)}))}const i=e.ref(),a=e.reactive([]),r=e.computed(()=>a&&a.map(s=>s.name));return e.watch(()=>n.modelValue,(s,d)=>{s.length===0&&(i.value.value=null)},{deep:!0}),e.watch(()=>a,(s,d)=>{l("update:modelValue",s)},{deep:!0}),(s,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["input input-file","input-file--primary"])},[e.createElementVNode("input",{ref_key:"input",ref:i,type:"file",id:t.id,name:t.name,class:"d-none",onChange:o,multiple:t.multiple,accept:t.accept,disabled:t.disabled},null,40,zl),e.createElementVNode("div",Fl,[e.renderSlot(s.$slots,"input-prepend"),e.createElementVNode("input",{type:"text",value:r.value,id:t.id,name:t.name,class:"form-control",disabled:t.disabled},null,8,Ol),e.renderSlot(s.$slots,"input-append",{},()=>[e.createElementVNode("label",{for:t.id,disabled:t.disabled},[e.renderSlot(s.$slots,"button",{},()=>[e.createElementVNode("span",Hl,e.toDisplayString(s.$t("common.selectFile")),1)])],8,Rl)])]),e.createElementVNode("label",{for:t.id},[e.renderSlot(s.$slots,"label",{},()=>[e.createElementVNode("span",{class:"input__label",innerHTML:e.unref(Z)(`${t.label}${t.required?" *":""}`)},null,8,Ql)])],8,Ul)]))}}),Wl={key:0,class:"custom-html"},jl=["innerHTML"],ql=e.defineComponent({__name:"custom-html",props:{content:{}},setup(t){const c=e.ref(!1);return e.onMounted(()=>{window!==void 0&&(c.value=!0)}),(n,l)=>c.value?(e.openBlock(),e.createElementBlock("div",Wl,[e.renderSlot(n.$slots,"default",{},()=>[e.createElementVNode("div",{class:"custom-html__content",innerHTML:t.content},null,8,jl)])])):e.createCommentVNode("",!0)}}),Gl={class:"select-media"},Jl=["for"],Yl=e.defineComponent({__name:"select-media",props:{modelValue:{type:null,default:""},assets:{type:Array,default:[]},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},emitKey:{type:String,default:"src"}},emits:["update:modelValue","update:selection"],setup(t,{emit:c}){const n=t,l=c,o=e.computed({get(){return n.modelValue},set(i){const a=n.assets.find(r=>r.id===i);l("update:modelValue",n.emitKey?a[n.emitKey]:a),n.emitKey&&n.emitKey!=="id"&&l("update:selection",a.id)}});return(i,a)=>(e.openBlock(),e.createElementBlock("div",Gl,[e.createVNode(Qe,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=r=>o.value=r),options:t.assets.map(r=>r.id),name:t.name,id:t.id,disabled:t.disabled,required:t.required,class:"d-flex flex-wrap flex-row justify-content-center",itemClass:"col-6 p-2"},{"option-label":e.withCtx(r=>[e.createElementVNode("label",{for:`${t.id}-${r.index}`,class:e.normalizeClass(["w-100",{"is-active":t.assets[r.index].id===o.value}]),role:"button"},[t.assets[r.index].thumbnail?(e.openBlock(),e.createBlock(ce,{key:0,src:t.assets[r.index].thumbnail,alt:t.assets[r.index].id},null,8,["src","alt"])):e.createCommentVNode("",!0)],10,Jl)]),_:1},8,["modelValue","options","name","id","disabled","required"])]))}}),_l={key:0,class:"rte-editor__controls mb-2"},Kl=["disabled"],Zl=["disabled"],Xl={class:"btn-group"},eo=["disabled"],to=["disabled"],ao={class:"btn-group"},no={class:"dropdown"},lo={class:"btn dropdown-toggle btn-light","data-bs-toggle":"dropdown",role:"button",type:"button"},oo={class:"dropdown-menu"},io={class:"dropdown"},ro={class:"btn dropdown-toggle btn-light","data-bs-toggle":"dropdown",role:"button",type:"button"},so={class:"dropdown-menu"},co={class:"btn-group"},Ao=["disabled"],uo=["disabled"],mo=["title"],fo=e.defineComponent({inheritAttrs:!1,__name:"rte-editor",props:{modelValue:{type:String,default:""},disabled:{type:Boolean,default:!1},iconBasePath:{type:String,default:"/rte-icons-defs.svg"},allowFullscreen:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(!1),i=e.ref(!1),a=e.shallowRef(void 0),r=e.shallowRef(null);e.onMounted(async()=>{const[{Editor:A,mergeAttributes:m},{EditorContent:f},{default:g},{default:y},{default:C},{default:p},{default:k}]=await Promise.all([import("@tiptap/core"),import("@tiptap/vue-3"),import("@tiptap/extension-highlight"),import("@tiptap/extension-text-align"),import("@tiptap/extension-link"),import("@tiptap/starter-kit"),import("@tiptap/extension-bold")]);r.value=f,a.value=new A({content:n.modelValue,onUpdate:()=>{l("update:modelValue",a.value?.getHTML())},extensions:[p.configure({bold:!1,link:!1}),k.extend({addAttributes(){return{class:{default:null}}},parseHTML(){return[{tag:"strong"},{tag:"b"}]},renderHTML({HTMLAttributes:h}){return["strong",m(this.options.HTMLAttributes,h),0]}}),y.configure({types:["heading","paragraph"]}),g,C.extend({addAttributes(){return{...this.parent?.(),class:{default:null},id:{default:null},title:{default:null}}},parseHTML(){return[{tag:"a[href]",getAttrs:h=>({href:h.getAttribute("href"),target:h.getAttribute("target"),rel:h.getAttribute("rel"),class:h.getAttribute("class"),id:h.getAttribute("id"),title:h.getAttribute("title")})},{tag:"a:not([href])",getAttrs:h=>({href:null,target:h.getAttribute("target"),rel:h.getAttribute("rel"),class:h.getAttribute("class"),id:h.getAttribute("id"),title:h.getAttribute("title")})}]},renderHTML({HTMLAttributes:h}){if(!h.href){const{href:T,target:x,rel:F,...$}=h;return["a",m($),0]}return["a",m(this.options.HTMLAttributes,h),0]}}).configure({openOnClick:!1,autolink:!0,defaultProtocol:"https",protocols:["http","https"],HTMLAttributes:{target:"_blank",rel:"noopener noreferrer"}})]})}),e.onBeforeUnmount(()=>{a.value?.destroy()}),e.watch(()=>n.modelValue,(A,m)=>{if(a.value){if(a.value.getHTML()===A)return;a.value.commands.setContent(A)}});function s(){const A=a.value?.getAttributes("link").href,m=window.prompt("URL",A);if(m!==null){if(m===""){a.value?.chain().focus().extendMarkRange("link").unsetLink().run();return}try{a.value?.chain().focus().extendMarkRange("link").setLink({href:m}).run()}catch(f){alert(f.message)}}}const d=()=>{a.value?.commands.setContent(`<textarea>${a.value.getHTML()}</textarea>`),o.value=!0},u=()=>{a.value?.commands.setContent(a.value.getText()),o.value=!1};return(A,m)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body",disabled:!i.value},[e.createElementVNode("div",{class:e.normalizeClass([i.value?"":A.$attrs.class,"rte-editor",{"rte-editor--fullscreen":i.value}])},[a.value?(e.openBlock(),e.createElementBlock("div",_l,[o.value?(e.openBlock(),e.createElementBlock("button",{key:1,class:"btn btn-sm btn-light is-active",onClick:u,disabled:!a.value.can().chain().focus().toggleCode().run(),title:"Toggle Source"},[e.createVNode(D,{symbol:"source","base-path":t.iconBasePath},null,8,["base-path"])],8,Zl)):(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("code")}]),onClick:d,disabled:!a.value.can().chain().focus().toggleCode().run(),title:"Toggle Source"},[e.createVNode(D,{symbol:"source","base-path":t.iconBasePath},null,8,["base-path"])],10,Kl)),e.createElementVNode("div",Xl,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("bold")}]),onClick:m[0]||(m[0]=f=>a.value?.chain().focus().toggleBold().run()),disabled:!a.value.can().chain().focus().toggleBold().run(),title:"Toggle Bold"},[e.createVNode(D,{symbol:"bold","base-path":t.iconBasePath},null,8,["base-path"])],10,eo),e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("italic")}]),onClick:m[1]||(m[1]=f=>a.value?.chain().focus().toggleItalic().run()),disabled:!a.value.can().chain().focus().toggleItalic().run(),title:"Toggle Italic"},[e.createVNode(D,{symbol:"italic","base-path":t.iconBasePath},null,8,["base-path"])],10,to)]),e.createElementVNode("div",ao,[e.createElementVNode("div",no,[e.createElementVNode("button",lo,[a.value.isActive("heading",{level:1})?(e.openBlock(),e.createBlock(D,{key:0,symbol:"h1","base-path":t.iconBasePath},null,8,["base-path"])):a.value.isActive("heading",{level:2})?(e.openBlock(),e.createBlock(D,{key:1,symbol:"h2","base-path":t.iconBasePath},null,8,["base-path"])):a.value.isActive("heading",{level:3})?(e.openBlock(),e.createBlock(D,{key:2,symbol:"h3","base-path":t.iconBasePath},null,8,["base-path"])):a.value.isActive("heading",{level:4})?(e.openBlock(),e.createBlock(D,{key:3,symbol:"h4","base-path":t.iconBasePath},null,8,["base-path"])):(e.openBlock(),e.createBlock(D,{key:4,symbol:"headline","base-path":t.iconBasePath},null,8,["base-path"]))]),e.createElementVNode("ul",oo,[e.createElementVNode("li",null,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("heading",{level:1})}]),onClick:m[2]||(m[2]=f=>a.value?.chain().focus().setHeading({level:1}).run()),title:"Set Heading 1"},[e.createVNode(D,{symbol:"h1","base-path":t.iconBasePath},null,8,["base-path"])],2)]),e.createElementVNode("li",null,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("heading",{level:2})}]),onClick:m[3]||(m[3]=f=>a.value?.chain().focus().setHeading({level:2}).run()),title:"Set Heading 2"},[e.createVNode(D,{symbol:"h2","base-path":t.iconBasePath},null,8,["base-path"])],2)]),e.createElementVNode("li",null,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("heading",{level:3})}]),onClick:m[4]||(m[4]=f=>a.value?.chain().focus().setHeading({level:3}).run()),title:"Set Heading 3"},[e.createVNode(D,{symbol:"h3","base-path":t.iconBasePath},null,8,["base-path"])],2)]),e.createElementVNode("li",null,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("heading",{level:4})}]),onClick:m[5]||(m[5]=f=>a.value?.chain().focus().setHeading({level:4}).run()),title:"Set Heading 4"},[e.createVNode(D,{symbol:"h4","base-path":t.iconBasePath},null,8,["base-path"])],2)])])]),e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("paragraph")}]),onClick:m[6]||(m[6]=f=>a.value?.chain().focus().setParagraph().run()),title:"Set Paragraph"},[e.createVNode(D,{symbol:"paragraph","base-path":t.iconBasePath},null,8,["base-path"])],2),e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("bulletList")}]),onClick:m[7]||(m[7]=f=>a.value?.chain().focus().toggleBulletList().run()),title:"Toggle Bullet List"},[e.createVNode(D,{symbol:"list","base-path":t.iconBasePath},null,8,["base-path"])],2),e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("orderedList")}]),onClick:m[8]||(m[8]=f=>a.value?.chain().focus().toggleOrderedList().run()),title:"Toggle Ordered List"},[e.createVNode(D,{symbol:"ordered-list","base-path":t.iconBasePath},null,8,["base-path"])],2)]),e.createElementVNode("div",io,[e.createElementVNode("button",ro,[a.value.isActive({textAlign:"center"})?(e.openBlock(),e.createBlock(D,{key:0,symbol:"align-center","base-path":t.iconBasePath},null,8,["base-path"])):a.value.isActive({textAlign:"left"})?(e.openBlock(),e.createBlock(D,{key:1,symbol:"align-left","base-path":t.iconBasePath},null,8,["base-path"])):a.value.isActive({textAlign:"right"})?(e.openBlock(),e.createBlock(D,{key:2,symbol:"align-right","base-path":t.iconBasePath},null,8,["base-path"])):(e.openBlock(),e.createBlock(D,{key:3,symbol:"align-justify","base-path":t.iconBasePath},null,8,["base-path"]))]),e.createElementVNode("ul",so,[e.createElementVNode("li",null,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive({textAlign:"left"})}]),onClick:m[9]||(m[9]=f=>a.value?.chain().focus().setTextAlign("left").run())},[e.createVNode(D,{symbol:"align-left","base-path":t.iconBasePath},null,8,["base-path"])],2)]),e.createElementVNode("li",null,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive({textAlign:"center"})}]),onClick:m[10]||(m[10]=f=>a.value?.chain().focus().setTextAlign("center").run())},[e.createVNode(D,{symbol:"align-center","base-path":t.iconBasePath},null,8,["base-path"])],2)]),e.createElementVNode("li",null,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive({textAlign:"right"})}]),onClick:m[11]||(m[11]=f=>a.value?.chain().focus().setTextAlign("right").run())},[e.createVNode(D,{symbol:"align-right","base-path":t.iconBasePath},null,8,["base-path"])],2)]),e.createElementVNode("li",null,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive({textAlign:"pretty"})}]),onClick:m[12]||(m[12]=f=>a.value?.chain().focus().setTextAlign("right").run())},[e.createVNode(D,{symbol:"align-justify","base-path":t.iconBasePath},null,8,["base-path"])],2)])])]),a.value.isActive("link")?(e.openBlock(),e.createElementBlock("button",{key:3,class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("link")}]),onClick:m[13]||(m[13]=f=>a.value.chain().focus().unsetLink().run()),title:"Unset Link"},[e.createVNode(D,{symbol:"unlink","base-path":t.iconBasePath},null,8,["base-path"])],2)):(e.openBlock(),e.createElementBlock("button",{key:2,class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("link")}]),onClick:s,title:"Set Link"},[e.createVNode(D,{symbol:"link","base-path":t.iconBasePath},null,8,["base-path"])],2)),e.createElementVNode("div",co,[e.createElementVNode("button",{class:"btn btn-sm btn-light",onClick:m[14]||(m[14]=f=>a.value?.chain().focus().undo().run()),disabled:!a.value.can().chain().focus().undo().run(),title:"Undo"},[e.createVNode(D,{symbol:"undo","base-path":t.iconBasePath},null,8,["base-path"])],8,Ao),e.createElementVNode("button",{class:"btn btn-sm btn-light",onClick:m[15]||(m[15]=f=>a.value?.chain().focus().redo().run()),disabled:!a.value.can().chain().focus().redo().run(),title:"Redo"},[e.createVNode(D,{symbol:"redo","base-path":t.iconBasePath},null,8,["base-path"])],8,uo)]),t.allowFullscreen?(e.openBlock(),e.createElementBlock("button",{key:4,class:"btn btn-sm btn-light ms-auto",onClick:m[16]||(m[16]=f=>i.value=!i.value),title:i.value?"Exit Fullscreen":"Fullscreen"},[e.createVNode(D,{symbol:i.value?"close":"maximize","base-path":t.iconBasePath},null,8,["symbol","base-path"])],8,mo)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),{class:"rte-editor__content",editor:a.value},null,8,["editor"]))],2)],8,["disabled"]))}}),po={class:"input-color"},go={class:"base-input__color-swatch"},ho=["name","id","disabled","read-only","required","aria-label"],yo=e.defineComponent({__name:"input-color",props:{modelValue:{type:[String,Number,Boolean,Date],default:""},type:{type:String,default:"text"},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},maxlength:{type:Number},pattern:{type:String,default:null}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.computed({get(){return n.modelValue},set(i){l("update:modelValue",i)}});return(i,a)=>(e.openBlock(),e.createElementBlock("div",po,[e.createVNode(Se,{modelValue:o.value,"onUpdate:modelValue":a[1]||(a[1]=r=>o.value=r),type:t.type==="color"?"text":t.type,id:t.id,name:t.name,placeholder:t.placeholder,pattern:t.pattern,label:t.label,disabled:t.disabled,"read-only":t.readOnly,required:t.required,maxlength:t.maxlength},{"input-append":e.withCtx(r=>[e.createElementVNode("span",go,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":a[0]||(a[0]=s=>o.value=s),type:"color",name:`${t.name}-color`,id:`${t.id}-color`,disabled:t.disabled,"read-only":t.readOnly,required:t.required,class:"form-control","aria-label":t.label},null,8,ho),[[e.vModelText,o.value]])])]),_:1},8,["modelValue","type","id","name","placeholder","pattern","label","disabled","read-only","required","maxlength"])]))}}),bo={class:"color-palette"},ko=["for"],wo=e.defineComponent({__name:"color-palette",props:{modelValue:{type:[String],default:""},colors:{type:Array,default:["#000000","#FFFFFF"]},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.computed({get(){return n.modelValue},set(i){l("update:modelValue",i)}});return(i,a)=>(e.openBlock(),e.createElementBlock("div",bo,[e.createVNode(Qe,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=r=>o.value=r),options:t.colors,name:t.name,id:t.id,label:t.label,disabled:t.disabled,required:t.required,class:"d-flex flex-wrap flex-row gap-2"},{"option-label":e.withCtx(r=>[e.createElementVNode("label",{for:`${t.id}-${r.index}`,class:"d-block rounded-circle",style:e.normalizeStyle({backgroundColor:r.option})},null,12,ko)]),_:1},8,["modelValue","options","name","id","label","disabled","required"])]))}}),Bo=["id"],Vo=["for","innerHTML"],Co={class:"dropdown"},Eo={class:"caption"},$o=["innerHTML"],So={class:"caption__text"},No={class:"d-block text-truncate"},vo={class:"dropdown-menu"},Mo={class:"form-check d-flex"},Do=["value","id","name","label","required","disabled"],Lo=["value","id","name","label","required","disabled"],Io=["for"],he=e.defineComponent({__name:"input-dropdown",props:{id:{type:String},name:{type:String,default:()=>`dropdown-${H()}`},label:{type:String},error:{type:String},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},modelValue:{type:null},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},showSelectionCount:{type:Boolean,default:!1},toggleCaption:{type:String},placeholder:{type:String,default:""},icon:{default:"chevron-down",type:String},variant:{type:String,default:""},color:{type:String,default:""},outlined:{type:Boolean,default:!1},exactMatch:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const{t:n}=tt.useI18n(),l=t,o=c,i=e.computed({get(){return l.multiple&&!l.modelValue?[]:l.modelValue},set(s){o("update:modelValue",s)}}),a=e.computed(()=>l.options&&l.options.map(s=>(s=typeof s=="string"?{text:s,value:s}:s,{...s,active:l.modelValue&&s.value&&(l.exactMatch?l.modelValue===s.value:l.multiple?l.modelValue.includes(s.value):l.modelValue===s.value)}))),r=e.computed(()=>{if(!l.modelValue)return l.placeholder||`${n("common.select")}`;if(l.multiple&&Array.isArray(l.modelValue)&&l.modelValue.length)return a.value.reduce((s,d)=>l.modelValue.includes(d.value)?`${s}${s?", ":""}${d.text}`:s,"");if(!l.multiple){const s=a.value.find(d=>typeof d.value=="object"&&d.value!==null?JSON.stringify(d.value)===JSON.stringify(l.modelValue):d.value===l.modelValue);return s?s.text:l.placeholder||`${n("common.select")}`}return l.placeholder||`${n("common.select")}`});return(s,d)=>(e.openBlock(),e.createElementBlock("div",{class:"input input-dropdown",id:`${t.id||t.name}`},[e.renderSlot(s.$slots,"label",{},()=>[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:`${t.id||t.name}--dropdown-toggle`,class:"input__label",innerHTML:`${t.label}${t.required?" *":""}`},null,8,Vo)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Co,[e.createVNode(ht,{id:`${t.id||t.name}--dropdown-toggle`,"data-bs-toggle":"dropdown",role:"button",type:"button",title:r.value,class:"btn dropdown-toggle",color:t.color,outlined:t.outlined,disabled:t.disabled},{default:e.withCtx(()=>[e.createElementVNode("span",Eo,[e.createVNode(e.Transition,{name:"bounce"},{default:e.withCtx(()=>[t.showSelectionCount&&t.modelValue.length?(e.openBlock(),e.createElementBlock("i",{key:0,class:"caption__count",innerHTML:t.modelValue.length},null,8,$o)):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("span",So,[e.createElementVNode("span",No,e.toDisplayString(t.toggleCaption||r.value),1)])])]),_:1},8,["id","title","color","outlined","disabled"]),e.createElementVNode("ul",vo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(u,A)=>(e.openBlock(),e.createElementBlock("li",{key:`${u.value}-${A}`},[e.createElementVNode("div",{class:e.normalizeClass(["dropdown-item",u.active&&"active"])},[e.createElementVNode("div",Mo,[t.multiple?e.withDirectives((e.openBlock(),e.createElementBlock("input",{type:"checkbox","onUpdate:modelValue":d[0]||(d[0]=m=>i.value=m),value:u.value,key:`${t.name}-${u.value}-${A}__if`,id:`${t.name}-${u.value}-${A}`,name:t.name,label:u.text,required:t.required,disabled:u.selectable===!1,class:"form-check-input"},null,8,Do)),[[e.vModelCheckbox,i.value]]):e.withDirectives((e.openBlock(),e.createElementBlock("input",{type:"radio","onUpdate:modelValue":d[1]||(d[1]=m=>i.value=m),value:u.value,key:`${t.name}-${u.value}-${A}__else`,id:`${t.name}-${u.value}-${A}`,name:t.name,label:u.text,required:t.required,disabled:u.selectable===!1,class:"form-check-input visually-hidden"},null,8,Lo)),[[e.vModelRadio,i.value]]),e.createElementVNode("label",{class:"form-check-label flex-grow-1",onclick:"event.stopPropagation",for:`${t.name}-${u.value}-${A}`},e.toDisplayString(u.text),9,Io)])],2)]))),128))])])],8,Bo))}}),To={key:0,class:"auto-suggest__suggestions position-relative"},Po={class:"suggestions dropdown-menu show w-100 mt-2"},xo=["onClick"],zo=["innerHTML"],wt=e.defineComponent({__name:"auto-suggest",props:{modelValue:{type:String},id:{type:String},name:{type:String},label:{type:String},error:{type:String},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},options:{type:Array,default:[]},placeholder:{type:String,default:""},color:{type:String,default:""},outlined:{type:Boolean,default:!1},selection:{type:String}},emits:["update:modelValue","update:selection"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(),i=e.ref(!1),a=e.computed({get(){return n.modelValue},set(f){l("update:modelValue",f)}}),r=e.computed(()=>{const f=new RegExp(`(${a.value})`,"i");return a.value?n.options.filter(g=>f.test(g)):n.options}),s=e.computed(()=>{const f=new RegExp(`(${a.value})`,"i");return r.value.map(g=>{const y=g.replace(f,"<strong>$1</strong>");return Z(y)})});e.watch(()=>n.options,(f,g)=>{f.length&&(i.value=!0)},{deep:!0});function d(){n.options.length&&(i.value=!0)}function u(f){i.value=!1;const g=r.value[f];l("update:modelValue",g),l("update:selection",g)}const A=e.ref();function m(f){const g=f.target;i.value&&g&&!o.value.contains(g)&&(i.value=!1)}return e.onBeforeMount(()=>{A.value=document.addEventListener("click",m)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",A.value)}),(f,g)=>(e.openBlock(),e.createElementBlock("div",{class:"auto-suggest",ref_key:"container",ref:o},[e.createElementVNode("div",{class:"auto-suggest__input",onFocusCapture:d},[e.renderSlot(f.$slots,"default",{},()=>[e.createVNode(Se,e.mergeProps({modelValue:a.value,"onUpdate:modelValue":g[0]||(g[0]=y=>a.value=y)},f.$props),null,16,["modelValue"])])],32),i.value&&r.value.length?(e.openBlock(),e.createElementBlock("div",To,[e.createElementVNode("ul",Po,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(y,C)=>(e.openBlock(),e.createElementBlock("li",{key:y,class:"suggestions__item dropdown-item",onClick:e.withModifiers(p=>u(C),["prevent"])},[e.createElementVNode("p",{class:"text-truncate my-2",innerHTML:y},null,8,zo)],8,xo))),128))])])):e.createCommentVNode("",!0)],512))}});function Bt(t){const c=e.computed(()=>{if(!t.tintColor)return null;const a=t.tintColor.replace("#",""),r=parseInt(a.substring(0,2),16),s=parseInt(a.substring(2,4),16),d=parseInt(a.substring(4,6),16);return{r,g:s,b:d}});function n(a,r,s){if(t.filter==="none"&&!t.tintColor)return;const d=a.getImageData(0,0,r,s),u=d.data;if(t.filter==="grayscale")for(let A=0;A<u.length;A+=4){const m=.299*u[A]+.587*u[A+1]+.114*u[A+2];u[A]=m,u[A+1]=m,u[A+2]=m}else if(t.filter==="sepia")for(let A=0;A<u.length;A+=4){const m=u[A],f=u[A+1],g=u[A+2];u[A]=Math.min(255,.393*m+.769*f+.189*g),u[A+1]=Math.min(255,.349*m+.686*f+.168*g),u[A+2]=Math.min(255,.272*m+.534*f+.131*g)}if(t.tintColor&&c.value){const{r:A,g:m,b:f}=c.value,g=t.tintIntensity;for(let y=0;y<u.length;y+=4){const C=u[y],p=u[y+1],k=u[y+2],h=C*A/255,T=p*m/255,x=k*f/255;u[y]=C+(h-C)*g,u[y+1]=p+(T-p)*g,u[y+2]=k+(x-k)*g}}a.putImageData(d,0,0)}async function l(a){if(typeof a!="string")return a.complete&&a.naturalWidth>0||await new Promise((s,d)=>{a.onload=()=>s(),a.onerror=()=>d(new Error("Failed to load image element"))}),a;const r=new Image;return await new Promise((s,d)=>{r.onload=()=>s(),r.onerror=()=>d(new Error("Failed to load image source")),r.src=a}),r}async function o(a,r={}){const s=await l(a),d=document.createElement("canvas"),u=r.width||s.naturalWidth||s.width,A=r.height||s.naturalHeight||s.height;d.width=u,d.height=A;const m=d.getContext("2d");if(!m)throw new Error("Could not create canvas context");return m.drawImage(s,0,0,u,A),n(m,u,A),d.toDataURL(r.mimeType||"image/png",r.quality)}async function i(a,r={}){const s=await o(a,r);return(await fetch(s)).blob()}return{tintRgb:c,applyFilterToCanvas:n,applyFilterToImage:o,applyFilterToImageBlob:i}}const Fo={class:"zoom-slider"},Oo=["min","max","step","value"],Ro={class:"zoom-slider__ticks"},Ho={name:"ZoomSlider",inheritAttrs:!1},Uo=e.defineComponent({...Ho,props:{modelValue:{type:Number,default:1},min:{type:Number,default:1},max:{type:Number,default:2},step:{type:Number,default:.01},ticks:{type:Number,default:51}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.computed(()=>n.ticks),i=e.computed(()=>Math.round((n.ticks-1)/2)),a=e.computed(()=>Math.round((n.ticks-1)/10));function r(s){l("update:modelValue",parseFloat(s.target.value))}return(s,d)=>(e.openBlock(),e.createElementBlock("div",Fo,[e.createElementVNode("input",{type:"range",min:t.min,max:t.max,step:t.step,value:t.modelValue,onInput:r,"aria-label":"Zoom"},null,40,Oo),e.createElementVNode("div",Ro,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,u=>(e.openBlock(),e.createElementBlock("span",{key:u,class:e.normalizeClass(["zoom-slider__tick",{"zoom-slider__tick--major":(u-1)%i.value===0,"zoom-slider__tick--mid":(u-1)%a.value===0&&(u-1)%i.value!==0}])},null,2))),128))])]))}}),Qo="data:image/png;base64,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",Wo={class:"camera__preview"},jo={key:0,class:"camera__bg-notification"},qo=["innerHTML"],Go=["width","height"],Jo={key:1,class:"camera__countdown-overlay"},Yo=["innerHTML","data-countdown"],_o=["src"],Ko={key:3,class:"camera__zoom-slider"},Zo={class:"camera__controls"},Xo={class:"container"},ei={class:"row"},ti={class:"col"},ai={class:"btn-group"},ni={key:0},li={key:1},oi={key:0,class:"camera__select-device"},ii={class:"col"},ri={class:""},si={name:"BaseCamera",inheritAttrs:!1},Vt={"1x1":{width:720,height:720},"2x3":{width:720,height:1080},"3x2":{width:1080,height:720},"3x4":{width:720,height:960},"4x3":{width:960,height:720},"4x5":{width:960,height:1200},"5x4":{width:1200,height:960},"16x9":{width:1280,height:720},"9x16":{width:720,height:1280}},ci=e.defineComponent({...si,props:{modelValue:{type:null},enableSwitchCamera:{type:Boolean,default:!0},defaultRearCamera:{type:Boolean,default:!1},enableMirrorCamera:{type:Boolean,default:!1},enableGuide:{type:Boolean,default:!0},guideSrc:{type:String,default:()=>Qo},countdown:{type:Number,default:0},ratio:{type:String,default:""},filter:{type:String,default:"none",validator:t=>["none","grayscale","sepia"].includes(t)},tintColor:{type:String,default:""},tintIntensity:{type:Number,default:.3},enableAudio:{type:Boolean,default:!1},enableSelectDevice:{type:Boolean,default:!1},enableCropImage:{type:Boolean,default:!0},resolutions:{type:Object,default:()=>Vt},zoom:{type:Number,default:1},enableZoomSlider:{type:Boolean,default:!1},correctOrientation:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{expose:c,emit:n}){const l=t,o=n,i=e.ref(),a=e.ref(),r=e.ref(!1),s=e.ref([]),d=e.ref(),u=e.ref(),A=e.ref(),m=e.ref(!1),f=e.ref(!1),g=e.ref(0),y=e.ref(0),C=e.ref(),p=e.ref(l.zoom||1),k=e.ref(!1),h=e.ref(!1),T=e.ref(null),x=e.ref(!1);let F,$;const R=typeof window<"u"&&"DeviceMotionEvent"in window&&(window.matchMedia?.("(pointer: coarse)")?.matches||"ontouchstart"in window),V=e.computed(()=>l.correctOrientation&&R),P=e.computed(()=>r.value&&(!V.value||x.value));function O(){$&&(window.removeEventListener("pointerdown",$,!0),window.removeEventListener("touchend",$,!0),$=void 0)}function M(){x.value=!0,F&&(clearTimeout(F),F=void 0),O()}function v(){$||($=()=>{E()},window.addEventListener("pointerdown",$,!0),window.addEventListener("touchend",$,!0))}function Q(w){const S=w.accelerationIncludingGravity;if(!S||S.x==null||S.y==null)return;const W=Math.round(Math.atan2(S.x,S.y)*180/Math.PI);if(T.value=W,!(typeof screen<"u"&&screen.orientation&&screen.orientation.type||"portrait-primary").startsWith("portrait"))h.value=!1;else{const ne=Math.abs(Math.abs(W)-90);!h.value&&ne<40?h.value=!0:h.value&&ne>50&&(h.value=!1)}x.value||M()}async function E(){if(!(!l.correctOrientation||k.value))try{const w=window.DeviceOrientationEvent,S=window.DeviceMotionEvent;if(w&&typeof w.requestPermission=="function"&&await w.requestPermission()!=="granted"){M();return}S&&typeof S.requestPermission=="function"&&await S.requestPermission().catch(()=>{}),window.addEventListener("devicemotion",Q,!0),k.value=!0,O()}catch(w){console.error(w,"enableMotion: failed"),M()}}const z=e.computed(()=>({...Vt,...l.resolutions})),I=e.computed(()=>Object.values(z.value)[0]);function q(w){return String(w||"").trim().toLowerCase().replace(/\s+/g,"").replace(/[:/]/g,"x")}const G=e.computed(()=>{if(z.value[l.ratio])return l.ratio;const w=q(l.ratio);if(z.value[w])return w}),oe=e.computed(()=>G.value?z.value[G.value]:I.value),Ie=e.computed(()=>{const w=G.value?z.value[G.value]:void 0;return w?`${w.width} / ${w.height}`:void 0}),ie=e.computed(()=>s.value.filter(w=>w.kind==="videoinput")),ve=e.computed(()=>s.value.filter(w=>w.kind==="audioinput")),J=e.ref([]),Y=e.computed(()=>ie.value.filter(w=>!J.value.includes(w.deviceId)));function ye(w){w&&!J.value.includes(w)&&(J.value=[...J.value,w])}function Ae(w){const S=ie.value;if(!S.length)return;const W=S.findIndex(_=>_.deviceId===w);for(let _=1;_<=S.length;_++){const ae=S[(Math.max(W,0)+_)%S.length];if(ae&&!J.value.includes(ae.deviceId))return ae}}const be=e.computed(()=>Y.value.map((w,S)=>({text:w.label.slice(0,w.label.indexOf("("))||`Camera ${S+1}`,value:w.deviceId}))),Te=e.computed({get(){return d.value&&d.value.deviceId},set(w){d.value=ie.value.find(S=>S.deviceId===w),A.value=void 0}});e.computed({get(){return u.value&&u.value.deviceId},set(w){u.value=ve.value.find(S=>S.deviceId===w)}});const re=e.computed(()=>{const w=d.value&&ie.value.findIndex(S=>S.deviceId===d.value?.deviceId);return l.enableMirrorCamera&&w===0?"mirror-cam":""}),je=e.computed(()=>{const w=d.value&&s.value.findIndex(S=>S.deviceId===d.value?.deviceId);return re.value?`${re.value} mirror-device-${w}`:""}),{tintRgb:qe,applyFilterToCanvas:Ge}=Bt(l);function ke(){if(G.value&&oe.value){g.value=oe.value.width,y.value=oe.value.height;return}g.value=i.value.parentElement&&i.value.parentElement.clientWidth,y.value=i.value.parentElement&&i.value.parentElement.clientHeight}const Je=at.debounce(()=>{ke()},300,{trailing:!0,leading:!1});function Pe(w){return new Promise(S=>setTimeout(S,w))}async function st(){const w=oe.value?{width:oe.value.width,height:oe.value.height}:void 0,S=w?Math.max(w.width,w.height):void 0,W=w?Math.min(w.width,w.height):void 0,_=l.enableAudio&&{...u.value?{deviceId:u.value.deviceId}:{}},ae=d.value&&d.value.deviceId,ne=A.value,j=[];ae?(S&&W&&j.push({deviceId:{exact:ae},width:{ideal:S},height:{ideal:W}}),j.push({deviceId:{exact:ae}})):ne?(S&&W&&j.push({facingMode:{exact:ne},width:{ideal:S},height:{ideal:W}}),j.push({facingMode:{exact:ne}}),S&&W&&j.push({width:{ideal:S},height:{ideal:W}}),j.push({})):(S&&W&&j.push({width:{ideal:S},height:{ideal:W}}),j.push({}));for(const K of j)for(let X=0;X<5;X++)try{return await navigator.mediaDevices.getUserMedia({audio:_,video:K})}catch($e){const pe=$e&&$e.name;if(pe==="NotReadableError"||pe==="AbortError"){await Pe(500);continue}break}}function fe(){i.value&&i.value.srcObject&&(i.value.srcObject.getTracks().forEach(S=>{S.stop()}),i.value.srcObject=null)}let se=0;const ct=350,At=8e3;let Ee,Me;function we(){Ee&&(clearTimeout(Ee),Ee=void 0),Me&&(Me(),Me=void 0)}function Ye(w){ye(w);const S=Ae(w);S&&S.deviceId!==w&&(d.value=S)}function b(w){we();const S=d.value&&d.value.deviceId,W=i.value;if(!S||!W)return;const _=W.srcObject&&W.srcObject.getVideoTracks?.()[0];if(!_||!(typeof _.addEventListener=="function")||W.videoWidth>0)return;const ne=()=>{if(we(),w!==se||!i.value)return;const X=Ae(S);X&&X.deviceId!==S&&(fe(),Ye(S))},j=()=>{w===se&&i.value&&i.value.videoWidth>0&&we()},K=()=>{ne()};_.addEventListener("unmute",j),_.addEventListener("ended",K),Me=()=>{_.removeEventListener("unmute",j),_.removeEventListener("ended",K)},Ee=setTimeout(()=>{Ee=void 0,!(w!==se||!i.value)&&(i.value.videoWidth===0?ne():we())},At)}const B=2;let L=0;async function U(){const w=++se;we();const S=!!(i.value&&i.value.srcObject);if(fe(),S&&(await Pe(ct),w!==se))return;const W=await st();if(w!==se){W?.getTracks?.().forEach(_=>_.stop());return}if(W&&i.value){L=0,i.value.srcObject=W,i.value.muted=!0;try{await i.value.play?.()}catch{}b(w)}else if(!W&&d.value){L<B&&(L++,await Pe(600),w===se&&await U());return}return s.value=await navigator.mediaDevices.enumerateDevices(),{stream:i.value&&i.value.srcObject,devices:s.value}}function Be(){m.value?(m.value=!1,f.value=!1,fe()):(m.value=!0,U())}function De(){d.value=void 0,A.value=A.value==="user"?"environment":"user",U()}async function _e(w,S){w&&(!S||w.deviceId!==S.deviceId)&&await U()}e.watch(()=>d.value,_e),e.watch(()=>u.value,_e);function xe(){l.countdown?(C.value=C.value?C.value-1:l.countdown,C.value?setTimeout(xe,1e3):Ze()):Ze()}c({onCapture:xe,enableMotion:E,camera:i.value,zoom:p});function Ke(){if(!l.correctOrientation||T.value==null)return 0;const w=((T.value-180)%360+360)%360;return(-1*(Math.round(w/90)*90%360)%360+360)%360}function dt(w,S,W,_,ae){const ne=a.value.width,j=a.value.height;w.translate(ne/2,j/2),re.value&&w.scale(-1,1),w.rotate(W*Math.PI/180);const K=j,X=ne,pe=Math.max(K/_,X/ae)*(p.value&&p.value>0?p.value:1),ze=_*pe,ge=ae*pe;w.drawImage(S,-ze/2,-ge/2,ze,ge)}function Ze(){f.value=!0;const w=a.value.getContext("2d"),S=i.value,W=S&&S.srcObject&&S.srcObject.getTracks(),{aspectRatio:_,width:ae,height:ne}=W.length&&W[0].getSettings(),j=S?.videoWidth||ae||g.value,K=S?.videoHeight||ne||y.value,X=j&&K?j/K:_,$e=oe.value||{width:j,height:K},pe=$e?.width||j,ze=G.value?$e?.height||K:Math.round(pe/X),ge=pe/ze;if(a.value.width=pe,a.value.height=ze,!j||!K||!X)return;const Xe=Ke();if(w.save(),Xe===90||Xe===270){dt(w,S,Xe,j,K),w.restore(),Ge(w,a.value.width,a.value.height),Rt(a.value.toDataURL("image/png"));return}if(Xe===180&&(w.translate(a.value.width,a.value.height),w.scale(-1,-1)),re.value&&(w.translate(a.value.width,0),w.scale(-1,1)),l.enableCropImage){let de=0,Ve=0,le=j,ue=K;if(X>ge?(le=K*ge,de=(j-le)/2):X<ge&&(ue=j/ge,Ve=(K-ue)/2),p.value&&p.value!==1){const Fe=le/p.value,Oe=ue/p.value;de+=(le-Fe)/2,Ve+=(ue-Oe)/2,le=Fe,ue=Oe}w.drawImage(S,de,Ve,le,ue,0,0,a.value.width,a.value.height)}else{let de=a.value.width,Ve=a.value.height,le=0,ue=0;if(X>ge?(Ve=a.value.width/X,ue=(a.value.height-Ve)/2):X<ge&&(de=a.value.height*X,le=(a.value.width-de)/2),p.value&&p.value!==1){const Fe=j/p.value,Oe=K/p.value,TA=(j-Fe)/2,PA=(K-Oe)/2;re.value&&(le=a.value.width-le-de),w.drawImage(S,TA,PA,Fe,Oe,le,ue,de,Ve)}else re.value&&(le=a.value.width-le-de),w.drawImage(S,0,0,j,K,le,ue,de,Ve)}w.restore(),Ge(w,a.value.width,a.value.height);const IA=a.value.toDataURL("image/png");Rt(IA)}function Rt(w){const S=Kt(w);o("update:modelValue",{name:`cam-pic-${new Date().toISOString()}`,id:`cam-pic-${new Date().toISOString()}`,blob:S,size:S.size})}return e.onMounted(async()=>{await U(),m.value=!0,A.value=l.defaultRearCamera?"environment":"user";const w=l.defaultRearCamera&&ie.value.length>1?ie.value[ie.value.length-1]:ie.value[0];if(d.value=w,l.enableAudio&&(u.value=ve.value[0]),navigator.mediaDevices.addEventListener("devicechange",async S=>{await U()}),window.addEventListener("resize",Je),ke(),V.value){F=setTimeout(M,3e3);const S=window.DeviceOrientationEvent;S&&typeof S.requestPermission=="function"?v():E()}await e.nextTick(),r.value=!0}),e.onBeforeUnmount(()=>{m.value=!1,f.value=!1,we(),fe(),window.removeEventListener("resize",Je),window.removeEventListener("devicemotion",Q,!0),F&&clearTimeout(F),O()}),(w,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["camera",je.value])},[e.createElementVNode("div",Wo,[P.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",jo,[e.createVNode(He,{color:"#000"},{default:e.withCtx(()=>[e.createElementVNode("span",{class:e.normalizeClass("d-block text-center"),innerHTML:w.$t("camera.waitForCameraNotification")},null,8,qo)]),_:1})])),e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(["camera__video-wrapper",G.value?`aspect-ratio--${G.value}`:""]),style:e.normalizeStyle({aspectRatio:Ie.value||void 0,transform:p.value!==1?`scale(${p.value})`:void 0})},[e.createElementVNode("video",{ref_key:"camera",ref:i,class:"camera__video",style:e.normalizeStyle({filter:l.filter==="grayscale"?"grayscale(100%)":l.filter==="sepia"?"sepia(100%)":"none",transform:t.correctOrientation&&h.value?"rotate(180deg)":void 0}),autoplay:"",muted:"",playsinline:""},null,4),t.tintColor?(e.openBlock(),e.createElementBlock("div",{key:0,class:"camera__tint-overlay",style:e.normalizeStyle({backgroundColor:t.tintColor,opacity:t.tintIntensity,mixBlendMode:"multiply"})},null,4)):e.createCommentVNode("",!0)],6),[[e.vShow,P.value]]),e.withDirectives(e.createElementVNode("canvas",{ref_key:"canvas",ref:a,class:"camera__canvas",width:g.value,height:y.value},null,8,Go),[[e.vShow,f.value]]),C.value?(e.openBlock(),e.createElementBlock("div",Jo,[(e.openBlock(),e.createElementBlock("p",{class:"countdown",key:C.value,innerHTML:C.value,"data-countdown":C.value},null,8,Yo))])):e.createCommentVNode("",!0),t.enableGuide&&m.value&&P.value?(e.openBlock(),e.createElementBlock("img",{key:2,class:"camera__guide",src:t.guideSrc},null,8,_o)):e.createCommentVNode("",!0),t.enableZoomSlider?(e.openBlock(),e.createElementBlock("div",Ko,[e.createVNode(Uo,{modelValue:p.value,"onUpdate:modelValue":S[0]||(S[0]=W=>p.value=W)},null,8,["modelValue"])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Zo,[e.createElementVNode("div",Xo,[e.createElementVNode("div",ei,[e.createElementVNode("div",ti,[e.createElementVNode("div",ai,[e.createElementVNode("button",{type:"button",class:"camera__toggle btn btn-primary",onClick:Be},[m.value?(e.openBlock(),e.createElementBlock("span",li,e.toDisplayString(w.$t("common.pause")),1)):(e.openBlock(),e.createElementBlock("span",ni,e.toDisplayString(w.$t("common.play")),1))]),e.createElementVNode("button",{type:"button",class:"camera__capture btn btn-primary",onClick:xe},e.toDisplayString(w.$t("camera.capture")),1)])])])])]),(t.enableSwitchCamera||t.enableSelectDevice)&&Y.value&&Y.value.length>1?(e.openBlock(),e.createElementBlock("div",oi,[e.createElementVNode("div",ii,[t.enableSelectDevice?(e.openBlock(),e.createBlock(he,{key:0,modelValue:Te.value,"onUpdate:modelValue":S[1]||(S[1]=W=>Te.value=W),options:be.value,class:"w-100"},null,8,["modelValue","options"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",ri,[t.enableSwitchCamera?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn",onClick:e.withModifiers(De,["prevent"])},[e.createVNode(D,{symbol:"switch-camera"})])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)],2))}}),Ai={class:"base-map"},di={key:0,class:"base-map__label"},ui={key:0,class:"base-map__hint"},Ct=e.defineComponent({__name:"base-map",props:{label:{type:String,default:""},modelValue:{type:Object,default:null},center:{type:Object,default:()=>({lat:48.8566,lng:2.3522})},zoom:{type:Number,default:13},markers:{type:Array,default:()=>[]},routeCoordinates:{type:Array,default:()=>[]},routeColor:{type:String,default:"#2563eb"},routeWeight:{type:Number,default:5},selectionRadius:{type:Number,default:0},selectionRadiusCenter:{type:Object,default:null},selectionRadiusColor:{type:String,default:"#2563eb"},selectionRadiusFillColor:{type:String,default:"#60a5fa"},selectionRadiusFillOpacity:{type:Number,default:.14},selectionRadiusOpacity:{type:Number,default:.65},selectionRadiusStrokeWeight:{type:Number,default:2},userLocation:{type:Object,default:null},userLocationLabel:{type:String,default:"Your location"},selectedLocationLabel:{type:String,default:"Selected location"},height:{type:String,default:"20rem"},interactive:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},showSelectedMarker:{type:Boolean,default:!0},helperText:{type:String,default:""},mapStyle:{type:String,default:"streets"},tileLayerUrl:{type:String,default:""},tileLayerAttribution:{type:String,default:""}},emits:["update:modelValue","update:center","update:zoom","map-click","marker-click"],setup(t,{emit:c}){function n(E,z){return z({className:"base-map__marker-wrapper",html:`<span class="base-map__marker-pin base-map__marker-pin--${E}"><span class="base-map__marker-core"></span></span>`,iconSize:[24,24],iconAnchor:[12,24],popupAnchor:[0,-20]})}const l={lat:48.8566,lng:2.3522},o={streets:{url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'},light:{url:"https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png",attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors © <a href="https://carto.com/attributions">CARTO</a>'},dark:{url:"https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png",attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors © <a href="https://carto.com/attributions">CARTO</a>'},minimal:{url:"https://{s}.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}{r}.png",attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors © <a href="https://carto.com/attributions">CARTO</a>'},popover:{url:"https://{s}.basemaps.cartocdn.com/rastertiles/voyager_nolabels/{z}/{x}/{y}{r}.png",attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors © <a href="https://carto.com/attributions">CARTO</a>'}},i=t,a=c,r=e.shallowRef(null),s=e.ref(null),d=e.ref(null),u=e.ref(i.zoom),A=e.ref(x(i.modelValue));e.onMounted(async()=>{if(typeof window>"u")return;const[E,z]=await Promise.all([import("@vue-leaflet/vue-leaflet"),import("leaflet")]),I=E.default??E,q=z.default??z;r.value=e.markRaw({LCircle:e.markRaw(I.LCircle),LMap:e.markRaw(I.LMap),LMarker:e.markRaw(I.LMarker),LPopup:e.markRaw(I.LPopup),LPolyline:e.markRaw(I.LPolyline),LTileLayer:e.markRaw(I.LTileLayer)}),s.value={list:n("list",q.divIcon),selected:n("selected",q.divIcon),search:n("search",q.divIcon),user:n("user",q.divIcon)}}),e.watch(()=>i.zoom,E=>{u.value=E}),e.watch(()=>i.modelValue,E=>{A.value=x(E)}),e.watch(()=>i.center,E=>{const z=x(E);z&&V(z)},{deep:!0}),e.watch(()=>[i.height,i.markers.length,i.routeCoordinates.length,i.center?.lat,i.center?.lng,i.modelValue?.lat,i.modelValue?.lng,i.userLocation?.lat,i.userLocation?.lng],()=>{R()},{flush:"post"});const m=e.computed(()=>x(i.userLocation)),f=e.computed(()=>x(i.selectionRadiusCenter)||A.value),g=e.computed(()=>{const E=(i.markers||[]).map(z=>{const I=x(z);return I?{...z,...I,type:z.type||(A.value&&$(z,A.value)?"selected":"list")}:null}).filter(z=>!!z);return i.showSelectedMarker&&A.value&&!E.some(z=>$(z,A.value))&&E.push({id:"selected-location",label:i.selectedLocationLabel,type:"search",...A.value}),E}),y=e.computed(()=>(i.routeCoordinates||[]).map(E=>F(E)).filter(E=>!!E)),C=e.computed(()=>{const E=x(i.center)||A.value||x(i.markers[0])||l;return[E.lat,E.lng]}),p=e.computed(()=>{if(i.tileLayerUrl.trim())return i.tileLayerUrl;const E=i.mapStyle==="custom"?"streets":i.mapStyle;return o[E].url}),k=e.computed(()=>{if(i.tileLayerAttribution.trim())return i.tileLayerAttribution;const E=i.mapStyle==="custom"?"streets":i.mapStyle;return o[E].attribution});function h(E="list"){if(s.value)return s.value[E]||s.value.list}function T(E="list"){switch(E){case"user":return 450;case"selected":return 350;case"search":return 250;default:return 150}}function x(E){if(!E)return null;const z=Number(E.lat),I=Number(E.lng);return Number.isNaN(z)||Number.isNaN(I)?null:{lat:z,lng:I}}function F(E){if(Array.isArray(E)){const I=Number(E[0]),q=Number(E[1]);return Number.isFinite(I)&&Number.isFinite(q)?[I,q]:null}const z=x(E);return z?[z.lat,z.lng]:null}function $(E,z){const I=x(E),q=x(z);return!I||!q?!1:Math.abs(I.lat-q.lat)<1e-6&&Math.abs(I.lng-q.lng)<1e-6}async function R(){await e.nextTick(),d.value?.invalidateSize()}function V(E){d.value?.panTo([E.lat,E.lng])}function P(E){d.value=E,V(x(i.center)||A.value||l),R()}function O(E){u.value=E,a("update:zoom",E)}function M(E){const z=x(E);z&&(V(z),a("update:center",z))}function v(E){if(!i.interactive||i.disabled)return;const z={lat:Number(E.latlng.lat.toFixed(6)),lng:Number(E.latlng.lng.toFixed(6))};A.value=z,V(z),a("update:modelValue",z),a("update:center",z),a("map-click",z)}function Q(E){A.value={lat:Number(E.lat),lng:Number(E.lng)},V(A.value),a("update:modelValue",A.value),a("update:center",A.value),a("marker-click",E)}return(E,z)=>(e.openBlock(),e.createElementBlock("div",Ai,[e.renderSlot(E.$slots,"label",{},()=>[t.label?(e.openBlock(),e.createElementBlock("label",di,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:e.normalizeClass(["base-map__frame",{"base-map__frame--interactive":t.interactive&&!t.disabled,"base-map__frame--disabled":t.disabled}]),style:e.normalizeStyle({height:t.height}),"data-testid":"base-map"},[r.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value?.LMap),{key:0,class:"base-map__canvas","use-global-leaflet":!1,zoom:u.value,center:C.value,onReady:P,onClick:v,"onUpdate:zoom":O,"onUpdate:center":M},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.LTileLayer),{url:p.value,attribution:k.value,"layer-type":"base",name:"OpenStreetMap"},null,8,["url","attribution"])),y.value.length>1?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.LPolyline),{key:0,"lat-lngs":y.value,color:t.routeColor,weight:t.routeWeight},null,8,["lat-lngs","color","weight"])):e.createCommentVNode("",!0),f.value&&t.selectionRadius>0?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.LCircle),{key:1,"lat-lng":[f.value.lat,f.value.lng],radius:t.selectionRadius,color:t.selectionRadiusColor,"fill-color":t.selectionRadiusFillColor,"fill-opacity":t.selectionRadiusFillOpacity,opacity:t.selectionRadiusOpacity,weight:t.selectionRadiusStrokeWeight},null,8,["lat-lng","radius","color","fill-color","fill-opacity","opacity","weight"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(I,q)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.LMarker),{key:I.id??`${I.lat}-${I.lng}-${q}`,"lat-lng":[I.lat,I.lng],icon:h(I.type),"z-index-offset":T(I.type),onClick:G=>Q(I)},{default:e.withCtx(()=>[I.label?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.LPopup),{key:0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(I.label),1)]),_:2},1024)):e.createCommentVNode("",!0)]),_:2},1032,["lat-lng","icon","z-index-offset","onClick"]))),128)),m.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.LMarker),{key:`user-${m.value.lat}-${m.value.lng}`,"lat-lng":[m.value.lat,m.value.lng],icon:h("user"),"z-index-offset":T("user"),onClick:z[0]||(z[0]=I=>Q({id:"user-location",label:t.userLocationLabel,type:"user",...m.value}))},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.LPopup),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.userLocationLabel),1)]),_:1}))]),_:1},8,["lat-lng","icon","z-index-offset"])):e.createCommentVNode("",!0)]),_:1},40,["zoom","center"])):e.createCommentVNode("",!0)],6),t.interactive&&t.helperText?(e.openBlock(),e.createElementBlock("p",ui,e.toDisplayString(t.helperText),1)):e.createCommentVNode("",!0)]))}}),mi={class:"location-list","data-testid":"location-list"},fi={key:0,class:"location-list__label"},pi={key:1,class:"location-list__items"},gi=["data-testid","onClick"],hi={class:"location-list__title"},yi={key:0,class:"location-list__description"},bi={key:1,class:"location-list__distance"},ki={key:2,class:"location-list__empty"},Et=e.defineComponent({__name:"location-list",props:{modelValue:{type:null,default:null},locations:{type:Array,default:()=>[]},label:{type:String,default:""},titleKey:{type:String,default:"title"},descriptionKey:{type:String,default:"address"},emptyText:{type:String,default:"No locations found."},showDistance:{type:Boolean,default:!0}},emits:["update:modelValue","select"],setup(t,{emit:c}){const n=t,l=c;function o(A){return A?.[n.titleKey]||A?.label||A?.name||"Location"}function i(A){return A?.[n.descriptionKey]||A?.description||A?.subtitle||""}function a(A,m=0){return A?typeof A!="object"?A:A.id??A.value??o(A)??m:m}function r(A,m=0){return`${a(A,m)}`.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function s(A,m=0){return a(n.modelValue)===a(A,m)}function d(A){return Number.isFinite(A)?A>=1e3?`${(A/1e3).toFixed(1)} km`:`${Math.round(A)} m`:"—"}function u(A){l("update:modelValue",A),l("select",A)}return(A,m)=>(e.openBlock(),e.createElementBlock("div",mi,[t.label?(e.openBlock(),e.createElementBlock("p",fi,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),t.locations.length?(e.openBlock(),e.createElementBlock("div",pi,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.locations,(f,g)=>(e.openBlock(),e.createElementBlock("button",{key:a(f,g),type:"button",class:e.normalizeClass(["location-list__item",{"location-list__item--active":s(f,g)}]),"data-testid":`location-option-${r(f,g)}`,onClick:y=>u(f)},[e.createElementVNode("strong",hi,e.toDisplayString(o(f)),1),i(f)?(e.openBlock(),e.createElementBlock("small",yi,e.toDisplayString(i(f)),1)):e.createCommentVNode("",!0),t.showDistance&&f?.distance!==void 0&&f?.distance!==null?(e.openBlock(),e.createElementBlock("small",bi,e.toDisplayString(d(Number(f.distance)))+" away ",1)):e.createCommentVNode("",!0)],10,gi))),128))])):(e.openBlock(),e.createElementBlock("p",ki,e.toDisplayString(t.emptyText),1))]))}});function $t(t,c){const n=e.ref(!1),l=e.ref(0);function o(u){c.enabled()&&(u.preventDefault(),l.value++,n.value=!0)}function i(u){c.enabled()&&u.preventDefault()}function a(u){c.enabled()&&(u.preventDefault(),l.value=Math.max(0,l.value-1),l.value===0&&(n.value=!1))}function r(u){if(!c.enabled())return;u.preventDefault(),l.value=0,n.value=!1;const A=u.dataTransfer?Array.from(u.dataTransfer.files||[]):[];c.onDrop(A)}function s(){t.value?.addEventListener("dragenter",o),t.value?.addEventListener("dragover",i),t.value?.addEventListener("dragleave",a),t.value?.addEventListener("drop",r)}function d(){t.value?.removeEventListener("dragenter",o),t.value?.removeEventListener("dragover",i),t.value?.removeEventListener("dragleave",a),t.value?.removeEventListener("drop",r)}return e.onMounted(s),e.onBeforeUnmount(d),{isDragging:n}}function St(t){const c=e.ref(!1);async function n(l){const o=new FormData;o.append("file",l),c.value=!0;try{const a=await(t.customFetch||Re.ofetch)(t.endpoint,{method:"POST",...t.customFetch?{}:{headers:{Accept:"application/json",...t.authToken?{Authorization:`Bearer ${t.authToken}`}:{}}},body:o});return`${t.baseResponsePath||"/api/v1/assets"}/${a.path}`}finally{c.value=!1}}return{pending:c,uploadFile:n}}function Nt(t){async function c(l){return e.unref(t)==="objectUrl"?URL.createObjectURL(l):await mt(l)}function n(l){l&&l.startsWith("blob:")&&URL.revokeObjectURL(l)}return{toLocalUrl:c,revoke:n}}const wi=["src"],Bi=["onClick"],Vi=["onClick"],Ci=["for"],Ei=["innerHTML"],$i={key:0,class:"file-upload__loading-spinner"},Ne=e.defineComponent({__name:"file-upload",props:{modelValue:{type:Array,default:[]},src:{type:String},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},pattern:{type:String,default:null},multiple:{type:Boolean,default:!1},accept:{type:String},maxFileSize:{type:Number,default:0},endpoint:{type:String,default:""},toDataUrl:{type:Boolean,default:!0},authToken:{type:String,default:""},customFetch:null,baseResponsePath:{type:String,default:"/api/v1/assets"},enablePreview:{type:Boolean,default:!0},previewWidth:{type:Number,default:0},dropFiles:{type:Boolean,default:!1},localUrlFormat:{type:String,default:"dataUrl"}},emits:["update:modelValue","update:src"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(),i=e.ref([]),a=e.ref([]),{pending:r,uploadFile:s}=St(n),{toLocalUrl:d,revoke:u}=Nt(e.toRef(n,"localUrlFormat")),{isDragging:A}=$t(o,{enabled:()=>n.dropFiles,onDrop:g=>{i.value=g}}),m=e.computed(()=>n.modelValue?.length?n.modelValue:n.src?[{type:"",src:n.src}]:a.value);function f(g){const y=typeof g=="string"?parseInt(g,10):g,C=Array.isArray(n.modelValue)&&n.modelValue.length>0,p=Array.isArray(a.value)&&a.value.length>0;if(p&&y<a.value.length&&(u(a.value[y]?.src),a.value.splice(y,1)),C){const k=[...n.modelValue];y<k.length&&k.splice(y,1),l("update:modelValue",k),n.multiple||l("update:src",k[0]?.src||"")}else if(p){const k=n.multiple?a.value:a.value[0];l("update:modelValue",k),n.multiple||l("update:src",a.value[0]?.src||"")}else l("update:modelValue",n.multiple?[]:void 0),l("update:src","");i.value.splice(y,1)}return e.watch(()=>i.value,async g=>{const y=await Promise.all(g.map(async C=>({src:n.toDataUrl?await d(C):await s(C),type:C.type,name:C.name,size:C.size,lastModified:C.lastModified})));a.value=y},{deep:!0}),e.watch(()=>a.value,async g=>{const y=n.multiple?g:g[0];l("update:modelValue",y),n.multiple||l("update:src",g[0]&&g[0].src)},{deep:!0}),(g,y)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"root",ref:o,class:e.normalizeClass(["file-upload",{"has-dragging":t.dropFiles,"is-dragging":e.unref(A)}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(C,p)=>(e.openBlock(),e.createElementBlock("div",{key:C.src,class:e.normalizeClass(t.enablePreview?"file-upload__thumbnail":"file-upload__reset")},[e.renderSlot(g.$slots,"preview-item",{bind:{item:C,index:p},on:{removeFile:f}},()=>[t.enablePreview?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("img",{src:`${C.src}${t.previewWidth?`?width=${t.previewWidth}`:""}`,class:"img-thumbnail rounded"},null,8,wi),e.createElementVNode("button",{onClick:e.withModifiers(k=>f(p),["prevent"]),class:"btn btn--close"},[e.createVNode(D,{symbol:"x"})],8,Bi)],64)):(e.openBlock(),e.createElementBlock("button",{key:1,onClick:e.withModifiers(k=>f(p),["prevent"]),class:"btn btn--close btn-outline-contrast"},[e.createVNode(D,{symbol:"x"})],8,Vi))])],2))),128)),e.createVNode(ot,{modelValue:i.value,"onUpdate:modelValue":y[0]||(y[0]=C=>i.value=C),id:t.id,name:t.name,accept:t.accept,"max-file-size":t.maxFileSize,multiple:t.multiple,class:"d-none"},null,8,["modelValue","id","name","accept","max-file-size","multiple"]),e.createElementVNode("label",{for:t.id,class:"file-upload__label"},[e.renderSlot(g.$slots,"button",{},()=>[e.createElementVNode("span",{class:"btn btn-outline-contrast",innerHTML:e.unref(Z)(t.label||g.$t("common.selectFile"))},null,8,Ei)]),e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.unref(r)?(e.openBlock(),e.createElementBlock("span",$i,[...y[1]||(y[1]=[e.createElementVNode("span",{class:"spinner-border",role:"status"},[e.createElementVNode("span",{class:"visually-hidden"},"Loading...")],-1)])])):e.createCommentVNode("",!0)]),_:1})],8,Ci)],2))}}),Si={class:"container"},Ni={class:"row"},vi={key:0,class:"col-12"},Mi={class:"py-4 px-3 d-flex align-items-center border border-bottom-0"},Di=["innerHTML"],Li={class:"col-12"},Ii={key:0,class:"grid place-items-center text-center text-muted py-5 border border-bottom-0"},Ti={class:"m-0"},Pi={class:"preview-item border-bottom p-3"},xi={class:"d-flex gap-3"},zi={class:"col-2"},Fi={class:"col d-flex flex-column"},Oi={class:"file-meta text-muted small mb-2"},Ri={class:"fw-semibold"},Hi={key:0},Ui={key:1},Qi=["onUpdate:modelValue","id"],Wi=["innerHTML"],ji={class:"col-auto d-flex flex-column gap-2"},qi=["onClick"],Gi=["onClick"],Ji={class:"d-flex align-items-end p-3"},Yi={class:"btn btn-primary btn-sm ms-auto d-flex align-items-center gap-2"},_i=["innerHTML"],Ki=e.defineComponent({__name:"bulk-upload",props:{storeId:String,modelValue:{type:Array,default:[]},disabled:{type:Boolean,default:!1},size:{type:Number,default:()=>120},messages:{type:null},hasHeader:{type:Boolean,default:!0},title:{type:String,default:""},hasBulkRemove:{type:Boolean,default:!0},hasCaptions:{type:Boolean,default:!0},editCaptions:{type:Boolean,default:!0},allowDuplicateFiles:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=g=>`${g.name??""}|${g.size??0}|${g.lastModified??0}|${g.type??""}`,i=e.computed({get:()=>{const g=n.modelValue||[];return s.value=g.map(y=>y.caption||""),g.map(y=>({type:y.type,src:y.src,...y.name?{name:y.name}:{},...y.size?{size:y.size}:{},...y.lastModified?{lastModified:y.lastModified}:{}}))},set:g=>{const y=i.value||[],C=Array.isArray(g)?g:[],p=n.allowDuplicateFiles?C:C.filter(h=>{const T=o(h);return!y.some(x=>o(x)===T)});if(!n.allowDuplicateFiles&&C.length>0&&p.length===0)return;const k=p.length<=y.length&&p.every(h=>y.some(T=>T.src===h.src));f(k?p:[...y,...p])}}),a=e.ref(null),r=e.ref({}),s=e.ref({});function d(g){const y=[...n.modelValue||[]];y.splice(g,1),l("update:modelValue",y)}async function u(g){r.value[g]=!r.value[g],r.value[g]||f(),await e.nextTick(),a.value?.querySelector(`#caption-${g}`)?.focus()}function A(g){if(g==null)return"";const y=["B","KB","MB","GB","TB"];let C=g,p=y.shift();for(;C>=1024&&y.length;)C/=1024,p=y.shift();return`${C.toFixed(1)} ${p}`}function m(g){return g?new Date(g).toLocaleDateString():""}function f(g){l("update:modelValue",(g||i.value).map((y,C)=>({...y,caption:s.value[C]||""})))}return(g,y)=>{const C=e.resolveComponent("svg-icon"),p=e.resolveComponent("base-image");return e.openBlock(),e.createElementBlock("div",{class:"bulk-upload",ref_key:"root",ref:a},[e.createElementVNode("div",Si,[e.createElementVNode("div",Ni,[t.hasHeader?(e.openBlock(),e.createElementBlock("div",vi,[e.createElementVNode("div",Mi,[e.createElementVNode("p",{class:"fw-bold m-0",innerHTML:e.unref(Z)(t.title||g.$t("fileInput.bulkUploadHeadline"))},null,8,Di),e.renderSlot(g.$slots,"bulk-remove",{},()=>[t.hasBulkRemove?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:y[0]||(y[0]=e.withModifiers(k=>i.value=[],["prevent"])),class:"btn btn--close ms-auto p-0"},[e.createVNode(C,{symbol:"x"})])):e.createCommentVNode("",!0)])])])):e.createCommentVNode("",!0),e.createElementVNode("div",Li,[i.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ii,[e.createElementVNode("p",Ti,e.toDisplayString(g.$t("fileInput.noFilesSelected")),1)])),e.createVNode(Ne,{modelValue:i.value,"onUpdate:modelValue":y[2]||(y[2]=k=>i.value=k),multiple:!0,accept:"image/*","drop-files":!0,"to-data-url":!0,"local-url-format":"objectUrl",class:"d-flex flex-column border"},{"preview-item":e.withCtx(({bind:{item:k,index:h}})=>[e.createElementVNode("div",Pi,[e.createElementVNode("div",xi,[e.createElementVNode("div",zi,[e.createVNode(p,{src:k.src,alt:"",class:"img-thumbnail"},null,8,["src"])]),e.createElementVNode("div",Fi,[e.createElementVNode("div",Oi,[e.createElementVNode("div",Ri,e.toDisplayString(k.name||g.$t("fileInput.unknownFile")),1),e.createElementVNode("div",null,[k.size?(e.openBlock(),e.createElementBlock("span",Hi,e.toDisplayString(A(k.size)),1)):e.createCommentVNode("",!0),k.lastModified?(e.openBlock(),e.createElementBlock("span",Ui," · "+e.toDisplayString(m(k.lastModified)),1)):e.createCommentVNode("",!0)])]),t.hasCaptions?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[r.value[h]&&t.editCaptions?e.withDirectives((e.openBlock(),e.createElementBlock("textarea",{key:0,"onUpdate:modelValue":T=>s.value[h]=T,id:`caption-${h}`,class:"form-control rounded-0 h-100",onChangeCapture:y[1]||(y[1]=T=>f())},null,40,Qi)),[[e.vModelText,s.value[h]]]):(e.openBlock(),e.createElementBlock("p",{key:1,class:"m-0",innerHTML:s.value[h]||`<small>${g.$t("fileInput.noCaption")}</small>`},null,8,Wi))],64)):e.createCommentVNode("",!0)]),e.createElementVNode("div",ji,[e.createElementVNode("button",{onClick:e.withModifiers(T=>d(h),["prevent"]),class:"btn btn--close"},[e.createVNode(C,{symbol:"x"})],8,qi),t.editCaptions?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:e.withModifiers(T=>u(h),["prevent"]),class:"btn btn--close"},[e.createVNode(C,{symbol:r.value[h]?"check":"edit-3"},null,8,["symbol"])],8,Gi)):e.createCommentVNode("",!0)])])])]),button:e.withCtx(()=>[e.renderSlot(g.$slots,"button",{},()=>[e.createElementVNode("span",Ji,[e.createElementVNode("span",Yi,[e.createVNode(C,{symbol:"upload",size:"small"}),e.createElementVNode("span",{innerHTML:g.$t("common.selectFile")},null,8,_i)])])])]),_:3},8,["modelValue"])])])])],512)}}}),Zi=["onDragenter","onDragover","onDragleave","onDragend","onDrop","innerHTML"],Xi=["draggable","onDragstart","onDrag","onDragenter","onDragover","onDragleave","onDragend","onDrop"],er={key:0,class:"sortable-list__drag-handle"},tr=["onDragstart","onDrag"],ar={key:0,class:"sortable-list__item"},it=e.defineComponent({__name:"sortable-list",props:{modelValue:{type:Array,default:()=>[]},config:{type:Object,default:null},messages:{type:Object,default:{}},vertical:{type:Boolean,default:!0},showDragHandle:{type:Boolean,default:!1},showPreview:{type:Boolean,default:!0}},emits:["update:modelValue","update:isDragging","update:dragIndex","update:dragOverIndex"],setup(t,{emit:c}){const n=t,l=e.ref(!1),o=e.ref(null),i=e.ref(null),a=c,r=e.computed({get(){return n.modelValue},set(h){a("update:modelValue",h)}}),s=e.ref("");function d(h){const T=h.currentTarget.closest(".sortable-list__item")??h.currentTarget;s.value=et.sanitize(T.outerHTML,{ALLOWED_TAGS:["b","i","em","strong","u","span","p","br","a","ul","ol","li","h1","h2","h3","h4","h5","h6","article","div","label","button","svg","use"],ALLOWED_ATTR:["class","id","style","href","target","rel","title","type","aria-expanded","aria-controls","aria-labelledby","data-countdown"],ALLOW_DATA_ATTR:!0})}const u=e.useSlots(),A=e.computed(()=>u["list-append"]);function m(h,T){h.dataTransfer&&(d(h),h.dataTransfer.dropEffect="move",h.dataTransfer.effectAllowed="move",h.dataTransfer.setData("index",T.toLocaleString()),l.value=!0,o.value=T)}function f(h,T){l.value=!1,o.value=null,i.value=null,s.value=""}function g(h,T){}function y(h,T){i.value=o.value!==T?T:null}function C(h,T){i.value=o.value!==T?T:null}function p(h,T){}function k(h,T){if(h.dataTransfer){h.preventDefault();const x=Number(h.dataTransfer.getData("index")),F=T,$=[...r.value];(F||F===0)&&(x||x===0)&&$.splice(F,0,$.splice(x,1)[0]),r.value=$}}return e.watch(()=>l.value,h=>{a("update:isDragging",h)},{immediate:!0}),e.watch(()=>o.value,h=>{a("update:dragIndex",h)},{immediate:!0}),e.watch(()=>i.value,h=>{a("update:dragOverIndex",h)},{immediate:!0}),(h,T)=>(e.openBlock(),e.createBlock(e.TransitionGroup,{name:"list",tag:"ul",class:e.normalizeClass(["sortable-list p-0 d-flex gap-2",{"flex-column":t.vertical,"flex-row flex-wrap":!t.vertical}]),onDragover:T[0]||(T[0]=e.withModifiers(()=>{},["prevent"])),onDragenter:T[1]||(T[1]=e.withModifiers(()=>{},["prevent"]))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(x,F)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:F},[t.showPreview&&l.value&&i.value===F?(e.openBlock(),e.createElementBlock("li",{key:0,class:"sortable-list__item is-drop-target",onDragenter:$=>y($,F),onDragover:$=>C($,F),onDragleave:$=>void 0,onDragend:$=>f(),onDrop:$=>k($,F),innerHTML:s.value},null,40,Zi)):e.createCommentVNode("",!0),e.createElementVNode("li",{class:e.normalizeClass(["sortable-list__item d-flex",{"is-drag-item":l.value&&o.value===F,"is-drop-target":l.value&&i.value===F&&!t.showPreview,"align-items-center gap-2":t.vertical}]),draggable:!t.showDragHandle,onDragstart:$=>m($,F),onDrag:$=>void 0,onDragenter:$=>y($,F),onDragover:$=>C($,F),onDragleave:$=>void 0,onDragend:$=>f(),onDrop:$=>k($,F)},[t.showDragHandle?(e.openBlock(),e.createElementBlock("div",er,[e.createElementVNode("button",{type:"button",class:"btn",draggable:"true",onDragstart:$=>m($,F),onDrag:$=>void 0},[e.createVNode(D,{symbol:"drag"})],40,tr)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["sortable-list__item-content",{"flex-grow-1":t.vertical}])},[e.renderSlot(h.$slots,"list-item",{item:x,index:F},()=>[e.createTextVNode(e.toDisplayString(x),1)])],2)],42,Xi)],64))),128)),A.value?(e.openBlock(),e.createElementBlock("li",ar,[e.renderSlot(h.$slots,"list-append")])):e.createCommentVNode("",!0)]),_:3},8,["class"]))}}),nr={key:0,class:"image-editor position-relative"},lr={class:"row mb-3"},or={class:"col"},ir={class:"row gap-2 mb-4"},rr={class:"col-12"},sr={class:"input mb-2"},cr={class:"col"},Ar={class:"input mb-0"},dr={class:"col"},ur={class:"input mb-0"},mr={class:"row"},fr={class:"col d-flex justify-content-end gap-2"},pr=["disabled"],vt=e.defineComponent({__name:"image-resize",props:{modelValue:{type:String,default:'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"/>',required:!0},spinner:{type:Boolean,default:!1},ready:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const n=c,l=e.useTemplateRef("image"),o=e.ref(1),i=e.ref(0),a=e.ref(0),r=e.ref(null),s=e.ref(0),d=e.ref(0);function u(){r.value&&(n("update:modelValue",r.value),o.value=1)}const A=()=>{if(!s.value||!d.value)return;i.value=Math.round(s.value*o.value);const f=d.value/s.value;a.value=Math.round(i.value*f);const g=l.value?.$el;if(!g)return;const y=g.querySelector("img");y&&(r.value=pt(y,i.value,a.value,"image/png"))},m=at.debounce(A,300);return e.watch(o,()=>{s.value&&(i.value=Math.round(s.value*o.value),m())}),e.watch(i,()=>{if(!s.value||i.value===0)return;const f=i.value/s.value;Math.abs(f-o.value)>1e-4&&(o.value=Number(f.toFixed(4)));const g=d.value/s.value;a.value=Math.round(i.value*g),m()}),e.watch(a,()=>{if(!d.value||a.value===0)return;const f=a.value/d.value;Math.abs(f-o.value)>1e-4&&(o.value=Number(f.toFixed(4)));const g=s.value/d.value;i.value=Math.round(a.value*g),m()}),e.onMounted(()=>{const f=l.value?.$el;if(!f)return;const g=f.querySelector("img");if(!g)return;const y=()=>{s.value=g.naturalWidth,d.value=g.naturalHeight,A()};g.complete?y():g.addEventListener("load",y)}),(f,g)=>t.modelValue?(e.openBlock(),e.createElementBlock("div",nr,[e.createElementVNode("div",lr,[e.createElementVNode("div",or,[e.createVNode(ce,{ref_key:"image",ref:l,class:"d-none",src:t.modelValue,animate:!1},null,8,["src"]),r.value?(e.openBlock(),e.createBlock(ce,{key:0,ref:"targetImage",class:"",src:r.value,animate:!1},null,8,["src"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",ir,[e.createElementVNode("div",rr,[e.createElementVNode("div",sr,[e.withDirectives(e.createElementVNode("input",{type:"range",class:"form-range",id:"scaleRange","onUpdate:modelValue":g[0]||(g[0]=y=>o.value=y),min:"0",max:"2",step:"0.0001"},null,512),[[e.vModelText,o.value]])])]),e.createElementVNode("div",cr,[e.createElementVNode("div",Ar,[e.createVNode(Se,{type:"number",class:"form-input mb-0",id:"targetWidth",modelValue:i.value,"onUpdate:modelValue":g[1]||(g[1]=y=>i.value=y)},null,8,["modelValue"])])]),g[3]||(g[3]=e.createElementVNode("div",{class:"col-auto d-flex align-items-center"},[e.createElementVNode("output",null,"×")],-1)),e.createElementVNode("div",dr,[e.createElementVNode("div",ur,[e.createVNode(Se,{type:"number",class:"form-input mb-0",id:"targetHeight",modelValue:a.value,"onUpdate:modelValue":g[2]||(g[2]=y=>a.value=y)},null,8,["modelValue"])])])]),e.createElementVNode("div",mr,[e.createElementVNode("div",fr,[e.renderSlot(f.$slots,"actions"),e.createElementVNode("button",{class:"btn btn-sm btn-primary",disabled:!r.value,onClick:e.withModifiers(u,["prevent","stop"])},e.toDisplayString(f.$t("common.apply")),9,pr)])])])):e.createCommentVNode("",!0)}}),gr={key:0,class:"image-crop"},hr={class:"row mb-4"},yr={class:"col"},br={class:"row"},kr={class:"col d-flex gap-2 justify-content-end gap-2"},Mt=e.defineComponent({__name:"image-crop",props:{modelValue:{type:String,default:'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"/>',required:!0},spinner:{type:Boolean,default:!1},ready:{type:Boolean,default:!1},aspectRatioOptions:{type:Array,default:()=>[{value:0,text:"Free"},{value:1,text:"1:1"},{value:4/3,text:"4:3"},{value:16/9,text:"16:9"},{value:3/4,text:"3:4"},{value:9/16,text:"9:16"}]},suggestedAspectRatio:Number},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.useTemplateRef("cropper"),i=e.ref(0);function a(){const{canvas:r}=o.value?.getResult(),s=r.toDataURL();l("update:modelValue",s)}return e.onBeforeMount(()=>{i.value=n.suggestedAspectRatio||0}),(r,s)=>t.modelValue?(e.openBlock(),e.createElementBlock("div",gr,[e.createElementVNode("div",hr,[e.createElementVNode("div",yr,[e.createVNode(e.unref(Ht.Cropper),{ref:"cropper",class:"cropper",src:t.modelValue,"stencil-props":{...i.value!==0?{aspectRatio:i.value}:{}},"resize-image":!1},null,8,["src","stencil-props"])])]),s[1]||(s[1]=e.createElementVNode("hr",null,null,-1)),e.createElementVNode("div",br,[e.createElementVNode("div",kr,[e.createVNode(he,{modelValue:i.value,"onUpdate:modelValue":s[0]||(s[0]=d=>i.value=d),options:t.aspectRatioOptions,class:"mb-0"},null,8,["modelValue","options"]),e.renderSlot(r.$slots,"actions"),e.createElementVNode("button",{class:"btn btn-sm btn-primary",onClick:e.withModifiers(a,["prevent","stop"])},e.toDisplayString(r.$t("common.apply")),1)])])])):e.createCommentVNode("",!0)}}),wr={key:0,class:"image-crop-resize position-relative"},Br={class:"row"},Vr={class:"col"},Cr={key:3,class:"alert alert-warning mt-4 small p-2"},Er={key:4},$r={class:"row"},Sr={class:"col-12"},Nr={class:"d-flex"},vr={key:0,class:"d-flex gap-3"},Mr={class:"caption"},Dr={class:"caption"},Lr={key:1,class:"ms-auto"},Dt=e.defineComponent({__name:"image-crop-resize",props:{modelValue:{type:String,default:'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"/>',required:!0},spinner:{type:Boolean,default:!1},ready:{type:Boolean,default:!1},aspectRatio:Number},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(!1),i=e.ref(!1),a=e.computed({get:()=>n.modelValue,set:s=>l("update:modelValue",s)}),r=e.computed(()=>n.modelValue.startsWith("data:image/svg+xml"));return e.watch(()=>[o.value,a.value],(s,d)=>{s[0]&&s[0]===d[0]&&(o.value=!1)}),e.watch(()=>[i.value,a.value],(s,d)=>{s[0]&&s[0]===d[0]&&(i.value=!1)}),e.onMounted(()=>{}),(s,d)=>t.modelValue?(e.openBlock(),e.createElementBlock("div",wr,[e.createElementVNode("div",Br,[e.createElementVNode("div",Vr,[o.value||i.value?o.value?(e.openBlock(),e.createBlock(vt,{key:1,modelValue:a.value,"onUpdate:modelValue":d[1]||(d[1]=u=>a.value=u)},{actions:e.withCtx(()=>[e.createElementVNode("button",{class:"btn btn-outline-ccontrast",onClick:d[0]||(d[0]=e.withModifiers(u=>o.value=!1,["prevent","stop"]))},e.toDisplayString(s.$t("common.cancel")),1)]),_:1},8,["modelValue"])):i.value?(e.openBlock(),e.createBlock(Mt,{key:2,modelValue:a.value,"onUpdate:modelValue":d[3]||(d[3]=u=>a.value=u),"suggested-aspect-ratio":t.aspectRatio},{actions:e.withCtx(()=>[e.createElementVNode("button",{class:"btn btn-sm btn-outline-ccontrast",onClick:d[2]||(d[2]=e.withModifiers(u=>i.value=!1,["prevent","stop"]))},e.toDisplayString(s.$t("common.cancel")),1)]),_:1},8,["modelValue","suggested-aspect-ratio"])):e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(ce,{key:0,ref:"targetImage",class:"",animate:!1,src:t.modelValue},null,8,["src"])),r.value?(e.openBlock(),e.createElementBlock("div",Cr,e.toDisplayString(s.$t("common.svgWarning")),1)):e.createCommentVNode("",!0),!i.value&&!o.value?(e.openBlock(),e.createElementBlock("hr",Er)):e.createCommentVNode("",!0),e.createElementVNode("div",$r,[e.createElementVNode("div",Sr,[e.createElementVNode("div",Nr,[!i.value&&!o.value?(e.openBlock(),e.createElementBlock("div",vr,[e.createElementVNode("button",{type:"button",class:"btn btn-light",onClick:d[4]||(d[4]=e.withModifiers(u=>i.value=!i.value,["prevent","stop"]))},[e.createVNode(D,{symbol:"crop"}),e.createElementVNode("span",Mr,e.toDisplayString(s.$t("common.crop")),1)]),e.createElementVNode("button",{type:"button",class:"btn btn-light",onClick:d[5]||(d[5]=e.withModifiers(u=>o.value=!o.value,["prevent","stop"]))},[e.createVNode(D,{symbol:"image-upscale"}),e.createElementVNode("span",Dr,e.toDisplayString(s.$t("common.resize")),1)])])):e.createCommentVNode("",!0),!i.value&&!o.value?(e.openBlock(),e.createElementBlock("div",Lr,[e.renderSlot(s.$slots,"submit")])):e.createCommentVNode("",!0)])])])])])])):e.createCommentVNode("",!0)}}),Ir={class:"modal-dialog__content d-flex flex-column"},Tr={class:"modal-dialog__header d-flex p-3 border-bottom"},Pr={key:0,class:"modal-dialog__title",id:"exampleModalLabel"},xr={class:"modal-dialog__body"},zr={key:0,class:"modal-dialog__footer d-flex p-3 border-top"},Lt=e.defineComponent({__name:"modal-dialog",props:{modelValue:{type:Boolean,default:!1},modal:{type:Boolean,default:!0},size:{type:String,default:"md"},dismiss:{type:Boolean,default:!0},title:{type:String,default:""},footer:{type:Boolean,default:!0},classes:{type:String,default:""}},emits:["update:modelValue","confirm","cancel"],setup(t,{expose:c,emit:n}){const l=t,o=n,i=e.ref();function a(){document.documentElement.style.setProperty("--scroll-position",`${Math.round(document.documentElement.scrollTop)}px`),l.modal?i.value?.showModal():i.value?.show(),o("update:modelValue",!0)}function r(){const m=i.value&&new KeyframeEffect(i.value,[{translate:"0 -100%",opacity:"0"}],{duration:320,easing:"ease",direction:"normal"}),f=new Animation(m,document.timeline);f.play(),f.addEventListener("finish",()=>{i.value?.close(),s()}),o("update:modelValue",!1)}function s(){const m=getComputedStyle(document.documentElement).getPropertyValue("--scroll-position");document.documentElement.scrollTo({top:parseInt(m,10),behavior:"instant"}),o("update:modelValue",!1)}function d(m){a(),o("confirm",m)}function u(){r(),o("cancel")}function A(m){const f=m.target;f&&f.nodeName==="DIALOG"&&r()}return e.watch(()=>l.modelValue,(m,f)=>{m&&m!==f?a():f&&r()},{immediate:!0}),e.onMounted(()=>{i.value?.addEventListener("cancel",m=>{m.preventDefault(),r()}),l.dismiss&&document.addEventListener("click",A),l.modelValue&&a()}),e.onBeforeUnmount(()=>{l.dismiss&&document.removeEventListener("click",A)}),c({show:a,close:r,confirm:d,cancel:u}),(m,f)=>(e.openBlock(),e.createElementBlock("dialog",{ref_key:"dialog",ref:i,class:e.normalizeClass(["modal-dialog",{[`modal-dialog--${t.size}`]:t.size}]),onClose:s},[e.createElementVNode("div",Ir,[e.createElementVNode("div",Tr,[t.title?(e.openBlock(),e.createElementBlock("h5",Pr,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:"btn-close ms-auto border-radius-none","aria-label":"Close",onClick:r})]),e.createElementVNode("div",xr,[e.renderSlot(m.$slots,"default")]),t.footer?(e.openBlock(),e.createElementBlock("div",zr,[e.renderSlot(m.$slots,"footer"),e.createElementVNode("button",{type:"button",class:"btn ms-auto",onClick:r},e.toDisplayString(m.$t("common.close")),1)])):e.createCommentVNode("",!0)])],34))}}),Fr={class:"image-upload__controls"},Or={class:"d-flex gap-1 align-items-center"},Rr={key:1,class:"image-upload__controls"},Hr=["for"],Ur=["innerHTML"],Qr={key:0,class:"image-upload__loading-spinner"},Le=e.defineComponent({__name:"image-upload",props:{modelValue:{type:Object,default:void 0},src:{type:String},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},pattern:{type:String,default:null},accept:{type:String,default:"image/*"},maxFileSize:{type:Number,default:0},endpoint:{type:String,default:""},toDataUrl:{type:Boolean,default:!0},authToken:{type:String,default:""},customFetch:null,baseResponsePath:{type:String,default:"/api/v1/assets"},enablePreview:{type:Boolean,default:!0},previewWidth:{type:Number,default:0},dropFiles:{type:Boolean,default:!1},enableReview:{type:Boolean,default:!0},maxImageWidth:{type:Number,default:4096},aspectRatio:Number,localUrlFormat:{type:String,default:"dataUrl"}},emits:["update:modelValue","update:src"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(),i=e.ref([]),a=e.ref(!1),r=e.ref(!1),s=e.ref(null),d=e.ref(null),u=e.ref(null);let A=!1;const{pending:m,uploadFile:f}=St(n),{toLocalUrl:g,revoke:y}=Nt(e.toRef(n,"localUrlFormat")),{isDragging:C}=$t(o,{enabled:()=>n.dropFiles,onDrop:$=>{i.value=$}}),p=e.computed(()=>n.modelValue?n.modelValue:n.src?{type:"",src:n.src}:s.value);function k($){y(s.value?.src),s.value=$}function h(){k(null),i.value=[],a.value=!1,l("update:modelValue",void 0),l("update:src","")}function T(){h()}e.watch(()=>i.value,async $=>{if(!$||!$.length||!$[0])return;a.value=!1;const R=await ea($[0],n.maxImageWidth);n.enableReview?(d.value={src:await g(R),type:R.type},A=!0,r.value=!0):k({src:n.toDataUrl?await g(R):await f(R),type:R.type})}),e.watch(()=>s.value,$=>{l("update:modelValue",$||void 0),l("update:src",$?.src||"")}),e.watch(()=>u.value,async $=>{if($){try{k({src:n.toDataUrl?await g($):await f($),type:$.type})}catch(R){console.error(`Failed to process file "${$.name}"`,R)}u.value=null}}),e.watch(()=>r.value,($,R)=>{!$&&R&&d.value&&(A&&y(d.value.src),A=!1,d.value=null,T())}),e.watch(()=>n.src,$=>{!$&&s.value&&T()});function x($,R){A=!1,d.value={src:$,type:R},r.value=!0}async function F(){d.value&&(u.value=await ft(d.value.src,"file",d.value.type),A&&y(d.value.src)),A=!1,d.value=null,r.value=!1}return e.onBeforeUnmount(()=>{y(s.value?.src)}),($,R)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"root",ref:o,class:e.normalizeClass(["image-upload",{"has-dragging":t.dropFiles,"is-dragging":e.unref(C)}])},[!r.value&&p.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["mb-2",t.enablePreview?"image-upload__thumbnail":"image-upload__reset"])},[t.enablePreview?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(ce,{src:`${p.value.src}${t.previewWidth?`?width=${t.previewWidth}`:""}`,class:"img-thumbnail rounded",ready:a.value,"onUpdate:ready":R[0]||(R[0]=V=>a.value=V),animate:!1,style:e.normalizeStyle({maxWidth:t.previewWidth?`${t.previewWidth}px`:"auto",height:"auto"})},null,8,["src","ready","style"]),e.createElementVNode("div",Fr,[e.createElementVNode("div",Or,[e.createElementVNode("button",{type:"button",onClick:R[1]||(R[1]=e.withModifiers(V=>x(p.value.src,p.value.type),["prevent","stop"])),class:"btn btn--edit btn-sm btn-light"},[e.createVNode(D,{symbol:"edit-2"})]),e.createElementVNode("button",{type:"button",onClick:R[2]||(R[2]=e.withModifiers(V=>h(),["prevent","stop"])),class:"btn btn--close btn-sm btn-light"},[e.createVNode(D,{symbol:"x"})])])])],64)):(e.openBlock(),e.createElementBlock("div",Rr,[e.createElementVNode("button",{onClick:R[3]||(R[3]=e.withModifiers(V=>h(),["prevent","stop"])),class:"btn btn--close btn-outline-contrast"},[e.createVNode(D,{symbol:"x"})])]))],2)):e.createCommentVNode("",!0),e.createVNode(ot,{modelValue:i.value,"onUpdate:modelValue":R[4]||(R[4]=V=>i.value=V),id:t.id,name:t.name,accept:t.accept,"max-file-size":t.maxFileSize,class:"d-none"},null,8,["modelValue","id","name","accept","max-file-size"]),t.src?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("label",{key:1,for:t.id,class:"image-upload__label"},[e.renderSlot($.$slots,"button",{},()=>[e.createElementVNode("span",{class:"btn btn-outline-contrast",innerHTML:e.unref(Z)(t.label||$.$t("common.selectFile"))},null,8,Ur)]),e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.unref(m)?(e.openBlock(),e.createElementBlock("span",Qr,[...R[7]||(R[7]=[e.createElementVNode("span",{class:"spinner-border",role:"status"},[e.createElementVNode("span",{class:"visually-hidden"},"Loading...")],-1)])])):e.createCommentVNode("",!0)]),_:1})],8,Hr)),e.createVNode(Lt,{modelValue:r.value,"onUpdate:modelValue":R[6]||(R[6]=V=>r.value=V),footer:!1},{default:e.withCtx(()=>[r.value&&d.value?(e.openBlock(),e.createBlock(Dt,{key:0,modelValue:d.value.src,"onUpdate:modelValue":R[5]||(R[5]=V=>d.value.src=V),"aspect-ratio":t.aspectRatio},{submit:e.withCtx(()=>[e.createElementVNode("button",{class:"btn btn-primary",onClick:e.withModifiers(F,["prevent","stop"])},e.toDisplayString($.$t("common.save")),1)]),_:1},8,["modelValue","aspect-ratio"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue"])],2))}}),Wr={class:"upload-group"},jr=["innerHTML"],qr={class:"upload-group__list"},Gr={class:"img-container"},Jr=["src"],Yr={class:"item-overlay"},_r=["onClick"],Kr={role:"button",class:"img-thumbnail d-flex justify-content-center align-items-center"},Zr={role:"button",class:"img-thumbnail d-flex justify-content-center align-items-center"},It=e.defineComponent({__name:"upload-group",props:{modelValue:{type:Array,default:()=>[]},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},accept:{type:String},maxFileSize:{type:Number,default:0},endpoint:{type:String,default:""},authToken:{type:String,default:""},customFetch:null,baseResponsePath:{type:String,default:"/api/v1/assets"},previewWidth:{type:Number,default:0},useImageUpload:{type:Boolean,default:!1},maxImageWidth:{type:Number,default:0},aspectRatio:Number,localUrlFormat:{type:String,default:"dataUrl"}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(""),i=e.computed({get(){return n.modelValue},set(r){l("update:modelValue",r)}});function a(r){l("update:modelValue",[...n.modelValue.slice(0,r),...n.modelValue.slice(r+1)])}return e.watch(o,async(r,s)=>{r&&s!==r&&(l("update:modelValue",[...i.value,r]),await e.nextTick(),o.value="")}),(r,s)=>(e.openBlock(),e.createElementBlock("div",Wr,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,innerHTML:e.unref(Z)(t.label)},null,8,jr)):e.createCommentVNode("",!0),e.createElementVNode("div",qr,[e.createVNode(it,{modelValue:i.value,"onUpdate:modelValue":s[2]||(s[2]=d=>i.value=d),vertical:!1,class:"mb-3"},{"list-item":e.withCtx(({item:d,index:u})=>[e.createElementVNode("div",Gr,[e.createElementVNode("img",{src:`${d}${t.previewWidth?`?width=${t.previewWidth}`:""}`,class:"img-thumbnail"},null,8,Jr),e.createElementVNode("div",Yr,[e.createElementVNode("button",{onClick:e.withModifiers(A=>a(u),["prevent"]),class:"btn btn--close"},[e.createVNode(D,{symbol:"x"})],8,_r),e.renderSlot(r.$slots,"item-overlay",{item:d,index:u})])])]),"list-append":e.withCtx(()=>[t.useImageUpload?(e.openBlock(),e.createBlock(Le,{key:0,src:o.value,"onUpdate:src":s[0]||(s[0]=d=>o.value=d),endpoint:t.endpoint,"custom-fetch":t.customFetch,"to-data-url":!t.endpoint,"auth-token":t.authToken,disabled:t.disabled,"base-response-path":t.baseResponsePath,accept:t.accept,"max-file-size":t.maxFileSize,"max-image-width":t.maxImageWidth,"enable-preview":!1,"aspect-ratio":t.aspectRatio,"local-url-format":t.localUrlFormat},{button:e.withCtx(()=>[e.createElementVNode("span",Kr,[e.createVNode(D,{symbol:"plus"})])]),_:1},8,["src","endpoint","custom-fetch","to-data-url","auth-token","disabled","base-response-path","accept","max-file-size","max-image-width","aspect-ratio","local-url-format"])):(e.openBlock(),e.createBlock(Ne,{key:1,src:o.value,"onUpdate:src":s[1]||(s[1]=d=>o.value=d),multiple:!1,endpoint:t.endpoint,"custom-fetch":t.customFetch,"to-data-url":!t.endpoint,"auth-token":t.authToken,disabled:t.disabled,"base-response-path":t.baseResponsePath,accept:t.accept,"max-file-size":t.maxFileSize,"max-image-width":t.maxImageWidth,"local-url-format":t.localUrlFormat},{button:e.withCtx(()=>[e.createElementVNode("span",Zr,[e.createVNode(D,{symbol:"plus"})])]),_:1},8,["src","endpoint","custom-fetch","to-data-url","auth-token","disabled","base-response-path","accept","max-file-size","max-image-width","local-url-format"]))]),_:3},8,["modelValue"])])]))}}),Xr={class:"asset-uploader"},es=["innerHTML"],ts=e.defineComponent({__name:"asset-uploader",props:{modelValue:{type:Array,default:()=>[]},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},type:{type:String,default:""},label:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},accept:{type:String},maxFileSize:{type:Number,default:0},endpoint:{type:String,default:""},authToken:{type:String,default:""},customFetch:null,mediaTypeMap:{type:Object,default:()=>({svg:"Svg",png:"Image",jpg:"Image"})},baseResponsePath:{type:String,default:"/api/v1/assets"},previewWidth:{type:Number,default:0},useImageUpload:{type:Boolean,default:!1},maxImageWidth:{type:Number,default:0},aspectRatio:Number,showTypeDropdown:{type:Boolean,default:!1},typeOptions:{type:Array,default:()=>["background","overlay","object"]}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.computed({get(){return n.modelValue.map(a=>a.src)},set(a){l("update:modelValue",a.map((r,s)=>{const d=n.showTypeDropdown&&n.modelValue[s]?.type||n.type;return{mediaType:n.modelValue[s]&&n.modelValue[s].mediaType||r.includes("data:image")?r.includes("data:image/svg")?"Svg":"Image":n.mediaTypeMap[r.split(".")[1]],src:r,name:n.modelValue[s]&&n.modelValue[s].name||`${n.name}-${s}`,...d?{type:d}:{}}}))}});function i(a,r){l("update:modelValue",n.modelValue.map((s,d)=>d===a?{...s,type:r}:s))}return(a,r)=>(e.openBlock(),e.createElementBlock("div",Xr,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,innerHTML:e.unref(Z)(t.label)},null,8,es)):e.createCommentVNode("",!0),e.createVNode(It,{modelValue:o.value,"onUpdate:modelValue":r[0]||(r[0]=s=>o.value=s),endpoint:t.endpoint,"custom-fetch":t.customFetch,"auth-token":t.authToken,disabled:t.disabled,"preview-width":t.previewWidth,"base-response-path":t.baseResponsePath,accept:t.accept,"max-file-size":t.maxFileSize,"use-image-upload":t.useImageUpload,"max-image-width":t.maxImageWidth,"aspect-ratio":t.aspectRatio},e.createSlots({_:2},[t.showTypeDropdown?{name:"item-overlay",fn:e.withCtx(({index:s})=>[e.createVNode(he,{name:`${t.name}-type-${s}`,options:t.typeOptions,"model-value":t.modelValue[s]?.type||null,placeholder:"type","onUpdate:modelValue":d=>i(s,d)},null,8,["name","options","model-value","onUpdate:modelValue"])]),key:"0"}:void 0]),1032,["modelValue","endpoint","custom-fetch","auth-token","disabled","preview-width","base-response-path","accept","max-file-size","use-image-upload","max-image-width","aspect-ratio"])]))}}),as=["id","popover"],Ce=e.defineComponent({__name:"popover-dialog",props:{modelValue:{type:Boolean,default:!1},type:{type:String,default:"auto"},id:{type:String,default:()=>`popover-dialog-${Math.random().toString(36).substr(2,9)}`},title:{type:String,default:""},header:{type:Boolean,default:!1},footer:{type:Boolean,default:!1},classes:{type:String,default:""},hover:{type:Boolean,default:!1},hoverDelay:{type:Number,default:400},closeTimeout:{type:Number,default:0}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(),i=e.ref(),a=e.ref(!1),r=e.computed(()=>"ontouchstart"in window||navigator.maxTouchPoints>0);function s(){clearTimeout(i.value),n.hover&&o.value?.showPopover()}function d(){a.value=!0,clearTimeout(i.value),s()}function u(){a.value=!1,(n.hover||n.closeTimeout)&&(i.value=setTimeout(()=>{o.value?.hidePopover()},n.closeTimeout||n.hoverDelay))}e.watch(()=>n.modelValue,(m,f)=>{m&&!f?o.value?.matches(":popover-open")||o.value?.showPopover():!m&&f&&o.value?.matches(":popover-open")&&o.value?.hidePopover()});function A(m){m.newState==="open"?(n.closeTimeout&&!a.value&&(clearTimeout(i.value),i.value=setTimeout(()=>{a.value||o.value?.hidePopover()},n.closeTimeout)),n.modelValue||l("update:modelValue",!0)):m.newState==="closed"&&(a.value=!1,n.modelValue&&l("update:modelValue",!1))}return e.onMounted(()=>{if(o.value?.addEventListener("toggle",A),n.modelValue&&o.value?.showPopover(),!r.value){o.value?.addEventListener("mouseenter",d),o.value?.addEventListener("mouseleave",u);const m=document.querySelector(`[popovertarget="${n.id}"]`);m&&(m.addEventListener("mouseenter",d),m.addEventListener("mouseleave",u))}}),e.onBeforeUnmount(()=>{if(clearTimeout(i.value),o.value?.removeEventListener("toggle",A),!r.value){o.value?.removeEventListener("mouseenter",d),o.value?.removeEventListener("mouseleave",u);const m=document.querySelector(`[popovertarget="${n.id}"]`);m&&(m.removeEventListener("mouseenter",d),m.removeEventListener("mouseleave",u))}}),(m,f)=>(e.openBlock(),e.createElementBlock("span",{class:"popover-dialog",id:t.id,popover:t.type,ref_key:"popover",ref:o},[e.renderSlot(m.$slots,"default",{},()=>[f[0]||(f[0]=e.createTextVNode(" Popover content goes here. ",-1))])],8,as))}}),ns={class:"preset-uploader"},ls=["innerHTML"],os={class:"preset-uploader__list"},is=["popovertarget"],rs=["src"],ss=["onClick"],cs={class:"preset-uploader__popover p-2 d-flex gap-2 align-items-start"},As=["popovertarget"],ds=["src"],us={class:"d-flex flex-column gap-2"},ms={role:"button",class:"btn btn-sm w-100 d-inline-flex align-items-center"},fs={role:"button",class:"btn btn-sm w-100 d-inline-flex align-items-center"},ps={key:1,class:"preset-group border border-2 rounded d-flex gap-1 p-1"},gs=["popovertarget"],hs=["src"],ys=["src"],bs=["onClick"],ks={class:"preset-uploader__popover p-2 d-flex gap-2 align-items-start"},ws=["popovertarget"],Bs=["src"],Vs={class:"d-flex flex-column gap-2"},Cs={role:"button",class:"img-thumbnail text-dark d-flex justify-content-center align-items-center"},Es={role:"button",class:"img-thumbnail text-dark d-flex justify-content-center align-items-center"},$s={class:"preset-uploader__popover p-2 d-flex gap-2 align-items-start"},Ss=["onClick"],Ns={role:"button",class:"img-thumbnail d-flex justify-content-center align-items-center"},vs={role:"button",class:"img-thumbnail text-dark d-flex justify-content-center align-items-center"},Ms=e.defineComponent({__name:"preset-uploader",props:{modelValue:{type:Array,default:()=>[]},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},type:{type:String,default:""},label:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},accept:{type:String},maxFileSize:{type:Number,default:0},endpoint:{type:String,default:""},authToken:{type:String,default:""},customFetch:null,mediaTypeMap:{type:Object,default:()=>({svg:"Svg",png:"Image",jpg:"Image",jpeg:"Image",webp:"Image",mp4:"Video",webm:"Video"})},baseResponsePath:{type:String,default:"/api/v1/assets"},previewWidth:{type:Number,default:0},useImageUpload:{type:Boolean,default:!1},maxImageWidth:{type:Number,default:0},aspectRatio:Number,showTypeDropdown:{type:Boolean,default:!1},typeOptions:{type:Array,default:()=>["background","overlay","object"]}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c;function o(V){return V?.type==="preset"}function i(V){if(V.includes("data:image"))return V.includes("data:image/svg")?"Svg":"Image";const P=V.split(".").pop()?.split("?")[0]?.toLowerCase()??"";return n.mediaTypeMap[P]??""}const a=e.computed({get(){return n.modelValue},set(V){l("update:modelValue",V)}}),r=e.ref("");e.watch(r,async(V,P)=>{if(V&&P!==V){const O={src:V,name:`${n.name}-${n.modelValue.length}`,mediaType:i(V)};n.type&&n.typeOptions.includes(n.type)&&(O.type=n.type),l("update:modelValue",[...n.modelValue,O]),await e.nextTick(),r.value=""}});const s=e.reactive({}),d=e.reactive({}),u=e.reactive({}),A=e.reactive({}),m=e.reactive({}),f=e.reactive({}),g=e.reactive({});e.watch(m,V=>{for(const[P,O]of Object.entries(V))if(!O){const M=Number(P);delete s[M],delete d[M]}},{deep:!0}),e.watch(f,V=>{for(const[P,O]of Object.entries(V))if(!O){const M=Number(P);delete u[M],delete A[M]}},{deep:!0});function y(V,P){P&&(s[V]=P)}function C(V,P){P&&(u[V]=P,f[V]=!0)}function p(V){const P=[...n.modelValue];P.splice(V,1),l("update:modelValue",P)}function k(V,P){l("update:modelValue",n.modelValue.map((O,M)=>M===V?{...O,type:P}:O))}function h(V,P,O){const M=n.modelValue[V];l("update:modelValue",n.modelValue.map((v,Q)=>Q===V?{...v,items:{...v.items,[P]:{...M.items[P],type:O}}}:v))}function T(V,P){d[V]=P,x(V)}function x(V){const P=n.modelValue[V],O=P.type||n.type||"item",M=s[V],v=d[V],Q={type:"preset",items:{[O]:{src:P.src,thumbnail:P.src,type:O,mediaType:P.mediaType||i(P.src)},[v]:{src:M,thumbnail:M,type:v,mediaType:i(M)}}};delete s[V],delete d[V],m[V]=!1,l("update:modelValue",n.modelValue.map((E,z)=>z===V?Q:E))}function F(V,P){A[V]=P,$(V)}function $(V){const P=u[V],O=A[V],M=n.modelValue[V],v={...M,items:{...M.items,[O]:{src:P,thumbnail:P,type:O,mediaType:i(P)}}};delete u[V],delete A[V],f[V]=!1,l("update:modelValue",n.modelValue.map((Q,E)=>E===V?v:Q))}function R(V,P){const O=n.modelValue[V],M=Object.keys(O.items).filter(v=>v!==P);if(M.length<=1){const v=M[0],Q=v?O.items[v]:null;if(Q){const E={src:Q.src,name:`${n.name}-${V}`,type:Q.type,mediaType:Q.mediaType};l("update:modelValue",n.modelValue.map((z,I)=>I===V?E:z))}else p(V)}else{const v={...O.items};delete v[P],l("update:modelValue",n.modelValue.map((Q,E)=>E===V?{...O,items:v}:Q))}}return(V,P)=>(e.openBlock(),e.createElementBlock("div",ns,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,innerHTML:e.unref(Z)(t.label)},null,8,ls)):e.createCommentVNode("",!0),e.createElementVNode("div",os,[e.createVNode(it,{modelValue:a.value,"onUpdate:modelValue":P[2]||(P[2]=O=>a.value=O),vertical:!1,class:"mb-3"},{"list-item":e.withCtx(({item:O,index:M})=>[o(O)?(e.openBlock(),e.createElementBlock("div",ps,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(O.items,(v,Q)=>(e.openBlock(),e.createElementBlock("div",{key:Q,class:"img-container",style:e.normalizeStyle(t.showTypeDropdown?{anchorName:`--${t.name}-si-${M}-${Q}`}:{})},[t.showTypeDropdown?(e.openBlock(),e.createElementBlock("button",{key:0,class:"img-trigger",popovertarget:`${t.name}-si-${M}-${Q}`},[e.createElementVNode("img",{src:v.thumbnail||v.src,class:"img-thumbnail border-0 p-0"},null,8,hs)],8,gs)):(e.openBlock(),e.createElementBlock("img",{key:1,src:v.thumbnail||v.src,class:"img-thumbnail border-0 p-0"},null,8,ys)),e.createElementVNode("button",{onClick:e.withModifiers(E=>R(M,String(Q)),["prevent"]),class:"btn btn--close"},[e.createVNode(D,{symbol:"x"})],8,bs),t.showTypeDropdown?(e.openBlock(),e.createBlock(Ce,{key:2,id:`${t.name}-si-${M}-${Q}`,modelValue:g[`${M}-${Q}`],"onUpdate:modelValue":E=>g[`${M}-${Q}`]=E,class:"preset-uploader__item-popover",style:e.normalizeStyle({positionAnchor:`--${t.name}-si-${M}-${Q}`})},{default:e.withCtx(()=>[e.createElementVNode("div",ks,[e.createElementVNode("button",{class:"img-trigger",popovertarget:`${t.name}-si-${M}-${Q}`,popovertargetaction:"hide"},[e.createElementVNode("img",{src:v.thumbnail||v.src,class:"img-thumbnail"},null,8,Bs)],8,ws),e.createElementVNode("div",Vs,[e.createVNode(he,{name:`${t.name}-si-type-${M}-${Q}`,options:t.typeOptions,"model-value":v.type||null,placeholder:"layer type","onUpdate:modelValue":E=>h(M,String(Q),E)},null,8,["name","options","model-value","onUpdate:modelValue"])])])]),_:2},1032,["id","modelValue","onUpdate:modelValue","style"])):e.createCommentVNode("",!0)],4))),128)),e.createElementVNode("div",{class:"img-container img-container--add",style:e.normalizeStyle({anchorName:`--${t.name}-ap-${M}`})},[t.useImageUpload?(e.openBlock(),e.createBlock(Le,{key:0,src:"",endpoint:t.endpoint,"custom-fetch":t.customFetch,"to-data-url":!t.endpoint,"auth-token":t.authToken,disabled:t.disabled,"base-response-path":t.baseResponsePath,accept:t.accept,"max-file-size":t.maxFileSize,"max-image-width":t.maxImageWidth,"enable-preview":!1,"aspect-ratio":t.aspectRatio,"onUpdate:src":v=>C(M,v)},{button:e.withCtx(()=>[e.createElementVNode("span",Cs,[e.createVNode(D,{symbol:"plus"})])]),_:1},8,["endpoint","custom-fetch","to-data-url","auth-token","disabled","base-response-path","accept","max-file-size","max-image-width","aspect-ratio","onUpdate:src"])):(e.openBlock(),e.createBlock(Ne,{key:1,src:"",multiple:!1,endpoint:t.endpoint,"custom-fetch":t.customFetch,"to-data-url":!t.endpoint,"auth-token":t.authToken,disabled:t.disabled,"base-response-path":t.baseResponsePath,accept:t.accept,"max-file-size":t.maxFileSize,"onUpdate:src":v=>C(M,v)},{button:e.withCtx(()=>[e.createElementVNode("span",Es,[e.createVNode(D,{symbol:"plus"})])]),_:1},8,["endpoint","custom-fetch","to-data-url","auth-token","disabled","base-response-path","accept","max-file-size","onUpdate:src"])),e.createVNode(Ce,{id:`${t.name}-ap-${M}`,modelValue:f[M],"onUpdate:modelValue":v=>f[M]=v,class:"preset-uploader__anchor-popover",style:e.normalizeStyle({positionAnchor:`--${t.name}-ap-${M}`})},{default:e.withCtx(()=>[e.createElementVNode("div",$s,[e.createVNode(he,{class:"mb-0",name:`${t.name}-add-type-${M}`,options:t.typeOptions,"model-value":A[M]||null,placeholder:"layer type","onUpdate:modelValue":v=>F(M,v)},null,8,["name","options","model-value","onUpdate:modelValue"])])]),_:2},1032,["id","modelValue","onUpdate:modelValue","style"])],4),e.createElementVNode("button",{onClick:e.withModifiers(v=>p(M),["prevent"]),class:"btn btn--close btn--close-preset"},[e.createVNode(D,{symbol:"x"})],8,Ss)])):(e.openBlock(),e.createElementBlock("div",{key:0,class:"img-container",style:e.normalizeStyle({anchorName:`--${t.name}-pp-${M}`})},[e.createElementVNode("button",{class:"img-trigger",popovertarget:`${t.name}-pp-${M}`},[e.createElementVNode("img",{src:O.thumbnail||O.src,class:"img-thumbnail"},null,8,rs)],8,is),e.createElementVNode("button",{onClick:e.withModifiers(v=>p(M),["prevent"]),class:"btn btn--close"},[e.createVNode(D,{symbol:"x"})],8,ss),e.createVNode(Ce,{id:`${t.name}-pp-${M}`,modelValue:m[M],"onUpdate:modelValue":v=>m[M]=v,class:"preset-uploader__item-popover",style:e.normalizeStyle({positionAnchor:`--${t.name}-pp-${M}`})},{default:e.withCtx(()=>[e.createElementVNode("div",cs,[e.createElementVNode("button",{class:"img-trigger",popovertarget:`${t.name}-pp-${M}`,popovertargetaction:"hide"},[e.createElementVNode("img",{src:O.thumbnail||O.src,class:"img-thumbnail"},null,8,ds)],8,As),e.createElementVNode("div",us,[t.showTypeDropdown?(e.openBlock(),e.createBlock(he,{key:0,name:`${t.name}-type-${M}`,options:t.typeOptions,"model-value":O.type||null,placeholder:"item type","onUpdate:modelValue":v=>k(M,v)},null,8,["name","options","model-value","onUpdate:modelValue"])):e.createCommentVNode("",!0),s[M]?(e.openBlock(),e.createBlock(he,{key:2,name:`${t.name}-promote-type-${M}`,options:t.typeOptions,"model-value":d[M]||null,placeholder:"new layer type","onUpdate:modelValue":v=>T(M,v)},null,8,["name","options","model-value","onUpdate:modelValue"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[t.useImageUpload?(e.openBlock(),e.createBlock(Le,{key:0,src:"",endpoint:t.endpoint,"custom-fetch":t.customFetch,"to-data-url":!t.endpoint,"auth-token":t.authToken,disabled:t.disabled,"base-response-path":t.baseResponsePath,accept:t.accept,"max-file-size":t.maxFileSize,"max-image-width":t.maxImageWidth,"enable-preview":!1,"aspect-ratio":t.aspectRatio,"onUpdate:src":v=>y(M,v)},{button:e.withCtx(()=>[e.createElementVNode("span",ms,[e.createVNode(D,{symbol:"plus"}),P[3]||(P[3]=e.createTextVNode(" Add layer",-1))])]),_:1},8,["endpoint","custom-fetch","to-data-url","auth-token","disabled","base-response-path","accept","max-file-size","max-image-width","aspect-ratio","onUpdate:src"])):(e.openBlock(),e.createBlock(Ne,{key:1,src:"",multiple:!1,endpoint:t.endpoint,"custom-fetch":t.customFetch,"to-data-url":!t.endpoint,"auth-token":t.authToken,disabled:t.disabled,"base-response-path":t.baseResponsePath,accept:t.accept,"max-file-size":t.maxFileSize,"onUpdate:src":v=>y(M,v)},{button:e.withCtx(()=>[e.createElementVNode("span",fs,[e.createVNode(D,{symbol:"plus"}),P[4]||(P[4]=e.createTextVNode(" Add layer",-1))])]),_:1},8,["endpoint","custom-fetch","to-data-url","auth-token","disabled","base-response-path","accept","max-file-size","onUpdate:src"]))],64))])])]),_:2},1032,["id","modelValue","onUpdate:modelValue","style"])],4))]),"list-append":e.withCtx(()=>[t.useImageUpload?(e.openBlock(),e.createBlock(Le,{key:0,src:r.value,"onUpdate:src":P[0]||(P[0]=O=>r.value=O),endpoint:t.endpoint,"custom-fetch":t.customFetch,"to-data-url":!t.endpoint,"auth-token":t.authToken,disabled:t.disabled,"base-response-path":t.baseResponsePath,accept:t.accept,"max-file-size":t.maxFileSize,"max-image-width":t.maxImageWidth,"enable-preview":!1,"aspect-ratio":t.aspectRatio},{button:e.withCtx(()=>[e.createElementVNode("span",Ns,[e.createVNode(D,{symbol:"plus"})])]),_:1},8,["src","endpoint","custom-fetch","to-data-url","auth-token","disabled","base-response-path","accept","max-file-size","max-image-width","aspect-ratio"])):(e.openBlock(),e.createBlock(Ne,{key:1,src:r.value,"onUpdate:src":P[1]||(P[1]=O=>r.value=O),multiple:!1,endpoint:t.endpoint,"custom-fetch":t.customFetch,"to-data-url":!t.endpoint,"auth-token":t.authToken,disabled:t.disabled,"base-response-path":t.baseResponsePath,accept:t.accept,"max-file-size":t.maxFileSize},{button:e.withCtx(()=>[e.createElementVNode("span",vs,[e.createVNode(D,{symbol:"plus"})])]),_:1},8,["src","endpoint","custom-fetch","to-data-url","auth-token","disabled","base-response-path","accept","max-file-size"]))]),_:1},8,["modelValue"])])]))}}),Ds="https://router.project-osrm.org/route/v1";function Tt(){const t=e.ref([]),c=e.ref(null),n=e.ref(null),l=e.ref([]),o=e.ref(!1),i=e.ref(""),a=e.computed(()=>t.value.length>1);function r(){t.value=[],c.value=null,n.value=null,l.value=[],i.value=""}async function s(d,u,A={}){if(!d||!u)return r(),null;o.value=!0;const m=A.customFetch||Re.ofetch,f=(A.endpoint||Ds).replace(/\/$/,""),g=A.profile||"driving";try{const C=(await m(`${f}/${g}/${d.lng},${d.lat};${u.lng},${u.lat}`,{method:"GET",query:{alternatives:!1,overview:"full",steps:!0,geometries:"geojson"}}))?.routes?.[0];if(!C)throw new Error("No route available for these points.");return t.value=Array.isArray(C?.geometry?.coordinates)?C.geometry.coordinates.map(p=>[Number(p[1]),Number(p[0])]).filter(p=>Number.isFinite(p[0])&&Number.isFinite(p[1])):[],c.value=Number.isFinite(C?.distance)?Number(C.distance):null,n.value=Number.isFinite(C?.duration)?Number(C.duration):null,l.value=Array.isArray(C?.legs)?C.legs.flatMap(p=>Array.isArray(p?.steps)?p.steps.map(k=>Ls(k)):[]):[],i.value="",C}catch(y){return r(),i.value=y?.message||"Unable to load directions right now.",null}finally{o.value=!1}}return{routeCoordinates:t,distanceMeters:c,durationSeconds:n,steps:l,pending:o,error:i,hasRoute:a,fetchRoute:s,clearRoute:r}}function Ls(t){const c=`${t?.maneuver?.type||"continue"}`,n=t?.maneuver?.modifier?` ${t.maneuver.modifier}`:"",l=`${t?.name||""}`;return{instruction:`${Is(c)}${n}${l?` on ${l}`:""}`.trim(),name:l,distance:Number.isFinite(t?.distance)?Number(t.distance):0,duration:Number.isFinite(t?.duration)?Number(t.duration):0}}function Is(t){return t.charAt(0).toUpperCase()+t.slice(1)}const Ts="https://nominatim.openstreetmap.org/search",Ps="https://nominatim.openstreetmap.org/reverse";function Pt(){const t=e.ref([]),c=e.ref(!1),n=e.ref("");function l(){t.value=[],n.value=""}async function o(a,r={}){if(!a.trim())return l(),[];c.value=!0;const s=r.customFetch||Re.ofetch;try{const d=await s(r.endpoint||Ts,{method:"GET",headers:{Accept:"application/json",...r.language?{"Accept-Language":r.language}:{}},query:{q:a,format:"jsonv2",addressdetails:1,limit:r.limit||5}});return t.value=Array.isArray(d)?d.map((u,A)=>xt(u,A,"geocoder")).filter(u=>!!u):[],n.value="",t.value}catch(d){return n.value=d?.message||"Unable to search locations right now.",t.value=[],[]}finally{c.value=!1}}async function i(a,r={}){c.value=!0;const s=r.customFetch||Re.ofetch;try{const d=await s(r.reverseEndpoint||Ps,{method:"GET",headers:{Accept:"application/json",...r.language?{"Accept-Language":r.language}:{}},query:{lat:a.lat,lon:a.lng,format:"jsonv2",addressdetails:1}}),u=xt(d,0,"reverse-geocoder");return n.value="",u}catch(d){return n.value=d?.message||"Unable to resolve this location right now.",null}finally{c.value=!1}}return{results:t,pending:c,error:n,search:o,reverse:i,clearResults:l}}function xt(t,c,n){const l=Number(t?.lat),o=Number(t?.lon??t?.lng);if(!Number.isFinite(l)||!Number.isFinite(o))return null;const i=`${t?.display_name||t?.name||"Location"}`,a=`${t?.name||i.split(",")[0]||"Location"}`.trim();return{id:`${n==="reverse-geocoder"?"reverse":"geo"}-${t?.place_id??c}`,title:a,address:i,lat:l,lng:o,source:n,raw:t}}function zt(t={}){const c=e.ref(null),n=e.ref(""),l=e.ref(!1),o=e.ref(!1),i=typeof window<"u"&&typeof navigator<"u"&&"geolocation"in navigator,a={enableHighAccuracy:!0,timeout:1e4,maximumAge:1e4,...t};let r=null;function s(f){c.value={lat:Number(f.latitude),lng:Number(f.longitude),accuracy:Number.isFinite(f.accuracy)?Number(f.accuracy):null},l.value=!1,n.value=""}function d(f){n.value=typeof f=="string"?f:f instanceof Error?f.message:f.message||"Unable to retrieve your location.",l.value=!1}async function u(){return i?(l.value=!0,new Promise(f=>{navigator.geolocation.getCurrentPosition(({coords:g})=>{s(g),f(c.value)},g=>{d(g),f(null)},a)})):(d("Geolocation is not supported in this browser."),null)}function A(){if(!i){d("Geolocation is not supported in this browser.");return}r===null&&(l.value=!0,o.value=!0,r=navigator.geolocation.watchPosition(({coords:f})=>{s(f)},f=>{d(f),o.value=!1},a))}function m(){if(!i||r===null){o.value=!1,l.value=!1;return}navigator.geolocation.clearWatch(r),r=null,o.value=!1,l.value=!1}return e.onBeforeUnmount(()=>{m()}),{supported:i,position:e.computed(()=>c.value),accuracy:e.computed(()=>c.value?.accuracy??null),error:n,pending:l,isTracking:o,locate:u,startTracking:A,stopTracking:m}}const xs={class:"location-finder","data-testid":"location-finder"},zs={class:"location-finder__actions"},Fs=["disabled"],Os={key:1,class:"location-finder__notice","data-testid":"location-finder-error"},Rs={class:"location-finder__map-panel"},Hs=["aria-label"],Us={class:"location-finder__legend-item"},Qs={class:"location-finder__legend-item"},Ws={class:"location-finder__legend-item"},js={class:"location-finder__legend-item"},qs={key:0,class:"location-finder__sidebar"},Gs={key:1,class:"location-finder__summary","data-testid":"location-finder-directions"},Js={class:"location-finder__summary-title"},Ys={key:0,class:"location-finder__summary-copy"},_s={class:"location-finder__summary-grid"},Ks={class:"location-finder__summary-label"},Zs={"data-testid":"location-finder-distance"},Xs={class:"location-finder__summary-label"},ec={"data-testid":"location-finder-duration"},tc={key:0,class:"location-finder__steps"},ac={key:0},nc={key:2,class:"location-finder__summary-copy"},lc=e.defineComponent({__name:"location-finder",props:{modelValue:{type:Object,default:null},locations:{type:Array,default:()=>[]},center:{type:Object,default:null},distance:{type:Number,default:null},userLocation:{type:Object,default:null},messages:{type:Object,default:()=>({})},mapHeight:{type:String,default:"26rem"},searchLabel:{type:String,default:""},searchPlaceholder:{type:String,default:""},resultsLabel:{type:String,default:""},emptyText:{type:String,default:""},locateButtonLabel:{type:String,default:""},stopTrackingLabel:{type:String,default:""},mapHelperText:{type:String,default:""},enableGeocoding:{type:Boolean,default:!1},geocodingEndpoint:{type:String,default:"https://nominatim.openstreetmap.org/search"},reverseGeocodingEndpoint:{type:String,default:"https://nominatim.openstreetmap.org/reverse"},geocodingLimit:{type:Number,default:5},geocodingMinQueryLength:{type:Number,default:3},customGeocodingFetch:null,enableDirections:{type:Boolean,default:!1},directionsEndpoint:{type:String,default:"https://router.project-osrm.org/route/v1"},routeProfile:{type:String,default:"driving"},customDirectionsFetch:null,showDirectionsSummary:{type:Boolean,default:!0},showDirectionsSteps:{type:Boolean,default:!0},directionsTitle:{type:String,default:""},directionsEmptyText:{type:String,default:""},distanceLabel:{type:String,default:""},durationLabel:{type:String,default:""},routeColor:{type:String,default:"#2563eb"},routeWeight:{type:Number,default:5},selectionRadius:{type:Number,default:0},selectionRadiusColor:{type:String,default:"#2563eb"},selectionRadiusFillColor:{type:String,default:"#60a5fa"},mapStyle:{type:String,default:"streets"},tileLayerUrl:{type:String,default:""},tileLayerAttribution:{type:String,default:""},disabled:{type:Boolean,default:!1},interactive:{type:Boolean,default:!1},showSearch:{type:Boolean,default:!0},showLegend:{type:Boolean,default:!0},showSidebar:{type:Boolean,default:!0},showTrackButton:{type:Boolean,default:!0},trackUser:{type:Boolean,default:!0},autoLocate:{type:Boolean,default:!1}},emits:["update:modelValue","update:distance","select","search","track-user"],setup(t,{emit:c}){const n={lat:48.8566,lng:2.3522},l={searchLabel:"Search locations",searchPlaceholder:"Search by name or address",resultsLabel:"Locations",emptyText:"No locations found.",locateButtonLabel:"Use my location",stopTrackingLabel:"Stop tracking",mapHelperText:"Select a location from the list or use the map.",directionsTitle:"Directions",directionsEmptyText:"Select a destination and share your location to preview a route.",distanceLabel:"Distance",durationLabel:"ETA",loadingRoute:"Loading route…",legendAriaLabel:"Map marker types",legendLocations:"Locations",legendSelected:"Selected",legendSearchResult:"Search result",userLocationLabel:"Your location",pinnedLocationTitle:"Pinned location",selectedLocationLabel:"Selected location"},o=t,i=c,{t:a,te:r}=tt.useI18n({useScope:"global"}),s=zt(),d=Pt(),u=Tt(),A=e.ref(""),m=e.ref(be(ye(o.modelValue))),f=e.ref(be(ye(o.modelValue))?null:ye(o.modelValue)),g=e.ref(Y(o.modelValue)||Y(o.center)||Y(o.locations[0])||n),y=e.ref(!1),C=e.computed(()=>Y(o.userLocation)),p=e.computed(()=>s.position.value||C.value),k=e.computed(()=>Y(f.value)),h=e.computed(()=>Y(m.value)),T=e.computed(()=>p.value||k.value),x=e.computed(()=>!T.value||!h.value?null:Je(T.value,h.value)),F=e.computed(()=>Y(o.modelValue)||k.value||h.value),$=e.computed(()=>s.error.value||d.error.value||u.error.value||""),R=e.computed(()=>o.showSearch||o.trackUser&&o.showTrackButton),V=e.computed(()=>o.enableDirections&&o.showDirectionsSummary),P=e.computed(()=>o.showSidebar||V.value),O=e.computed(()=>Pe(u.distanceMeters.value)),M=e.computed(()=>st(u.durationSeconds.value)),v=e.computed(()=>({searchLabel:J("searchLabel",o.searchLabel),searchPlaceholder:J("searchPlaceholder",o.searchPlaceholder),resultsLabel:J("resultsLabel",o.resultsLabel),emptyText:J("emptyText",o.emptyText),locateButtonLabel:J("locateButtonLabel",o.locateButtonLabel),stopTrackingLabel:J("stopTrackingLabel",o.stopTrackingLabel),mapHelperText:J("mapHelperText",o.mapHelperText),directionsTitle:J("directionsTitle",o.directionsTitle),directionsEmptyText:J("directionsEmptyText",o.directionsEmptyText),distanceLabel:J("distanceLabel",o.distanceLabel),durationLabel:J("durationLabel",o.durationLabel),loadingRoute:J("loadingRoute"),legendAriaLabel:J("legendAriaLabel"),legendLocations:J("legendLocations"),legendSelected:J("legendSelected"),legendSearchResult:J("legendSearchResult"),userLocationLabel:J("userLocationLabel"),pinnedLocationTitle:J("pinnedLocationTitle"),selectedLocationLabel:J("selectedLocationLabel")})),Q=e.computed(()=>f.value?re(f.value):v.value.selectedLocationLabel),E=e.computed(()=>s.isTracking.value&&y.value?v.value.stopTrackingLabel:v.value.locateButtonLabel);e.watch(()=>o.modelValue,b=>{const B=ye(b),L=be(B);L?(m.value=L,f.value=null):B&&(f.value=B);const U=Y(b);U&&(g.value=U)},{immediate:!0}),e.watch(()=>o.center,b=>{const B=Y(b);B&&(g.value=B)},{deep:!0}),e.watch(p,b=>{b&&y.value&&(g.value=b)},{deep:!0}),e.watch(x,b=>{i("update:distance",b)},{immediate:!0}),e.watch(A,async b=>{if(i("search",b),!o.enableGeocoding){d.clearResults();return}const B=b.trim();if(B.length<o.geocodingMinQueryLength){d.clearResults();return}await d.search(B,{endpoint:o.geocodingEndpoint,customFetch:o.customGeocodingFetch,limit:o.geocodingLimit})}),e.watch(()=>({enabled:o.enableDirections,origin:p.value,destination:F.value,profile:o.routeProfile}),async({enabled:b,origin:B,destination:L,profile:U})=>{if(!b||!B||!L||ke(B,L)){u.clearRoute();return}await u.fetchRoute(B,L,{endpoint:o.directionsEndpoint,profile:U,customFetch:o.customDirectionsFetch})},{immediate:!0,deep:!0}),e.onMounted(async()=>{o.autoLocate&&o.trackUser&&await Ye()});const z=e.computed(()=>{const b=Te(A.value).trim();return b?o.locations.filter(B=>[re(B),je(B)].filter(Boolean).some(L=>Te(L).includes(b))):o.locations}),I=e.computed(()=>d.results.value.map(b=>({id:b.id,title:b.title,address:b.address,lat:b.lat,lng:b.lng,source:b.source}))),q=e.computed(()=>{if(!A.value.trim())return o.locations;const b=z.value;return b.length?b:o.locations}),G=e.computed(()=>q.value),oe=e.computed(()=>Ge(q.value,o.enableGeocoding?I.value:[])),Ie=e.computed(()=>Array.from(new Set(oe.value.map(b=>qe(b))))),ie=e.computed(()=>G.value.map(b=>{const B=Y(b);return B?{id:Ae(b),label:re(b),...B,type:h.value&&ke(B,h.value)?"selected":"list"}:null}).filter(b=>!!b)),ve=e.computed(()=>y.value&&p.value?p.value:g.value||F.value||p.value||Y(G.value[0])||n);function J(b,B){const L=o.messages?.[b];if(typeof L=="string"&&L.trim())return L;if(typeof B=="string"&&B.trim())return B;const U=`locationFinder.${String(b)}`;return r(U)?String(a(U)):l[b]}function Y(b){if(!b)return null;const B=Number(b.lat),L=Number(b.lng);return!Number.isFinite(B)||!Number.isFinite(L)?null:{lat:B,lng:L}}function ye(b){if(!b)return null;const B=Y(b);return B?{...b,...B}:null}function Ae(b){return b?typeof b!="object"?b:b.id??b.value??qe(b):null}function be(b){return b&&o.locations.find(B=>Ae(B)===Ae(b)||ke(Y(B),Y(b)))||null}function Te(b){return`${b??""}`.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase()}function re(b){return`${b.title||b.label||b.name||"Location"}`}function je(b){return`${b.address||b.description||b.subtitle||""}`}function qe(b){const B=re(b),L=je(b);return L?`${B} — ${L}`:B}function Ge(b,B){const L=[...b];return B.forEach(U=>{L.some(De=>Ae(De)===Ae(U)||ke(Y(De),Y(U)))||L.push(U)}),L}function ke(b,B){return!b||!B?!1:Math.abs(b.lat-B.lat)<1e-6&&Math.abs(b.lng-B.lng)<1e-6}function Je(b,B){const L=Ze=>Ze*(Math.PI/180),Be=L(B.lat-b.lat),De=L(B.lng-b.lng),_e=L(b.lat),xe=L(B.lat),Ke=Math.sin(Be/2)**2+Math.cos(_e)*Math.cos(xe)*Math.sin(De/2)**2,dt=2*Math.atan2(Math.sqrt(Ke),Math.sqrt(1-Ke));return Math.round(6371e3*dt)}function Pe(b){return b===null||!Number.isFinite(b)?"—":b>=1e3?`${(b/1e3).toFixed(1)} km`:`${Math.round(b)} m`}function st(b){if(b===null||!Number.isFinite(b))return"—";const B=Math.max(1,Math.round(b/60));if(B<60)return`${B} min`;const L=Math.floor(B/60),U=B%60;return U?`${L} h ${U} min`:`${L} h`}function fe(b){const B=ye(b),L=be(B);if(y.value=!1,!B){i("update:modelValue",null);return}m.value=L||B;const U=Y(B);U&&(g.value=U),i("update:modelValue",B),i("select",B)}function se(b){const B=ye(b),L=be(B);if(y.value=!1,!B){i("update:modelValue",null);return}L?(m.value=L,f.value=null):f.value=B;const U=Y(B);U&&(g.value=U),i("update:modelValue",B),i("select",B)}function ct(b){const B=oe.value.find(L=>qe(L)===b||re(L)===b);if(B){if(be(B)){fe(B),f.value=null;return}se(B)}}function At(b){fe(b)}function Ee(b){if(b.id==="user-location"&&p.value){g.value=p.value,y.value=!0,i("track-user",p.value);return}const B=G.value.find(L=>Ae(L)===b.id)||G.value.find(L=>{const U=Y(L);return U&&Math.abs(U.lat-b.lat)<1e-6&&Math.abs(U.lng-b.lng)<1e-6});if(B){fe(B);return}f.value&&(Ae(f.value)===b.id||ke(Y(f.value),{lat:b.lat,lng:b.lng}))&&se(f.value)}async function Me(b){if(g.value=b,y.value=!1,!o.interactive)return;const B=G.value.find(U=>{const Be=Y(U);return Be&&Math.abs(Be.lat-b.lat)<1e-6&&Math.abs(Be.lng-b.lng)<1e-6});if(B){fe(B);return}const L=await we(b,v.value.pinnedLocationTitle);se(L)}async function we(b,B){if(!o.enableGeocoding)return{id:`pin-${b.lat}-${b.lng}`,title:B,lat:b.lat,lng:b.lng};const L=await d.reverse(b,{reverseEndpoint:o.reverseGeocodingEndpoint,customFetch:o.customGeocodingFetch});return L?{id:L.id,title:L.title||B,address:L.address,lat:L.lat,lng:L.lng,source:L.source}:{id:`pin-${b.lat}-${b.lng}`,title:B,lat:b.lat,lng:b.lng}}async function Ye(){if(s.isTracking.value&&y.value){s.stopTracking(),y.value=!1;return}if(p.value){g.value=p.value,y.value=!0,i("track-user",p.value),!s.isTracking.value&&!C.value&&s.startTracking();return}const b=await s.locate();b&&(g.value=b,y.value=!0,i("track-user",b),s.startTracking())}return(b,B)=>(e.openBlock(),e.createElementBlock("div",xs,[R.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["location-finder__toolbar",{"location-finder__toolbar--actions-only":!o.showSearch}])},[o.showSearch?(e.openBlock(),e.createBlock(wt,{key:0,modelValue:A.value,"onUpdate:modelValue":B[0]||(B[0]=L=>A.value=L),class:"location-finder__search",label:v.value.searchLabel,placeholder:v.value.searchPlaceholder,options:Ie.value,disabled:t.disabled,"onUpdate:selection":ct},null,8,["modelValue","label","placeholder","options","disabled"])):e.createCommentVNode("",!0),e.createElementVNode("div",zs,[t.trackUser&&o.showTrackButton?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"btn btn-outline-primary btn-sm location-finder__locate",disabled:t.disabled||e.unref(s).pending.value,"data-testid":"location-finder-locate",onClick:Ye},e.toDisplayString(E.value),9,Fs)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0),$.value?(e.openBlock(),e.createElementBlock("p",Os,e.toDisplayString($.value),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["location-finder__layout",{"location-finder__layout--with-summary":V.value,"location-finder__layout--full-width":!P.value}])},[e.createElementVNode("div",Rs,[e.createVNode(Ct,{class:"location-finder__map",center:ve.value,markers:ie.value,"model-value":k.value,"user-location":p.value,"user-location-label":v.value.userLocationLabel,"selected-location-label":Q.value,"route-coordinates":e.unref(u).routeCoordinates.value,"route-color":t.routeColor,"route-weight":t.routeWeight,"selection-radius":t.selectionRadius,"selection-radius-center":F.value,"selection-radius-color":t.selectionRadiusColor,"selection-radius-fill-color":t.selectionRadiusFillColor,"map-style":t.mapStyle,"tile-layer-url":t.tileLayerUrl,"tile-layer-attribution":t.tileLayerAttribution,height:t.mapHeight,interactive:t.interactive,disabled:t.disabled,"helper-text":v.value.mapHelperText,"onUpdate:modelValue":Me,onMarkerClick:Ee},null,8,["center","markers","model-value","user-location","user-location-label","selected-location-label","route-coordinates","route-color","route-weight","selection-radius","selection-radius-center","selection-radius-color","selection-radius-fill-color","map-style","tile-layer-url","tile-layer-attribution","height","interactive","disabled","helper-text"]),o.showLegend?(e.openBlock(),e.createElementBlock("div",{key:0,class:"location-finder__legend","data-testid":"location-finder-legend","aria-label":v.value.legendAriaLabel},[e.createElementVNode("span",Us,[B[2]||(B[2]=e.createElementVNode("span",{class:"location-finder__legend-swatch location-finder__legend-swatch--list"},null,-1)),e.createTextVNode(" "+e.toDisplayString(v.value.legendLocations),1)]),e.createElementVNode("span",Qs,[B[3]||(B[3]=e.createElementVNode("span",{class:"location-finder__legend-swatch location-finder__legend-swatch--selected"},null,-1)),e.createTextVNode(" "+e.toDisplayString(v.value.legendSelected),1)]),e.createElementVNode("span",Ws,[B[4]||(B[4]=e.createElementVNode("span",{class:"location-finder__legend-swatch location-finder__legend-swatch--search"},null,-1)),e.createTextVNode(" "+e.toDisplayString(v.value.legendSearchResult),1)]),e.createElementVNode("span",js,[B[5]||(B[5]=e.createElementVNode("span",{class:"location-finder__legend-swatch location-finder__legend-swatch--user"},null,-1)),e.createTextVNode(" "+e.toDisplayString(v.value.userLocationLabel),1)])],8,Hs)):e.createCommentVNode("",!0)]),P.value?(e.openBlock(),e.createElementBlock("aside",qs,[o.showSidebar?(e.openBlock(),e.createBlock(Et,{key:0,modelValue:m.value,"onUpdate:modelValue":B[1]||(B[1]=L=>m.value=L),class:"location-finder__results",locations:G.value,label:v.value.resultsLabel,"empty-text":v.value.emptyText,onSelect:At},null,8,["modelValue","locations","label","empty-text"])):e.createCommentVNode("",!0),V.value?(e.openBlock(),e.createElementBlock("div",Gs,[e.createElementVNode("p",Js,e.toDisplayString(v.value.directionsTitle),1),e.unref(u).pending.value?(e.openBlock(),e.createElementBlock("p",Ys,e.toDisplayString(v.value.loadingRoute),1)):e.unref(u).hasRoute.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",_s,[e.createElementVNode("div",null,[e.createElementVNode("p",Ks,e.toDisplayString(v.value.distanceLabel),1),e.createElementVNode("strong",Zs,e.toDisplayString(O.value),1)]),e.createElementVNode("div",null,[e.createElementVNode("p",Xs,e.toDisplayString(v.value.durationLabel),1),e.createElementVNode("strong",ec,e.toDisplayString(M.value),1)])]),t.showDirectionsSteps&&e.unref(u).steps.value.length?(e.openBlock(),e.createElementBlock("ol",tc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u).steps.value.slice(0,5),(L,U)=>(e.openBlock(),e.createElementBlock("li",{key:`${L.instruction}-${U}`},[e.createElementVNode("span",null,e.toDisplayString(L.instruction),1),L.name?(e.openBlock(),e.createElementBlock("small",ac,e.toDisplayString(L.name),1)):e.createCommentVNode("",!0)]))),128))])):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock("p",nc,e.toDisplayString(v.value.directionsEmptyText),1))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],2)]))}}),oc={class:"carousel d-flex"},ic=["title"],rc=["onClick"],sc=["title"],Ft=e.defineComponent({__name:"base-carousel",props:{modelValue:{type:Number,default:-1},config:{type:Object,default:null},messages:{type:Object,default:{}},items:{type:Array,default:[]},navigation:{type:Boolean,default:!0}},emits:["update:modelValue","select"],setup(t,{emit:c}){const n=c,l=e.ref(),o=e.ref();function i(){l.value.scrollTo({top:0,left:l.value.scrollLeft-l.value.clientWidth>0?l.value.scrollLeft-l.value.clientWidth:0,behavior:"smooth"})}function a(){l.value.scrollTo({top:0,left:l.value.scrollLeft-l.value.clientWidth<=o.value.clientWidth?l.value.scrollLeft+l.value.clientWidth:o.value.clientWidth,behavior:"smooth"})}function r(s){n("update:modelValue",s)}return(s,d)=>(e.openBlock(),e.createElementBlock("div",oc,[t.navigation?(e.openBlock(),e.createElementBlock("button",{key:0,class:"carousel__control btn btn-link text-light",type:"button",onClick:e.withModifiers(i,["prevent","stop"]),title:s.$t("common.backward")},[e.createVNode(D,{symbol:"chevron-left"})],8,ic)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"viewport",ref:l,class:"carousel__viewport flex-grow-1"},[e.createElementVNode("div",{ref_key:"track",ref:o,class:"carousel__track d-flex justify-center align-items-center"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(u,A)=>e.renderSlot(s.$slots,"carousel-item",{key:u.src,item:u,index:A},()=>[e.createElementVNode("div",{class:e.normalizeClass(["carousel__item",A===t.modelValue?"selected":""]),onClick:m=>r(A)},e.toDisplayString(u),11,rc)])),128))],512)],512),t.navigation?(e.openBlock(),e.createElementBlock("button",{key:1,class:"carousel__control btn btn-link text-light",type:"button",onClick:e.withModifiers(a,["prevent","stop"]),title:s.$t("common.forward")},[e.createVNode(D,{symbol:"chevron-right"})],8,sc)):e.createCommentVNode("",!0)]))}}),cc={class:"media-thumbnails"},Ac=["onClick","title"],dc={key:0,class:"img-container"},uc={key:0,class:"media-thumbnails__count-badge"},mc={key:2,class:"img-container"},fc=e.defineComponent({__name:"media-thumbnails",props:{modelValue:{default:null},config:{type:Object,default:null},messages:{type:Object,default:{}},assets:{type:Array,default:[]},stacked:{type:Boolean,default:!1},showCount:{type:Boolean,default:!1}},emits:["update:modelValue","select"],setup(t,{emit:c}){const n=c,l=e.ref(-1);function o(i){l.value=i,n("update:modelValue",i),n("select",i)}return(i,a)=>(e.openBlock(),e.createElementBlock("div",cc,[e.createVNode(Ft,{items:t.assets},{"carousel-item":e.withCtx(r=>[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["carousel__item media-thumbnails__thumbnail",r.index===t.modelValue||r.index===l.value?"is-active":""]),onClick:s=>o(r.index),title:`${i.$t("thumbnails.thumbnail")} ${r.index+1}`},[r.item.type==="preset"&&r.item.thumbnail?(e.openBlock(),e.createElementBlock("div",dc,[e.createVNode(ce,{src:r.item.thumbnail,class:"img-fluid"},null,8,["src"])])):r.item.type==="preset"?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["img-container img-container--multi",{"img-container--stacked":t.stacked}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.item.items,(s,d)=>(e.openBlock(),e.createBlock(ce,{key:d,src:s.thumbnail||s.src,class:"img-fluid"},null,8,["src"]))),128)),t.showCount&&Object.keys(r.item.items||{}).length?(e.openBlock(),e.createElementBlock("span",uc,e.toDisplayString(Object.keys(r.item.items||{}).length),1)):e.createCommentVNode("",!0)],2)):(e.openBlock(),e.createElementBlock("div",mc,[e.createVNode(ce,{src:r.item.thumbnail||r.item.src,class:"img-fluid"},null,8,["src"])]))],10,Ac)]),_:1},8,["items"])]))}}),pc={class:"progress-steps"},gc={class:"progress-steps__list"},hc={class:"progress-step"},yc=["checked","id","value","disabled","read-only","required","onChange"],bc=["for"],kc=["innerHTML"],wc=["for"],Bc=["innerHTML"],Vc=e.defineComponent({__name:"progress-steps",props:{modelValue:{type:Number,default:0},progress:{type:Number,default:0},steps:{type:Array},label:{type:String,default:""},reveal:{type:Boolean,default:!1}},emits:["update:modelValue","update:progress"],setup(t,{emit:c}){const n=t,l=c;function o(i){l("update:modelValue",i),i>=n.progress&&l("update:progress",i)}return(i,a)=>(e.openBlock(),e.createElementBlock("div",pc,[e.createElementVNode("ul",gc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.steps,(r,s)=>(e.openBlock(),e.createElementBlock("li",{key:s,class:e.normalizeClass(["progress-steps__step",{"progress-steps__step--disabled":s>t.progress+(t.reveal?1:0),"progress-steps__step--active":s===(t.modelValue||0)}])},[e.renderSlot(i.$slots,"step",{},()=>[e.createElementVNode("div",hc,[e.createElementVNode("input",{type:"radio",checked:s<=(t.progress||0),id:`step-${s}`,name:"step",class:"form-check-input",value:r.value,disabled:r.disabled||s>t.progress+(t.reveal?1:0),"read-only":r.readOnly,required:r.required,onChange:d=>o(s)},null,40,yc),e.createElementVNode("label",{for:`step-${s}`},[e.renderSlot(i.$slots,"button",{step:r},()=>[e.createElementVNode("span",{class:"btn rounded-circle",innerHTML:e.unref(Z)(r.text||"")},null,8,kc)])],8,bc),e.createElementVNode("label",{for:`step-${s}`},[e.renderSlot(i.$slots,"label",{step:r},()=>[e.createElementVNode("span",{class:"form-check-label",innerHTML:e.unref(Z)(r.label||"")},null,8,Bc)])],8,wc)])])],2))),128))])]))}}),Cc={class:"hint-system"},Ec=["innerHTML"],$c=["innerHTML"],Sc={key:1,class:"hint-system__hint-content"},Nc=["disabled"],vc=e.defineComponent({__name:"hint-system",props:{modelValue:{type:Number,default:0},hints:{type:Array,default:()=>[]},penalty:{type:Number,default:1},maxHints:{type:Number,default:void 0},htmlContent:{type:Boolean,default:!1},label:{type:String,default:"Show hint"},description:{type:String,default:""}},emits:["update:modelValue","hint-revealed"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(n.modelValue);e.watch(()=>n.modelValue,d=>{o.value=d});const i=e.computed(()=>n.maxHints!==void 0?n.maxHints:n.hints.length),a=e.computed(()=>o.value<i.value),r=e.computed(()=>n.hints.slice(0,o.value));function s(){if(!a.value)return;const d=o.value;o.value++,l("update:modelValue",o.value),l("hint-revealed",{hint:n.hints[d],index:d,penaltyTotal:o.value*n.penalty})}return(d,u)=>(e.openBlock(),e.createElementBlock("div",Cc,[t.description?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:e.unref(Z)(t.description),class:"hint-system__description"},null,8,Ec)):e.createCommentVNode("",!0),r.value.length?(e.openBlock(),e.createBlock(e.TransitionGroup,{key:1,name:"hint-reveal",tag:"ol",class:"hint-system__list"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(A,m)=>(e.openBlock(),e.createElementBlock("li",{key:m,class:"hint-system__hint"},[e.renderSlot(d.$slots,"hint",{hint:A,index:m,isNew:m===o.value-1},()=>[t.htmlContent?(e.openBlock(),e.createElementBlock("div",{key:0,class:"hint-system__hint-content",innerHTML:e.unref(Z)(A.content||"")},null,8,$c)):(e.openBlock(),e.createElementBlock("div",Sc,e.toDisplayString(A.content),1))])]))),128))]),_:3})):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"trigger",{revealNext:s,canReveal:a.value,revealedCount:o.value,total:i.value},()=>[e.createElementVNode("button",{type:"button",class:"hint-system__trigger d-block w-100 text-center",disabled:!a.value,onClick:s},e.toDisplayString(t.label),9,Nc)])]))}}),Mc={class:"popover-tooltip"},Dc=["popovertarget","disabled","aria-describedby","aria-label"],Lc={class:"popover-tooltip__content d-flex flex-column"},Ic={key:0,class:"popover-tooltip__header d-flex p-3 border-bottom"},Tc=["innerHTML"],Pc={class:"popover-tooltip__body"},xc=["innerHTML"],zc={key:1,class:"popover-tooltip__footer d-flex p-3 border-top"},Fc=e.defineComponent({__name:"popover-tooltip",props:{modelValue:{type:Boolean,default:!1},id:{type:String,default:()=>`popover-tooltip-${Math.random().toString(36).substr(2,9)}`},size:{type:String},exclusive:{type:Boolean,default:!0},header:{type:Boolean,default:!1},footer:{type:Boolean,default:!1},title:{type:String,default:""},content:{type:String,default:""},hover:{type:Boolean,default:!0},hoverDelay:{type:Number,default:400},disabled:{type:Boolean,default:!1},ariaLabel:{type:String,default:""}},emits:["update:modelValue","confirm","cancel"],setup(t,{emit:c}){const n=t,l=c,o=Ue(()=>n.title),i=Ue(()=>n.content),a=e.computed({get(){return n.modelValue},set(d){l("update:modelValue",d)}}),r=e.ref(),s=e.ref();return(d,u)=>(e.openBlock(),e.createElementBlock("span",Mc,[e.createElementVNode("button",{type:"button",popovertarget:t.id,disabled:t.disabled,"aria-describedby":t.id,"aria-label":t.ariaLabel||d.$te("common.moreInfo")?d.$t("common.moreInfo"):void 0,ref_key:"trigger",ref:r},[e.renderSlot(d.$slots,"button",{},()=>[u[3]||(u[3]=e.createElementVNode("span",{class:"popover-tooltip__trigger"}," i ",-1))])],8,Dc),e.createVNode(Ce,{id:t.id,modelValue:a.value,"onUpdate:modelValue":u[2]||(u[2]=A=>a.value=A),hover:t.hover,"hover-delay":t.hoverDelay,ref_key:"dialog",ref:s,role:"tooltip",class:e.normalizeClass(t.size?`popover-tooltip--${t.size}`:"")},{default:e.withCtx(()=>[e.createElementVNode("div",Lc,[t.header?(e.openBlock(),e.createElementBlock("div",Ic,[t.title?(e.openBlock(),e.createElementBlock("h5",{key:0,class:"popover-tooltip__title",innerHTML:e.unref(o)},null,8,Tc)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:"btn-close ms-auto border-radius-none","aria-label":"Close",onClick:u[0]||(u[0]=A=>a.value=!1)})])):e.createCommentVNode("",!0),e.createElementVNode("div",Pc,[e.renderSlot(d.$slots,"default",{},()=>[e.createElementVNode("span",{innerHTML:e.unref(i)},null,8,xc)])]),t.footer?(e.openBlock(),e.createElementBlock("div",zc,[e.renderSlot(d.$slots,"footer"),e.createElementVNode("button",{type:"button",class:"btn ms-auto",onClick:u[1]||(u[1]=A=>a.value=!1)},e.toDisplayString(d.$t("common.close")),1)])):e.createCommentVNode("",!0)])]),_:3},8,["id","modelValue","hover","hover-delay","class"])]))}}),Oc={class:"popover-notification__header d-flex justify-content-between mb-2"},Rc={class:"popover-notification__title"},Hc=["onClick"],Uc=["innerHTML"],Qc=240,Wc=e.defineComponent({__name:"popover-notifications",props:{modelValue:{type:Boolean,default:!1},id:{type:String,default:()=>`popover-notifications-${Math.random().toString(36).substr(2,9)}`},items:{type:Array,default:()=>[]},debounceItem:{type:Number,default:0},closeTimeout:{type:Number,default:8e3},collapsible:{type:Boolean,default:!0},collapseItems:{type:Number,default:3}},setup(t,{expose:c}){const n=t,l=e.ref([]),o=e.ref([]),i=e.ref(null),a=new Map,r=e.computed(()=>l.value.map(p=>({...p,content:Z(p.content||"")}))),s=e.ref(!1),d=e.computed(()=>s.value?[...r.value].reverse():r.value);function u(p,k){k===!1&&f(p)}function A(p){const k=a.get(p);k&&(clearTimeout(k),a.delete(p))}function m(p){const k=p.closeTimeout??n.closeTimeout;A(p.id),k&&a.set(p.id,window.setTimeout(()=>{A(p.id),f(p)},k))}function f(p){p.visible===!1&&a.has(p.id)||(A(p.id),p.visible=!1,a.set(p.id,window.setTimeout(()=>{l.value=l.value.filter(k=>k.id!==p.id),a.delete(p.id),l.value.length===0&&(s.value=!1)},Qc)))}function g(p){if(n.collapsible&&l.value.length>=n.collapseItems){const h=l.value.shift();h&&A(h.id)}n.collapsible&&l.value.length+1>=n.collapseItems&&(s.value=!0),l.value.forEach(h=>{h.stackIndex=(h.stackIndex??0)+1});const k={...p,closeTimeout:p.closeTimeout??n.closeTimeout,visible:!0,stackIndex:0};l.value.push(k),m(k)}e.watch(()=>n.items,(p,k)=>{const h=p.filter(T=>!k.some(x=>x.id===T.id));h.length&&(o.value=[...o.value,...h],y())});function y(){i.value!==null||!o.value.length||(i.value=window.setTimeout(()=>{i.value=null;const p=o.value.shift();p&&g(p),o.value.length>0&&y()},l.value.length?n.debounceItem:0))}function C(p){o.value.push(p),y()}return e.onMounted(()=>{o.value=[...n.items],n.collapsible&&o.value.length>=n.collapseItems&&(s.value=!0),y()}),e.onBeforeUnmount(()=>{i.value!==null&&clearTimeout(i.value);for(const p of a.values())clearTimeout(p);a.clear()}),c({addItem:C}),(p,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["popover-notifications",{"popover-notifications--stacked":s.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(h,T)=>(e.openBlock(),e.createBlock(Ce,{key:h.id,id:h.id,"close-timeout":0,type:"manual",class:"popover-notification",modelValue:h.visible,"onUpdate:modelValue":[x=>h.visible=x,x=>u(h,x)],style:e.normalizeStyle({"--stack-index":h.stackIndex??T})},{default:e.withCtx(()=>[e.renderSlot(p.$slots,"item",{item:h,removeItem:u},()=>[e.createElementVNode("div",Oc,[e.createElementVNode("span",Rc,e.toDisplayString(h.title),1),e.createElementVNode("button",{type:"button",class:"btn btn-close p-0",onClick:e.withModifiers(x=>u(h,!1),["stop"]),"aria-label":"Close notification"},null,8,Hc)]),e.createElementVNode("span",{innerHTML:h.content},null,8,Uc)])]),_:2},1032,["id","modelValue","onUpdate:modelValue","style"]))),128))],2))}}),jc=e.defineComponent({__name:"dom-renderer",props:{modelValue:{type:String,default:""},fixedWidth:{type:Number,default:0},renderUpdates:{type:Boolean,default:!1},exportToSvg:{type:Boolean,default:!1},options:{type:Object,default:()=>({})},pending:{type:Boolean,default:!1},emitPending:{type:Boolean,default:!1},debug:{type:Boolean,default:!1}},emits:["update:modelValue","update:pending"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(),i=e.ref(""),a=e.ref(),r=e.ref(!0);async function s(){if(!o.value||!r.value)return"";const u=o.value;if(!u.isConnected)return"";try{n.emitPending&&l("update:pending",!0);const A=u.firstElementChild;if(!A)return"";const m=await Ut(A,{backgroundColor:"rgba(0, 0, 0, 0)",scale:1,...n.options});if(!r.value||!o.value||!u.isConnected)return"";const f=m.toDataURL();if(l("update:modelValue",f),n.emitPending&&l("update:pending",!1),n.debug){const g=new Image;g.src=f,document.body.appendChild(g)}return f}catch(A){return r.value&&n.emitPending&&l("update:pending",!1),console.warn("dom-renderer: Render failed",A),""}}const d=at.debounce(async()=>{i.value=await s()},300,{trailing:!0,leading:!1});return e.onMounted(()=>{const u=o.value;n.renderUpdates&&(a.value=new MutationObserver(async A=>{!r.value||!u.isConnected||(n.emitPending&&l("update:pending",!0),d())}),a.value.observe(u,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),setTimeout(()=>{n.emitPending&&l("update:pending",!0),d()},500)}),e.onBeforeUnmount(()=>{r.value=!1,a.value&&a.value.disconnect(),d.cancel()}),(u,A)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["dom-renderer",{"off-screen":!t.debug}]),ref_key:"renderer",ref:o,style:e.normalizeStyle(t.fixedWidth>0?{width:`${t.fixedWidth}px`}:{})},[e.renderSlot(u.$slots,"default")],6))}}),qc={class:"qr-code"},Gc=["innerHTML"],Jc=e.defineComponent({__name:"qr-code",props:{data:null,image:null,download:{type:Boolean,default:!1},filename:{type:String,default:"qr-code"}},emits:["update:dataUrl"],setup(t,{expose:c,emit:n}){const l=t,o=e.ref(),i=e.computed(()=>({width:300,height:300,type:"canvas",data:l.data,...l.image?{image:l.image}:{},margin:10,qrOptions:{typeNumber:0,mode:"Byte",errorCorrectionLevel:"Q"},imageOptions:{hideBackgroundDots:!0,imageSize:.4,margin:20,crossOrigin:"anonymous"},dotsOptions:{type:"rounded"},backgroundOptions:{color:"#ffffff"},cornersSquareOptions:{color:"#333333",type:"extra-rounded"},cornersDotOptions:{color:"#333333",type:"dot"}}));function a(s=null,d=null){typeof window<"u"&&(o.value&&(o.value.innerHTML=""),new ut(s||i.value).append(o.value))}function r(){new ut({...i.value,width:1200,height:1200}).download({name:l.filename,extension:"png"})}return e.watch(()=>i.value,a,{deep:!0,immediate:!0}),e.onMounted(()=>{typeof window<"u"&&a()}),c({download:r}),(s,d)=>(e.openBlock(),e.createElementBlock("div",qc,[l.download?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn btn-outline-contrast mb-3",onClick:r,innerHTML:s.$t("qrlink.download")},null,8,Gc)):(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"canvas",ref:o},null,512))]))}}),Yc={class:"link-sharing"},_c={key:0,class:"link-sharing__links container"},Kc={class:"row"},Zc={key:0,class:"col-12 col-md-6"},Xc=["href"],eA={class:"caption"},tA={key:1,class:"col-12 col-md-6"},aA=["href"],nA={class:"caption"},lA={key:2,class:"col-12 col-md-6"},oA={class:"caption"},iA={key:3,class:"col-12 col-md-6"},rA=["href"],sA={class:"caption"},cA={key:4,class:"col-12 col-md-6"},AA=["href"],dA={class:"caption"},uA={key:5,class:"col-12 col-md-6"},mA={class:"caption"},fA={key:6,class:"col-12 col-md-6"},pA=["href"],gA={class:"caption"},hA={key:1,class:"link-sharing__instructions pt-5"},yA={class:"row"},bA={class:"col-12 text-center py-0"},kA={class:"mb-5"},wA=t=>t.replace(/<(?:.|\n)*?>/gm,""),BA=e.defineComponent({__name:"link-sharing",props:{url:{type:String,default:""},subject:{type:String,default:""},hashtags:Array,text:{type:String,default:""},media:{type:String,default:""},services:{type:Object,default:{facebook:!0,instagram:!0,linkedin:!0,whatsapp:!0,mailto:!0,clipboard:!0,bluesky:!0}}},setup(t){const c=t,n=e.ref(!1),l=e.computed(()=>encodeURIComponent(c.url));e.computed(()=>encodeURIComponent(c.media));const o=e.computed(()=>wA(c.text)),i=e.computed(()=>!!(navigator&&navigator.userAgent&&/Mobi|Android/i.test(navigator.userAgent)));async function a(){const r=document.createElement("textarea");document.body.appendChild(r),r.value=c.url,r.select(),r.setSelectionRange(0,99999),navigator.clipboard.writeText(r.value),document.body.removeChild(r)}return(r,s)=>(e.openBlock(),e.createElementBlock("div",Yc,[n.value?(e.openBlock(),e.createElementBlock("div",hA,[e.createElementVNode("div",yA,[e.createElementVNode("div",bA,[e.createElementVNode("div",kA,[e.createElementVNode("p",null,e.toDisplayString(r.$t("sharing.instructions",{service:"Instagram"})),1),e.createElementVNode("p",null,[e.createElementVNode("strong",null,e.toDisplayString(Array.isArray(t.hashtags)?t.hashtags.join(", "):t.hashtags),1)]),e.createElementVNode("button",{type:"button",class:"btn btn-text",onClick:s[1]||(s[1]=e.withModifiers(d=>n.value=!n.value,["prevent"]))},[e.createVNode(D,{symbol:"arrow-left"}),e.createTextVNode(" "+e.toDisplayString(r.$t("common.back")),1)])])])])])):(e.openBlock(),e.createElementBlock("div",_c,[e.createElementVNode("div",Kc,[t.services.facebook?(e.openBlock(),e.createElementBlock("div",Zc,[e.createElementVNode("a",{class:"link-sharing__link btn btn-primary",href:`https://www.facebook.com/sharer.php?u=${l.value}`,target:"_blank",rel:"noopener"},[e.createVNode(D,{symbol:"facebook"}),e.createElementVNode("span",eA,e.toDisplayString(r.$t("sharing.facebook")),1)],8,Xc)])):e.createCommentVNode("",!0),t.services.bluesky?(e.openBlock(),e.createElementBlock("div",tA,[e.createElementVNode("a",{class:"link-sharing__link btn btn-primary",href:`https://bsky.app/intent/compose?text=${o.value}${o.value?"%20":""}${t.url}`,target:"_blank",rel:"noopener"},[e.createVNode(D,{symbol:"bluesky-logo"}),e.createElementVNode("span",nA,e.toDisplayString(r.$t("sharing.bluesky")),1)],8,aA)])):e.createCommentVNode("",!0),t.services.instagram?(e.openBlock(),e.createElementBlock("div",lA,[e.createElementVNode("button",{type:"button",class:"link-sharing__link btn btn-primary",onClick:s[0]||(s[0]=e.withModifiers(d=>n.value=!n.value,["prevent"]))},[e.createVNode(D,{symbol:"instagram"}),e.createElementVNode("span",oA,e.toDisplayString(r.$t("sharing.instagram")),1)])])):e.createCommentVNode("",!0),t.services.linkedin?(e.openBlock(),e.createElementBlock("div",iA,[e.createElementVNode("a",{class:"link-sharing__link btn btn-primary",href:`https://www.linkedin.com/shareArticle?mini=true&url=${l.value}&title=${t.subject}`,target:"_blank",rel:"noopener"},[e.createVNode(D,{symbol:"linkedin"}),e.createElementVNode("span",sA,e.toDisplayString(r.$t("sharing.linkedin")),1)],8,rA)])):e.createCommentVNode("",!0),t.services.whatsapp&&i.value?(e.openBlock(),e.createElementBlock("div",cA,[e.createElementVNode("a",{class:"link-sharing__link btn btn-primary",href:`whatsapp://send?text=${l.value}`,target:"_blank",rel:"noopener"},[e.createVNode(D,{symbol:"whatsapp"}),e.createElementVNode("span",dA,e.toDisplayString(r.$t("sharing.whatsapp")),1)],8,AA)])):e.createCommentVNode("",!0),t.services.clipboard?(e.openBlock(),e.createElementBlock("div",uA,[e.createElementVNode("button",{type:"button",class:"link-sharing__link btn btn-primary",onClick:e.withModifiers(a,["prevent","stop"])},[e.createVNode(D,{symbol:"copy"}),e.createElementVNode("span",mA,e.toDisplayString(r.$t("sharing.clipboard")),1)])])):e.createCommentVNode("",!0),t.services.mailto?(e.openBlock(),e.createElementBlock("div",fA,[e.createElementVNode("a",{class:"link-sharing__link btn btn-primary",href:`mailto:?subject=${t.subject}&body=${o.value}%0D%0A${t.url}`,target:"_blank",rel:"noopener"},[e.createVNode(D,{symbol:"mail"}),e.createElementVNode("span",gA,e.toDisplayString(r.$t("sharing.mailto")),1)],8,pA)])):e.createCommentVNode("",!0)])]))]))}}),VA={class:"base-form"},CA=e.defineComponent({__name:"base-form",props:{id:{},name:{},variant:{},disabled:{type:Boolean},pending:{type:Boolean}},setup(t){function c(o){console.log("input",o)}function n(o){console.log("reset",o)}function l(o){console.log("submit",o)}return(o,i)=>(e.openBlock(),e.createElementBlock("div",VA,[e.createElementVNode("form",{ref:"form",onInput:c,onReset:n,onSubmit:e.withModifiers(l,["prevent"])},[e.renderSlot(o.$slots,"default")],544)]))}}),EA={class:"touch-wrapper__controls"},$A={class:"btn-group",role:"group"},SA=e.defineComponent({__name:"touch-wrapper",props:{modelValue:{type:Number,default:1}},emits:["update:modelValue"],setup(t,{emit:c}){const l=e.getCurrentInstance()?.appContext?.config?.globalProperties?.$config||{iconSprite:"/symbol-defs.svg"},o=t,i=c,a=e.ref();function r(u){const A=o.modelValue+u;i("update:modelValue",u===0?1:A>=1?A:1)}function s(u){if(u.ctrlKey){u.preventDefault();const A=0-u.deltaY*.01;r(A)}}function d(u){u.preventDefault();const{scale:A}=u,m=A>1?A*.01:0-A;r(m)}return e.onMounted(()=>{a.value&&(a.value.addEventListener("wheel",s,!1),a.value.addEventListener("gesturestart",d,!1),a.value.addEventListener("gesturechange",d,!1),a.value.addEventListener("gestureend",d,!1))}),(u,A)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"touchElement",ref:a,class:"touch-wrapper"},[e.renderSlot(u.$slots,"controls",{on:{setScale:r}},()=>[e.createElementVNode("div",EA,[e.createElementVNode("div",$A,[e.createElementVNode("button",{type:"button",class:"btn",onClick:A[0]||(A[0]=m=>r(-1))},[e.createVNode(D,{symbol:"minus","base-path":e.unref(l).iconSprite},null,8,["base-path"])]),e.createElementVNode("button",{type:"button",class:"btn",onClick:A[1]||(A[1]=m=>r(0))},[e.createVNode(D,{symbol:"maximize","base-path":e.unref(l).iconSprite},null,8,["base-path"])]),e.createElementVNode("button",{type:"button",class:"btn",onClick:A[2]||(A[2]=m=>r(1))},[e.createVNode(D,{symbol:"plus","base-path":e.unref(l).iconSprite},null,8,["base-path"])])])])]),e.renderSlot(u.$slots,"default")],512))}});let We=null;async function NA(){if(typeof window>"u")return null;if(We)return We;const t=await import("canvas-confetti");return We=t.default||t,We}const Ot={default:{items:[{particleCount:80,spread:120,origin:{y:.625,x:.5}},{timeout:400,particleCount:80,spread:120,origin:{y:.625,x:.625}},{timeout:800,particleCount:80,spread:120,origin:{y:.625,x:.375}}]},randomDirection:{items:[{angle:rt(55,125),spread:rt(50,70),particleCount:rt(50,100),origin:{y:.6}}]},pride:{items:[{timeout:20,particleCount:2,spread:32,origin:{x:0},colors:["#ff0000"]},{timeout:20,particleCount:2,spread:32,origin:{x:1},colors:["#ff0000"]}]}};function rt(t,c){return Math.random()*(c-t)+t}const vA=e.defineComponent({__name:"canvas-confetti",props:{preset:{type:String,default:"default"},items:{default:()=>[{}]},colors:{type:Array,default:()=>[]},loop:{type:Boolean,default:!1}},setup(t){const c=t,n=e.ref(null),l=e.computed(()=>({...Ot[c.preset],items:Ot[c.preset].items.map((a,r)=>({...a,...c.items[r],...c.colors.length?{colors:c.colors}:{}}))}));async function o(a){return new Promise(r=>{(typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):d=>setTimeout(d,16))(()=>n.value?.confetti?.(JSON.parse(JSON.stringify(a)))),setTimeout(()=>r(),0)})}async function i(){await Promise.all(l.value.items.map(a=>new Promise(r=>setTimeout(()=>{r(o(a))},a.timeout||0)))),c.loop&&i()}return e.onMounted(async()=>{if(typeof window<"u"&&n.value){const a=await NA();if(!a)return;n.value.confetti=n.value?.confetti||a.create(n.value,{resize:!0}),i()}}),(a,r)=>(e.openBlock(),e.createElementBlock("canvas",{class:"canvas-confetti",ref_key:"canvas",ref:n},null,512))}}),MA=["popovertarget"],DA=["src","alt"],LA=e.defineComponent({__name:"image-zoom",props:{src:{type:String,required:!0},alt:{type:String,default:""},spinner:{type:Boolean,default:!1},zoom:{type:Number,default:2},focusWidth:{type:Number,default:0},focusHeight:{type:Number,default:0},hoverDelay:{type:Number,default:150},closeTimeout:{type:Number,default:0},popoverId:{type:String,default:()=>`image-zoom-${Math.random().toString(36).substring(2,9)}`}},setup(t){const c=t,n=e.ref(null),l=e.ref(null),o=e.ref(null),i=e.ref(!1),a=e.ref(!1),r=e.ref(!1),s=e.ref(!1),d=e.ref(null),u=e.ref(0),A=e.ref(0),m=e.ref(0),f=e.ref(0),g=e.computed(()=>Number.isFinite(c.focusWidth)&&c.focusWidth>0&&Number.isFinite(c.focusHeight)&&c.focusHeight>0&&m.value>0&&f.value>0&&c.focusWidth<=m.value&&c.focusHeight<=f.value),y=e.computed(()=>m.value>0&&f.value>0&&!g.value),C=e.computed(()=>r.value&&!a.value&&m.value>0&&f.value>0),p=e.computed(()=>y.value?{width:`${m.value}px`,height:`${f.value}px`,left:"0px",top:"0px"}:{width:`${c.focusWidth}px`,height:`${c.focusHeight}px`,left:`${u.value}px`,top:`${A.value}px`}),k=e.computed(()=>{const I=m.value*c.zoom,q=f.value*c.zoom;return{width:`${I}px`,height:`${q}px`,transform:g.value&&!a.value?`translate(${-u.value*c.zoom}px, ${-A.value*c.zoom}px)`:"none",transformOrigin:"top left"}});function h(){if(!l.value)return;const I=l.value.getBoundingClientRect();m.value=I.width,f.value=I.height}function T(){d.value&&(clearTimeout(d.value),d.value=null)}function x(){T(),i.value=!0}function F(){T(),d.value=setTimeout(()=>{!r.value&&!s.value&&!a.value&&(i.value=!1),d.value=null},c.hoverDelay||100)}function $(I,q){if(!l.value)return;if(y.value){u.value=0,A.value=0;return}const G=l.value.getBoundingClientRect(),oe=I-G.left,Ie=q-G.top,ie=Math.min(Math.max(oe-c.focusWidth/2,0),Math.max(G.width-c.focusWidth,0)),ve=Math.min(Math.max(Ie-c.focusHeight/2,0),Math.max(G.height-c.focusHeight,0));u.value=ie,A.value=ve}function R(){if(!o.value||!a.value||y.value)return;const I=o.value.getBoundingClientRect(),q=Math.max(0,u.value*c.zoom-I.width/2+c.focusWidth*c.zoom/2),G=Math.max(0,A.value*c.zoom-I.height/2+c.focusHeight*c.zoom/2);o.value.scrollTo({left:q,top:G})}function V(I){h(),$(I.clientX,I.clientY)}function P(I){r.value=!0,h(),$(I.clientX,I.clientY),a.value||x()}function O(){r.value=!1,a.value||F()}function M(I){a.value&&(i.value=!0,h(),$(I.clientX,I.clientY))}function v(){a.value&&e.nextTick(R)}function Q(){s.value=!0,x()}function E(){s.value=!1,F()}function z(I){a.value&&(i.value=!i.value,I instanceof MouseEvent&&$(I.clientX,I.clientY))}return e.onMounted(()=>{a.value="ontouchstart"in window||navigator.maxTouchPoints>0,h()}),e.watch(i,async I=>{I&&a.value&&(await e.nextTick(),R())}),(I,q)=>(e.openBlock(),e.createElementBlock("span",{class:"image-zoom",popovertarget:t.popoverId,ref_key:"wrapper",ref:n},[e.createElementVNode("div",{class:"image-zoom__target",ref_key:"target",ref:l,onPointermove:V,onPointerenter:P,onPointerleave:O,onPointerdown:M,onPointerup:v,onPointercancel:O,onClick:e.withModifiers(z,["prevent"])},[e.renderSlot(I.$slots,"image",{src:t.src,alt:t.alt,spinner:t.spinner,animate:!1},()=>[e.createVNode(ce,{class:"image-zoom__image",src:t.src,alt:t.alt,spinner:t.spinner,animate:!1},null,8,["src","alt","spinner"])]),C.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"image-zoom__focus",style:e.normalizeStyle(p.value)},null,4)):e.createCommentVNode("",!0)],544),e.createVNode(Ce,{id:t.popoverId,modelValue:i.value,"onUpdate:modelValue":q[0]||(q[0]=G=>i.value=G),hover:!1,"hover-delay":t.hoverDelay,"close-timeout":t.closeTimeout,class:e.normalizeClass(["image-zoom__popover",{"image-zoom__popover--full":y.value}]),role:"tooltip",onMouseenter:Q,onMouseleave:E},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["image-zoom__preview-wrapper",{"image-zoom__preview-wrapper--full":y.value}])},[e.createElementVNode("div",{class:e.normalizeClass(["image-zoom__preview",{"image-zoom__preview--full":y.value}]),ref_key:"preview",ref:o},[e.createElementVNode("img",{class:e.normalizeClass(["image-zoom__preview-image",{"image-zoom__preview-image--full":y.value}]),src:t.src,alt:t.alt,style:e.normalizeStyle(k.value),draggable:"false"},null,14,DA)],2)],2)]),_:1},8,["id","modelValue","hover-delay","close-timeout","class"])],8,MA))}});N.Accordion=ua,N.AccordionItem=ra,N.AssetUploader=ts,N.AutoSuggest=wt,N.BaseButton=ht,N.BaseCamera=ci,N.BaseCarousel=Ft,N.BaseForm=CA,N.BaseHeadline=Jt,N.BaseImage=ce,N.BaseInput=Se,N.BaseMap=Ct,N.BaseParagraph=_t,N.BulkUpload=Ki,N.CanvasConfetti=vA,N.CheckGroup=vl,N.ColorPalette=wo,N.CustomHtml=ql,N.DomRenderer=jc,N.FileUpload=Ne,N.HintSystem=vc,N.ImageCrop=Mt,N.ImageCropResize=Dt,N.ImageResize=vt,N.ImageUpload=Le,N.ImageZoom=LA,N.InputCheckbox=Ea,N.InputColor=yo,N.InputDatepicker=wl,N.InputDatetime=va,N.InputDropdown=he,N.InputFile=ot,N.InputPasscode=El,N.InputPassword=kt,N.InputTextarea=wa,N.LinkSharing=BA,N.LoadingSpinner=He,N.LocationFinder=lc,N.LocationList=Et,N.MediaThumbnails=fc,N.ModalDialog=Lt,N.PopoverDialog=Ce,N.PopoverNotifications=Wc,N.PopoverTooltip=Fc,N.PresetUploader=Ms,N.ProgressSteps=Vc,N.QrCode=Jc,N.RadioButtons=xl,N.RadioGroup=Qe,N.RteEditor=fo,N.SelectMedia=Yl,N.SortableList=it,N.SvgIcon=D,N.TouchWrapper=SA,N.UploadGroup=It,N.useCameraFilter=Bt,N.useDirections=Tt,N.useGeocoding=Pt,N.useGeolocation=zt,Object.defineProperty(N,Symbol.toStringTag,{value:"Module"})}));
|
|
4
|
+
`]),value:a.value||a,checked:a.value?a.value===t.modelValue?.value:a===t.modelValue,disabled:t.disabled,"read-only":t.readOnly,required:t.required,onChange:s=>l(a)},null,42,Dl),e.renderSlot(o.$slots,"option-label",{option:a,index:r},()=>[e.createElementVNode("label",{class:"form-check-label",for:`${t.id}-${r}`,innerHTML:e.unref(Z)(a.text||"")},null,8,Ll)])],2))),128)),e.renderSlot(o.$slots,"label",{},()=>[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id},e.toDisplayString(t.label),9,Il)):e.createCommentVNode("",!0)])]))}}),Tl={class:"radio-buttons"},Pl=["for"],xl=e.defineComponent({__name:"radio-buttons",props:{modelValue:{type:null,default:""},options:{type:Array,default:[]},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},keyOption:{type:null},itemClass:{type:String,default:""}},emits:["update:modelValue","update:selection"],setup(t,{emit:c}){const n=t,l=c,o=e.computed({get(){return n.modelValue},set(i){l("update:modelValue",i)}});return(i,a)=>(e.openBlock(),e.createElementBlock("div",Tl,[e.createVNode(Qe,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=r=>o.value=r),options:t.options,name:t.name,id:t.id,disabled:t.disabled,required:t.required,class:"d-flex flex-column gap-3 justify-content-center"},{"option-label":e.withCtx(r=>[e.createElementVNode("label",{for:`${t.id}-${r.index}`,class:"d-block btn btn-outline-primary p-3 fw-bold",role:"button"},e.toDisplayString(r.option.text),9,Pl)]),_:1},8,["modelValue","options","name","id","disabled","required"])]))}}),zl=["id","name","multiple","accept","disabled"],Fl={class:"input__input-group input-group"},Ol=["value","id","name","disabled"],Rl=["for","disabled"],Hl={class:"btn btn-outline-contrast"},Ul=["for"],Ql=["innerHTML"],ot=e.defineComponent({__name:"input-file",props:{modelValue:{type:Array,default:[]},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},pattern:{type:String,default:null},multiple:{type:Boolean,default:!1},accept:{type:String},maxFileSize:{type:Number,default:0},dropzone:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c;function o(s){const d=s.target&&s.target.files;d&&(a.splice(0,a.length),Array.from(d).forEach(u=>{if(n.maxFileSize&&u.size>n.maxFileSize){console.warn(`File ${u.name} exceeds the ${n.maxFileSize} bytes size limit and will not be added.`);return}a.push(u)}))}const i=e.ref(),a=e.reactive([]),r=e.computed(()=>a&&a.map(s=>s.name));return e.watch(()=>n.modelValue,(s,d)=>{s.length===0&&(i.value.value=null)},{deep:!0}),e.watch(()=>a,(s,d)=>{l("update:modelValue",s)},{deep:!0}),(s,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["input input-file","input-file--primary"])},[e.createElementVNode("input",{ref_key:"input",ref:i,type:"file",id:t.id,name:t.name,class:"d-none",onChange:o,multiple:t.multiple,accept:t.accept,disabled:t.disabled},null,40,zl),e.createElementVNode("div",Fl,[e.renderSlot(s.$slots,"input-prepend"),e.createElementVNode("input",{type:"text",value:r.value,id:t.id,name:t.name,class:"form-control",disabled:t.disabled},null,8,Ol),e.renderSlot(s.$slots,"input-append",{},()=>[e.createElementVNode("label",{for:t.id,disabled:t.disabled},[e.renderSlot(s.$slots,"button",{},()=>[e.createElementVNode("span",Hl,e.toDisplayString(s.$t("common.selectFile")),1)])],8,Rl)])]),e.createElementVNode("label",{for:t.id},[e.renderSlot(s.$slots,"label",{},()=>[e.createElementVNode("span",{class:"input__label",innerHTML:e.unref(Z)(`${t.label}${t.required?" *":""}`)},null,8,Ql)])],8,Ul)]))}}),Wl={key:0,class:"custom-html"},jl=["innerHTML"],ql=e.defineComponent({__name:"custom-html",props:{content:{}},setup(t){const c=e.ref(!1);return e.onMounted(()=>{window!==void 0&&(c.value=!0)}),(n,l)=>c.value?(e.openBlock(),e.createElementBlock("div",Wl,[e.renderSlot(n.$slots,"default",{},()=>[e.createElementVNode("div",{class:"custom-html__content",innerHTML:t.content},null,8,jl)])])):e.createCommentVNode("",!0)}}),Gl={class:"select-media"},Jl=["for"],Yl=e.defineComponent({__name:"select-media",props:{modelValue:{type:null,default:""},assets:{type:Array,default:[]},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},emitKey:{type:String,default:"src"}},emits:["update:modelValue","update:selection"],setup(t,{emit:c}){const n=t,l=c,o=e.computed({get(){return n.modelValue},set(i){const a=n.assets.find(r=>r.id===i);l("update:modelValue",n.emitKey?a[n.emitKey]:a),n.emitKey&&n.emitKey!=="id"&&l("update:selection",a.id)}});return(i,a)=>(e.openBlock(),e.createElementBlock("div",Gl,[e.createVNode(Qe,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=r=>o.value=r),options:t.assets.map(r=>r.id),name:t.name,id:t.id,disabled:t.disabled,required:t.required,class:"d-flex flex-wrap flex-row justify-content-center",itemClass:"col-6 p-2"},{"option-label":e.withCtx(r=>[e.createElementVNode("label",{for:`${t.id}-${r.index}`,class:e.normalizeClass(["w-100",{"is-active":t.assets[r.index].id===o.value}]),role:"button"},[t.assets[r.index].thumbnail?(e.openBlock(),e.createBlock(ce,{key:0,src:t.assets[r.index].thumbnail,alt:t.assets[r.index].id},null,8,["src","alt"])):e.createCommentVNode("",!0)],10,Jl)]),_:1},8,["modelValue","options","name","id","disabled","required"])]))}}),_l={key:0,class:"rte-editor__controls mb-2"},Kl=["disabled"],Zl=["disabled"],Xl={class:"btn-group"},eo=["disabled"],to=["disabled"],ao={class:"btn-group"},no={class:"dropdown"},lo={class:"btn dropdown-toggle btn-light","data-bs-toggle":"dropdown",role:"button",type:"button"},oo={class:"dropdown-menu"},io={class:"dropdown"},ro={class:"btn dropdown-toggle btn-light","data-bs-toggle":"dropdown",role:"button",type:"button"},so={class:"dropdown-menu"},co={class:"btn-group"},Ao=["disabled"],uo=["disabled"],mo=["title"],fo=e.defineComponent({inheritAttrs:!1,__name:"rte-editor",props:{modelValue:{type:String,default:""},disabled:{type:Boolean,default:!1},iconBasePath:{type:String,default:"/rte-icons-defs.svg"},allowFullscreen:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(!1),i=e.ref(!1),a=e.shallowRef(void 0),r=e.shallowRef(null);e.onMounted(async()=>{const[{Editor:A,mergeAttributes:m},{EditorContent:p},{default:y},{default:h},{default:w},{default:f},{default:k}]=await Promise.all([import("@tiptap/core"),import("@tiptap/vue-3"),import("@tiptap/extension-highlight"),import("@tiptap/extension-text-align"),import("@tiptap/extension-link"),import("@tiptap/starter-kit"),import("@tiptap/extension-bold")]);r.value=p,a.value=new A({content:n.modelValue,onUpdate:()=>{l("update:modelValue",a.value?.getHTML())},extensions:[f.configure({bold:!1,link:!1}),k.extend({addAttributes(){return{class:{default:null}}},parseHTML(){return[{tag:"strong"},{tag:"b"}]},renderHTML({HTMLAttributes:g}){return["strong",m(this.options.HTMLAttributes,g),0]}}),h.configure({types:["heading","paragraph"]}),y,w.extend({addAttributes(){return{...this.parent?.(),class:{default:null},id:{default:null},title:{default:null}}},parseHTML(){return[{tag:"a[href]",getAttrs:g=>({href:g.getAttribute("href"),target:g.getAttribute("target"),rel:g.getAttribute("rel"),class:g.getAttribute("class"),id:g.getAttribute("id"),title:g.getAttribute("title")})},{tag:"a:not([href])",getAttrs:g=>({href:null,target:g.getAttribute("target"),rel:g.getAttribute("rel"),class:g.getAttribute("class"),id:g.getAttribute("id"),title:g.getAttribute("title")})}]},renderHTML({HTMLAttributes:g}){if(!g.href){const{href:L,target:P,rel:z,...C}=g;return["a",m(C),0]}return["a",m(this.options.HTMLAttributes,g),0]}}).configure({openOnClick:!1,autolink:!0,defaultProtocol:"https",protocols:["http","https"],HTMLAttributes:{target:"_blank",rel:"noopener noreferrer"}})]})}),e.onBeforeUnmount(()=>{a.value?.destroy()}),e.watch(()=>n.modelValue,(A,m)=>{if(a.value){if(a.value.getHTML()===A)return;a.value.commands.setContent(A)}});function s(){const A=a.value?.getAttributes("link").href,m=window.prompt("URL",A);if(m!==null){if(m===""){a.value?.chain().focus().extendMarkRange("link").unsetLink().run();return}try{a.value?.chain().focus().extendMarkRange("link").setLink({href:m}).run()}catch(p){alert(p.message)}}}const d=()=>{a.value?.commands.setContent(`<textarea>${a.value.getHTML()}</textarea>`),o.value=!0},u=()=>{a.value?.commands.setContent(a.value.getText()),o.value=!1};return(A,m)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body",disabled:!i.value},[e.createElementVNode("div",{class:e.normalizeClass([i.value?"":A.$attrs.class,"rte-editor",{"rte-editor--fullscreen":i.value}])},[a.value?(e.openBlock(),e.createElementBlock("div",_l,[o.value?(e.openBlock(),e.createElementBlock("button",{key:1,class:"btn btn-sm btn-light is-active",onClick:u,disabled:!a.value.can().chain().focus().toggleCode().run(),title:"Toggle Source"},[e.createVNode(D,{symbol:"source","base-path":t.iconBasePath},null,8,["base-path"])],8,Zl)):(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("code")}]),onClick:d,disabled:!a.value.can().chain().focus().toggleCode().run(),title:"Toggle Source"},[e.createVNode(D,{symbol:"source","base-path":t.iconBasePath},null,8,["base-path"])],10,Kl)),e.createElementVNode("div",Xl,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("bold")}]),onClick:m[0]||(m[0]=p=>a.value?.chain().focus().toggleBold().run()),disabled:!a.value.can().chain().focus().toggleBold().run(),title:"Toggle Bold"},[e.createVNode(D,{symbol:"bold","base-path":t.iconBasePath},null,8,["base-path"])],10,eo),e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("italic")}]),onClick:m[1]||(m[1]=p=>a.value?.chain().focus().toggleItalic().run()),disabled:!a.value.can().chain().focus().toggleItalic().run(),title:"Toggle Italic"},[e.createVNode(D,{symbol:"italic","base-path":t.iconBasePath},null,8,["base-path"])],10,to)]),e.createElementVNode("div",ao,[e.createElementVNode("div",no,[e.createElementVNode("button",lo,[a.value.isActive("heading",{level:1})?(e.openBlock(),e.createBlock(D,{key:0,symbol:"h1","base-path":t.iconBasePath},null,8,["base-path"])):a.value.isActive("heading",{level:2})?(e.openBlock(),e.createBlock(D,{key:1,symbol:"h2","base-path":t.iconBasePath},null,8,["base-path"])):a.value.isActive("heading",{level:3})?(e.openBlock(),e.createBlock(D,{key:2,symbol:"h3","base-path":t.iconBasePath},null,8,["base-path"])):a.value.isActive("heading",{level:4})?(e.openBlock(),e.createBlock(D,{key:3,symbol:"h4","base-path":t.iconBasePath},null,8,["base-path"])):(e.openBlock(),e.createBlock(D,{key:4,symbol:"headline","base-path":t.iconBasePath},null,8,["base-path"]))]),e.createElementVNode("ul",oo,[e.createElementVNode("li",null,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("heading",{level:1})}]),onClick:m[2]||(m[2]=p=>a.value?.chain().focus().setHeading({level:1}).run()),title:"Set Heading 1"},[e.createVNode(D,{symbol:"h1","base-path":t.iconBasePath},null,8,["base-path"])],2)]),e.createElementVNode("li",null,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("heading",{level:2})}]),onClick:m[3]||(m[3]=p=>a.value?.chain().focus().setHeading({level:2}).run()),title:"Set Heading 2"},[e.createVNode(D,{symbol:"h2","base-path":t.iconBasePath},null,8,["base-path"])],2)]),e.createElementVNode("li",null,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("heading",{level:3})}]),onClick:m[4]||(m[4]=p=>a.value?.chain().focus().setHeading({level:3}).run()),title:"Set Heading 3"},[e.createVNode(D,{symbol:"h3","base-path":t.iconBasePath},null,8,["base-path"])],2)]),e.createElementVNode("li",null,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("heading",{level:4})}]),onClick:m[5]||(m[5]=p=>a.value?.chain().focus().setHeading({level:4}).run()),title:"Set Heading 4"},[e.createVNode(D,{symbol:"h4","base-path":t.iconBasePath},null,8,["base-path"])],2)])])]),e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("paragraph")}]),onClick:m[6]||(m[6]=p=>a.value?.chain().focus().setParagraph().run()),title:"Set Paragraph"},[e.createVNode(D,{symbol:"paragraph","base-path":t.iconBasePath},null,8,["base-path"])],2),e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("bulletList")}]),onClick:m[7]||(m[7]=p=>a.value?.chain().focus().toggleBulletList().run()),title:"Toggle Bullet List"},[e.createVNode(D,{symbol:"list","base-path":t.iconBasePath},null,8,["base-path"])],2),e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("orderedList")}]),onClick:m[8]||(m[8]=p=>a.value?.chain().focus().toggleOrderedList().run()),title:"Toggle Ordered List"},[e.createVNode(D,{symbol:"ordered-list","base-path":t.iconBasePath},null,8,["base-path"])],2)]),e.createElementVNode("div",io,[e.createElementVNode("button",ro,[a.value.isActive({textAlign:"center"})?(e.openBlock(),e.createBlock(D,{key:0,symbol:"align-center","base-path":t.iconBasePath},null,8,["base-path"])):a.value.isActive({textAlign:"left"})?(e.openBlock(),e.createBlock(D,{key:1,symbol:"align-left","base-path":t.iconBasePath},null,8,["base-path"])):a.value.isActive({textAlign:"right"})?(e.openBlock(),e.createBlock(D,{key:2,symbol:"align-right","base-path":t.iconBasePath},null,8,["base-path"])):(e.openBlock(),e.createBlock(D,{key:3,symbol:"align-justify","base-path":t.iconBasePath},null,8,["base-path"]))]),e.createElementVNode("ul",so,[e.createElementVNode("li",null,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive({textAlign:"left"})}]),onClick:m[9]||(m[9]=p=>a.value?.chain().focus().setTextAlign("left").run())},[e.createVNode(D,{symbol:"align-left","base-path":t.iconBasePath},null,8,["base-path"])],2)]),e.createElementVNode("li",null,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive({textAlign:"center"})}]),onClick:m[10]||(m[10]=p=>a.value?.chain().focus().setTextAlign("center").run())},[e.createVNode(D,{symbol:"align-center","base-path":t.iconBasePath},null,8,["base-path"])],2)]),e.createElementVNode("li",null,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive({textAlign:"right"})}]),onClick:m[11]||(m[11]=p=>a.value?.chain().focus().setTextAlign("right").run())},[e.createVNode(D,{symbol:"align-right","base-path":t.iconBasePath},null,8,["base-path"])],2)]),e.createElementVNode("li",null,[e.createElementVNode("button",{class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive({textAlign:"pretty"})}]),onClick:m[12]||(m[12]=p=>a.value?.chain().focus().setTextAlign("right").run())},[e.createVNode(D,{symbol:"align-justify","base-path":t.iconBasePath},null,8,["base-path"])],2)])])]),a.value.isActive("link")?(e.openBlock(),e.createElementBlock("button",{key:3,class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("link")}]),onClick:m[13]||(m[13]=p=>a.value.chain().focus().unsetLink().run()),title:"Unset Link"},[e.createVNode(D,{symbol:"unlink","base-path":t.iconBasePath},null,8,["base-path"])],2)):(e.openBlock(),e.createElementBlock("button",{key:2,class:e.normalizeClass(["btn btn-sm btn-light",{"is-active":a.value.isActive("link")}]),onClick:s,title:"Set Link"},[e.createVNode(D,{symbol:"link","base-path":t.iconBasePath},null,8,["base-path"])],2)),e.createElementVNode("div",co,[e.createElementVNode("button",{class:"btn btn-sm btn-light",onClick:m[14]||(m[14]=p=>a.value?.chain().focus().undo().run()),disabled:!a.value.can().chain().focus().undo().run(),title:"Undo"},[e.createVNode(D,{symbol:"undo","base-path":t.iconBasePath},null,8,["base-path"])],8,Ao),e.createElementVNode("button",{class:"btn btn-sm btn-light",onClick:m[15]||(m[15]=p=>a.value?.chain().focus().redo().run()),disabled:!a.value.can().chain().focus().redo().run(),title:"Redo"},[e.createVNode(D,{symbol:"redo","base-path":t.iconBasePath},null,8,["base-path"])],8,uo)]),t.allowFullscreen?(e.openBlock(),e.createElementBlock("button",{key:4,class:"btn btn-sm btn-light ms-auto",onClick:m[16]||(m[16]=p=>i.value=!i.value),title:i.value?"Exit Fullscreen":"Fullscreen"},[e.createVNode(D,{symbol:i.value?"close":"maximize","base-path":t.iconBasePath},null,8,["symbol","base-path"])],8,mo)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),{class:"rte-editor__content",editor:a.value},null,8,["editor"]))],2)],8,["disabled"]))}}),po={class:"input-color"},go={class:"base-input__color-swatch"},ho=["name","id","disabled","read-only","required","aria-label"],yo=e.defineComponent({__name:"input-color",props:{modelValue:{type:[String,Number,Boolean,Date],default:""},type:{type:String,default:"text"},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},maxlength:{type:Number},pattern:{type:String,default:null}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.computed({get(){return n.modelValue},set(i){l("update:modelValue",i)}});return(i,a)=>(e.openBlock(),e.createElementBlock("div",po,[e.createVNode(Se,{modelValue:o.value,"onUpdate:modelValue":a[1]||(a[1]=r=>o.value=r),type:t.type==="color"?"text":t.type,id:t.id,name:t.name,placeholder:t.placeholder,pattern:t.pattern,label:t.label,disabled:t.disabled,"read-only":t.readOnly,required:t.required,maxlength:t.maxlength},{"input-append":e.withCtx(r=>[e.createElementVNode("span",go,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":a[0]||(a[0]=s=>o.value=s),type:"color",name:`${t.name}-color`,id:`${t.id}-color`,disabled:t.disabled,"read-only":t.readOnly,required:t.required,class:"form-control","aria-label":t.label},null,8,ho),[[e.vModelText,o.value]])])]),_:1},8,["modelValue","type","id","name","placeholder","pattern","label","disabled","read-only","required","maxlength"])]))}}),bo={class:"color-palette"},ko=["for"],wo=e.defineComponent({__name:"color-palette",props:{modelValue:{type:[String],default:""},colors:{type:Array,default:["#000000","#FFFFFF"]},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.computed({get(){return n.modelValue},set(i){l("update:modelValue",i)}});return(i,a)=>(e.openBlock(),e.createElementBlock("div",bo,[e.createVNode(Qe,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=r=>o.value=r),options:t.colors,name:t.name,id:t.id,label:t.label,disabled:t.disabled,required:t.required,class:"d-flex flex-wrap flex-row gap-2"},{"option-label":e.withCtx(r=>[e.createElementVNode("label",{for:`${t.id}-${r.index}`,class:"d-block rounded-circle",style:e.normalizeStyle({backgroundColor:r.option})},null,12,ko)]),_:1},8,["modelValue","options","name","id","label","disabled","required"])]))}}),Bo=["id"],Vo=["for","innerHTML"],Co={class:"dropdown"},Eo={class:"caption"},$o=["innerHTML"],So={class:"caption__text"},No={class:"d-block text-truncate"},vo={class:"dropdown-menu"},Mo={class:"form-check d-flex"},Do=["value","id","name","label","required","disabled"],Lo=["value","id","name","label","required","disabled"],Io=["for"],he=e.defineComponent({__name:"input-dropdown",props:{id:{type:String},name:{type:String,default:()=>`dropdown-${H()}`},label:{type:String},error:{type:String},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},modelValue:{type:null},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},showSelectionCount:{type:Boolean,default:!1},toggleCaption:{type:String},placeholder:{type:String,default:""},icon:{default:"chevron-down",type:String},variant:{type:String,default:""},color:{type:String,default:""},outlined:{type:Boolean,default:!1},exactMatch:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const{t:n}=tt.useI18n(),l=t,o=c,i=e.computed({get(){return l.multiple&&!l.modelValue?[]:l.modelValue},set(s){o("update:modelValue",s)}}),a=e.computed(()=>l.options&&l.options.map(s=>(s=typeof s=="string"?{text:s,value:s}:s,{...s,active:l.modelValue&&s.value&&(l.exactMatch?l.modelValue===s.value:l.multiple?l.modelValue.includes(s.value):l.modelValue===s.value)}))),r=e.computed(()=>{if(!l.modelValue)return l.placeholder||`${n("common.select")}`;if(l.multiple&&Array.isArray(l.modelValue)&&l.modelValue.length)return a.value.reduce((s,d)=>l.modelValue.includes(d.value)?`${s}${s?", ":""}${d.text}`:s,"");if(!l.multiple){const s=a.value.find(d=>typeof d.value=="object"&&d.value!==null?JSON.stringify(d.value)===JSON.stringify(l.modelValue):d.value===l.modelValue);return s?s.text:l.placeholder||`${n("common.select")}`}return l.placeholder||`${n("common.select")}`});return(s,d)=>(e.openBlock(),e.createElementBlock("div",{class:"input input-dropdown",id:`${t.id||t.name}`},[e.renderSlot(s.$slots,"label",{},()=>[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:`${t.id||t.name}--dropdown-toggle`,class:"input__label",innerHTML:`${t.label}${t.required?" *":""}`},null,8,Vo)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Co,[e.createVNode(ht,{id:`${t.id||t.name}--dropdown-toggle`,"data-bs-toggle":"dropdown",role:"button",type:"button",title:r.value,class:"btn dropdown-toggle",color:t.color,outlined:t.outlined,disabled:t.disabled},{default:e.withCtx(()=>[e.createElementVNode("span",Eo,[e.createVNode(e.Transition,{name:"bounce"},{default:e.withCtx(()=>[t.showSelectionCount&&t.modelValue.length?(e.openBlock(),e.createElementBlock("i",{key:0,class:"caption__count",innerHTML:t.modelValue.length},null,8,$o)):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("span",So,[e.createElementVNode("span",No,e.toDisplayString(t.toggleCaption||r.value),1)])])]),_:1},8,["id","title","color","outlined","disabled"]),e.createElementVNode("ul",vo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(u,A)=>(e.openBlock(),e.createElementBlock("li",{key:`${u.value}-${A}`},[e.createElementVNode("div",{class:e.normalizeClass(["dropdown-item",u.active&&"active"])},[e.createElementVNode("div",Mo,[t.multiple?e.withDirectives((e.openBlock(),e.createElementBlock("input",{type:"checkbox","onUpdate:modelValue":d[0]||(d[0]=m=>i.value=m),value:u.value,key:`${t.name}-${u.value}-${A}__if`,id:`${t.name}-${u.value}-${A}`,name:t.name,label:u.text,required:t.required,disabled:u.selectable===!1,class:"form-check-input"},null,8,Do)),[[e.vModelCheckbox,i.value]]):e.withDirectives((e.openBlock(),e.createElementBlock("input",{type:"radio","onUpdate:modelValue":d[1]||(d[1]=m=>i.value=m),value:u.value,key:`${t.name}-${u.value}-${A}__else`,id:`${t.name}-${u.value}-${A}`,name:t.name,label:u.text,required:t.required,disabled:u.selectable===!1,class:"form-check-input visually-hidden"},null,8,Lo)),[[e.vModelRadio,i.value]]),e.createElementVNode("label",{class:"form-check-label flex-grow-1",onclick:"event.stopPropagation",for:`${t.name}-${u.value}-${A}`},e.toDisplayString(u.text),9,Io)])],2)]))),128))])])],8,Bo))}}),To={key:0,class:"auto-suggest__suggestions position-relative"},Po={class:"suggestions dropdown-menu show w-100 mt-2"},xo=["onClick"],zo=["innerHTML"],wt=e.defineComponent({__name:"auto-suggest",props:{modelValue:{type:String},id:{type:String},name:{type:String},label:{type:String},error:{type:String},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},options:{type:Array,default:[]},placeholder:{type:String,default:""},color:{type:String,default:""},outlined:{type:Boolean,default:!1},selection:{type:String}},emits:["update:modelValue","update:selection"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(),i=e.ref(!1),a=e.computed({get(){return n.modelValue},set(p){l("update:modelValue",p)}}),r=e.computed(()=>{const p=new RegExp(`(${a.value})`,"i");return a.value?n.options.filter(y=>p.test(y)):n.options}),s=e.computed(()=>{const p=new RegExp(`(${a.value})`,"i");return r.value.map(y=>{const h=y.replace(p,"<strong>$1</strong>");return Z(h)})});e.watch(()=>n.options,(p,y)=>{p.length&&(i.value=!0)},{deep:!0});function d(){n.options.length&&(i.value=!0)}function u(p){i.value=!1;const y=r.value[p];l("update:modelValue",y),l("update:selection",y)}const A=e.ref();function m(p){const y=p.target;i.value&&y&&!o.value.contains(y)&&(i.value=!1)}return e.onBeforeMount(()=>{A.value=document.addEventListener("click",m)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",A.value)}),(p,y)=>(e.openBlock(),e.createElementBlock("div",{class:"auto-suggest",ref_key:"container",ref:o},[e.createElementVNode("div",{class:"auto-suggest__input",onFocusCapture:d},[e.renderSlot(p.$slots,"default",{},()=>[e.createVNode(Se,e.mergeProps({modelValue:a.value,"onUpdate:modelValue":y[0]||(y[0]=h=>a.value=h)},p.$props),null,16,["modelValue"])])],32),i.value&&r.value.length?(e.openBlock(),e.createElementBlock("div",To,[e.createElementVNode("ul",Po,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(h,w)=>(e.openBlock(),e.createElementBlock("li",{key:h,class:"suggestions__item dropdown-item",onClick:e.withModifiers(f=>u(w),["prevent"])},[e.createElementVNode("p",{class:"text-truncate my-2",innerHTML:h},null,8,zo)],8,xo))),128))])])):e.createCommentVNode("",!0)],512))}});function Bt(t){const c=e.computed(()=>{if(!t.tintColor)return null;const a=t.tintColor.replace("#",""),r=parseInt(a.substring(0,2),16),s=parseInt(a.substring(2,4),16),d=parseInt(a.substring(4,6),16);return{r,g:s,b:d}});function n(a,r,s){if(t.filter==="none"&&!t.tintColor)return;const d=a.getImageData(0,0,r,s),u=d.data;if(t.filter==="grayscale")for(let A=0;A<u.length;A+=4){const m=.299*u[A]+.587*u[A+1]+.114*u[A+2];u[A]=m,u[A+1]=m,u[A+2]=m}else if(t.filter==="sepia")for(let A=0;A<u.length;A+=4){const m=u[A],p=u[A+1],y=u[A+2];u[A]=Math.min(255,.393*m+.769*p+.189*y),u[A+1]=Math.min(255,.349*m+.686*p+.168*y),u[A+2]=Math.min(255,.272*m+.534*p+.131*y)}if(t.tintColor&&c.value){const{r:A,g:m,b:p}=c.value,y=t.tintIntensity;for(let h=0;h<u.length;h+=4){const w=u[h],f=u[h+1],k=u[h+2],g=w*A/255,L=f*m/255,P=k*p/255;u[h]=w+(g-w)*y,u[h+1]=f+(L-f)*y,u[h+2]=k+(P-k)*y}}a.putImageData(d,0,0)}async function l(a){if(typeof a!="string")return a.complete&&a.naturalWidth>0||await new Promise((s,d)=>{a.onload=()=>s(),a.onerror=()=>d(new Error("Failed to load image element"))}),a;const r=new Image;return await new Promise((s,d)=>{r.onload=()=>s(),r.onerror=()=>d(new Error("Failed to load image source")),r.src=a}),r}async function o(a,r={}){const s=await l(a),d=document.createElement("canvas"),u=r.width||s.naturalWidth||s.width,A=r.height||s.naturalHeight||s.height;d.width=u,d.height=A;const m=d.getContext("2d");if(!m)throw new Error("Could not create canvas context");return m.drawImage(s,0,0,u,A),n(m,u,A),d.toDataURL(r.mimeType||"image/png",r.quality)}async function i(a,r={}){const s=await o(a,r);return(await fetch(s)).blob()}return{tintRgb:c,applyFilterToCanvas:n,applyFilterToImage:o,applyFilterToImageBlob:i}}const Fo={class:"zoom-slider"},Oo=["min","max","step","value"],Ro={class:"zoom-slider__ticks"},Ho={name:"ZoomSlider",inheritAttrs:!1},Uo=e.defineComponent({...Ho,props:{modelValue:{type:Number,default:1},min:{type:Number,default:1},max:{type:Number,default:2},step:{type:Number,default:.01},ticks:{type:Number,default:51}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.computed(()=>n.ticks),i=e.computed(()=>Math.round((n.ticks-1)/2)),a=e.computed(()=>Math.round((n.ticks-1)/10));function r(s){l("update:modelValue",parseFloat(s.target.value))}return(s,d)=>(e.openBlock(),e.createElementBlock("div",Fo,[e.createElementVNode("input",{type:"range",min:t.min,max:t.max,step:t.step,value:t.modelValue,onInput:r,"aria-label":"Zoom"},null,40,Oo),e.createElementVNode("div",Ro,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,u=>(e.openBlock(),e.createElementBlock("span",{key:u,class:e.normalizeClass(["zoom-slider__tick",{"zoom-slider__tick--major":(u-1)%i.value===0,"zoom-slider__tick--mid":(u-1)%a.value===0&&(u-1)%i.value!==0}])},null,2))),128))])]))}}),Qo="data:image/png;base64,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",Wo={class:"camera__preview"},jo={key:0,class:"camera__bg-notification"},qo=["innerHTML"],Go=["width","height"],Jo={key:1,class:"camera__countdown-overlay"},Yo=["innerHTML","data-countdown"],_o=["src"],Ko={key:3,class:"camera__zoom-slider"},Zo={class:"camera__controls"},Xo={class:"container"},ei={class:"row"},ti={class:"col"},ai={class:"btn-group"},ni={key:0},li={key:1},oi={key:0,class:"camera__select-device"},ii={class:"col"},ri={class:""},si={name:"BaseCamera",inheritAttrs:!1},Vt={"1x1":{width:720,height:720},"2x3":{width:720,height:1080},"3x2":{width:1080,height:720},"3x4":{width:720,height:960},"4x3":{width:960,height:720},"4x5":{width:960,height:1200},"5x4":{width:1200,height:960},"16x9":{width:1280,height:720},"9x16":{width:720,height:1280}},ci=e.defineComponent({...si,props:{modelValue:{type:null},enableSwitchCamera:{type:Boolean,default:!0},defaultRearCamera:{type:Boolean,default:!1},enableMirrorCamera:{type:Boolean,default:!1},enableGuide:{type:Boolean,default:!0},guideSrc:{type:String,default:()=>Qo},countdown:{type:Number,default:0},ratio:{type:String,default:""},filter:{type:String,default:"none",validator:t=>["none","grayscale","sepia"].includes(t)},tintColor:{type:String,default:""},tintIntensity:{type:Number,default:.3},enableAudio:{type:Boolean,default:!1},enableSelectDevice:{type:Boolean,default:!1},enableCropImage:{type:Boolean,default:!0},resolutions:{type:Object,default:()=>Vt},zoom:{type:Number,default:1},enableZoomSlider:{type:Boolean,default:!1},correctOrientation:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{expose:c,emit:n}){const l=t,o=n,i=e.ref(),a=e.ref(),r=e.ref(!1),s=e.ref([]),d=e.ref(),u=e.ref(),A=e.ref(),m=e.ref(!1),p=e.ref(!1),y=e.ref(0),h=e.ref(0),w=e.ref(),f=e.ref(l.zoom||1),k=e.ref(!1),g=e.ref(!1),L=e.ref(null),P=e.ref(!1);let z,C;const R=typeof window<"u"&&"DeviceMotionEvent"in window&&(window.matchMedia?.("(pointer: coarse)")?.matches||"ontouchstart"in window),E=e.computed(()=>l.correctOrientation&&R),x=e.computed(()=>r.value&&(!E.value||P.value));function O(){C&&(window.removeEventListener("pointerdown",C,!0),window.removeEventListener("touchend",C,!0),C=void 0)}function M(){P.value=!0,z&&(clearTimeout(z),z=void 0),O()}function v(){C||(C=()=>{$()},window.addEventListener("pointerdown",C,!0),window.addEventListener("touchend",C,!0))}function Q(B){const S=B.accelerationIncludingGravity;if(!S||S.x==null||S.y==null)return;const W=Math.round(Math.atan2(S.x,S.y)*180/Math.PI);if(L.value=W,!(typeof screen<"u"&&screen.orientation&&screen.orientation.type||"portrait-primary").startsWith("portrait"))g.value=!1;else{const ne=Math.abs(Math.abs(W)-90);!g.value&&ne<40?g.value=!0:g.value&&ne>50&&(g.value=!1)}P.value||M()}async function $(){if(!(!l.correctOrientation||k.value))try{const B=window.DeviceOrientationEvent,S=window.DeviceMotionEvent;if(B&&typeof B.requestPermission=="function"&&await B.requestPermission()!=="granted"){M();return}S&&typeof S.requestPermission=="function"&&await S.requestPermission().catch(()=>{}),window.addEventListener("devicemotion",Q,!0),k.value=!0,O()}catch(B){console.error(B,"enableMotion: failed"),M()}}const F=e.computed(()=>({...Vt,...l.resolutions})),T=e.computed(()=>Object.values(F.value)[0]);function q(B){return String(B||"").trim().toLowerCase().replace(/\s+/g,"").replace(/[:/]/g,"x")}const G=e.computed(()=>{if(F.value[l.ratio])return l.ratio;const B=q(l.ratio);if(F.value[B])return B}),oe=e.computed(()=>G.value?F.value[G.value]:T.value),Ie=e.computed(()=>{const B=G.value?F.value[G.value]:void 0;return B?`${B.width} / ${B.height}`:void 0}),ie=e.computed(()=>s.value.filter(B=>B.kind==="videoinput")),ve=e.computed(()=>s.value.filter(B=>B.kind==="audioinput")),J=e.ref([]),Y=e.computed(()=>ie.value.filter(B=>!J.value.includes(B.deviceId)));function ye(B){B&&!J.value.includes(B)&&(J.value=[...J.value,B])}function Ae(B){const S=ie.value;if(!S.length)return;const W=S.findIndex(_=>_.deviceId===B);for(let _=1;_<=S.length;_++){const ae=S[(Math.max(W,0)+_)%S.length];if(ae&&!J.value.includes(ae.deviceId))return ae}}const be=e.computed(()=>Y.value.map((B,S)=>({text:B.label.slice(0,B.label.indexOf("("))||`Camera ${S+1}`,value:B.deviceId}))),Te=e.computed({get(){return d.value&&d.value.deviceId},set(B){d.value=ie.value.find(S=>S.deviceId===B),A.value=void 0}});e.computed({get(){return u.value&&u.value.deviceId},set(B){u.value=ve.value.find(S=>S.deviceId===B)}});const re=e.computed(()=>{const B=d.value&&ie.value.findIndex(S=>S.deviceId===d.value?.deviceId);return l.enableMirrorCamera&&B===0?"mirror-cam":""}),je=e.computed(()=>{const B=d.value&&s.value.findIndex(S=>S.deviceId===d.value?.deviceId);return re.value?`${re.value} mirror-device-${B}`:""}),{tintRgb:qe,applyFilterToCanvas:Ge}=Bt(l);function ke(){if(G.value&&oe.value){y.value=oe.value.width,h.value=oe.value.height;return}y.value=i.value.parentElement&&i.value.parentElement.clientWidth,h.value=i.value.parentElement&&i.value.parentElement.clientHeight}const Je=at.debounce(()=>{ke()},300,{trailing:!0,leading:!1});function Pe(B){return new Promise(S=>setTimeout(S,B))}async function st(){const B=oe.value?{width:oe.value.width,height:oe.value.height}:void 0,S=B?Math.max(B.width,B.height):void 0,W=B?Math.min(B.width,B.height):void 0,_=l.enableAudio&&{...u.value?{deviceId:u.value.deviceId}:{}},ae=d.value&&d.value.deviceId,ne=A.value,j=[];ae?(S&&W&&j.push({deviceId:{exact:ae},width:{ideal:S},height:{ideal:W}}),j.push({deviceId:{exact:ae}})):ne?(S&&W&&j.push({facingMode:{exact:ne},width:{ideal:S},height:{ideal:W}}),j.push({facingMode:{exact:ne}}),S&&W&&j.push({width:{ideal:S},height:{ideal:W}}),j.push({})):(S&&W&&j.push({width:{ideal:S},height:{ideal:W}}),j.push({}));for(const K of j)for(let X=0;X<5;X++)try{return await navigator.mediaDevices.getUserMedia({audio:_,video:K})}catch($e){const pe=$e&&$e.name;if(pe==="NotReadableError"||pe==="AbortError"){await Pe(500);continue}break}}function fe(){i.value&&i.value.srcObject&&(i.value.srcObject.getTracks().forEach(S=>{S.stop()}),i.value.srcObject=null)}let se=0;const ct=350,At=8e3;let Ee,Me;function we(){Ee&&(clearTimeout(Ee),Ee=void 0),Me&&(Me(),Me=void 0)}function Ye(B){ye(B);const S=Ae(B);S&&S.deviceId!==B&&(d.value=S)}function b(B){we();const S=d.value&&d.value.deviceId,W=i.value;if(!S||!W)return;const _=W.srcObject&&W.srcObject.getVideoTracks?.()[0];if(!_||!(typeof _.addEventListener=="function")||W.videoWidth>0)return;const ne=()=>{if(we(),B!==se||!i.value)return;const X=Ae(S);X&&X.deviceId!==S&&(fe(),Ye(S))},j=()=>{B===se&&i.value&&i.value.videoWidth>0&&we()},K=()=>{ne()};_.addEventListener("unmute",j),_.addEventListener("ended",K),Me=()=>{_.removeEventListener("unmute",j),_.removeEventListener("ended",K)},Ee=setTimeout(()=>{Ee=void 0,!(B!==se||!i.value)&&(i.value.videoWidth===0?ne():we())},At)}const V=2;let I=0;async function U(){const B=++se;we();const S=!!(i.value&&i.value.srcObject);if(fe(),S&&(await Pe(ct),B!==se))return;const W=await st();if(B!==se){W?.getTracks?.().forEach(_=>_.stop());return}if(W&&i.value){I=0,i.value.srcObject=W,i.value.muted=!0;try{await i.value.play?.()}catch{}b(B)}else if(!W&&d.value){I<V&&(I++,await Pe(600),B===se&&await U());return}return s.value=await navigator.mediaDevices.enumerateDevices(),{stream:i.value&&i.value.srcObject,devices:s.value}}function Be(){m.value?(m.value=!1,p.value=!1,fe()):(m.value=!0,U())}function De(){d.value=void 0,A.value=A.value==="user"?"environment":"user",U()}async function _e(B,S){B&&(!S||B.deviceId!==S.deviceId)&&await U()}e.watch(()=>d.value,_e),e.watch(()=>u.value,_e);function xe(){l.countdown?(w.value=w.value?w.value-1:l.countdown,w.value?setTimeout(xe,1e3):Ze()):Ze()}c({onCapture:xe,enableMotion:$,camera:i.value,zoom:f});function Ke(){if(!l.correctOrientation||L.value==null)return 0;const B=((L.value-180)%360+360)%360;return(-1*(Math.round(B/90)*90%360)%360+360)%360}function dt(B,S,W,_,ae){const ne=a.value.width,j=a.value.height;B.translate(ne/2,j/2),re.value&&B.scale(-1,1),B.rotate(W*Math.PI/180);const K=j,X=ne,pe=Math.max(K/_,X/ae)*(f.value&&f.value>0?f.value:1),ze=_*pe,ge=ae*pe;B.drawImage(S,-ze/2,-ge/2,ze,ge)}function Ze(){p.value=!0;const B=a.value.getContext("2d"),S=i.value,W=S&&S.srcObject&&S.srcObject.getTracks(),{aspectRatio:_,width:ae,height:ne}=W.length&&W[0].getSettings(),j=S?.videoWidth||ae||y.value,K=S?.videoHeight||ne||h.value,X=j&&K?j/K:_,$e=oe.value||{width:j,height:K},pe=$e?.width||j,ze=G.value?$e?.height||K:Math.round(pe/X),ge=pe/ze;if(a.value.width=pe,a.value.height=ze,!j||!K||!X)return;const Xe=Ke();if(B.save(),Xe===90||Xe===270){dt(B,S,Xe,j,K),B.restore(),Ge(B,a.value.width,a.value.height),Rt(a.value.toDataURL("image/png"));return}if(Xe===180&&(B.translate(a.value.width,a.value.height),B.scale(-1,-1)),re.value&&(B.translate(a.value.width,0),B.scale(-1,1)),l.enableCropImage){let de=0,Ve=0,le=j,ue=K;if(X>ge?(le=K*ge,de=(j-le)/2):X<ge&&(ue=j/ge,Ve=(K-ue)/2),f.value&&f.value!==1){const Fe=le/f.value,Oe=ue/f.value;de+=(le-Fe)/2,Ve+=(ue-Oe)/2,le=Fe,ue=Oe}B.drawImage(S,de,Ve,le,ue,0,0,a.value.width,a.value.height)}else{let de=a.value.width,Ve=a.value.height,le=0,ue=0;if(X>ge?(Ve=a.value.width/X,ue=(a.value.height-Ve)/2):X<ge&&(de=a.value.height*X,le=(a.value.width-de)/2),f.value&&f.value!==1){const Fe=j/f.value,Oe=K/f.value,PA=(j-Fe)/2,xA=(K-Oe)/2;re.value&&(le=a.value.width-le-de),B.drawImage(S,PA,xA,Fe,Oe,le,ue,de,Ve)}else re.value&&(le=a.value.width-le-de),B.drawImage(S,0,0,j,K,le,ue,de,Ve)}B.restore(),Ge(B,a.value.width,a.value.height);const TA=a.value.toDataURL("image/png");Rt(TA)}function Rt(B){const S=Kt(B);o("update:modelValue",{name:`cam-pic-${new Date().toISOString()}`,id:`cam-pic-${new Date().toISOString()}`,blob:S,size:S.size})}return e.onMounted(async()=>{await U(),m.value=!0,A.value=l.defaultRearCamera?"environment":"user";const B=l.defaultRearCamera&&ie.value.length>1?ie.value[ie.value.length-1]:ie.value[0];if(d.value=B,l.enableAudio&&(u.value=ve.value[0]),navigator.mediaDevices.addEventListener("devicechange",async S=>{await U()}),window.addEventListener("resize",Je),ke(),E.value){z=setTimeout(M,3e3);const S=window.DeviceOrientationEvent;S&&typeof S.requestPermission=="function"?v():$()}await e.nextTick(),r.value=!0}),e.onBeforeUnmount(()=>{m.value=!1,p.value=!1,we(),fe(),window.removeEventListener("resize",Je),window.removeEventListener("devicemotion",Q,!0),z&&clearTimeout(z),O()}),(B,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["camera",je.value])},[e.createElementVNode("div",Wo,[x.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",jo,[e.createVNode(He,{color:"#000"},{default:e.withCtx(()=>[e.createElementVNode("span",{class:e.normalizeClass("d-block text-center"),innerHTML:B.$t("camera.waitForCameraNotification")},null,8,qo)]),_:1})])),e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(["camera__video-wrapper",G.value?`aspect-ratio--${G.value}`:""]),style:e.normalizeStyle({aspectRatio:Ie.value||void 0,transform:f.value!==1?`scale(${f.value})`:void 0})},[e.createElementVNode("video",{ref_key:"camera",ref:i,class:"camera__video",style:e.normalizeStyle({filter:l.filter==="grayscale"?"grayscale(100%)":l.filter==="sepia"?"sepia(100%)":"none",transform:t.correctOrientation&&g.value?"rotate(180deg)":void 0}),autoplay:"",muted:"",playsinline:""},null,4),t.tintColor?(e.openBlock(),e.createElementBlock("div",{key:0,class:"camera__tint-overlay",style:e.normalizeStyle({backgroundColor:t.tintColor,opacity:t.tintIntensity,mixBlendMode:"multiply"})},null,4)):e.createCommentVNode("",!0)],6),[[e.vShow,x.value]]),e.withDirectives(e.createElementVNode("canvas",{ref_key:"canvas",ref:a,class:"camera__canvas",width:y.value,height:h.value},null,8,Go),[[e.vShow,p.value]]),w.value?(e.openBlock(),e.createElementBlock("div",Jo,[(e.openBlock(),e.createElementBlock("p",{class:"countdown",key:w.value,innerHTML:w.value,"data-countdown":w.value},null,8,Yo))])):e.createCommentVNode("",!0),t.enableGuide&&m.value&&x.value?(e.openBlock(),e.createElementBlock("img",{key:2,class:"camera__guide",src:t.guideSrc},null,8,_o)):e.createCommentVNode("",!0),t.enableZoomSlider?(e.openBlock(),e.createElementBlock("div",Ko,[e.createVNode(Uo,{modelValue:f.value,"onUpdate:modelValue":S[0]||(S[0]=W=>f.value=W)},null,8,["modelValue"])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Zo,[e.createElementVNode("div",Xo,[e.createElementVNode("div",ei,[e.createElementVNode("div",ti,[e.createElementVNode("div",ai,[e.createElementVNode("button",{type:"button",class:"camera__toggle btn btn-primary",onClick:Be},[m.value?(e.openBlock(),e.createElementBlock("span",li,e.toDisplayString(B.$t("common.pause")),1)):(e.openBlock(),e.createElementBlock("span",ni,e.toDisplayString(B.$t("common.play")),1))]),e.createElementVNode("button",{type:"button",class:"camera__capture btn btn-primary",onClick:xe},e.toDisplayString(B.$t("camera.capture")),1)])])])])]),(t.enableSwitchCamera||t.enableSelectDevice)&&Y.value&&Y.value.length>1?(e.openBlock(),e.createElementBlock("div",oi,[e.createElementVNode("div",ii,[t.enableSelectDevice?(e.openBlock(),e.createBlock(he,{key:0,modelValue:Te.value,"onUpdate:modelValue":S[1]||(S[1]=W=>Te.value=W),options:be.value,class:"w-100"},null,8,["modelValue","options"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",ri,[t.enableSwitchCamera?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn",onClick:e.withModifiers(De,["prevent"])},[e.createVNode(D,{symbol:"switch-camera"})])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)],2))}}),Ai={class:"base-map"},di={key:0,class:"base-map__label"},ui={key:0,class:"base-map__hint"},Ct=e.defineComponent({__name:"base-map",props:{label:{type:String,default:""},modelValue:{type:Object,default:null},center:{type:Object,default:()=>({lat:48.8566,lng:2.3522})},zoom:{type:Number,default:13},markers:{type:Array,default:()=>[]},routeCoordinates:{type:Array,default:()=>[]},routeColor:{type:String,default:"#2563eb"},routeWeight:{type:Number,default:5},selectionRadius:{type:Number,default:0},selectionRadiusCenter:{type:Object,default:null},selectionRadiusColor:{type:String,default:"#2563eb"},selectionRadiusFillColor:{type:String,default:"#60a5fa"},selectionRadiusFillOpacity:{type:Number,default:.14},selectionRadiusOpacity:{type:Number,default:.65},selectionRadiusStrokeWeight:{type:Number,default:2},userLocation:{type:Object,default:null},userLocationLabel:{type:String,default:"Your location"},selectedLocationLabel:{type:String,default:"Selected location"},height:{type:String,default:"20rem"},interactive:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},showSelectedMarker:{type:Boolean,default:!0},helperText:{type:String,default:""},mapStyle:{type:String,default:"streets"},tileLayerUrl:{type:String,default:""},tileLayerAttribution:{type:String,default:""}},emits:["update:modelValue","update:center","update:zoom","map-click","marker-click"],setup(t,{emit:c}){function n($,F){return F({className:"base-map__marker-wrapper",html:`<span class="base-map__marker-pin base-map__marker-pin--${$}"><span class="base-map__marker-core"></span></span>`,iconSize:[24,24],iconAnchor:[12,24],popupAnchor:[0,-20]})}const l={lat:48.8566,lng:2.3522},o={streets:{url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'},light:{url:"https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png",attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors © <a href="https://carto.com/attributions">CARTO</a>'},dark:{url:"https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png",attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors © <a href="https://carto.com/attributions">CARTO</a>'},minimal:{url:"https://{s}.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}{r}.png",attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors © <a href="https://carto.com/attributions">CARTO</a>'},popover:{url:"https://{s}.basemaps.cartocdn.com/rastertiles/voyager_nolabels/{z}/{x}/{y}{r}.png",attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors © <a href="https://carto.com/attributions">CARTO</a>'}},i=t,a=c,r=e.shallowRef(null),s=e.ref(null),d=e.ref(null),u=e.ref(i.zoom),A=e.ref(P(i.modelValue));e.onMounted(async()=>{if(typeof window>"u")return;const[$,F]=await Promise.all([import("@vue-leaflet/vue-leaflet"),import("leaflet")]),T=$.default??$,q=F.default??F;r.value=e.markRaw({LCircle:e.markRaw(T.LCircle),LMap:e.markRaw(T.LMap),LMarker:e.markRaw(T.LMarker),LPopup:e.markRaw(T.LPopup),LPolyline:e.markRaw(T.LPolyline),LTileLayer:e.markRaw(T.LTileLayer)}),s.value={list:n("list",q.divIcon),selected:n("selected",q.divIcon),search:n("search",q.divIcon),user:n("user",q.divIcon)}}),e.watch(()=>i.zoom,$=>{u.value=$}),e.watch(()=>i.modelValue,$=>{A.value=P($)}),e.watch(()=>i.center,$=>{const F=P($);F&&E(F)},{deep:!0}),e.watch(()=>[i.height,i.markers.length,i.routeCoordinates.length,i.center?.lat,i.center?.lng,i.modelValue?.lat,i.modelValue?.lng,i.userLocation?.lat,i.userLocation?.lng],()=>{R()},{flush:"post"});const m=e.computed(()=>P(i.userLocation)),p=e.computed(()=>P(i.selectionRadiusCenter)||A.value),y=e.computed(()=>{const $=(i.markers||[]).map(F=>{const T=P(F);return T?{...F,...T,type:F.type||(A.value&&C(F,A.value)?"selected":"list")}:null}).filter(F=>!!F);return i.showSelectedMarker&&A.value&&!$.some(F=>C(F,A.value))&&$.push({id:"selected-location",label:i.selectedLocationLabel,type:"search",...A.value}),$}),h=e.computed(()=>(i.routeCoordinates||[]).map($=>z($)).filter($=>!!$)),w=e.computed(()=>{const $=P(i.center)||A.value||P(i.markers[0])||l;return[$.lat,$.lng]}),f=e.computed(()=>{if(i.tileLayerUrl.trim())return i.tileLayerUrl;const $=i.mapStyle==="custom"?"streets":i.mapStyle;return o[$].url}),k=e.computed(()=>{if(i.tileLayerAttribution.trim())return i.tileLayerAttribution;const $=i.mapStyle==="custom"?"streets":i.mapStyle;return o[$].attribution});function g($="list"){if(s.value)return s.value[$]||s.value.list}function L($="list"){switch($){case"user":return 450;case"selected":return 350;case"search":return 250;default:return 150}}function P($){if(!$)return null;const F=Number($.lat),T=Number($.lng);return Number.isNaN(F)||Number.isNaN(T)?null:{lat:F,lng:T}}function z($){if(Array.isArray($)){const T=Number($[0]),q=Number($[1]);return Number.isFinite(T)&&Number.isFinite(q)?[T,q]:null}const F=P($);return F?[F.lat,F.lng]:null}function C($,F){const T=P($),q=P(F);return!T||!q?!1:Math.abs(T.lat-q.lat)<1e-6&&Math.abs(T.lng-q.lng)<1e-6}async function R(){await e.nextTick(),d.value?.invalidateSize()}function E($){d.value?.panTo([$.lat,$.lng])}function x($){d.value=$,E(P(i.center)||A.value||l),R()}function O($){u.value=$,a("update:zoom",$)}function M($){const F=P($);F&&(E(F),a("update:center",F))}function v($){if(!i.interactive||i.disabled)return;const F={lat:Number($.latlng.lat.toFixed(6)),lng:Number($.latlng.lng.toFixed(6))};A.value=F,E(F),a("update:modelValue",F),a("update:center",F),a("map-click",F)}function Q($){A.value={lat:Number($.lat),lng:Number($.lng)},E(A.value),a("update:modelValue",A.value),a("update:center",A.value),a("marker-click",$)}return($,F)=>(e.openBlock(),e.createElementBlock("div",Ai,[e.renderSlot($.$slots,"label",{},()=>[t.label?(e.openBlock(),e.createElementBlock("label",di,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:e.normalizeClass(["base-map__frame",{"base-map__frame--interactive":t.interactive&&!t.disabled,"base-map__frame--disabled":t.disabled}]),style:e.normalizeStyle({height:t.height}),"data-testid":"base-map"},[r.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value?.LMap),{key:0,class:"base-map__canvas","use-global-leaflet":!1,zoom:u.value,center:w.value,onReady:x,onClick:v,"onUpdate:zoom":O,"onUpdate:center":M},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.LTileLayer),{url:f.value,attribution:k.value,"layer-type":"base",name:"OpenStreetMap"},null,8,["url","attribution"])),h.value.length>1?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.LPolyline),{key:0,"lat-lngs":h.value,color:t.routeColor,weight:t.routeWeight},null,8,["lat-lngs","color","weight"])):e.createCommentVNode("",!0),p.value&&t.selectionRadius>0?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.LCircle),{key:1,"lat-lng":[p.value.lat,p.value.lng],radius:t.selectionRadius,color:t.selectionRadiusColor,"fill-color":t.selectionRadiusFillColor,"fill-opacity":t.selectionRadiusFillOpacity,opacity:t.selectionRadiusOpacity,weight:t.selectionRadiusStrokeWeight},null,8,["lat-lng","radius","color","fill-color","fill-opacity","opacity","weight"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(T,q)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.LMarker),{key:T.id??`${T.lat}-${T.lng}-${q}`,"lat-lng":[T.lat,T.lng],icon:g(T.type),"z-index-offset":L(T.type),onClick:G=>Q(T)},{default:e.withCtx(()=>[T.label?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.LPopup),{key:0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(T.label),1)]),_:2},1024)):e.createCommentVNode("",!0)]),_:2},1032,["lat-lng","icon","z-index-offset","onClick"]))),128)),m.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.LMarker),{key:`user-${m.value.lat}-${m.value.lng}`,"lat-lng":[m.value.lat,m.value.lng],icon:g("user"),"z-index-offset":L("user"),onClick:F[0]||(F[0]=T=>Q({id:"user-location",label:t.userLocationLabel,type:"user",...m.value}))},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.LPopup),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.userLocationLabel),1)]),_:1}))]),_:1},8,["lat-lng","icon","z-index-offset"])):e.createCommentVNode("",!0)]),_:1},40,["zoom","center"])):e.createCommentVNode("",!0)],6),t.interactive&&t.helperText?(e.openBlock(),e.createElementBlock("p",ui,e.toDisplayString(t.helperText),1)):e.createCommentVNode("",!0)]))}}),mi={class:"location-list","data-testid":"location-list"},fi={key:0,class:"location-list__label"},pi={key:1,class:"location-list__items"},gi=["data-testid","onClick"],hi={class:"location-list__title"},yi={key:0,class:"location-list__description"},bi={key:1,class:"location-list__distance"},ki={key:2,class:"location-list__empty"},Et=e.defineComponent({__name:"location-list",props:{modelValue:{type:null,default:null},locations:{type:Array,default:()=>[]},label:{type:String,default:""},titleKey:{type:String,default:"title"},descriptionKey:{type:String,default:"address"},emptyText:{type:String,default:"No locations found."},showDistance:{type:Boolean,default:!0}},emits:["update:modelValue","select"],setup(t,{emit:c}){const n=t,l=c;function o(A){return A?.[n.titleKey]||A?.label||A?.name||"Location"}function i(A){return A?.[n.descriptionKey]||A?.description||A?.subtitle||""}function a(A,m=0){return A?typeof A!="object"?A:A.id??A.value??o(A)??m:m}function r(A,m=0){return`${a(A,m)}`.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function s(A,m=0){return a(n.modelValue)===a(A,m)}function d(A){return Number.isFinite(A)?A>=1e3?`${(A/1e3).toFixed(1)} km`:`${Math.round(A)} m`:"—"}function u(A){l("update:modelValue",A),l("select",A)}return(A,m)=>(e.openBlock(),e.createElementBlock("div",mi,[t.label?(e.openBlock(),e.createElementBlock("p",fi,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),t.locations.length?(e.openBlock(),e.createElementBlock("div",pi,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.locations,(p,y)=>(e.openBlock(),e.createElementBlock("button",{key:a(p,y),type:"button",class:e.normalizeClass(["location-list__item",{"location-list__item--active":s(p,y)}]),"data-testid":`location-option-${r(p,y)}`,onClick:h=>u(p)},[e.createElementVNode("strong",hi,e.toDisplayString(o(p)),1),i(p)?(e.openBlock(),e.createElementBlock("small",yi,e.toDisplayString(i(p)),1)):e.createCommentVNode("",!0),t.showDistance&&p?.distance!==void 0&&p?.distance!==null?(e.openBlock(),e.createElementBlock("small",bi,e.toDisplayString(d(Number(p.distance)))+" away ",1)):e.createCommentVNode("",!0)],10,gi))),128))])):(e.openBlock(),e.createElementBlock("p",ki,e.toDisplayString(t.emptyText),1))]))}});function $t(t,c){const n=e.ref(!1),l=e.ref(0);function o(u){c.enabled()&&(u.preventDefault(),l.value++,n.value=!0)}function i(u){c.enabled()&&u.preventDefault()}function a(u){c.enabled()&&(u.preventDefault(),l.value=Math.max(0,l.value-1),l.value===0&&(n.value=!1))}function r(u){if(!c.enabled())return;u.preventDefault(),l.value=0,n.value=!1;const A=u.dataTransfer?Array.from(u.dataTransfer.files||[]):[];c.onDrop(A)}function s(){t.value?.addEventListener("dragenter",o),t.value?.addEventListener("dragover",i),t.value?.addEventListener("dragleave",a),t.value?.addEventListener("drop",r)}function d(){t.value?.removeEventListener("dragenter",o),t.value?.removeEventListener("dragover",i),t.value?.removeEventListener("dragleave",a),t.value?.removeEventListener("drop",r)}return e.onMounted(s),e.onBeforeUnmount(d),{isDragging:n}}function St(t){const c=e.ref(!1);async function n(l){const o=new FormData;o.append("file",l),c.value=!0;try{const a=await(t.customFetch||Re.ofetch)(t.endpoint,{method:"POST",...t.customFetch?{}:{headers:{Accept:"application/json",...t.authToken?{Authorization:`Bearer ${t.authToken}`}:{}}},body:o});return`${t.baseResponsePath||"/api/v1/assets"}/${a.path}`}finally{c.value=!1}}return{pending:c,uploadFile:n}}function Nt(t){async function c(l){return e.unref(t)==="objectUrl"?URL.createObjectURL(l):await mt(l)}function n(l){l&&l.startsWith("blob:")&&URL.revokeObjectURL(l)}return{toLocalUrl:c,revoke:n}}const wi=["src"],Bi=["onClick"],Vi=["onClick"],Ci=["for"],Ei=["innerHTML"],$i={key:0,class:"file-upload__loading-spinner"},Ne=e.defineComponent({__name:"file-upload",props:{modelValue:{type:Array,default:[]},src:{type:String},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},pattern:{type:String,default:null},multiple:{type:Boolean,default:!1},accept:{type:String},maxFileSize:{type:Number,default:0},endpoint:{type:String,default:""},toDataUrl:{type:Boolean,default:!0},authToken:{type:String,default:""},customFetch:null,baseResponsePath:{type:String,default:"/api/v1/assets"},enablePreview:{type:Boolean,default:!0},previewWidth:{type:Number,default:0},dropFiles:{type:Boolean,default:!1},localUrlFormat:{type:String,default:"dataUrl"}},emits:["update:modelValue","update:src"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(),i=e.ref([]),a=e.ref([]),{pending:r,uploadFile:s}=St(n),{toLocalUrl:d,revoke:u}=Nt(e.toRef(n,"localUrlFormat")),{isDragging:A}=$t(o,{enabled:()=>n.dropFiles,onDrop:y=>{i.value=y}}),m=e.computed(()=>n.modelValue?.length?n.modelValue:n.src?[{type:"",src:n.src}]:a.value);function p(y){const h=typeof y=="string"?parseInt(y,10):y,w=Array.isArray(n.modelValue)&&n.modelValue.length>0,f=Array.isArray(a.value)&&a.value.length>0;if(f&&h<a.value.length&&(u(a.value[h]?.src),a.value.splice(h,1)),w){const k=[...n.modelValue];h<k.length&&k.splice(h,1),l("update:modelValue",k),n.multiple||l("update:src",k[0]?.src||"")}else if(f){const k=n.multiple?a.value:a.value[0];l("update:modelValue",k),n.multiple||l("update:src",a.value[0]?.src||"")}else l("update:modelValue",n.multiple?[]:void 0),l("update:src","");i.value.splice(h,1)}return e.watch(()=>i.value,async y=>{const h=await Promise.all(y.map(async w=>({src:n.toDataUrl?await d(w):await s(w),type:w.type,name:w.name,size:w.size,lastModified:w.lastModified})));a.value=h},{deep:!0}),e.watch(()=>a.value,async y=>{const h=n.multiple?y:y[0];l("update:modelValue",h),n.multiple||l("update:src",y[0]&&y[0].src)},{deep:!0}),(y,h)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"root",ref:o,class:e.normalizeClass(["file-upload",{"has-dragging":t.dropFiles,"is-dragging":e.unref(A)}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(w,f)=>(e.openBlock(),e.createElementBlock("div",{key:w.src,class:e.normalizeClass(t.enablePreview?"file-upload__thumbnail":"file-upload__reset")},[e.renderSlot(y.$slots,"preview-item",{bind:{item:w,index:f},on:{removeFile:p}},()=>[t.enablePreview?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("img",{src:`${w.src}${t.previewWidth?`?width=${t.previewWidth}`:""}`,class:"img-thumbnail rounded"},null,8,wi),e.createElementVNode("button",{onClick:e.withModifiers(k=>p(f),["prevent"]),class:"btn btn--close"},[e.createVNode(D,{symbol:"x"})],8,Bi)],64)):(e.openBlock(),e.createElementBlock("button",{key:1,onClick:e.withModifiers(k=>p(f),["prevent"]),class:"btn btn--close btn-outline-contrast"},[e.createVNode(D,{symbol:"x"})],8,Vi))])],2))),128)),e.createVNode(ot,{modelValue:i.value,"onUpdate:modelValue":h[0]||(h[0]=w=>i.value=w),id:t.id,name:t.name,accept:t.accept,"max-file-size":t.maxFileSize,multiple:t.multiple,class:"d-none"},null,8,["modelValue","id","name","accept","max-file-size","multiple"]),e.renderSlot(y.$slots,"label",{},()=>[e.createElementVNode("label",{for:t.id,class:"file-upload__label"},[e.renderSlot(y.$slots,"button",{},()=>[e.createElementVNode("span",{class:"btn btn-outline-contrast",innerHTML:e.unref(Z)(t.label||y.$t("common.selectFile"))},null,8,Ei)]),e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.unref(r)?(e.openBlock(),e.createElementBlock("span",$i,[...h[1]||(h[1]=[e.createElementVNode("span",{class:"spinner-border",role:"status"},[e.createElementVNode("span",{class:"visually-hidden"},"Loading...")],-1)])])):e.createCommentVNode("",!0)]),_:1})],8,Ci)])],2))}}),Si={class:"container"},Ni={class:"row"},vi={key:0,class:"col-12"},Mi={class:"py-4 px-3 d-flex align-items-center border border-bottom-0"},Di=["innerHTML"],Li={class:"col-12"},Ii={key:0,class:"grid place-items-center text-center text-muted py-5 border border-bottom-0"},Ti={class:"m-0"},Pi={class:"preview-item border-bottom p-3"},xi={class:"d-flex gap-3"},zi={class:"col-2"},Fi={class:"col d-flex flex-column"},Oi={class:"file-meta text-muted small mb-2"},Ri={class:"fw-semibold"},Hi={key:0},Ui={key:1},Qi=["onUpdate:modelValue","id"],Wi=["innerHTML"],ji={class:"col-auto d-flex flex-column gap-2"},qi=["onClick"],Gi=["onClick"],Ji={class:"file-upload__label"},Yi={class:"d-flex align-items-end p-3"},_i=["for"],Ki=["innerHTML"],Zi=e.defineComponent({__name:"bulk-upload",props:{storeId:String,id:{type:String,default:()=>`bulk-upload-${Math.random().toString(36).substring(2,9)}`},modelValue:{type:Array,default:[]},disabled:{type:Boolean,default:!1},size:{type:Number,default:()=>120},messages:{type:null},hasHeader:{type:Boolean,default:!0},title:{type:String,default:""},hasBulkRemove:{type:Boolean,default:!0},hasCaptions:{type:Boolean,default:!0},editCaptions:{type:Boolean,default:!0},allowDuplicateFiles:{type:Boolean,default:!1},maxFiles:{type:Number,default:0}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=h=>`${h.name??""}|${h.size??0}|${h.lastModified??0}|${h.type??""}`,i=e.computed({get:()=>{const h=n.modelValue||[];return s.value=h.map(w=>w.caption||""),h.map(w=>({type:w.type,src:w.src,...w.name?{name:w.name}:{},...w.size?{size:w.size}:{},...w.lastModified?{lastModified:w.lastModified}:{}}))},set:h=>{const w=i.value||[],f=Array.isArray(h)?h:[],k=n.allowDuplicateFiles?f:f.filter(z=>{const C=o(z);return!w.some(R=>o(R)===C)}),g=n.maxFiles>0?Math.max(0,n.maxFiles-w.length):void 0,L=typeof g=="number"?k.slice(0,g):k;if(!n.allowDuplicateFiles&&f.length>0&&L.length===0)return;const P=L.length<=w.length&&L.every(z=>w.some(C=>C.src===z.src));y(P?L:[...w,...L])}}),a=e.ref(null),r=e.ref({}),s=e.ref({}),d=e.computed(()=>n.disabled||n.maxFiles>0&&i.value.length>=n.maxFiles);function u(h){const w=[...n.modelValue||[]];w.splice(h,1),l("update:modelValue",w)}async function A(h){r.value[h]=!r.value[h],r.value[h]||y(),await e.nextTick(),a.value?.querySelector(`#caption-${h}`)?.focus()}function m(h){if(h==null)return"";const w=["B","KB","MB","GB","TB"];let f=h,k=w.shift();for(;f>=1024&&w.length;)f/=1024,k=w.shift();return`${f.toFixed(1)} ${k}`}function p(h){return h?new Date(h).toLocaleDateString():""}function y(h){l("update:modelValue",(h||i.value).map((w,f)=>({...w,caption:s.value[f]||""})))}return(h,w)=>{const f=e.resolveComponent("svg-icon"),k=e.resolveComponent("base-image");return e.openBlock(),e.createElementBlock("div",{class:"bulk-upload",ref_key:"root",ref:a},[e.createElementVNode("div",Si,[e.createElementVNode("div",Ni,[t.hasHeader?(e.openBlock(),e.createElementBlock("div",vi,[e.createElementVNode("div",Mi,[e.createElementVNode("p",{class:"fw-bold m-0",innerHTML:e.unref(Z)(t.title||h.$t("fileInput.bulkUploadHeadline"))},null,8,Di),e.renderSlot(h.$slots,"bulk-remove",{},()=>[t.hasBulkRemove?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:w[0]||(w[0]=e.withModifiers(g=>i.value=[],["prevent"])),class:"btn btn--close ms-auto p-0"},[e.createVNode(f,{symbol:"x"})])):e.createCommentVNode("",!0)])])])):e.createCommentVNode("",!0),e.createElementVNode("div",Li,[i.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ii,[e.createElementVNode("p",Ti,e.toDisplayString(h.$t("fileInput.noFilesSelected")),1)])),e.createVNode(Ne,{id:`${t.id}-file-upload`,modelValue:i.value,"onUpdate:modelValue":w[2]||(w[2]=g=>i.value=g),multiple:!0,accept:"image/*","drop-files":!0,"to-data-url":!0,"local-url-format":"objectUrl",class:"d-flex flex-column border"},{"preview-item":e.withCtx(({bind:{item:g,index:L}})=>[e.createElementVNode("div",Pi,[e.createElementVNode("div",xi,[e.createElementVNode("div",zi,[e.createVNode(k,{src:g.src,alt:"",class:"img-thumbnail"},null,8,["src"])]),e.createElementVNode("div",Fi,[e.createElementVNode("div",Oi,[e.createElementVNode("div",Ri,e.toDisplayString(g.name||h.$t("fileInput.unknownFile")),1),e.createElementVNode("div",null,[g.size?(e.openBlock(),e.createElementBlock("span",Hi,e.toDisplayString(m(g.size)),1)):e.createCommentVNode("",!0),g.lastModified?(e.openBlock(),e.createElementBlock("span",Ui," · "+e.toDisplayString(p(g.lastModified)),1)):e.createCommentVNode("",!0)])]),t.hasCaptions?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[r.value[L]&&t.editCaptions?e.withDirectives((e.openBlock(),e.createElementBlock("textarea",{key:0,"onUpdate:modelValue":P=>s.value[L]=P,id:`caption-${L}`,class:"form-control rounded-0 h-100",onChangeCapture:w[1]||(w[1]=P=>y())},null,40,Qi)),[[e.vModelText,s.value[L]]]):(e.openBlock(),e.createElementBlock("p",{key:1,class:"m-0",innerHTML:s.value[L]||`<small>${h.$t("fileInput.noCaption")}</small>`},null,8,Wi))],64)):e.createCommentVNode("",!0)]),e.createElementVNode("div",ji,[e.createElementVNode("button",{onClick:e.withModifiers(P=>u(L),["prevent"]),class:"btn btn--close"},[e.createVNode(f,{symbol:"x"})],8,qi),t.editCaptions?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:e.withModifiers(P=>A(L),["prevent"]),class:"btn btn--close"},[e.createVNode(f,{symbol:r.value[L]?"check":"edit-3"},null,8,["symbol"])],8,Gi)):e.createCommentVNode("",!0)])])])]),label:e.withCtx(()=>[e.renderSlot(h.$slots,"button",{},()=>[e.createElementVNode("span",Ji,[e.createElementVNode("span",Yi,[e.createElementVNode("label",{for:`${t.id}-file-upload`,class:e.normalizeClass(["btn btn-primary btn-sm ms-auto d-flex align-items-center gap-2",{disabled:d.value}])},[e.createVNode(f,{symbol:"upload",size:"small"}),e.createElementVNode("span",{innerHTML:h.$t("common.selectFile")},null,8,Ki)],10,_i)])])])]),_:3},8,["id","modelValue"])])])])],512)}}}),Xi=["onDragenter","onDragover","onDragleave","onDragend","onDrop","innerHTML"],er=["draggable","onDragstart","onDrag","onDragenter","onDragover","onDragleave","onDragend","onDrop"],tr={key:0,class:"sortable-list__drag-handle"},ar=["onDragstart","onDrag"],nr={key:0,class:"sortable-list__item"},it=e.defineComponent({__name:"sortable-list",props:{modelValue:{type:Array,default:()=>[]},config:{type:Object,default:null},messages:{type:Object,default:{}},vertical:{type:Boolean,default:!0},showDragHandle:{type:Boolean,default:!1},showPreview:{type:Boolean,default:!0}},emits:["update:modelValue","update:isDragging","update:dragIndex","update:dragOverIndex"],setup(t,{emit:c}){const n=t,l=e.ref(!1),o=e.ref(null),i=e.ref(null),a=c,r=e.computed({get(){return n.modelValue},set(g){a("update:modelValue",g)}}),s=e.ref("");function d(g){const L=g.currentTarget.closest(".sortable-list__item")??g.currentTarget;s.value=et.sanitize(L.outerHTML,{ALLOWED_TAGS:["b","i","em","strong","u","span","p","br","a","ul","ol","li","h1","h2","h3","h4","h5","h6","article","div","label","button","svg","use"],ALLOWED_ATTR:["class","id","style","href","target","rel","title","type","aria-expanded","aria-controls","aria-labelledby","data-countdown"],ALLOW_DATA_ATTR:!0})}const u=e.useSlots(),A=e.computed(()=>u["list-append"]);function m(g,L){g.dataTransfer&&(d(g),g.dataTransfer.dropEffect="move",g.dataTransfer.effectAllowed="move",g.dataTransfer.setData("index",L.toLocaleString()),l.value=!0,o.value=L)}function p(g,L){l.value=!1,o.value=null,i.value=null,s.value=""}function y(g,L){}function h(g,L){i.value=o.value!==L?L:null}function w(g,L){i.value=o.value!==L?L:null}function f(g,L){}function k(g,L){if(g.dataTransfer){g.preventDefault();const P=Number(g.dataTransfer.getData("index")),z=L,C=[...r.value];(z||z===0)&&(P||P===0)&&C.splice(z,0,C.splice(P,1)[0]),r.value=C}}return e.watch(()=>l.value,g=>{a("update:isDragging",g)},{immediate:!0}),e.watch(()=>o.value,g=>{a("update:dragIndex",g)},{immediate:!0}),e.watch(()=>i.value,g=>{a("update:dragOverIndex",g)},{immediate:!0}),(g,L)=>(e.openBlock(),e.createBlock(e.TransitionGroup,{name:"list",tag:"ul",class:e.normalizeClass(["sortable-list p-0 d-flex gap-2",{"flex-column":t.vertical,"flex-row flex-wrap":!t.vertical}]),onDragover:L[0]||(L[0]=e.withModifiers(()=>{},["prevent"])),onDragenter:L[1]||(L[1]=e.withModifiers(()=>{},["prevent"]))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(P,z)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:z},[t.showPreview&&l.value&&i.value===z?(e.openBlock(),e.createElementBlock("li",{key:0,class:"sortable-list__item is-drop-target",onDragenter:C=>h(C,z),onDragover:C=>w(C,z),onDragleave:C=>void 0,onDragend:C=>p(),onDrop:C=>k(C,z),innerHTML:s.value},null,40,Xi)):e.createCommentVNode("",!0),e.createElementVNode("li",{class:e.normalizeClass(["sortable-list__item d-flex",{"is-drag-item":l.value&&o.value===z,"is-drop-target":l.value&&i.value===z&&!t.showPreview,"align-items-center gap-2":t.vertical}]),draggable:!t.showDragHandle,onDragstart:C=>m(C,z),onDrag:C=>void 0,onDragenter:C=>h(C,z),onDragover:C=>w(C,z),onDragleave:C=>void 0,onDragend:C=>p(),onDrop:C=>k(C,z)},[t.showDragHandle?(e.openBlock(),e.createElementBlock("div",tr,[e.createElementVNode("button",{type:"button",class:"btn",draggable:"true",onDragstart:C=>m(C,z),onDrag:C=>void 0},[e.createVNode(D,{symbol:"drag"})],40,ar)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["sortable-list__item-content",{"flex-grow-1":t.vertical}])},[e.renderSlot(g.$slots,"list-item",{item:P,index:z},()=>[e.createTextVNode(e.toDisplayString(P),1)])],2)],42,er)],64))),128)),A.value?(e.openBlock(),e.createElementBlock("li",nr,[e.renderSlot(g.$slots,"list-append")])):e.createCommentVNode("",!0)]),_:3},8,["class"]))}}),lr={key:0,class:"image-editor position-relative"},or={class:"row mb-3"},ir={class:"col"},rr={class:"row gap-2 mb-4"},sr={class:"col-12"},cr={class:"input mb-2"},Ar={class:"col"},dr={class:"input mb-0"},ur={class:"col"},mr={class:"input mb-0"},fr={class:"row"},pr={class:"col d-flex justify-content-end gap-2"},gr=["disabled"],vt=e.defineComponent({__name:"image-resize",props:{modelValue:{type:String,default:'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"/>',required:!0},spinner:{type:Boolean,default:!1},ready:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:c}){const n=c,l=e.useTemplateRef("image"),o=e.ref(1),i=e.ref(0),a=e.ref(0),r=e.ref(null),s=e.ref(0),d=e.ref(0);function u(){r.value&&(n("update:modelValue",r.value),o.value=1)}const A=()=>{if(!s.value||!d.value)return;i.value=Math.round(s.value*o.value);const p=d.value/s.value;a.value=Math.round(i.value*p);const y=l.value?.$el;if(!y)return;const h=y.querySelector("img");h&&(r.value=pt(h,i.value,a.value,"image/png"))},m=at.debounce(A,300);return e.watch(o,()=>{s.value&&(i.value=Math.round(s.value*o.value),m())}),e.watch(i,()=>{if(!s.value||i.value===0)return;const p=i.value/s.value;Math.abs(p-o.value)>1e-4&&(o.value=Number(p.toFixed(4)));const y=d.value/s.value;a.value=Math.round(i.value*y),m()}),e.watch(a,()=>{if(!d.value||a.value===0)return;const p=a.value/d.value;Math.abs(p-o.value)>1e-4&&(o.value=Number(p.toFixed(4)));const y=s.value/d.value;i.value=Math.round(a.value*y),m()}),e.onMounted(()=>{const p=l.value?.$el;if(!p)return;const y=p.querySelector("img");if(!y)return;const h=()=>{s.value=y.naturalWidth,d.value=y.naturalHeight,A()};y.complete?h():y.addEventListener("load",h)}),(p,y)=>t.modelValue?(e.openBlock(),e.createElementBlock("div",lr,[e.createElementVNode("div",or,[e.createElementVNode("div",ir,[e.createVNode(ce,{ref_key:"image",ref:l,class:"d-none",src:t.modelValue,animate:!1},null,8,["src"]),r.value?(e.openBlock(),e.createBlock(ce,{key:0,ref:"targetImage",class:"",src:r.value,animate:!1},null,8,["src"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",rr,[e.createElementVNode("div",sr,[e.createElementVNode("div",cr,[e.withDirectives(e.createElementVNode("input",{type:"range",class:"form-range",id:"scaleRange","onUpdate:modelValue":y[0]||(y[0]=h=>o.value=h),min:"0",max:"2",step:"0.0001"},null,512),[[e.vModelText,o.value]])])]),e.createElementVNode("div",Ar,[e.createElementVNode("div",dr,[e.createVNode(Se,{type:"number",class:"form-input mb-0",id:"targetWidth",modelValue:i.value,"onUpdate:modelValue":y[1]||(y[1]=h=>i.value=h)},null,8,["modelValue"])])]),y[3]||(y[3]=e.createElementVNode("div",{class:"col-auto d-flex align-items-center"},[e.createElementVNode("output",null,"×")],-1)),e.createElementVNode("div",ur,[e.createElementVNode("div",mr,[e.createVNode(Se,{type:"number",class:"form-input mb-0",id:"targetHeight",modelValue:a.value,"onUpdate:modelValue":y[2]||(y[2]=h=>a.value=h)},null,8,["modelValue"])])])]),e.createElementVNode("div",fr,[e.createElementVNode("div",pr,[e.renderSlot(p.$slots,"actions"),e.createElementVNode("button",{class:"btn btn-sm btn-primary",disabled:!r.value,onClick:e.withModifiers(u,["prevent","stop"])},e.toDisplayString(p.$t("common.apply")),9,gr)])])])):e.createCommentVNode("",!0)}}),hr={key:0,class:"image-crop"},yr={class:"row mb-4"},br={class:"col"},kr={class:"row"},wr={class:"col d-flex gap-2 justify-content-end gap-2"},Mt=e.defineComponent({__name:"image-crop",props:{modelValue:{type:String,default:'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"/>',required:!0},spinner:{type:Boolean,default:!1},ready:{type:Boolean,default:!1},aspectRatioOptions:{type:Array,default:()=>[{value:0,text:"Free"},{value:1,text:"1:1"},{value:4/3,text:"4:3"},{value:16/9,text:"16:9"},{value:3/4,text:"3:4"},{value:9/16,text:"9:16"}]},suggestedAspectRatio:Number},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.useTemplateRef("cropper"),i=e.ref(0);function a(){const{canvas:r}=o.value?.getResult(),s=r.toDataURL();l("update:modelValue",s)}return e.onBeforeMount(()=>{i.value=n.suggestedAspectRatio||0}),(r,s)=>t.modelValue?(e.openBlock(),e.createElementBlock("div",hr,[e.createElementVNode("div",yr,[e.createElementVNode("div",br,[e.createVNode(e.unref(Ht.Cropper),{ref:"cropper",class:"cropper",src:t.modelValue,"stencil-props":{...i.value!==0?{aspectRatio:i.value}:{}},"resize-image":!1},null,8,["src","stencil-props"])])]),s[1]||(s[1]=e.createElementVNode("hr",null,null,-1)),e.createElementVNode("div",kr,[e.createElementVNode("div",wr,[e.createVNode(he,{modelValue:i.value,"onUpdate:modelValue":s[0]||(s[0]=d=>i.value=d),options:t.aspectRatioOptions,class:"mb-0"},null,8,["modelValue","options"]),e.renderSlot(r.$slots,"actions"),e.createElementVNode("button",{class:"btn btn-sm btn-primary",onClick:e.withModifiers(a,["prevent","stop"])},e.toDisplayString(r.$t("common.apply")),1)])])])):e.createCommentVNode("",!0)}}),Br={key:0,class:"image-crop-resize position-relative"},Vr={class:"row"},Cr={class:"col"},Er={key:3,class:"alert alert-warning mt-4 small p-2"},$r={key:4},Sr={class:"row"},Nr={class:"col-12"},vr={class:"d-flex"},Mr={key:0,class:"d-flex gap-3"},Dr={class:"caption"},Lr={class:"caption"},Ir={key:1,class:"ms-auto"},Dt=e.defineComponent({__name:"image-crop-resize",props:{modelValue:{type:String,default:'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"/>',required:!0},spinner:{type:Boolean,default:!1},ready:{type:Boolean,default:!1},aspectRatio:Number},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(!1),i=e.ref(!1),a=e.computed({get:()=>n.modelValue,set:s=>l("update:modelValue",s)}),r=e.computed(()=>n.modelValue.startsWith("data:image/svg+xml"));return e.watch(()=>[o.value,a.value],(s,d)=>{s[0]&&s[0]===d[0]&&(o.value=!1)}),e.watch(()=>[i.value,a.value],(s,d)=>{s[0]&&s[0]===d[0]&&(i.value=!1)}),e.onMounted(()=>{}),(s,d)=>t.modelValue?(e.openBlock(),e.createElementBlock("div",Br,[e.createElementVNode("div",Vr,[e.createElementVNode("div",Cr,[o.value||i.value?o.value?(e.openBlock(),e.createBlock(vt,{key:1,modelValue:a.value,"onUpdate:modelValue":d[1]||(d[1]=u=>a.value=u)},{actions:e.withCtx(()=>[e.createElementVNode("button",{class:"btn btn-outline-ccontrast",onClick:d[0]||(d[0]=e.withModifiers(u=>o.value=!1,["prevent","stop"]))},e.toDisplayString(s.$t("common.cancel")),1)]),_:1},8,["modelValue"])):i.value?(e.openBlock(),e.createBlock(Mt,{key:2,modelValue:a.value,"onUpdate:modelValue":d[3]||(d[3]=u=>a.value=u),"suggested-aspect-ratio":t.aspectRatio},{actions:e.withCtx(()=>[e.createElementVNode("button",{class:"btn btn-sm btn-outline-ccontrast",onClick:d[2]||(d[2]=e.withModifiers(u=>i.value=!1,["prevent","stop"]))},e.toDisplayString(s.$t("common.cancel")),1)]),_:1},8,["modelValue","suggested-aspect-ratio"])):e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(ce,{key:0,ref:"targetImage",class:"",animate:!1,src:t.modelValue},null,8,["src"])),r.value?(e.openBlock(),e.createElementBlock("div",Er,e.toDisplayString(s.$t("common.svgWarning")),1)):e.createCommentVNode("",!0),!i.value&&!o.value?(e.openBlock(),e.createElementBlock("hr",$r)):e.createCommentVNode("",!0),e.createElementVNode("div",Sr,[e.createElementVNode("div",Nr,[e.createElementVNode("div",vr,[!i.value&&!o.value?(e.openBlock(),e.createElementBlock("div",Mr,[e.createElementVNode("button",{type:"button",class:"btn btn-light",onClick:d[4]||(d[4]=e.withModifiers(u=>i.value=!i.value,["prevent","stop"]))},[e.createVNode(D,{symbol:"crop"}),e.createElementVNode("span",Dr,e.toDisplayString(s.$t("common.crop")),1)]),e.createElementVNode("button",{type:"button",class:"btn btn-light",onClick:d[5]||(d[5]=e.withModifiers(u=>o.value=!o.value,["prevent","stop"]))},[e.createVNode(D,{symbol:"image-upscale"}),e.createElementVNode("span",Lr,e.toDisplayString(s.$t("common.resize")),1)])])):e.createCommentVNode("",!0),!i.value&&!o.value?(e.openBlock(),e.createElementBlock("div",Ir,[e.renderSlot(s.$slots,"submit")])):e.createCommentVNode("",!0)])])])])])])):e.createCommentVNode("",!0)}}),Tr={class:"modal-dialog__content d-flex flex-column"},Pr={class:"modal-dialog__header d-flex p-3 border-bottom"},xr={key:0,class:"modal-dialog__title",id:"exampleModalLabel"},zr={class:"modal-dialog__body"},Fr={key:0,class:"modal-dialog__footer d-flex p-3 border-top"},Lt=e.defineComponent({__name:"modal-dialog",props:{modelValue:{type:Boolean,default:!1},modal:{type:Boolean,default:!0},size:{type:String,default:"md"},dismiss:{type:Boolean,default:!0},title:{type:String,default:""},footer:{type:Boolean,default:!0},classes:{type:String,default:""}},emits:["update:modelValue","confirm","cancel"],setup(t,{expose:c,emit:n}){const l=t,o=n,i=e.ref();function a(){document.documentElement.style.setProperty("--scroll-position",`${Math.round(document.documentElement.scrollTop)}px`),l.modal?i.value?.showModal():i.value?.show(),o("update:modelValue",!0)}function r(){const m=i.value&&new KeyframeEffect(i.value,[{translate:"0 -100%",opacity:"0"}],{duration:320,easing:"ease",direction:"normal"}),p=new Animation(m,document.timeline);p.play(),p.addEventListener("finish",()=>{i.value?.close(),s()}),o("update:modelValue",!1)}function s(){const m=getComputedStyle(document.documentElement).getPropertyValue("--scroll-position");document.documentElement.scrollTo({top:parseInt(m,10),behavior:"instant"}),o("update:modelValue",!1)}function d(m){a(),o("confirm",m)}function u(){r(),o("cancel")}function A(m){const p=m.target;p&&p.nodeName==="DIALOG"&&r()}return e.watch(()=>l.modelValue,(m,p)=>{m&&m!==p?a():p&&r()},{immediate:!0}),e.onMounted(()=>{i.value?.addEventListener("cancel",m=>{m.preventDefault(),r()}),l.dismiss&&document.addEventListener("click",A),l.modelValue&&a()}),e.onBeforeUnmount(()=>{l.dismiss&&document.removeEventListener("click",A)}),c({show:a,close:r,confirm:d,cancel:u}),(m,p)=>(e.openBlock(),e.createElementBlock("dialog",{ref_key:"dialog",ref:i,class:e.normalizeClass(["modal-dialog",{[`modal-dialog--${t.size}`]:t.size}]),onClose:s},[e.createElementVNode("div",Tr,[e.createElementVNode("div",Pr,[t.title?(e.openBlock(),e.createElementBlock("h5",xr,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:"btn-close ms-auto border-radius-none","aria-label":"Close",onClick:r})]),e.createElementVNode("div",zr,[e.renderSlot(m.$slots,"default")]),t.footer?(e.openBlock(),e.createElementBlock("div",Fr,[e.renderSlot(m.$slots,"footer"),e.createElementVNode("button",{type:"button",class:"btn ms-auto",onClick:r},e.toDisplayString(m.$t("common.close")),1)])):e.createCommentVNode("",!0)])],34))}}),Or={class:"image-upload__controls"},Rr={class:"d-flex gap-1 align-items-center"},Hr={key:1,class:"image-upload__controls"},Ur=["for"],Qr=["innerHTML"],Wr={key:0,class:"image-upload__loading-spinner"},Le=e.defineComponent({__name:"image-upload",props:{modelValue:{type:Object,default:void 0},src:{type:String},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},placeholder:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},pattern:{type:String,default:null},accept:{type:String,default:"image/*"},maxFileSize:{type:Number,default:0},endpoint:{type:String,default:""},toDataUrl:{type:Boolean,default:!0},authToken:{type:String,default:""},customFetch:null,baseResponsePath:{type:String,default:"/api/v1/assets"},enablePreview:{type:Boolean,default:!0},previewWidth:{type:Number,default:0},dropFiles:{type:Boolean,default:!1},enableReview:{type:Boolean,default:!0},maxImageWidth:{type:Number,default:4096},aspectRatio:Number,localUrlFormat:{type:String,default:"dataUrl"}},emits:["update:modelValue","update:src"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(),i=e.ref([]),a=e.ref(!1),r=e.ref(!1),s=e.ref(null),d=e.ref(null),u=e.ref(null);let A=!1;const{pending:m,uploadFile:p}=St(n),{toLocalUrl:y,revoke:h}=Nt(e.toRef(n,"localUrlFormat")),{isDragging:w}=$t(o,{enabled:()=>n.dropFiles,onDrop:C=>{i.value=C}}),f=e.computed(()=>n.modelValue?n.modelValue:n.src?{type:"",src:n.src}:s.value);function k(C){h(s.value?.src),s.value=C}function g(){k(null),i.value=[],a.value=!1,l("update:modelValue",void 0),l("update:src","")}function L(){g()}e.watch(()=>i.value,async C=>{if(!C||!C.length||!C[0])return;a.value=!1;const R=await ea(C[0],n.maxImageWidth);n.enableReview?(d.value={src:await y(R),type:R.type},A=!0,r.value=!0):k({src:n.toDataUrl?await y(R):await p(R),type:R.type})}),e.watch(()=>s.value,C=>{l("update:modelValue",C||void 0),l("update:src",C?.src||"")}),e.watch(()=>u.value,async C=>{if(C){try{k({src:n.toDataUrl?await y(C):await p(C),type:C.type})}catch(R){console.error(`Failed to process file "${C.name}"`,R)}u.value=null}}),e.watch(()=>r.value,(C,R)=>{!C&&R&&d.value&&(A&&h(d.value.src),A=!1,d.value=null,L())}),e.watch(()=>n.src,C=>{!C&&s.value&&L()});function P(C,R){A=!1,d.value={src:C,type:R},r.value=!0}async function z(){d.value&&(u.value=await ft(d.value.src,"file",d.value.type),A&&h(d.value.src)),A=!1,d.value=null,r.value=!1}return e.onBeforeUnmount(()=>{h(s.value?.src)}),(C,R)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"root",ref:o,class:e.normalizeClass(["image-upload",{"has-dragging":t.dropFiles,"is-dragging":e.unref(w)}])},[!r.value&&f.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["mb-2",t.enablePreview?"image-upload__thumbnail":"image-upload__reset"])},[t.enablePreview?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(ce,{src:`${f.value.src}${t.previewWidth?`?width=${t.previewWidth}`:""}`,class:"img-thumbnail rounded",ready:a.value,"onUpdate:ready":R[0]||(R[0]=E=>a.value=E),animate:!1,style:e.normalizeStyle({maxWidth:t.previewWidth?`${t.previewWidth}px`:"auto",height:"auto"})},null,8,["src","ready","style"]),e.createElementVNode("div",Or,[e.createElementVNode("div",Rr,[e.createElementVNode("button",{type:"button",onClick:R[1]||(R[1]=e.withModifiers(E=>P(f.value.src,f.value.type),["prevent","stop"])),class:"btn btn--edit btn-sm btn-light"},[e.createVNode(D,{symbol:"edit-2"})]),e.createElementVNode("button",{type:"button",onClick:R[2]||(R[2]=e.withModifiers(E=>g(),["prevent","stop"])),class:"btn btn--close btn-sm btn-light"},[e.createVNode(D,{symbol:"x"})])])])],64)):(e.openBlock(),e.createElementBlock("div",Hr,[e.createElementVNode("button",{onClick:R[3]||(R[3]=e.withModifiers(E=>g(),["prevent","stop"])),class:"btn btn--close btn-outline-contrast"},[e.createVNode(D,{symbol:"x"})])]))],2)):e.createCommentVNode("",!0),e.createVNode(ot,{modelValue:i.value,"onUpdate:modelValue":R[4]||(R[4]=E=>i.value=E),id:t.id,name:t.name,accept:t.accept,"max-file-size":t.maxFileSize,class:"d-none"},null,8,["modelValue","id","name","accept","max-file-size"]),t.src?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("label",{key:1,for:t.id,class:"image-upload__label"},[e.renderSlot(C.$slots,"button",{},()=>[e.createElementVNode("span",{class:"btn btn-outline-contrast",innerHTML:e.unref(Z)(t.label||C.$t("common.selectFile"))},null,8,Qr)]),e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.unref(m)?(e.openBlock(),e.createElementBlock("span",Wr,[...R[7]||(R[7]=[e.createElementVNode("span",{class:"spinner-border",role:"status"},[e.createElementVNode("span",{class:"visually-hidden"},"Loading...")],-1)])])):e.createCommentVNode("",!0)]),_:1})],8,Ur)),e.createVNode(Lt,{modelValue:r.value,"onUpdate:modelValue":R[6]||(R[6]=E=>r.value=E),footer:!1},{default:e.withCtx(()=>[r.value&&d.value?(e.openBlock(),e.createBlock(Dt,{key:0,modelValue:d.value.src,"onUpdate:modelValue":R[5]||(R[5]=E=>d.value.src=E),"aspect-ratio":t.aspectRatio},{submit:e.withCtx(()=>[e.createElementVNode("button",{class:"btn btn-primary",onClick:e.withModifiers(z,["prevent","stop"])},e.toDisplayString(C.$t("common.save")),1)]),_:1},8,["modelValue","aspect-ratio"])):e.createCommentVNode("",!0)]),_:1},8,["modelValue"])],2))}}),jr={class:"upload-group"},qr=["innerHTML"],Gr={class:"upload-group__list"},Jr={class:"img-container"},Yr=["src"],_r={class:"item-overlay"},Kr=["onClick"],Zr={role:"button",class:"img-thumbnail d-flex justify-content-center align-items-center"},Xr={role:"button",class:"img-thumbnail d-flex justify-content-center align-items-center"},It=e.defineComponent({__name:"upload-group",props:{modelValue:{type:Array,default:()=>[]},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},label:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},accept:{type:String},maxFileSize:{type:Number,default:0},endpoint:{type:String,default:""},authToken:{type:String,default:""},customFetch:null,baseResponsePath:{type:String,default:"/api/v1/assets"},previewWidth:{type:Number,default:0},useImageUpload:{type:Boolean,default:!1},maxImageWidth:{type:Number,default:0},aspectRatio:Number,localUrlFormat:{type:String,default:"dataUrl"}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(""),i=e.computed({get(){return n.modelValue},set(r){l("update:modelValue",r)}});function a(r){l("update:modelValue",[...n.modelValue.slice(0,r),...n.modelValue.slice(r+1)])}return e.watch(o,async(r,s)=>{r&&s!==r&&(l("update:modelValue",[...i.value,r]),await e.nextTick(),o.value="")}),(r,s)=>(e.openBlock(),e.createElementBlock("div",jr,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,innerHTML:e.unref(Z)(t.label)},null,8,qr)):e.createCommentVNode("",!0),e.createElementVNode("div",Gr,[e.createVNode(it,{modelValue:i.value,"onUpdate:modelValue":s[2]||(s[2]=d=>i.value=d),vertical:!1,class:"mb-3"},{"list-item":e.withCtx(({item:d,index:u})=>[e.createElementVNode("div",Jr,[e.createElementVNode("img",{src:`${d}${t.previewWidth?`?width=${t.previewWidth}`:""}`,class:"img-thumbnail"},null,8,Yr),e.createElementVNode("div",_r,[e.createElementVNode("button",{onClick:e.withModifiers(A=>a(u),["prevent"]),class:"btn btn--close"},[e.createVNode(D,{symbol:"x"})],8,Kr),e.renderSlot(r.$slots,"item-overlay",{item:d,index:u})])])]),"list-append":e.withCtx(()=>[t.useImageUpload?(e.openBlock(),e.createBlock(Le,{key:0,src:o.value,"onUpdate:src":s[0]||(s[0]=d=>o.value=d),endpoint:t.endpoint,"custom-fetch":t.customFetch,"to-data-url":!t.endpoint,"auth-token":t.authToken,disabled:t.disabled,"base-response-path":t.baseResponsePath,accept:t.accept,"max-file-size":t.maxFileSize,"max-image-width":t.maxImageWidth,"enable-preview":!1,"aspect-ratio":t.aspectRatio,"local-url-format":t.localUrlFormat},{button:e.withCtx(()=>[e.createElementVNode("span",Zr,[e.createVNode(D,{symbol:"plus"})])]),_:1},8,["src","endpoint","custom-fetch","to-data-url","auth-token","disabled","base-response-path","accept","max-file-size","max-image-width","aspect-ratio","local-url-format"])):(e.openBlock(),e.createBlock(Ne,{key:1,src:o.value,"onUpdate:src":s[1]||(s[1]=d=>o.value=d),multiple:!1,endpoint:t.endpoint,"custom-fetch":t.customFetch,"to-data-url":!t.endpoint,"auth-token":t.authToken,disabled:t.disabled,"base-response-path":t.baseResponsePath,accept:t.accept,"max-file-size":t.maxFileSize,"max-image-width":t.maxImageWidth,"local-url-format":t.localUrlFormat},{button:e.withCtx(()=>[e.createElementVNode("span",Xr,[e.createVNode(D,{symbol:"plus"})])]),_:1},8,["src","endpoint","custom-fetch","to-data-url","auth-token","disabled","base-response-path","accept","max-file-size","max-image-width","local-url-format"]))]),_:3},8,["modelValue"])])]))}}),es={class:"asset-uploader"},ts=["innerHTML"],as=e.defineComponent({__name:"asset-uploader",props:{modelValue:{type:Array,default:()=>[]},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},type:{type:String,default:""},label:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},accept:{type:String},maxFileSize:{type:Number,default:0},endpoint:{type:String,default:""},authToken:{type:String,default:""},customFetch:null,mediaTypeMap:{type:Object,default:()=>({svg:"Svg",png:"Image",jpg:"Image"})},baseResponsePath:{type:String,default:"/api/v1/assets"},previewWidth:{type:Number,default:0},useImageUpload:{type:Boolean,default:!1},maxImageWidth:{type:Number,default:0},aspectRatio:Number,showTypeDropdown:{type:Boolean,default:!1},typeOptions:{type:Array,default:()=>["background","overlay","object"]}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.computed({get(){return n.modelValue.map(a=>a.src)},set(a){l("update:modelValue",a.map((r,s)=>{const d=n.showTypeDropdown&&n.modelValue[s]?.type||n.type;return{mediaType:n.modelValue[s]&&n.modelValue[s].mediaType||r.includes("data:image")?r.includes("data:image/svg")?"Svg":"Image":n.mediaTypeMap[r.split(".")[1]],src:r,name:n.modelValue[s]&&n.modelValue[s].name||`${n.name}-${s}`,...d?{type:d}:{}}}))}});function i(a,r){l("update:modelValue",n.modelValue.map((s,d)=>d===a?{...s,type:r}:s))}return(a,r)=>(e.openBlock(),e.createElementBlock("div",es,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,innerHTML:e.unref(Z)(t.label)},null,8,ts)):e.createCommentVNode("",!0),e.createVNode(It,{modelValue:o.value,"onUpdate:modelValue":r[0]||(r[0]=s=>o.value=s),endpoint:t.endpoint,"custom-fetch":t.customFetch,"auth-token":t.authToken,disabled:t.disabled,"preview-width":t.previewWidth,"base-response-path":t.baseResponsePath,accept:t.accept,"max-file-size":t.maxFileSize,"use-image-upload":t.useImageUpload,"max-image-width":t.maxImageWidth,"aspect-ratio":t.aspectRatio},e.createSlots({_:2},[t.showTypeDropdown?{name:"item-overlay",fn:e.withCtx(({index:s})=>[e.createVNode(he,{name:`${t.name}-type-${s}`,options:t.typeOptions,"model-value":t.modelValue[s]?.type||null,placeholder:"type","onUpdate:modelValue":d=>i(s,d)},null,8,["name","options","model-value","onUpdate:modelValue"])]),key:"0"}:void 0]),1032,["modelValue","endpoint","custom-fetch","auth-token","disabled","preview-width","base-response-path","accept","max-file-size","use-image-upload","max-image-width","aspect-ratio"])]))}}),ns=["id","popover"],Ce=e.defineComponent({__name:"popover-dialog",props:{modelValue:{type:Boolean,default:!1},type:{type:String,default:"auto"},id:{type:String,default:()=>`popover-dialog-${Math.random().toString(36).substr(2,9)}`},title:{type:String,default:""},header:{type:Boolean,default:!1},footer:{type:Boolean,default:!1},classes:{type:String,default:""},hover:{type:Boolean,default:!1},hoverDelay:{type:Number,default:400},closeTimeout:{type:Number,default:0}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(),i=e.ref(),a=e.ref(!1),r=e.computed(()=>"ontouchstart"in window||navigator.maxTouchPoints>0);function s(){clearTimeout(i.value),n.hover&&o.value?.showPopover()}function d(){a.value=!0,clearTimeout(i.value),s()}function u(){a.value=!1,(n.hover||n.closeTimeout)&&(i.value=setTimeout(()=>{o.value?.hidePopover()},n.closeTimeout||n.hoverDelay))}e.watch(()=>n.modelValue,(m,p)=>{m&&!p?o.value?.matches(":popover-open")||o.value?.showPopover():!m&&p&&o.value?.matches(":popover-open")&&o.value?.hidePopover()});function A(m){m.newState==="open"?(n.closeTimeout&&!a.value&&(clearTimeout(i.value),i.value=setTimeout(()=>{a.value||o.value?.hidePopover()},n.closeTimeout)),n.modelValue||l("update:modelValue",!0)):m.newState==="closed"&&(a.value=!1,n.modelValue&&l("update:modelValue",!1))}return e.onMounted(()=>{if(o.value?.addEventListener("toggle",A),n.modelValue&&o.value?.showPopover(),!r.value){o.value?.addEventListener("mouseenter",d),o.value?.addEventListener("mouseleave",u);const m=document.querySelector(`[popovertarget="${n.id}"]`);m&&(m.addEventListener("mouseenter",d),m.addEventListener("mouseleave",u))}}),e.onBeforeUnmount(()=>{if(clearTimeout(i.value),o.value?.removeEventListener("toggle",A),!r.value){o.value?.removeEventListener("mouseenter",d),o.value?.removeEventListener("mouseleave",u);const m=document.querySelector(`[popovertarget="${n.id}"]`);m&&(m.removeEventListener("mouseenter",d),m.removeEventListener("mouseleave",u))}}),(m,p)=>(e.openBlock(),e.createElementBlock("span",{class:"popover-dialog",id:t.id,popover:t.type,ref_key:"popover",ref:o},[e.renderSlot(m.$slots,"default",{},()=>[p[0]||(p[0]=e.createTextVNode(" Popover content goes here. ",-1))])],8,ns))}}),ls={class:"preset-uploader"},os=["innerHTML"],is={class:"preset-uploader__list"},rs=["popovertarget"],ss=["src"],cs=["onClick"],As={class:"preset-uploader__popover p-2 d-flex gap-2 align-items-start"},ds=["popovertarget"],us=["src"],ms={class:"d-flex flex-column gap-2"},fs={role:"button",class:"btn btn-sm w-100 d-inline-flex align-items-center"},ps={role:"button",class:"btn btn-sm w-100 d-inline-flex align-items-center"},gs={key:1,class:"preset-group border border-2 rounded d-flex gap-1 p-1"},hs=["popovertarget"],ys=["src"],bs=["src"],ks=["onClick"],ws={class:"preset-uploader__popover p-2 d-flex gap-2 align-items-start"},Bs=["popovertarget"],Vs=["src"],Cs={class:"d-flex flex-column gap-2"},Es={role:"button",class:"img-thumbnail text-dark d-flex justify-content-center align-items-center"},$s={role:"button",class:"img-thumbnail text-dark d-flex justify-content-center align-items-center"},Ss={class:"preset-uploader__popover p-2 d-flex gap-2 align-items-start"},Ns=["onClick"],vs={role:"button",class:"img-thumbnail d-flex justify-content-center align-items-center"},Ms={role:"button",class:"img-thumbnail text-dark d-flex justify-content-center align-items-center"},Ds=e.defineComponent({__name:"preset-uploader",props:{modelValue:{type:Array,default:()=>[]},name:{type:String,default:()=>H()},id:{type:String,default:()=>H()},type:{type:String,default:""},label:{type:String,default:""},variant:{type:String,default:""},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},accept:{type:String},maxFileSize:{type:Number,default:0},endpoint:{type:String,default:""},authToken:{type:String,default:""},customFetch:null,mediaTypeMap:{type:Object,default:()=>({svg:"Svg",png:"Image",jpg:"Image",jpeg:"Image",webp:"Image",mp4:"Video",webm:"Video"})},baseResponsePath:{type:String,default:"/api/v1/assets"},previewWidth:{type:Number,default:0},useImageUpload:{type:Boolean,default:!1},maxImageWidth:{type:Number,default:0},aspectRatio:Number,showTypeDropdown:{type:Boolean,default:!1},typeOptions:{type:Array,default:()=>["background","overlay","object"]}},emits:["update:modelValue"],setup(t,{emit:c}){const n=t,l=c;function o(E){return E?.type==="preset"}function i(E){if(E.includes("data:image"))return E.includes("data:image/svg")?"Svg":"Image";const x=E.split(".").pop()?.split("?")[0]?.toLowerCase()??"";return n.mediaTypeMap[x]??""}const a=e.computed({get(){return n.modelValue},set(E){l("update:modelValue",E)}}),r=e.ref("");e.watch(r,async(E,x)=>{if(E&&x!==E){const O={src:E,name:`${n.name}-${n.modelValue.length}`,mediaType:i(E)};n.type&&n.typeOptions.includes(n.type)&&(O.type=n.type),l("update:modelValue",[...n.modelValue,O]),await e.nextTick(),r.value=""}});const s=e.reactive({}),d=e.reactive({}),u=e.reactive({}),A=e.reactive({}),m=e.reactive({}),p=e.reactive({}),y=e.reactive({});e.watch(m,E=>{for(const[x,O]of Object.entries(E))if(!O){const M=Number(x);delete s[M],delete d[M]}},{deep:!0}),e.watch(p,E=>{for(const[x,O]of Object.entries(E))if(!O){const M=Number(x);delete u[M],delete A[M]}},{deep:!0});function h(E,x){x&&(s[E]=x)}function w(E,x){x&&(u[E]=x,p[E]=!0)}function f(E){const x=[...n.modelValue];x.splice(E,1),l("update:modelValue",x)}function k(E,x){l("update:modelValue",n.modelValue.map((O,M)=>M===E?{...O,type:x}:O))}function g(E,x,O){const M=n.modelValue[E];l("update:modelValue",n.modelValue.map((v,Q)=>Q===E?{...v,items:{...v.items,[x]:{...M.items[x],type:O}}}:v))}function L(E,x){d[E]=x,P(E)}function P(E){const x=n.modelValue[E],O=x.type||n.type||"item",M=s[E],v=d[E],Q={type:"preset",items:{[O]:{src:x.src,thumbnail:x.src,type:O,mediaType:x.mediaType||i(x.src)},[v]:{src:M,thumbnail:M,type:v,mediaType:i(M)}}};delete s[E],delete d[E],m[E]=!1,l("update:modelValue",n.modelValue.map(($,F)=>F===E?Q:$))}function z(E,x){A[E]=x,C(E)}function C(E){const x=u[E],O=A[E],M=n.modelValue[E],v={...M,items:{...M.items,[O]:{src:x,thumbnail:x,type:O,mediaType:i(x)}}};delete u[E],delete A[E],p[E]=!1,l("update:modelValue",n.modelValue.map((Q,$)=>$===E?v:Q))}function R(E,x){const O=n.modelValue[E],M=Object.keys(O.items).filter(v=>v!==x);if(M.length<=1){const v=M[0],Q=v?O.items[v]:null;if(Q){const $={src:Q.src,name:`${n.name}-${E}`,type:Q.type,mediaType:Q.mediaType};l("update:modelValue",n.modelValue.map((F,T)=>T===E?$:F))}else f(E)}else{const v={...O.items};delete v[x],l("update:modelValue",n.modelValue.map((Q,$)=>$===E?{...O,items:v}:Q))}}return(E,x)=>(e.openBlock(),e.createElementBlock("div",ls,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,innerHTML:e.unref(Z)(t.label)},null,8,os)):e.createCommentVNode("",!0),e.createElementVNode("div",is,[e.createVNode(it,{modelValue:a.value,"onUpdate:modelValue":x[2]||(x[2]=O=>a.value=O),vertical:!1,class:"mb-3"},{"list-item":e.withCtx(({item:O,index:M})=>[o(O)?(e.openBlock(),e.createElementBlock("div",gs,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(O.items,(v,Q)=>(e.openBlock(),e.createElementBlock("div",{key:Q,class:"img-container",style:e.normalizeStyle(t.showTypeDropdown?{anchorName:`--${t.name}-si-${M}-${Q}`}:{})},[t.showTypeDropdown?(e.openBlock(),e.createElementBlock("button",{key:0,class:"img-trigger",popovertarget:`${t.name}-si-${M}-${Q}`},[e.createElementVNode("img",{src:v.thumbnail||v.src,class:"img-thumbnail border-0 p-0"},null,8,ys)],8,hs)):(e.openBlock(),e.createElementBlock("img",{key:1,src:v.thumbnail||v.src,class:"img-thumbnail border-0 p-0"},null,8,bs)),e.createElementVNode("button",{onClick:e.withModifiers($=>R(M,String(Q)),["prevent"]),class:"btn btn--close"},[e.createVNode(D,{symbol:"x"})],8,ks),t.showTypeDropdown?(e.openBlock(),e.createBlock(Ce,{key:2,id:`${t.name}-si-${M}-${Q}`,modelValue:y[`${M}-${Q}`],"onUpdate:modelValue":$=>y[`${M}-${Q}`]=$,class:"preset-uploader__item-popover",style:e.normalizeStyle({positionAnchor:`--${t.name}-si-${M}-${Q}`})},{default:e.withCtx(()=>[e.createElementVNode("div",ws,[e.createElementVNode("button",{class:"img-trigger",popovertarget:`${t.name}-si-${M}-${Q}`,popovertargetaction:"hide"},[e.createElementVNode("img",{src:v.thumbnail||v.src,class:"img-thumbnail"},null,8,Vs)],8,Bs),e.createElementVNode("div",Cs,[e.createVNode(he,{name:`${t.name}-si-type-${M}-${Q}`,options:t.typeOptions,"model-value":v.type||null,placeholder:"layer type","onUpdate:modelValue":$=>g(M,String(Q),$)},null,8,["name","options","model-value","onUpdate:modelValue"])])])]),_:2},1032,["id","modelValue","onUpdate:modelValue","style"])):e.createCommentVNode("",!0)],4))),128)),e.createElementVNode("div",{class:"img-container img-container--add",style:e.normalizeStyle({anchorName:`--${t.name}-ap-${M}`})},[t.useImageUpload?(e.openBlock(),e.createBlock(Le,{key:0,src:"",endpoint:t.endpoint,"custom-fetch":t.customFetch,"to-data-url":!t.endpoint,"auth-token":t.authToken,disabled:t.disabled,"base-response-path":t.baseResponsePath,accept:t.accept,"max-file-size":t.maxFileSize,"max-image-width":t.maxImageWidth,"enable-preview":!1,"aspect-ratio":t.aspectRatio,"onUpdate:src":v=>w(M,v)},{button:e.withCtx(()=>[e.createElementVNode("span",Es,[e.createVNode(D,{symbol:"plus"})])]),_:1},8,["endpoint","custom-fetch","to-data-url","auth-token","disabled","base-response-path","accept","max-file-size","max-image-width","aspect-ratio","onUpdate:src"])):(e.openBlock(),e.createBlock(Ne,{key:1,src:"",multiple:!1,endpoint:t.endpoint,"custom-fetch":t.customFetch,"to-data-url":!t.endpoint,"auth-token":t.authToken,disabled:t.disabled,"base-response-path":t.baseResponsePath,accept:t.accept,"max-file-size":t.maxFileSize,"onUpdate:src":v=>w(M,v)},{button:e.withCtx(()=>[e.createElementVNode("span",$s,[e.createVNode(D,{symbol:"plus"})])]),_:1},8,["endpoint","custom-fetch","to-data-url","auth-token","disabled","base-response-path","accept","max-file-size","onUpdate:src"])),e.createVNode(Ce,{id:`${t.name}-ap-${M}`,modelValue:p[M],"onUpdate:modelValue":v=>p[M]=v,class:"preset-uploader__anchor-popover",style:e.normalizeStyle({positionAnchor:`--${t.name}-ap-${M}`})},{default:e.withCtx(()=>[e.createElementVNode("div",Ss,[e.createVNode(he,{class:"mb-0",name:`${t.name}-add-type-${M}`,options:t.typeOptions,"model-value":A[M]||null,placeholder:"layer type","onUpdate:modelValue":v=>z(M,v)},null,8,["name","options","model-value","onUpdate:modelValue"])])]),_:2},1032,["id","modelValue","onUpdate:modelValue","style"])],4),e.createElementVNode("button",{onClick:e.withModifiers(v=>f(M),["prevent"]),class:"btn btn--close btn--close-preset"},[e.createVNode(D,{symbol:"x"})],8,Ns)])):(e.openBlock(),e.createElementBlock("div",{key:0,class:"img-container",style:e.normalizeStyle({anchorName:`--${t.name}-pp-${M}`})},[e.createElementVNode("button",{class:"img-trigger",popovertarget:`${t.name}-pp-${M}`},[e.createElementVNode("img",{src:O.thumbnail||O.src,class:"img-thumbnail"},null,8,ss)],8,rs),e.createElementVNode("button",{onClick:e.withModifiers(v=>f(M),["prevent"]),class:"btn btn--close"},[e.createVNode(D,{symbol:"x"})],8,cs),e.createVNode(Ce,{id:`${t.name}-pp-${M}`,modelValue:m[M],"onUpdate:modelValue":v=>m[M]=v,class:"preset-uploader__item-popover",style:e.normalizeStyle({positionAnchor:`--${t.name}-pp-${M}`})},{default:e.withCtx(()=>[e.createElementVNode("div",As,[e.createElementVNode("button",{class:"img-trigger",popovertarget:`${t.name}-pp-${M}`,popovertargetaction:"hide"},[e.createElementVNode("img",{src:O.thumbnail||O.src,class:"img-thumbnail"},null,8,us)],8,ds),e.createElementVNode("div",ms,[t.showTypeDropdown?(e.openBlock(),e.createBlock(he,{key:0,name:`${t.name}-type-${M}`,options:t.typeOptions,"model-value":O.type||null,placeholder:"item type","onUpdate:modelValue":v=>k(M,v)},null,8,["name","options","model-value","onUpdate:modelValue"])):e.createCommentVNode("",!0),s[M]?(e.openBlock(),e.createBlock(he,{key:2,name:`${t.name}-promote-type-${M}`,options:t.typeOptions,"model-value":d[M]||null,placeholder:"new layer type","onUpdate:modelValue":v=>L(M,v)},null,8,["name","options","model-value","onUpdate:modelValue"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[t.useImageUpload?(e.openBlock(),e.createBlock(Le,{key:0,src:"",endpoint:t.endpoint,"custom-fetch":t.customFetch,"to-data-url":!t.endpoint,"auth-token":t.authToken,disabled:t.disabled,"base-response-path":t.baseResponsePath,accept:t.accept,"max-file-size":t.maxFileSize,"max-image-width":t.maxImageWidth,"enable-preview":!1,"aspect-ratio":t.aspectRatio,"onUpdate:src":v=>h(M,v)},{button:e.withCtx(()=>[e.createElementVNode("span",fs,[e.createVNode(D,{symbol:"plus"}),x[3]||(x[3]=e.createTextVNode(" Add layer",-1))])]),_:1},8,["endpoint","custom-fetch","to-data-url","auth-token","disabled","base-response-path","accept","max-file-size","max-image-width","aspect-ratio","onUpdate:src"])):(e.openBlock(),e.createBlock(Ne,{key:1,src:"",multiple:!1,endpoint:t.endpoint,"custom-fetch":t.customFetch,"to-data-url":!t.endpoint,"auth-token":t.authToken,disabled:t.disabled,"base-response-path":t.baseResponsePath,accept:t.accept,"max-file-size":t.maxFileSize,"onUpdate:src":v=>h(M,v)},{button:e.withCtx(()=>[e.createElementVNode("span",ps,[e.createVNode(D,{symbol:"plus"}),x[4]||(x[4]=e.createTextVNode(" Add layer",-1))])]),_:1},8,["endpoint","custom-fetch","to-data-url","auth-token","disabled","base-response-path","accept","max-file-size","onUpdate:src"]))],64))])])]),_:2},1032,["id","modelValue","onUpdate:modelValue","style"])],4))]),"list-append":e.withCtx(()=>[t.useImageUpload?(e.openBlock(),e.createBlock(Le,{key:0,src:r.value,"onUpdate:src":x[0]||(x[0]=O=>r.value=O),endpoint:t.endpoint,"custom-fetch":t.customFetch,"to-data-url":!t.endpoint,"auth-token":t.authToken,disabled:t.disabled,"base-response-path":t.baseResponsePath,accept:t.accept,"max-file-size":t.maxFileSize,"max-image-width":t.maxImageWidth,"enable-preview":!1,"aspect-ratio":t.aspectRatio},{button:e.withCtx(()=>[e.createElementVNode("span",vs,[e.createVNode(D,{symbol:"plus"})])]),_:1},8,["src","endpoint","custom-fetch","to-data-url","auth-token","disabled","base-response-path","accept","max-file-size","max-image-width","aspect-ratio"])):(e.openBlock(),e.createBlock(Ne,{key:1,src:r.value,"onUpdate:src":x[1]||(x[1]=O=>r.value=O),multiple:!1,endpoint:t.endpoint,"custom-fetch":t.customFetch,"to-data-url":!t.endpoint,"auth-token":t.authToken,disabled:t.disabled,"base-response-path":t.baseResponsePath,accept:t.accept,"max-file-size":t.maxFileSize},{button:e.withCtx(()=>[e.createElementVNode("span",Ms,[e.createVNode(D,{symbol:"plus"})])]),_:1},8,["src","endpoint","custom-fetch","to-data-url","auth-token","disabled","base-response-path","accept","max-file-size"]))]),_:1},8,["modelValue"])])]))}}),Ls="https://router.project-osrm.org/route/v1";function Tt(){const t=e.ref([]),c=e.ref(null),n=e.ref(null),l=e.ref([]),o=e.ref(!1),i=e.ref(""),a=e.computed(()=>t.value.length>1);function r(){t.value=[],c.value=null,n.value=null,l.value=[],i.value=""}async function s(d,u,A={}){if(!d||!u)return r(),null;o.value=!0;const m=A.customFetch||Re.ofetch,p=(A.endpoint||Ls).replace(/\/$/,""),y=A.profile||"driving";try{const w=(await m(`${p}/${y}/${d.lng},${d.lat};${u.lng},${u.lat}`,{method:"GET",query:{alternatives:!1,overview:"full",steps:!0,geometries:"geojson"}}))?.routes?.[0];if(!w)throw new Error("No route available for these points.");return t.value=Array.isArray(w?.geometry?.coordinates)?w.geometry.coordinates.map(f=>[Number(f[1]),Number(f[0])]).filter(f=>Number.isFinite(f[0])&&Number.isFinite(f[1])):[],c.value=Number.isFinite(w?.distance)?Number(w.distance):null,n.value=Number.isFinite(w?.duration)?Number(w.duration):null,l.value=Array.isArray(w?.legs)?w.legs.flatMap(f=>Array.isArray(f?.steps)?f.steps.map(k=>Is(k)):[]):[],i.value="",w}catch(h){return r(),i.value=h?.message||"Unable to load directions right now.",null}finally{o.value=!1}}return{routeCoordinates:t,distanceMeters:c,durationSeconds:n,steps:l,pending:o,error:i,hasRoute:a,fetchRoute:s,clearRoute:r}}function Is(t){const c=`${t?.maneuver?.type||"continue"}`,n=t?.maneuver?.modifier?` ${t.maneuver.modifier}`:"",l=`${t?.name||""}`;return{instruction:`${Ts(c)}${n}${l?` on ${l}`:""}`.trim(),name:l,distance:Number.isFinite(t?.distance)?Number(t.distance):0,duration:Number.isFinite(t?.duration)?Number(t.duration):0}}function Ts(t){return t.charAt(0).toUpperCase()+t.slice(1)}const Ps="https://nominatim.openstreetmap.org/search",xs="https://nominatim.openstreetmap.org/reverse";function Pt(){const t=e.ref([]),c=e.ref(!1),n=e.ref("");function l(){t.value=[],n.value=""}async function o(a,r={}){if(!a.trim())return l(),[];c.value=!0;const s=r.customFetch||Re.ofetch;try{const d=await s(r.endpoint||Ps,{method:"GET",headers:{Accept:"application/json",...r.language?{"Accept-Language":r.language}:{}},query:{q:a,format:"jsonv2",addressdetails:1,limit:r.limit||5}});return t.value=Array.isArray(d)?d.map((u,A)=>xt(u,A,"geocoder")).filter(u=>!!u):[],n.value="",t.value}catch(d){return n.value=d?.message||"Unable to search locations right now.",t.value=[],[]}finally{c.value=!1}}async function i(a,r={}){c.value=!0;const s=r.customFetch||Re.ofetch;try{const d=await s(r.reverseEndpoint||xs,{method:"GET",headers:{Accept:"application/json",...r.language?{"Accept-Language":r.language}:{}},query:{lat:a.lat,lon:a.lng,format:"jsonv2",addressdetails:1}}),u=xt(d,0,"reverse-geocoder");return n.value="",u}catch(d){return n.value=d?.message||"Unable to resolve this location right now.",null}finally{c.value=!1}}return{results:t,pending:c,error:n,search:o,reverse:i,clearResults:l}}function xt(t,c,n){const l=Number(t?.lat),o=Number(t?.lon??t?.lng);if(!Number.isFinite(l)||!Number.isFinite(o))return null;const i=`${t?.display_name||t?.name||"Location"}`,a=`${t?.name||i.split(",")[0]||"Location"}`.trim();return{id:`${n==="reverse-geocoder"?"reverse":"geo"}-${t?.place_id??c}`,title:a,address:i,lat:l,lng:o,source:n,raw:t}}function zt(t={}){const c=e.ref(null),n=e.ref(""),l=e.ref(!1),o=e.ref(!1),i=typeof window<"u"&&typeof navigator<"u"&&"geolocation"in navigator,a={enableHighAccuracy:!0,timeout:1e4,maximumAge:1e4,...t};let r=null;function s(p){c.value={lat:Number(p.latitude),lng:Number(p.longitude),accuracy:Number.isFinite(p.accuracy)?Number(p.accuracy):null},l.value=!1,n.value=""}function d(p){n.value=typeof p=="string"?p:p instanceof Error?p.message:p.message||"Unable to retrieve your location.",l.value=!1}async function u(){return i?(l.value=!0,new Promise(p=>{navigator.geolocation.getCurrentPosition(({coords:y})=>{s(y),p(c.value)},y=>{d(y),p(null)},a)})):(d("Geolocation is not supported in this browser."),null)}function A(){if(!i){d("Geolocation is not supported in this browser.");return}r===null&&(l.value=!0,o.value=!0,r=navigator.geolocation.watchPosition(({coords:p})=>{s(p)},p=>{d(p),o.value=!1},a))}function m(){if(!i||r===null){o.value=!1,l.value=!1;return}navigator.geolocation.clearWatch(r),r=null,o.value=!1,l.value=!1}return e.onBeforeUnmount(()=>{m()}),{supported:i,position:e.computed(()=>c.value),accuracy:e.computed(()=>c.value?.accuracy??null),error:n,pending:l,isTracking:o,locate:u,startTracking:A,stopTracking:m}}const zs={class:"location-finder","data-testid":"location-finder"},Fs={class:"location-finder__actions"},Os=["disabled"],Rs={key:1,class:"location-finder__notice","data-testid":"location-finder-error"},Hs={class:"location-finder__map-panel"},Us=["aria-label"],Qs={class:"location-finder__legend-item"},Ws={class:"location-finder__legend-item"},js={class:"location-finder__legend-item"},qs={class:"location-finder__legend-item"},Gs={key:0,class:"location-finder__sidebar"},Js={key:1,class:"location-finder__summary","data-testid":"location-finder-directions"},Ys={class:"location-finder__summary-title"},_s={key:0,class:"location-finder__summary-copy"},Ks={class:"location-finder__summary-grid"},Zs={class:"location-finder__summary-label"},Xs={"data-testid":"location-finder-distance"},ec={class:"location-finder__summary-label"},tc={"data-testid":"location-finder-duration"},ac={key:0,class:"location-finder__steps"},nc={key:0},lc={key:2,class:"location-finder__summary-copy"},oc=e.defineComponent({__name:"location-finder",props:{modelValue:{type:Object,default:null},locations:{type:Array,default:()=>[]},center:{type:Object,default:null},distance:{type:Number,default:null},userLocation:{type:Object,default:null},messages:{type:Object,default:()=>({})},mapHeight:{type:String,default:"26rem"},searchLabel:{type:String,default:""},searchPlaceholder:{type:String,default:""},resultsLabel:{type:String,default:""},emptyText:{type:String,default:""},locateButtonLabel:{type:String,default:""},stopTrackingLabel:{type:String,default:""},mapHelperText:{type:String,default:""},enableGeocoding:{type:Boolean,default:!1},geocodingEndpoint:{type:String,default:"https://nominatim.openstreetmap.org/search"},reverseGeocodingEndpoint:{type:String,default:"https://nominatim.openstreetmap.org/reverse"},geocodingLimit:{type:Number,default:5},geocodingMinQueryLength:{type:Number,default:3},customGeocodingFetch:null,enableDirections:{type:Boolean,default:!1},directionsEndpoint:{type:String,default:"https://router.project-osrm.org/route/v1"},routeProfile:{type:String,default:"driving"},customDirectionsFetch:null,showDirectionsSummary:{type:Boolean,default:!0},showDirectionsSteps:{type:Boolean,default:!0},directionsTitle:{type:String,default:""},directionsEmptyText:{type:String,default:""},distanceLabel:{type:String,default:""},durationLabel:{type:String,default:""},routeColor:{type:String,default:"#2563eb"},routeWeight:{type:Number,default:5},selectionRadius:{type:Number,default:0},selectionRadiusColor:{type:String,default:"#2563eb"},selectionRadiusFillColor:{type:String,default:"#60a5fa"},mapStyle:{type:String,default:"streets"},tileLayerUrl:{type:String,default:""},tileLayerAttribution:{type:String,default:""},disabled:{type:Boolean,default:!1},interactive:{type:Boolean,default:!1},showSearch:{type:Boolean,default:!0},showLegend:{type:Boolean,default:!0},showSidebar:{type:Boolean,default:!0},showTrackButton:{type:Boolean,default:!0},trackUser:{type:Boolean,default:!0},autoLocate:{type:Boolean,default:!1}},emits:["update:modelValue","update:distance","select","search","track-user"],setup(t,{emit:c}){const n={lat:48.8566,lng:2.3522},l={searchLabel:"Search locations",searchPlaceholder:"Search by name or address",resultsLabel:"Locations",emptyText:"No locations found.",locateButtonLabel:"Use my location",stopTrackingLabel:"Stop tracking",mapHelperText:"Select a location from the list or use the map.",directionsTitle:"Directions",directionsEmptyText:"Select a destination and share your location to preview a route.",distanceLabel:"Distance",durationLabel:"ETA",loadingRoute:"Loading route…",legendAriaLabel:"Map marker types",legendLocations:"Locations",legendSelected:"Selected",legendSearchResult:"Search result",userLocationLabel:"Your location",pinnedLocationTitle:"Pinned location",selectedLocationLabel:"Selected location"},o=t,i=c,{t:a,te:r}=tt.useI18n({useScope:"global"}),s=zt(),d=Pt(),u=Tt(),A=e.ref(""),m=e.ref(be(ye(o.modelValue))),p=e.ref(be(ye(o.modelValue))?null:ye(o.modelValue)),y=e.ref(Y(o.modelValue)||Y(o.center)||Y(o.locations[0])||n),h=e.ref(!1),w=e.computed(()=>Y(o.userLocation)),f=e.computed(()=>s.position.value||w.value),k=e.computed(()=>Y(p.value)),g=e.computed(()=>Y(m.value)),L=e.computed(()=>f.value||k.value),P=e.computed(()=>!L.value||!g.value?null:Je(L.value,g.value)),z=e.computed(()=>Y(o.modelValue)||k.value||g.value),C=e.computed(()=>s.error.value||d.error.value||u.error.value||""),R=e.computed(()=>o.showSearch||o.trackUser&&o.showTrackButton),E=e.computed(()=>o.enableDirections&&o.showDirectionsSummary),x=e.computed(()=>o.showSidebar||E.value),O=e.computed(()=>Pe(u.distanceMeters.value)),M=e.computed(()=>st(u.durationSeconds.value)),v=e.computed(()=>({searchLabel:J("searchLabel",o.searchLabel),searchPlaceholder:J("searchPlaceholder",o.searchPlaceholder),resultsLabel:J("resultsLabel",o.resultsLabel),emptyText:J("emptyText",o.emptyText),locateButtonLabel:J("locateButtonLabel",o.locateButtonLabel),stopTrackingLabel:J("stopTrackingLabel",o.stopTrackingLabel),mapHelperText:J("mapHelperText",o.mapHelperText),directionsTitle:J("directionsTitle",o.directionsTitle),directionsEmptyText:J("directionsEmptyText",o.directionsEmptyText),distanceLabel:J("distanceLabel",o.distanceLabel),durationLabel:J("durationLabel",o.durationLabel),loadingRoute:J("loadingRoute"),legendAriaLabel:J("legendAriaLabel"),legendLocations:J("legendLocations"),legendSelected:J("legendSelected"),legendSearchResult:J("legendSearchResult"),userLocationLabel:J("userLocationLabel"),pinnedLocationTitle:J("pinnedLocationTitle"),selectedLocationLabel:J("selectedLocationLabel")})),Q=e.computed(()=>p.value?re(p.value):v.value.selectedLocationLabel),$=e.computed(()=>s.isTracking.value&&h.value?v.value.stopTrackingLabel:v.value.locateButtonLabel);e.watch(()=>o.modelValue,b=>{const V=ye(b),I=be(V);I?(m.value=I,p.value=null):V&&(p.value=V);const U=Y(b);U&&(y.value=U)},{immediate:!0}),e.watch(()=>o.center,b=>{const V=Y(b);V&&(y.value=V)},{deep:!0}),e.watch(f,b=>{b&&h.value&&(y.value=b)},{deep:!0}),e.watch(P,b=>{i("update:distance",b)},{immediate:!0}),e.watch(A,async b=>{if(i("search",b),!o.enableGeocoding){d.clearResults();return}const V=b.trim();if(V.length<o.geocodingMinQueryLength){d.clearResults();return}await d.search(V,{endpoint:o.geocodingEndpoint,customFetch:o.customGeocodingFetch,limit:o.geocodingLimit})}),e.watch(()=>({enabled:o.enableDirections,origin:f.value,destination:z.value,profile:o.routeProfile}),async({enabled:b,origin:V,destination:I,profile:U})=>{if(!b||!V||!I||ke(V,I)){u.clearRoute();return}await u.fetchRoute(V,I,{endpoint:o.directionsEndpoint,profile:U,customFetch:o.customDirectionsFetch})},{immediate:!0,deep:!0}),e.onMounted(async()=>{o.autoLocate&&o.trackUser&&await Ye()});const F=e.computed(()=>{const b=Te(A.value).trim();return b?o.locations.filter(V=>[re(V),je(V)].filter(Boolean).some(I=>Te(I).includes(b))):o.locations}),T=e.computed(()=>d.results.value.map(b=>({id:b.id,title:b.title,address:b.address,lat:b.lat,lng:b.lng,source:b.source}))),q=e.computed(()=>{if(!A.value.trim())return o.locations;const b=F.value;return b.length?b:o.locations}),G=e.computed(()=>q.value),oe=e.computed(()=>Ge(q.value,o.enableGeocoding?T.value:[])),Ie=e.computed(()=>Array.from(new Set(oe.value.map(b=>qe(b))))),ie=e.computed(()=>G.value.map(b=>{const V=Y(b);return V?{id:Ae(b),label:re(b),...V,type:g.value&&ke(V,g.value)?"selected":"list"}:null}).filter(b=>!!b)),ve=e.computed(()=>h.value&&f.value?f.value:y.value||z.value||f.value||Y(G.value[0])||n);function J(b,V){const I=o.messages?.[b];if(typeof I=="string"&&I.trim())return I;if(typeof V=="string"&&V.trim())return V;const U=`locationFinder.${String(b)}`;return r(U)?String(a(U)):l[b]}function Y(b){if(!b)return null;const V=Number(b.lat),I=Number(b.lng);return!Number.isFinite(V)||!Number.isFinite(I)?null:{lat:V,lng:I}}function ye(b){if(!b)return null;const V=Y(b);return V?{...b,...V}:null}function Ae(b){return b?typeof b!="object"?b:b.id??b.value??qe(b):null}function be(b){return b&&o.locations.find(V=>Ae(V)===Ae(b)||ke(Y(V),Y(b)))||null}function Te(b){return`${b??""}`.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase()}function re(b){return`${b.title||b.label||b.name||"Location"}`}function je(b){return`${b.address||b.description||b.subtitle||""}`}function qe(b){const V=re(b),I=je(b);return I?`${V} — ${I}`:V}function Ge(b,V){const I=[...b];return V.forEach(U=>{I.some(De=>Ae(De)===Ae(U)||ke(Y(De),Y(U)))||I.push(U)}),I}function ke(b,V){return!b||!V?!1:Math.abs(b.lat-V.lat)<1e-6&&Math.abs(b.lng-V.lng)<1e-6}function Je(b,V){const I=Ze=>Ze*(Math.PI/180),Be=I(V.lat-b.lat),De=I(V.lng-b.lng),_e=I(b.lat),xe=I(V.lat),Ke=Math.sin(Be/2)**2+Math.cos(_e)*Math.cos(xe)*Math.sin(De/2)**2,dt=2*Math.atan2(Math.sqrt(Ke),Math.sqrt(1-Ke));return Math.round(6371e3*dt)}function Pe(b){return b===null||!Number.isFinite(b)?"—":b>=1e3?`${(b/1e3).toFixed(1)} km`:`${Math.round(b)} m`}function st(b){if(b===null||!Number.isFinite(b))return"—";const V=Math.max(1,Math.round(b/60));if(V<60)return`${V} min`;const I=Math.floor(V/60),U=V%60;return U?`${I} h ${U} min`:`${I} h`}function fe(b){const V=ye(b),I=be(V);if(h.value=!1,!V){i("update:modelValue",null);return}m.value=I||V;const U=Y(V);U&&(y.value=U),i("update:modelValue",V),i("select",V)}function se(b){const V=ye(b),I=be(V);if(h.value=!1,!V){i("update:modelValue",null);return}I?(m.value=I,p.value=null):p.value=V;const U=Y(V);U&&(y.value=U),i("update:modelValue",V),i("select",V)}function ct(b){const V=oe.value.find(I=>qe(I)===b||re(I)===b);if(V){if(be(V)){fe(V),p.value=null;return}se(V)}}function At(b){fe(b)}function Ee(b){if(b.id==="user-location"&&f.value){y.value=f.value,h.value=!0,i("track-user",f.value);return}const V=G.value.find(I=>Ae(I)===b.id)||G.value.find(I=>{const U=Y(I);return U&&Math.abs(U.lat-b.lat)<1e-6&&Math.abs(U.lng-b.lng)<1e-6});if(V){fe(V);return}p.value&&(Ae(p.value)===b.id||ke(Y(p.value),{lat:b.lat,lng:b.lng}))&&se(p.value)}async function Me(b){if(y.value=b,h.value=!1,!o.interactive)return;const V=G.value.find(U=>{const Be=Y(U);return Be&&Math.abs(Be.lat-b.lat)<1e-6&&Math.abs(Be.lng-b.lng)<1e-6});if(V){fe(V);return}const I=await we(b,v.value.pinnedLocationTitle);se(I)}async function we(b,V){if(!o.enableGeocoding)return{id:`pin-${b.lat}-${b.lng}`,title:V,lat:b.lat,lng:b.lng};const I=await d.reverse(b,{reverseEndpoint:o.reverseGeocodingEndpoint,customFetch:o.customGeocodingFetch});return I?{id:I.id,title:I.title||V,address:I.address,lat:I.lat,lng:I.lng,source:I.source}:{id:`pin-${b.lat}-${b.lng}`,title:V,lat:b.lat,lng:b.lng}}async function Ye(){if(s.isTracking.value&&h.value){s.stopTracking(),h.value=!1;return}if(f.value){y.value=f.value,h.value=!0,i("track-user",f.value),!s.isTracking.value&&!w.value&&s.startTracking();return}const b=await s.locate();b&&(y.value=b,h.value=!0,i("track-user",b),s.startTracking())}return(b,V)=>(e.openBlock(),e.createElementBlock("div",zs,[R.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["location-finder__toolbar",{"location-finder__toolbar--actions-only":!o.showSearch}])},[o.showSearch?(e.openBlock(),e.createBlock(wt,{key:0,modelValue:A.value,"onUpdate:modelValue":V[0]||(V[0]=I=>A.value=I),class:"location-finder__search",label:v.value.searchLabel,placeholder:v.value.searchPlaceholder,options:Ie.value,disabled:t.disabled,"onUpdate:selection":ct},null,8,["modelValue","label","placeholder","options","disabled"])):e.createCommentVNode("",!0),e.createElementVNode("div",Fs,[t.trackUser&&o.showTrackButton?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"btn btn-outline-primary btn-sm location-finder__locate",disabled:t.disabled||e.unref(s).pending.value,"data-testid":"location-finder-locate",onClick:Ye},e.toDisplayString($.value),9,Os)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0),C.value?(e.openBlock(),e.createElementBlock("p",Rs,e.toDisplayString(C.value),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["location-finder__layout",{"location-finder__layout--with-summary":E.value,"location-finder__layout--full-width":!x.value}])},[e.createElementVNode("div",Hs,[e.createVNode(Ct,{class:"location-finder__map",center:ve.value,markers:ie.value,"model-value":k.value,"user-location":f.value,"user-location-label":v.value.userLocationLabel,"selected-location-label":Q.value,"route-coordinates":e.unref(u).routeCoordinates.value,"route-color":t.routeColor,"route-weight":t.routeWeight,"selection-radius":t.selectionRadius,"selection-radius-center":z.value,"selection-radius-color":t.selectionRadiusColor,"selection-radius-fill-color":t.selectionRadiusFillColor,"map-style":t.mapStyle,"tile-layer-url":t.tileLayerUrl,"tile-layer-attribution":t.tileLayerAttribution,height:t.mapHeight,interactive:t.interactive,disabled:t.disabled,"helper-text":v.value.mapHelperText,"onUpdate:modelValue":Me,onMarkerClick:Ee},null,8,["center","markers","model-value","user-location","user-location-label","selected-location-label","route-coordinates","route-color","route-weight","selection-radius","selection-radius-center","selection-radius-color","selection-radius-fill-color","map-style","tile-layer-url","tile-layer-attribution","height","interactive","disabled","helper-text"]),o.showLegend?(e.openBlock(),e.createElementBlock("div",{key:0,class:"location-finder__legend","data-testid":"location-finder-legend","aria-label":v.value.legendAriaLabel},[e.createElementVNode("span",Qs,[V[2]||(V[2]=e.createElementVNode("span",{class:"location-finder__legend-swatch location-finder__legend-swatch--list"},null,-1)),e.createTextVNode(" "+e.toDisplayString(v.value.legendLocations),1)]),e.createElementVNode("span",Ws,[V[3]||(V[3]=e.createElementVNode("span",{class:"location-finder__legend-swatch location-finder__legend-swatch--selected"},null,-1)),e.createTextVNode(" "+e.toDisplayString(v.value.legendSelected),1)]),e.createElementVNode("span",js,[V[4]||(V[4]=e.createElementVNode("span",{class:"location-finder__legend-swatch location-finder__legend-swatch--search"},null,-1)),e.createTextVNode(" "+e.toDisplayString(v.value.legendSearchResult),1)]),e.createElementVNode("span",qs,[V[5]||(V[5]=e.createElementVNode("span",{class:"location-finder__legend-swatch location-finder__legend-swatch--user"},null,-1)),e.createTextVNode(" "+e.toDisplayString(v.value.userLocationLabel),1)])],8,Us)):e.createCommentVNode("",!0)]),x.value?(e.openBlock(),e.createElementBlock("aside",Gs,[o.showSidebar?(e.openBlock(),e.createBlock(Et,{key:0,modelValue:m.value,"onUpdate:modelValue":V[1]||(V[1]=I=>m.value=I),class:"location-finder__results",locations:G.value,label:v.value.resultsLabel,"empty-text":v.value.emptyText,onSelect:At},null,8,["modelValue","locations","label","empty-text"])):e.createCommentVNode("",!0),E.value?(e.openBlock(),e.createElementBlock("div",Js,[e.createElementVNode("p",Ys,e.toDisplayString(v.value.directionsTitle),1),e.unref(u).pending.value?(e.openBlock(),e.createElementBlock("p",_s,e.toDisplayString(v.value.loadingRoute),1)):e.unref(u).hasRoute.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",Ks,[e.createElementVNode("div",null,[e.createElementVNode("p",Zs,e.toDisplayString(v.value.distanceLabel),1),e.createElementVNode("strong",Xs,e.toDisplayString(O.value),1)]),e.createElementVNode("div",null,[e.createElementVNode("p",ec,e.toDisplayString(v.value.durationLabel),1),e.createElementVNode("strong",tc,e.toDisplayString(M.value),1)])]),t.showDirectionsSteps&&e.unref(u).steps.value.length?(e.openBlock(),e.createElementBlock("ol",ac,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u).steps.value.slice(0,5),(I,U)=>(e.openBlock(),e.createElementBlock("li",{key:`${I.instruction}-${U}`},[e.createElementVNode("span",null,e.toDisplayString(I.instruction),1),I.name?(e.openBlock(),e.createElementBlock("small",nc,e.toDisplayString(I.name),1)):e.createCommentVNode("",!0)]))),128))])):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock("p",lc,e.toDisplayString(v.value.directionsEmptyText),1))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],2)]))}}),ic={class:"carousel d-flex"},rc=["title"],sc=["onClick"],cc=["title"],Ft=e.defineComponent({__name:"base-carousel",props:{modelValue:{type:Number,default:-1},config:{type:Object,default:null},messages:{type:Object,default:{}},items:{type:Array,default:[]},navigation:{type:Boolean,default:!0}},emits:["update:modelValue","select"],setup(t,{emit:c}){const n=c,l=e.ref(),o=e.ref();function i(){l.value.scrollTo({top:0,left:l.value.scrollLeft-l.value.clientWidth>0?l.value.scrollLeft-l.value.clientWidth:0,behavior:"smooth"})}function a(){l.value.scrollTo({top:0,left:l.value.scrollLeft-l.value.clientWidth<=o.value.clientWidth?l.value.scrollLeft+l.value.clientWidth:o.value.clientWidth,behavior:"smooth"})}function r(s){n("update:modelValue",s)}return(s,d)=>(e.openBlock(),e.createElementBlock("div",ic,[t.navigation?(e.openBlock(),e.createElementBlock("button",{key:0,class:"carousel__control btn btn-link text-light",type:"button",onClick:e.withModifiers(i,["prevent","stop"]),title:s.$t("common.backward")},[e.createVNode(D,{symbol:"chevron-left"})],8,rc)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"viewport",ref:l,class:"carousel__viewport flex-grow-1"},[e.createElementVNode("div",{ref_key:"track",ref:o,class:"carousel__track d-flex justify-center align-items-center"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(u,A)=>e.renderSlot(s.$slots,"carousel-item",{key:u.src,item:u,index:A},()=>[e.createElementVNode("div",{class:e.normalizeClass(["carousel__item",A===t.modelValue?"selected":""]),onClick:m=>r(A)},e.toDisplayString(u),11,sc)])),128))],512)],512),t.navigation?(e.openBlock(),e.createElementBlock("button",{key:1,class:"carousel__control btn btn-link text-light",type:"button",onClick:e.withModifiers(a,["prevent","stop"]),title:s.$t("common.forward")},[e.createVNode(D,{symbol:"chevron-right"})],8,cc)):e.createCommentVNode("",!0)]))}}),Ac={class:"media-thumbnails"},dc=["onClick","title"],uc={key:0,class:"img-container"},mc={key:0,class:"media-thumbnails__count-badge"},fc={key:2,class:"img-container"},pc=e.defineComponent({__name:"media-thumbnails",props:{modelValue:{default:null},config:{type:Object,default:null},messages:{type:Object,default:{}},assets:{type:Array,default:[]},stacked:{type:Boolean,default:!1},showCount:{type:Boolean,default:!1}},emits:["update:modelValue","select"],setup(t,{emit:c}){const n=c,l=e.ref(-1);function o(i){l.value=i,n("update:modelValue",i),n("select",i)}return(i,a)=>(e.openBlock(),e.createElementBlock("div",Ac,[e.createVNode(Ft,{items:t.assets},{"carousel-item":e.withCtx(r=>[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["carousel__item media-thumbnails__thumbnail",r.index===t.modelValue||r.index===l.value?"is-active":""]),onClick:s=>o(r.index),title:`${i.$t("thumbnails.thumbnail")} ${r.index+1}`},[r.item.type==="preset"&&r.item.thumbnail?(e.openBlock(),e.createElementBlock("div",uc,[e.createVNode(ce,{src:r.item.thumbnail,class:"img-fluid"},null,8,["src"])])):r.item.type==="preset"?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["img-container img-container--multi",{"img-container--stacked":t.stacked}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.item.items,(s,d)=>(e.openBlock(),e.createBlock(ce,{key:d,src:s.thumbnail||s.src,class:"img-fluid"},null,8,["src"]))),128)),t.showCount&&Object.keys(r.item.items||{}).length?(e.openBlock(),e.createElementBlock("span",mc,e.toDisplayString(Object.keys(r.item.items||{}).length),1)):e.createCommentVNode("",!0)],2)):(e.openBlock(),e.createElementBlock("div",fc,[e.createVNode(ce,{src:r.item.thumbnail||r.item.src,class:"img-fluid"},null,8,["src"])]))],10,dc)]),_:1},8,["items"])]))}}),gc={class:"progress-steps"},hc={class:"progress-steps__list"},yc={class:"progress-step"},bc=["checked","id","value","disabled","read-only","required","onChange"],kc=["for"],wc=["innerHTML"],Bc=["for"],Vc=["innerHTML"],Cc=e.defineComponent({__name:"progress-steps",props:{modelValue:{type:Number,default:0},progress:{type:Number,default:0},steps:{type:Array},label:{type:String,default:""},reveal:{type:Boolean,default:!1}},emits:["update:modelValue","update:progress"],setup(t,{emit:c}){const n=t,l=c;function o(i){l("update:modelValue",i),i>=n.progress&&l("update:progress",i)}return(i,a)=>(e.openBlock(),e.createElementBlock("div",gc,[e.createElementVNode("ul",hc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.steps,(r,s)=>(e.openBlock(),e.createElementBlock("li",{key:s,class:e.normalizeClass(["progress-steps__step",{"progress-steps__step--disabled":s>t.progress+(t.reveal?1:0),"progress-steps__step--active":s===(t.modelValue||0)}])},[e.renderSlot(i.$slots,"step",{},()=>[e.createElementVNode("div",yc,[e.createElementVNode("input",{type:"radio",checked:s<=(t.progress||0),id:`step-${s}`,name:"step",class:"form-check-input",value:r.value,disabled:r.disabled||s>t.progress+(t.reveal?1:0),"read-only":r.readOnly,required:r.required,onChange:d=>o(s)},null,40,bc),e.createElementVNode("label",{for:`step-${s}`},[e.renderSlot(i.$slots,"button",{step:r},()=>[e.createElementVNode("span",{class:"btn rounded-circle",innerHTML:e.unref(Z)(r.text||"")},null,8,wc)])],8,kc),e.createElementVNode("label",{for:`step-${s}`},[e.renderSlot(i.$slots,"label",{step:r},()=>[e.createElementVNode("span",{class:"form-check-label",innerHTML:e.unref(Z)(r.label||"")},null,8,Vc)])],8,Bc)])])],2))),128))])]))}}),Ec={class:"hint-system"},$c=["innerHTML"],Sc=["innerHTML"],Nc={key:1,class:"hint-system__hint-content"},vc=["disabled"],Mc=e.defineComponent({__name:"hint-system",props:{modelValue:{type:Number,default:0},hints:{type:Array,default:()=>[]},penalty:{type:Number,default:1},maxHints:{type:Number,default:void 0},htmlContent:{type:Boolean,default:!1},label:{type:String,default:"Show hint"},description:{type:String,default:""}},emits:["update:modelValue","hint-revealed"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(n.modelValue);e.watch(()=>n.modelValue,d=>{o.value=d});const i=e.computed(()=>n.maxHints!==void 0?n.maxHints:n.hints.length),a=e.computed(()=>o.value<i.value),r=e.computed(()=>n.hints.slice(0,o.value));function s(){if(!a.value)return;const d=o.value;o.value++,l("update:modelValue",o.value),l("hint-revealed",{hint:n.hints[d],index:d,penaltyTotal:o.value*n.penalty})}return(d,u)=>(e.openBlock(),e.createElementBlock("div",Ec,[t.description?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:e.unref(Z)(t.description),class:"hint-system__description"},null,8,$c)):e.createCommentVNode("",!0),r.value.length?(e.openBlock(),e.createBlock(e.TransitionGroup,{key:1,name:"hint-reveal",tag:"ol",class:"hint-system__list"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(A,m)=>(e.openBlock(),e.createElementBlock("li",{key:m,class:"hint-system__hint"},[e.renderSlot(d.$slots,"hint",{hint:A,index:m,isNew:m===o.value-1},()=>[t.htmlContent?(e.openBlock(),e.createElementBlock("div",{key:0,class:"hint-system__hint-content",innerHTML:e.unref(Z)(A.content||"")},null,8,Sc)):(e.openBlock(),e.createElementBlock("div",Nc,e.toDisplayString(A.content),1))])]))),128))]),_:3})):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"trigger",{revealNext:s,canReveal:a.value,revealedCount:o.value,total:i.value},()=>[e.createElementVNode("button",{type:"button",class:"hint-system__trigger d-block w-100 text-center",disabled:!a.value,onClick:s},e.toDisplayString(t.label),9,vc)])]))}}),Dc={class:"popover-tooltip"},Lc=["popovertarget","disabled","aria-describedby","aria-label"],Ic={class:"popover-tooltip__content d-flex flex-column"},Tc={key:0,class:"popover-tooltip__header d-flex p-3 border-bottom"},Pc=["innerHTML"],xc={class:"popover-tooltip__body"},zc=["innerHTML"],Fc={key:1,class:"popover-tooltip__footer d-flex p-3 border-top"},Oc=e.defineComponent({__name:"popover-tooltip",props:{modelValue:{type:Boolean,default:!1},id:{type:String,default:()=>`popover-tooltip-${Math.random().toString(36).substr(2,9)}`},size:{type:String},exclusive:{type:Boolean,default:!0},header:{type:Boolean,default:!1},footer:{type:Boolean,default:!1},title:{type:String,default:""},content:{type:String,default:""},hover:{type:Boolean,default:!0},hoverDelay:{type:Number,default:400},disabled:{type:Boolean,default:!1},ariaLabel:{type:String,default:""}},emits:["update:modelValue","confirm","cancel"],setup(t,{emit:c}){const n=t,l=c,o=Ue(()=>n.title),i=Ue(()=>n.content),a=e.computed({get(){return n.modelValue},set(d){l("update:modelValue",d)}}),r=e.ref(),s=e.ref();return(d,u)=>(e.openBlock(),e.createElementBlock("span",Dc,[e.createElementVNode("button",{type:"button",popovertarget:t.id,disabled:t.disabled,"aria-describedby":t.id,"aria-label":t.ariaLabel||d.$te("common.moreInfo")?d.$t("common.moreInfo"):void 0,ref_key:"trigger",ref:r},[e.renderSlot(d.$slots,"button",{},()=>[u[3]||(u[3]=e.createElementVNode("span",{class:"popover-tooltip__trigger"}," i ",-1))])],8,Lc),e.createVNode(Ce,{id:t.id,modelValue:a.value,"onUpdate:modelValue":u[2]||(u[2]=A=>a.value=A),hover:t.hover,"hover-delay":t.hoverDelay,ref_key:"dialog",ref:s,role:"tooltip",class:e.normalizeClass(t.size?`popover-tooltip--${t.size}`:"")},{default:e.withCtx(()=>[e.createElementVNode("div",Ic,[t.header?(e.openBlock(),e.createElementBlock("div",Tc,[t.title?(e.openBlock(),e.createElementBlock("h5",{key:0,class:"popover-tooltip__title",innerHTML:e.unref(o)},null,8,Pc)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:"btn-close ms-auto border-radius-none","aria-label":"Close",onClick:u[0]||(u[0]=A=>a.value=!1)})])):e.createCommentVNode("",!0),e.createElementVNode("div",xc,[e.renderSlot(d.$slots,"default",{},()=>[e.createElementVNode("span",{innerHTML:e.unref(i)},null,8,zc)])]),t.footer?(e.openBlock(),e.createElementBlock("div",Fc,[e.renderSlot(d.$slots,"footer"),e.createElementVNode("button",{type:"button",class:"btn ms-auto",onClick:u[1]||(u[1]=A=>a.value=!1)},e.toDisplayString(d.$t("common.close")),1)])):e.createCommentVNode("",!0)])]),_:3},8,["id","modelValue","hover","hover-delay","class"])]))}}),Rc={class:"popover-notification__header d-flex justify-content-between mb-2"},Hc={class:"popover-notification__title"},Uc=["onClick"],Qc=["innerHTML"],Wc=240,jc=e.defineComponent({__name:"popover-notifications",props:{modelValue:{type:Boolean,default:!1},id:{type:String,default:()=>`popover-notifications-${Math.random().toString(36).substr(2,9)}`},items:{type:Array,default:()=>[]},debounceItem:{type:Number,default:0},closeTimeout:{type:Number,default:8e3},collapsible:{type:Boolean,default:!0},collapseItems:{type:Number,default:3}},setup(t,{expose:c}){const n=t,l=e.ref([]),o=e.ref([]),i=e.ref(null),a=new Map,r=e.computed(()=>l.value.map(f=>({...f,content:Z(f.content||"")}))),s=e.ref(!1),d=e.computed(()=>s.value?[...r.value].reverse():r.value);function u(f,k){k===!1&&p(f)}function A(f){const k=a.get(f);k&&(clearTimeout(k),a.delete(f))}function m(f){const k=f.closeTimeout??n.closeTimeout;A(f.id),k&&a.set(f.id,window.setTimeout(()=>{A(f.id),p(f)},k))}function p(f){f.visible===!1&&a.has(f.id)||(A(f.id),f.visible=!1,a.set(f.id,window.setTimeout(()=>{l.value=l.value.filter(k=>k.id!==f.id),a.delete(f.id),l.value.length===0&&(s.value=!1)},Wc)))}function y(f){if(n.collapsible&&l.value.length>=n.collapseItems){const g=l.value.shift();g&&A(g.id)}n.collapsible&&l.value.length+1>=n.collapseItems&&(s.value=!0),l.value.forEach(g=>{g.stackIndex=(g.stackIndex??0)+1});const k={...f,closeTimeout:f.closeTimeout??n.closeTimeout,visible:!0,stackIndex:0};l.value.push(k),m(k)}e.watch(()=>n.items,(f,k)=>{const g=f.filter(L=>!k.some(P=>P.id===L.id));g.length&&(o.value=[...o.value,...g],h())});function h(){i.value!==null||!o.value.length||(i.value=window.setTimeout(()=>{i.value=null;const f=o.value.shift();f&&y(f),o.value.length>0&&h()},l.value.length?n.debounceItem:0))}function w(f){o.value.push(f),h()}return e.onMounted(()=>{o.value=[...n.items],n.collapsible&&o.value.length>=n.collapseItems&&(s.value=!0),h()}),e.onBeforeUnmount(()=>{i.value!==null&&clearTimeout(i.value);for(const f of a.values())clearTimeout(f);a.clear()}),c({addItem:w}),(f,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["popover-notifications",{"popover-notifications--stacked":s.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(g,L)=>(e.openBlock(),e.createBlock(Ce,{key:g.id,id:g.id,"close-timeout":0,type:"manual",class:"popover-notification",modelValue:g.visible,"onUpdate:modelValue":[P=>g.visible=P,P=>u(g,P)],style:e.normalizeStyle({"--stack-index":g.stackIndex??L})},{default:e.withCtx(()=>[e.renderSlot(f.$slots,"item",{item:g,removeItem:u},()=>[e.createElementVNode("div",Rc,[e.createElementVNode("span",Hc,e.toDisplayString(g.title),1),e.createElementVNode("button",{type:"button",class:"btn btn-close p-0",onClick:e.withModifiers(P=>u(g,!1),["stop"]),"aria-label":"Close notification"},null,8,Uc)]),e.createElementVNode("span",{innerHTML:g.content},null,8,Qc)])]),_:2},1032,["id","modelValue","onUpdate:modelValue","style"]))),128))],2))}}),qc=e.defineComponent({__name:"dom-renderer",props:{modelValue:{type:String,default:""},fixedWidth:{type:Number,default:0},renderUpdates:{type:Boolean,default:!1},exportToSvg:{type:Boolean,default:!1},options:{type:Object,default:()=>({})},pending:{type:Boolean,default:!1},emitPending:{type:Boolean,default:!1},debug:{type:Boolean,default:!1}},emits:["update:modelValue","update:pending"],setup(t,{emit:c}){const n=t,l=c,o=e.ref(),i=e.ref(""),a=e.ref(),r=e.ref(!0);async function s(){if(!o.value||!r.value)return"";const u=o.value;if(!u.isConnected)return"";try{n.emitPending&&l("update:pending",!0);const A=u.firstElementChild;if(!A)return"";const m=await Ut(A,{backgroundColor:"rgba(0, 0, 0, 0)",scale:1,...n.options});if(!r.value||!o.value||!u.isConnected)return"";const p=m.toDataURL();if(l("update:modelValue",p),n.emitPending&&l("update:pending",!1),n.debug){const y=new Image;y.src=p,document.body.appendChild(y)}return p}catch(A){return r.value&&n.emitPending&&l("update:pending",!1),console.warn("dom-renderer: Render failed",A),""}}const d=at.debounce(async()=>{i.value=await s()},300,{trailing:!0,leading:!1});return e.onMounted(()=>{const u=o.value;n.renderUpdates&&(a.value=new MutationObserver(async A=>{!r.value||!u.isConnected||(n.emitPending&&l("update:pending",!0),d())}),a.value.observe(u,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),setTimeout(()=>{n.emitPending&&l("update:pending",!0),d()},500)}),e.onBeforeUnmount(()=>{r.value=!1,a.value&&a.value.disconnect(),d.cancel()}),(u,A)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["dom-renderer",{"off-screen":!t.debug}]),ref_key:"renderer",ref:o,style:e.normalizeStyle(t.fixedWidth>0?{width:`${t.fixedWidth}px`}:{})},[e.renderSlot(u.$slots,"default")],6))}}),Gc={class:"qr-code"},Jc=["innerHTML"],Yc=e.defineComponent({__name:"qr-code",props:{data:null,image:null,download:{type:Boolean,default:!1},filename:{type:String,default:"qr-code"}},emits:["update:dataUrl"],setup(t,{expose:c,emit:n}){const l=t,o=e.ref(),i=e.computed(()=>({width:300,height:300,type:"canvas",data:l.data,...l.image?{image:l.image}:{},margin:10,qrOptions:{typeNumber:0,mode:"Byte",errorCorrectionLevel:"Q"},imageOptions:{hideBackgroundDots:!0,imageSize:.4,margin:20,crossOrigin:"anonymous"},dotsOptions:{type:"rounded"},backgroundOptions:{color:"#ffffff"},cornersSquareOptions:{color:"#333333",type:"extra-rounded"},cornersDotOptions:{color:"#333333",type:"dot"}}));function a(s=null,d=null){typeof window<"u"&&(o.value&&(o.value.innerHTML=""),new ut(s||i.value).append(o.value))}function r(){new ut({...i.value,width:1200,height:1200}).download({name:l.filename,extension:"png"})}return e.watch(()=>i.value,a,{deep:!0,immediate:!0}),e.onMounted(()=>{typeof window<"u"&&a()}),c({download:r}),(s,d)=>(e.openBlock(),e.createElementBlock("div",Gc,[l.download?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn btn-outline-contrast mb-3",onClick:r,innerHTML:s.$t("qrlink.download")},null,8,Jc)):(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"canvas",ref:o},null,512))]))}}),_c={class:"link-sharing"},Kc={key:0,class:"link-sharing__links container"},Zc={class:"row"},Xc={key:0,class:"col-12 col-md-6"},eA=["href"],tA={class:"caption"},aA={key:1,class:"col-12 col-md-6"},nA=["href"],lA={class:"caption"},oA={key:2,class:"col-12 col-md-6"},iA={class:"caption"},rA={key:3,class:"col-12 col-md-6"},sA=["href"],cA={class:"caption"},AA={key:4,class:"col-12 col-md-6"},dA=["href"],uA={class:"caption"},mA={key:5,class:"col-12 col-md-6"},fA={class:"caption"},pA={key:6,class:"col-12 col-md-6"},gA=["href"],hA={class:"caption"},yA={key:1,class:"link-sharing__instructions pt-5"},bA={class:"row"},kA={class:"col-12 text-center py-0"},wA={class:"mb-5"},BA=t=>t.replace(/<(?:.|\n)*?>/gm,""),VA=e.defineComponent({__name:"link-sharing",props:{url:{type:String,default:""},subject:{type:String,default:""},hashtags:Array,text:{type:String,default:""},media:{type:String,default:""},services:{type:Object,default:{facebook:!0,instagram:!0,linkedin:!0,whatsapp:!0,mailto:!0,clipboard:!0,bluesky:!0}}},setup(t){const c=t,n=e.ref(!1),l=e.computed(()=>encodeURIComponent(c.url));e.computed(()=>encodeURIComponent(c.media));const o=e.computed(()=>BA(c.text)),i=e.computed(()=>!!(navigator&&navigator.userAgent&&/Mobi|Android/i.test(navigator.userAgent)));async function a(){const r=document.createElement("textarea");document.body.appendChild(r),r.value=c.url,r.select(),r.setSelectionRange(0,99999),navigator.clipboard.writeText(r.value),document.body.removeChild(r)}return(r,s)=>(e.openBlock(),e.createElementBlock("div",_c,[n.value?(e.openBlock(),e.createElementBlock("div",yA,[e.createElementVNode("div",bA,[e.createElementVNode("div",kA,[e.createElementVNode("div",wA,[e.createElementVNode("p",null,e.toDisplayString(r.$t("sharing.instructions",{service:"Instagram"})),1),e.createElementVNode("p",null,[e.createElementVNode("strong",null,e.toDisplayString(Array.isArray(t.hashtags)?t.hashtags.join(", "):t.hashtags),1)]),e.createElementVNode("button",{type:"button",class:"btn btn-text",onClick:s[1]||(s[1]=e.withModifiers(d=>n.value=!n.value,["prevent"]))},[e.createVNode(D,{symbol:"arrow-left"}),e.createTextVNode(" "+e.toDisplayString(r.$t("common.back")),1)])])])])])):(e.openBlock(),e.createElementBlock("div",Kc,[e.createElementVNode("div",Zc,[t.services.facebook?(e.openBlock(),e.createElementBlock("div",Xc,[e.createElementVNode("a",{class:"link-sharing__link btn btn-primary",href:`https://www.facebook.com/sharer.php?u=${l.value}`,target:"_blank",rel:"noopener"},[e.createVNode(D,{symbol:"facebook"}),e.createElementVNode("span",tA,e.toDisplayString(r.$t("sharing.facebook")),1)],8,eA)])):e.createCommentVNode("",!0),t.services.bluesky?(e.openBlock(),e.createElementBlock("div",aA,[e.createElementVNode("a",{class:"link-sharing__link btn btn-primary",href:`https://bsky.app/intent/compose?text=${o.value}${o.value?"%20":""}${t.url}`,target:"_blank",rel:"noopener"},[e.createVNode(D,{symbol:"bluesky-logo"}),e.createElementVNode("span",lA,e.toDisplayString(r.$t("sharing.bluesky")),1)],8,nA)])):e.createCommentVNode("",!0),t.services.instagram?(e.openBlock(),e.createElementBlock("div",oA,[e.createElementVNode("button",{type:"button",class:"link-sharing__link btn btn-primary",onClick:s[0]||(s[0]=e.withModifiers(d=>n.value=!n.value,["prevent"]))},[e.createVNode(D,{symbol:"instagram"}),e.createElementVNode("span",iA,e.toDisplayString(r.$t("sharing.instagram")),1)])])):e.createCommentVNode("",!0),t.services.linkedin?(e.openBlock(),e.createElementBlock("div",rA,[e.createElementVNode("a",{class:"link-sharing__link btn btn-primary",href:`https://www.linkedin.com/shareArticle?mini=true&url=${l.value}&title=${t.subject}`,target:"_blank",rel:"noopener"},[e.createVNode(D,{symbol:"linkedin"}),e.createElementVNode("span",cA,e.toDisplayString(r.$t("sharing.linkedin")),1)],8,sA)])):e.createCommentVNode("",!0),t.services.whatsapp&&i.value?(e.openBlock(),e.createElementBlock("div",AA,[e.createElementVNode("a",{class:"link-sharing__link btn btn-primary",href:`whatsapp://send?text=${l.value}`,target:"_blank",rel:"noopener"},[e.createVNode(D,{symbol:"whatsapp"}),e.createElementVNode("span",uA,e.toDisplayString(r.$t("sharing.whatsapp")),1)],8,dA)])):e.createCommentVNode("",!0),t.services.clipboard?(e.openBlock(),e.createElementBlock("div",mA,[e.createElementVNode("button",{type:"button",class:"link-sharing__link btn btn-primary",onClick:e.withModifiers(a,["prevent","stop"])},[e.createVNode(D,{symbol:"copy"}),e.createElementVNode("span",fA,e.toDisplayString(r.$t("sharing.clipboard")),1)])])):e.createCommentVNode("",!0),t.services.mailto?(e.openBlock(),e.createElementBlock("div",pA,[e.createElementVNode("a",{class:"link-sharing__link btn btn-primary",href:`mailto:?subject=${t.subject}&body=${o.value}%0D%0A${t.url}`,target:"_blank",rel:"noopener"},[e.createVNode(D,{symbol:"mail"}),e.createElementVNode("span",hA,e.toDisplayString(r.$t("sharing.mailto")),1)],8,gA)])):e.createCommentVNode("",!0)])]))]))}}),CA={class:"base-form"},EA=e.defineComponent({__name:"base-form",props:{id:{},name:{},variant:{},disabled:{type:Boolean},pending:{type:Boolean}},setup(t){function c(o){console.log("input",o)}function n(o){console.log("reset",o)}function l(o){console.log("submit",o)}return(o,i)=>(e.openBlock(),e.createElementBlock("div",CA,[e.createElementVNode("form",{ref:"form",onInput:c,onReset:n,onSubmit:e.withModifiers(l,["prevent"])},[e.renderSlot(o.$slots,"default")],544)]))}}),$A={class:"touch-wrapper__controls"},SA={class:"btn-group",role:"group"},NA=e.defineComponent({__name:"touch-wrapper",props:{modelValue:{type:Number,default:1}},emits:["update:modelValue"],setup(t,{emit:c}){const l=e.getCurrentInstance()?.appContext?.config?.globalProperties?.$config||{iconSprite:"/symbol-defs.svg"},o=t,i=c,a=e.ref();function r(u){const A=o.modelValue+u;i("update:modelValue",u===0?1:A>=1?A:1)}function s(u){if(u.ctrlKey){u.preventDefault();const A=0-u.deltaY*.01;r(A)}}function d(u){u.preventDefault();const{scale:A}=u,m=A>1?A*.01:0-A;r(m)}return e.onMounted(()=>{a.value&&(a.value.addEventListener("wheel",s,!1),a.value.addEventListener("gesturestart",d,!1),a.value.addEventListener("gesturechange",d,!1),a.value.addEventListener("gestureend",d,!1))}),(u,A)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"touchElement",ref:a,class:"touch-wrapper"},[e.renderSlot(u.$slots,"controls",{on:{setScale:r}},()=>[e.createElementVNode("div",$A,[e.createElementVNode("div",SA,[e.createElementVNode("button",{type:"button",class:"btn",onClick:A[0]||(A[0]=m=>r(-1))},[e.createVNode(D,{symbol:"minus","base-path":e.unref(l).iconSprite},null,8,["base-path"])]),e.createElementVNode("button",{type:"button",class:"btn",onClick:A[1]||(A[1]=m=>r(0))},[e.createVNode(D,{symbol:"maximize","base-path":e.unref(l).iconSprite},null,8,["base-path"])]),e.createElementVNode("button",{type:"button",class:"btn",onClick:A[2]||(A[2]=m=>r(1))},[e.createVNode(D,{symbol:"plus","base-path":e.unref(l).iconSprite},null,8,["base-path"])])])])]),e.renderSlot(u.$slots,"default")],512))}});let We=null;async function vA(){if(typeof window>"u")return null;if(We)return We;const t=await import("canvas-confetti");return We=t.default||t,We}const Ot={default:{items:[{particleCount:80,spread:120,origin:{y:.625,x:.5}},{timeout:400,particleCount:80,spread:120,origin:{y:.625,x:.625}},{timeout:800,particleCount:80,spread:120,origin:{y:.625,x:.375}}]},randomDirection:{items:[{angle:rt(55,125),spread:rt(50,70),particleCount:rt(50,100),origin:{y:.6}}]},pride:{items:[{timeout:20,particleCount:2,spread:32,origin:{x:0},colors:["#ff0000"]},{timeout:20,particleCount:2,spread:32,origin:{x:1},colors:["#ff0000"]}]}};function rt(t,c){return Math.random()*(c-t)+t}const MA=e.defineComponent({__name:"canvas-confetti",props:{preset:{type:String,default:"default"},items:{default:()=>[{}]},colors:{type:Array,default:()=>[]},loop:{type:Boolean,default:!1}},setup(t){const c=t,n=e.ref(null),l=e.computed(()=>({...Ot[c.preset],items:Ot[c.preset].items.map((a,r)=>({...a,...c.items[r],...c.colors.length?{colors:c.colors}:{}}))}));async function o(a){return new Promise(r=>{(typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):d=>setTimeout(d,16))(()=>n.value?.confetti?.(JSON.parse(JSON.stringify(a)))),setTimeout(()=>r(),0)})}async function i(){await Promise.all(l.value.items.map(a=>new Promise(r=>setTimeout(()=>{r(o(a))},a.timeout||0)))),c.loop&&i()}return e.onMounted(async()=>{if(typeof window<"u"&&n.value){const a=await vA();if(!a)return;n.value.confetti=n.value?.confetti||a.create(n.value,{resize:!0}),i()}}),(a,r)=>(e.openBlock(),e.createElementBlock("canvas",{class:"canvas-confetti",ref_key:"canvas",ref:n},null,512))}}),DA=["popovertarget"],LA=["src","alt"],IA=e.defineComponent({__name:"image-zoom",props:{src:{type:String,required:!0},alt:{type:String,default:""},spinner:{type:Boolean,default:!1},zoom:{type:Number,default:2},focusWidth:{type:Number,default:0},focusHeight:{type:Number,default:0},hoverDelay:{type:Number,default:150},closeTimeout:{type:Number,default:0},popoverId:{type:String,default:()=>`image-zoom-${Math.random().toString(36).substring(2,9)}`}},setup(t){const c=t,n=e.ref(null),l=e.ref(null),o=e.ref(null),i=e.ref(!1),a=e.ref(!1),r=e.ref(!1),s=e.ref(!1),d=e.ref(null),u=e.ref(0),A=e.ref(0),m=e.ref(0),p=e.ref(0),y=e.computed(()=>Number.isFinite(c.focusWidth)&&c.focusWidth>0&&Number.isFinite(c.focusHeight)&&c.focusHeight>0&&m.value>0&&p.value>0&&c.focusWidth<=m.value&&c.focusHeight<=p.value),h=e.computed(()=>m.value>0&&p.value>0&&!y.value),w=e.computed(()=>r.value&&!a.value&&m.value>0&&p.value>0),f=e.computed(()=>h.value?{width:`${m.value}px`,height:`${p.value}px`,left:"0px",top:"0px"}:{width:`${c.focusWidth}px`,height:`${c.focusHeight}px`,left:`${u.value}px`,top:`${A.value}px`}),k=e.computed(()=>{const T=m.value*c.zoom,q=p.value*c.zoom;return{width:`${T}px`,height:`${q}px`,transform:y.value&&!a.value?`translate(${-u.value*c.zoom}px, ${-A.value*c.zoom}px)`:"none",transformOrigin:"top left"}});function g(){if(!l.value)return;const T=l.value.getBoundingClientRect();m.value=T.width,p.value=T.height}function L(){d.value&&(clearTimeout(d.value),d.value=null)}function P(){L(),i.value=!0}function z(){L(),d.value=setTimeout(()=>{!r.value&&!s.value&&!a.value&&(i.value=!1),d.value=null},c.hoverDelay||100)}function C(T,q){if(!l.value)return;if(h.value){u.value=0,A.value=0;return}const G=l.value.getBoundingClientRect(),oe=T-G.left,Ie=q-G.top,ie=Math.min(Math.max(oe-c.focusWidth/2,0),Math.max(G.width-c.focusWidth,0)),ve=Math.min(Math.max(Ie-c.focusHeight/2,0),Math.max(G.height-c.focusHeight,0));u.value=ie,A.value=ve}function R(){if(!o.value||!a.value||h.value)return;const T=o.value.getBoundingClientRect(),q=Math.max(0,u.value*c.zoom-T.width/2+c.focusWidth*c.zoom/2),G=Math.max(0,A.value*c.zoom-T.height/2+c.focusHeight*c.zoom/2);o.value.scrollTo({left:q,top:G})}function E(T){g(),C(T.clientX,T.clientY)}function x(T){r.value=!0,g(),C(T.clientX,T.clientY),a.value||P()}function O(){r.value=!1,a.value||z()}function M(T){a.value&&(i.value=!0,g(),C(T.clientX,T.clientY))}function v(){a.value&&e.nextTick(R)}function Q(){s.value=!0,P()}function $(){s.value=!1,z()}function F(T){a.value&&(i.value=!i.value,T instanceof MouseEvent&&C(T.clientX,T.clientY))}return e.onMounted(()=>{a.value="ontouchstart"in window||navigator.maxTouchPoints>0,g()}),e.watch(i,async T=>{T&&a.value&&(await e.nextTick(),R())}),(T,q)=>(e.openBlock(),e.createElementBlock("span",{class:"image-zoom",popovertarget:t.popoverId,ref_key:"wrapper",ref:n},[e.createElementVNode("div",{class:"image-zoom__target",ref_key:"target",ref:l,onPointermove:E,onPointerenter:x,onPointerleave:O,onPointerdown:M,onPointerup:v,onPointercancel:O,onClick:e.withModifiers(F,["prevent"])},[e.renderSlot(T.$slots,"image",{src:t.src,alt:t.alt,spinner:t.spinner,animate:!1},()=>[e.createVNode(ce,{class:"image-zoom__image",src:t.src,alt:t.alt,spinner:t.spinner,animate:!1},null,8,["src","alt","spinner"])]),w.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"image-zoom__focus",style:e.normalizeStyle(f.value)},null,4)):e.createCommentVNode("",!0)],544),e.createVNode(Ce,{id:t.popoverId,modelValue:i.value,"onUpdate:modelValue":q[0]||(q[0]=G=>i.value=G),hover:!1,"hover-delay":t.hoverDelay,"close-timeout":t.closeTimeout,class:e.normalizeClass(["image-zoom__popover",{"image-zoom__popover--full":h.value}]),role:"tooltip",onMouseenter:Q,onMouseleave:$},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["image-zoom__preview-wrapper",{"image-zoom__preview-wrapper--full":h.value}])},[e.createElementVNode("div",{class:e.normalizeClass(["image-zoom__preview",{"image-zoom__preview--full":h.value}]),ref_key:"preview",ref:o},[e.createElementVNode("img",{class:e.normalizeClass(["image-zoom__preview-image",{"image-zoom__preview-image--full":h.value}]),src:t.src,alt:t.alt,style:e.normalizeStyle(k.value),draggable:"false"},null,14,LA)],2)],2)]),_:1},8,["id","modelValue","hover-delay","close-timeout","class"])],8,DA))}});N.Accordion=ua,N.AccordionItem=ra,N.AssetUploader=as,N.AutoSuggest=wt,N.BaseButton=ht,N.BaseCamera=ci,N.BaseCarousel=Ft,N.BaseForm=EA,N.BaseHeadline=Jt,N.BaseImage=ce,N.BaseInput=Se,N.BaseMap=Ct,N.BaseParagraph=_t,N.BulkUpload=Zi,N.CanvasConfetti=MA,N.CheckGroup=vl,N.ColorPalette=wo,N.CustomHtml=ql,N.DomRenderer=qc,N.FileUpload=Ne,N.HintSystem=Mc,N.ImageCrop=Mt,N.ImageCropResize=Dt,N.ImageResize=vt,N.ImageUpload=Le,N.ImageZoom=IA,N.InputCheckbox=Ea,N.InputColor=yo,N.InputDatepicker=wl,N.InputDatetime=va,N.InputDropdown=he,N.InputFile=ot,N.InputPasscode=El,N.InputPassword=kt,N.InputTextarea=wa,N.LinkSharing=VA,N.LoadingSpinner=He,N.LocationFinder=oc,N.LocationList=Et,N.MediaThumbnails=pc,N.ModalDialog=Lt,N.PopoverDialog=Ce,N.PopoverNotifications=jc,N.PopoverTooltip=Oc,N.PresetUploader=Ds,N.ProgressSteps=Cc,N.QrCode=Yc,N.RadioButtons=xl,N.RadioGroup=Qe,N.RteEditor=fo,N.SelectMedia=Yl,N.SortableList=it,N.SvgIcon=D,N.TouchWrapper=NA,N.UploadGroup=It,N.useCameraFilter=Bt,N.useDirections=Tt,N.useGeocoding=Pt,N.useGeolocation=zt,Object.defineProperty(N,Symbol.toStringTag,{value:"Module"})}));
|