ablok-components 0.3.136 → 0.3.137

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.
@@ -1,4 +1,4 @@
1
1
  (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("vue"),require("dompurify"),require("vue-i18n"),require("date-fns/locale"),require("ofetch"),require("lodash"),require("html2canvas"),require("qr-code-styling")):typeof define==`function`&&define.amd?define([`exports`,`vue`,`dompurify`,`vue-i18n`,`date-fns/locale`,`ofetch`,`lodash`,`html2canvas`,`qr-code-styling`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.AblokComponents={},e.Vue,e.DOMPurify,e.VueI18n,e.dateFnsLocale,e.ofetch,e._,e.html2canvas,e.QRCodeStyling))})(this,function(e,t,n,r,i,a,o,s,c){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var l=Object.create,u=Object.defineProperty,d=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,p=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty,h=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),g=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=f(t),a=0,o=i.length,s;a<o;a++)s=i[a],!m.call(e,s)&&s!==n&&u(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=d(t,s))||r.enumerable});return e},_=(e,t,n)=>(n=e==null?{}:l(p(e)),g(t||!e||!e.__esModule||!m.call(e,`default`)?u(n,`default`,{value:e,enumerable:!0}):n,e));n=_(n,1),o=_(o,1),s=_(s,1),c=_(c,1);var v={class:`icon`,preserveAspectRatio:`xMaxYMin`},y=[`xlink:href`],b=(0,t.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(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{class:(0,t.normalizeClass)([`svg-icon`,{[`svg-icon--${e.size}`]:e.size}])},[((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,v,[(0,t.createElementVNode)(`use`,{"xlink:href":`${e.basePath}#${e.prefix}${e.symbol}`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,x:`0`,y:`0`},null,8,y)]))],2))}}),x={class:`loading-spinner d-block`},S=(0,t.defineComponent)({__name:`loading-spinner`,props:{color:{type:String,default:`#fff`}},setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,x,[n[0]||=(0,t.createElementVNode)(`span`,{class:`loading-spinner__animation`},[(0,t.createElementVNode)(`svg`,{version:`1.1`,x:`0px`,y:`0px`,viewBox:`0 0 100 100`},[(0,t.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`},[(0,t.createElementVNode)(`animateTransform`,{attributeName:`transform`,attributeType:`XML`,type:`rotate`,dur:`1s`,from:`0 50 50`,to:`360 50 50`,repeatCount:`indefinite`})])])],-1),(0,t.renderSlot)(e.$slots,`default`)]))}}),C=[`src`,`alt`],w=(0,t.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(e,{emit:n}){let r=e,i=n,a=(0,t.useTemplateRef)(`image`),o=(0,t.ref)(!1);function s(){o.value=!0,a.value?.addEventListener(`transitionend`,c,{once:!0})}function c(){i(`update:ready`,!0),r.emitPending&&i(`update:pending`,!1)}return(0,t.onBeforeMount)(()=>{r.emitPending&&i(`update:pending`,!0)}),(n,r)=>e.src?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`base-image`,{"base-image--zoom":e.zoom}])},[e.spinner&&!o.value?((0,t.openBlock)(),(0,t.createBlock)(S,{key:0})):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`img`,{ref_key:`image`,ref:a,class:(0,t.normalizeClass)([``,{"opacity-0":e.animate&&!o.value,"opacity-1":!e.animate||o.value}]),src:e.src,alt:e.alt,onLoad:s},null,42,C)],2)):(0,t.createCommentVNode)(``,!0)}}),T=[`innerHTML`],E=(0,t.defineComponent)({__name:`base-headline`,props:{tag:{},size:{},variant:{},text:{},className:{}},setup(e){let n=e,r=(0,t.computed)(()=>n.tag||`p`);return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(r.value),{class:(0,t.normalizeClass)([`headline`,`${e.size} headline--${e.size}${e.className||``}`])},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createElementVNode)(`span`,{class:`headline__text`,innerHTML:e.text},null,8,T)])]),_:3},8,[`class`]))}});function D(e){return(0,t.computed)(()=>{let t=typeof e==`function`?e():typeof e==`string`?e:e.value;return n.default.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`],ALLOW_DATA_ATTR:!0})})}function O(e){return n.default.sanitize(e,{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})}var k=[`innerHTML`],A=(0,t.defineComponent)({__name:`base-paragraph`,props:{size:{},variant:{},text:{},className:{}},setup(e){let n=e;return D(()=>n.text||``),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{class:(0,t.normalizeClass)([`base-paragraph`,`${e.size||``} ${e.className||``}`]),innerHTML:e.text},null,10,k))}});function j(){return Math.random().toString(16).slice(2)}async function M(e){return await new Promise(t=>{let n=new FileReader;n.onload=()=>t(n.result),n.readAsDataURL(e)})}function N(e){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`}[e]||`bin`}async function P(e,t,n){let r=N(n),i=t.includes(`.`)?t:`${t}.${r}`;return fetch(e).then(function(e){return e.arrayBuffer()}).then(function(e){return new File([e],i,{type:n})})}async function F(e){return await new Promise((t,n)=>{let r=new Image;r.onload=()=>t(r),r.onerror=e=>n(e),r.src=e})}function I(e,t,n,r=`image/png`,i){let a=document.createElement(`canvas`);a.width=t,a.height=n;let o=a.getContext(`2d`);return o?(o.drawImage(e,0,0,t,n),a.toDataURL(r,i)):e.src}async function L(e,t,n){let r=(e.type||``).toLowerCase();if(!(r.startsWith(`image/`)&&r!==`image/svg+xml`))return e;let i=await F(await M(e)),a=i.naturalWidth,o=i.naturalHeight;if(!a||a<=t)return e;let s=Math.round(t),c=o/a;return await P(I(i,s,Math.round(s*c),e.type||`image/png`,n),e.name,e.type||`image/png`)}function R(e){return!e||typeof e!=`string`?``:e.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,``)}var ee={class:`accordion-item`},te=[`id`],ne=[`aria-expanded`,`aria-controls`],z={class:`flex-grow-1`},B=[`id`,`aria-labelledby`],V=[`innerHTML`],H=(0,t.defineComponent)({__name:`accordion-item`,props:{id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(r.modelValue);(0,t.watch)(()=>r.modelValue,e=>{a.value=e});let o=D(()=>r.body);function s(){a.value=!a.value,i(`update:modelValue`,a.value)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ee,[(0,t.createElementVNode)(`div`,{class:`accordion-header`,id:`heading-${e.id}`},[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`accordion-button`,!a.value&&`collapsed`]),type:`button`,"aria-expanded":a.value,"aria-controls":`target${e.id}`,onClick:s},[(0,t.renderSlot)(n.$slots,`toggle`,{},()=>[(0,t.createElementVNode)(`span`,z,(0,t.toDisplayString)(e.title),1)])],10,ne)],8,te),(0,t.createVNode)(t.Transition,{name:`accordion`},{default:(0,t.withCtx)(()=>[(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:`accordion-collapse`,id:`target${e.id}`,"aria-labelledby":`heading-${e.id}`},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`accordion-body`,e.noPadding?`p-0`:``])},[(0,t.renderSlot)(n.$slots,`body`,{},()=>[(0,t.createElementVNode)(`article`,{innerHTML:(0,t.unref)(o)},null,8,V)])],2)],8,B),[[t.vShow,a.value]])]),_:3})]))}}),U=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},re={},W={class:`accordion`};function ie(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,W,[(0,t.renderSlot)(e.$slots,`default`)])}var ae=U(re,[[`render`,ie]]),oe=[`type`,`disabled`],G=(0,t.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(e){let n=e,r=(0,t.computed)(()=>n.caption&&!n.circle);return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:e.type,disabled:e.disabled,class:(0,t.normalizeClass)([`btn`,{disabled:e.disabled,pending:e.pending,rounded:e.rounded,"rounded-circle":e.circle,[`btn-${e.color}`]:!e.outlined,[`btn-outline-${e.color}`]:e.outlined,"btn-lg":e.size===`large`,"btn-sm":e.size===`small`}])},[e.pending?(0,t.renderSlot)(n.$slots,`pending-icon`,{},()=>[(0,t.createVNode)(S)],void 0,0):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(n.$slots,`default`,{},()=>[e.icon?((0,t.openBlock)(),(0,t.createBlock)(b,{key:0,symbol:e.icon,class:`base-button__caption`},null,8,[`symbol`])):(0,t.createCommentVNode)(``,!0),r.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:1,class:(0,t.normalizeClass)([`base-button__caption`,{"icon-padding":e.icon}])},(0,t.toDisplayString)(e.caption),3)):(0,t.createCommentVNode)(``,!0)])],10,oe))}}),se={class:`input-group input__input-group`},ce=[`type`,`id`,`name`,`placeholder`,`pattern`,`disabled`,`readonly`,`required`,`maxlength`,`true-value`,`false-value`,`aria-label`,`role`,`autocomplete`],le=[`for`,`innerHTML`],K={key:0,class:`input__error alert alert-danger mt-3`},q=(0,t.defineComponent)({__name:`base-input`,props:{modelValue:{type:[String,Number,Boolean,Date],default:``},type:{type:String,default:`text`},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n,a=(0,t.useTemplateRef)(`input`),o=(0,t.ref)(r.valid),s=(0,t.ref)(),c=(0,t.computed)(()=>O(`${r.label}${r.required?` *`:``}`)),l=(0,t.computed)({get(){return r.modelValue},set(e){e=r.type===`number`?r.max&&Number(e)>r.max?r.max:r.min!==void 0&&Number(e)<r.min?r.min:Number(e):e,r.sanitize&&typeof e==`string`&&![`checkbox`,`radio`,`number`,`date`,`datetime-local`,`time`,`month`,`week`,`email`,`tel`,`url`].includes(r.type)&&(e=R(e)),i(`update:modelValue`,e)}}),u=(0,t.computed)(()=>{if(r.type===`number`){let{min:e,max:t}=r;return{...e===void 0?{}:{min:e},...t===void 0?{}:{max:t}}}return{}});function d(){f()}function f({checkValidity:e=!0}={}){r.validate&&a.value&&(e?o.value=a.value.checkValidity():o.value=!0,o.value?s.value=void 0:s.value=a.value.validationMessage,i(`update:valid`,o.value))}return(0,t.watch)(()=>r.modelValue,()=>{o.value===!1&&f()}),(0,t.onMounted)(()=>{let e=e=>{l.value=typeof e.detail==`string`||typeof e.detail==`number`?`${e.detail}`:``};a.value?.addEventListener(`focusin`,t=>{window.addEventListener(`update-focussed-input`,e)}),a.value?.addEventListener(`focusout`,t=>{window.removeEventListener(`update-focussed-input`,e)}),f({checkValidity:!1})}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`input`,`input--${e.type}${o.value?``:` input--invalid`}`])},[(0,t.createElementVNode)(`div`,se,[(0,t.renderSlot)(n.$slots,`input-prepend`,{slotScope:`props`}),(0,t.withDirectives)((0,t.createElementVNode)(`input`,(0,t.mergeProps)({ref_key:`input`,ref:a,"onUpdate:modelValue":r[0]||=e=>l.value=e,type:e.type===`color`?`text`:e.type,id:e.id,name:e.name,placeholder:e.placeholder,pattern:e.pattern,disabled:e.disabled,readonly:e.readOnly,required:e.required,maxlength:e.maxlength},u.value,{"true-value":e.trueValue,"false-value":e.falseValue,class:[`form-control`,{"form-check-input":e.type===`checkbox`}],"aria-label":e.label,role:e.role,autocomplete:e.autocomplete,onChange:d}),null,16,ce),[[t.vModelDynamic,l.value]]),(0,t.renderSlot)(n.$slots,`input-append`,{slotScope:`props`})]),(0,t.renderSlot)(n.$slots,`label`,{},()=>[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:e.id,class:(0,t.normalizeClass)([`input__label`,{"form-check-label":e.type===`checkbox`}]),innerHTML:c.value},null,10,le)):(0,t.createCommentVNode)(``,!0)]),(0,t.createVNode)(t.Transition,{name:`fade`},{default:(0,t.withCtx)(()=>[!o.value&&s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,K,(0,t.toDisplayString)(s.value),1)):(0,t.createCommentVNode)(``,!0)]),_:1})],2))}}),ue={class:`input input--textarea`},de=[`type`,`id`,`name`,`placeholder`,`pattern`,`disabled`,`read-only`,`required`,`maxlength`,`aria-label`],fe=[`for`,`innerHTML`],pe=(0,t.defineComponent)({__name:`input-textarea`,props:{modelValue:{type:String,default:``},type:{type:String,default:`text`},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue},set(e){r.sanitize&&typeof e==`string`&&(e=R(e)),i(`update:modelValue`,e)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ue,[(0,t.renderSlot)(n.$slots,`input-prepend`),(0,t.withDirectives)((0,t.createElementVNode)(`textarea`,{"onUpdate:modelValue":r[0]||=e=>a.value=e,type:e.type,id:e.id,name:e.name,placeholder:e.placeholder,pattern:e.pattern,disabled:e.disabled,"read-only":e.readOnly,required:e.required,maxlength:e.maxlength,class:(0,t.normalizeClass)([`form-control`,{}]),"aria-label":e.label},null,8,de),[[t.vModelText,a.value]]),(0,t.renderSlot)(n.$slots,`input-append`),(0,t.renderSlot)(n.$slots,`label`,{},()=>[(0,t.createElementVNode)(`label`,{for:e.id,class:(0,t.normalizeClass)([`input__label`,{"form-check-label":e.type===`checkbox`}]),innerHTML:`${e.label}${e.required?` *`:``}`},null,10,fe)])]))}}),me={class:`form-check input input--checkbox`},he=[`value`,`id`,`name`,`required`,`disabled`,`true-value`,`false-value`],ge=[`for`,`innerHTML`],_e=(0,t.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(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue||r.checked},set(e){i(`update:checked`,e),i(`update:modelValue`,e)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,me,[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{ref:`input`,"onUpdate:modelValue":r[0]||=e=>a.value=e,value:e.value,id:e.id,name:e.name,type:`checkbox`,required:e.required,disabled:e.disabled,class:`form-check-input`,"true-value":e.trueValue,"false-value":e.falseValue},null,8,he),[[t.vModelCheckbox,a.value]]),(0,t.createElementVNode)(`label`,{class:`input__label form-check-label`,for:e.id,innerHTML:(0,t.unref)(O)(e.label||``)},null,8,ge)]))}}),ve={class:`input-group input__input-group`},ye=[`id`,`name`,`placeholder`,`pattern`,`disabled`,`read-only`,`required`,`aria-label`],be=[`for`,`innerHTML`],xe=(0,t.defineComponent)({__name:`input-datetime`,props:{modelValue:{type:[String,Number,Boolean,Date],default:``},type:{type:String,default:`text`},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){let e=r.modelValue&&new Date(`${r.modelValue}Z`),t=e&&new Date(e.getTime()+new Date().getTimezoneOffset()*-60*1e3).toISOString();return t&&t.replace(`Z`,``)},set(e){let t=e&&new Date(e);e=t&&t.toISOString(),i(`update:modelValue`,e&&e.replace(`Z`,``))}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`input`,`input--${e.type}`])},[(0,t.createElementVNode)(`div`,ve,[(0,t.renderSlot)(n.$slots,`input-prepend`,{slotScope:`props`}),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[0]||=e=>a.value=e,type:`datetime-local`,id:e.id,name:e.name,placeholder:e.placeholder,pattern:e.pattern,disabled:e.disabled,"read-only":e.readOnly,required:e.required,class:`form-control`,"aria-label":e.label},null,8,ye),[[t.vModelText,a.value]]),(0,t.renderSlot)(n.$slots,`input-append`,{slotScope:`props`})]),(0,t.renderSlot)(n.$slots,`label`,{},()=>[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:e.id,class:`input__label`,innerHTML:(0,t.unref)(O)(`${e.label}${e.required?` *`:``}`)},null,8,be)):(0,t.createCommentVNode)(``,!0)])],2))}}),Se={class:`row`},Ce={class:`col-12`},we=[`for`,`innerHTML`],Te={key:0},Ee={class:`input-group justify-content-center`},De={key:0,class:`row`},Oe={class:`col-12 col-md-6`},ke={class:`col-12 col-md-6`},Ae={key:1,class:`row`},je={class:`col-12`},Me=(0,t.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:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let a={Sunday:0,Monday:1},o=(0,t.shallowRef)(null);(0,t.onMounted)(async()=>{let{VueDatePicker:e}=await import(`@vuepic/vue-datepicker`);o.value=e,console.log(`VueDatePicker loaded:`,u.value,s.locale)});let s=e,c=n,{t:l,locale:u}=(0,r.useI18n)(),d={en:i.enUS,de:i.de,fr:i.fr},f=(0,t.computed)(()=>{let e=s.locale||u.value;return d[e]||i.enUS}),p=(0,t.computed)(()=>{switch(s.locale||u.value){case`en`:return a.Sunday;case`de`:case`fr`:return a.Monday;default:return a.Sunday}}),m=(0,t.computed)(()=>s.inline||!s.picker?{openMenu:!1,format:f.value}:!0);function h(e){return!e||Number.isNaN(e.getTime())?null:e.toISOString().replace(`Z`,``)}function g(e){return!e||Array.isArray(e)?null:h(new Date(`${e}Z`))}function _(e){if(!e||Array.isArray(e))return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:(t.setUTCHours(t.getHours()),h(t))}function v(){let e=s.from||(Array.isArray(s.modelValue)?s.modelValue[0]:null),t=s.to||(Array.isArray(s.modelValue)?s.modelValue[1]:null);return s.utcStore?(e=e?E(e):null,t=t?E(t):null):(e=g(e),t=g(t)),[e,t]}let y=(0,t.ref)(v());(0,t.watch)(()=>[s.modelValue,s.from,s.to,s.utcStore],()=>{if(!s.range)return;let e=v();(e[0]!==y.value[0]||e[1]!==y.value[1])&&(y.value=e)});function b(e,t){s.utcStore?(e=e?D(e):null,t=t?D(t):null):(e=_(e),t=_(t)),c(`update:modelValue`,[e,t]),c(`update:from`,e),c(`update:to`,t)}function x(e,t){y.value=[e??null,t??null],b(e??null,t??null)}let S=(0,t.computed)({get(){if(s.range){let e=s.from||(Array.isArray(s.modelValue)?s.modelValue[0]:null),t=s.to||(Array.isArray(s.modelValue)?s.modelValue[1]:null);return s.utcStore?(e=e?E(e):null,t=t?E(t):null):(e=g(e),t=g(t)),[...e?[e]:[],...t?[t]:[]]}if(s.utcStore){let e=s.modelValue;return e&&E(e)||``}return g(s.modelValue)||``},set(e){if(s.range&&Array.isArray(e)){let[t,n]=e;s.utcStore?(t=D(t)||null,n=D(n)||null):(t=_(t),n=_(n)),c(`update:modelValue`,[t,n]),c(`update:from`,t),c(`update:to`,n)}else if(s.utcStore){let t=D(e);c(`update:modelValue`,t)}else c(`update:modelValue`,_(e))}}),C=(0,t.computed)({get(){return y.value[0]},set(e){x(e,y.value[1])}}),w=(0,t.computed)({get(){return y.value[1]},set(e){x(y.value[0],e)}});function T(e){if(!e)return;let t=e.getDate(),n=e.getMonth()+1,r=e.getFullYear(),i=e.getMinutes(),a=e.getHours();switch(f.value){case`de`:return`${t}.${n}.${r} ${a<10?`0`+a:a}:${i<10?`0`+i:i}`;case`fr`:return`${t}/${n}/${r} ${a<10?`0`+a:a}:${i<10?`0`+i:i}`;default:return`${n}/${t}/${r} ${a<10?`0`+a:a}:${i<10?`0`+i:i}`}}function E(e){if(!e||Array.isArray(e))return null;let t=e instanceof Date?new Date(e):new Date(`${e}Z`);return Number.isNaN(t.getTime())?null:`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}T${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}function D(e){if(!e||Array.isArray(e))return null;let t=e instanceof Date?new Date(e):new Date(String(e));return Number.isNaN(t.getTime())?null:t.toISOString().split(`.`)[0]}let k=e=>(e=Array.isArray(e)?e.map(e=>T(e)).join(` - `):T(e),e);return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`input`,`input--datepicker`])},[(0,t.renderSlot)(n.$slots,`label`,{},()=>[(0,t.createElementVNode)(`div`,Se,[(0,t.createElementVNode)(`div`,Ce,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:e.id,class:`input__label`,innerHTML:(0,t.unref)(O)(`${e.label}${e.required?` *`:``}`)},null,8,we)):(0,t.createCommentVNode)(``,!0)])])]),e.textInput?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Te,[(0,t.createElementVNode)(`div`,Ee,[(0,t.renderSlot)(n.$slots,`input-prepend`,{slotScope:`props`}),e.range&&!e.textRange?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,De,[(0,t.createElementVNode)(`div`,Oe,[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(o.value),{uid:`${e.id}-from`,modelValue:C.value,"onUpdate:modelValue":r[0]||=e=>C.value=e,locale:f.value,format:k,"text-input":m.value,disabled:e.disabled,"read-only":e.readOnly,required:e.required,"max-date":w.value,"auto-apply":!0,"week-start":p.value},null,8,[`uid`,`modelValue`,`locale`,`text-input`,`disabled`,`read-only`,`required`,`max-date`,`week-start`]))]),(0,t.createElementVNode)(`div`,ke,[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(o.value),{uid:`${e.id}-to`,modelValue:w.value,"onUpdate:modelValue":r[1]||=e=>w.value=e,locale:f.value,format:k,"text-input":m.value,disabled:e.disabled,"read-only":e.readOnly,required:e.required,"min-date":C.value,"auto-apply":!0,"week-start":p.value},null,8,[`uid`,`modelValue`,`locale`,`text-input`,`disabled`,`read-only`,`required`,`min-date`,`week-start`]))])])):((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(o.value),{key:1,uid:`${e.id}-input-to`,modelValue:S.value,"onUpdate:modelValue":r[2]||=e=>S.value=e,format:k,locale:f.value,range:e.textRange,"text-input":m.value,disabled:e.disabled,"read-only":e.readOnly,required:e.required,"auto-apply":!0,"week-start":p.value},null,8,[`uid`,`modelValue`,`locale`,`range`,`text-input`,`disabled`,`read-only`,`required`,`week-start`])),(0,t.renderSlot)(n.$slots,`input-append`,{slotScope:`props`})])])):(0,t.createCommentVNode)(``,!0),e.inline?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ae,[(0,t.createElementVNode)(`div`,je,[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(o.value),{uid:`${e.id}-inline`,modelValue:S.value,"onUpdate:modelValue":r[3]||=e=>S.value=e,locale:f.value,cancelText:`abbrechen`,selectText:`auswählen`,range:e.range,"multi-calendars":e.range,inline:{input:!1},"auto-apply":!0,"partial-range":e.range,"partial-flow":!0,"start-time":{hours:0,minutes:0},class:`justify-content-center`,disabled:e.disabled,"read-only":e.readOnly,required:e.required,"month-name-format":`long`,"week-start":p.value},null,8,[`uid`,`modelValue`,`locale`,`range`,`multi-calendars`,`partial-range`,`disabled`,`read-only`,`required`,`week-start`]))])])):(0,t.createCommentVNode)(``,!0)]))}}),Ne={class:`input-group input__input-group`},Pe=(0,t.defineComponent)({__name:`input-password`,props:{modelValue:{type:[String,Number,Boolean,Date],default:``},type:{type:String,default:`text`},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue},set(e){r.password===e||!r.password?i(`update:modelValue`,e):i(`update:modelValue`,``)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`input`,`input-password`])},[(0,t.createElementVNode)(`div`,Ne,[(0,t.createVNode)(q,{modelValue:a.value,"onUpdate:modelValue":r[0]||=e=>a.value=e,type:`password`,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readOnly,required:e.required,label:e.label},{"input-prepend":(0,t.withCtx)(e=>[(0,t.renderSlot)(n.$slots,`input-prepend`,{slotScope:`props`})]),"input-append":(0,t.withCtx)(r=>[(0,t.renderSlot)(n.$slots,`input-append`,{slotScope:`props`},()=>[e.confirm&&e.modelValue===e.password?((0,t.openBlock)(),(0,t.createBlock)(b,{key:0,symbol:`check`,class:`ms-2`})):(0,t.createCommentVNode)(``,!0)])]),_:3},8,[`modelValue`,`placeholder`,`disabled`,`readonly`,`required`,`label`])])]))}}),Fe={class:`input-group input__input-group`},Ie=[`onUpdate:modelValue`,`disabled`,`readonly`,`onPaste`,`onInput`,`onKeydown`],Le=(0,t.defineComponent)({__name:`input-passcode`,props:{modelValue:{type:[String,Number,Boolean,Date],default:``},type:{type:String,default:`text`},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=(0,t.ref)([]),i=(0,t.ref)([]),a=e,o=n,s=(0,t.computed)({get(){return a.modelValue},set(e){a.passcodeMatch===e||!a.passcodeMatch?o(`update:modelValue`,e):o(`update:modelValue`,``)}});(0,t.watch)(()=>a.modelValue,e=>{let t=e?.toString()||``;for(i.value=t.split(``).slice(0,a.passcodeMatch?.length||6);i.value.length<(a.passcodeMatch?.length||6);)i.value.push(``)},{immediate:!0}),(0,t.watch)(()=>i.value,e=>{let t=e.join(``);a.passcodeMatch===t||!a.passcodeMatch?o(`update:modelValue`,t):o(`update:modelValue`,``)},{deep:!0});let c=(e,t)=>{e.preventDefault();let n=e.clipboardData?.getData(`text`)||``;console.log(`Paste detected:`,n);let o=n.split(``),s=a.passcodeMatch?.length||6;o.forEach((e,n)=>{let r=t+n;r<s&&(i.value[r]=e)});let c=Math.min(t+o.length,s-1);setTimeout(()=>r.value[c]?.focus(),0)},l=(e,t)=>{a.passcodeMatch?.length,e.key===`Backspace`&&!i.value[t]&&t>0&&r.value[t-1]?.focus()},u=(e,t)=>{let n=e.target.value;n.length>1&&(n=n.slice(-1)),i.value[t]=n;let o=a.passcodeMatch?.length||6;n&&t<o-1&&setTimeout(()=>r.value[t+1]?.focus(),0)};return(n,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`input`,`input-passcode`])},[(0,t.createElementVNode)(`div`,Fe,[e.splitInput?((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:1},(0,t.renderList)(e.passcodeMatch,(n,a)=>(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:a,"onUpdate:modelValue":e=>i.value[a]=e,type:`text`,ref_for:!0,ref:e=>r.value[a]=e,maxlength:1,disabled:e.disabled,readonly:e.readOnly,onPaste:e=>c(e,a),onInput:e=>u(e,a),onKeydown:e=>l(e,a),size:`1`,class:`form-control text-center`},null,40,Ie)),[[t.vModelText,i.value[a]]])),128)):((0,t.openBlock)(),(0,t.createBlock)(Pe,{key:0,modelValue:s.value,"onUpdate:modelValue":a[0]||=e=>s.value=e,type:e.type,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readOnly,required:e.required,label:e.label},null,8,[`modelValue`,`type`,`placeholder`,`disabled`,`readonly`,`required`,`label`]))])]))}}),Re={class:`check-group`},ze=[`id`,`name`,`value`,`disabled`,`read-only`,`required`],Be=[`for`,`innerHTML`],Ve=(0,t.defineComponent)({__name:`check-group`,props:{modelValue:{type:null,default:()=>[]},options:{type:Array,required:!0},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},label:{type:String,default:``},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,i=n;(0,t.ref)([]);let a=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}}),o=(0,t.computed)(()=>r.options&&r.options.map(e=>(e=typeof e==`string`?{text:e,value:e}:e,{...e,active:r.modelValue&&r.modelValue.includes(e.value)})));return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Re,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(o.value,(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:i,class:`form-check`},[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{type:`checkbox`,"onUpdate:modelValue":r[0]||=e=>a.value=e,id:`${e.id}-${i}`,name:e.name,class:`form-check-input`,value:n.value||n,disabled:e.disabled,"read-only":e.readOnly,required:e.required},null,8,ze),[[t.vModelCheckbox,a.value]]),(0,t.createElementVNode)(`label`,{class:`form-check-label`,for:`${e.id}-${i}`,innerHTML:n.text},null,8,Be)]))),128))]))}}),He={class:`input radio-group`},Ue=[`id`,`name`,`value`,`checked`,`disabled`,`read-only`,`required`,`onChange`],We=[`for`,`innerHTML`],Ge=[`for`],J=(0,t.defineComponent)({__name:`radio-group`,props:{modelValue:{type:null},options:{type:Array,default:[]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=n;function i(e){r(`update:modelValue`,e)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,He,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.options,(r,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:a,class:(0,t.normalizeClass)([`form-check`,e.itemClass])},[(0,t.createElementVNode)(`input`,{type:`radio`,id:`${e.id}-${a}`,name:e.name,class:(0,t.normalizeClass)([`form-check-input`,`
2
2
  ${a===e.keyOption||r.key?`form-check-input--key`:``}
3
3
  ${(a===e.keyOption||r.key)&&r.value===e.modelValue?.value?`form-check-input--match`:``}
4
- `]),value:r.value||r,checked:r.value?r.value===e.modelValue?.value:r===e.modelValue,disabled:e.disabled,"read-only":e.readOnly,required:e.required,onChange:e=>i(r)},null,42,Ue),(0,t.renderSlot)(n.$slots,`option-label`,{option:r,index:a},()=>[(0,t.createElementVNode)(`label`,{class:`form-check-label`,for:`${e.id}-${a}`,innerHTML:(0,t.unref)(O)(r.text||``)},null,8,We)])],2))),128)),(0,t.renderSlot)(n.$slots,`label`,{},()=>[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:e.id},(0,t.toDisplayString)(e.label),9,Ge)):(0,t.createCommentVNode)(``,!0)])]))}}),Ke={class:`radio-buttons`},qe=[`for`],Je=(0,t.defineComponent)({__name:`radio-buttons`,props:{modelValue:{type:null,default:``},options:{type:Array,default:[]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ke,[(0,t.createVNode)(J,{modelValue:a.value,"onUpdate:modelValue":r[0]||=e=>a.value=e,options:e.options,name:e.name,id:e.id,disabled:e.disabled,required:e.required,class:`d-flex flex-column gap-3 justify-content-center`},{"option-label":(0,t.withCtx)(n=>[(0,t.createElementVNode)(`label`,{for:`${e.id}-${n.index}`,class:`d-block btn btn-outline-primary p-3 fw-bold`,role:`button`},(0,t.toDisplayString)(n.option.text),9,qe)]),_:1},8,[`modelValue`,`options`,`name`,`id`,`disabled`,`required`])]))}}),Ye=[`id`,`name`,`multiple`,`accept`,`disabled`],Xe={class:`input__input-group input-group`},Ze=[`value`,`id`,`name`,`disabled`],Qe=[`for`,`disabled`],$e={class:`btn btn-outline-contrast`},et=[`for`],tt=[`innerHTML`],nt=(0,t.defineComponent)({__name:`input-file`,props:{modelValue:{type:Array,default:[]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n;function a(e){let t=e.target&&e.target.files;t&&(s.splice(0,s.length),Array.from(t).forEach(e=>{if(r.maxFileSize&&e.size>r.maxFileSize){console.warn(`File ${e.name} exceeds the ${r.maxFileSize} bytes size limit and will not be added.`);return}s.push(e)}))}let o=(0,t.ref)(),s=(0,t.reactive)([]),c=(0,t.computed)(()=>s&&s.map(e=>e.name));return(0,t.watch)(()=>r.modelValue,(e,t)=>{e.length===0&&(o.value.value=null)},{deep:!0}),(0,t.watch)(()=>s,(e,t)=>{i(`update:modelValue`,e)},{deep:!0}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`input input-file`,`input-file--primary`])},[(0,t.createElementVNode)(`input`,{ref_key:`input`,ref:o,type:`file`,id:e.id,name:e.name,class:`d-none`,onChange:a,multiple:e.multiple,accept:e.accept,disabled:e.disabled},null,40,Ye),(0,t.createElementVNode)(`div`,Xe,[(0,t.renderSlot)(n.$slots,`input-prepend`),(0,t.createElementVNode)(`input`,{type:`text`,value:c.value,id:e.id,name:e.name,class:`form-control`,disabled:e.disabled},null,8,Ze),(0,t.renderSlot)(n.$slots,`input-append`,{},()=>[(0,t.createElementVNode)(`label`,{for:e.id,disabled:e.disabled},[(0,t.renderSlot)(n.$slots,`button`,{},()=>[(0,t.createElementVNode)(`span`,$e,(0,t.toDisplayString)(n.$t(`common.selectFile`)),1)])],8,Qe)])]),(0,t.createElementVNode)(`label`,{for:e.id},[(0,t.renderSlot)(n.$slots,`label`,{},()=>[(0,t.createElementVNode)(`span`,{class:`input__label`,innerHTML:(0,t.unref)(O)(`${e.label}${e.required?` *`:``}`)},null,8,tt)])],8,et)]))}}),rt={key:0,class:`custom-html`},it=[`innerHTML`],at=(0,t.defineComponent)({__name:`custom-html`,props:{content:{}},setup(e){let n=(0,t.ref)(!1);return(0,t.onMounted)(()=>{window!==void 0&&(n.value=!0)}),(r,i)=>n.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,rt,[(0,t.renderSlot)(r.$slots,`default`,{},()=>[(0,t.createElementVNode)(`div`,{class:`custom-html__content`,innerHTML:e.content},null,8,it)])])):(0,t.createCommentVNode)(``,!0)}}),ot={class:`select-media`},st=[`for`],ct=(0,t.defineComponent)({__name:`select-media`,props:{modelValue:{type:null,default:``},assets:{type:Array,default:[]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},label:{type:String},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},emitKey:{type:String,default:`src`}},emits:[`update:modelValue`,`update:selection`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue},set(e){let t=r.assets.find(t=>t.id===e);i(`update:modelValue`,r.emitKey?t[r.emitKey]:t),r.emitKey&&r.emitKey!==`id`&&i(`update:selection`,t.id)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ot,[(0,t.createVNode)(J,{modelValue:a.value,"onUpdate:modelValue":r[0]||=e=>a.value=e,options:e.assets.map(e=>e.id),name:e.name,id:e.id,disabled:e.disabled,required:e.required,class:`d-flex flex-wrap flex-row justify-content-center`,itemClass:`col-6 p-2`},{"option-label":(0,t.withCtx)(n=>[(0,t.createElementVNode)(`label`,{for:`${e.id}-${n.index}`,class:(0,t.normalizeClass)([`w-100`,{"is-active":e.assets[n.index].id===a.value}]),role:`button`},[e.assets[n.index].thumbnail?((0,t.openBlock)(),(0,t.createBlock)(w,{key:0,src:e.assets[n.index].thumbnail,alt:e.assets[n.index].id},null,8,[`src`,`alt`])):(0,t.createCommentVNode)(``,!0)],10,st)]),_:1},8,[`modelValue`,`options`,`name`,`id`,`disabled`,`required`])]))}}),lt={key:0,class:`rte-editor__controls mb-2`},ut=[`disabled`],dt=[`disabled`],ft={class:`btn-group`},pt=[`disabled`],mt=[`disabled`],ht={class:`btn-group`},gt={class:`dropdown`},_t={class:`btn dropdown-toggle btn-light`,"data-bs-toggle":`dropdown`,role:`button`,type:`button`},vt={class:`dropdown-menu`},yt={class:`dropdown`},bt={class:`btn dropdown-toggle btn-light`,"data-bs-toggle":`dropdown`,role:`button`,type:`button`},xt={class:`dropdown-menu`},St={class:`btn-group`},Ct=[`disabled`],wt=[`disabled`],Tt=[`title`],Et=(0,t.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(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!1),o=(0,t.ref)(!1),s=(0,t.shallowRef)(void 0),c=(0,t.shallowRef)(null);(0,t.onMounted)(async()=>{let[{Editor:e,mergeAttributes:t},{EditorContent:n},{default:a},{default:o},{default:l},{default:u},{default:d}]=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`)]);c.value=n,s.value=new e({content:r.modelValue,onUpdate:()=>{i(`update:modelValue`,s.value?.getHTML())},extensions:[u.configure({bold:!1,link:!1}),d.extend({addAttributes(){return{class:{default:null}}},parseHTML(){return[{tag:`strong`},{tag:`b`}]},renderHTML({HTMLAttributes:e}){return[`strong`,t(this.options.HTMLAttributes,e),0]}}),o.configure({types:[`heading`,`paragraph`]}),a,l.extend({addAttributes(){return{...this.parent?.(),class:{default:null},id:{default:null},title:{default:null}}},parseHTML(){return[{tag:`a[href]`,getAttrs:e=>({href:e.getAttribute(`href`),target:e.getAttribute(`target`),rel:e.getAttribute(`rel`),class:e.getAttribute(`class`),id:e.getAttribute(`id`),title:e.getAttribute(`title`)})},{tag:`a:not([href])`,getAttrs:e=>({href:null,target:e.getAttribute(`target`),rel:e.getAttribute(`rel`),class:e.getAttribute(`class`),id:e.getAttribute(`id`),title:e.getAttribute(`title`)})}]},renderHTML({HTMLAttributes:e}){if(!e.href){let{href:n,target:r,rel:i,...a}=e;return[`a`,t(a),0]}return[`a`,t(this.options.HTMLAttributes,e),0]}}).configure({openOnClick:!1,autolink:!0,defaultProtocol:`https`,protocols:[`http`,`https`],HTMLAttributes:{target:`_blank`,rel:`noopener noreferrer`}})]})}),(0,t.onBeforeUnmount)(()=>{s.value?.destroy()}),(0,t.watch)(()=>r.modelValue,(e,t)=>{if(s.value){if(s.value.getHTML()===e)return;s.value.commands.setContent(e)}});function l(){let e=s.value?.getAttributes(`link`).href,t=window.prompt(`URL`,e);if(t!==null){if(t===``){s.value?.chain().focus().extendMarkRange(`link`).unsetLink().run();return}try{s.value?.chain().focus().extendMarkRange(`link`).setLink({href:t}).run()}catch(e){alert(e.message)}}}let u=()=>{s.value?.commands.setContent(`<textarea>${s.value.getHTML()}</textarea>`),a.value=!0},d=()=>{s.value?.commands.setContent(s.value.getText()),a.value=!1};return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`,disabled:!o.value},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([o.value?``:n.$attrs.class,`rte-editor`,{"rte-editor--fullscreen":o.value}])},[s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,lt,[a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,class:`btn btn-sm btn-light is-active`,onClick:d,disabled:!s.value.can().chain().focus().toggleCode().run(),title:`Toggle Source`},[(0,t.createVNode)(b,{symbol:`source`,"base-path":e.iconBasePath},null,8,[`base-path`])],8,dt)):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`code`)}]),onClick:u,disabled:!s.value.can().chain().focus().toggleCode().run(),title:`Toggle Source`},[(0,t.createVNode)(b,{symbol:`source`,"base-path":e.iconBasePath},null,8,[`base-path`])],10,ut)),(0,t.createElementVNode)(`div`,ft,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`bold`)}]),onClick:r[0]||=e=>s.value?.chain().focus().toggleBold().run(),disabled:!s.value.can().chain().focus().toggleBold().run(),title:`Toggle Bold`},[(0,t.createVNode)(b,{symbol:`bold`,"base-path":e.iconBasePath},null,8,[`base-path`])],10,pt),(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`italic`)}]),onClick:r[1]||=e=>s.value?.chain().focus().toggleItalic().run(),disabled:!s.value.can().chain().focus().toggleItalic().run(),title:`Toggle Italic`},[(0,t.createVNode)(b,{symbol:`italic`,"base-path":e.iconBasePath},null,8,[`base-path`])],10,mt)]),(0,t.createElementVNode)(`div`,ht,[(0,t.createElementVNode)(`div`,gt,[(0,t.createElementVNode)(`button`,_t,[s.value.isActive(`heading`,{level:1})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:0,symbol:`h1`,"base-path":e.iconBasePath},null,8,[`base-path`])):s.value.isActive(`heading`,{level:2})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:1,symbol:`h2`,"base-path":e.iconBasePath},null,8,[`base-path`])):s.value.isActive(`heading`,{level:3})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:2,symbol:`h3`,"base-path":e.iconBasePath},null,8,[`base-path`])):s.value.isActive(`heading`,{level:4})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:3,symbol:`h4`,"base-path":e.iconBasePath},null,8,[`base-path`])):((0,t.openBlock)(),(0,t.createBlock)(b,{key:4,symbol:`headline`,"base-path":e.iconBasePath},null,8,[`base-path`]))]),(0,t.createElementVNode)(`ul`,vt,[(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`heading`,{level:1})}]),onClick:r[2]||=e=>s.value?.chain().focus().setHeading({level:1}).run(),title:`Set Heading 1`},[(0,t.createVNode)(b,{symbol:`h1`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`heading`,{level:2})}]),onClick:r[3]||=e=>s.value?.chain().focus().setHeading({level:2}).run(),title:`Set Heading 2`},[(0,t.createVNode)(b,{symbol:`h2`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`heading`,{level:3})}]),onClick:r[4]||=e=>s.value?.chain().focus().setHeading({level:3}).run(),title:`Set Heading 3`},[(0,t.createVNode)(b,{symbol:`h3`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`heading`,{level:4})}]),onClick:r[5]||=e=>s.value?.chain().focus().setHeading({level:4}).run(),title:`Set Heading 4`},[(0,t.createVNode)(b,{symbol:`h4`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)])])]),(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`paragraph`)}]),onClick:r[6]||=e=>s.value?.chain().focus().setParagraph().run(),title:`Set Paragraph`},[(0,t.createVNode)(b,{symbol:`paragraph`,"base-path":e.iconBasePath},null,8,[`base-path`])],2),(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`bulletList`)}]),onClick:r[7]||=e=>s.value?.chain().focus().toggleBulletList().run(),title:`Toggle Bullet List`},[(0,t.createVNode)(b,{symbol:`list`,"base-path":e.iconBasePath},null,8,[`base-path`])],2),(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`orderedList`)}]),onClick:r[8]||=e=>s.value?.chain().focus().toggleOrderedList().run(),title:`Toggle Ordered List`},[(0,t.createVNode)(b,{symbol:`ordered-list`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`div`,yt,[(0,t.createElementVNode)(`button`,bt,[s.value.isActive({textAlign:`center`})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:0,symbol:`align-center`,"base-path":e.iconBasePath},null,8,[`base-path`])):s.value.isActive({textAlign:`left`})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:1,symbol:`align-left`,"base-path":e.iconBasePath},null,8,[`base-path`])):s.value.isActive({textAlign:`right`})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:2,symbol:`align-right`,"base-path":e.iconBasePath},null,8,[`base-path`])):((0,t.openBlock)(),(0,t.createBlock)(b,{key:3,symbol:`align-justify`,"base-path":e.iconBasePath},null,8,[`base-path`]))]),(0,t.createElementVNode)(`ul`,xt,[(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive({textAlign:`left`})}]),onClick:r[9]||=e=>s.value?.chain().focus().setTextAlign(`left`).run()},[(0,t.createVNode)(b,{symbol:`align-left`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive({textAlign:`center`})}]),onClick:r[10]||=e=>s.value?.chain().focus().setTextAlign(`center`).run()},[(0,t.createVNode)(b,{symbol:`align-center`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive({textAlign:`right`})}]),onClick:r[11]||=e=>s.value?.chain().focus().setTextAlign(`right`).run()},[(0,t.createVNode)(b,{symbol:`align-right`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive({textAlign:`pretty`})}]),onClick:r[12]||=e=>s.value?.chain().focus().setTextAlign(`right`).run()},[(0,t.createVNode)(b,{symbol:`align-justify`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)])])]),s.value.isActive(`link`)?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:3,class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`link`)}]),onClick:r[13]||=e=>s.value.chain().focus().unsetLink().run(),title:`Unset Link`},[(0,t.createVNode)(b,{symbol:`unlink`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`link`)}]),onClick:l,title:`Set Link`},[(0,t.createVNode)(b,{symbol:`link`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)),(0,t.createElementVNode)(`div`,St,[(0,t.createElementVNode)(`button`,{class:`btn btn-sm btn-light`,onClick:r[14]||=e=>s.value?.chain().focus().undo().run(),disabled:!s.value.can().chain().focus().undo().run(),title:`Undo`},[(0,t.createVNode)(b,{symbol:`undo`,"base-path":e.iconBasePath},null,8,[`base-path`])],8,Ct),(0,t.createElementVNode)(`button`,{class:`btn btn-sm btn-light`,onClick:r[15]||=e=>s.value?.chain().focus().redo().run(),disabled:!s.value.can().chain().focus().redo().run(),title:`Redo`},[(0,t.createVNode)(b,{symbol:`redo`,"base-path":e.iconBasePath},null,8,[`base-path`])],8,wt)]),e.allowFullscreen?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:4,class:`btn btn-sm btn-light ms-auto`,onClick:r[16]||=e=>o.value=!o.value,title:o.value?`Exit Fullscreen`:`Fullscreen`},[(0,t.createVNode)(b,{symbol:o.value?`close`:`maximize`,"base-path":e.iconBasePath},null,8,[`symbol`,`base-path`])],8,Tt)):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value),{class:`rte-editor__content`,editor:s.value},null,8,[`editor`]))],2)],8,[`disabled`]))}}),Dt={class:`input-color`},Ot={class:`base-input__color-swatch`},kt=[`name`,`id`,`disabled`,`read-only`,`required`,`aria-label`],At=(0,t.defineComponent)({__name:`input-color`,props:{modelValue:{type:[String,Number,Boolean,Date],default:``},type:{type:String,default:`text`},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Dt,[(0,t.createVNode)(q,{modelValue:a.value,"onUpdate:modelValue":r[1]||=e=>a.value=e,type:e.type===`color`?`text`:e.type,id:e.id,name:e.name,placeholder:e.placeholder,pattern:e.pattern,label:e.label,disabled:e.disabled,"read-only":e.readOnly,required:e.required,maxlength:e.maxlength},{"input-append":(0,t.withCtx)(n=>[(0,t.createElementVNode)(`span`,Ot,[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[0]||=e=>a.value=e,type:`color`,name:`${e.name}-color`,id:`${e.id}-color`,disabled:e.disabled,"read-only":e.readOnly,required:e.required,class:`form-control`,"aria-label":e.label},null,8,kt),[[t.vModelText,a.value]])])]),_:1},8,[`modelValue`,`type`,`id`,`name`,`placeholder`,`pattern`,`label`,`disabled`,`read-only`,`required`,`maxlength`])]))}}),jt={class:`color-palette`},Mt=[`for`],Nt=(0,t.defineComponent)({__name:`color-palette`,props:{modelValue:{type:[String],default:``},colors:{type:Array,default:[`#000000`,`#FFFFFF`]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},label:{type:String},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,jt,[(0,t.createVNode)(J,{modelValue:a.value,"onUpdate:modelValue":r[0]||=e=>a.value=e,options:e.colors,name:e.name,id:e.id,label:e.label,disabled:e.disabled,required:e.required,class:`d-flex flex-wrap flex-row gap-2`},{"option-label":(0,t.withCtx)(n=>[(0,t.createElementVNode)(`label`,{for:`${e.id}-${n.index}`,class:`d-block rounded-circle`,style:(0,t.normalizeStyle)({backgroundColor:n.option})},null,12,Mt)]),_:1},8,[`modelValue`,`options`,`name`,`id`,`label`,`disabled`,`required`])]))}}),Pt=[`id`],Ft=[`for`,`innerHTML`],It={class:`dropdown`},Lt={class:`caption`},Rt=[`innerHTML`],zt={class:`caption__text`},Bt={class:`d-block text-truncate`},Vt={class:`dropdown-menu`},Ht={class:`form-check d-flex`},Ut=[`value`,`id`,`name`,`label`,`required`,`disabled`],Wt=[`value`,`id`,`name`,`label`,`required`,`disabled`],Gt=[`for`],Y=(0,t.defineComponent)({__name:`input-dropdown`,props:{id:{type:String},name:{type:String,default:()=>`dropdown-${j()}`},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(e,{emit:n}){let{t:i}=(0,r.useI18n)(),a=e,o=n,s=(0,t.computed)({get(){return a.multiple&&!a.modelValue?[]:a.modelValue},set(e){o(`update:modelValue`,e)}}),c=(0,t.computed)(()=>a.options&&a.options.map(e=>(e=typeof e==`string`?{text:e,value:e}:e,{...e,active:a.modelValue&&e.value&&(a.exactMatch?a.modelValue===e.value:a.multiple?a.modelValue.includes(e.value):a.modelValue===e.value)}))),l=(0,t.computed)(()=>{if(!a.modelValue)return a.placeholder||`${i(`common.select`)}`;if(a.multiple&&Array.isArray(a.modelValue)&&a.modelValue.length)return c.value.reduce((e,t)=>a.modelValue.includes(t.value)?`${e}${e?`, `:``}${t.text}`:e,``);if(!a.multiple){let e=c.value.find(e=>typeof e.value==`object`&&e.value!==null?JSON.stringify(e.value)===JSON.stringify(a.modelValue):e.value===a.modelValue);return e?e.text:a.placeholder||`${i(`common.select`)}`}return a.placeholder||`${i(`common.select`)}`});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`input input-dropdown`,id:`${e.id||e.name}`},[(0,t.renderSlot)(n.$slots,`label`,{},()=>[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:`${e.id||e.name}--dropdown-toggle`,class:`input__label`,innerHTML:`${e.label}${e.required?` *`:``}`},null,8,Ft)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,It,[(0,t.createVNode)(G,{id:`${e.id||e.name}--dropdown-toggle`,"data-bs-toggle":`dropdown`,role:`button`,type:`button`,title:l.value,class:(0,t.normalizeClass)([`btn dropdown-toggle`,{[`btn-${e.variant}`]:e.variant}]),color:e.color,outlined:e.outlined,disabled:e.disabled},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Lt,[(0,t.createVNode)(t.Transition,{name:`bounce`},{default:(0,t.withCtx)(()=>[e.showSelectionCount&&e.modelValue.length?((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:0,class:`caption__count`,innerHTML:e.modelValue.length},null,8,Rt)):(0,t.createCommentVNode)(``,!0)]),_:1}),(0,t.createElementVNode)(`span`,zt,[(0,t.createElementVNode)(`span`,Bt,(0,t.toDisplayString)(e.toggleCaption||l.value),1)])])]),_:1},8,[`id`,`title`,`class`,`color`,`outlined`,`disabled`]),(0,t.createElementVNode)(`ul`,Vt,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(c.value,(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:`${n.value}-${i}`},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`dropdown-item`,n.active&&`active`])},[(0,t.createElementVNode)(`div`,Ht,[e.multiple?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{type:`checkbox`,"onUpdate:modelValue":r[0]||=e=>s.value=e,value:n.value,key:`${e.name}-${n.value}-${i}__if`,id:`${e.name}-${n.value}-${i}`,name:e.name,label:n.text,required:e.required,disabled:n.selectable===!1,class:`form-check-input`},null,8,Ut)),[[t.vModelCheckbox,s.value]]):(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{type:`radio`,"onUpdate:modelValue":r[1]||=e=>s.value=e,value:n.value,key:`${e.name}-${n.value}-${i}__else`,id:`${e.name}-${n.value}-${i}`,name:e.name,label:n.text,required:e.required,disabled:n.selectable===!1,class:`form-check-input visually-hidden`},null,8,Wt)),[[t.vModelRadio,s.value]]),(0,t.createElementVNode)(`label`,{class:`form-check-label flex-grow-1`,onclick:`event.stopPropagation`,for:`${e.name}-${n.value}-${i}`},(0,t.toDisplayString)(n.text),9,Gt)])],2)]))),128))])])],8,Pt))}}),Kt={key:0,class:`auto-suggest__suggestions position-relative`},qt={class:`suggestions dropdown-menu show w-100 mt-2`},Jt=[`onClick`],Yt=[`innerHTML`],Xt=(0,t.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(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(),o=(0,t.ref)(!1),s=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}}),c=(0,t.computed)(()=>{let e=RegExp(`(${s.value})`,`i`);return s.value?r.options.filter(t=>e.test(t)):r.options}),l=(0,t.computed)(()=>{let e=RegExp(`(${s.value})`,`i`);return c.value.map(t=>O(t.replace(e,`<strong>$1</strong>`)))});(0,t.watch)(()=>r.options,(e,t)=>{e.length&&(o.value=!0)},{deep:!0});function u(){r.options.length&&(o.value=!0)}function d(e){o.value=!1;let t=c.value[e];i(`update:modelValue`,t),i(`update:selection`,t)}let f=(0,t.ref)();function p(e){let t=e.target;o.value&&t&&!a.value.contains(t)&&(o.value=!1)}return(0,t.onBeforeMount)(()=>{f.value=document.addEventListener(`click`,p)}),(0,t.onBeforeUnmount)(()=>{document.removeEventListener(`click`,f.value)}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`auto-suggest`,ref_key:`container`,ref:a},[(0,t.createElementVNode)(`div`,{class:`auto-suggest__input`,onFocusCapture:u},[(0,t.renderSlot)(e.$slots,`default`,{},()=>[(0,t.createVNode)(q,(0,t.mergeProps)({modelValue:s.value,"onUpdate:modelValue":n[0]||=e=>s.value=e},e.$props),null,16,[`modelValue`])])],32),o.value&&c.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Kt,[(0,t.createElementVNode)(`ul`,qt,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(l.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:e,class:`suggestions__item dropdown-item`,onClick:(0,t.withModifiers)(e=>d(n),[`prevent`])},[(0,t.createElementVNode)(`p`,{class:`text-truncate my-2`,innerHTML:e},null,8,Yt)],8,Jt))),128))])])):(0,t.createCommentVNode)(``,!0)],512))}});function Zt(){return typeof navigator>`u`?null:{userAgent:navigator.userAgent??``,platform:navigator.platform??``,maxTouchPoints:navigator.maxTouchPoints??0}}function Qt(e=Zt()){return e?/iPhone|iPad|iPod/i.test(e.userAgent)?!0:e.platform===`MacIntel`&&e.maxTouchPoints>1:!1}function $t(e=Zt()){return!!e&&/Android/i.test(e.userAgent)}var en=()=>Qt(),tn=()=>$t();function nn(e){return typeof e.requestVideoFrameCallback==`function`}function rn(e,t,n,r){let i=Math.max(n/e,r/t),a=n/i,o=r/i;return{sx:(e-a)/2,sy:(t-o)/2,sw:a,sh:o}}function an(e,t){let n=Math.min(1,Math.max(0,t)),r=e.match(/^#([\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i)?.[1];if(!r)return{color:e,opacity:n};let i=r.length<=4?[...r].map(e=>e+e).join(``):r;return{color:`rgba(${Number.parseInt(i.slice(0,2),16)}, ${Number.parseInt(i.slice(2,4),16)}, ${Number.parseInt(i.slice(4,6),16)}, ${(i.length===8?Number.parseInt(i.slice(6,8),16)/255:1)*n})`,opacity:1}}function on(){if(typeof window>`u`)return 0;let e=window.screen?.orientation?.angle;if(typeof e==`number`)return sn(e);let t=window.orientation;return typeof t==`number`?sn(t):0}function sn(e){return(Math.round(e/90)*90%360+360)%360}function cn(e,t){let n=e.videoWidth,r=e.videoHeight;if(!n||!r)throw Error(`Video has no frame to capture yet`);let i=document.createElement(`canvas`);i.width=t.width,i.height=t.height;let a=i.getContext(`2d`);if(!a)throw Error(`2D canvas context unavailable`);let o=en()?on():0,s=o===90||o===270,c=`filter`in a;if(a.save(),t.mirror&&(a.translate(t.width,0),a.scale(-1,1)),c&&t.filter&&t.filter!==`none`&&(a.filter=ln(t.filter)),s){a.translate(t.width/2,t.height/2),a.rotate(-o*Math.PI/180);let i=t.height,s=t.width,c=rn(n,r,i,s);a.drawImage(e,c.sx,c.sy,c.sw,c.sh,-i/2,-s/2,i,s)}else{let i=rn(n,r,t.width,t.height);a.drawImage(e,i.sx,i.sy,i.sw,i.sh,0,0,t.width,t.height)}a.restore(),!c&&t.filter&&t.filter!==`none`&&un(a,t.filter);let l=t.tintColor?an(t.tintColor,t.tintIntensity??0):null;return l&&l.opacity>0&&(a.save(),a.globalAlpha=l.opacity,a.fillStyle=l.color,a.fillRect(0,0,t.width,t.height),a.restore()),i}function ln(e){switch(e){case`grayscale`:return`grayscale(1)`;case`sepia`:return`sepia(1)`;default:return`none`}}function un(e,t){if(t===`none`)return;let{width:n,height:r}=e.canvas,i=e.getImageData(0,0,n,r);dn(i.data,t),e.putImageData(i,0,0)}function dn(e,t){for(let n=0;n<e.length;n+=4){let r=e[n]??0,i=e[n+1]??0,a=e[n+2]??0;if(t===`grayscale`){let t=.2126*r+.7152*i+.0722*a;e[n]=e[n+1]=e[n+2]=t}else t===`sepia`&&(e[n]=Math.min(255,.393*r+.769*i+.189*a),e[n+1]=Math.min(255,.349*r+.686*i+.168*a),e[n+2]=Math.min(255,.272*r+.534*i+.131*a))}}function fn(e,t={}){let n=t.type??`image/jpeg`,r=t.quality??.92;return t.asBlob?new Promise((t,i)=>{e.toBlob(e=>e?t(e):i(Error(`canvas.toBlob returned null`)),n,r)}):Promise.resolve(e.toDataURL(n,r))}function pn(e){let{deviceId:t,facing:n,resolution:r}=e,i=r?mn(r):null,a=[];return t&&(i&&a.push({label:`device+dims`,constraints:{video:{deviceId:{exact:t},...i}}}),a.push({label:`device`,constraints:{video:{deviceId:{exact:t}}}}),e.strictDevice)?a:(n&&(i&&a.push({label:`facing+dims`,constraints:{video:{facingMode:{ideal:n},...i}}}),a.push({label:`facing`,constraints:{video:{facingMode:{ideal:n}}}})),i&&a.push({label:`dims`,constraints:{video:{...i}}}),a.push({label:`any`,constraints:{video:!0}}),a)}function mn(e){return{width:{ideal:e.width},height:{ideal:e.height}}}function hn(e){return e&&typeof e==`object`&&`name`in e&&typeof e.name==`string`?e.name:``}function gn(e){let t=hn(e);return t===`NotAllowedError`||t===`PermissionDeniedError`||t===`SecurityError`||t===`NotFoundError`}function _n(e){let t=hn(e);return t===`NotReadableError`||t===`AbortError`||t===`TrackStartError`}function vn(e){switch(hn(e)){case`NotAllowedError`:case`PermissionDeniedError`:case`SecurityError`:return`not-allowed`;case`NotFoundError`:return`not-found`;case`NotReadableError`:case`AbortError`:case`TrackStartError`:return`not-readable`;case`OverconstrainedError`:case`ConstraintNotSatisfiedError`:return`overconstrained`;default:return`unknown`}}var yn=/\b(front|face|user|selfie|facetime)\b/i,bn=/\b(back|rear|environment|main|world)\b/i;function xn(e){return e?yn.test(e)?`user`:bn.test(e)?`environment`:null:null}function Sn(e){return e===`user`||e===`environment`?e:e===`front`?`user`:e===`back`||e===`rear`?`environment`:null}function Cn(e,t){let n=new Map,r=[];for(let i of e){if(!i.facing){r.push(i);continue}let e=n.get(i.facing);(!e||wn(i,t)>wn(e,t))&&n.set(i.facing,i)}let i=[...n.values()];return i.sort((e,t)=>(e.facing===`user`?-1:1)-(t.facing===`user`?-1:1)),[...i,...r]}function wn(e,t){let n=0;return e.deviceId===t&&(n+=2),e.probed&&(n+=1),n}function Tn(e,t,n){let r=e.filter(e=>e.deviceId!==t);if(r.length===0)return null;if(n){let e=r.find(e=>e.facing&&e.facing!==n);if(e)return e}let i=e.findIndex(e=>e.deviceId===t);return i===-1?r[0]??null:e[(i+1)%e.length]??null}var X=class extends Error{code;constructor(e,t,n){super(t,n===void 0?void 0:{cause:n}),this.name=`CameraError`,this.code=e}},En=1500,Dn=2,On=300,kn=[300,1e3,3e3],An=5e3,jn=800,Mn=500,Nn={width:{ideal:160},height:{ideal:120}},Pn=()=>void 0,Fn=e=>new Promise(t=>setTimeout(t,e)),In=class e{listeners=new Set;opts;state=`idle`;intent=`stopped`;stream=null;devices=[];activeDeviceId=null;activeFacing=null;error=null;permission=`unknown`;zoom=1;zoomCapability=null;desiredZoom=null;video=null;seq=0;tearingDown=!1;lastGood=null;autoCorrected=!1;disposed=!1;probeCache=new Map;refreshing=null;recoveryAttempts=0;recoveryTimer=null;stableTimer=null;healthTimer=null;deviceChangeTimer=null;watchdogCleanup=null;permissionStatus=null;constructor(e={}){this.opts=e,typeof document<`u`&&(document.addEventListener(`visibilitychange`,this.onVisibilityChange),window.addEventListener(`pageshow`,this.onPageShow)),typeof navigator<`u`&&navigator.mediaDevices&&(navigator.mediaDevices.addEventListener?.(`devicechange`,this.onDeviceChange),this.initPermission())}subscribe(e){return this.listeners.add(e),e(this.snapshot()),()=>this.listeners.delete(e)}snapshot(){return{state:this.state,intent:this.intent,stream:this.stream,devices:this.devices,activeDeviceId:this.activeDeviceId,activeFacing:this.activeFacing,error:this.error,permission:this.permission,zoom:this.zoom,zoomCapability:this.zoomCapability}}static isSupported(){return typeof navigator<`u`&&!!navigator.mediaDevices?.getUserMedia}attachVideo(e){this.video!==e&&(this.clearWatchdog(),this.video&&(this.video.srcObject=null),this.video=e,e&&this.stream&&this.state!==`paused`&&this.bindStream())}async start(t={}){if(this.disposed)return!1;if(!e.isSupported())return this.fail(new X(`unsupported`,`getUserMedia is not available in this browser`)),!1;let n=++this.seq;this.cancelRecovery(),this.intent=`live`,this.teardown(),this.error=null,this.setState(`starting`);let r=t.resolution??this.lastGood?.resolution??this.opts.resolution,i=!!(t.strictDevice&&t.deviceId),a=i?void 0:t.facing??(t.deviceId?void 0:this.opts.preferredFacing),o=pn({deviceId:t.deviceId,facing:a,resolution:r,strictDevice:i}),s=null,c=null;for(let e of o){if(n!==this.seq)return!1;try{s=await navigator.mediaDevices.getUserMedia(e.constraints);break}catch(t){if(c=t,gn(t))break;if(_n(t)){if(await Fn(On),n!==this.seq)return!1;try{s=await navigator.mediaDevices.getUserMedia(e.constraints);break}catch(e){if(c=e,gn(e))break}}}}if(n!==this.seq)return s?.getTracks().forEach(e=>e.stop()),!1;if(!s){let e=vn(c);return e===`not-allowed`&&(this.permission=`denied`),this.fail(new X(e,Ln(c),c)),!1}let l=s.getVideoTracks()[0];if(!l)return s.getTracks().forEach(e=>e.stop()),this.fail(new X(`not-found`,`Stream has no video track`)),!1;let u=l.getSettings(),d=u.deviceId??t.deviceId??null,f=d?this.probeCache.get(d):void 0,p=Sn(u.facingMode)??f??xn(l.label);if(d&&this.probeCache.set(d,p),this.stream=s,this.activeDeviceId=d,this.activeFacing=p,this.lastGood={deviceId:d,resolution:r},this.permission!==`granted`&&(this.permission=`granted`),l.onended=this.onTrackEnded,this.readZoomCapability(l),this.setState(`live`),this.armStableTimer(),this.bindStream(),this.desiredZoom!==null&&this.setZoom(this.desiredZoom),await this.refreshDevices(),n!==this.seq)return!1;if(!t.deviceId&&!this.autoCorrected&&this.opts.preferredFacing&&p&&(this.autoCorrected=!0,p!==this.opts.preferredFacing)){let e=this.devices.find(e=>e.facing===this.opts.preferredFacing&&e.deviceId!==d);if(e)return this.start({deviceId:e.deviceId,resolution:r,strictDevice:!0})}return!0}stop(){this.seq++,this.intent=`stopped`,this.cancelRecovery(),this.teardown(),this.error=null,this.setState(`idle`)}pause(){if(!(this.state!==`live`||!this.stream)){this.intent=`paused`,this.clearWatchdog(),this.video?.pause();for(let e of this.stream.getVideoTracks())e.enabled=!1;this.setState(`paused`)}}async resume(){if(this.state!==`paused`)return this.state===`live`;this.intent=`live`;let e=this.stream?.getVideoTracks()[0];return!e||e.readyState===`ended`?this.start({deviceId:this.lastGood?.deviceId??void 0}):(e.enabled=!0,this.setState(`live`),this.bindStream(),!0)}async toggle(){return this.state===`live`?(this.pause(),!0):this.state===`paused`?this.resume():this.start()}async switchCamera(){if(this.state===`starting`)return!1;this.devices.length===0&&await this.refreshDevices();let e=Tn(this.devices,this.activeDeviceId,this.activeFacing);return e?this.selectDevice(e.deviceId):!1}async selectDevice(e){if(e===this.activeDeviceId&&this.state===`live`)return!0;let t=this.lastGood,n=await this.start({deviceId:e,strictDevice:!0});if(n||!t?.deviceId||this.error?.code===`not-allowed`)return n;let r=this.error;return await this.start({deviceId:t.deviceId,resolution:t.resolution,strictDevice:!0})&&r&&this.opts.onWarning?.(r),!1}async setResolution(e){let t=this.lastGood?.resolution?.width===e.width&&this.lastGood?.resolution?.height===e.height;return this.lastGood&&(this.lastGood.resolution=e),t||this.state!==`live`&&this.state!==`paused`?this.state===`live`:this.start({deviceId:this.activeDeviceId??void 0,resolution:e})}async setZoom(e){this.desiredZoom=e;let t=this.stream?.getVideoTracks()[0],n=this.zoomCapability;if(!t||!n)return!1;let r=Math.min(n.max,Math.max(n.min,e));try{await t.applyConstraints({advanced:[{zoom:r}]})}catch{try{await t.applyConstraints({zoom:r})}catch{return!1}}return this.zoom=t.getSettings().zoom??r,this.emit(),!0}async refreshDevices(){return this.refreshing||=this.doRefreshDevices().finally(()=>{this.refreshing=null}),this.refreshing}dispose(){this.disposed||(this.disposed=!0,this.stop(),this.listeners.clear(),typeof document<`u`&&(document.removeEventListener(`visibilitychange`,this.onVisibilityChange),window.removeEventListener(`pageshow`,this.onPageShow)),navigator.mediaDevices?.removeEventListener?.(`devicechange`,this.onDeviceChange),this.permissionStatus&&(this.permissionStatus.onchange=null),this.deviceChangeTimer&&clearTimeout(this.deviceChangeTimer),this.healthTimer&&clearTimeout(this.healthTimer),this.video=null)}teardown(){this.tearingDown=!0,this.clearWatchdog(),this.stableTimer&&clearTimeout(this.stableTimer),this.stableTimer=null;let e=this.stream;if(this.stream=null,e)for(let t of e.getTracks())t.onended=null,t.onmute=null,t.onunmute=null,t.stop();this.video&&(this.video.pause(),this.video.srcObject=null),this.zoomCapability=null,this.tearingDown=!1}fail(e){this.teardown(),this.error=e,this.setState(`error`)}setState(e){this.state=e,this.emit()}emit(){let e=this.snapshot();for(let t of this.listeners)t(e)}bindStream(e=0){let t=this.video,n=this.stream;if(!t||!n)return;this.clearWatchdog(),t.muted=!0,t.playsInline=!0,t.setAttribute(`playsinline`,``),t.autoplay=!0,t.srcObject=n,t.load(),t.play().catch(Pn);let r=!1,i=setTimeout(()=>{if(!r&&(o(),this.stream===n&&this.state===`live`)){if(e<Dn){t.srcObject=null,t.offsetHeight,this.bindStream(e+1);return}t.readyState>=2&&t.videoWidth>0||this.opts.onWarning?.(new X(`first-frame`,`Video did not render its first frame`))}},En),a=()=>{r||(r=!0,o())},o=()=>{clearTimeout(i),t.removeEventListener(`loadeddata`,a),t.removeEventListener(`playing`,a),this.watchdogCleanup=null};this.watchdogCleanup=o,nn(t)?t.requestVideoFrameCallback(()=>a()):(t.addEventListener(`loadeddata`,a),t.addEventListener(`playing`,a))}clearWatchdog(){this.watchdogCleanup?.(),this.watchdogCleanup=null}onTrackEnded=()=>{this.tearingDown||this.intent!==`live`||this.scheduleRecovery()};onVisibilityChange=()=>{document.visibilityState===`visible`&&this.scheduleHealthCheck(jn)};onPageShow=e=>{e.persisted&&this.scheduleHealthCheck(0)};scheduleHealthCheck(e){this.healthTimer&&clearTimeout(this.healthTimer),this.healthTimer=setTimeout(()=>{this.healthTimer=null,this.healthCheck()},e)}healthCheck(){if(this.disposed||this.intent!==`live`||this.state===`starting`)return;let e=this.stream?.getVideoTracks()[0];if(!e||e.readyState===`ended`||e.muted){this.scheduleRecovery();return}this.video&&this.video.paused&&this.video.play().catch(Pn)}scheduleRecovery(){if(this.disposed||this.intent!==`live`||this.recoveryTimer)return;if(this.recoveryAttempts>=kn.length){this.fail(new X(`not-readable`,`Camera stopped and could not be re-acquired`));return}let e=kn[this.recoveryAttempts]??3e3;this.recoveryAttempts++,this.recoveryTimer=setTimeout(()=>{this.recoveryTimer=null,this.intent===`live`&&this.start({deviceId:this.lastGood?.deviceId??void 0,facing:this.activeFacing??this.opts.preferredFacing,resolution:this.lastGood?.resolution})},e)}cancelRecovery(){this.recoveryTimer&&clearTimeout(this.recoveryTimer),this.recoveryTimer=null}armStableTimer(){this.stableTimer&&clearTimeout(this.stableTimer),this.stableTimer=setTimeout(()=>{this.stableTimer=null,this.recoveryAttempts=0},An)}onDeviceChange=()=>{this.deviceChangeTimer&&clearTimeout(this.deviceChangeTimer),this.deviceChangeTimer=setTimeout(()=>{this.deviceChangeTimer=null,this.refreshDevices()},Mn)};async doRefreshDevices(){if(this.disposed||!navigator.mediaDevices?.enumerateDevices||this.state===`starting`)return;let e;try{e=await navigator.mediaDevices.enumerateDevices()}catch{return}let t=e.filter(e=>e.kind===`videoinput`&&e.deviceId),n=new Set(t.map(e=>e.deviceId));for(let e of[...this.probeCache.keys()])n.has(e)||this.probeCache.delete(e);let r=tn()&&!en()&&this.permission!==`denied`,i=[];for(let e of t){if(this.disposed)return;let t=this.probeCache.get(e.deviceId),n=t!==void 0;if(!n&&r){let r=await this.probeDevice(e.deviceId);if(r===void 0)continue;t=r,n=!0,this.probeCache.set(e.deviceId,r)}i.push({deviceId:e.deviceId,label:e.label,facing:t??xn(e.label),probed:n})}let a=r?Cn(i,this.activeDeviceId):i;this.devices=a,this.emit()}async probeDevice(e){if(e===this.activeDeviceId&&this.stream)return this.probeCache.get(e)??this.activeFacing;let t=null;try{t=await navigator.mediaDevices.getUserMedia({video:{deviceId:{exact:e},...Nn}});let n=t.getVideoTracks()[0];return Sn(n?.getSettings().facingMode)??null}catch{return}finally{if(t)for(let e of t.getTracks())e.onended=null,e.stop()}}async initPermission(){try{let e=await navigator.permissions.query({name:`camera`});this.permissionStatus=e,this.permission=e.state,e.onchange=()=>{this.permission=e.state,e.state===`denied`?this.fail(new X(`not-allowed`,`Camera permission was revoked`)):(this.emit(),e.state===`granted`&&this.refreshDevices())},this.emit()}catch{this.permission=`unknown`}}readZoomCapability(e){let t=e.getCapabilities?.()?.zoom;t&&typeof t.min==`number`&&typeof t.max==`number`&&t.max>t.min?(this.zoomCapability={min:t.min,max:t.max,step:t.step&&t.step>0?t.step:.1},this.zoom=e.getSettings().zoom??t.min):(this.zoomCapability=null,this.zoom=1)}};function Ln(e){return e instanceof Error?e.message||e.name:`Camera could not be started`}function Rn(e={}){let{videoRef:n,...r}=e,i=new In(r),a=(0,t.shallowRef)(i.snapshot()),o=i.subscribe(e=>{a.value=e});return n&&(0,t.watch)(n,e=>i.attachVideo(e??null),{immediate:!0,flush:`post`}),(0,t.onScopeDispose)(()=>{o(),i.dispose()}),{manager:i,state:(0,t.computed)(()=>a.value.state),intent:(0,t.computed)(()=>a.value.intent),stream:(0,t.computed)(()=>a.value.stream),devices:(0,t.computed)(()=>a.value.devices),activeDeviceId:(0,t.computed)(()=>a.value.activeDeviceId),activeFacing:(0,t.computed)(()=>a.value.activeFacing),error:(0,t.computed)(()=>a.value.error),permission:(0,t.computed)(()=>a.value.permission),zoom:(0,t.computed)(()=>a.value.zoom),zoomCapability:(0,t.computed)(()=>a.value.zoomCapability),isLive:(0,t.computed)(()=>a.value.state===`live`),isPaused:(0,t.computed)(()=>a.value.state===`paused`),isStarting:(0,t.computed)(()=>a.value.state===`starting`),canSwitch:(0,t.computed)(()=>a.value.devices.length>1),isSupported:In.isSupported(),start:e=>i.start(e),stop:()=>i.stop(),pause:()=>i.pause(),resume:()=>i.resume(),toggle:()=>i.toggle(),switchCamera:()=>i.switchCamera(),selectDevice:e=>i.selectDevice(e),setResolution:e=>i.setResolution(e),setZoom:e=>i.setZoom(e),refreshDevices:()=>i.refreshDevices(),bindVideo:e=>i.attachVideo(e)}}var zn=U((0,t.defineComponent)({__name:`camera-preview`,props:{ratio:{default:`3x4`},resolutions:{default:()=>({})},mirror:{type:Boolean,default:!1},filter:{default:`none`},tintColor:{default:``},tintIntensity:{default:0}},setup(e,{expose:n}){let r=e,i=(0,t.ref)(null),a=(0,t.computed)(()=>{let e=r.resolutions[r.ratio];if(e)return e;let[t,n]=r.ratio.split(/[x:/]/).map(Number);return t&&n?{width:t,height:n}:{width:3,height:4}}),o=(0,t.computed)(()=>({aspectRatio:`${a.value.width} / ${a.value.height}`})),s=(0,t.computed)(()=>({transform:r.mirror?`scaleX(-1)`:`none`,filter:ln(r.filter)})),c=(0,t.computed)(()=>{let e=an(r.tintColor,r.tintIntensity);return{backgroundColor:e.color,opacity:e.opacity}});return n({videoEl:i,resolution:a}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`camera-preview position-relative overflow-hidden bg-black w-100`,style:(0,t.normalizeStyle)(o.value)},[(0,t.createElementVNode)(`video`,{ref_key:`videoEl`,ref:i,class:`camera-preview__video position-absolute top-0 start-0 w-100 h-100`,style:(0,t.normalizeStyle)(s.value),playsinline:``,muted:``,autoplay:``,disablepictureinpicture:``},null,4),e.tintColor&&e.tintIntensity>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`position-absolute top-0 start-0 w-100 h-100 pe-none`,style:(0,t.normalizeStyle)(c.value),"aria-hidden":`true`},null,4)):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],4))}}),[[`__scopeId`,`data-v-79ba16f6`]]),Bn={class:`zoom-slider`},Vn=[`min`,`max`,`step`,`value`],Hn={class:`zoom-slider__ticks`},Un=(0,t.defineComponent)({name:`ZoomSlider`,inheritAttrs:!1,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(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>r.ticks),o=(0,t.computed)(()=>Math.round((r.ticks-1)/2)),s=(0,t.computed)(()=>Math.round((r.ticks-1)/10));function c(e){i(`update:modelValue`,parseFloat(e.target.value))}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Bn,[(0,t.createElementVNode)(`input`,{type:`range`,min:e.min,max:e.max,step:e.step,value:e.modelValue,onInput:c,"aria-label":`Zoom`},null,40,Vn),(0,t.createElementVNode)(`div`,Hn,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:e,class:(0,t.normalizeClass)([`zoom-slider__tick`,{"zoom-slider__tick--major":(e-1)%o.value==0,"zoom-slider__tick--mid":(e-1)%s.value==0&&(e-1)%o.value!=0}])},null,2))),128))])]))}}),Wn=`data:image/png;base64,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`,Gn={class:`base-camera position-relative w-100 user-select-none`,"data-bs-theme":`dark`},Kn=[`src`],qn={class:`position-absolute top-0 start-0 end-0 d-flex align-items-start p-2 gap-2 base-camera__top-bar`},Jn={class:`base-camera__select-col`},Yn={key:1},Xn={class:`d-flex align-items-center ms-auto gap-2`},Zn=[`aria-label`],Qn=[`disabled`],$n={key:1,class:`position-absolute top-0 start-0 w-100 h-100 d-flex flex-column align-items-center justify-content-center text-center p-3 bg-black bg-opacity-50`},er={key:0,class:`spinner-border text-light`,role:`status`},tr={key:1,class:`alert alert-danger py-2 px-3 mb-0 small`},nr={class:`mb-2`},rr={class:`position-absolute bottom-0 start-0 end-0 p-3 d-flex flex-column gap-2 align-items-center`},ir={key:0,class:`d-flex align-items-center justify-content-center gap-4 w-100`},ar=[`disabled`,`aria-label`],or={key:0,viewBox:`0 0 24 24`,width:`22`,height:`22`,fill:`currentColor`,"aria-hidden":`true`},sr={key:1,viewBox:`0 0 24 24`,width:`22`,height:`22`,fill:`currentColor`,"aria-hidden":`true`},cr=[`disabled`],lr={key:2,class:`base-camera__countdown-overlay`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`},ur=[`data-countdown`],dr={key:0,class:`base-camera__zoom`},fr=U((0,t.defineComponent)({__name:`base-camera`,props:{modelValue:{type:null},enableSelectDevice:{type:Boolean,default:!1},enableSwitchCamera:{type:Boolean,default:!0},defaultRearCamera:{type:Boolean,default:!1},enableMirrorCamera:{type:Boolean,default:!1},ratio:{type:String,default:`3x4`},resolutions:{type:Object,default:()=>({"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}})},zoom:{type:Number,default:1},enableZoomSlider:{type:Boolean,default:!1},filter:{type:String,default:`none`,validator:e=>[`none`,`grayscale`,`sepia`].includes(e)},tintColor:{type:String,default:``},tintIntensity:{type:Number,default:0},countdown:{type:Number,default:0},emitBlob:{type:Boolean,default:!1},autoStart:{type:Boolean,default:!0},enableGuide:{type:Boolean,default:!0},guideSrc:{type:String,default:Wn},enableControls:{type:Boolean,default:!0},enableScreenFlash:{type:Boolean,default:!1},screenFlashColor:{type:String,default:`#FFFFFF`},screenFlashFullscreen:{type:Boolean,default:!1},enableShutterAnimation:{type:Boolean,default:!0}},emits:[`update:modelValue`,`update:zoom`,`capture`,`error`,`state`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(null),s=(0,t.computed)(()=>o.value?.videoEl??null),c=(0,t.computed)(()=>i.resolutions[i.ratio]??{width:720,height:960}),l=Rn({preferredFacing:i.defaultRearCamera?`environment`:`user`,resolution:c.value,videoRef:s,onWarning:e=>a(`error`,e)}),u=(0,t.computed)(()=>i.enableMirrorCamera&&l.activeFacing.value!==`environment`),d=(0,t.computed)(()=>i.enableSelectDevice&&l.devices.value.length>1),f=(0,t.computed)(()=>i.enableSwitchCamera&&l.canSwitch.value),p=(0,t.computed)(()=>i.enableZoomSlider&&l.zoomCapability.value!==null),m=(0,t.computed)(()=>l.isLive.value||l.isPaused.value),h=(0,t.ref)(!1),g=(0,t.ref)(0),_=(0,t.ref)(!1),v=(0,t.ref)(0),y=(0,t.ref)(!1),x=(0,t.ref)(0),S=(0,t.ref)(i.enableScreenFlash);(0,t.watch)(()=>i.enableScreenFlash,e=>{S.value=e});let C=null,w=null,T=null,E=null,D=null,O=null,k=null,A=null,j=!1,M=(0,t.ref)(i.zoom);(0,t.watch)(()=>i.zoom,e=>{M.value=e}),(0,t.watch)(M,e=>{l.setZoom(e),e!==i.zoom&&a(`update:zoom`,e)}),(0,t.watch)(l.zoom,e=>{l.zoomCapability.value&&e!==M.value&&(M.value=e)}),(0,t.watch)(l.zoomCapability,e=>{e&&l.setZoom(M.value)}),(0,t.watch)(l.state,e=>a(`state`,e)),(0,t.watch)(l.error,e=>{e&&a(`error`,e)}),(0,t.watch)(c,e=>void l.setResolution(e)),(0,t.onMounted)(()=>{i.autoStart&&l.start()}),(0,t.onScopeDispose)(()=>{j=!0,w&&clearTimeout(w),T&&clearTimeout(T),D&&clearTimeout(D),w=null,T=null,D=null,A?.(!1),A=null,N(),F(),g.value=0,_.value=!1,y.value=!1});function N(){T&&clearTimeout(T),T=null,_.value=!1,E?.(),E=null}function P(){if(!i.enableShutterAnimation)return Promise.resolve();N(),v.value++,_.value=!0;let e=new Promise(e=>{E=e});return T=setTimeout(N,650),e}function F(){O&&clearTimeout(O),O=null,k?.(),k=null}function I(){if(!S.value)return{peak:Promise.resolve(),faded:Promise.resolve()};D&&clearTimeout(D),F(),x.value++,y.value=!0;let e=new Promise(e=>{k=e});return D=setTimeout(()=>{D=null,y.value=!1,O=setTimeout(F,400)},350),{peak:new Promise(e=>setTimeout(e,120)),faded:e}}async function L(){let e=s.value;if(!e||!m.value||h.value)return null;h.value=!0;try{let t=I();if(await t.peak,j||!m.value)return null;let n=cn(e,{width:c.value.width,height:c.value.height,mirror:u.value,filter:i.filter,tintColor:i.tintColor,tintIntensity:i.tintIntensity}),r=P(),o=await fn(n,{asBlob:i.emitBlob});return await Promise.all([t.faded,r]),j?null:(a(`update:modelValue`,o),a(`capture`,o,n),o)}finally{h.value=!1}}function R(){return new Promise(e=>{A=e,w=setTimeout(()=>{w=null,A=null,e(!0)},1e3)})}async function ee(){let e=Number.isFinite(i.countdown)?Math.max(0,Math.floor(i.countdown)):0;for(let t=e;t>0;t--)if(g.value=t,!await R())return null;return g.value=0,j?null:L()}function te(){return C||(!s.value||!m.value?Promise.resolve(null):(C=ee().finally(()=>{g.value=0,C=null}),C))}function ne(e){let t=e.target.value;t&&l.selectDevice(t)}function z(e,t){if(e.label)return e.label;let n=e.facing===`user`?`Front`:e.facing===`environment`?`Back`:``;return n?`${n} camera`:`Camera ${t+1}`}return n({onCapture:te,camera:l,zoom:M}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Gn,[(0,t.createVNode)(zn,{ref_key:`previewRef`,ref:o,ratio:e.ratio,resolutions:e.resolutions,mirror:u.value,filter:e.filter,"tint-color":e.tintColor,"tint-intensity":e.tintIntensity},{default:(0,t.withCtx)(()=>[e.enableGuide&&e.guideSrc?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,src:e.guideSrc,class:`position-absolute top-0 start-0 w-100 h-100 base-camera__guide`,alt:``,"aria-hidden":`true`},null,8,Kn)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,qn,[(0,t.createElementVNode)(`div`,Jn,[d.value&&(0,t.unref)(l).activeDeviceId?((0,t.openBlock)(),(0,t.createBlock)(Y,{key:0,class:`base-camera__select`,modelValue:(0,t.unref)(l).activeDeviceId.value,"onUpdate:modelValue":r[0]||=e=>(0,t.unref)(l).activeDeviceId.value=e,disabled:(0,t.unref)(l).isStarting.value,"aria-label":`Select camera`,onChange:ne,options:(0,t.unref)(l).devices.value.map((e,t)=>({value:e.deviceId,text:z(e,t)})),variant:`dark`},null,8,[`modelValue`,`disabled`,`options`])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Yn))]),(0,t.createElementVNode)(`div`,Xn,[e.enableScreenFlash?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`btn btn-dark bg-opacity-50 base-camera__icon-btn`,"aria-label":S.value?`Flash On`:`Flash Off`,onClick:r[1]||=e=>S.value=!S.value},[S.value?((0,t.openBlock)(),(0,t.createBlock)(b,{key:0,symbol:`zap`})):((0,t.openBlock)(),(0,t.createBlock)(b,{key:1,symbol:`zap-off`}))],8,Zn)):(0,t.createCommentVNode)(``,!0),f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`btn btn-dark bg-opacity-50 base-camera__icon-btn`,disabled:(0,t.unref)(l).isStarting.value,"aria-label":`Switch camera`,onClick:r[2]||=e=>(0,t.unref)(l).switchCamera()},[(0,t.createVNode)(b,{symbol:`switch-camera`})],8,Qn)):(0,t.createCommentVNode)(``,!0)])]),(0,t.unref)(l).isStarting.value||(0,t.unref)(l).state.value===`error`||(0,t.unref)(l).state.value===`idle`&&!e.autoStart?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$n,[(0,t.unref)(l).isStarting.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,er,[...r[9]||=[(0,t.createElementVNode)(`span`,{class:`visually-hidden`},`Starting camera…`,-1)]])):(0,t.unref)(l).state.value===`error`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,tr,[(0,t.createElementVNode)(`div`,nr,(0,t.toDisplayString)((0,t.unref)(l).error.value?.message??`Camera error`),1),(0,t.unref)(l).error.value?.code!==`not-allowed`&&(0,t.unref)(l).error.value?.code!==`unsupported`?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`btn btn-sm btn-outline-light`,onClick:r[3]||=e=>(0,t.unref)(l).start()},` Retry `)):(0,t.createCommentVNode)(``,!0)])):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,type:`button`,class:`btn btn-light`,onClick:r[4]||=e=>(0,t.unref)(l).start()},`Start camera`))])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,rr,[e.enableControls?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ir,[(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-dark bg-opacity-50 rounded-circle base-camera__icon-btn`,disabled:(0,t.unref)(l).isStarting.value,"aria-label":(0,t.unref)(l).isLive.value?`Pause`:`Start`,onClick:r[5]||=e=>(0,t.unref)(l).toggle()},[(0,t.unref)(l).isLive.value?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,or,[...r[10]||=[(0,t.createElementVNode)(`rect`,{x:`6`,y:`5`,width:`4`,height:`14`,rx:`1`},null,-1),(0,t.createElementVNode)(`rect`,{x:`14`,y:`5`,width:`4`,height:`14`,rx:`1`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,sr,[...r[11]||=[(0,t.createElementVNode)(`path`,{d:`M8 5v14l11-7z`},null,-1)]]))],8,ar),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-light rounded-circle base-camera__shutter`,disabled:!m.value||h.value||g.value>0,"aria-label":`Capture photo`,onClick:r[6]||=e=>te()},[...r[12]||=[(0,t.createElementVNode)(`span`,{class:`base-camera__shutter-inner`},null,-1)]],8,cr),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-dark bg-opacity-50 rounded-circle base-camera__icon-btn`,"aria-label":`Stop camera`,onClick:r[7]||=e=>(0,t.unref)(l).stop()},[(0,t.createVNode)(b,{symbol:`x`})])])):(0,t.createCommentVNode)(``,!0)]),g.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,lr,[((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{key:g.value,class:`base-camera__countdown`,"data-countdown":g.value},(0,t.toDisplayString)(g.value),9,ur))])):(0,t.createCommentVNode)(``,!0),_.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:v.value,class:`base-camera__shutter-effect`,"aria-hidden":`true`},[...r[13]||=[(0,t.createElementVNode)(`span`,{class:`base-camera__shutter-aperture`},null,-1)]])):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`,disabled:!e.screenFlashFullscreen},[(0,t.createVNode)(t.Transition,{name:`base-camera-flash`,onAfterLeave:F},{default:(0,t.withCtx)(()=>[y.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:x.value,class:(0,t.normalizeClass)([`base-camera__screen-flash`,{"base-camera__screen-flash--fullscreen":e.screenFlashFullscreen}]),style:(0,t.normalizeStyle)({background:e.screenFlashColor}),"aria-hidden":`true`},null,6)):(0,t.createCommentVNode)(``,!0)]),_:1})],8,[`disabled`]))]),_:1},8,[`ratio`,`resolutions`,`mirror`,`filter`,`tint-color`,`tint-intensity`]),p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,dr,[(0,t.createVNode)(Un,{modelValue:M.value,"onUpdate:modelValue":r[8]||=e=>M.value=e,min:(0,t.unref)(l).zoomCapability.value.min,max:(0,t.unref)(l).zoomCapability.value.max,step:(0,t.unref)(l).zoomCapability.value.step},null,8,[`modelValue`,`min`,`max`,`step`])])):(0,t.createCommentVNode)(``,!0)]))}}),[[`__scopeId`,`data-v-67efb17e`]]),pr={class:`base-map`},mr={key:0,class:`base-map__label`},hr={key:0,class:`base-map__hint`},gr=(0,t.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(e,{emit:n}){function r(e,t){return t({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]})}let i={lat:48.8566,lng:2.3522},a={streets:{url:`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`,attribution:`&copy; <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:`&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors &copy; <a href="https://carto.com/attributions">CARTO</a>`},dark:{url:`https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png`,attribution:`&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors &copy; <a href="https://carto.com/attributions">CARTO</a>`},minimal:{url:`https://{s}.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}{r}.png`,attribution:`&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors &copy; <a href="https://carto.com/attributions">CARTO</a>`},popover:{url:`https://{s}.basemaps.cartocdn.com/rastertiles/voyager_nolabels/{z}/{x}/{y}{r}.png`,attribution:`&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors &copy; <a href="https://carto.com/attributions">CARTO</a>`}},o=e,s=n,c=(0,t.shallowRef)(null),l=(0,t.ref)(null),u=(0,t.ref)(null),d=(0,t.ref)(o.zoom),f=(0,t.ref)(S(o.modelValue));(0,t.onMounted)(async()=>{if(typeof window>`u`)return;let[e,n]=await Promise.all([import(`@vue-leaflet/vue-leaflet`),import(`leaflet`)]),i=e.default??e,a=n.default??n;c.value=(0,t.markRaw)({LCircle:(0,t.markRaw)(i.LCircle),LMap:(0,t.markRaw)(i.LMap),LMarker:(0,t.markRaw)(i.LMarker),LPopup:(0,t.markRaw)(i.LPopup),LPolyline:(0,t.markRaw)(i.LPolyline),LTileLayer:(0,t.markRaw)(i.LTileLayer)}),l.value={list:r(`list`,a.divIcon),selected:r(`selected`,a.divIcon),search:r(`search`,a.divIcon),user:r(`user`,a.divIcon)}}),(0,t.watch)(()=>o.zoom,e=>{d.value=e}),(0,t.watch)(()=>o.modelValue,e=>{f.value=S(e)}),(0,t.watch)(()=>o.center,e=>{let t=S(e);t&&E(t)},{deep:!0}),(0,t.watch)(()=>[o.height,o.markers.length,o.routeCoordinates.length,o.center?.lat,o.center?.lng,o.modelValue?.lat,o.modelValue?.lng,o.userLocation?.lat,o.userLocation?.lng],()=>{T()},{flush:`post`});let p=(0,t.computed)(()=>S(o.userLocation)),m=(0,t.computed)(()=>S(o.selectionRadiusCenter)||f.value),h=(0,t.computed)(()=>{let e=(o.markers||[]).map(e=>{let t=S(e);return t?{...e,...t,type:e.type||(f.value&&w(e,f.value)?`selected`:`list`)}:null}).filter(e=>!!e);return o.showSelectedMarker&&f.value&&!e.some(e=>w(e,f.value))&&e.push({id:`selected-location`,label:o.selectedLocationLabel,type:`search`,...f.value}),e}),g=(0,t.computed)(()=>(o.routeCoordinates||[]).map(e=>C(e)).filter(e=>!!e)),_=(0,t.computed)(()=>{let e=S(o.center)||f.value||S(o.markers[0])||i;return[e.lat,e.lng]}),v=(0,t.computed)(()=>{if(o.tileLayerUrl.trim())return o.tileLayerUrl;let e=o.mapStyle===`custom`?`streets`:o.mapStyle;return a[e].url}),y=(0,t.computed)(()=>{if(o.tileLayerAttribution.trim())return o.tileLayerAttribution;let e=o.mapStyle===`custom`?`streets`:o.mapStyle;return a[e].attribution});function b(e=`list`){if(l.value)return l.value[e]||l.value.list}function x(e=`list`){switch(e){case`user`:return 450;case`selected`:return 350;case`search`:return 250;default:return 150}}function S(e){if(!e)return null;let t=Number(e.lat),n=Number(e.lng);return Number.isNaN(t)||Number.isNaN(n)?null:{lat:t,lng:n}}function C(e){if(Array.isArray(e)){let t=Number(e[0]),n=Number(e[1]);return Number.isFinite(t)&&Number.isFinite(n)?[t,n]:null}let t=S(e);return t?[t.lat,t.lng]:null}function w(e,t){let n=S(e),r=S(t);return!n||!r?!1:Math.abs(n.lat-r.lat)<1e-6&&Math.abs(n.lng-r.lng)<1e-6}async function T(){await(0,t.nextTick)(),u.value?.invalidateSize()}function E(e){u.value?.panTo([e.lat,e.lng])}function D(e){u.value=e,E(S(o.center)||f.value||i),T()}function O(e){d.value=e,s(`update:zoom`,e)}function k(e){let t=S(e);t&&(E(t),s(`update:center`,t))}function A(e){if(!o.interactive||o.disabled)return;let t={lat:Number(e.latlng.lat.toFixed(6)),lng:Number(e.latlng.lng.toFixed(6))};f.value=t,E(t),s(`update:modelValue`,t),s(`update:center`,t),s(`map-click`,t)}function j(e){f.value={lat:Number(e.lat),lng:Number(e.lng)},E(f.value),s(`update:modelValue`,f.value),s(`update:center`,f.value),s(`marker-click`,e)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,pr,[(0,t.renderSlot)(n.$slots,`label`,{},()=>[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,mr,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`base-map__frame`,{"base-map__frame--interactive":e.interactive&&!e.disabled,"base-map__frame--disabled":e.disabled}]),style:(0,t.normalizeStyle)({height:e.height}),"data-testid":`base-map`},[c.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value?.LMap),{key:0,class:`base-map__canvas`,"use-global-leaflet":!1,zoom:d.value,center:_.value,onReady:D,onClick:A,"onUpdate:zoom":O,"onUpdate:center":k},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value.LTileLayer),{url:v.value,attribution:y.value,"layer-type":`base`,name:`OpenStreetMap`},null,8,[`url`,`attribution`])),g.value.length>1?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value.LPolyline),{key:0,"lat-lngs":g.value,color:e.routeColor,weight:e.routeWeight},null,8,[`lat-lngs`,`color`,`weight`])):(0,t.createCommentVNode)(``,!0),m.value&&e.selectionRadius>0?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value.LCircle),{key:1,"lat-lng":[m.value.lat,m.value.lng],radius:e.selectionRadius,color:e.selectionRadiusColor,"fill-color":e.selectionRadiusFillColor,"fill-opacity":e.selectionRadiusFillOpacity,opacity:e.selectionRadiusOpacity,weight:e.selectionRadiusStrokeWeight},null,8,[`lat-lng`,`radius`,`color`,`fill-color`,`fill-opacity`,`opacity`,`weight`])):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(h.value,(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value.LMarker),{key:e.id??`${e.lat}-${e.lng}-${n}`,"lat-lng":[e.lat,e.lng],icon:b(e.type),"z-index-offset":x(e.type),onClick:t=>j(e)},{default:(0,t.withCtx)(()=>[e.label?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value.LPopup),{key:0},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.label),1)]),_:2},1024)):(0,t.createCommentVNode)(``,!0)]),_:2},1032,[`lat-lng`,`icon`,`z-index-offset`,`onClick`]))),128)),p.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value.LMarker),{key:`user-${p.value.lat}-${p.value.lng}`,"lat-lng":[p.value.lat,p.value.lng],icon:b(`user`),"z-index-offset":x(`user`),onClick:r[0]||=t=>j({id:`user-location`,label:e.userLocationLabel,type:`user`,...p.value})},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value.LPopup),null,{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.userLocationLabel),1)]),_:1}))]),_:1},8,[`lat-lng`,`icon`,`z-index-offset`])):(0,t.createCommentVNode)(``,!0)]),_:1},40,[`zoom`,`center`])):(0,t.createCommentVNode)(``,!0)],6),e.interactive&&e.helperText?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,hr,(0,t.toDisplayString)(e.helperText),1)):(0,t.createCommentVNode)(``,!0)]))}}),_r={class:`location-list`,"data-testid":`location-list`},vr={key:0,class:`location-list__label`},yr={key:1,class:`location-list__items`},br=[`data-testid`,`onClick`],xr={class:`location-list__title`},Sr={key:0,class:`location-list__description`},Cr={key:1,class:`location-list__distance`},wr={key:2,class:`location-list__empty`},Tr=(0,t.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(e,{emit:n}){let r=e,i=n;function a(e){return e?.[r.titleKey]||e?.label||e?.name||`Location`}function o(e){return e?.[r.descriptionKey]||e?.description||e?.subtitle||``}function s(e,t=0){return e?typeof e==`object`?e.id??e.value??a(e)??t:e:t}function c(e,t=0){return`${s(e,t)}`.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``)}function l(e,t=0){return s(r.modelValue)===s(e,t)}function u(e){return Number.isFinite(e)?e>=1e3?`${(e/1e3).toFixed(1)} km`:`${Math.round(e)} m`:`—`}function d(e){i(`update:modelValue`,e),i(`select`,e)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,_r,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,vr,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0),e.locations.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,yr,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.locations,(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:s(n,r),type:`button`,class:(0,t.normalizeClass)([`location-list__item`,{"location-list__item--active":l(n,r)}]),"data-testid":`location-option-${c(n,r)}`,onClick:e=>d(n)},[(0,t.createElementVNode)(`strong`,xr,(0,t.toDisplayString)(a(n)),1),o(n)?((0,t.openBlock)(),(0,t.createElementBlock)(`small`,Sr,(0,t.toDisplayString)(o(n)),1)):(0,t.createCommentVNode)(``,!0),e.showDistance&&n?.distance!==void 0&&n?.distance!==null?((0,t.openBlock)(),(0,t.createElementBlock)(`small`,Cr,(0,t.toDisplayString)(u(Number(n.distance)))+` away `,1)):(0,t.createCommentVNode)(``,!0)],10,br))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,wr,(0,t.toDisplayString)(e.emptyText),1))]))}});function Er(e,n){let r=(0,t.ref)(!1),i=(0,t.ref)(0);function a(e){n.enabled()&&(e.preventDefault(),i.value++,r.value=!0)}function o(e){n.enabled()&&e.preventDefault()}function s(e){n.enabled()&&(e.preventDefault(),i.value=Math.max(0,i.value-1),i.value===0&&(r.value=!1))}function c(e){if(!n.enabled())return;e.preventDefault(),i.value=0,r.value=!1;let t=e.dataTransfer?Array.from(e.dataTransfer.files||[]):[];n.onDrop(t)}function l(){e.value?.addEventListener(`dragenter`,a),e.value?.addEventListener(`dragover`,o),e.value?.addEventListener(`dragleave`,s),e.value?.addEventListener(`drop`,c)}function u(){e.value?.removeEventListener(`dragenter`,a),e.value?.removeEventListener(`dragover`,o),e.value?.removeEventListener(`dragleave`,s),e.value?.removeEventListener(`drop`,c)}return(0,t.onMounted)(l),(0,t.onBeforeUnmount)(u),{isDragging:r}}function Dr(e){let n=(0,t.ref)(!1);async function r(t){let r=new FormData;r.append(`file`,t),n.value=!0;try{let t=await(e.customFetch||a.ofetch)(e.endpoint,{method:`POST`,...e.customFetch?{}:{headers:{Accept:`application/json`,...e.authToken?{Authorization:`Bearer ${e.authToken}`}:{}}},body:r});return`${e.baseResponsePath||`/api/v1/assets`}/${t.path}`}finally{n.value=!1}}return{pending:n,uploadFile:r}}function Or(e){async function n(n){return(0,t.unref)(e)===`objectUrl`?URL.createObjectURL(n):await M(n)}function r(e){e&&e.startsWith(`blob:`)&&URL.revokeObjectURL(e)}return{toLocalUrl:n,revoke:r}}var kr=[`src`],Ar=[`onClick`],jr=[`onClick`],Mr=[`for`],Nr=[`innerHTML`],Pr={key:0,class:`file-upload__loading-spinner`},Z=(0,t.defineComponent)({__name:`file-upload`,props:{modelValue:{type:Array,default:[]},src:{type:String},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(),o=(0,t.ref)([]),s=(0,t.ref)([]),{pending:c,uploadFile:l}=Dr(r),{toLocalUrl:u,revoke:d}=Or((0,t.toRef)(r,`localUrlFormat`)),{isDragging:f}=Er(a,{enabled:()=>r.dropFiles,onDrop:e=>{o.value=e}}),p=(0,t.computed)(()=>r.modelValue?.length?r.modelValue:r.src?[{type:``,src:r.src}]:s.value);function m(e){let t=typeof e==`string`?parseInt(e,10):e,n=Array.isArray(r.modelValue)&&r.modelValue.length>0,a=Array.isArray(s.value)&&s.value.length>0;if(a&&t<s.value.length&&(d(s.value[t]?.src),s.value.splice(t,1)),n){let e=[...r.modelValue];t<e.length&&e.splice(t,1),i(`update:modelValue`,e),r.multiple||i(`update:src`,e[0]?.src||``)}else if(a){let e=r.multiple?s.value:s.value[0];i(`update:modelValue`,e),r.multiple||i(`update:src`,s.value[0]?.src||``)}else i(`update:modelValue`,r.multiple?[]:void 0),i(`update:src`,``);o.value.splice(t,1)}return(0,t.watch)(()=>o.value,async e=>{let t=await Promise.all(e.map(async e=>({src:r.toDataUrl?await u(e):await l(e),type:e.type,name:e.name,size:e.size,lastModified:e.lastModified})));s.value=t},{deep:!0}),(0,t.watch)(()=>s.value,async e=>{let t=r.multiple?e:e[0];i(`update:modelValue`,t),r.multiple||i(`update:src`,e[0]&&e[0].src)},{deep:!0}),(0,t.watch)(()=>r.modelValue,e=>{(!e||e.length===0)&&s.value.length>0&&(s.value.forEach(e=>d(e.src)),s.value=[],o.value=[])}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`root`,ref:a,class:(0,t.normalizeClass)([`file-upload`,{"has-dragging":e.dropFiles,"is-dragging":(0,t.unref)(f)}])},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(p.value,(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:r.src,class:(0,t.normalizeClass)(e.enablePreview?`file-upload__thumbnail`:`file-upload__reset`)},[(0,t.renderSlot)(n.$slots,`preview-item`,{bind:{item:r,index:i},on:{removeFile:m}},()=>[e.enablePreview?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`img`,{src:`${r.src}${e.previewWidth?`?width=${e.previewWidth}`:``}`,class:`img-thumbnail rounded`},null,8,kr),(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>m(i),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,Ar)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,onClick:(0,t.withModifiers)(e=>m(i),[`prevent`]),class:`btn btn--close btn-outline-contrast`},[(0,t.createVNode)(b,{symbol:`x`})],8,jr))])],2))),128)),(0,t.createVNode)(nt,{modelValue:o.value,"onUpdate:modelValue":r[0]||=e=>o.value=e,id:e.id,name:e.name,accept:e.accept,"max-file-size":e.maxFileSize,multiple:e.multiple,class:`d-none`},null,8,[`modelValue`,`id`,`name`,`accept`,`max-file-size`,`multiple`]),(0,t.renderSlot)(n.$slots,`label`,{},()=>[(0,t.createElementVNode)(`label`,{for:e.id,class:`file-upload__label`},[(0,t.renderSlot)(n.$slots,`button`,{},()=>[(0,t.createElementVNode)(`span`,{class:`btn btn-outline-contrast`,innerHTML:(0,t.unref)(O)(e.label||n.$t(`common.selectFile`))},null,8,Nr)]),(0,t.createVNode)(t.Transition,{name:`fade`},{default:(0,t.withCtx)(()=>[(0,t.unref)(c)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Pr,[...r[1]||=[(0,t.createElementVNode)(`span`,{class:`spinner-border`,role:`status`},[(0,t.createElementVNode)(`span`,{class:`visually-hidden`},`Loading...`)],-1)]])):(0,t.createCommentVNode)(``,!0)]),_:1})],8,Mr)])],2))}}),Fr={class:`container-fluid`},Ir={class:`row`},Lr={key:0,class:`col-12`},Rr={class:`py-4 px-3 d-flex align-items-center border border-bottom-0`},zr=[`innerHTML`],Br={class:`col-12`},Vr={key:0,class:`grid place-items-center text-center text-muted py-5 border border-bottom-0`},Hr={class:`m-0`},Ur={class:`preview-item border-bottom p-3`},Wr={class:`d-flex gap-3`},Gr={class:`col-2`},Kr={class:`col d-flex flex-column`},qr={class:`file-meta text-muted small mb-2`},Jr={class:`fw-semibold`},Yr={key:0},Xr={key:1},Zr=[`onUpdate:modelValue`,`id`],Qr=[`innerHTML`],$r={key:2,class:`upload-progress mt-3 mb-0`},ei=[`value`],ti={class:`col-auto d-flex flex-column gap-2`},ni=[`onClick`],ri=[`onClick`],ii={class:`d-flex justify-content-between align-items-center`},ai={class:`file-upload__info p-3`},oi={key:0,class:`text-muted small`},si={class:`file-upload__label`},ci={class:`d-flex align-items-end p-3`},li=[`for`],ui=[`innerHTML`],di=(0,t.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},minFiles:{type:Number,default:0},restrictRemoval:{type:Boolean,default:!1},showProgress:{type:Boolean,default:!0},valid:{type:Boolean,default:!0},validate:{type:Boolean,default:!0}},emits:[`update:modelValue`,`update:valid`],setup(e,{emit:n}){let i=e,a=n,{t:o}=(0,r.useI18n)(),s=e=>`${e.name??``}|${e.size??0}|${e.lastModified??0}|${e.type??``}`,c=(0,t.computed)({get:()=>{let e=i.modelValue||[];return d.value=e.map(e=>e.caption||``),e.map(e=>({type:e.type,src:e.src,...e.name?{name:e.name}:{},...e.size?{size:e.size}:{},...e.lastModified?{lastModified:e.lastModified}:{},...e.uploadProgress?{uploadProgress:e.uploadProgress}:{}}))},set:e=>{let t=c.value||[],n=Array.isArray(e)?e:[],r=i.allowDuplicateFiles?n:n.filter(e=>{let n=s(e);return!t.some(e=>s(e)===n)}),a=i.maxFiles>0?Math.max(0,i.maxFiles-t.length):void 0,o=typeof a==`number`?r.slice(0,a):r;!i.allowDuplicateFiles&&n.length>0&&o.length===0||(o.length<=t.length&&o.every(e=>t.some(t=>t.src===e.src))?x(o):x([...t,...o]))}}),l=(0,t.ref)(null),u=(0,t.ref)({}),d=(0,t.ref)({}),f=(0,t.computed)(()=>i.disabled||i.maxFiles>0&&c.value.length>=i.maxFiles),p=(0,t.computed)(()=>!i.restrictRemoval||i.minFiles<=0||c.value.length>i.minFiles),m=(0,t.computed)(()=>!i.restrictRemoval||i.minFiles<=0),h=(0,t.computed)(()=>{let e=c.value.length,t=i.minFiles<=0||e>=i.minFiles,n=i.maxFiles<=0||e<=i.maxFiles;return t&&n});(0,t.watch)(()=>c.value.length,()=>{a(`update:valid`,h.value)});let g=(0,t.computed)(()=>{let e=c.value.length;return i.minFiles>0&&i.maxFiles>0?o(`fileInput.minMaxFiles`,{count:e,min:i.minFiles,max:i.maxFiles}):i.minFiles>0?o(`fileInput.minFiles`,{count:e,min:i.minFiles}):o(`fileInput.maxFiles`,{count:e,max:i.maxFiles})});function _(e){if(!p.value)return;let t=[...i.modelValue||[]];t.splice(e,1),a(`update:modelValue`,t)}async function v(e){u.value[e]=!u.value[e],u.value[e]||x(),await(0,t.nextTick)(),(l.value?.querySelector(`#caption-${e}`))?.focus()}function y(e){if(e==null)return``;let t=[`B`,`KB`,`MB`,`GB`,`TB`],n=e,r=t.shift();for(;n>=1024&&t.length;)n/=1024,r=t.shift();return`${n.toFixed(1)} ${r}`}function b(e){return e?new Date(e).toLocaleDateString():``}function x(e){a(`update:modelValue`,(e||c.value).map((e,t)=>({...e,caption:d.value[t]||``})))}return(n,r)=>{let i=(0,t.resolveComponent)(`svg-icon`),a=(0,t.resolveComponent)(`base-image`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`bulk-upload`,ref_key:`root`,ref:l},[(0,t.createElementVNode)(`div`,Fr,[(0,t.createElementVNode)(`div`,Ir,[e.hasHeader?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Lr,[(0,t.createElementVNode)(`div`,Rr,[(0,t.createElementVNode)(`p`,{class:`fw-bold m-0`,innerHTML:(0,t.unref)(O)(e.title||n.$t(`fileInput.bulkUploadHeadline`))},null,8,zr),(0,t.renderSlot)(n.$slots,`bulk-remove`,{},()=>[e.hasBulkRemove&&m.value?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,onClick:r[0]||=(0,t.withModifiers)(e=>c.value=[],[`prevent`]),class:`btn btn--close ms-auto p-0`},[(0,t.createVNode)(i,{symbol:`x`})])):(0,t.createCommentVNode)(``,!0)])])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Br,[c.value.length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Vr,[(0,t.createElementVNode)(`p`,Hr,(0,t.toDisplayString)(n.$t(`fileInput.noFilesSelected`)),1)])),(0,t.createVNode)(Z,{id:`${e.id}-file-upload`,modelValue:c.value,"onUpdate:modelValue":r[2]||=e=>c.value=e,multiple:!0,accept:`image/*`,"drop-files":!0,"to-data-url":!0,"local-url-format":`objectUrl`,class:`d-flex flex-column border`},{"preview-item":(0,t.withCtx)(({bind:{item:o,index:s}})=>[(0,t.createElementVNode)(`div`,Ur,[(0,t.createElementVNode)(`div`,Wr,[(0,t.createElementVNode)(`div`,Gr,[(0,t.createVNode)(a,{src:o.src,alt:``,class:`img-thumbnail`},null,8,[`src`])]),(0,t.createElementVNode)(`div`,Kr,[(0,t.createElementVNode)(`div`,qr,[(0,t.createElementVNode)(`div`,Jr,(0,t.toDisplayString)(o.name||n.$t(`fileInput.unknownFile`)),1),(0,t.createElementVNode)(`div`,null,[o.size?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Yr,(0,t.toDisplayString)(y(o.size)),1)):(0,t.createCommentVNode)(``,!0),o.lastModified?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Xr,` · `+(0,t.toDisplayString)(b(o.lastModified)),1)):(0,t.createCommentVNode)(``,!0)])]),e.hasCaptions?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[u.value[s]&&e.editCaptions?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`textarea`,{key:0,"onUpdate:modelValue":e=>d.value[s]=e,id:`caption-${s}`,class:`form-control rounded-0 h-100`,onChangeCapture:r[1]||=e=>x()},null,40,Zr)),[[t.vModelText,d.value[s]]]):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{key:1,class:`m-0`,innerHTML:d.value[s]||`<small>${n.$t(`fileInput.noCaption`)}</small>`},null,8,Qr)),e.showProgress&&o.uploadProgress?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$r,[(0,t.renderSlot)(n.$slots,`upload-progress`,{bind:{item:o,index:s}},()=>[(0,t.createElementVNode)(`progress`,{value:o.uploadProgress,max:`100`,class:`w-100`},null,8,ei)])])):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,ti,[p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,onClick:(0,t.withModifiers)(e=>_(s),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(i,{symbol:`x`})],8,ni)):(0,t.createCommentVNode)(``,!0),e.editCaptions?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,onClick:(0,t.withModifiers)(e=>v(s),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(i,{symbol:u.value[s]?`check`:`edit-3`},null,8,[`symbol`])],8,ri)):(0,t.createCommentVNode)(``,!0)])])])]),label:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`button`,{},()=>[(0,t.createElementVNode)(`span`,ii,[(0,t.createElementVNode)(`span`,ai,[(0,t.renderSlot)(n.$slots,`info`,{},()=>[e.maxFiles>0||e.minFiles>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,oi,(0,t.toDisplayString)(g.value),1)):(0,t.createCommentVNode)(``,!0)])]),(0,t.createElementVNode)(`span`,si,[(0,t.createElementVNode)(`span`,ci,[(0,t.createElementVNode)(`label`,{for:`${e.id}-file-upload`,class:(0,t.normalizeClass)([`btn btn-primary btn-sm ms-auto d-flex align-items-center gap-2`,{disabled:f.value}])},[(0,t.createVNode)(i,{symbol:`upload`,size:`small`}),(0,t.createElementVNode)(`span`,{innerHTML:n.$t(`common.selectFile`)},null,8,ui)],10,li)])])])])]),_:3},8,[`id`,`modelValue`])])])])],512)}}}),fi=[`onDragenter`,`onDragover`,`onDragleave`,`onDragend`,`onDrop`,`innerHTML`],pi=[`draggable`,`onDragstart`,`onDrag`,`onDragenter`,`onDragover`,`onDragleave`,`onDragend`,`onDrop`],mi={key:0,class:`sortable-list__drag-handle`},hi=[`onDragstart`,`onDrag`],gi={key:0,class:`sortable-list__item`},_i=(0,t.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(e,{emit:r}){let i=e,a=(0,t.ref)(!1),o=(0,t.ref)(null),s=(0,t.ref)(null),c=r,l=(0,t.computed)({get(){return i.modelValue},set(e){c(`update:modelValue`,e)}}),u=(0,t.ref)(``);function d(e){let t=e.currentTarget.closest(`.sortable-list__item`)??e.currentTarget;u.value=n.default.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})}let f=(0,t.useSlots)(),p=(0,t.computed)(()=>f[`list-append`]);function m(e,t){e.dataTransfer&&(d(e),e.dataTransfer.dropEffect=`move`,e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`index`,t.toLocaleString()),a.value=!0,o.value=t)}function h(e,t){a.value=!1,o.value=null,s.value=null,u.value=``}function g(e,t){s.value=o.value===t?null:t}function _(e,t){s.value=o.value===t?null:t}function v(e,t){if(e.dataTransfer){e.preventDefault();let n=Number(e.dataTransfer.getData(`index`)),r=t,i=[...l.value];(r||r===0)&&(n||n===0)&&i.splice(r,0,i.splice(n,1)[0]),l.value=i}}return(0,t.watch)(()=>a.value,e=>{c(`update:isDragging`,e)},{immediate:!0}),(0,t.watch)(()=>o.value,e=>{c(`update:dragIndex`,e)},{immediate:!0}),(0,t.watch)(()=>s.value,e=>{c(`update:dragOverIndex`,e)},{immediate:!0}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.TransitionGroup,{name:`list`,tag:`ul`,class:(0,t.normalizeClass)([`sortable-list p-0 d-flex gap-2`,{"flex-column":e.vertical,"flex-row flex-wrap":!e.vertical}]),onDragover:r[0]||=(0,t.withModifiers)(()=>{},[`prevent`]),onDragenter:r[1]||=(0,t.withModifiers)(()=>{},[`prevent`])},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(l.value,(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:i},[e.showPreview&&a.value&&s.value===i?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:0,class:`sortable-list__item is-drop-target`,onDragenter:e=>g(e,i),onDragover:e=>_(e,i),onDragleave:e=>void 0,onDragend:e=>h(e,i),onDrop:e=>v(e,i),innerHTML:u.value},null,40,fi)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`li`,{class:(0,t.normalizeClass)([`sortable-list__item d-flex`,{"is-drag-item":a.value&&o.value===i,"is-drop-target":a.value&&s.value===i&&!e.showPreview,"align-items-center gap-2":e.vertical}]),draggable:!e.showDragHandle,onDragstart:e=>m(e,i),onDrag:e=>void 0,onDragenter:e=>g(e,i),onDragover:e=>_(e,i),onDragleave:e=>void 0,onDragend:e=>h(e,i),onDrop:e=>v(e,i)},[e.showDragHandle?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,mi,[(0,t.createElementVNode)(`button`,{type:`button`,class:`btn`,draggable:`true`,onDragstart:e=>m(e,i),onDrag:e=>void 0},[(0,t.createVNode)(b,{symbol:`drag`})],40,hi)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`sortable-list__item-content`,{"flex-grow-1":e.vertical}])},[(0,t.renderSlot)(n.$slots,`list-item`,{item:r,index:i},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(r),1)])],2)],42,pi)],64))),128)),p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,gi,[(0,t.renderSlot)(n.$slots,`list-append`)])):(0,t.createCommentVNode)(``,!0)]),_:3},8,[`class`]))}}),vi={key:0,class:`image-editor position-relative`},yi={class:`row mb-3`},bi={class:`col`},xi={class:`row gap-2 mb-4`},Si={class:`col-12`},Ci={class:`input mb-2`},wi={class:`col`},Ti={class:`input mb-0`},Ei={class:`col`},Di={class:`input mb-0`},Oi={class:`row`},ki={class:`col d-flex justify-content-end gap-2`},Ai=[`disabled`],ji=(0,t.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(e,{emit:n}){let{debounce:r}=o.default,i=n,a=(0,t.useTemplateRef)(`image`),s=(0,t.ref)(1),c=(0,t.ref)(0),l=(0,t.ref)(0),u=(0,t.ref)(null),d=(0,t.ref)(0),f=(0,t.ref)(0);function p(){u.value&&(i(`update:modelValue`,u.value),s.value=1)}let m=()=>{if(!d.value||!f.value)return;c.value=Math.round(d.value*s.value);let e=f.value/d.value;l.value=Math.round(c.value*e);let t=a.value?.$el;if(!t)return;let n=t.querySelector(`img`);n&&(u.value=I(n,c.value,l.value,`image/png`))},h=r(m,300);return(0,t.watch)(s,()=>{d.value&&(c.value=Math.round(d.value*s.value),h())}),(0,t.watch)(c,()=>{if(!d.value||c.value===0)return;let e=c.value/d.value;Math.abs(e-s.value)>1e-4&&(s.value=Number(e.toFixed(4)));let t=f.value/d.value;l.value=Math.round(c.value*t),h()}),(0,t.watch)(l,()=>{if(!f.value||l.value===0)return;let e=l.value/f.value;Math.abs(e-s.value)>1e-4&&(s.value=Number(e.toFixed(4)));let t=d.value/f.value;c.value=Math.round(l.value*t),h()}),(0,t.onMounted)(()=>{let e=a.value?.$el;if(!e)return;let t=e.querySelector(`img`);if(!t)return;let n=()=>{d.value=t.naturalWidth,f.value=t.naturalHeight,m()};t.complete?n():t.addEventListener(`load`,n)}),(n,r)=>e.modelValue?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,vi,[(0,t.createElementVNode)(`div`,yi,[(0,t.createElementVNode)(`div`,bi,[(0,t.createVNode)(w,{ref_key:`image`,ref:a,class:`d-none`,src:e.modelValue,animate:!1},null,8,[`src`]),u.value?((0,t.openBlock)(),(0,t.createBlock)(w,{key:0,ref:`targetImage`,class:``,src:u.value,animate:!1},null,8,[`src`])):(0,t.createCommentVNode)(``,!0)])]),(0,t.createElementVNode)(`div`,xi,[(0,t.createElementVNode)(`div`,Si,[(0,t.createElementVNode)(`div`,Ci,[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{type:`range`,class:`form-range`,id:`scaleRange`,"onUpdate:modelValue":r[0]||=e=>s.value=e,min:`0`,max:`2`,step:`0.0001`},null,512),[[t.vModelText,s.value]])])]),(0,t.createElementVNode)(`div`,wi,[(0,t.createElementVNode)(`div`,Ti,[(0,t.createVNode)(q,{type:`number`,class:`form-input mb-0`,id:`targetWidth`,modelValue:c.value,"onUpdate:modelValue":r[1]||=e=>c.value=e},null,8,[`modelValue`])])]),r[3]||=(0,t.createElementVNode)(`div`,{class:`col-auto d-flex align-items-center`},[(0,t.createElementVNode)(`output`,null,`×`)],-1),(0,t.createElementVNode)(`div`,Ei,[(0,t.createElementVNode)(`div`,Di,[(0,t.createVNode)(q,{type:`number`,class:`form-input mb-0`,id:`targetHeight`,modelValue:l.value,"onUpdate:modelValue":r[2]||=e=>l.value=e},null,8,[`modelValue`])])])]),(0,t.createElementVNode)(`div`,Oi,[(0,t.createElementVNode)(`div`,ki,[(0,t.renderSlot)(n.$slots,`actions`),(0,t.createElementVNode)(`button`,{class:`btn btn-sm btn-primary`,disabled:!u.value,onClick:(0,t.withModifiers)(p,[`prevent`,`stop`])},(0,t.toDisplayString)(n.$t(`common.apply`)),9,Ai)])])])):(0,t.createCommentVNode)(``,!0)}}),Mi=h((()=>{})),Ni={key:0,class:`image-crop`},Pi={class:`row mb-4`},Fi={class:`col`},Ii={class:`row`},Li={class:`col d-flex gap-2 justify-content-end gap-2`},Ri=(0,t.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(e,{emit:n}){let r=(0,t.shallowRef)(null);(0,t.onMounted)(async()=>{let[{Cropper:e}]=await Promise.all([import(`vue-advanced-cropper`),Promise.resolve().then(()=>_(Mi(),1))]);r.value=(0,t.markRaw)(e)});let i=e,a=n,o=(0,t.useTemplateRef)(`cropper`),s=(0,t.ref)(0);function c(){let e=o.value?.getResult();if(!e?.canvas)return;let t=e.canvas.toDataURL();a(`update:modelValue`,t)}return(0,t.onBeforeMount)(()=>{s.value=i.suggestedAspectRatio||0}),(n,i)=>e.modelValue?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ni,[(0,t.createElementVNode)(`div`,Pi,[(0,t.createElementVNode)(`div`,Fi,[r.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(r.value),{key:0,ref:`cropper`,class:`cropper`,src:e.modelValue,"stencil-props":{...s.value===0?{}:{aspectRatio:s.value}},"resize-image":!1},null,8,[`src`,`stencil-props`])):(0,t.createCommentVNode)(``,!0)])]),i[1]||=(0,t.createElementVNode)(`hr`,null,null,-1),(0,t.createElementVNode)(`div`,Ii,[(0,t.createElementVNode)(`div`,Li,[(0,t.createVNode)(Y,{modelValue:s.value,"onUpdate:modelValue":i[0]||=e=>s.value=e,options:e.aspectRatioOptions,class:`mb-0`},null,8,[`modelValue`,`options`]),(0,t.renderSlot)(n.$slots,`actions`),(0,t.createElementVNode)(`button`,{class:`btn btn-sm btn-primary`,onClick:(0,t.withModifiers)(c,[`prevent`,`stop`])},(0,t.toDisplayString)(n.$t(`common.apply`)),1)])])])):(0,t.createCommentVNode)(``,!0)}}),zi={key:0,class:`image-crop-resize position-relative`},Bi={class:`row`},Vi={class:`col`},Hi={key:3,class:`alert alert-warning mt-4 small p-2`},Ui={key:4},Wi={class:`row`},Gi={class:`col-12`},Ki={class:`d-flex`},qi={key:0,class:`d-flex gap-3`},Ji={class:`caption`},Yi={class:`caption`},Xi={key:1,class:`ms-auto`},Zi=(0,t.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(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!1),o=(0,t.ref)(!1),s=(0,t.computed)({get:()=>r.modelValue,set:e=>i(`update:modelValue`,e)}),c=(0,t.computed)(()=>r.modelValue.startsWith(`data:image/svg+xml`));return(0,t.watch)(()=>[a.value,s.value],(e,t)=>{e[0]&&e[0]===t[0]&&(a.value=!1)}),(0,t.watch)(()=>[o.value,s.value],(e,t)=>{e[0]&&e[0]===t[0]&&(o.value=!1)}),(0,t.onMounted)(()=>{}),(n,r)=>e.modelValue?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,zi,[(0,t.createElementVNode)(`div`,Bi,[(0,t.createElementVNode)(`div`,Vi,[a.value||o.value?a.value?((0,t.openBlock)(),(0,t.createBlock)(ji,{key:1,modelValue:s.value,"onUpdate:modelValue":r[1]||=e=>s.value=e},{actions:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{class:`btn btn-outline-ccontrast`,onClick:r[0]||=(0,t.withModifiers)(e=>a.value=!1,[`prevent`,`stop`])},(0,t.toDisplayString)(n.$t(`common.cancel`)),1)]),_:1},8,[`modelValue`])):o.value?((0,t.openBlock)(),(0,t.createBlock)(Ri,{key:2,modelValue:s.value,"onUpdate:modelValue":r[3]||=e=>s.value=e,"suggested-aspect-ratio":e.aspectRatio},{actions:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{class:`btn btn-sm btn-outline-ccontrast`,onClick:r[2]||=(0,t.withModifiers)(e=>o.value=!1,[`prevent`,`stop`])},(0,t.toDisplayString)(n.$t(`common.cancel`)),1)]),_:1},8,[`modelValue`,`suggested-aspect-ratio`])):(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createBlock)(w,{key:0,ref:`targetImage`,class:``,animate:!1,src:e.modelValue},null,8,[`src`])),c.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Hi,(0,t.toDisplayString)(n.$t(`common.svgWarning`)),1)):(0,t.createCommentVNode)(``,!0),!o.value&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`hr`,Ui)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Wi,[(0,t.createElementVNode)(`div`,Gi,[(0,t.createElementVNode)(`div`,Ki,[!o.value&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,qi,[(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-light`,onClick:r[4]||=(0,t.withModifiers)(e=>o.value=!o.value,[`prevent`,`stop`])},[(0,t.createVNode)(b,{symbol:`crop`}),(0,t.createElementVNode)(`span`,Ji,(0,t.toDisplayString)(n.$t(`common.crop`)),1)]),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-light`,onClick:r[5]||=(0,t.withModifiers)(e=>a.value=!a.value,[`prevent`,`stop`])},[(0,t.createVNode)(b,{symbol:`image-upscale`}),(0,t.createElementVNode)(`span`,Yi,(0,t.toDisplayString)(n.$t(`common.resize`)),1)])])):(0,t.createCommentVNode)(``,!0),!o.value&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Xi,[(0,t.renderSlot)(n.$slots,`submit`)])):(0,t.createCommentVNode)(``,!0)])])])])])])):(0,t.createCommentVNode)(``,!0)}}),Qi={class:`modal-dialog__content d-flex flex-column`},$i={class:`modal-dialog__header d-flex p-3 border-bottom`},ea={key:0,class:`modal-dialog__title`,id:`exampleModalLabel`},ta={class:`modal-dialog__body`},na={key:0,class:`modal-dialog__footer d-flex p-3 border-top`},ra=(0,t.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(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)();function s(){document.documentElement.style.setProperty(`--scroll-position`,`${Math.round(document.documentElement.scrollTop)}px`),i.modal?o.value?.showModal():o.value?.show(),a(`update:modelValue`,!0)}function c(){let e=o.value&&new KeyframeEffect(o.value,[{translate:`0 -100%`,opacity:`0`}],{duration:320,easing:`ease`,direction:`normal`}),t=new Animation(e,document.timeline);t.play(),t.addEventListener(`finish`,()=>{o.value?.close(),l()}),a(`update:modelValue`,!1)}function l(){let e=getComputedStyle(document.documentElement).getPropertyValue(`--scroll-position`);document.documentElement.scrollTo({top:parseInt(e,10),behavior:`instant`}),a(`update:modelValue`,!1)}function u(e){s(),a(`confirm`,e)}function d(){c(),a(`cancel`)}function f(e){let t=e.target;t&&t.nodeName===`DIALOG`&&c()}return(0,t.watch)(()=>i.modelValue,(e,t)=>{e&&e!==t?s():t&&c()},{immediate:!0}),(0,t.onMounted)(()=>{o.value?.addEventListener(`cancel`,e=>{e.preventDefault(),c()}),i.dismiss&&document.addEventListener(`click`,f),i.modelValue&&s()}),(0,t.onBeforeUnmount)(()=>{i.dismiss&&document.removeEventListener(`click`,f)}),n({show:s,close:c,confirm:u,cancel:d}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`dialog`,{ref_key:`dialog`,ref:o,class:(0,t.normalizeClass)([`modal-dialog`,{[`modal-dialog--${e.size}`]:e.size}]),onClose:l},[(0,t.createElementVNode)(`div`,Qi,[(0,t.createElementVNode)(`div`,$i,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`h5`,ea,(0,t.toDisplayString)(e.title),1)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn-close ms-auto border-radius-none`,"aria-label":`Close`,onClick:c})]),(0,t.createElementVNode)(`div`,ta,[(0,t.renderSlot)(n.$slots,`default`)]),e.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,na,[(0,t.renderSlot)(n.$slots,`footer`),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn ms-auto`,onClick:c},(0,t.toDisplayString)(n.$t(`common.close`)),1)])):(0,t.createCommentVNode)(``,!0)])],34))}}),ia={class:`image-upload__controls`},aa={class:`d-flex gap-1 align-items-center`},oa={key:1,class:`image-upload__controls`},sa=[`for`],ca=[`innerHTML`],la={key:0,class:`image-upload__loading-spinner`},Q=(0,t.defineComponent)({__name:`image-upload`,props:{modelValue:{type:Object,default:void 0},src:{type:String},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(),o=(0,t.ref)([]),s=(0,t.ref)(!1),c=(0,t.ref)(!1),l=(0,t.ref)(null),u=(0,t.ref)(null),d=(0,t.ref)(null),f=!1,{pending:p,uploadFile:m}=Dr(r),{toLocalUrl:h,revoke:g}=Or((0,t.toRef)(r,`localUrlFormat`)),{isDragging:_}=Er(a,{enabled:()=>r.dropFiles,onDrop:e=>{o.value=e}}),v=(0,t.computed)(()=>r.modelValue?r.modelValue:r.src?{type:``,src:r.src}:l.value);function y(e){g(l.value?.src),l.value=e}function x(){y(null),o.value=[],s.value=!1,i(`update:modelValue`,void 0),i(`update:src`,``)}function S(){x()}(0,t.watch)(()=>o.value,async e=>{if(!e||!e.length||!e[0])return;s.value=!1;let t=await L(e[0],r.maxImageWidth);r.enableReview?(u.value={src:await h(t),type:t.type},f=!0,c.value=!0):y({src:r.toDataUrl?await h(t):await m(t),type:t.type})}),(0,t.watch)(()=>l.value,e=>{i(`update:modelValue`,e||void 0),i(`update:src`,e?.src||``)}),(0,t.watch)(()=>d.value,async e=>{if(e){try{y({src:r.toDataUrl?await h(e):await m(e),type:e.type})}catch(t){console.error(`Failed to process file "${e.name}"`,t)}d.value=null}}),(0,t.watch)(()=>c.value,(e,t)=>{!e&&t&&u.value&&(f&&(g(u.value.src),S()),f=!1,u.value=null)}),(0,t.watch)(()=>r.src,e=>{!e&&l.value&&S()});function C(e,t){f=!1,u.value={src:e,type:t},c.value=!0}async function T(){u.value&&(d.value=await P(u.value.src,`file`,u.value.type),f&&g(u.value.src)),f=!1,u.value=null,c.value=!1}return(0,t.onBeforeUnmount)(()=>{g(l.value?.src)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`root`,ref:a,class:(0,t.normalizeClass)([`image-upload`,{"has-dragging":e.dropFiles,"is-dragging":(0,t.unref)(_)}])},[!c.value&&v.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`mb-2`,e.enablePreview?`image-upload__thumbnail`:`image-upload__reset`])},[e.enablePreview?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createVNode)(w,{src:`${v.value.src}${e.previewWidth?`?width=${e.previewWidth}`:``}`,class:`img-thumbnail rounded`,ready:s.value,"onUpdate:ready":r[0]||=e=>s.value=e,animate:!1,style:(0,t.normalizeStyle)({maxWidth:e.previewWidth?`${e.previewWidth}px`:`auto`,height:`auto`})},null,8,[`src`,`ready`,`style`]),(0,t.createElementVNode)(`div`,ia,[(0,t.createElementVNode)(`div`,aa,[(0,t.createElementVNode)(`button`,{type:`button`,onClick:r[1]||=(0,t.withModifiers)(e=>C(v.value.src,v.value.type),[`prevent`,`stop`]),class:`btn btn--edit btn-sm btn-light`},[(0,t.createVNode)(b,{symbol:`edit-2`})]),(0,t.createElementVNode)(`button`,{type:`button`,onClick:r[2]||=(0,t.withModifiers)(e=>x(),[`prevent`,`stop`]),class:`btn btn--close btn-sm btn-light`},[(0,t.createVNode)(b,{symbol:`x`})])])])],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,oa,[(0,t.createElementVNode)(`button`,{onClick:r[3]||=(0,t.withModifiers)(e=>x(),[`prevent`,`stop`]),class:`btn btn--close btn-outline-contrast`},[(0,t.createVNode)(b,{symbol:`x`})])]))],2)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(nt,{modelValue:o.value,"onUpdate:modelValue":r[4]||=e=>o.value=e,id:e.id,name:e.name,accept:e.accept,"max-file-size":e.maxFileSize,class:`d-none`},null,8,[`modelValue`,`id`,`name`,`accept`,`max-file-size`]),e.src?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:1,for:e.id,class:`image-upload__label`},[(0,t.renderSlot)(n.$slots,`button`,{},()=>[(0,t.createElementVNode)(`span`,{class:`btn btn-outline-contrast`,innerHTML:(0,t.unref)(O)(e.label||n.$t(`common.selectFile`))},null,8,ca)]),(0,t.createVNode)(t.Transition,{name:`fade`},{default:(0,t.withCtx)(()=>[(0,t.unref)(p)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,la,[...r[7]||=[(0,t.createElementVNode)(`span`,{class:`spinner-border`,role:`status`},[(0,t.createElementVNode)(`span`,{class:`visually-hidden`},`Loading...`)],-1)]])):(0,t.createCommentVNode)(``,!0)]),_:1})],8,sa)),(0,t.createVNode)(ra,{modelValue:c.value,"onUpdate:modelValue":r[6]||=e=>c.value=e,footer:!1},{default:(0,t.withCtx)(()=>[c.value&&u.value?((0,t.openBlock)(),(0,t.createBlock)(Zi,{key:0,modelValue:u.value.src,"onUpdate:modelValue":r[5]||=e=>u.value.src=e,"aspect-ratio":e.aspectRatio},{submit:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{class:`btn btn-primary`,onClick:(0,t.withModifiers)(T,[`prevent`,`stop`])},(0,t.toDisplayString)(n.$t(`common.save`)),1)]),_:1},8,[`modelValue`,`aspect-ratio`])):(0,t.createCommentVNode)(``,!0)]),_:1},8,[`modelValue`])],2))}}),ua={class:`upload-group`},da=[`innerHTML`],fa={class:`upload-group__list`},pa={class:`img-container`},ma=[`src`],ha={class:`item-overlay`},ga=[`onClick`],_a={role:`button`,class:`img-thumbnail d-flex justify-content-center align-items-center`},va={role:`button`,class:`img-thumbnail d-flex justify-content-center align-items-center`},ya=(0,t.defineComponent)({__name:`upload-group`,props:{modelValue:{type:Array,default:()=>[]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(``),o=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}});function s(e){i(`update:modelValue`,[...r.modelValue.slice(0,e),...r.modelValue.slice(e+1)])}return(0,t.watch)(a,async(e,n)=>{e&&n!==e&&(i(`update:modelValue`,[...o.value,e]),await(0,t.nextTick)(),a.value=``)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ua,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,innerHTML:(0,t.unref)(O)(e.label)},null,8,da)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,fa,[(0,t.createVNode)(_i,{modelValue:o.value,"onUpdate:modelValue":r[2]||=e=>o.value=e,vertical:!1,class:`mb-3`},{"list-item":(0,t.withCtx)(({item:r,index:i})=>[(0,t.createElementVNode)(`div`,pa,[(0,t.createElementVNode)(`img`,{src:`${r}${e.previewWidth?`?width=${e.previewWidth}`:``}`,class:`img-thumbnail`},null,8,ma),(0,t.createElementVNode)(`div`,ha,[(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>s(i),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,ga),(0,t.renderSlot)(n.$slots,`item-overlay`,{item:r,index:i})])])]),"list-append":(0,t.withCtx)(()=>[e.useImageUpload?((0,t.openBlock)(),(0,t.createBlock)(Q,{key:0,src:a.value,"onUpdate:src":r[0]||=e=>a.value=e,endpoint:e.endpoint,"custom-fetch":e.customFetch,"to-data-url":!e.endpoint,"auth-token":e.authToken,disabled:e.disabled,"base-response-path":e.baseResponsePath,accept:e.accept,"max-file-size":e.maxFileSize,"max-image-width":e.maxImageWidth,"enable-preview":!1,"aspect-ratio":e.aspectRatio,"local-url-format":e.localUrlFormat},{button:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,_a,[(0,t.createVNode)(b,{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`])):((0,t.openBlock)(),(0,t.createBlock)(Z,{key:1,src:a.value,"onUpdate:src":r[1]||=e=>a.value=e,multiple:!1,endpoint:e.endpoint,"custom-fetch":e.customFetch,"to-data-url":!e.endpoint,"auth-token":e.authToken,disabled:e.disabled,"base-response-path":e.baseResponsePath,accept:e.accept,"max-file-size":e.maxFileSize,"max-image-width":e.maxImageWidth,"local-url-format":e.localUrlFormat},{button:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,va,[(0,t.createVNode)(b,{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`])])]))}}),ba={class:`asset-uploader`},xa=[`innerHTML`],Sa=(0,t.defineComponent)({__name:`asset-uploader`,props:{modelValue:{type:Array,default:()=>[]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue.map(e=>e.src)},set(e){i(`update:modelValue`,e.map((e,t)=>{let n=r.showTypeDropdown&&r.modelValue[t]?.type||r.type;return{mediaType:r.modelValue[t]&&r.modelValue[t].mediaType||e.includes(`data:image`)?e.includes(`data:image/svg`)?`Svg`:`Image`:r.mediaTypeMap[e.split(`.`)[1]],src:e,name:r.modelValue[t]&&r.modelValue[t].name||`${r.name}-${t}`,...n?{type:n}:{}}}))}});function o(e,t){i(`update:modelValue`,r.modelValue.map((n,r)=>r===e?{...n,type:t}:n))}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ba,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,innerHTML:(0,t.unref)(O)(e.label)},null,8,xa)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(ya,{modelValue:a.value,"onUpdate:modelValue":r[0]||=e=>a.value=e,endpoint:e.endpoint,"custom-fetch":e.customFetch,"auth-token":e.authToken,disabled:e.disabled,"preview-width":e.previewWidth,"base-response-path":e.baseResponsePath,accept:e.accept,"max-file-size":e.maxFileSize,"use-image-upload":e.useImageUpload,"max-image-width":e.maxImageWidth,"aspect-ratio":e.aspectRatio},(0,t.createSlots)({_:2},[e.showTypeDropdown?{name:`item-overlay`,fn:(0,t.withCtx)(({index:n})=>[(0,t.createVNode)(Y,{name:`${e.name}-type-${n}`,options:e.typeOptions,"model-value":e.modelValue[n]?.type||null,placeholder:`type`,"onUpdate:modelValue":e=>o(n,e)},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`])]))}}),Ca=[`id`,`popover`],$=(0,t.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(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(),o=(0,t.ref)(),s=(0,t.ref)(!1),c=(0,t.computed)(()=>`ontouchstart`in window||navigator.maxTouchPoints>0);function l(){clearTimeout(o.value),r.hover&&a.value?.showPopover()}function u(){s.value=!0,clearTimeout(o.value),l()}function d(){s.value=!1,(r.hover||r.closeTimeout)&&(o.value=setTimeout(()=>{a.value?.hidePopover()},r.closeTimeout||r.hoverDelay))}(0,t.watch)(()=>r.modelValue,(e,t)=>{e&&!t?a.value?.matches(`:popover-open`)||a.value?.showPopover():!e&&t&&a.value?.matches(`:popover-open`)&&a.value?.hidePopover()});function f(e){e.newState===`open`?(r.closeTimeout&&!s.value&&(clearTimeout(o.value),o.value=setTimeout(()=>{s.value||a.value?.hidePopover()},r.closeTimeout)),r.modelValue||i(`update:modelValue`,!0)):e.newState===`closed`&&(s.value=!1,r.modelValue&&i(`update:modelValue`,!1))}return(0,t.onMounted)(()=>{if(a.value?.addEventListener(`toggle`,f),r.modelValue&&a.value?.showPopover(),!c.value){a.value?.addEventListener(`mouseenter`,u),a.value?.addEventListener(`mouseleave`,d);let e=document.querySelector(`[popovertarget="${r.id}"]`);e&&(e.addEventListener(`mouseenter`,u),e.addEventListener(`mouseleave`,d))}}),(0,t.onBeforeUnmount)(()=>{if(clearTimeout(o.value),a.value?.removeEventListener(`toggle`,f),!c.value){a.value?.removeEventListener(`mouseenter`,u),a.value?.removeEventListener(`mouseleave`,d);let e=document.querySelector(`[popovertarget="${r.id}"]`);e&&(e.removeEventListener(`mouseenter`,u),e.removeEventListener(`mouseleave`,d))}}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:`popover-dialog`,id:e.id,popover:e.type,ref_key:`popover`,ref:a},[(0,t.renderSlot)(n.$slots,`default`,{},()=>[r[0]||=(0,t.createTextVNode)(` Popover content goes here. `,-1)])],8,Ca))}}),wa={class:`preset-uploader`},Ta=[`innerHTML`],Ea={class:`preset-uploader__list`},Da=[`popovertarget`],Oa=[`src`],ka=[`onClick`],Aa={class:`preset-uploader__popover p-2 d-flex gap-2 align-items-start`},ja=[`popovertarget`],Ma=[`src`],Na={class:`d-flex flex-column gap-2`},Pa={role:`button`,class:`btn btn-sm w-100 d-inline-flex align-items-center`},Fa={role:`button`,class:`btn btn-sm w-100 d-inline-flex align-items-center`},Ia={key:1,class:`preset-group border border-2 rounded d-flex gap-1 p-1`},La=[`popovertarget`],Ra=[`src`],za=[`src`],Ba=[`onClick`],Va={class:`preset-uploader__popover p-2 d-flex gap-2 align-items-start`},Ha=[`popovertarget`],Ua=[`src`],Wa={class:`d-flex flex-column gap-2`},Ga={role:`button`,class:`img-thumbnail text-dark d-flex justify-content-center align-items-center`},Ka={role:`button`,class:`img-thumbnail text-dark d-flex justify-content-center align-items-center`},qa={class:`preset-uploader__popover p-2 d-flex gap-2 align-items-start`},Ja=[`onClick`],Ya={role:`button`,class:`img-thumbnail d-flex justify-content-center align-items-center`},Xa={role:`button`,class:`img-thumbnail text-dark d-flex justify-content-center align-items-center`},Za=(0,t.defineComponent)({__name:`preset-uploader`,props:{modelValue:{type:Array,default:()=>[]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n;function a(e){return e?.type===`preset`}function o(e){if(e.includes(`data:image`))return e.includes(`data:image/svg`)?`Svg`:`Image`;let t=e.split(`.`).pop()?.split(`?`)[0]?.toLowerCase()??``;return r.mediaTypeMap[t]??``}let s=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}}),c=(0,t.ref)(``);(0,t.watch)(c,async(e,n)=>{if(e&&n!==e){let n={src:e,name:`${r.name}-${r.modelValue.length}`,mediaType:o(e)};r.type&&r.typeOptions.includes(r.type)&&(n.type=r.type),i(`update:modelValue`,[...r.modelValue,n]),await(0,t.nextTick)(),c.value=``}});let l=(0,t.reactive)({}),u=(0,t.reactive)({}),d=(0,t.reactive)({}),f=(0,t.reactive)({}),p=(0,t.reactive)({}),m=(0,t.reactive)({}),h=(0,t.reactive)({});(0,t.watch)(p,e=>{for(let[t,n]of Object.entries(e))if(!n){let e=Number(t);delete l[e],delete u[e]}},{deep:!0}),(0,t.watch)(m,e=>{for(let[t,n]of Object.entries(e))if(!n){let e=Number(t);delete d[e],delete f[e]}},{deep:!0});function g(e,t){t&&(l[e]=t)}function _(e,t){t&&(d[e]=t,m[e]=!0)}function v(e){let t=[...r.modelValue];t.splice(e,1),i(`update:modelValue`,t)}function y(e,t){i(`update:modelValue`,r.modelValue.map((n,r)=>r===e?{...n,type:t}:n))}function x(e,t,n){let a=r.modelValue[e];i(`update:modelValue`,r.modelValue.map((r,i)=>i===e?{...r,items:{...r.items,[t]:{...a.items[t],type:n}}}:r))}function S(e,t){u[e]=t,C(e)}function C(e){let t=r.modelValue[e],n=t.type||r.type||`item`,a=l[e],s=u[e],c={type:`preset`,items:{[n]:{src:t.src,thumbnail:t.src,type:n,mediaType:t.mediaType||o(t.src)},[s]:{src:a,thumbnail:a,type:s,mediaType:o(a)}}};delete l[e],delete u[e],p[e]=!1,i(`update:modelValue`,r.modelValue.map((t,n)=>n===e?c:t))}function w(e,t){f[e]=t,T(e)}function T(e){let t=d[e],n=f[e],a=r.modelValue[e],s={...a,items:{...a.items,[n]:{src:t,thumbnail:t,type:n,mediaType:o(t)}}};delete d[e],delete f[e],m[e]=!1,i(`update:modelValue`,r.modelValue.map((t,n)=>n===e?s:t))}function E(e,t){let n=r.modelValue[e],a=Object.keys(n.items).filter(e=>e!==t);if(a.length<=1){let t=a[0],o=t?n.items[t]:null;if(o){let t={src:o.src,name:`${r.name}-${e}`,type:o.type,mediaType:o.mediaType};i(`update:modelValue`,r.modelValue.map((n,r)=>r===e?t:n))}else v(e)}else{let a={...n.items};delete a[t],i(`update:modelValue`,r.modelValue.map((t,r)=>r===e?{...n,items:a}:t))}}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,wa,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,innerHTML:(0,t.unref)(O)(e.label)},null,8,Ta)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Ea,[(0,t.createVNode)(_i,{modelValue:s.value,"onUpdate:modelValue":r[2]||=e=>s.value=e,vertical:!1,class:`mb-3`},{"list-item":(0,t.withCtx)(({item:n,index:i})=>[a(n)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ia,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(n.items,(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:r,class:`img-container`,style:(0,t.normalizeStyle)(e.showTypeDropdown?{anchorName:`--${e.name}-si-${i}-${r}`}:{})},[e.showTypeDropdown?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:`img-trigger`,popovertarget:`${e.name}-si-${i}-${r}`},[(0,t.createElementVNode)(`img`,{src:n.thumbnail||n.src,class:`img-thumbnail border-0 p-0`},null,8,Ra)],8,La)):((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:1,src:n.thumbnail||n.src,class:`img-thumbnail border-0 p-0`},null,8,za)),(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>E(i,String(r)),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,Ba),e.showTypeDropdown?((0,t.openBlock)(),(0,t.createBlock)($,{key:2,id:`${e.name}-si-${i}-${r}`,modelValue:h[`${i}-${r}`],"onUpdate:modelValue":e=>h[`${i}-${r}`]=e,class:`preset-uploader__item-popover`,style:(0,t.normalizeStyle)({positionAnchor:`--${e.name}-si-${i}-${r}`})},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Va,[(0,t.createElementVNode)(`button`,{class:`img-trigger`,popovertarget:`${e.name}-si-${i}-${r}`,popovertargetaction:`hide`},[(0,t.createElementVNode)(`img`,{src:n.thumbnail||n.src,class:`img-thumbnail`},null,8,Ua)],8,Ha),(0,t.createElementVNode)(`div`,Wa,[(0,t.createVNode)(Y,{name:`${e.name}-si-type-${i}-${r}`,options:e.typeOptions,"model-value":n.type||null,placeholder:`layer type`,"onUpdate:modelValue":e=>x(i,String(r),e)},null,8,[`name`,`options`,`model-value`,`onUpdate:modelValue`])])])]),_:2},1032,[`id`,`modelValue`,`onUpdate:modelValue`,`style`])):(0,t.createCommentVNode)(``,!0)],4))),128)),(0,t.createElementVNode)(`div`,{class:`img-container img-container--add`,style:(0,t.normalizeStyle)({anchorName:`--${e.name}-ap-${i}`})},[e.useImageUpload?((0,t.openBlock)(),(0,t.createBlock)(Q,{key:0,src:``,endpoint:e.endpoint,"custom-fetch":e.customFetch,"to-data-url":!e.endpoint,"auth-token":e.authToken,disabled:e.disabled,"base-response-path":e.baseResponsePath,accept:e.accept,"max-file-size":e.maxFileSize,"max-image-width":e.maxImageWidth,"enable-preview":!1,"aspect-ratio":e.aspectRatio,"onUpdate:src":e=>_(i,e)},{button:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Ga,[(0,t.createVNode)(b,{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`])):((0,t.openBlock)(),(0,t.createBlock)(Z,{key:1,src:``,multiple:!1,endpoint:e.endpoint,"custom-fetch":e.customFetch,"to-data-url":!e.endpoint,"auth-token":e.authToken,disabled:e.disabled,"base-response-path":e.baseResponsePath,accept:e.accept,"max-file-size":e.maxFileSize,"onUpdate:src":e=>_(i,e)},{button:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Ka,[(0,t.createVNode)(b,{symbol:`plus`})])]),_:1},8,[`endpoint`,`custom-fetch`,`to-data-url`,`auth-token`,`disabled`,`base-response-path`,`accept`,`max-file-size`,`onUpdate:src`])),(0,t.createVNode)($,{id:`${e.name}-ap-${i}`,modelValue:m[i],"onUpdate:modelValue":e=>m[i]=e,class:`preset-uploader__anchor-popover`,style:(0,t.normalizeStyle)({positionAnchor:`--${e.name}-ap-${i}`})},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,qa,[(0,t.createVNode)(Y,{class:`mb-0`,name:`${e.name}-add-type-${i}`,options:e.typeOptions,"model-value":f[i]||null,placeholder:`layer type`,"onUpdate:modelValue":e=>w(i,e)},null,8,[`name`,`options`,`model-value`,`onUpdate:modelValue`])])]),_:2},1032,[`id`,`modelValue`,`onUpdate:modelValue`,`style`])],4),(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>v(i),[`prevent`]),class:`btn btn--close btn--close-preset`},[(0,t.createVNode)(b,{symbol:`x`})],8,Ja)])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`img-container`,style:(0,t.normalizeStyle)({anchorName:`--${e.name}-pp-${i}`})},[(0,t.createElementVNode)(`button`,{class:`img-trigger`,popovertarget:`${e.name}-pp-${i}`},[(0,t.createElementVNode)(`img`,{src:n.thumbnail||n.src,class:`img-thumbnail`},null,8,Oa)],8,Da),(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>v(i),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,ka),(0,t.createVNode)($,{id:`${e.name}-pp-${i}`,modelValue:p[i],"onUpdate:modelValue":e=>p[i]=e,class:`preset-uploader__item-popover`,style:(0,t.normalizeStyle)({positionAnchor:`--${e.name}-pp-${i}`})},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Aa,[(0,t.createElementVNode)(`button`,{class:`img-trigger`,popovertarget:`${e.name}-pp-${i}`,popovertargetaction:`hide`},[(0,t.createElementVNode)(`img`,{src:n.thumbnail||n.src,class:`img-thumbnail`},null,8,Ma)],8,ja),(0,t.createElementVNode)(`div`,Na,[e.showTypeDropdown?((0,t.openBlock)(),(0,t.createBlock)(Y,{key:0,name:`${e.name}-type-${i}`,options:e.typeOptions,"model-value":n.type||null,placeholder:`item type`,"onUpdate:modelValue":e=>y(i,e)},null,8,[`name`,`options`,`model-value`,`onUpdate:modelValue`])):(0,t.createCommentVNode)(``,!0),l[i]?((0,t.openBlock)(),(0,t.createBlock)(Y,{key:2,name:`${e.name}-promote-type-${i}`,options:e.typeOptions,"model-value":u[i]||null,placeholder:`new layer type`,"onUpdate:modelValue":e=>S(i,e)},null,8,[`name`,`options`,`model-value`,`onUpdate:modelValue`])):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[e.useImageUpload?((0,t.openBlock)(),(0,t.createBlock)(Q,{key:0,src:``,endpoint:e.endpoint,"custom-fetch":e.customFetch,"to-data-url":!e.endpoint,"auth-token":e.authToken,disabled:e.disabled,"base-response-path":e.baseResponsePath,accept:e.accept,"max-file-size":e.maxFileSize,"max-image-width":e.maxImageWidth,"enable-preview":!1,"aspect-ratio":e.aspectRatio,"onUpdate:src":e=>g(i,e)},{button:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Pa,[(0,t.createVNode)(b,{symbol:`plus`}),r[3]||=(0,t.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`])):((0,t.openBlock)(),(0,t.createBlock)(Z,{key:1,src:``,multiple:!1,endpoint:e.endpoint,"custom-fetch":e.customFetch,"to-data-url":!e.endpoint,"auth-token":e.authToken,disabled:e.disabled,"base-response-path":e.baseResponsePath,accept:e.accept,"max-file-size":e.maxFileSize,"onUpdate:src":e=>g(i,e)},{button:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Fa,[(0,t.createVNode)(b,{symbol:`plus`}),r[4]||=(0,t.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":(0,t.withCtx)(()=>[e.useImageUpload?((0,t.openBlock)(),(0,t.createBlock)(Q,{key:0,src:c.value,"onUpdate:src":r[0]||=e=>c.value=e,endpoint:e.endpoint,"custom-fetch":e.customFetch,"to-data-url":!e.endpoint,"auth-token":e.authToken,disabled:e.disabled,"base-response-path":e.baseResponsePath,accept:e.accept,"max-file-size":e.maxFileSize,"max-image-width":e.maxImageWidth,"enable-preview":!1,"aspect-ratio":e.aspectRatio},{button:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Ya,[(0,t.createVNode)(b,{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`])):((0,t.openBlock)(),(0,t.createBlock)(Z,{key:1,src:c.value,"onUpdate:src":r[1]||=e=>c.value=e,multiple:!1,endpoint:e.endpoint,"custom-fetch":e.customFetch,"to-data-url":!e.endpoint,"auth-token":e.authToken,disabled:e.disabled,"base-response-path":e.baseResponsePath,accept:e.accept,"max-file-size":e.maxFileSize},{button:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Xa,[(0,t.createVNode)(b,{symbol:`plus`})])]),_:1},8,[`src`,`endpoint`,`custom-fetch`,`to-data-url`,`auth-token`,`disabled`,`base-response-path`,`accept`,`max-file-size`]))]),_:1},8,[`modelValue`])])]))}}),Qa=`https://router.project-osrm.org/route/v1`;function $a(){let e=(0,t.ref)([]),n=(0,t.ref)(null),r=(0,t.ref)(null),i=(0,t.ref)([]),o=(0,t.ref)(!1),s=(0,t.ref)(``),c=(0,t.computed)(()=>e.value.length>1);function l(){e.value=[],n.value=null,r.value=null,i.value=[],s.value=``}async function u(t,c,u={}){if(!t||!c)return l(),null;o.value=!0;let d=u.customFetch||a.ofetch,f=(u.endpoint||Qa).replace(/\/$/,``),p=u.profile||`driving`;try{let a=(await d(`${f}/${p}/${t.lng},${t.lat};${c.lng},${c.lat}`,{method:`GET`,query:{alternatives:!1,overview:`full`,steps:!0,geometries:`geojson`}}))?.routes?.[0];if(!a)throw Error(`No route available for these points.`);return e.value=Array.isArray(a?.geometry?.coordinates)?a.geometry.coordinates.map(e=>[Number(e[1]),Number(e[0])]).filter(e=>Number.isFinite(e[0])&&Number.isFinite(e[1])):[],n.value=Number.isFinite(a?.distance)?Number(a.distance):null,r.value=Number.isFinite(a?.duration)?Number(a.duration):null,i.value=Array.isArray(a?.legs)?a.legs.flatMap(e=>Array.isArray(e?.steps)?e.steps.map(e=>eo(e)):[]):[],s.value=``,a}catch(e){return l(),s.value=e?.message||`Unable to load directions right now.`,null}finally{o.value=!1}}return{routeCoordinates:e,distanceMeters:n,durationSeconds:r,steps:i,pending:o,error:s,hasRoute:c,fetchRoute:u,clearRoute:l}}function eo(e){let t=`${e?.maneuver?.type||`continue`}`,n=e?.maneuver?.modifier?` ${e.maneuver.modifier}`:``,r=`${e?.name||``}`;return{instruction:`${to(t)}${n}${r?` on ${r}`:``}`.trim(),name:r,distance:Number.isFinite(e?.distance)?Number(e.distance):0,duration:Number.isFinite(e?.duration)?Number(e.duration):0}}function to(e){return e.charAt(0).toUpperCase()+e.slice(1)}var no=`https://nominatim.openstreetmap.org/search`,ro=`https://nominatim.openstreetmap.org/reverse`;function io(){let e=(0,t.ref)([]),n=(0,t.ref)(!1),r=(0,t.ref)(``);function i(){e.value=[],r.value=``}async function o(t,o={}){if(!t.trim())return i(),[];n.value=!0;let s=o.customFetch||a.ofetch;try{let n=await s(o.endpoint||no,{method:`GET`,headers:{Accept:`application/json`,...o.language?{"Accept-Language":o.language}:{}},query:{q:t,format:`jsonv2`,addressdetails:1,limit:o.limit||5}});return e.value=Array.isArray(n)?n.map((e,t)=>ao(e,t,`geocoder`)).filter(e=>!!e):[],r.value=``,e.value}catch(t){return r.value=t?.message||`Unable to search locations right now.`,e.value=[],[]}finally{n.value=!1}}async function s(e,t={}){n.value=!0;let i=t.customFetch||a.ofetch;try{let n=ao(await i(t.reverseEndpoint||ro,{method:`GET`,headers:{Accept:`application/json`,...t.language?{"Accept-Language":t.language}:{}},query:{lat:e.lat,lon:e.lng,format:`jsonv2`,addressdetails:1}}),0,`reverse-geocoder`);return r.value=``,n}catch(e){return r.value=e?.message||`Unable to resolve this location right now.`,null}finally{n.value=!1}}return{results:e,pending:n,error:r,search:o,reverse:s,clearResults:i}}function ao(e,t,n){let r=Number(e?.lat),i=Number(e?.lon??e?.lng);if(!Number.isFinite(r)||!Number.isFinite(i))return null;let a=`${e?.display_name||e?.name||`Location`}`,o=`${e?.name||a.split(`,`)[0]||`Location`}`.trim();return{id:`${n===`reverse-geocoder`?`reverse`:`geo`}-${e?.place_id??t}`,title:o,address:a,lat:r,lng:i,source:n,raw:e}}function oo(e={}){let n=(0,t.ref)(null),r=(0,t.ref)(``),i=(0,t.ref)(!1),a=(0,t.ref)(!1),o=typeof window<`u`&&typeof navigator<`u`&&`geolocation`in navigator,s={enableHighAccuracy:!0,timeout:1e4,maximumAge:1e4,...e},c=null;function l(e){n.value={lat:Number(e.latitude),lng:Number(e.longitude),accuracy:Number.isFinite(e.accuracy)?Number(e.accuracy):null},i.value=!1,r.value=``}function u(e){r.value=typeof e==`string`?e:e instanceof Error?e.message:e.message||`Unable to retrieve your location.`,i.value=!1}async function d(){return o?(i.value=!0,new Promise(e=>{navigator.geolocation.getCurrentPosition(({coords:t})=>{l(t),e(n.value)},t=>{u(t),e(null)},s)})):(u(`Geolocation is not supported in this browser.`),null)}function f(){if(!o){u(`Geolocation is not supported in this browser.`);return}c===null&&(i.value=!0,a.value=!0,c=navigator.geolocation.watchPosition(({coords:e})=>{l(e)},e=>{u(e),a.value=!1},s))}function p(){if(!o||c===null){a.value=!1,i.value=!1;return}navigator.geolocation.clearWatch(c),c=null,a.value=!1,i.value=!1}return(0,t.onBeforeUnmount)(()=>{p()}),{supported:o,position:(0,t.computed)(()=>n.value),accuracy:(0,t.computed)(()=>n.value?.accuracy??null),error:r,pending:i,isTracking:a,locate:d,startTracking:f,stopTracking:p}}var so={class:`location-finder`,"data-testid":`location-finder`},co={class:`location-finder__actions`},lo=[`disabled`],uo={key:1,class:`location-finder__notice`,"data-testid":`location-finder-error`},fo={class:`location-finder__map-panel`},po=[`aria-label`],mo={class:`location-finder__legend-item`},ho={class:`location-finder__legend-item`},go={class:`location-finder__legend-item`},_o={class:`location-finder__legend-item`},vo={key:0,class:`location-finder__sidebar`},yo={key:1,class:`location-finder__summary`,"data-testid":`location-finder-directions`},bo={class:`location-finder__summary-title`},xo={key:0,class:`location-finder__summary-copy`},So={class:`location-finder__summary-grid`},Co={class:`location-finder__summary-label`},wo={"data-testid":`location-finder-distance`},To={class:`location-finder__summary-label`},Eo={"data-testid":`location-finder-duration`},Do={key:0,class:`location-finder__steps`},Oo={key:0},ko={key:2,class:`location-finder__summary-copy`},Ao=(0,t.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(e,{emit:n}){let i={lat:48.8566,lng:2.3522},a={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=e,s=n,{t:c,te:l}=(0,r.useI18n)({useScope:`global`}),u=oo(),d=io(),f=$a(),p=(0,t.ref)(``),m=(0,t.ref)(U(V(o.modelValue))),h=(0,t.ref)(U(V(o.modelValue))?null:V(o.modelValue)),g=(0,t.ref)(B(o.modelValue)||B(o.center)||B(o.locations[0])||i),_=(0,t.ref)(!1),v=(0,t.computed)(()=>B(o.userLocation)),y=(0,t.computed)(()=>u.position.value||v.value),b=(0,t.computed)(()=>B(h.value)),x=(0,t.computed)(()=>B(m.value)),S=(0,t.computed)(()=>y.value||b.value),C=(0,t.computed)(()=>!S.value||!x.value?null:se(S.value,x.value)),w=(0,t.computed)(()=>B(o.modelValue)||b.value||x.value),T=(0,t.computed)(()=>u.error.value||d.error.value||f.error.value||``),E=(0,t.computed)(()=>o.showSearch||o.trackUser&&o.showTrackButton),D=(0,t.computed)(()=>o.enableDirections&&o.showDirectionsSummary),O=(0,t.computed)(()=>o.showSidebar||D.value),k=(0,t.computed)(()=>ce(f.distanceMeters.value)),A=(0,t.computed)(()=>le(f.durationSeconds.value)),j=(0,t.computed)(()=>({searchLabel:z(`searchLabel`,o.searchLabel),searchPlaceholder:z(`searchPlaceholder`,o.searchPlaceholder),resultsLabel:z(`resultsLabel`,o.resultsLabel),emptyText:z(`emptyText`,o.emptyText),locateButtonLabel:z(`locateButtonLabel`,o.locateButtonLabel),stopTrackingLabel:z(`stopTrackingLabel`,o.stopTrackingLabel),mapHelperText:z(`mapHelperText`,o.mapHelperText),directionsTitle:z(`directionsTitle`,o.directionsTitle),directionsEmptyText:z(`directionsEmptyText`,o.directionsEmptyText),distanceLabel:z(`distanceLabel`,o.distanceLabel),durationLabel:z(`durationLabel`,o.durationLabel),loadingRoute:z(`loadingRoute`),legendAriaLabel:z(`legendAriaLabel`),legendLocations:z(`legendLocations`),legendSelected:z(`legendSelected`),legendSearchResult:z(`legendSearchResult`),userLocationLabel:z(`userLocationLabel`),pinnedLocationTitle:z(`pinnedLocationTitle`),selectedLocationLabel:z(`selectedLocationLabel`)})),M=(0,t.computed)(()=>h.value?W(h.value):j.value.selectedLocationLabel),N=(0,t.computed)(()=>u.isTracking.value&&_.value?j.value.stopTrackingLabel:j.value.locateButtonLabel);(0,t.watch)(()=>o.modelValue,e=>{let t=V(e),n=U(t);n?(m.value=n,h.value=null):t&&(h.value=t);let r=B(e);r&&(g.value=r)},{immediate:!0}),(0,t.watch)(()=>o.center,e=>{let t=B(e);t&&(g.value=t)},{deep:!0}),(0,t.watch)(y,e=>{e&&_.value&&(g.value=e)},{deep:!0}),(0,t.watch)(C,e=>{s(`update:distance`,e)},{immediate:!0}),(0,t.watch)(p,async e=>{if(s(`search`,e),!o.enableGeocoding){d.clearResults();return}let t=e.trim();if(t.length<o.geocodingMinQueryLength){d.clearResults();return}await d.search(t,{endpoint:o.geocodingEndpoint,customFetch:o.customGeocodingFetch,limit:o.geocodingLimit})}),(0,t.watch)(()=>({enabled:o.enableDirections,origin:y.value,destination:w.value,profile:o.routeProfile}),async({enabled:e,origin:t,destination:n,profile:r})=>{if(!e||!t||!n||G(t,n)){f.clearRoute();return}await f.fetchRoute(t,n,{endpoint:o.directionsEndpoint,profile:r,customFetch:o.customDirectionsFetch})},{immediate:!0,deep:!0}),(0,t.onMounted)(async()=>{o.autoLocate&&o.trackUser&&await he()});let P=(0,t.computed)(()=>{let e=re(p.value).trim();return e?o.locations.filter(t=>[W(t),ie(t)].filter(Boolean).some(t=>re(t).includes(e))):o.locations}),F=(0,t.computed)(()=>d.results.value.map(e=>({id:e.id,title:e.title,address:e.address,lat:e.lat,lng:e.lng,source:e.source}))),I=(0,t.computed)(()=>{if(!p.value.trim())return o.locations;let e=P.value;return e.length?e:o.locations}),L=(0,t.computed)(()=>I.value),R=(0,t.computed)(()=>oe(I.value,o.enableGeocoding?F.value:[])),ee=(0,t.computed)(()=>Array.from(new Set(R.value.map(e=>ae(e))))),te=(0,t.computed)(()=>L.value.map(e=>{let t=B(e);return t?{id:H(e),label:W(e),...t,type:x.value&&G(t,x.value)?`selected`:`list`}:null}).filter(e=>!!e)),ne=(0,t.computed)(()=>_.value&&y.value?y.value:g.value||w.value||y.value||B(L.value[0])||i);function z(e,t){let n=o.messages?.[e];if(typeof n==`string`&&n.trim())return n;if(typeof t==`string`&&t.trim())return t;let r=`locationFinder.${String(e)}`;return l(r)?String(c(r)):a[e]}function B(e){if(!e)return null;let t=Number(e.lat),n=Number(e.lng);return!Number.isFinite(t)||!Number.isFinite(n)?null:{lat:t,lng:n}}function V(e){if(!e)return null;let t=B(e);return t?{...e,...t}:null}function H(e){return e?typeof e==`object`?e.id??e.value??ae(e):e:null}function U(e){return e&&o.locations.find(t=>H(t)===H(e)||G(B(t),B(e)))||null}function re(e){return`${e??``}`.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).toLowerCase()}function W(e){return`${e.title||e.label||e.name||`Location`}`}function ie(e){return`${e.address||e.description||e.subtitle||``}`}function ae(e){let t=W(e),n=ie(e);return n?`${t} — ${n}`:t}function oe(e,t){let n=[...e];return t.forEach(e=>{n.some(t=>H(t)===H(e)||G(B(t),B(e)))||n.push(e)}),n}function G(e,t){return!e||!t?!1:Math.abs(e.lat-t.lat)<1e-6&&Math.abs(e.lng-t.lng)<1e-6}function se(e,t){let n=e=>Math.PI/180*e,r=n(t.lat-e.lat),i=n(t.lng-e.lng),a=n(e.lat),o=n(t.lat),s=Math.sin(r/2)**2+Math.cos(a)*Math.cos(o)*Math.sin(i/2)**2,c=2*Math.atan2(Math.sqrt(s),Math.sqrt(1-s));return Math.round(6371e3*c)}function ce(e){return e===null||!Number.isFinite(e)?`—`:e>=1e3?`${(e/1e3).toFixed(1)} km`:`${Math.round(e)} m`}function le(e){if(e===null||!Number.isFinite(e))return`—`;let t=Math.max(1,Math.round(e/60));if(t<60)return`${t} min`;let n=Math.floor(t/60),r=t%60;return r?`${n} h ${r} min`:`${n} h`}function K(e){let t=V(e),n=U(t);if(_.value=!1,!t){s(`update:modelValue`,null);return}m.value=n||t;let r=B(t);r&&(g.value=r),s(`update:modelValue`,t),s(`select`,t)}function q(e){let t=V(e),n=U(t);if(_.value=!1,!t){s(`update:modelValue`,null);return}n?(m.value=n,h.value=null):h.value=t;let r=B(t);r&&(g.value=r),s(`update:modelValue`,t),s(`select`,t)}function ue(e){let t=R.value.find(t=>ae(t)===e||W(t)===e);if(t){if(U(t)){K(t),h.value=null;return}q(t)}}function de(e){K(e)}function fe(e){if(e.id===`user-location`&&y.value){g.value=y.value,_.value=!0,s(`track-user`,y.value);return}let t=L.value.find(t=>H(t)===e.id)||L.value.find(t=>{let n=B(t);return n&&Math.abs(n.lat-e.lat)<1e-6&&Math.abs(n.lng-e.lng)<1e-6});if(t){K(t);return}h.value&&(H(h.value)===e.id||G(B(h.value),{lat:e.lat,lng:e.lng}))&&q(h.value)}async function pe(e){if(g.value=e,_.value=!1,!o.interactive)return;let t=L.value.find(t=>{let n=B(t);return n&&Math.abs(n.lat-e.lat)<1e-6&&Math.abs(n.lng-e.lng)<1e-6});if(t){K(t);return}q(await me(e,j.value.pinnedLocationTitle))}async function me(e,t){if(!o.enableGeocoding)return{id:`pin-${e.lat}-${e.lng}`,title:t,lat:e.lat,lng:e.lng};let n=await d.reverse(e,{reverseEndpoint:o.reverseGeocodingEndpoint,customFetch:o.customGeocodingFetch});return n?{id:n.id,title:n.title||t,address:n.address,lat:n.lat,lng:n.lng,source:n.source}:{id:`pin-${e.lat}-${e.lng}`,title:t,lat:e.lat,lng:e.lng}}async function he(){if(u.isTracking.value&&_.value){u.stopTracking(),_.value=!1;return}if(y.value){g.value=y.value,_.value=!0,s(`track-user`,y.value),!u.isTracking.value&&!v.value&&u.startTracking();return}let e=await u.locate();e&&(g.value=e,_.value=!0,s(`track-user`,e),u.startTracking())}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,so,[E.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`location-finder__toolbar`,{"location-finder__toolbar--actions-only":!o.showSearch}])},[o.showSearch?((0,t.openBlock)(),(0,t.createBlock)(Xt,{key:0,modelValue:p.value,"onUpdate:modelValue":r[0]||=e=>p.value=e,class:`location-finder__search`,label:j.value.searchLabel,placeholder:j.value.searchPlaceholder,options:ee.value,disabled:e.disabled,"onUpdate:selection":ue},null,8,[`modelValue`,`label`,`placeholder`,`options`,`disabled`])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,co,[e.trackUser&&o.showTrackButton?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`btn btn-outline-primary btn-sm location-finder__locate`,disabled:e.disabled||(0,t.unref)(u).pending.value,"data-testid":`location-finder-locate`,onClick:he},(0,t.toDisplayString)(N.value),9,lo)):(0,t.createCommentVNode)(``,!0)])],2)):(0,t.createCommentVNode)(``,!0),T.value?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,uo,(0,t.toDisplayString)(T.value),1)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`location-finder__layout`,{"location-finder__layout--with-summary":D.value,"location-finder__layout--full-width":!O.value}])},[(0,t.createElementVNode)(`div`,fo,[(0,t.createVNode)(gr,{class:`location-finder__map`,center:ne.value,markers:te.value,"model-value":b.value,"user-location":y.value,"user-location-label":j.value.userLocationLabel,"selected-location-label":M.value,"route-coordinates":(0,t.unref)(f).routeCoordinates.value,"route-color":e.routeColor,"route-weight":e.routeWeight,"selection-radius":e.selectionRadius,"selection-radius-center":w.value,"selection-radius-color":e.selectionRadiusColor,"selection-radius-fill-color":e.selectionRadiusFillColor,"map-style":e.mapStyle,"tile-layer-url":e.tileLayerUrl,"tile-layer-attribution":e.tileLayerAttribution,height:e.mapHeight,interactive:e.interactive,disabled:e.disabled,"helper-text":j.value.mapHelperText,"onUpdate:modelValue":pe,onMarkerClick:fe},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?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`location-finder__legend`,"data-testid":`location-finder-legend`,"aria-label":j.value.legendAriaLabel},[(0,t.createElementVNode)(`span`,mo,[r[2]||=(0,t.createElementVNode)(`span`,{class:`location-finder__legend-swatch location-finder__legend-swatch--list`},null,-1),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(j.value.legendLocations),1)]),(0,t.createElementVNode)(`span`,ho,[r[3]||=(0,t.createElementVNode)(`span`,{class:`location-finder__legend-swatch location-finder__legend-swatch--selected`},null,-1),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(j.value.legendSelected),1)]),(0,t.createElementVNode)(`span`,go,[r[4]||=(0,t.createElementVNode)(`span`,{class:`location-finder__legend-swatch location-finder__legend-swatch--search`},null,-1),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(j.value.legendSearchResult),1)]),(0,t.createElementVNode)(`span`,_o,[r[5]||=(0,t.createElementVNode)(`span`,{class:`location-finder__legend-swatch location-finder__legend-swatch--user`},null,-1),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(j.value.userLocationLabel),1)])],8,po)):(0,t.createCommentVNode)(``,!0)]),O.value?((0,t.openBlock)(),(0,t.createElementBlock)(`aside`,vo,[o.showSidebar?((0,t.openBlock)(),(0,t.createBlock)(Tr,{key:0,modelValue:m.value,"onUpdate:modelValue":r[1]||=e=>m.value=e,class:`location-finder__results`,locations:L.value,label:j.value.resultsLabel,"empty-text":j.value.emptyText,onSelect:de},null,8,[`modelValue`,`locations`,`label`,`empty-text`])):(0,t.createCommentVNode)(``,!0),D.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,yo,[(0,t.createElementVNode)(`p`,bo,(0,t.toDisplayString)(j.value.directionsTitle),1),(0,t.unref)(f).pending.value?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,xo,(0,t.toDisplayString)(j.value.loadingRoute),1)):(0,t.unref)(f).hasRoute.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`div`,So,[(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`p`,Co,(0,t.toDisplayString)(j.value.distanceLabel),1),(0,t.createElementVNode)(`strong`,wo,(0,t.toDisplayString)(k.value),1)]),(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`p`,To,(0,t.toDisplayString)(j.value.durationLabel),1),(0,t.createElementVNode)(`strong`,Eo,(0,t.toDisplayString)(A.value),1)])]),e.showDirectionsSteps&&(0,t.unref)(f).steps.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`ol`,Do,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(f).steps.value.slice(0,5),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:`${e.instruction}-${n}`},[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.instruction),1),e.name?((0,t.openBlock)(),(0,t.createElementBlock)(`small`,Oo,(0,t.toDisplayString)(e.name),1)):(0,t.createCommentVNode)(``,!0)]))),128))])):(0,t.createCommentVNode)(``,!0)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,ko,(0,t.toDisplayString)(j.value.directionsEmptyText),1))])):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)],2)]))}}),jo={class:`carousel d-flex`},Mo=[`title`],No=[`onClick`],Po=[`title`],Fo=(0,t.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(e,{emit:n}){let r=n,i=(0,t.ref)(),a=(0,t.ref)();function o(){i.value.scrollTo({top:0,left:i.value.scrollLeft-i.value.clientWidth>0?i.value.scrollLeft-i.value.clientWidth:0,behavior:`smooth`})}function s(){i.value.scrollTo({top:0,left:i.value.scrollLeft-i.value.clientWidth<=a.value.clientWidth?i.value.scrollLeft+i.value.clientWidth:a.value.clientWidth,behavior:`smooth`})}function c(e){r(`update:modelValue`,e)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,jo,[e.navigation?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:`carousel__control btn btn-link text-light`,type:`button`,onClick:(0,t.withModifiers)(o,[`prevent`,`stop`]),title:n.$t(`common.backward`)},[(0,t.createVNode)(b,{symbol:`chevron-left`})],8,Mo)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{ref_key:`viewport`,ref:i,class:`carousel__viewport flex-grow-1`},[(0,t.createElementVNode)(`div`,{ref_key:`track`,ref:a,class:`carousel__track d-flex justify-center align-items-center`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.items,(r,i)=>(0,t.renderSlot)(n.$slots,`carousel-item`,{item:r,index:i},()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`carousel__item`,i===e.modelValue?`selected`:``]),onClick:e=>c(i)},(0,t.toDisplayString)(r),11,No)],void 0,r.src)),128))],512)],512),e.navigation?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,class:`carousel__control btn btn-link text-light`,type:`button`,onClick:(0,t.withModifiers)(s,[`prevent`,`stop`]),title:n.$t(`common.forward`)},[(0,t.createVNode)(b,{symbol:`chevron-right`})],8,Po)):(0,t.createCommentVNode)(``,!0)]))}}),Io={class:`media-thumbnails`},Lo=[`onClick`,`title`],Ro={key:0,class:`img-container`},zo={key:0,class:`media-thumbnails__count-badge`},Bo={key:2,class:`img-container`},Vo=(0,t.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(e,{emit:n}){let r=n,i=(0,t.ref)(-1);function a(e){i.value=e,r(`update:modelValue`,e),r(`select`,e)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Io,[(0,t.createVNode)(Fo,{items:e.assets},{"carousel-item":(0,t.withCtx)(r=>[(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`carousel__item media-thumbnails__thumbnail`,r.index===e.modelValue||r.index===i.value?`is-active`:``]),onClick:e=>a(r.index),title:`${n.$t(`thumbnails.thumbnail`)} ${r.index+1}`},[r.item.type===`preset`&&r.item.thumbnail?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ro,[(0,t.createVNode)(w,{src:r.item.thumbnail,class:`img-fluid`},null,8,[`src`])])):r.item.type===`preset`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:(0,t.normalizeClass)([`img-container img-container--multi`,{"img-container--stacked":e.stacked}])},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(r.item.items,(e,n)=>((0,t.openBlock)(),(0,t.createBlock)(w,{key:n,src:e.thumbnail||e.src,class:`img-fluid`},null,8,[`src`]))),128)),e.showCount&&Object.keys(r.item.items||{}).length?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,zo,(0,t.toDisplayString)(Object.keys(r.item.items||{}).length),1)):(0,t.createCommentVNode)(``,!0)],2)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Bo,[(0,t.createVNode)(w,{src:r.item.thumbnail||r.item.src,class:`img-fluid`},null,8,[`src`])]))],10,Lo)]),_:1},8,[`items`])]))}}),Ho={class:`progress-steps`},Uo={class:`progress-steps__list`},Wo={class:`progress-step`},Go=[`checked`,`id`,`value`,`disabled`,`read-only`,`required`,`onChange`],Ko=[`for`],qo=[`innerHTML`],Jo=[`for`],Yo=[`innerHTML`],Xo=(0,t.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(e,{emit:n}){let r=e,i=n;function a(e){i(`update:modelValue`,e),e>=r.progress&&i(`update:progress`,e)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ho,[(0,t.createElementVNode)(`ul`,Uo,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.steps,(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:i,class:(0,t.normalizeClass)([`progress-steps__step`,{"progress-steps__step--disabled":i>e.progress+ +!!e.reveal,"progress-steps__step--active":i===(e.modelValue||0)}])},[(0,t.renderSlot)(n.$slots,`step`,{},()=>[(0,t.createElementVNode)(`div`,Wo,[(0,t.createElementVNode)(`input`,{type:`radio`,checked:i<=(e.progress||0),id:`step-${i}`,name:`step`,class:`form-check-input`,value:r.value,disabled:r.disabled||i>e.progress+ +!!e.reveal,"read-only":r.readOnly,required:r.required,onChange:e=>a(i)},null,40,Go),(0,t.createElementVNode)(`label`,{for:`step-${i}`},[(0,t.renderSlot)(n.$slots,`button`,{step:r},()=>[(0,t.createElementVNode)(`span`,{class:`btn rounded-circle`,innerHTML:(0,t.unref)(O)(r.text||``)},null,8,qo)])],8,Ko),(0,t.createElementVNode)(`label`,{for:`step-${i}`},[(0,t.renderSlot)(n.$slots,`label`,{step:r},()=>[(0,t.createElementVNode)(`span`,{class:`form-check-label`,innerHTML:(0,t.unref)(O)(r.label||``)},null,8,Yo)])],8,Jo)])])],2))),128))])]))}}),Zo={class:`hint-system`},Qo=[`innerHTML`],$o=[`innerHTML`],es={key:1,class:`hint-system__hint-content`},ts=[`disabled`],ns=(0,t.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(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(r.modelValue);(0,t.watch)(()=>r.modelValue,e=>{a.value=e});let o=(0,t.computed)(()=>r.maxHints===void 0?r.hints.length:r.maxHints),s=(0,t.computed)(()=>a.value<o.value),c=(0,t.computed)(()=>r.hints.slice(0,a.value));function l(){if(!s.value)return;let e=a.value;a.value++,i(`update:modelValue`,a.value),i(`hint-revealed`,{hint:r.hints[e],index:e,penaltyTotal:a.value*r.penalty})}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Zo,[e.description?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,innerHTML:(0,t.unref)(O)(e.description),class:`hint-system__description`},null,8,Qo)):(0,t.createCommentVNode)(``,!0),c.value.length?((0,t.openBlock)(),(0,t.createBlock)(t.TransitionGroup,{key:1,name:`hint-reveal`,tag:`ol`,class:`hint-system__list`},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(c.value,(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:i,class:`hint-system__hint`},[(0,t.renderSlot)(n.$slots,`hint`,{hint:r,index:i,isNew:i===a.value-1},()=>[e.htmlContent?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`hint-system__hint-content`,innerHTML:(0,t.unref)(O)(r.content||``)},null,8,$o)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,es,(0,t.toDisplayString)(r.content),1))])]))),128))]),_:3})):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(n.$slots,`trigger`,{revealNext:l,canReveal:s.value,revealedCount:a.value,total:o.value},()=>[(0,t.createElementVNode)(`button`,{type:`button`,class:`hint-system__trigger d-block w-100 text-center`,disabled:!s.value,onClick:l},(0,t.toDisplayString)(e.label),9,ts)])]))}}),rs={class:`popover-tooltip`},is=[`popovertarget`,`disabled`,`aria-describedby`,`aria-label`],as={class:`popover-tooltip__content d-flex flex-column`},os={key:0,class:`popover-tooltip__header d-flex p-3 border-bottom`},ss=[`innerHTML`],cs={class:`popover-tooltip__body`},ls=[`innerHTML`],us={key:1,class:`popover-tooltip__footer d-flex p-3 border-top`},ds=(0,t.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(e,{emit:n}){let r=e,i=n,a=D(()=>r.title),o=D(()=>r.content),s=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}}),c=(0,t.ref)(),l=(0,t.ref)();return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,rs,[(0,t.createElementVNode)(`button`,{type:`button`,popovertarget:e.id,disabled:e.disabled,"aria-describedby":e.id,"aria-label":e.ariaLabel||n.$te(`common.moreInfo`)?n.$t(`common.moreInfo`):void 0,ref_key:`trigger`,ref:c},[(0,t.renderSlot)(n.$slots,`button`,{},()=>[r[3]||=(0,t.createElementVNode)(`span`,{class:`popover-tooltip__trigger`},` i `,-1)])],8,is),(0,t.createVNode)($,{id:e.id,modelValue:s.value,"onUpdate:modelValue":r[2]||=e=>s.value=e,hover:e.hover,"hover-delay":e.hoverDelay,ref_key:`dialog`,ref:l,role:`tooltip`,class:(0,t.normalizeClass)(e.size?`popover-tooltip--${e.size}`:``)},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,as,[e.header?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,os,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`h5`,{key:0,class:`popover-tooltip__title`,innerHTML:(0,t.unref)(a)},null,8,ss)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn-close ms-auto border-radius-none`,"aria-label":`Close`,onClick:r[0]||=e=>s.value=!1})])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,cs,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createElementVNode)(`span`,{innerHTML:(0,t.unref)(o)},null,8,ls)])]),e.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,us,[(0,t.renderSlot)(n.$slots,`footer`),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn ms-auto`,onClick:r[1]||=e=>s.value=!1},(0,t.toDisplayString)(n.$t(`common.close`)),1)])):(0,t.createCommentVNode)(``,!0)])]),_:3},8,[`id`,`modelValue`,`hover`,`hover-delay`,`class`])]))}}),fs={class:`popover-notification__header d-flex justify-content-between mb-2`},ps={class:`popover-notification__title`},ms=[`onClick`],hs=[`innerHTML`],gs=240,_s=(0,t.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(e,{expose:n}){let r=e,i=(0,t.ref)([]),a=(0,t.ref)([]),o=(0,t.ref)(null),s=new Map,c=(0,t.computed)(()=>i.value.map(e=>({...e,content:O(e.content||``)}))),l=(0,t.ref)(!1),u=(0,t.computed)(()=>l.value?[...c.value].reverse():c.value);function d(e,t){t===!1&&m(e)}function f(e){let t=s.get(e);t&&(clearTimeout(t),s.delete(e))}function p(e){let t=e.closeTimeout??r.closeTimeout;f(e.id),t&&s.set(e.id,window.setTimeout(()=>{f(e.id),m(e)},t))}function m(e){e.visible===!1&&s.has(e.id)||(f(e.id),e.visible=!1,s.set(e.id,window.setTimeout(()=>{i.value=i.value.filter(t=>t.id!==e.id),s.delete(e.id),i.value.length===0&&(l.value=!1)},gs)))}function h(e){if(r.collapsible&&i.value.length>=r.collapseItems){let e=i.value.shift();e&&f(e.id)}r.collapsible&&i.value.length+1>=r.collapseItems&&(l.value=!0),i.value.forEach(e=>{e.stackIndex=(e.stackIndex??0)+1});let t={...e,closeTimeout:e.closeTimeout??r.closeTimeout,visible:!0,stackIndex:0};i.value.push(t),p(t)}(0,t.watch)(()=>r.items,(e,t)=>{let n=e.filter(e=>!t.some(t=>t.id===e.id));n.length&&(a.value=[...a.value,...n],g())});function g(){o.value!==null||!a.value.length||(o.value=window.setTimeout(()=>{o.value=null;let e=a.value.shift();e&&h(e),a.value.length>0&&g()},i.value.length?r.debounceItem:0))}function _(e){a.value.push(e),g()}return(0,t.onMounted)(()=>{a.value=[...r.items],r.collapsible&&a.value.length>=r.collapseItems&&(l.value=!0),g()}),(0,t.onBeforeUnmount)(()=>{o.value!==null&&clearTimeout(o.value);for(let e of s.values())clearTimeout(e);s.clear()}),n({addItem:_}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`popover-notifications`,{"popover-notifications--stacked":l.value}])},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(u.value,(n,r)=>((0,t.openBlock)(),(0,t.createBlock)($,{key:n.id,id:n.id,"close-timeout":0,type:`manual`,class:`popover-notification`,modelValue:n.visible,"onUpdate:modelValue":[e=>n.visible=e,e=>d(n,e)],style:(0,t.normalizeStyle)({"--stack-index":n.stackIndex??r})},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`item`,{item:n,removeItem:d},()=>[(0,t.createElementVNode)(`div`,fs,[(0,t.createElementVNode)(`span`,ps,(0,t.toDisplayString)(n.title),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-close p-0`,onClick:(0,t.withModifiers)(e=>d(n,!1),[`stop`]),"aria-label":`Close notification`},null,8,ms)]),(0,t.createElementVNode)(`span`,{innerHTML:n.content},null,8,hs)])]),_:2},1032,[`id`,`modelValue`,`onUpdate:modelValue`,`style`]))),128))],2))}}),vs=(0,t.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(e,{emit:n}){let{debounce:r}=o.default,i=e,a=n,c=(0,t.ref)(),l=(0,t.ref)(``),u=(0,t.ref)(),d=(0,t.ref)(!0);async function f(){if(!c.value||!d.value)return``;let e=c.value;if(!e.isConnected)return``;try{i.emitPending&&a(`update:pending`,!0);let t=e.firstElementChild;if(!t)return``;let n=await(0,s.default)(t,{backgroundColor:`rgba(0, 0, 0, 0)`,scale:1,...i.options});if(!d.value||!c.value||!e.isConnected)return``;let r=n.toDataURL();if(a(`update:modelValue`,r),i.emitPending&&a(`update:pending`,!1),i.debug){let e=new Image;e.src=r,document.body.appendChild(e)}return r}catch(e){return d.value&&i.emitPending&&a(`update:pending`,!1),console.warn(`dom-renderer: Render failed`,e),``}}let p=r(async()=>{l.value=await f()},300,{trailing:!0,leading:!1});return(0,t.onMounted)(()=>{let e=c.value;i.renderUpdates&&(u.value=new MutationObserver(async t=>{!d.value||!e.isConnected||(i.emitPending&&a(`update:pending`,!0),p())}),u.value.observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),setTimeout(()=>{i.emitPending&&a(`update:pending`,!0),p()},500)}),(0,t.onBeforeUnmount)(()=>{d.value=!1,u.value&&u.value.disconnect(),p.cancel()}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`dom-renderer`,{"off-screen":!e.debug}]),ref_key:`renderer`,ref:c,style:(0,t.normalizeStyle)(e.fixedWidth>0?{width:`${e.fixedWidth}px`}:{})},[(0,t.renderSlot)(n.$slots,`default`)],6))}}),ys={class:`qr-code`},bs=[`innerHTML`],xs=(0,t.defineComponent)({__name:`qr-code`,props:{data:null,image:null,download:{type:Boolean,default:!1},filename:{type:String,default:`qr-code`}},emits:[`update:dataUrl`],setup(e,{expose:n,emit:r}){let i=e,a=(0,t.ref)(),o=(0,t.computed)(()=>({width:300,height:300,type:`canvas`,data:i.data,...i.image?{image:i.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 s(e=null,t=null){typeof window<`u`&&(a.value&&(a.value.innerHTML=``),new c.default(e||o.value).append(a.value))}function l(){new c.default({...o.value,width:1200,height:1200}).download({name:i.filename,extension:`png`})}return(0,t.watch)(()=>o.value,s,{deep:!0,immediate:!0}),(0,t.onMounted)(()=>{typeof window<`u`&&s()}),n({download:l}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ys,[i.download?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:`btn btn-outline-contrast mb-3`,onClick:l,innerHTML:e.$t(`qrlink.download`)},null,8,bs)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,ref_key:`canvas`,ref:a},null,512))]))}}),Ss={class:`link-sharing`},Cs={key:0,class:`link-sharing__links container`},ws={class:`row`},Ts={key:0,class:`col-12 col-md-6`},Es=[`href`],Ds={class:`caption`},Os={key:1,class:`col-12 col-md-6`},ks=[`href`],As={class:`caption`},js={key:2,class:`col-12 col-md-6`},Ms={class:`caption`},Ns={key:3,class:`col-12 col-md-6`},Ps=[`href`],Fs={class:`caption`},Is={key:4,class:`col-12 col-md-6`},Ls=[`href`],Rs={class:`caption`},zs={key:5,class:`col-12 col-md-6`},Bs={class:`caption`},Vs={key:6,class:`col-12 col-md-6`},Hs=[`href`],Us={class:`caption`},Ws={key:7,class:`col-12 col-md-6`},Gs={class:`caption`},Ks={key:1,class:`link-sharing__instructions pt-5`},qs={class:`row`},Js={class:`col-12 text-center py-0`},Ys={class:`mb-5`},Xs=e=>e.replace(/<(?:.|\n)*?>/gm,``),Zs=(0,t.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,os:!0}}},setup(e){let n=e,r=(0,t.ref)(!1),i=(0,t.computed)(()=>encodeURIComponent(n.url));(0,t.computed)(()=>encodeURIComponent(n.media));let a=(0,t.computed)(()=>Xs(n.text)),o=(0,t.computed)(()=>!!(navigator&&navigator.userAgent&&/Mobi|Android/i.test(navigator.userAgent))),s=(0,t.computed)(()=>!!(navigator&&navigator.canShare));async function c(){let e=document.createElement(`textarea`);document.body.appendChild(e),e.value=n.url,e.select(),e.setSelectionRange(0,99999),navigator.clipboard.writeText(e.value),document.body.removeChild(e)}async function l(){if(s.value){let e={title:n.subject,text:a.value,url:n.url};await navigator.canShare(e)&&await navigator.share(e).catch(e=>{console.log(`shareError`,e)})}}return(n,u)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ss,[r.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ks,[(0,t.createElementVNode)(`div`,qs,[(0,t.createElementVNode)(`div`,Js,[(0,t.createElementVNode)(`div`,Ys,[(0,t.createElementVNode)(`p`,null,(0,t.toDisplayString)(n.$t(`sharing.instructions`,{service:`Instagram`})),1),(0,t.createElementVNode)(`p`,null,[(0,t.createElementVNode)(`strong`,null,(0,t.toDisplayString)(Array.isArray(e.hashtags)?e.hashtags.join(`, `):e.hashtags),1)]),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-text`,onClick:u[1]||=(0,t.withModifiers)(e=>r.value=!r.value,[`prevent`])},[(0,t.createVNode)(b,{symbol:`arrow-left`}),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(n.$t(`common.back`)),1)])])])])])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Cs,[(0,t.createElementVNode)(`div`,ws,[e.services.facebook?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ts,[(0,t.createElementVNode)(`a`,{class:`link-sharing__link btn btn-primary`,href:`https://www.facebook.com/sharer/sharer.php?u=${i.value}`,target:`_blank`,rel:`noopener`},[(0,t.createVNode)(b,{symbol:`facebook`}),(0,t.createElementVNode)(`span`,Ds,(0,t.toDisplayString)(n.$t(`sharing.facebook`)),1)],8,Es)])):(0,t.createCommentVNode)(``,!0),e.services.bluesky?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Os,[(0,t.createElementVNode)(`a`,{class:`link-sharing__link btn btn-primary`,href:`https://bsky.app/intent/compose?text=${a.value}${a.value?`%20`:``}${e.url}`,target:`_blank`,rel:`noopener`},[(0,t.createVNode)(b,{symbol:`bluesky-logo`}),(0,t.createElementVNode)(`span`,As,(0,t.toDisplayString)(n.$t(`sharing.bluesky`)),1)],8,ks)])):(0,t.createCommentVNode)(``,!0),e.services.instagram?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,js,[(0,t.createElementVNode)(`button`,{type:`button`,class:`link-sharing__link btn btn-primary`,onClick:u[0]||=(0,t.withModifiers)(e=>r.value=!r.value,[`prevent`])},[(0,t.createVNode)(b,{symbol:`instagram`}),(0,t.createElementVNode)(`span`,Ms,(0,t.toDisplayString)(n.$t(`sharing.instagram`)),1)])])):(0,t.createCommentVNode)(``,!0),e.services.linkedin?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ns,[(0,t.createElementVNode)(`a`,{class:`link-sharing__link btn btn-primary`,href:`https://www.linkedin.com/shareArticle?mini=true&url=${i.value}&title=${e.subject}`,target:`_blank`,rel:`noopener`},[(0,t.createVNode)(b,{symbol:`linkedin`}),(0,t.createElementVNode)(`span`,Fs,(0,t.toDisplayString)(n.$t(`sharing.linkedin`)),1)],8,Ps)])):(0,t.createCommentVNode)(``,!0),e.services.whatsapp&&o.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Is,[(0,t.createElementVNode)(`a`,{class:`link-sharing__link btn btn-primary`,href:`whatsapp://send?text=${i.value}`,target:`_blank`,rel:`noopener`},[(0,t.createVNode)(b,{symbol:`whatsapp`}),(0,t.createElementVNode)(`span`,Rs,(0,t.toDisplayString)(n.$t(`sharing.whatsapp`)),1)],8,Ls)])):(0,t.createCommentVNode)(``,!0),e.services.clipboard?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,zs,[(0,t.createElementVNode)(`button`,{type:`button`,class:`link-sharing__link btn btn-primary`,onClick:(0,t.withModifiers)(c,[`prevent`,`stop`])},[(0,t.createVNode)(b,{symbol:`copy`}),(0,t.createElementVNode)(`span`,Bs,(0,t.toDisplayString)(n.$t(`sharing.clipboard`)),1)])])):(0,t.createCommentVNode)(``,!0),e.services.mailto?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Vs,[(0,t.createElementVNode)(`a`,{class:`link-sharing__link btn btn-primary`,href:`mailto:?subject=${e.subject}&body=${a.value}%0D%0A${e.url}`,target:`_blank`,rel:`noopener`},[(0,t.createVNode)(b,{symbol:`mail`}),(0,t.createElementVNode)(`span`,Us,(0,t.toDisplayString)(n.$t(`sharing.mailto`)),1)],8,Hs)])):(0,t.createCommentVNode)(``,!0),e.services.os&&s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ws,[(0,t.createElementVNode)(`button`,{type:`button`,class:`link-sharing__link btn btn-primary`,onClick:(0,t.withModifiers)(l,[`prevent`])},[(0,t.createVNode)(b,{symbol:`share`}),(0,t.createElementVNode)(`span`,Gs,(0,t.toDisplayString)(n.$t(`sharing.os`)),1)])])):(0,t.createCommentVNode)(``,!0)])]))]))}}),Qs={class:`base-form`},$s=(0,t.defineComponent)({__name:`base-form`,props:{id:{},name:{},variant:{},disabled:{type:Boolean},pending:{type:Boolean}},setup(e){function n(e){console.log(`input`,e)}function r(e){console.log(`reset`,e)}function i(e){console.log(`submit`,e)}return(e,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Qs,[(0,t.createElementVNode)(`form`,{ref:`form`,onInput:n,onReset:r,onSubmit:(0,t.withModifiers)(i,[`prevent`])},[(0,t.renderSlot)(e.$slots,`default`)],544)]))}}),ec={class:`touch-wrapper__controls`},tc={class:`btn-group`,role:`group`},nc=(0,t.defineComponent)({__name:`touch-wrapper`,props:{modelValue:{type:Number,default:1}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)();function o(e){let t=r.modelValue+e;i(`update:modelValue`,e===0?1:t>=1?t:1)}function s(e){e.ctrlKey&&(e.preventDefault(),o(0-e.deltaY*.01))}function c(e){e.preventDefault();let{scale:t}=e;o(t>1?t*.01:0-t)}return(0,t.onMounted)(()=>{a.value&&(a.value.addEventListener(`wheel`,s,!1),a.value.addEventListener(`gesturestart`,c,!1),a.value.addEventListener(`gesturechange`,c,!1),a.value.addEventListener(`gestureend`,c,!1))}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`touchElement`,ref:a,class:`touch-wrapper`},[(0,t.renderSlot)(e.$slots,`controls`,{on:{setScale:o}},()=>[(0,t.createElementVNode)(`div`,ec,[(0,t.createElementVNode)(`div`,tc,[(0,t.createElementVNode)(`button`,{type:`button`,class:`btn`,onClick:n[0]||=e=>o(-1)},[(0,t.createVNode)(b,{symbol:`minus`})]),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn`,onClick:n[1]||=e=>o(0)},[(0,t.createVNode)(b,{symbol:`maximize`})]),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn`,onClick:n[2]||=e=>o(1)},[(0,t.createVNode)(b,{symbol:`plus`})])])])]),(0,t.renderSlot)(e.$slots,`default`)],512))}}),rc=null;async function ic(){if(typeof window>`u`)return null;if(rc)return rc;let e=await import(`canvas-confetti`);return rc=e.default||e,rc}var ac={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:oc(55,125),spread:oc(50,70),particleCount:oc(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 oc(e,t){return Math.random()*(t-e)+e}var sc=(0,t.defineComponent)({__name:`canvas-confetti`,props:{preset:{type:String,default:`default`},items:{default:()=>[{}]},colors:{type:Array,default:()=>[]},loop:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.ref)(null),i=(0,t.computed)(()=>({...ac[n.preset],items:ac[n.preset].items.map((e,t)=>({...e,...n.items[t],...n.colors.length?{colors:n.colors}:{}}))}));async function a(e){return new Promise(t=>{(typeof window<`u`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):e=>setTimeout(e,16))(()=>r.value?.confetti?.(JSON.parse(JSON.stringify(e)))),setTimeout(()=>t(),0)})}async function o(){await Promise.all(i.value.items.map(e=>new Promise(t=>setTimeout(()=>{t(a(e))},e.timeout||0)))),n.loop&&o()}return(0,t.onMounted)(async()=>{if(typeof window<`u`&&r.value){let e=await ic();if(!e)return;r.value.confetti=r.value?.confetti||e.create(r.value,{resize:!0}),o()}}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`canvas`,{class:`canvas-confetti`,ref_key:`canvas`,ref:r},null,512))}}),cc=[`popovertarget`],lc=[`src`,`alt`],uc=(0,t.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(e){let n=e,r=(0,t.ref)(null),i=(0,t.ref)(null),a=(0,t.ref)(null),o=(0,t.ref)(!1),s=(0,t.ref)(!1),c=(0,t.ref)(!1),l=(0,t.ref)(!1),u=(0,t.ref)(null),d=(0,t.ref)(0),f=(0,t.ref)(0),p=(0,t.ref)(0),m=(0,t.ref)(0),h=(0,t.computed)(()=>Number.isFinite(n.focusWidth)&&n.focusWidth>0&&Number.isFinite(n.focusHeight)&&n.focusHeight>0&&p.value>0&&m.value>0&&n.focusWidth<=p.value&&n.focusHeight<=m.value),g=(0,t.computed)(()=>p.value>0&&m.value>0&&!h.value),_=(0,t.computed)(()=>c.value&&!s.value&&p.value>0&&m.value>0),v=(0,t.computed)(()=>g.value?{width:`${p.value}px`,height:`${m.value}px`,left:`0px`,top:`0px`}:{width:`${n.focusWidth}px`,height:`${n.focusHeight}px`,left:`${d.value}px`,top:`${f.value}px`}),y=(0,t.computed)(()=>{let e=p.value*n.zoom,t=m.value*n.zoom;return{width:`${e}px`,height:`${t}px`,transform:h.value&&!s.value?`translate(${-d.value*n.zoom}px, ${-f.value*n.zoom}px)`:`none`,transformOrigin:`top left`}});function b(){if(!i.value)return;let e=i.value.getBoundingClientRect();p.value=e.width,m.value=e.height}function x(){u.value&&=(clearTimeout(u.value),null)}function S(){x(),o.value=!0}function C(){x(),u.value=setTimeout(()=>{!c.value&&!l.value&&!s.value&&(o.value=!1),u.value=null},n.hoverDelay||100)}function T(e,t){if(!i.value)return;if(g.value){d.value=0,f.value=0;return}let r=i.value.getBoundingClientRect(),a=e-r.left,o=t-r.top,s=Math.min(Math.max(a-n.focusWidth/2,0),Math.max(r.width-n.focusWidth,0)),c=Math.min(Math.max(o-n.focusHeight/2,0),Math.max(r.height-n.focusHeight,0));d.value=s,f.value=c}function E(){if(!a.value||!s.value||g.value)return;let e=a.value.getBoundingClientRect(),t=Math.max(0,d.value*n.zoom-e.width/2+n.focusWidth*n.zoom/2),r=Math.max(0,f.value*n.zoom-e.height/2+n.focusHeight*n.zoom/2);a.value.scrollTo({left:t,top:r})}function D(e){b(),T(e.clientX,e.clientY)}function O(e){c.value=!0,b(),T(e.clientX,e.clientY),s.value||S()}function k(){c.value=!1,s.value||C()}function A(e){s.value&&(o.value=!0,b(),T(e.clientX,e.clientY))}function j(){s.value&&(0,t.nextTick)(E)}function M(){l.value=!0,S()}function N(){l.value=!1,C()}function P(e){s.value&&(o.value=!o.value,e instanceof MouseEvent&&T(e.clientX,e.clientY))}return(0,t.onMounted)(()=>{s.value=`ontouchstart`in window||navigator.maxTouchPoints>0,b()}),(0,t.watch)(o,async e=>{e&&s.value&&(await(0,t.nextTick)(),E())}),(n,s)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:`image-zoom`,popovertarget:e.popoverId,ref_key:`wrapper`,ref:r},[(0,t.createElementVNode)(`div`,{class:`image-zoom__target`,ref_key:`target`,ref:i,onPointermove:D,onPointerenter:O,onPointerleave:k,onPointerdown:A,onPointerup:j,onPointercancel:k,onClick:(0,t.withModifiers)(P,[`prevent`])},[(0,t.renderSlot)(n.$slots,`image`,{src:e.src,alt:e.alt,spinner:e.spinner,animate:!1},()=>[(0,t.createVNode)(w,{class:`image-zoom__image`,src:e.src,alt:e.alt,spinner:e.spinner,animate:!1},null,8,[`src`,`alt`,`spinner`])]),_.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:`image-zoom__focus`,style:(0,t.normalizeStyle)(v.value)},null,4)):(0,t.createCommentVNode)(``,!0)],544),(0,t.createVNode)($,{id:e.popoverId,modelValue:o.value,"onUpdate:modelValue":s[0]||=e=>o.value=e,hover:!1,"hover-delay":e.hoverDelay,"close-timeout":e.closeTimeout,class:(0,t.normalizeClass)([`image-zoom__popover`,{"image-zoom__popover--full":g.value}]),role:`tooltip`,onMouseenter:M,onMouseleave:N},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`image-zoom__preview-wrapper`,{"image-zoom__preview-wrapper--full":g.value}])},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`image-zoom__preview`,{"image-zoom__preview--full":g.value}]),ref_key:`preview`,ref:a},[(0,t.createElementVNode)(`img`,{class:(0,t.normalizeClass)([`image-zoom__preview-image`,{"image-zoom__preview-image--full":g.value}]),src:e.src,alt:e.alt,style:(0,t.normalizeStyle)(y.value),draggable:`false`},null,14,lc)],2)],2)]),_:1},8,[`id`,`modelValue`,`hover-delay`,`close-timeout`,`class`])],8,cc))}});function dc(e){let n=(0,t.computed)(()=>{if(!e.tintColor)return null;let t=e.tintColor.replace(`#`,``);return{r:parseInt(t.substring(0,2),16),g:parseInt(t.substring(2,4),16),b:parseInt(t.substring(4,6),16)}});function r(t,r,i){if(e.filter===`none`&&!e.tintColor)return;let a=t.getImageData(0,0,r,i),o=a.data;if(e.filter===`grayscale`)for(let e=0;e<o.length;e+=4){let t=.299*o[e]+.587*o[e+1]+.114*o[e+2];o[e]=t,o[e+1]=t,o[e+2]=t}else if(e.filter===`sepia`)for(let e=0;e<o.length;e+=4){let t=o[e],n=o[e+1],r=o[e+2];o[e]=Math.min(255,.393*t+.769*n+.189*r),o[e+1]=Math.min(255,.349*t+.686*n+.168*r),o[e+2]=Math.min(255,.272*t+.534*n+.131*r)}if(e.tintColor&&n.value){let{r:t,g:r,b:i}=n.value,a=e.tintIntensity;for(let e=0;e<o.length;e+=4){let n=o[e],s=o[e+1],c=o[e+2],l=n*t/255,u=s*r/255,d=c*i/255;o[e]=n+(l-n)*a,o[e+1]=s+(u-s)*a,o[e+2]=c+(d-c)*a}}t.putImageData(a,0,0)}async function i(e){if(typeof e!=`string`)return e.complete&&e.naturalWidth>0||await new Promise((t,n)=>{e.onload=()=>t(),e.onerror=()=>n(Error(`Failed to load image element`))}),e;let t=new Image;return await new Promise((n,r)=>{t.onload=()=>n(),t.onerror=()=>r(Error(`Failed to load image source`)),t.src=e}),t}async function a(e,t={}){let n=await i(e),a=document.createElement(`canvas`),o=t.width||n.naturalWidth||n.width,s=t.height||n.naturalHeight||n.height;a.width=o,a.height=s;let c=a.getContext(`2d`);if(!c)throw Error(`Could not create canvas context`);return c.drawImage(n,0,0,o,s),r(c,o,s),a.toDataURL(t.mimeType||`image/png`,t.quality)}async function o(e,t={}){let n=await a(e,t);return(await fetch(n)).blob()}return{tintRgb:n,applyFilterToCanvas:r,applyFilterToImage:a,applyFilterToImageBlob:o}}e.Accordion=ae,e.AccordionItem=H,e.AssetUploader=Sa,e.AutoSuggest=Xt,e.BaseButton=G,e.BaseCamera=fr,e.BaseCarousel=Fo,e.BaseForm=$s,e.BaseHeadline=E,e.BaseImage=w,e.BaseInput=q,e.BaseMap=gr,e.BaseParagraph=A,e.BulkUpload=di,e.CanvasConfetti=sc,e.CheckGroup=Ve,e.ColorPalette=Nt,e.CustomHtml=at,e.DomRenderer=vs,e.FileUpload=Z,e.HintSystem=ns,e.ImageCrop=Ri,e.ImageCropResize=Zi,e.ImageResize=ji,e.ImageUpload=Q,e.ImageZoom=uc,e.InputCheckbox=_e,e.InputColor=At,e.InputDatepicker=Me,e.InputDatetime=xe,e.InputDropdown=Y,e.InputFile=nt,e.InputPasscode=Le,e.InputPassword=Pe,e.InputTextarea=pe,e.LinkSharing=Zs,e.LoadingSpinner=S,e.LocationFinder=Ao,e.LocationList=Tr,e.MediaThumbnails=Vo,e.ModalDialog=ra,e.PopoverDialog=$,e.PopoverNotifications=_s,e.PopoverTooltip=ds,e.PresetUploader=Za,e.ProgressSteps=Xo,e.QrCode=xs,e.RadioButtons=Je,e.RadioGroup=J,e.RteEditor=Et,e.SelectMedia=ct,e.SortableList=_i,e.SvgIcon=b,e.TouchWrapper=nc,e.UploadGroup=ya,e.useCameraFilter=dc,e.useDirections=$a,e.useGeocoding=io,e.useGeolocation=oo});
4
+ `]),value:r.value||r,checked:r.value?r.value===e.modelValue?.value:r===e.modelValue,disabled:e.disabled,"read-only":e.readOnly,required:e.required,onChange:e=>i(r)},null,42,Ue),(0,t.renderSlot)(n.$slots,`option-label`,{option:r,index:a},()=>[(0,t.createElementVNode)(`label`,{class:`form-check-label`,for:`${e.id}-${a}`,innerHTML:(0,t.unref)(O)(r.text||``)},null,8,We)])],2))),128)),(0,t.renderSlot)(n.$slots,`label`,{},()=>[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:e.id},(0,t.toDisplayString)(e.label),9,Ge)):(0,t.createCommentVNode)(``,!0)])]))}}),Ke={class:`radio-buttons`},qe=[`for`],Je=(0,t.defineComponent)({__name:`radio-buttons`,props:{modelValue:{type:null,default:``},options:{type:Array,default:[]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ke,[(0,t.createVNode)(J,{modelValue:a.value,"onUpdate:modelValue":r[0]||=e=>a.value=e,options:e.options,name:e.name,id:e.id,disabled:e.disabled,required:e.required,class:`d-flex flex-column gap-3 justify-content-center`},{"option-label":(0,t.withCtx)(n=>[(0,t.createElementVNode)(`label`,{for:`${e.id}-${n.index}`,class:`d-block btn btn-outline-primary p-3 fw-bold`,role:`button`},(0,t.toDisplayString)(n.option.text),9,qe)]),_:1},8,[`modelValue`,`options`,`name`,`id`,`disabled`,`required`])]))}}),Ye=[`id`,`name`,`multiple`,`accept`,`disabled`],Xe={class:`input__input-group input-group`},Ze=[`value`,`id`,`name`,`disabled`],Qe=[`for`,`disabled`],$e={class:`btn btn-outline-contrast`},et=[`for`],tt=[`innerHTML`],nt=(0,t.defineComponent)({__name:`input-file`,props:{modelValue:{type:Array,default:[]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n;function a(e){let t=e.target&&e.target.files;t&&(s.splice(0,s.length),Array.from(t).forEach(e=>{if(r.maxFileSize&&e.size>r.maxFileSize){console.warn(`File ${e.name} exceeds the ${r.maxFileSize} bytes size limit and will not be added.`);return}s.push(e)}))}let o=(0,t.ref)(),s=(0,t.reactive)([]),c=(0,t.computed)(()=>s&&s.map(e=>e.name));return(0,t.watch)(()=>r.modelValue,(e,t)=>{e.length===0&&(o.value.value=null)},{deep:!0}),(0,t.watch)(()=>s,(e,t)=>{i(`update:modelValue`,e)},{deep:!0}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`input input-file`,`input-file--primary`])},[(0,t.createElementVNode)(`input`,{ref_key:`input`,ref:o,type:`file`,id:e.id,name:e.name,class:`d-none`,onChange:a,multiple:e.multiple,accept:e.accept,disabled:e.disabled},null,40,Ye),(0,t.createElementVNode)(`div`,Xe,[(0,t.renderSlot)(n.$slots,`input-prepend`),(0,t.createElementVNode)(`input`,{type:`text`,value:c.value,id:e.id,name:e.name,class:`form-control`,disabled:e.disabled},null,8,Ze),(0,t.renderSlot)(n.$slots,`input-append`,{},()=>[(0,t.createElementVNode)(`label`,{for:e.id,disabled:e.disabled},[(0,t.renderSlot)(n.$slots,`button`,{},()=>[(0,t.createElementVNode)(`span`,$e,(0,t.toDisplayString)(n.$t(`common.selectFile`)),1)])],8,Qe)])]),(0,t.createElementVNode)(`label`,{for:e.id},[(0,t.renderSlot)(n.$slots,`label`,{},()=>[(0,t.createElementVNode)(`span`,{class:`input__label`,innerHTML:(0,t.unref)(O)(`${e.label}${e.required?` *`:``}`)},null,8,tt)])],8,et)]))}}),rt={key:0,class:`custom-html`},it=[`innerHTML`],at=(0,t.defineComponent)({__name:`custom-html`,props:{content:{}},setup(e){let n=(0,t.ref)(!1);return(0,t.onMounted)(()=>{window!==void 0&&(n.value=!0)}),(r,i)=>n.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,rt,[(0,t.renderSlot)(r.$slots,`default`,{},()=>[(0,t.createElementVNode)(`div`,{class:`custom-html__content`,innerHTML:e.content},null,8,it)])])):(0,t.createCommentVNode)(``,!0)}}),ot={class:`select-media`},st=[`for`],ct=(0,t.defineComponent)({__name:`select-media`,props:{modelValue:{type:null,default:``},assets:{type:Array,default:[]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},label:{type:String},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},emitKey:{type:String,default:`src`}},emits:[`update:modelValue`,`update:selection`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue},set(e){let t=r.assets.find(t=>t.id===e);i(`update:modelValue`,r.emitKey?t[r.emitKey]:t),r.emitKey&&r.emitKey!==`id`&&i(`update:selection`,t.id)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ot,[(0,t.createVNode)(J,{modelValue:a.value,"onUpdate:modelValue":r[0]||=e=>a.value=e,options:e.assets.map(e=>e.id),name:e.name,id:e.id,disabled:e.disabled,required:e.required,class:`d-flex flex-wrap flex-row justify-content-center`,itemClass:`col-6 p-2`},{"option-label":(0,t.withCtx)(n=>[(0,t.createElementVNode)(`label`,{for:`${e.id}-${n.index}`,class:(0,t.normalizeClass)([`w-100`,{"is-active":e.assets[n.index].id===a.value}]),role:`button`},[e.assets[n.index].thumbnail?((0,t.openBlock)(),(0,t.createBlock)(w,{key:0,src:e.assets[n.index].thumbnail,alt:e.assets[n.index].id},null,8,[`src`,`alt`])):(0,t.createCommentVNode)(``,!0)],10,st)]),_:1},8,[`modelValue`,`options`,`name`,`id`,`disabled`,`required`])]))}}),lt={key:0,class:`rte-editor__controls mb-2`},ut=[`disabled`],dt=[`disabled`],ft={class:`btn-group`},pt=[`disabled`],mt=[`disabled`],ht={class:`btn-group`},gt={class:`dropdown`},_t={class:`btn dropdown-toggle btn-light`,"data-bs-toggle":`dropdown`,role:`button`,type:`button`},vt={class:`dropdown-menu`},yt={class:`dropdown`},bt={class:`btn dropdown-toggle btn-light`,"data-bs-toggle":`dropdown`,role:`button`,type:`button`},xt={class:`dropdown-menu`},St={class:`btn-group`},Ct=[`disabled`],wt=[`disabled`],Tt=[`title`],Et=(0,t.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(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!1),o=(0,t.ref)(!1),s=(0,t.shallowRef)(void 0),c=(0,t.shallowRef)(null);(0,t.onMounted)(async()=>{let[{Editor:e,mergeAttributes:t},{EditorContent:n},{default:a},{default:o},{default:l},{default:u},{default:d}]=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`)]);c.value=n,s.value=new e({content:r.modelValue,onUpdate:()=>{i(`update:modelValue`,s.value?.getHTML())},extensions:[u.configure({bold:!1,link:!1}),d.extend({addAttributes(){return{class:{default:null}}},parseHTML(){return[{tag:`strong`},{tag:`b`}]},renderHTML({HTMLAttributes:e}){return[`strong`,t(this.options.HTMLAttributes,e),0]}}),o.configure({types:[`heading`,`paragraph`]}),a,l.extend({addAttributes(){return{...this.parent?.(),class:{default:null},id:{default:null},title:{default:null}}},parseHTML(){return[{tag:`a[href]`,getAttrs:e=>({href:e.getAttribute(`href`),target:e.getAttribute(`target`),rel:e.getAttribute(`rel`),class:e.getAttribute(`class`),id:e.getAttribute(`id`),title:e.getAttribute(`title`)})},{tag:`a:not([href])`,getAttrs:e=>({href:null,target:e.getAttribute(`target`),rel:e.getAttribute(`rel`),class:e.getAttribute(`class`),id:e.getAttribute(`id`),title:e.getAttribute(`title`)})}]},renderHTML({HTMLAttributes:e}){if(!e.href){let{href:n,target:r,rel:i,...a}=e;return[`a`,t(a),0]}return[`a`,t(this.options.HTMLAttributes,e),0]}}).configure({openOnClick:!1,autolink:!0,defaultProtocol:`https`,protocols:[`http`,`https`],HTMLAttributes:{target:`_blank`,rel:`noopener noreferrer`}})]})}),(0,t.onBeforeUnmount)(()=>{s.value?.destroy()}),(0,t.watch)(()=>r.modelValue,(e,t)=>{if(s.value){if(s.value.getHTML()===e)return;s.value.commands.setContent(e)}});function l(){let e=s.value?.getAttributes(`link`).href,t=window.prompt(`URL`,e);if(t!==null){if(t===``){s.value?.chain().focus().extendMarkRange(`link`).unsetLink().run();return}try{s.value?.chain().focus().extendMarkRange(`link`).setLink({href:t}).run()}catch(e){alert(e.message)}}}let u=()=>{s.value?.commands.setContent(`<textarea>${s.value.getHTML()}</textarea>`),a.value=!0},d=()=>{s.value?.commands.setContent(s.value.getText()),a.value=!1};return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`,disabled:!o.value},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([o.value?``:n.$attrs.class,`rte-editor`,{"rte-editor--fullscreen":o.value}])},[s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,lt,[a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,class:`btn btn-sm btn-light is-active`,onClick:d,disabled:!s.value.can().chain().focus().toggleCode().run(),title:`Toggle Source`},[(0,t.createVNode)(b,{symbol:`source`,"base-path":e.iconBasePath},null,8,[`base-path`])],8,dt)):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`code`)}]),onClick:u,disabled:!s.value.can().chain().focus().toggleCode().run(),title:`Toggle Source`},[(0,t.createVNode)(b,{symbol:`source`,"base-path":e.iconBasePath},null,8,[`base-path`])],10,ut)),(0,t.createElementVNode)(`div`,ft,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`bold`)}]),onClick:r[0]||=e=>s.value?.chain().focus().toggleBold().run(),disabled:!s.value.can().chain().focus().toggleBold().run(),title:`Toggle Bold`},[(0,t.createVNode)(b,{symbol:`bold`,"base-path":e.iconBasePath},null,8,[`base-path`])],10,pt),(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`italic`)}]),onClick:r[1]||=e=>s.value?.chain().focus().toggleItalic().run(),disabled:!s.value.can().chain().focus().toggleItalic().run(),title:`Toggle Italic`},[(0,t.createVNode)(b,{symbol:`italic`,"base-path":e.iconBasePath},null,8,[`base-path`])],10,mt)]),(0,t.createElementVNode)(`div`,ht,[(0,t.createElementVNode)(`div`,gt,[(0,t.createElementVNode)(`button`,_t,[s.value.isActive(`heading`,{level:1})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:0,symbol:`h1`,"base-path":e.iconBasePath},null,8,[`base-path`])):s.value.isActive(`heading`,{level:2})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:1,symbol:`h2`,"base-path":e.iconBasePath},null,8,[`base-path`])):s.value.isActive(`heading`,{level:3})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:2,symbol:`h3`,"base-path":e.iconBasePath},null,8,[`base-path`])):s.value.isActive(`heading`,{level:4})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:3,symbol:`h4`,"base-path":e.iconBasePath},null,8,[`base-path`])):((0,t.openBlock)(),(0,t.createBlock)(b,{key:4,symbol:`headline`,"base-path":e.iconBasePath},null,8,[`base-path`]))]),(0,t.createElementVNode)(`ul`,vt,[(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`heading`,{level:1})}]),onClick:r[2]||=e=>s.value?.chain().focus().setHeading({level:1}).run(),title:`Set Heading 1`},[(0,t.createVNode)(b,{symbol:`h1`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`heading`,{level:2})}]),onClick:r[3]||=e=>s.value?.chain().focus().setHeading({level:2}).run(),title:`Set Heading 2`},[(0,t.createVNode)(b,{symbol:`h2`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`heading`,{level:3})}]),onClick:r[4]||=e=>s.value?.chain().focus().setHeading({level:3}).run(),title:`Set Heading 3`},[(0,t.createVNode)(b,{symbol:`h3`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`heading`,{level:4})}]),onClick:r[5]||=e=>s.value?.chain().focus().setHeading({level:4}).run(),title:`Set Heading 4`},[(0,t.createVNode)(b,{symbol:`h4`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)])])]),(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`paragraph`)}]),onClick:r[6]||=e=>s.value?.chain().focus().setParagraph().run(),title:`Set Paragraph`},[(0,t.createVNode)(b,{symbol:`paragraph`,"base-path":e.iconBasePath},null,8,[`base-path`])],2),(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`bulletList`)}]),onClick:r[7]||=e=>s.value?.chain().focus().toggleBulletList().run(),title:`Toggle Bullet List`},[(0,t.createVNode)(b,{symbol:`list`,"base-path":e.iconBasePath},null,8,[`base-path`])],2),(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`orderedList`)}]),onClick:r[8]||=e=>s.value?.chain().focus().toggleOrderedList().run(),title:`Toggle Ordered List`},[(0,t.createVNode)(b,{symbol:`ordered-list`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`div`,yt,[(0,t.createElementVNode)(`button`,bt,[s.value.isActive({textAlign:`center`})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:0,symbol:`align-center`,"base-path":e.iconBasePath},null,8,[`base-path`])):s.value.isActive({textAlign:`left`})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:1,symbol:`align-left`,"base-path":e.iconBasePath},null,8,[`base-path`])):s.value.isActive({textAlign:`right`})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:2,symbol:`align-right`,"base-path":e.iconBasePath},null,8,[`base-path`])):((0,t.openBlock)(),(0,t.createBlock)(b,{key:3,symbol:`align-justify`,"base-path":e.iconBasePath},null,8,[`base-path`]))]),(0,t.createElementVNode)(`ul`,xt,[(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive({textAlign:`left`})}]),onClick:r[9]||=e=>s.value?.chain().focus().setTextAlign(`left`).run()},[(0,t.createVNode)(b,{symbol:`align-left`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive({textAlign:`center`})}]),onClick:r[10]||=e=>s.value?.chain().focus().setTextAlign(`center`).run()},[(0,t.createVNode)(b,{symbol:`align-center`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive({textAlign:`right`})}]),onClick:r[11]||=e=>s.value?.chain().focus().setTextAlign(`right`).run()},[(0,t.createVNode)(b,{symbol:`align-right`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive({textAlign:`pretty`})}]),onClick:r[12]||=e=>s.value?.chain().focus().setTextAlign(`right`).run()},[(0,t.createVNode)(b,{symbol:`align-justify`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)])])]),s.value.isActive(`link`)?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:3,class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`link`)}]),onClick:r[13]||=e=>s.value.chain().focus().unsetLink().run(),title:`Unset Link`},[(0,t.createVNode)(b,{symbol:`unlink`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`link`)}]),onClick:l,title:`Set Link`},[(0,t.createVNode)(b,{symbol:`link`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)),(0,t.createElementVNode)(`div`,St,[(0,t.createElementVNode)(`button`,{class:`btn btn-sm btn-light`,onClick:r[14]||=e=>s.value?.chain().focus().undo().run(),disabled:!s.value.can().chain().focus().undo().run(),title:`Undo`},[(0,t.createVNode)(b,{symbol:`undo`,"base-path":e.iconBasePath},null,8,[`base-path`])],8,Ct),(0,t.createElementVNode)(`button`,{class:`btn btn-sm btn-light`,onClick:r[15]||=e=>s.value?.chain().focus().redo().run(),disabled:!s.value.can().chain().focus().redo().run(),title:`Redo`},[(0,t.createVNode)(b,{symbol:`redo`,"base-path":e.iconBasePath},null,8,[`base-path`])],8,wt)]),e.allowFullscreen?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:4,class:`btn btn-sm btn-light ms-auto`,onClick:r[16]||=e=>o.value=!o.value,title:o.value?`Exit Fullscreen`:`Fullscreen`},[(0,t.createVNode)(b,{symbol:o.value?`close`:`maximize`,"base-path":e.iconBasePath},null,8,[`symbol`,`base-path`])],8,Tt)):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value),{class:`rte-editor__content`,editor:s.value},null,8,[`editor`]))],2)],8,[`disabled`]))}}),Dt={class:`input-color`},Ot={class:`base-input__color-swatch`},kt=[`name`,`id`,`disabled`,`read-only`,`required`,`aria-label`],At=(0,t.defineComponent)({__name:`input-color`,props:{modelValue:{type:[String,Number,Boolean,Date],default:``},type:{type:String,default:`text`},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Dt,[(0,t.createVNode)(q,{modelValue:a.value,"onUpdate:modelValue":r[1]||=e=>a.value=e,type:e.type===`color`?`text`:e.type,id:e.id,name:e.name,placeholder:e.placeholder,pattern:e.pattern,label:e.label,disabled:e.disabled,"read-only":e.readOnly,required:e.required,maxlength:e.maxlength},{"input-append":(0,t.withCtx)(n=>[(0,t.createElementVNode)(`span`,Ot,[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[0]||=e=>a.value=e,type:`color`,name:`${e.name}-color`,id:`${e.id}-color`,disabled:e.disabled,"read-only":e.readOnly,required:e.required,class:`form-control`,"aria-label":e.label},null,8,kt),[[t.vModelText,a.value]])])]),_:1},8,[`modelValue`,`type`,`id`,`name`,`placeholder`,`pattern`,`label`,`disabled`,`read-only`,`required`,`maxlength`])]))}}),jt={class:`color-palette`},Mt=[`for`],Nt=(0,t.defineComponent)({__name:`color-palette`,props:{modelValue:{type:[String],default:``},colors:{type:Array,default:[`#000000`,`#FFFFFF`]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},label:{type:String},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,jt,[(0,t.createVNode)(J,{modelValue:a.value,"onUpdate:modelValue":r[0]||=e=>a.value=e,options:e.colors,name:e.name,id:e.id,label:e.label,disabled:e.disabled,required:e.required,class:`d-flex flex-wrap flex-row gap-2`},{"option-label":(0,t.withCtx)(n=>[(0,t.createElementVNode)(`label`,{for:`${e.id}-${n.index}`,class:`d-block rounded-circle`,style:(0,t.normalizeStyle)({backgroundColor:n.option})},null,12,Mt)]),_:1},8,[`modelValue`,`options`,`name`,`id`,`label`,`disabled`,`required`])]))}}),Pt=[`id`],Ft=[`for`,`innerHTML`],It={class:`dropdown`},Lt={class:`caption`},Rt=[`innerHTML`],zt={class:`caption__text`},Bt={class:`d-block text-truncate`},Vt={class:`dropdown-menu`},Ht={class:`form-check d-flex`},Ut=[`value`,`id`,`name`,`label`,`required`,`disabled`],Wt=[`value`,`id`,`name`,`label`,`required`,`disabled`],Gt=[`for`],Y=(0,t.defineComponent)({__name:`input-dropdown`,props:{id:{type:String},name:{type:String,default:()=>`dropdown-${j()}`},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(e,{emit:n}){let{t:i}=(0,r.useI18n)(),a=e,o=n,s=(0,t.computed)({get(){return a.multiple&&!a.modelValue?[]:a.modelValue},set(e){o(`update:modelValue`,e)}}),c=(0,t.computed)(()=>a.options&&a.options.map(e=>(e=typeof e==`string`?{text:e,value:e}:e,{...e,active:a.modelValue&&e.value&&(a.exactMatch?a.modelValue===e.value:a.multiple?a.modelValue.includes(e.value):a.modelValue===e.value)}))),l=(0,t.computed)(()=>{if(!a.modelValue)return a.placeholder||`${i(`common.select`)}`;if(a.multiple&&Array.isArray(a.modelValue)&&a.modelValue.length)return c.value.reduce((e,t)=>a.modelValue.includes(t.value)?`${e}${e?`, `:``}${t.text}`:e,``);if(!a.multiple){let e=c.value.find(e=>typeof e.value==`object`&&e.value!==null?JSON.stringify(e.value)===JSON.stringify(a.modelValue):e.value===a.modelValue);return e?e.text:a.placeholder||`${i(`common.select`)}`}return a.placeholder||`${i(`common.select`)}`});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`input input-dropdown`,id:`${e.id||e.name}`},[(0,t.renderSlot)(n.$slots,`label`,{},()=>[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:`${e.id||e.name}--dropdown-toggle`,class:`input__label`,innerHTML:`${e.label}${e.required?` *`:``}`},null,8,Ft)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,It,[(0,t.createVNode)(G,{id:`${e.id||e.name}--dropdown-toggle`,"data-bs-toggle":`dropdown`,role:`button`,type:`button`,title:l.value,class:(0,t.normalizeClass)([`btn dropdown-toggle`,{[`btn-${e.variant}`]:e.variant}]),color:e.color,outlined:e.outlined,disabled:e.disabled},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Lt,[(0,t.createVNode)(t.Transition,{name:`bounce`},{default:(0,t.withCtx)(()=>[e.showSelectionCount&&e.modelValue.length?((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:0,class:`caption__count`,innerHTML:e.modelValue.length},null,8,Rt)):(0,t.createCommentVNode)(``,!0)]),_:1}),(0,t.createElementVNode)(`span`,zt,[(0,t.createElementVNode)(`span`,Bt,(0,t.toDisplayString)(e.toggleCaption||l.value),1)])])]),_:1},8,[`id`,`title`,`class`,`color`,`outlined`,`disabled`]),(0,t.createElementVNode)(`ul`,Vt,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(c.value,(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:`${n.value}-${i}`},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`dropdown-item`,n.active&&`active`])},[(0,t.createElementVNode)(`div`,Ht,[e.multiple?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{type:`checkbox`,"onUpdate:modelValue":r[0]||=e=>s.value=e,value:n.value,key:`${e.name}-${n.value}-${i}__if`,id:`${e.name}-${n.value}-${i}`,name:e.name,label:n.text,required:e.required,disabled:n.selectable===!1,class:`form-check-input`},null,8,Ut)),[[t.vModelCheckbox,s.value]]):(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{type:`radio`,"onUpdate:modelValue":r[1]||=e=>s.value=e,value:n.value,key:`${e.name}-${n.value}-${i}__else`,id:`${e.name}-${n.value}-${i}`,name:e.name,label:n.text,required:e.required,disabled:n.selectable===!1,class:`form-check-input visually-hidden`},null,8,Wt)),[[t.vModelRadio,s.value]]),(0,t.createElementVNode)(`label`,{class:`form-check-label flex-grow-1`,onclick:`event.stopPropagation`,for:`${e.name}-${n.value}-${i}`},(0,t.toDisplayString)(n.text),9,Gt)])],2)]))),128))])])],8,Pt))}}),Kt={key:0,class:`auto-suggest__suggestions position-relative`},qt={class:`suggestions dropdown-menu show w-100 mt-2`},Jt=[`onClick`],Yt=[`innerHTML`],Xt=(0,t.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(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(),o=(0,t.ref)(!1),s=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}}),c=(0,t.computed)(()=>{let e=RegExp(`(${s.value})`,`i`);return s.value?r.options.filter(t=>e.test(t)):r.options}),l=(0,t.computed)(()=>{let e=RegExp(`(${s.value})`,`i`);return c.value.map(t=>O(t.replace(e,`<strong>$1</strong>`)))});(0,t.watch)(()=>r.options,(e,t)=>{e.length&&(o.value=!0)},{deep:!0});function u(){r.options.length&&(o.value=!0)}function d(e){o.value=!1;let t=c.value[e];i(`update:modelValue`,t),i(`update:selection`,t)}let f=(0,t.ref)();function p(e){let t=e.target;o.value&&t&&!a.value.contains(t)&&(o.value=!1)}return(0,t.onBeforeMount)(()=>{f.value=document.addEventListener(`click`,p)}),(0,t.onBeforeUnmount)(()=>{document.removeEventListener(`click`,f.value)}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`auto-suggest`,ref_key:`container`,ref:a},[(0,t.createElementVNode)(`div`,{class:`auto-suggest__input`,onFocusCapture:u},[(0,t.renderSlot)(e.$slots,`default`,{},()=>[(0,t.createVNode)(q,(0,t.mergeProps)({modelValue:s.value,"onUpdate:modelValue":n[0]||=e=>s.value=e},e.$props),null,16,[`modelValue`])])],32),o.value&&c.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Kt,[(0,t.createElementVNode)(`ul`,qt,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(l.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:e,class:`suggestions__item dropdown-item`,onClick:(0,t.withModifiers)(e=>d(n),[`prevent`])},[(0,t.createElementVNode)(`p`,{class:`text-truncate my-2`,innerHTML:e},null,8,Yt)],8,Jt))),128))])])):(0,t.createCommentVNode)(``,!0)],512))}});function Zt(){return typeof navigator>`u`?null:{userAgent:navigator.userAgent??``,platform:navigator.platform??``,maxTouchPoints:navigator.maxTouchPoints??0}}function Qt(e=Zt()){return e?/iPhone|iPad|iPod/i.test(e.userAgent)?!0:e.platform===`MacIntel`&&e.maxTouchPoints>1:!1}function $t(e=Zt()){return!!e&&/Android/i.test(e.userAgent)}var en=()=>Qt(),tn=()=>$t();function nn(e){return typeof e.requestVideoFrameCallback==`function`}function rn(e,t,n,r){let i=Math.max(n/e,r/t),a=n/i,o=r/i;return{sx:(e-a)/2,sy:(t-o)/2,sw:a,sh:o}}function an(e,t){let n=Math.min(1,Math.max(0,t)),r=e.match(/^#([\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i)?.[1];if(!r)return{color:e,opacity:n};let i=r.length<=4?[...r].map(e=>e+e).join(``):r;return{color:`rgba(${Number.parseInt(i.slice(0,2),16)}, ${Number.parseInt(i.slice(2,4),16)}, ${Number.parseInt(i.slice(4,6),16)}, ${(i.length===8?Number.parseInt(i.slice(6,8),16)/255:1)*n})`,opacity:1}}function on(){if(typeof window>`u`)return 0;let e=window.screen?.orientation?.angle;if(typeof e==`number`)return sn(e);let t=window.orientation;return typeof t==`number`?sn(t):0}function sn(e){return(Math.round(e/90)*90%360+360)%360}function cn(e,t){let n=e.videoWidth,r=e.videoHeight;if(!n||!r)throw Error(`Video has no frame to capture yet`);let i=document.createElement(`canvas`);i.width=t.width,i.height=t.height;let a=i.getContext(`2d`);if(!a)throw Error(`2D canvas context unavailable`);let o=en()?on():0,s=o===90||o===270,c=`filter`in a;if(a.save(),t.mirror&&(a.translate(t.width,0),a.scale(-1,1)),c&&t.filter&&t.filter!==`none`&&(a.filter=ln(t.filter)),s){a.translate(t.width/2,t.height/2),a.rotate(-o*Math.PI/180);let i=t.height,s=t.width,c=rn(n,r,i,s);a.drawImage(e,c.sx,c.sy,c.sw,c.sh,-i/2,-s/2,i,s)}else{let i=rn(n,r,t.width,t.height);a.drawImage(e,i.sx,i.sy,i.sw,i.sh,0,0,t.width,t.height)}a.restore(),!c&&t.filter&&t.filter!==`none`&&un(a,t.filter);let l=t.tintColor?an(t.tintColor,t.tintIntensity??0):null;return l&&l.opacity>0&&(a.save(),a.globalAlpha=l.opacity,a.fillStyle=l.color,a.fillRect(0,0,t.width,t.height),a.restore()),i}function ln(e){switch(e){case`grayscale`:return`grayscale(1)`;case`sepia`:return`sepia(1)`;default:return`none`}}function un(e,t){if(t===`none`)return;let{width:n,height:r}=e.canvas,i=e.getImageData(0,0,n,r);dn(i.data,t),e.putImageData(i,0,0)}function dn(e,t){for(let n=0;n<e.length;n+=4){let r=e[n]??0,i=e[n+1]??0,a=e[n+2]??0;if(t===`grayscale`){let t=.2126*r+.7152*i+.0722*a;e[n]=e[n+1]=e[n+2]=t}else t===`sepia`&&(e[n]=Math.min(255,.393*r+.769*i+.189*a),e[n+1]=Math.min(255,.349*r+.686*i+.168*a),e[n+2]=Math.min(255,.272*r+.534*i+.131*a))}}function fn(e,t={}){let n=t.type??`image/jpeg`,r=t.quality??.92;return t.asBlob?new Promise((t,i)=>{e.toBlob(e=>e?t(e):i(Error(`canvas.toBlob returned null`)),n,r)}):Promise.resolve(e.toDataURL(n,r))}function pn(e){let{deviceId:t,facing:n,resolution:r}=e,i=r?mn(r):null,a=[];return t&&(i&&a.push({label:`device+dims`,constraints:{video:{deviceId:{exact:t},...i}}}),a.push({label:`device`,constraints:{video:{deviceId:{exact:t}}}}),e.strictDevice)?a:(n&&(i&&a.push({label:`facing+dims`,constraints:{video:{facingMode:{ideal:n},...i}}}),a.push({label:`facing`,constraints:{video:{facingMode:{ideal:n}}}})),i&&a.push({label:`dims`,constraints:{video:{...i}}}),a.push({label:`any`,constraints:{video:!0}}),a)}function mn(e){return{width:{ideal:e.width},height:{ideal:e.height}}}function hn(e){return e&&typeof e==`object`&&`name`in e&&typeof e.name==`string`?e.name:``}function gn(e){let t=hn(e);return t===`NotAllowedError`||t===`PermissionDeniedError`||t===`SecurityError`||t===`NotFoundError`}function _n(e){let t=hn(e);return t===`NotReadableError`||t===`AbortError`||t===`TrackStartError`}function vn(e){switch(hn(e)){case`NotAllowedError`:case`PermissionDeniedError`:case`SecurityError`:return`not-allowed`;case`NotFoundError`:return`not-found`;case`NotReadableError`:case`AbortError`:case`TrackStartError`:return`not-readable`;case`OverconstrainedError`:case`ConstraintNotSatisfiedError`:return`overconstrained`;default:return`unknown`}}var yn=/\b(front|face|user|selfie|facetime)\b/i,bn=/\b(back|rear|environment|main|world)\b/i;function xn(e){return e?yn.test(e)?`user`:bn.test(e)?`environment`:null:null}function Sn(e){return e===`user`||e===`environment`?e:e===`front`?`user`:e===`back`||e===`rear`?`environment`:null}function Cn(e,t){let n=new Map,r=[];for(let i of e){if(!i.facing){r.push(i);continue}let e=n.get(i.facing);(!e||wn(i,t)>wn(e,t))&&n.set(i.facing,i)}let i=[...n.values()];return i.sort((e,t)=>(e.facing===`user`?-1:1)-(t.facing===`user`?-1:1)),[...i,...r]}function wn(e,t){let n=0;return e.deviceId===t&&(n+=2),e.probed&&(n+=1),n}function Tn(e,t,n){let r=e.filter(e=>e.deviceId!==t);if(r.length===0)return null;if(n){let e=r.find(e=>e.facing&&e.facing!==n);if(e)return e}let i=e.findIndex(e=>e.deviceId===t);return i===-1?r[0]??null:e[(i+1)%e.length]??null}var X=class extends Error{code;constructor(e,t,n){super(t,n===void 0?void 0:{cause:n}),this.name=`CameraError`,this.code=e}},En=1500,Dn=2,On=300,kn=[300,1e3,3e3],An=5e3,jn=800,Mn=500,Nn={width:{ideal:160},height:{ideal:120}},Pn=()=>void 0,Fn=e=>new Promise(t=>setTimeout(t,e)),In=class e{listeners=new Set;opts;state=`idle`;intent=`stopped`;stream=null;devices=[];activeDeviceId=null;activeFacing=null;error=null;permission=`unknown`;zoom=1;zoomCapability=null;desiredZoom=null;torch=!1;torchCapability=!1;canLockExposure=!1;video=null;seq=0;tearingDown=!1;lastGood=null;autoCorrected=!1;disposed=!1;probeCache=new Map;refreshing=null;recoveryAttempts=0;recoveryTimer=null;stableTimer=null;healthTimer=null;deviceChangeTimer=null;watchdogCleanup=null;permissionStatus=null;constructor(e={}){this.opts=e,typeof document<`u`&&(document.addEventListener(`visibilitychange`,this.onVisibilityChange),window.addEventListener(`pageshow`,this.onPageShow)),typeof navigator<`u`&&navigator.mediaDevices&&(navigator.mediaDevices.addEventListener?.(`devicechange`,this.onDeviceChange),this.initPermission())}subscribe(e){return this.listeners.add(e),e(this.snapshot()),()=>this.listeners.delete(e)}snapshot(){return{state:this.state,intent:this.intent,stream:this.stream,devices:this.devices,activeDeviceId:this.activeDeviceId,activeFacing:this.activeFacing,error:this.error,permission:this.permission,zoom:this.zoom,zoomCapability:this.zoomCapability,torch:this.torch,torchCapability:this.torchCapability,canLockExposure:this.canLockExposure}}static isSupported(){return typeof navigator<`u`&&!!navigator.mediaDevices?.getUserMedia}attachVideo(e){this.video!==e&&(this.clearWatchdog(),this.video&&(this.video.srcObject=null),this.video=e,e&&this.stream&&this.state!==`paused`&&this.bindStream())}async start(t={}){if(this.disposed)return!1;if(!e.isSupported())return this.fail(new X(`unsupported`,`getUserMedia is not available in this browser`)),!1;let n=++this.seq;this.cancelRecovery(),this.intent=`live`,this.teardown(),this.error=null,this.setState(`starting`);let r=t.resolution??this.lastGood?.resolution??this.opts.resolution,i=!!(t.strictDevice&&t.deviceId),a=i?void 0:t.facing??(t.deviceId?void 0:this.opts.preferredFacing),o=pn({deviceId:t.deviceId,facing:a,resolution:r,strictDevice:i}),s=null,c=null;for(let e of o){if(n!==this.seq)return!1;try{s=await navigator.mediaDevices.getUserMedia(e.constraints);break}catch(t){if(c=t,gn(t))break;if(_n(t)){if(await Fn(On),n!==this.seq)return!1;try{s=await navigator.mediaDevices.getUserMedia(e.constraints);break}catch(e){if(c=e,gn(e))break}}}}if(n!==this.seq)return s?.getTracks().forEach(e=>e.stop()),!1;if(!s){let e=vn(c);return e===`not-allowed`&&(this.permission=`denied`),this.fail(new X(e,Ln(c),c)),!1}let l=s.getVideoTracks()[0];if(!l)return s.getTracks().forEach(e=>e.stop()),this.fail(new X(`not-found`,`Stream has no video track`)),!1;let u=l.getSettings(),d=u.deviceId??t.deviceId??null,f=d?this.probeCache.get(d):void 0,p=Sn(u.facingMode)??f??xn(l.label);if(d&&this.probeCache.set(d,p),this.stream=s,this.activeDeviceId=d,this.activeFacing=p,this.lastGood={deviceId:d,resolution:r},this.permission!==`granted`&&(this.permission=`granted`),l.onended=this.onTrackEnded,this.readZoomCapability(l),this.readTorchCapability(l),this.setState(`live`),this.armStableTimer(),this.bindStream(),this.desiredZoom!==null&&this.setZoom(this.desiredZoom),await this.refreshDevices(),n!==this.seq)return!1;if(!t.deviceId&&!this.autoCorrected&&this.opts.preferredFacing&&p&&(this.autoCorrected=!0,p!==this.opts.preferredFacing)){let e=this.devices.find(e=>e.facing===this.opts.preferredFacing&&e.deviceId!==d);if(e)return this.start({deviceId:e.deviceId,resolution:r,strictDevice:!0})}return!0}stop(){this.seq++,this.intent=`stopped`,this.cancelRecovery(),this.teardown(),this.error=null,this.setState(`idle`)}pause(){if(!(this.state!==`live`||!this.stream)){this.intent=`paused`,this.clearWatchdog(),this.video?.pause();for(let e of this.stream.getVideoTracks())e.enabled=!1;this.setState(`paused`)}}async resume(){if(this.state!==`paused`)return this.state===`live`;this.intent=`live`;let e=this.stream?.getVideoTracks()[0];return!e||e.readyState===`ended`?this.start({deviceId:this.lastGood?.deviceId??void 0}):(e.enabled=!0,this.setState(`live`),this.bindStream(),!0)}async toggle(){return this.state===`live`?(this.pause(),!0):this.state===`paused`?this.resume():this.start()}async switchCamera(){if(this.state===`starting`)return!1;this.devices.length===0&&await this.refreshDevices();let e=Tn(this.devices,this.activeDeviceId,this.activeFacing);return e?this.selectDevice(e.deviceId):!1}async selectDevice(e){if(e===this.activeDeviceId&&this.state===`live`)return!0;let t=this.lastGood,n=await this.start({deviceId:e,strictDevice:!0});if(n||!t?.deviceId||this.error?.code===`not-allowed`)return n;let r=this.error;return await this.start({deviceId:t.deviceId,resolution:t.resolution,strictDevice:!0})&&r&&this.opts.onWarning?.(r),!1}async setResolution(e){let t=this.lastGood?.resolution?.width===e.width&&this.lastGood?.resolution?.height===e.height;return this.lastGood&&(this.lastGood.resolution=e),t||this.state!==`live`&&this.state!==`paused`?this.state===`live`:this.start({deviceId:this.activeDeviceId??void 0,resolution:e})}async setZoom(e){this.desiredZoom=e;let t=this.stream?.getVideoTracks()[0],n=this.zoomCapability;if(!t||!n)return!1;let r=Math.min(n.max,Math.max(n.min,e));try{await t.applyConstraints({advanced:[{zoom:r}]})}catch{try{await t.applyConstraints({zoom:r})}catch{return!1}}return this.zoom=t.getSettings().zoom??r,this.emit(),!0}async setTorch(e){let t=this.stream?.getVideoTracks()[0];if(!t||!this.torchCapability)return!1;try{await t.applyConstraints({advanced:[{torch:e}]})}catch{return!1}return this.torch=t.getSettings().torch??e,this.emit(),!0}async setExposureLocked(e){let t=this.stream?.getVideoTracks()[0];if(!t||!this.canLockExposure)return!1;try{await t.applyConstraints({advanced:[{exposureMode:e?`manual`:`continuous`}]})}catch{return!1}return!0}async refreshDevices(){return this.refreshing||=this.doRefreshDevices().finally(()=>{this.refreshing=null}),this.refreshing}dispose(){this.disposed||(this.disposed=!0,this.stop(),this.listeners.clear(),typeof document<`u`&&(document.removeEventListener(`visibilitychange`,this.onVisibilityChange),window.removeEventListener(`pageshow`,this.onPageShow)),navigator.mediaDevices?.removeEventListener?.(`devicechange`,this.onDeviceChange),this.permissionStatus&&(this.permissionStatus.onchange=null),this.deviceChangeTimer&&clearTimeout(this.deviceChangeTimer),this.healthTimer&&clearTimeout(this.healthTimer),this.video=null)}teardown(){this.tearingDown=!0,this.clearWatchdog(),this.stableTimer&&clearTimeout(this.stableTimer),this.stableTimer=null;let e=this.stream;if(this.stream=null,e)for(let t of e.getTracks())t.onended=null,t.onmute=null,t.onunmute=null,t.stop();this.video&&(this.video.pause(),this.video.srcObject=null),this.zoomCapability=null,this.torch=!1,this.torchCapability=!1,this.canLockExposure=!1,this.tearingDown=!1}fail(e){this.teardown(),this.error=e,this.setState(`error`)}setState(e){this.state=e,this.emit()}emit(){let e=this.snapshot();for(let t of this.listeners)t(e)}bindStream(e=0){let t=this.video,n=this.stream;if(!t||!n)return;this.clearWatchdog(),t.muted=!0,t.playsInline=!0,t.setAttribute(`playsinline`,``),t.autoplay=!0,t.srcObject=n,t.load(),t.play().catch(Pn);let r=!1,i=setTimeout(()=>{if(!r&&(o(),this.stream===n&&this.state===`live`)){if(e<Dn){t.srcObject=null,t.offsetHeight,this.bindStream(e+1);return}t.readyState>=2&&t.videoWidth>0||this.opts.onWarning?.(new X(`first-frame`,`Video did not render its first frame`))}},En),a=()=>{r||(r=!0,o())},o=()=>{clearTimeout(i),t.removeEventListener(`loadeddata`,a),t.removeEventListener(`playing`,a),this.watchdogCleanup=null};this.watchdogCleanup=o,nn(t)?t.requestVideoFrameCallback(()=>a()):(t.addEventListener(`loadeddata`,a),t.addEventListener(`playing`,a))}clearWatchdog(){this.watchdogCleanup?.(),this.watchdogCleanup=null}onTrackEnded=()=>{this.tearingDown||this.intent!==`live`||this.scheduleRecovery()};onVisibilityChange=()=>{document.visibilityState===`visible`&&this.scheduleHealthCheck(jn)};onPageShow=e=>{e.persisted&&this.scheduleHealthCheck(0)};scheduleHealthCheck(e){this.healthTimer&&clearTimeout(this.healthTimer),this.healthTimer=setTimeout(()=>{this.healthTimer=null,this.healthCheck()},e)}healthCheck(){if(this.disposed||this.intent!==`live`||this.state===`starting`)return;let e=this.stream?.getVideoTracks()[0];if(!e||e.readyState===`ended`||e.muted){this.scheduleRecovery();return}this.video&&this.video.paused&&this.video.play().catch(Pn)}scheduleRecovery(){if(this.disposed||this.intent!==`live`||this.recoveryTimer)return;if(this.recoveryAttempts>=kn.length){this.fail(new X(`not-readable`,`Camera stopped and could not be re-acquired`));return}let e=kn[this.recoveryAttempts]??3e3;this.recoveryAttempts++,this.recoveryTimer=setTimeout(()=>{this.recoveryTimer=null,this.intent===`live`&&this.start({deviceId:this.lastGood?.deviceId??void 0,facing:this.activeFacing??this.opts.preferredFacing,resolution:this.lastGood?.resolution})},e)}cancelRecovery(){this.recoveryTimer&&clearTimeout(this.recoveryTimer),this.recoveryTimer=null}armStableTimer(){this.stableTimer&&clearTimeout(this.stableTimer),this.stableTimer=setTimeout(()=>{this.stableTimer=null,this.recoveryAttempts=0},An)}onDeviceChange=()=>{this.deviceChangeTimer&&clearTimeout(this.deviceChangeTimer),this.deviceChangeTimer=setTimeout(()=>{this.deviceChangeTimer=null,this.refreshDevices()},Mn)};async doRefreshDevices(){if(this.disposed||!navigator.mediaDevices?.enumerateDevices||this.state===`starting`)return;let e;try{e=await navigator.mediaDevices.enumerateDevices()}catch{return}let t=e.filter(e=>e.kind===`videoinput`&&e.deviceId),n=new Set(t.map(e=>e.deviceId));for(let e of[...this.probeCache.keys()])n.has(e)||this.probeCache.delete(e);let r=tn()&&!en()&&this.permission!==`denied`,i=[];for(let e of t){if(this.disposed)return;let t=this.probeCache.get(e.deviceId),n=t!==void 0;if(!n&&r){let r=await this.probeDevice(e.deviceId);if(r===void 0)continue;t=r,n=!0,this.probeCache.set(e.deviceId,r)}i.push({deviceId:e.deviceId,label:e.label,facing:t??xn(e.label),probed:n})}let a=r?Cn(i,this.activeDeviceId):i;this.devices=a,this.emit()}async probeDevice(e){if(e===this.activeDeviceId&&this.stream)return this.probeCache.get(e)??this.activeFacing;let t=null;try{t=await navigator.mediaDevices.getUserMedia({video:{deviceId:{exact:e},...Nn}});let n=t.getVideoTracks()[0];return Sn(n?.getSettings().facingMode)??null}catch{return}finally{if(t)for(let e of t.getTracks())e.onended=null,e.stop()}}async initPermission(){try{let e=await navigator.permissions.query({name:`camera`});this.permissionStatus=e,this.permission=e.state,e.onchange=()=>{this.permission=e.state,e.state===`denied`?this.fail(new X(`not-allowed`,`Camera permission was revoked`)):(this.emit(),e.state===`granted`&&this.refreshDevices())},this.emit()}catch{this.permission=`unknown`}}readZoomCapability(e){let t=e.getCapabilities?.()?.zoom;t&&typeof t.min==`number`&&typeof t.max==`number`&&t.max>t.min?(this.zoomCapability={min:t.min,max:t.max,step:t.step&&t.step>0?t.step:.1},this.zoom=e.getSettings().zoom??t.min):(this.zoomCapability=null,this.zoom=1)}readTorchCapability(e){let t=e.getCapabilities?.();this.torchCapability=t?.torch===!0,this.torch=this.torchCapability?e.getSettings().torch??!1:!1,this.canLockExposure=Array.isArray(t?.exposureMode)&&t.exposureMode.includes(`manual`)}};function Ln(e){return e instanceof Error?e.message||e.name:`Camera could not be started`}function Rn(e={}){let{videoRef:n,...r}=e,i=new In(r),a=(0,t.shallowRef)(i.snapshot()),o=i.subscribe(e=>{a.value=e});return n&&(0,t.watch)(n,e=>i.attachVideo(e??null),{immediate:!0,flush:`post`}),(0,t.onScopeDispose)(()=>{o(),i.dispose()}),{manager:i,state:(0,t.computed)(()=>a.value.state),intent:(0,t.computed)(()=>a.value.intent),stream:(0,t.computed)(()=>a.value.stream),devices:(0,t.computed)(()=>a.value.devices),activeDeviceId:(0,t.computed)(()=>a.value.activeDeviceId),activeFacing:(0,t.computed)(()=>a.value.activeFacing),error:(0,t.computed)(()=>a.value.error),permission:(0,t.computed)(()=>a.value.permission),zoom:(0,t.computed)(()=>a.value.zoom),zoomCapability:(0,t.computed)(()=>a.value.zoomCapability),torch:(0,t.computed)(()=>a.value.torch),torchCapability:(0,t.computed)(()=>a.value.torchCapability),canLockExposure:(0,t.computed)(()=>a.value.canLockExposure),isLive:(0,t.computed)(()=>a.value.state===`live`),isPaused:(0,t.computed)(()=>a.value.state===`paused`),isStarting:(0,t.computed)(()=>a.value.state===`starting`),canSwitch:(0,t.computed)(()=>a.value.devices.length>1),isSupported:In.isSupported(),start:e=>i.start(e),stop:()=>i.stop(),pause:()=>i.pause(),resume:()=>i.resume(),toggle:()=>i.toggle(),switchCamera:()=>i.switchCamera(),selectDevice:e=>i.selectDevice(e),setResolution:e=>i.setResolution(e),setZoom:e=>i.setZoom(e),setTorch:e=>i.setTorch(e),setExposureLocked:e=>i.setExposureLocked(e),refreshDevices:()=>i.refreshDevices(),bindVideo:e=>i.attachVideo(e)}}var zn=U((0,t.defineComponent)({__name:`camera-preview`,props:{ratio:{default:`3x4`},resolutions:{default:()=>({})},mirror:{type:Boolean,default:!1},filter:{default:`none`},tintColor:{default:``},tintIntensity:{default:0}},setup(e,{expose:n}){let r=e,i=(0,t.ref)(null),a=(0,t.computed)(()=>{let e=r.resolutions[r.ratio];if(e)return e;let[t,n]=r.ratio.split(/[x:/]/).map(Number);return t&&n?{width:t,height:n}:{width:3,height:4}}),o=(0,t.computed)(()=>({aspectRatio:`${a.value.width} / ${a.value.height}`})),s=(0,t.computed)(()=>({transform:r.mirror?`scaleX(-1)`:`none`,filter:ln(r.filter)})),c=(0,t.computed)(()=>{let e=an(r.tintColor,r.tintIntensity);return{backgroundColor:e.color,opacity:e.opacity}});return n({videoEl:i,resolution:a}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`camera-preview position-relative overflow-hidden bg-black w-100`,style:(0,t.normalizeStyle)(o.value)},[(0,t.createElementVNode)(`video`,{ref_key:`videoEl`,ref:i,class:`camera-preview__video position-absolute top-0 start-0 w-100 h-100`,style:(0,t.normalizeStyle)(s.value),playsinline:``,muted:``,autoplay:``,disablepictureinpicture:``},null,4),e.tintColor&&e.tintIntensity>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`position-absolute top-0 start-0 w-100 h-100 pe-none`,style:(0,t.normalizeStyle)(c.value),"aria-hidden":`true`},null,4)):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],4))}}),[[`__scopeId`,`data-v-79ba16f6`]]),Bn={class:`zoom-slider`},Vn=[`min`,`max`,`step`,`value`],Hn={class:`zoom-slider__ticks`},Un=(0,t.defineComponent)({name:`ZoomSlider`,inheritAttrs:!1,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(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>r.ticks),o=(0,t.computed)(()=>Math.round((r.ticks-1)/2)),s=(0,t.computed)(()=>Math.round((r.ticks-1)/10));function c(e){i(`update:modelValue`,parseFloat(e.target.value))}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Bn,[(0,t.createElementVNode)(`input`,{type:`range`,min:e.min,max:e.max,step:e.step,value:e.modelValue,onInput:c,"aria-label":`Zoom`},null,40,Vn),(0,t.createElementVNode)(`div`,Hn,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:e,class:(0,t.normalizeClass)([`zoom-slider__tick`,{"zoom-slider__tick--major":(e-1)%o.value==0,"zoom-slider__tick--mid":(e-1)%s.value==0&&(e-1)%o.value!=0}])},null,2))),128))])]))}}),Wn=`data:image/png;base64,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`,Gn={class:`base-camera position-relative w-100 user-select-none`,"data-bs-theme":`dark`},Kn=[`src`],qn={class:`position-absolute top-0 start-0 end-0 d-flex align-items-start p-2 gap-2 base-camera__top-bar`},Jn={class:`base-camera__select-col`},Yn={key:1},Xn={class:`d-flex align-items-center ms-auto gap-2`},Zn=[`aria-label`],Qn=[`disabled`],$n={key:1,class:`position-absolute top-0 start-0 w-100 h-100 d-flex flex-column align-items-center justify-content-center text-center p-3 bg-black bg-opacity-50`},er={key:0,class:`spinner-border text-light`,role:`status`},tr={key:1,class:`alert alert-danger py-2 px-3 mb-0 small`},nr={class:`mb-2`},rr={class:`position-absolute bottom-0 start-0 end-0 p-3 d-flex flex-column gap-2 align-items-center`},ir={key:0,class:`d-flex align-items-center justify-content-center gap-4 w-100`},ar=[`disabled`,`aria-label`],or={key:0,viewBox:`0 0 24 24`,width:`22`,height:`22`,fill:`currentColor`,"aria-hidden":`true`},sr={key:1,viewBox:`0 0 24 24`,width:`22`,height:`22`,fill:`currentColor`,"aria-hidden":`true`},cr=[`disabled`],lr={key:2,class:`base-camera__countdown-overlay`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`},ur=[`data-countdown`],dr={key:0,class:`base-camera__zoom`},fr=200,pr=U((0,t.defineComponent)({__name:`base-camera`,props:{modelValue:{type:null},enableSelectDevice:{type:Boolean,default:!1},enableSwitchCamera:{type:Boolean,default:!0},defaultRearCamera:{type:Boolean,default:!1},enableMirrorCamera:{type:Boolean,default:!1},ratio:{type:String,default:`3x4`},resolutions:{type:Object,default:()=>({"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}})},zoom:{type:Number,default:1},enableZoomSlider:{type:Boolean,default:!1},filter:{type:String,default:`none`,validator:e=>[`none`,`grayscale`,`sepia`].includes(e)},tintColor:{type:String,default:``},tintIntensity:{type:Number,default:0},countdown:{type:Number,default:0},emitBlob:{type:Boolean,default:!1},autoStart:{type:Boolean,default:!0},enableGuide:{type:Boolean,default:!0},guideSrc:{type:String,default:Wn},enableControls:{type:Boolean,default:!0},enableScreenFlash:{type:Boolean,default:!1},screenFlashColor:{type:String,default:`#FFFFFF`},screenFlashFullscreen:{type:Boolean,default:!1},enableTorch:{type:Boolean,default:!0},enableShutterAnimation:{type:Boolean,default:!0}},emits:[`update:modelValue`,`update:zoom`,`capture`,`error`,`state`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(null),s=(0,t.computed)(()=>o.value?.videoEl??null),c=(0,t.computed)(()=>i.resolutions[i.ratio]??{width:720,height:960}),l=Rn({preferredFacing:i.defaultRearCamera?`environment`:`user`,resolution:c.value,videoRef:s,onWarning:e=>a(`error`,e)}),u=(0,t.computed)(()=>i.enableMirrorCamera&&l.activeFacing.value!==`environment`),d=(0,t.computed)(()=>i.enableSelectDevice&&l.devices.value.length>1),f=(0,t.computed)(()=>i.enableSwitchCamera&&l.canSwitch.value),p=(0,t.computed)(()=>i.enableZoomSlider&&l.zoomCapability.value!==null),m=(0,t.computed)(()=>l.isLive.value||l.isPaused.value),h=(0,t.ref)(!1),g=(0,t.ref)(0),_=(0,t.ref)(!1),v=(0,t.ref)(0),y=(0,t.ref)(!1),x=(0,t.ref)(0),S=(0,t.ref)(i.enableScreenFlash);(0,t.watch)(()=>i.enableScreenFlash,e=>{S.value=e});let C=null,w=null,T=null,E=null,D=null,O=null,k=null,A=null,j=!1,M=(0,t.ref)(i.zoom);(0,t.watch)(()=>i.zoom,e=>{M.value=e}),(0,t.watch)(M,e=>{l.setZoom(e),e!==i.zoom&&a(`update:zoom`,e)}),(0,t.watch)(l.zoom,e=>{l.zoomCapability.value&&e!==M.value&&(M.value=e)}),(0,t.watch)(l.zoomCapability,e=>{e&&l.setZoom(M.value)}),(0,t.watch)(l.state,e=>a(`state`,e)),(0,t.watch)(l.error,e=>{e&&a(`error`,e)}),(0,t.watch)(c,e=>void l.setResolution(e)),(0,t.onMounted)(()=>{i.autoStart&&l.start()}),(0,t.onScopeDispose)(()=>{j=!0,w&&clearTimeout(w),T&&clearTimeout(T),D&&clearTimeout(D),w=null,T=null,D=null,A?.(!1),A=null,N(),F(),g.value=0,_.value=!1,y.value=!1});function N(){T&&clearTimeout(T),T=null,_.value=!1,E?.(),E=null}function P(){if(!i.enableShutterAnimation)return Promise.resolve();N(),v.value++,_.value=!0;let e=new Promise(e=>{E=e});return T=setTimeout(N,650),e}function F(){O&&clearTimeout(O),O=null,k?.(),k=null}function I(){if(!S.value)return{peak:Promise.resolve(),faded:Promise.resolve()};D&&clearTimeout(D),F(),x.value++,y.value=!0;let e=new Promise(e=>{k=e});return D=setTimeout(()=>{D=null,y.value=!1,O=setTimeout(F,400)},350),{peak:new Promise(e=>setTimeout(e,120)),faded:e}}function L(e){return new Promise(t=>setTimeout(t,e))}async function R(){let e=s.value;if(!e||!m.value||h.value)return null;h.value=!0;let t=i.enableTorch&&l.torchCapability.value,n=!1,r=!1;try{t?(n=await l.setTorch(!0),n&&await L(fr)):S.value&&(r=await l.setExposureLocked(!0));let o=I();if(await o.peak,j||!m.value)return null;let s=cn(e,{width:c.value.width,height:c.value.height,mirror:u.value,filter:i.filter,tintColor:i.tintColor,tintIntensity:i.tintIntensity}),d=P(),f=await fn(s,{asBlob:i.emitBlob});return await Promise.all([o.faded,d]),j?null:(a(`update:modelValue`,f),a(`capture`,f,s),f)}finally{n&&l.setTorch(!1),r&&l.setExposureLocked(!1),h.value=!1}}function ee(){return new Promise(e=>{A=e,w=setTimeout(()=>{w=null,A=null,e(!0)},1e3)})}async function te(){let e=Number.isFinite(i.countdown)?Math.max(0,Math.floor(i.countdown)):0;for(let t=e;t>0;t--)if(g.value=t,!await ee())return null;return g.value=0,j?null:R()}function ne(){return C||(!s.value||!m.value?Promise.resolve(null):(C=te().finally(()=>{g.value=0,C=null}),C))}function z(e){let t=e.target.value;t&&l.selectDevice(t)}function B(e,t){if(e.label)return e.label;let n=e.facing===`user`?`Front`:e.facing===`environment`?`Back`:``;return n?`${n} camera`:`Camera ${t+1}`}return n({onCapture:ne,camera:l,zoom:M}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Gn,[(0,t.createVNode)(zn,{ref_key:`previewRef`,ref:o,ratio:e.ratio,resolutions:e.resolutions,mirror:u.value,filter:e.filter,"tint-color":e.tintColor,"tint-intensity":e.tintIntensity},{default:(0,t.withCtx)(()=>[e.enableGuide&&e.guideSrc?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,src:e.guideSrc,class:`position-absolute top-0 start-0 w-100 h-100 base-camera__guide`,alt:``,"aria-hidden":`true`},null,8,Kn)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,qn,[(0,t.createElementVNode)(`div`,Jn,[d.value&&(0,t.unref)(l).activeDeviceId?((0,t.openBlock)(),(0,t.createBlock)(Y,{key:0,class:`base-camera__select`,modelValue:(0,t.unref)(l).activeDeviceId.value,"onUpdate:modelValue":r[0]||=e=>(0,t.unref)(l).activeDeviceId.value=e,disabled:(0,t.unref)(l).isStarting.value,"aria-label":`Select camera`,onChange:z,options:(0,t.unref)(l).devices.value.map((e,t)=>({value:e.deviceId,text:B(e,t)})),variant:`dark`},null,8,[`modelValue`,`disabled`,`options`])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Yn))]),(0,t.createElementVNode)(`div`,Xn,[e.enableScreenFlash?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`btn btn-dark bg-opacity-50 base-camera__icon-btn`,"aria-label":S.value?`Flash On`:`Flash Off`,onClick:r[1]||=e=>S.value=!S.value},[S.value?((0,t.openBlock)(),(0,t.createBlock)(b,{key:0,symbol:`zap`})):((0,t.openBlock)(),(0,t.createBlock)(b,{key:1,symbol:`zap-off`}))],8,Zn)):(0,t.createCommentVNode)(``,!0),f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`btn btn-dark bg-opacity-50 base-camera__icon-btn`,disabled:(0,t.unref)(l).isStarting.value,"aria-label":`Switch camera`,onClick:r[2]||=e=>(0,t.unref)(l).switchCamera()},[(0,t.createVNode)(b,{symbol:`switch-camera`})],8,Qn)):(0,t.createCommentVNode)(``,!0)])]),(0,t.unref)(l).isStarting.value||(0,t.unref)(l).state.value===`error`||(0,t.unref)(l).state.value===`idle`&&!e.autoStart?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$n,[(0,t.unref)(l).isStarting.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,er,[...r[9]||=[(0,t.createElementVNode)(`span`,{class:`visually-hidden`},`Starting camera…`,-1)]])):(0,t.unref)(l).state.value===`error`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,tr,[(0,t.createElementVNode)(`div`,nr,(0,t.toDisplayString)((0,t.unref)(l).error.value?.message??`Camera error`),1),(0,t.unref)(l).error.value?.code!==`not-allowed`&&(0,t.unref)(l).error.value?.code!==`unsupported`?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`btn btn-sm btn-outline-light`,onClick:r[3]||=e=>(0,t.unref)(l).start()},` Retry `)):(0,t.createCommentVNode)(``,!0)])):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,type:`button`,class:`btn btn-light`,onClick:r[4]||=e=>(0,t.unref)(l).start()},`Start camera`))])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,rr,[e.enableControls?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ir,[(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-dark bg-opacity-50 rounded-circle base-camera__icon-btn`,disabled:(0,t.unref)(l).isStarting.value,"aria-label":(0,t.unref)(l).isLive.value?`Pause`:`Start`,onClick:r[5]||=e=>(0,t.unref)(l).toggle()},[(0,t.unref)(l).isLive.value?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,or,[...r[10]||=[(0,t.createElementVNode)(`rect`,{x:`6`,y:`5`,width:`4`,height:`14`,rx:`1`},null,-1),(0,t.createElementVNode)(`rect`,{x:`14`,y:`5`,width:`4`,height:`14`,rx:`1`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,sr,[...r[11]||=[(0,t.createElementVNode)(`path`,{d:`M8 5v14l11-7z`},null,-1)]]))],8,ar),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-light rounded-circle base-camera__shutter`,disabled:!m.value||h.value||g.value>0,"aria-label":`Capture photo`,onClick:r[6]||=e=>ne()},[...r[12]||=[(0,t.createElementVNode)(`span`,{class:`base-camera__shutter-inner`},null,-1)]],8,cr),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-dark bg-opacity-50 rounded-circle base-camera__icon-btn`,"aria-label":`Stop camera`,onClick:r[7]||=e=>(0,t.unref)(l).stop()},[(0,t.createVNode)(b,{symbol:`x`})])])):(0,t.createCommentVNode)(``,!0)]),g.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,lr,[((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{key:g.value,class:`base-camera__countdown`,"data-countdown":g.value},(0,t.toDisplayString)(g.value),9,ur))])):(0,t.createCommentVNode)(``,!0),_.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:v.value,class:`base-camera__shutter-effect`,"aria-hidden":`true`},[...r[13]||=[(0,t.createElementVNode)(`span`,{class:`base-camera__shutter-aperture`},null,-1)]])):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`,disabled:!e.screenFlashFullscreen},[(0,t.createVNode)(t.Transition,{name:`base-camera-flash`,onAfterLeave:F},{default:(0,t.withCtx)(()=>[y.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:x.value,class:(0,t.normalizeClass)([`base-camera__screen-flash`,{"base-camera__screen-flash--fullscreen":e.screenFlashFullscreen}]),style:(0,t.normalizeStyle)({background:e.screenFlashColor}),"aria-hidden":`true`},null,6)):(0,t.createCommentVNode)(``,!0)]),_:1})],8,[`disabled`]))]),_:1},8,[`ratio`,`resolutions`,`mirror`,`filter`,`tint-color`,`tint-intensity`]),p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,dr,[(0,t.createVNode)(Un,{modelValue:M.value,"onUpdate:modelValue":r[8]||=e=>M.value=e,min:(0,t.unref)(l).zoomCapability.value.min,max:(0,t.unref)(l).zoomCapability.value.max,step:(0,t.unref)(l).zoomCapability.value.step},null,8,[`modelValue`,`min`,`max`,`step`])])):(0,t.createCommentVNode)(``,!0)]))}}),[[`__scopeId`,`data-v-bdd9593d`]]),mr={class:`base-map`},hr={key:0,class:`base-map__label`},gr={key:0,class:`base-map__hint`},_r=(0,t.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(e,{emit:n}){function r(e,t){return t({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]})}let i={lat:48.8566,lng:2.3522},a={streets:{url:`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`,attribution:`&copy; <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:`&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors &copy; <a href="https://carto.com/attributions">CARTO</a>`},dark:{url:`https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png`,attribution:`&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors &copy; <a href="https://carto.com/attributions">CARTO</a>`},minimal:{url:`https://{s}.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}{r}.png`,attribution:`&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors &copy; <a href="https://carto.com/attributions">CARTO</a>`},popover:{url:`https://{s}.basemaps.cartocdn.com/rastertiles/voyager_nolabels/{z}/{x}/{y}{r}.png`,attribution:`&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors &copy; <a href="https://carto.com/attributions">CARTO</a>`}},o=e,s=n,c=(0,t.shallowRef)(null),l=(0,t.ref)(null),u=(0,t.ref)(null),d=(0,t.ref)(o.zoom),f=(0,t.ref)(S(o.modelValue));(0,t.onMounted)(async()=>{if(typeof window>`u`)return;let[e,n]=await Promise.all([import(`@vue-leaflet/vue-leaflet`),import(`leaflet`)]),i=e.default??e,a=n.default??n;c.value=(0,t.markRaw)({LCircle:(0,t.markRaw)(i.LCircle),LMap:(0,t.markRaw)(i.LMap),LMarker:(0,t.markRaw)(i.LMarker),LPopup:(0,t.markRaw)(i.LPopup),LPolyline:(0,t.markRaw)(i.LPolyline),LTileLayer:(0,t.markRaw)(i.LTileLayer)}),l.value={list:r(`list`,a.divIcon),selected:r(`selected`,a.divIcon),search:r(`search`,a.divIcon),user:r(`user`,a.divIcon)}}),(0,t.watch)(()=>o.zoom,e=>{d.value=e}),(0,t.watch)(()=>o.modelValue,e=>{f.value=S(e)}),(0,t.watch)(()=>o.center,e=>{let t=S(e);t&&E(t)},{deep:!0}),(0,t.watch)(()=>[o.height,o.markers.length,o.routeCoordinates.length,o.center?.lat,o.center?.lng,o.modelValue?.lat,o.modelValue?.lng,o.userLocation?.lat,o.userLocation?.lng],()=>{T()},{flush:`post`});let p=(0,t.computed)(()=>S(o.userLocation)),m=(0,t.computed)(()=>S(o.selectionRadiusCenter)||f.value),h=(0,t.computed)(()=>{let e=(o.markers||[]).map(e=>{let t=S(e);return t?{...e,...t,type:e.type||(f.value&&w(e,f.value)?`selected`:`list`)}:null}).filter(e=>!!e);return o.showSelectedMarker&&f.value&&!e.some(e=>w(e,f.value))&&e.push({id:`selected-location`,label:o.selectedLocationLabel,type:`search`,...f.value}),e}),g=(0,t.computed)(()=>(o.routeCoordinates||[]).map(e=>C(e)).filter(e=>!!e)),_=(0,t.computed)(()=>{let e=S(o.center)||f.value||S(o.markers[0])||i;return[e.lat,e.lng]}),v=(0,t.computed)(()=>{if(o.tileLayerUrl.trim())return o.tileLayerUrl;let e=o.mapStyle===`custom`?`streets`:o.mapStyle;return a[e].url}),y=(0,t.computed)(()=>{if(o.tileLayerAttribution.trim())return o.tileLayerAttribution;let e=o.mapStyle===`custom`?`streets`:o.mapStyle;return a[e].attribution});function b(e=`list`){if(l.value)return l.value[e]||l.value.list}function x(e=`list`){switch(e){case`user`:return 450;case`selected`:return 350;case`search`:return 250;default:return 150}}function S(e){if(!e)return null;let t=Number(e.lat),n=Number(e.lng);return Number.isNaN(t)||Number.isNaN(n)?null:{lat:t,lng:n}}function C(e){if(Array.isArray(e)){let t=Number(e[0]),n=Number(e[1]);return Number.isFinite(t)&&Number.isFinite(n)?[t,n]:null}let t=S(e);return t?[t.lat,t.lng]:null}function w(e,t){let n=S(e),r=S(t);return!n||!r?!1:Math.abs(n.lat-r.lat)<1e-6&&Math.abs(n.lng-r.lng)<1e-6}async function T(){await(0,t.nextTick)(),u.value?.invalidateSize()}function E(e){u.value?.panTo([e.lat,e.lng])}function D(e){u.value=e,E(S(o.center)||f.value||i),T()}function O(e){d.value=e,s(`update:zoom`,e)}function k(e){let t=S(e);t&&(E(t),s(`update:center`,t))}function A(e){if(!o.interactive||o.disabled)return;let t={lat:Number(e.latlng.lat.toFixed(6)),lng:Number(e.latlng.lng.toFixed(6))};f.value=t,E(t),s(`update:modelValue`,t),s(`update:center`,t),s(`map-click`,t)}function j(e){f.value={lat:Number(e.lat),lng:Number(e.lng)},E(f.value),s(`update:modelValue`,f.value),s(`update:center`,f.value),s(`marker-click`,e)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,mr,[(0,t.renderSlot)(n.$slots,`label`,{},()=>[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,hr,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`base-map__frame`,{"base-map__frame--interactive":e.interactive&&!e.disabled,"base-map__frame--disabled":e.disabled}]),style:(0,t.normalizeStyle)({height:e.height}),"data-testid":`base-map`},[c.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value?.LMap),{key:0,class:`base-map__canvas`,"use-global-leaflet":!1,zoom:d.value,center:_.value,onReady:D,onClick:A,"onUpdate:zoom":O,"onUpdate:center":k},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value.LTileLayer),{url:v.value,attribution:y.value,"layer-type":`base`,name:`OpenStreetMap`},null,8,[`url`,`attribution`])),g.value.length>1?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value.LPolyline),{key:0,"lat-lngs":g.value,color:e.routeColor,weight:e.routeWeight},null,8,[`lat-lngs`,`color`,`weight`])):(0,t.createCommentVNode)(``,!0),m.value&&e.selectionRadius>0?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value.LCircle),{key:1,"lat-lng":[m.value.lat,m.value.lng],radius:e.selectionRadius,color:e.selectionRadiusColor,"fill-color":e.selectionRadiusFillColor,"fill-opacity":e.selectionRadiusFillOpacity,opacity:e.selectionRadiusOpacity,weight:e.selectionRadiusStrokeWeight},null,8,[`lat-lng`,`radius`,`color`,`fill-color`,`fill-opacity`,`opacity`,`weight`])):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(h.value,(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value.LMarker),{key:e.id??`${e.lat}-${e.lng}-${n}`,"lat-lng":[e.lat,e.lng],icon:b(e.type),"z-index-offset":x(e.type),onClick:t=>j(e)},{default:(0,t.withCtx)(()=>[e.label?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value.LPopup),{key:0},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.label),1)]),_:2},1024)):(0,t.createCommentVNode)(``,!0)]),_:2},1032,[`lat-lng`,`icon`,`z-index-offset`,`onClick`]))),128)),p.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value.LMarker),{key:`user-${p.value.lat}-${p.value.lng}`,"lat-lng":[p.value.lat,p.value.lng],icon:b(`user`),"z-index-offset":x(`user`),onClick:r[0]||=t=>j({id:`user-location`,label:e.userLocationLabel,type:`user`,...p.value})},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value.LPopup),null,{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.userLocationLabel),1)]),_:1}))]),_:1},8,[`lat-lng`,`icon`,`z-index-offset`])):(0,t.createCommentVNode)(``,!0)]),_:1},40,[`zoom`,`center`])):(0,t.createCommentVNode)(``,!0)],6),e.interactive&&e.helperText?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,gr,(0,t.toDisplayString)(e.helperText),1)):(0,t.createCommentVNode)(``,!0)]))}}),vr={class:`location-list`,"data-testid":`location-list`},yr={key:0,class:`location-list__label`},br={key:1,class:`location-list__items`},xr=[`data-testid`,`onClick`],Sr={class:`location-list__title`},Cr={key:0,class:`location-list__description`},wr={key:1,class:`location-list__distance`},Tr={key:2,class:`location-list__empty`},Er=(0,t.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(e,{emit:n}){let r=e,i=n;function a(e){return e?.[r.titleKey]||e?.label||e?.name||`Location`}function o(e){return e?.[r.descriptionKey]||e?.description||e?.subtitle||``}function s(e,t=0){return e?typeof e==`object`?e.id??e.value??a(e)??t:e:t}function c(e,t=0){return`${s(e,t)}`.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``)}function l(e,t=0){return s(r.modelValue)===s(e,t)}function u(e){return Number.isFinite(e)?e>=1e3?`${(e/1e3).toFixed(1)} km`:`${Math.round(e)} m`:`—`}function d(e){i(`update:modelValue`,e),i(`select`,e)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,vr,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,yr,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0),e.locations.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,br,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.locations,(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:s(n,r),type:`button`,class:(0,t.normalizeClass)([`location-list__item`,{"location-list__item--active":l(n,r)}]),"data-testid":`location-option-${c(n,r)}`,onClick:e=>d(n)},[(0,t.createElementVNode)(`strong`,Sr,(0,t.toDisplayString)(a(n)),1),o(n)?((0,t.openBlock)(),(0,t.createElementBlock)(`small`,Cr,(0,t.toDisplayString)(o(n)),1)):(0,t.createCommentVNode)(``,!0),e.showDistance&&n?.distance!==void 0&&n?.distance!==null?((0,t.openBlock)(),(0,t.createElementBlock)(`small`,wr,(0,t.toDisplayString)(u(Number(n.distance)))+` away `,1)):(0,t.createCommentVNode)(``,!0)],10,xr))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Tr,(0,t.toDisplayString)(e.emptyText),1))]))}});function Dr(e,n){let r=(0,t.ref)(!1),i=(0,t.ref)(0);function a(e){n.enabled()&&(e.preventDefault(),i.value++,r.value=!0)}function o(e){n.enabled()&&e.preventDefault()}function s(e){n.enabled()&&(e.preventDefault(),i.value=Math.max(0,i.value-1),i.value===0&&(r.value=!1))}function c(e){if(!n.enabled())return;e.preventDefault(),i.value=0,r.value=!1;let t=e.dataTransfer?Array.from(e.dataTransfer.files||[]):[];n.onDrop(t)}function l(){e.value?.addEventListener(`dragenter`,a),e.value?.addEventListener(`dragover`,o),e.value?.addEventListener(`dragleave`,s),e.value?.addEventListener(`drop`,c)}function u(){e.value?.removeEventListener(`dragenter`,a),e.value?.removeEventListener(`dragover`,o),e.value?.removeEventListener(`dragleave`,s),e.value?.removeEventListener(`drop`,c)}return(0,t.onMounted)(l),(0,t.onBeforeUnmount)(u),{isDragging:r}}function Or(e){let n=(0,t.ref)(!1);async function r(t){let r=new FormData;r.append(`file`,t),n.value=!0;try{let t=await(e.customFetch||a.ofetch)(e.endpoint,{method:`POST`,...e.customFetch?{}:{headers:{Accept:`application/json`,...e.authToken?{Authorization:`Bearer ${e.authToken}`}:{}}},body:r});return`${e.baseResponsePath||`/api/v1/assets`}/${t.path}`}finally{n.value=!1}}return{pending:n,uploadFile:r}}function kr(e){async function n(n){return(0,t.unref)(e)===`objectUrl`?URL.createObjectURL(n):await M(n)}function r(e){e&&e.startsWith(`blob:`)&&URL.revokeObjectURL(e)}return{toLocalUrl:n,revoke:r}}var Ar=[`src`],jr=[`onClick`],Mr=[`onClick`],Nr=[`for`],Pr=[`innerHTML`],Fr={key:0,class:`file-upload__loading-spinner`},Z=(0,t.defineComponent)({__name:`file-upload`,props:{modelValue:{type:Array,default:[]},src:{type:String},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(),o=(0,t.ref)([]),s=(0,t.ref)([]),{pending:c,uploadFile:l}=Or(r),{toLocalUrl:u,revoke:d}=kr((0,t.toRef)(r,`localUrlFormat`)),{isDragging:f}=Dr(a,{enabled:()=>r.dropFiles,onDrop:e=>{o.value=e}}),p=(0,t.computed)(()=>r.modelValue?.length?r.modelValue:r.src?[{type:``,src:r.src}]:s.value);function m(e){let t=typeof e==`string`?parseInt(e,10):e,n=Array.isArray(r.modelValue)&&r.modelValue.length>0,a=Array.isArray(s.value)&&s.value.length>0;if(a&&t<s.value.length&&(d(s.value[t]?.src),s.value.splice(t,1)),n){let e=[...r.modelValue];t<e.length&&e.splice(t,1),i(`update:modelValue`,e),r.multiple||i(`update:src`,e[0]?.src||``)}else if(a){let e=r.multiple?s.value:s.value[0];i(`update:modelValue`,e),r.multiple||i(`update:src`,s.value[0]?.src||``)}else i(`update:modelValue`,r.multiple?[]:void 0),i(`update:src`,``);o.value.splice(t,1)}return(0,t.watch)(()=>o.value,async e=>{let t=await Promise.all(e.map(async e=>({src:r.toDataUrl?await u(e):await l(e),type:e.type,name:e.name,size:e.size,lastModified:e.lastModified})));s.value=t},{deep:!0}),(0,t.watch)(()=>s.value,async e=>{let t=r.multiple?e:e[0];i(`update:modelValue`,t),r.multiple||i(`update:src`,e[0]&&e[0].src)},{deep:!0}),(0,t.watch)(()=>r.modelValue,e=>{(!e||e.length===0)&&s.value.length>0&&(s.value.forEach(e=>d(e.src)),s.value=[],o.value=[])}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`root`,ref:a,class:(0,t.normalizeClass)([`file-upload`,{"has-dragging":e.dropFiles,"is-dragging":(0,t.unref)(f)}])},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(p.value,(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:r.src,class:(0,t.normalizeClass)(e.enablePreview?`file-upload__thumbnail`:`file-upload__reset`)},[(0,t.renderSlot)(n.$slots,`preview-item`,{bind:{item:r,index:i},on:{removeFile:m}},()=>[e.enablePreview?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`img`,{src:`${r.src}${e.previewWidth?`?width=${e.previewWidth}`:``}`,class:`img-thumbnail rounded`},null,8,Ar),(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>m(i),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,jr)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,onClick:(0,t.withModifiers)(e=>m(i),[`prevent`]),class:`btn btn--close btn-outline-contrast`},[(0,t.createVNode)(b,{symbol:`x`})],8,Mr))])],2))),128)),(0,t.createVNode)(nt,{modelValue:o.value,"onUpdate:modelValue":r[0]||=e=>o.value=e,id:e.id,name:e.name,accept:e.accept,"max-file-size":e.maxFileSize,multiple:e.multiple,class:`d-none`},null,8,[`modelValue`,`id`,`name`,`accept`,`max-file-size`,`multiple`]),(0,t.renderSlot)(n.$slots,`label`,{},()=>[(0,t.createElementVNode)(`label`,{for:e.id,class:`file-upload__label`},[(0,t.renderSlot)(n.$slots,`button`,{},()=>[(0,t.createElementVNode)(`span`,{class:`btn btn-outline-contrast`,innerHTML:(0,t.unref)(O)(e.label||n.$t(`common.selectFile`))},null,8,Pr)]),(0,t.createVNode)(t.Transition,{name:`fade`},{default:(0,t.withCtx)(()=>[(0,t.unref)(c)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Fr,[...r[1]||=[(0,t.createElementVNode)(`span`,{class:`spinner-border`,role:`status`},[(0,t.createElementVNode)(`span`,{class:`visually-hidden`},`Loading...`)],-1)]])):(0,t.createCommentVNode)(``,!0)]),_:1})],8,Nr)])],2))}}),Ir={class:`container-fluid`},Lr={class:`row`},Rr={key:0,class:`col-12`},zr={class:`py-4 px-3 d-flex align-items-center border border-bottom-0`},Br=[`innerHTML`],Vr={class:`col-12`},Hr={key:0,class:`grid place-items-center text-center text-muted py-5 border border-bottom-0`},Ur={class:`m-0`},Wr={class:`preview-item border-bottom p-3`},Gr={class:`d-flex gap-3`},Kr={class:`col-2`},qr={class:`col d-flex flex-column`},Jr={class:`file-meta text-muted small mb-2`},Yr={class:`fw-semibold`},Xr={key:0},Zr={key:1},Qr=[`onUpdate:modelValue`,`id`],$r=[`innerHTML`],ei={key:2,class:`upload-progress mt-3 mb-0`},ti=[`value`],ni={class:`col-auto d-flex flex-column gap-2`},ri=[`onClick`],ii=[`onClick`],ai={class:`d-flex justify-content-between align-items-center`},oi={class:`file-upload__info p-3`},si={key:0,class:`text-muted small`},ci={class:`file-upload__label`},li={class:`d-flex align-items-end p-3`},ui=[`for`],di=[`innerHTML`],fi=(0,t.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},minFiles:{type:Number,default:0},restrictRemoval:{type:Boolean,default:!1},showProgress:{type:Boolean,default:!0},valid:{type:Boolean,default:!0},validate:{type:Boolean,default:!0}},emits:[`update:modelValue`,`update:valid`],setup(e,{emit:n}){let i=e,a=n,{t:o}=(0,r.useI18n)(),s=e=>`${e.name??``}|${e.size??0}|${e.lastModified??0}|${e.type??``}`,c=(0,t.computed)({get:()=>{let e=i.modelValue||[];return d.value=e.map(e=>e.caption||``),e.map(e=>({type:e.type,src:e.src,...e.name?{name:e.name}:{},...e.size?{size:e.size}:{},...e.lastModified?{lastModified:e.lastModified}:{},...e.uploadProgress?{uploadProgress:e.uploadProgress}:{}}))},set:e=>{let t=c.value||[],n=Array.isArray(e)?e:[],r=i.allowDuplicateFiles?n:n.filter(e=>{let n=s(e);return!t.some(e=>s(e)===n)}),a=i.maxFiles>0?Math.max(0,i.maxFiles-t.length):void 0,o=typeof a==`number`?r.slice(0,a):r;!i.allowDuplicateFiles&&n.length>0&&o.length===0||(o.length<=t.length&&o.every(e=>t.some(t=>t.src===e.src))?x(o):x([...t,...o]))}}),l=(0,t.ref)(null),u=(0,t.ref)({}),d=(0,t.ref)({}),f=(0,t.computed)(()=>i.disabled||i.maxFiles>0&&c.value.length>=i.maxFiles),p=(0,t.computed)(()=>!i.restrictRemoval||i.minFiles<=0||c.value.length>i.minFiles),m=(0,t.computed)(()=>!i.restrictRemoval||i.minFiles<=0),h=(0,t.computed)(()=>{let e=c.value.length,t=i.minFiles<=0||e>=i.minFiles,n=i.maxFiles<=0||e<=i.maxFiles;return t&&n});(0,t.watch)(()=>c.value.length,()=>{a(`update:valid`,h.value)});let g=(0,t.computed)(()=>{let e=c.value.length;return i.minFiles>0&&i.maxFiles>0?o(`fileInput.minMaxFiles`,{count:e,min:i.minFiles,max:i.maxFiles}):i.minFiles>0?o(`fileInput.minFiles`,{count:e,min:i.minFiles}):o(`fileInput.maxFiles`,{count:e,max:i.maxFiles})});function _(e){if(!p.value)return;let t=[...i.modelValue||[]];t.splice(e,1),a(`update:modelValue`,t)}async function v(e){u.value[e]=!u.value[e],u.value[e]||x(),await(0,t.nextTick)(),(l.value?.querySelector(`#caption-${e}`))?.focus()}function y(e){if(e==null)return``;let t=[`B`,`KB`,`MB`,`GB`,`TB`],n=e,r=t.shift();for(;n>=1024&&t.length;)n/=1024,r=t.shift();return`${n.toFixed(1)} ${r}`}function b(e){return e?new Date(e).toLocaleDateString():``}function x(e){a(`update:modelValue`,(e||c.value).map((e,t)=>({...e,caption:d.value[t]||``})))}return(n,r)=>{let i=(0,t.resolveComponent)(`svg-icon`),a=(0,t.resolveComponent)(`base-image`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`bulk-upload`,ref_key:`root`,ref:l},[(0,t.createElementVNode)(`div`,Ir,[(0,t.createElementVNode)(`div`,Lr,[e.hasHeader?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Rr,[(0,t.createElementVNode)(`div`,zr,[(0,t.createElementVNode)(`p`,{class:`fw-bold m-0`,innerHTML:(0,t.unref)(O)(e.title||n.$t(`fileInput.bulkUploadHeadline`))},null,8,Br),(0,t.renderSlot)(n.$slots,`bulk-remove`,{},()=>[e.hasBulkRemove&&m.value?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,onClick:r[0]||=(0,t.withModifiers)(e=>c.value=[],[`prevent`]),class:`btn btn--close ms-auto p-0`},[(0,t.createVNode)(i,{symbol:`x`})])):(0,t.createCommentVNode)(``,!0)])])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Vr,[c.value.length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Hr,[(0,t.createElementVNode)(`p`,Ur,(0,t.toDisplayString)(n.$t(`fileInput.noFilesSelected`)),1)])),(0,t.createVNode)(Z,{id:`${e.id}-file-upload`,modelValue:c.value,"onUpdate:modelValue":r[2]||=e=>c.value=e,multiple:!0,accept:`image/*`,"drop-files":!0,"to-data-url":!0,"local-url-format":`objectUrl`,class:`d-flex flex-column border`},{"preview-item":(0,t.withCtx)(({bind:{item:o,index:s}})=>[(0,t.createElementVNode)(`div`,Wr,[(0,t.createElementVNode)(`div`,Gr,[(0,t.createElementVNode)(`div`,Kr,[(0,t.createVNode)(a,{src:o.src,alt:``,class:`img-thumbnail`},null,8,[`src`])]),(0,t.createElementVNode)(`div`,qr,[(0,t.createElementVNode)(`div`,Jr,[(0,t.createElementVNode)(`div`,Yr,(0,t.toDisplayString)(o.name||n.$t(`fileInput.unknownFile`)),1),(0,t.createElementVNode)(`div`,null,[o.size?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Xr,(0,t.toDisplayString)(y(o.size)),1)):(0,t.createCommentVNode)(``,!0),o.lastModified?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Zr,` · `+(0,t.toDisplayString)(b(o.lastModified)),1)):(0,t.createCommentVNode)(``,!0)])]),e.hasCaptions?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[u.value[s]&&e.editCaptions?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`textarea`,{key:0,"onUpdate:modelValue":e=>d.value[s]=e,id:`caption-${s}`,class:`form-control rounded-0 h-100`,onChangeCapture:r[1]||=e=>x()},null,40,Qr)),[[t.vModelText,d.value[s]]]):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{key:1,class:`m-0`,innerHTML:d.value[s]||`<small>${n.$t(`fileInput.noCaption`)}</small>`},null,8,$r)),e.showProgress&&o.uploadProgress?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ei,[(0,t.renderSlot)(n.$slots,`upload-progress`,{bind:{item:o,index:s}},()=>[(0,t.createElementVNode)(`progress`,{value:o.uploadProgress,max:`100`,class:`w-100`},null,8,ti)])])):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,ni,[p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,onClick:(0,t.withModifiers)(e=>_(s),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(i,{symbol:`x`})],8,ri)):(0,t.createCommentVNode)(``,!0),e.editCaptions?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,onClick:(0,t.withModifiers)(e=>v(s),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(i,{symbol:u.value[s]?`check`:`edit-3`},null,8,[`symbol`])],8,ii)):(0,t.createCommentVNode)(``,!0)])])])]),label:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`button`,{},()=>[(0,t.createElementVNode)(`span`,ai,[(0,t.createElementVNode)(`span`,oi,[(0,t.renderSlot)(n.$slots,`info`,{},()=>[e.maxFiles>0||e.minFiles>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,si,(0,t.toDisplayString)(g.value),1)):(0,t.createCommentVNode)(``,!0)])]),(0,t.createElementVNode)(`span`,ci,[(0,t.createElementVNode)(`span`,li,[(0,t.createElementVNode)(`label`,{for:`${e.id}-file-upload`,class:(0,t.normalizeClass)([`btn btn-primary btn-sm ms-auto d-flex align-items-center gap-2`,{disabled:f.value}])},[(0,t.createVNode)(i,{symbol:`upload`,size:`small`}),(0,t.createElementVNode)(`span`,{innerHTML:n.$t(`common.selectFile`)},null,8,di)],10,ui)])])])])]),_:3},8,[`id`,`modelValue`])])])])],512)}}}),pi=[`onDragenter`,`onDragover`,`onDragleave`,`onDragend`,`onDrop`,`innerHTML`],mi=[`draggable`,`onDragstart`,`onDrag`,`onDragenter`,`onDragover`,`onDragleave`,`onDragend`,`onDrop`],hi={key:0,class:`sortable-list__drag-handle`},gi=[`onDragstart`,`onDrag`],_i={key:0,class:`sortable-list__item`},vi=(0,t.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(e,{emit:r}){let i=e,a=(0,t.ref)(!1),o=(0,t.ref)(null),s=(0,t.ref)(null),c=r,l=(0,t.computed)({get(){return i.modelValue},set(e){c(`update:modelValue`,e)}}),u=(0,t.ref)(``);function d(e){let t=e.currentTarget.closest(`.sortable-list__item`)??e.currentTarget;u.value=n.default.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})}let f=(0,t.useSlots)(),p=(0,t.computed)(()=>f[`list-append`]);function m(e,t){e.dataTransfer&&(d(e),e.dataTransfer.dropEffect=`move`,e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`index`,t.toLocaleString()),a.value=!0,o.value=t)}function h(e,t){a.value=!1,o.value=null,s.value=null,u.value=``}function g(e,t){s.value=o.value===t?null:t}function _(e,t){s.value=o.value===t?null:t}function v(e,t){if(e.dataTransfer){e.preventDefault();let n=Number(e.dataTransfer.getData(`index`)),r=t,i=[...l.value];(r||r===0)&&(n||n===0)&&i.splice(r,0,i.splice(n,1)[0]),l.value=i}}return(0,t.watch)(()=>a.value,e=>{c(`update:isDragging`,e)},{immediate:!0}),(0,t.watch)(()=>o.value,e=>{c(`update:dragIndex`,e)},{immediate:!0}),(0,t.watch)(()=>s.value,e=>{c(`update:dragOverIndex`,e)},{immediate:!0}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.TransitionGroup,{name:`list`,tag:`ul`,class:(0,t.normalizeClass)([`sortable-list p-0 d-flex gap-2`,{"flex-column":e.vertical,"flex-row flex-wrap":!e.vertical}]),onDragover:r[0]||=(0,t.withModifiers)(()=>{},[`prevent`]),onDragenter:r[1]||=(0,t.withModifiers)(()=>{},[`prevent`])},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(l.value,(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:i},[e.showPreview&&a.value&&s.value===i?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:0,class:`sortable-list__item is-drop-target`,onDragenter:e=>g(e,i),onDragover:e=>_(e,i),onDragleave:e=>void 0,onDragend:e=>h(e,i),onDrop:e=>v(e,i),innerHTML:u.value},null,40,pi)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`li`,{class:(0,t.normalizeClass)([`sortable-list__item d-flex`,{"is-drag-item":a.value&&o.value===i,"is-drop-target":a.value&&s.value===i&&!e.showPreview,"align-items-center gap-2":e.vertical}]),draggable:!e.showDragHandle,onDragstart:e=>m(e,i),onDrag:e=>void 0,onDragenter:e=>g(e,i),onDragover:e=>_(e,i),onDragleave:e=>void 0,onDragend:e=>h(e,i),onDrop:e=>v(e,i)},[e.showDragHandle?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,hi,[(0,t.createElementVNode)(`button`,{type:`button`,class:`btn`,draggable:`true`,onDragstart:e=>m(e,i),onDrag:e=>void 0},[(0,t.createVNode)(b,{symbol:`drag`})],40,gi)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`sortable-list__item-content`,{"flex-grow-1":e.vertical}])},[(0,t.renderSlot)(n.$slots,`list-item`,{item:r,index:i},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(r),1)])],2)],42,mi)],64))),128)),p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,_i,[(0,t.renderSlot)(n.$slots,`list-append`)])):(0,t.createCommentVNode)(``,!0)]),_:3},8,[`class`]))}}),yi={key:0,class:`image-editor position-relative`},bi={class:`row mb-3`},xi={class:`col`},Si={class:`row gap-2 mb-4`},Ci={class:`col-12`},wi={class:`input mb-2`},Ti={class:`col`},Ei={class:`input mb-0`},Di={class:`col`},Oi={class:`input mb-0`},ki={class:`row`},Ai={class:`col d-flex justify-content-end gap-2`},ji=[`disabled`],Mi=(0,t.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(e,{emit:n}){let{debounce:r}=o.default,i=n,a=(0,t.useTemplateRef)(`image`),s=(0,t.ref)(1),c=(0,t.ref)(0),l=(0,t.ref)(0),u=(0,t.ref)(null),d=(0,t.ref)(0),f=(0,t.ref)(0);function p(){u.value&&(i(`update:modelValue`,u.value),s.value=1)}let m=()=>{if(!d.value||!f.value)return;c.value=Math.round(d.value*s.value);let e=f.value/d.value;l.value=Math.round(c.value*e);let t=a.value?.$el;if(!t)return;let n=t.querySelector(`img`);n&&(u.value=I(n,c.value,l.value,`image/png`))},h=r(m,300);return(0,t.watch)(s,()=>{d.value&&(c.value=Math.round(d.value*s.value),h())}),(0,t.watch)(c,()=>{if(!d.value||c.value===0)return;let e=c.value/d.value;Math.abs(e-s.value)>1e-4&&(s.value=Number(e.toFixed(4)));let t=f.value/d.value;l.value=Math.round(c.value*t),h()}),(0,t.watch)(l,()=>{if(!f.value||l.value===0)return;let e=l.value/f.value;Math.abs(e-s.value)>1e-4&&(s.value=Number(e.toFixed(4)));let t=d.value/f.value;c.value=Math.round(l.value*t),h()}),(0,t.onMounted)(()=>{let e=a.value?.$el;if(!e)return;let t=e.querySelector(`img`);if(!t)return;let n=()=>{d.value=t.naturalWidth,f.value=t.naturalHeight,m()};t.complete?n():t.addEventListener(`load`,n)}),(n,r)=>e.modelValue?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,yi,[(0,t.createElementVNode)(`div`,bi,[(0,t.createElementVNode)(`div`,xi,[(0,t.createVNode)(w,{ref_key:`image`,ref:a,class:`d-none`,src:e.modelValue,animate:!1},null,8,[`src`]),u.value?((0,t.openBlock)(),(0,t.createBlock)(w,{key:0,ref:`targetImage`,class:``,src:u.value,animate:!1},null,8,[`src`])):(0,t.createCommentVNode)(``,!0)])]),(0,t.createElementVNode)(`div`,Si,[(0,t.createElementVNode)(`div`,Ci,[(0,t.createElementVNode)(`div`,wi,[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{type:`range`,class:`form-range`,id:`scaleRange`,"onUpdate:modelValue":r[0]||=e=>s.value=e,min:`0`,max:`2`,step:`0.0001`},null,512),[[t.vModelText,s.value]])])]),(0,t.createElementVNode)(`div`,Ti,[(0,t.createElementVNode)(`div`,Ei,[(0,t.createVNode)(q,{type:`number`,class:`form-input mb-0`,id:`targetWidth`,modelValue:c.value,"onUpdate:modelValue":r[1]||=e=>c.value=e},null,8,[`modelValue`])])]),r[3]||=(0,t.createElementVNode)(`div`,{class:`col-auto d-flex align-items-center`},[(0,t.createElementVNode)(`output`,null,`×`)],-1),(0,t.createElementVNode)(`div`,Di,[(0,t.createElementVNode)(`div`,Oi,[(0,t.createVNode)(q,{type:`number`,class:`form-input mb-0`,id:`targetHeight`,modelValue:l.value,"onUpdate:modelValue":r[2]||=e=>l.value=e},null,8,[`modelValue`])])])]),(0,t.createElementVNode)(`div`,ki,[(0,t.createElementVNode)(`div`,Ai,[(0,t.renderSlot)(n.$slots,`actions`),(0,t.createElementVNode)(`button`,{class:`btn btn-sm btn-primary`,disabled:!u.value,onClick:(0,t.withModifiers)(p,[`prevent`,`stop`])},(0,t.toDisplayString)(n.$t(`common.apply`)),9,ji)])])])):(0,t.createCommentVNode)(``,!0)}}),Ni=h((()=>{})),Pi={key:0,class:`image-crop`},Fi={class:`row mb-4`},Ii={class:`col`},Li={class:`row`},Ri={class:`col d-flex gap-2 justify-content-end gap-2`},zi=(0,t.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(e,{emit:n}){let r=(0,t.shallowRef)(null);(0,t.onMounted)(async()=>{let[{Cropper:e}]=await Promise.all([import(`vue-advanced-cropper`),Promise.resolve().then(()=>_(Ni(),1))]);r.value=(0,t.markRaw)(e)});let i=e,a=n,o=(0,t.useTemplateRef)(`cropper`),s=(0,t.ref)(0);function c(){let e=o.value?.getResult();if(!e?.canvas)return;let t=e.canvas.toDataURL();a(`update:modelValue`,t)}return(0,t.onBeforeMount)(()=>{s.value=i.suggestedAspectRatio||0}),(n,i)=>e.modelValue?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Pi,[(0,t.createElementVNode)(`div`,Fi,[(0,t.createElementVNode)(`div`,Ii,[r.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(r.value),{key:0,ref:`cropper`,class:`cropper`,src:e.modelValue,"stencil-props":{...s.value===0?{}:{aspectRatio:s.value}},"resize-image":!1},null,8,[`src`,`stencil-props`])):(0,t.createCommentVNode)(``,!0)])]),i[1]||=(0,t.createElementVNode)(`hr`,null,null,-1),(0,t.createElementVNode)(`div`,Li,[(0,t.createElementVNode)(`div`,Ri,[(0,t.createVNode)(Y,{modelValue:s.value,"onUpdate:modelValue":i[0]||=e=>s.value=e,options:e.aspectRatioOptions,class:`mb-0`},null,8,[`modelValue`,`options`]),(0,t.renderSlot)(n.$slots,`actions`),(0,t.createElementVNode)(`button`,{class:`btn btn-sm btn-primary`,onClick:(0,t.withModifiers)(c,[`prevent`,`stop`])},(0,t.toDisplayString)(n.$t(`common.apply`)),1)])])])):(0,t.createCommentVNode)(``,!0)}}),Bi={key:0,class:`image-crop-resize position-relative`},Vi={class:`row`},Hi={class:`col`},Ui={key:3,class:`alert alert-warning mt-4 small p-2`},Wi={key:4},Gi={class:`row`},Ki={class:`col-12`},qi={class:`d-flex`},Ji={key:0,class:`d-flex gap-3`},Yi={class:`caption`},Xi={class:`caption`},Zi={key:1,class:`ms-auto`},Qi=(0,t.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(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!1),o=(0,t.ref)(!1),s=(0,t.computed)({get:()=>r.modelValue,set:e=>i(`update:modelValue`,e)}),c=(0,t.computed)(()=>r.modelValue.startsWith(`data:image/svg+xml`));return(0,t.watch)(()=>[a.value,s.value],(e,t)=>{e[0]&&e[0]===t[0]&&(a.value=!1)}),(0,t.watch)(()=>[o.value,s.value],(e,t)=>{e[0]&&e[0]===t[0]&&(o.value=!1)}),(0,t.onMounted)(()=>{}),(n,r)=>e.modelValue?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Bi,[(0,t.createElementVNode)(`div`,Vi,[(0,t.createElementVNode)(`div`,Hi,[a.value||o.value?a.value?((0,t.openBlock)(),(0,t.createBlock)(Mi,{key:1,modelValue:s.value,"onUpdate:modelValue":r[1]||=e=>s.value=e},{actions:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{class:`btn btn-outline-ccontrast`,onClick:r[0]||=(0,t.withModifiers)(e=>a.value=!1,[`prevent`,`stop`])},(0,t.toDisplayString)(n.$t(`common.cancel`)),1)]),_:1},8,[`modelValue`])):o.value?((0,t.openBlock)(),(0,t.createBlock)(zi,{key:2,modelValue:s.value,"onUpdate:modelValue":r[3]||=e=>s.value=e,"suggested-aspect-ratio":e.aspectRatio},{actions:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{class:`btn btn-sm btn-outline-ccontrast`,onClick:r[2]||=(0,t.withModifiers)(e=>o.value=!1,[`prevent`,`stop`])},(0,t.toDisplayString)(n.$t(`common.cancel`)),1)]),_:1},8,[`modelValue`,`suggested-aspect-ratio`])):(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createBlock)(w,{key:0,ref:`targetImage`,class:``,animate:!1,src:e.modelValue},null,8,[`src`])),c.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ui,(0,t.toDisplayString)(n.$t(`common.svgWarning`)),1)):(0,t.createCommentVNode)(``,!0),!o.value&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`hr`,Wi)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Gi,[(0,t.createElementVNode)(`div`,Ki,[(0,t.createElementVNode)(`div`,qi,[!o.value&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ji,[(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-light`,onClick:r[4]||=(0,t.withModifiers)(e=>o.value=!o.value,[`prevent`,`stop`])},[(0,t.createVNode)(b,{symbol:`crop`}),(0,t.createElementVNode)(`span`,Yi,(0,t.toDisplayString)(n.$t(`common.crop`)),1)]),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-light`,onClick:r[5]||=(0,t.withModifiers)(e=>a.value=!a.value,[`prevent`,`stop`])},[(0,t.createVNode)(b,{symbol:`image-upscale`}),(0,t.createElementVNode)(`span`,Xi,(0,t.toDisplayString)(n.$t(`common.resize`)),1)])])):(0,t.createCommentVNode)(``,!0),!o.value&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Zi,[(0,t.renderSlot)(n.$slots,`submit`)])):(0,t.createCommentVNode)(``,!0)])])])])])])):(0,t.createCommentVNode)(``,!0)}}),$i={class:`modal-dialog__content d-flex flex-column`},ea={class:`modal-dialog__header d-flex p-3 border-bottom`},ta={key:0,class:`modal-dialog__title`,id:`exampleModalLabel`},na={class:`modal-dialog__body`},ra={key:0,class:`modal-dialog__footer d-flex p-3 border-top`},ia=(0,t.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(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)();function s(){document.documentElement.style.setProperty(`--scroll-position`,`${Math.round(document.documentElement.scrollTop)}px`),i.modal?o.value?.showModal():o.value?.show(),a(`update:modelValue`,!0)}function c(){let e=o.value&&new KeyframeEffect(o.value,[{translate:`0 -100%`,opacity:`0`}],{duration:320,easing:`ease`,direction:`normal`}),t=new Animation(e,document.timeline);t.play(),t.addEventListener(`finish`,()=>{o.value?.close(),l()}),a(`update:modelValue`,!1)}function l(){let e=getComputedStyle(document.documentElement).getPropertyValue(`--scroll-position`);document.documentElement.scrollTo({top:parseInt(e,10),behavior:`instant`}),a(`update:modelValue`,!1)}function u(e){s(),a(`confirm`,e)}function d(){c(),a(`cancel`)}function f(e){let t=e.target;t&&t.nodeName===`DIALOG`&&c()}return(0,t.watch)(()=>i.modelValue,(e,t)=>{e&&e!==t?s():t&&c()},{immediate:!0}),(0,t.onMounted)(()=>{o.value?.addEventListener(`cancel`,e=>{e.preventDefault(),c()}),i.dismiss&&document.addEventListener(`click`,f),i.modelValue&&s()}),(0,t.onBeforeUnmount)(()=>{i.dismiss&&document.removeEventListener(`click`,f)}),n({show:s,close:c,confirm:u,cancel:d}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`dialog`,{ref_key:`dialog`,ref:o,class:(0,t.normalizeClass)([`modal-dialog`,{[`modal-dialog--${e.size}`]:e.size}]),onClose:l},[(0,t.createElementVNode)(`div`,$i,[(0,t.createElementVNode)(`div`,ea,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`h5`,ta,(0,t.toDisplayString)(e.title),1)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn-close ms-auto border-radius-none`,"aria-label":`Close`,onClick:c})]),(0,t.createElementVNode)(`div`,na,[(0,t.renderSlot)(n.$slots,`default`)]),e.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ra,[(0,t.renderSlot)(n.$slots,`footer`),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn ms-auto`,onClick:c},(0,t.toDisplayString)(n.$t(`common.close`)),1)])):(0,t.createCommentVNode)(``,!0)])],34))}}),aa={class:`image-upload__controls`},oa={class:`d-flex gap-1 align-items-center`},sa={key:1,class:`image-upload__controls`},ca=[`for`],la=[`innerHTML`],ua={key:0,class:`image-upload__loading-spinner`},Q=(0,t.defineComponent)({__name:`image-upload`,props:{modelValue:{type:Object,default:void 0},src:{type:String},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(),o=(0,t.ref)([]),s=(0,t.ref)(!1),c=(0,t.ref)(!1),l=(0,t.ref)(null),u=(0,t.ref)(null),d=(0,t.ref)(null),f=!1,{pending:p,uploadFile:m}=Or(r),{toLocalUrl:h,revoke:g}=kr((0,t.toRef)(r,`localUrlFormat`)),{isDragging:_}=Dr(a,{enabled:()=>r.dropFiles,onDrop:e=>{o.value=e}}),v=(0,t.computed)(()=>r.modelValue?r.modelValue:r.src?{type:``,src:r.src}:l.value);function y(e){g(l.value?.src),l.value=e}function x(){y(null),o.value=[],s.value=!1,i(`update:modelValue`,void 0),i(`update:src`,``)}function S(){x()}(0,t.watch)(()=>o.value,async e=>{if(!e||!e.length||!e[0])return;s.value=!1;let t=await L(e[0],r.maxImageWidth);r.enableReview?(u.value={src:await h(t),type:t.type},f=!0,c.value=!0):y({src:r.toDataUrl?await h(t):await m(t),type:t.type})}),(0,t.watch)(()=>l.value,e=>{i(`update:modelValue`,e||void 0),i(`update:src`,e?.src||``)}),(0,t.watch)(()=>d.value,async e=>{if(e){try{y({src:r.toDataUrl?await h(e):await m(e),type:e.type})}catch(t){console.error(`Failed to process file "${e.name}"`,t)}d.value=null}}),(0,t.watch)(()=>c.value,(e,t)=>{!e&&t&&u.value&&(f&&(g(u.value.src),S()),f=!1,u.value=null)}),(0,t.watch)(()=>r.src,e=>{!e&&l.value&&S()});function C(e,t){f=!1,u.value={src:e,type:t},c.value=!0}async function T(){u.value&&(d.value=await P(u.value.src,`file`,u.value.type),f&&g(u.value.src)),f=!1,u.value=null,c.value=!1}return(0,t.onBeforeUnmount)(()=>{g(l.value?.src)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`root`,ref:a,class:(0,t.normalizeClass)([`image-upload`,{"has-dragging":e.dropFiles,"is-dragging":(0,t.unref)(_)}])},[!c.value&&v.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`mb-2`,e.enablePreview?`image-upload__thumbnail`:`image-upload__reset`])},[e.enablePreview?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createVNode)(w,{src:`${v.value.src}${e.previewWidth?`?width=${e.previewWidth}`:``}`,class:`img-thumbnail rounded`,ready:s.value,"onUpdate:ready":r[0]||=e=>s.value=e,animate:!1,style:(0,t.normalizeStyle)({maxWidth:e.previewWidth?`${e.previewWidth}px`:`auto`,height:`auto`})},null,8,[`src`,`ready`,`style`]),(0,t.createElementVNode)(`div`,aa,[(0,t.createElementVNode)(`div`,oa,[(0,t.createElementVNode)(`button`,{type:`button`,onClick:r[1]||=(0,t.withModifiers)(e=>C(v.value.src,v.value.type),[`prevent`,`stop`]),class:`btn btn--edit btn-sm btn-light`},[(0,t.createVNode)(b,{symbol:`edit-2`})]),(0,t.createElementVNode)(`button`,{type:`button`,onClick:r[2]||=(0,t.withModifiers)(e=>x(),[`prevent`,`stop`]),class:`btn btn--close btn-sm btn-light`},[(0,t.createVNode)(b,{symbol:`x`})])])])],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,sa,[(0,t.createElementVNode)(`button`,{onClick:r[3]||=(0,t.withModifiers)(e=>x(),[`prevent`,`stop`]),class:`btn btn--close btn-outline-contrast`},[(0,t.createVNode)(b,{symbol:`x`})])]))],2)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(nt,{modelValue:o.value,"onUpdate:modelValue":r[4]||=e=>o.value=e,id:e.id,name:e.name,accept:e.accept,"max-file-size":e.maxFileSize,class:`d-none`},null,8,[`modelValue`,`id`,`name`,`accept`,`max-file-size`]),e.src?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:1,for:e.id,class:`image-upload__label`},[(0,t.renderSlot)(n.$slots,`button`,{},()=>[(0,t.createElementVNode)(`span`,{class:`btn btn-outline-contrast`,innerHTML:(0,t.unref)(O)(e.label||n.$t(`common.selectFile`))},null,8,la)]),(0,t.createVNode)(t.Transition,{name:`fade`},{default:(0,t.withCtx)(()=>[(0,t.unref)(p)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ua,[...r[7]||=[(0,t.createElementVNode)(`span`,{class:`spinner-border`,role:`status`},[(0,t.createElementVNode)(`span`,{class:`visually-hidden`},`Loading...`)],-1)]])):(0,t.createCommentVNode)(``,!0)]),_:1})],8,ca)),(0,t.createVNode)(ia,{modelValue:c.value,"onUpdate:modelValue":r[6]||=e=>c.value=e,footer:!1},{default:(0,t.withCtx)(()=>[c.value&&u.value?((0,t.openBlock)(),(0,t.createBlock)(Qi,{key:0,modelValue:u.value.src,"onUpdate:modelValue":r[5]||=e=>u.value.src=e,"aspect-ratio":e.aspectRatio},{submit:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{class:`btn btn-primary`,onClick:(0,t.withModifiers)(T,[`prevent`,`stop`])},(0,t.toDisplayString)(n.$t(`common.save`)),1)]),_:1},8,[`modelValue`,`aspect-ratio`])):(0,t.createCommentVNode)(``,!0)]),_:1},8,[`modelValue`])],2))}}),da={class:`upload-group`},fa=[`innerHTML`],pa={class:`upload-group__list`},ma={class:`img-container`},ha=[`src`],ga={class:`item-overlay`},_a=[`onClick`],va={role:`button`,class:`img-thumbnail d-flex justify-content-center align-items-center`},ya={role:`button`,class:`img-thumbnail d-flex justify-content-center align-items-center`},ba=(0,t.defineComponent)({__name:`upload-group`,props:{modelValue:{type:Array,default:()=>[]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(``),o=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}});function s(e){i(`update:modelValue`,[...r.modelValue.slice(0,e),...r.modelValue.slice(e+1)])}return(0,t.watch)(a,async(e,n)=>{e&&n!==e&&(i(`update:modelValue`,[...o.value,e]),await(0,t.nextTick)(),a.value=``)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,da,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,innerHTML:(0,t.unref)(O)(e.label)},null,8,fa)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,pa,[(0,t.createVNode)(vi,{modelValue:o.value,"onUpdate:modelValue":r[2]||=e=>o.value=e,vertical:!1,class:`mb-3`},{"list-item":(0,t.withCtx)(({item:r,index:i})=>[(0,t.createElementVNode)(`div`,ma,[(0,t.createElementVNode)(`img`,{src:`${r}${e.previewWidth?`?width=${e.previewWidth}`:``}`,class:`img-thumbnail`},null,8,ha),(0,t.createElementVNode)(`div`,ga,[(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>s(i),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,_a),(0,t.renderSlot)(n.$slots,`item-overlay`,{item:r,index:i})])])]),"list-append":(0,t.withCtx)(()=>[e.useImageUpload?((0,t.openBlock)(),(0,t.createBlock)(Q,{key:0,src:a.value,"onUpdate:src":r[0]||=e=>a.value=e,endpoint:e.endpoint,"custom-fetch":e.customFetch,"to-data-url":!e.endpoint,"auth-token":e.authToken,disabled:e.disabled,"base-response-path":e.baseResponsePath,accept:e.accept,"max-file-size":e.maxFileSize,"max-image-width":e.maxImageWidth,"enable-preview":!1,"aspect-ratio":e.aspectRatio,"local-url-format":e.localUrlFormat},{button:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,va,[(0,t.createVNode)(b,{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`])):((0,t.openBlock)(),(0,t.createBlock)(Z,{key:1,src:a.value,"onUpdate:src":r[1]||=e=>a.value=e,multiple:!1,endpoint:e.endpoint,"custom-fetch":e.customFetch,"to-data-url":!e.endpoint,"auth-token":e.authToken,disabled:e.disabled,"base-response-path":e.baseResponsePath,accept:e.accept,"max-file-size":e.maxFileSize,"max-image-width":e.maxImageWidth,"local-url-format":e.localUrlFormat},{button:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,ya,[(0,t.createVNode)(b,{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`])])]))}}),xa={class:`asset-uploader`},Sa=[`innerHTML`],Ca=(0,t.defineComponent)({__name:`asset-uploader`,props:{modelValue:{type:Array,default:()=>[]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue.map(e=>e.src)},set(e){i(`update:modelValue`,e.map((e,t)=>{let n=r.showTypeDropdown&&r.modelValue[t]?.type||r.type;return{mediaType:r.modelValue[t]&&r.modelValue[t].mediaType||e.includes(`data:image`)?e.includes(`data:image/svg`)?`Svg`:`Image`:r.mediaTypeMap[e.split(`.`)[1]],src:e,name:r.modelValue[t]&&r.modelValue[t].name||`${r.name}-${t}`,...n?{type:n}:{}}}))}});function o(e,t){i(`update:modelValue`,r.modelValue.map((n,r)=>r===e?{...n,type:t}:n))}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,xa,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,innerHTML:(0,t.unref)(O)(e.label)},null,8,Sa)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(ba,{modelValue:a.value,"onUpdate:modelValue":r[0]||=e=>a.value=e,endpoint:e.endpoint,"custom-fetch":e.customFetch,"auth-token":e.authToken,disabled:e.disabled,"preview-width":e.previewWidth,"base-response-path":e.baseResponsePath,accept:e.accept,"max-file-size":e.maxFileSize,"use-image-upload":e.useImageUpload,"max-image-width":e.maxImageWidth,"aspect-ratio":e.aspectRatio},(0,t.createSlots)({_:2},[e.showTypeDropdown?{name:`item-overlay`,fn:(0,t.withCtx)(({index:n})=>[(0,t.createVNode)(Y,{name:`${e.name}-type-${n}`,options:e.typeOptions,"model-value":e.modelValue[n]?.type||null,placeholder:`type`,"onUpdate:modelValue":e=>o(n,e)},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`])]))}}),wa=[`id`,`popover`],$=(0,t.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(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(),o=(0,t.ref)(),s=(0,t.ref)(!1),c=(0,t.computed)(()=>`ontouchstart`in window||navigator.maxTouchPoints>0);function l(){clearTimeout(o.value),r.hover&&a.value?.showPopover()}function u(){s.value=!0,clearTimeout(o.value),l()}function d(){s.value=!1,(r.hover||r.closeTimeout)&&(o.value=setTimeout(()=>{a.value?.hidePopover()},r.closeTimeout||r.hoverDelay))}(0,t.watch)(()=>r.modelValue,(e,t)=>{e&&!t?a.value?.matches(`:popover-open`)||a.value?.showPopover():!e&&t&&a.value?.matches(`:popover-open`)&&a.value?.hidePopover()});function f(e){e.newState===`open`?(r.closeTimeout&&!s.value&&(clearTimeout(o.value),o.value=setTimeout(()=>{s.value||a.value?.hidePopover()},r.closeTimeout)),r.modelValue||i(`update:modelValue`,!0)):e.newState===`closed`&&(s.value=!1,r.modelValue&&i(`update:modelValue`,!1))}return(0,t.onMounted)(()=>{if(a.value?.addEventListener(`toggle`,f),r.modelValue&&a.value?.showPopover(),!c.value){a.value?.addEventListener(`mouseenter`,u),a.value?.addEventListener(`mouseleave`,d);let e=document.querySelector(`[popovertarget="${r.id}"]`);e&&(e.addEventListener(`mouseenter`,u),e.addEventListener(`mouseleave`,d))}}),(0,t.onBeforeUnmount)(()=>{if(clearTimeout(o.value),a.value?.removeEventListener(`toggle`,f),!c.value){a.value?.removeEventListener(`mouseenter`,u),a.value?.removeEventListener(`mouseleave`,d);let e=document.querySelector(`[popovertarget="${r.id}"]`);e&&(e.removeEventListener(`mouseenter`,u),e.removeEventListener(`mouseleave`,d))}}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:`popover-dialog`,id:e.id,popover:e.type,ref_key:`popover`,ref:a},[(0,t.renderSlot)(n.$slots,`default`,{},()=>[r[0]||=(0,t.createTextVNode)(` Popover content goes here. `,-1)])],8,wa))}}),Ta={class:`preset-uploader`},Ea=[`innerHTML`],Da={class:`preset-uploader__list`},Oa=[`popovertarget`],ka=[`src`],Aa=[`onClick`],ja={class:`preset-uploader__popover p-2 d-flex gap-2 align-items-start`},Ma=[`popovertarget`],Na=[`src`],Pa={class:`d-flex flex-column gap-2`},Fa={role:`button`,class:`btn btn-sm w-100 d-inline-flex align-items-center`},Ia={role:`button`,class:`btn btn-sm w-100 d-inline-flex align-items-center`},La={key:1,class:`preset-group border border-2 rounded d-flex gap-1 p-1`},Ra=[`popovertarget`],za=[`src`],Ba=[`src`],Va=[`onClick`],Ha={class:`preset-uploader__popover p-2 d-flex gap-2 align-items-start`},Ua=[`popovertarget`],Wa=[`src`],Ga={class:`d-flex flex-column gap-2`},Ka={role:`button`,class:`img-thumbnail text-dark d-flex justify-content-center align-items-center`},qa={role:`button`,class:`img-thumbnail text-dark d-flex justify-content-center align-items-center`},Ja={class:`preset-uploader__popover p-2 d-flex gap-2 align-items-start`},Ya=[`onClick`],Xa={role:`button`,class:`img-thumbnail d-flex justify-content-center align-items-center`},Za={role:`button`,class:`img-thumbnail text-dark d-flex justify-content-center align-items-center`},Qa=(0,t.defineComponent)({__name:`preset-uploader`,props:{modelValue:{type:Array,default:()=>[]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},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(e,{emit:n}){let r=e,i=n;function a(e){return e?.type===`preset`}function o(e){if(e.includes(`data:image`))return e.includes(`data:image/svg`)?`Svg`:`Image`;let t=e.split(`.`).pop()?.split(`?`)[0]?.toLowerCase()??``;return r.mediaTypeMap[t]??``}let s=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}}),c=(0,t.ref)(``);(0,t.watch)(c,async(e,n)=>{if(e&&n!==e){let n={src:e,name:`${r.name}-${r.modelValue.length}`,mediaType:o(e)};r.type&&r.typeOptions.includes(r.type)&&(n.type=r.type),i(`update:modelValue`,[...r.modelValue,n]),await(0,t.nextTick)(),c.value=``}});let l=(0,t.reactive)({}),u=(0,t.reactive)({}),d=(0,t.reactive)({}),f=(0,t.reactive)({}),p=(0,t.reactive)({}),m=(0,t.reactive)({}),h=(0,t.reactive)({});(0,t.watch)(p,e=>{for(let[t,n]of Object.entries(e))if(!n){let e=Number(t);delete l[e],delete u[e]}},{deep:!0}),(0,t.watch)(m,e=>{for(let[t,n]of Object.entries(e))if(!n){let e=Number(t);delete d[e],delete f[e]}},{deep:!0});function g(e,t){t&&(l[e]=t)}function _(e,t){t&&(d[e]=t,m[e]=!0)}function v(e){let t=[...r.modelValue];t.splice(e,1),i(`update:modelValue`,t)}function y(e,t){i(`update:modelValue`,r.modelValue.map((n,r)=>r===e?{...n,type:t}:n))}function x(e,t,n){let a=r.modelValue[e];i(`update:modelValue`,r.modelValue.map((r,i)=>i===e?{...r,items:{...r.items,[t]:{...a.items[t],type:n}}}:r))}function S(e,t){u[e]=t,C(e)}function C(e){let t=r.modelValue[e],n=t.type||r.type||`item`,a=l[e],s=u[e],c={type:`preset`,items:{[n]:{src:t.src,thumbnail:t.src,type:n,mediaType:t.mediaType||o(t.src)},[s]:{src:a,thumbnail:a,type:s,mediaType:o(a)}}};delete l[e],delete u[e],p[e]=!1,i(`update:modelValue`,r.modelValue.map((t,n)=>n===e?c:t))}function w(e,t){f[e]=t,T(e)}function T(e){let t=d[e],n=f[e],a=r.modelValue[e],s={...a,items:{...a.items,[n]:{src:t,thumbnail:t,type:n,mediaType:o(t)}}};delete d[e],delete f[e],m[e]=!1,i(`update:modelValue`,r.modelValue.map((t,n)=>n===e?s:t))}function E(e,t){let n=r.modelValue[e],a=Object.keys(n.items).filter(e=>e!==t);if(a.length<=1){let t=a[0],o=t?n.items[t]:null;if(o){let t={src:o.src,name:`${r.name}-${e}`,type:o.type,mediaType:o.mediaType};i(`update:modelValue`,r.modelValue.map((n,r)=>r===e?t:n))}else v(e)}else{let a={...n.items};delete a[t],i(`update:modelValue`,r.modelValue.map((t,r)=>r===e?{...n,items:a}:t))}}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ta,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,innerHTML:(0,t.unref)(O)(e.label)},null,8,Ea)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Da,[(0,t.createVNode)(vi,{modelValue:s.value,"onUpdate:modelValue":r[2]||=e=>s.value=e,vertical:!1,class:`mb-3`},{"list-item":(0,t.withCtx)(({item:n,index:i})=>[a(n)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,La,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(n.items,(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:r,class:`img-container`,style:(0,t.normalizeStyle)(e.showTypeDropdown?{anchorName:`--${e.name}-si-${i}-${r}`}:{})},[e.showTypeDropdown?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:`img-trigger`,popovertarget:`${e.name}-si-${i}-${r}`},[(0,t.createElementVNode)(`img`,{src:n.thumbnail||n.src,class:`img-thumbnail border-0 p-0`},null,8,za)],8,Ra)):((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:1,src:n.thumbnail||n.src,class:`img-thumbnail border-0 p-0`},null,8,Ba)),(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>E(i,String(r)),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,Va),e.showTypeDropdown?((0,t.openBlock)(),(0,t.createBlock)($,{key:2,id:`${e.name}-si-${i}-${r}`,modelValue:h[`${i}-${r}`],"onUpdate:modelValue":e=>h[`${i}-${r}`]=e,class:`preset-uploader__item-popover`,style:(0,t.normalizeStyle)({positionAnchor:`--${e.name}-si-${i}-${r}`})},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Ha,[(0,t.createElementVNode)(`button`,{class:`img-trigger`,popovertarget:`${e.name}-si-${i}-${r}`,popovertargetaction:`hide`},[(0,t.createElementVNode)(`img`,{src:n.thumbnail||n.src,class:`img-thumbnail`},null,8,Wa)],8,Ua),(0,t.createElementVNode)(`div`,Ga,[(0,t.createVNode)(Y,{name:`${e.name}-si-type-${i}-${r}`,options:e.typeOptions,"model-value":n.type||null,placeholder:`layer type`,"onUpdate:modelValue":e=>x(i,String(r),e)},null,8,[`name`,`options`,`model-value`,`onUpdate:modelValue`])])])]),_:2},1032,[`id`,`modelValue`,`onUpdate:modelValue`,`style`])):(0,t.createCommentVNode)(``,!0)],4))),128)),(0,t.createElementVNode)(`div`,{class:`img-container img-container--add`,style:(0,t.normalizeStyle)({anchorName:`--${e.name}-ap-${i}`})},[e.useImageUpload?((0,t.openBlock)(),(0,t.createBlock)(Q,{key:0,src:``,endpoint:e.endpoint,"custom-fetch":e.customFetch,"to-data-url":!e.endpoint,"auth-token":e.authToken,disabled:e.disabled,"base-response-path":e.baseResponsePath,accept:e.accept,"max-file-size":e.maxFileSize,"max-image-width":e.maxImageWidth,"enable-preview":!1,"aspect-ratio":e.aspectRatio,"onUpdate:src":e=>_(i,e)},{button:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Ka,[(0,t.createVNode)(b,{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`])):((0,t.openBlock)(),(0,t.createBlock)(Z,{key:1,src:``,multiple:!1,endpoint:e.endpoint,"custom-fetch":e.customFetch,"to-data-url":!e.endpoint,"auth-token":e.authToken,disabled:e.disabled,"base-response-path":e.baseResponsePath,accept:e.accept,"max-file-size":e.maxFileSize,"onUpdate:src":e=>_(i,e)},{button:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,qa,[(0,t.createVNode)(b,{symbol:`plus`})])]),_:1},8,[`endpoint`,`custom-fetch`,`to-data-url`,`auth-token`,`disabled`,`base-response-path`,`accept`,`max-file-size`,`onUpdate:src`])),(0,t.createVNode)($,{id:`${e.name}-ap-${i}`,modelValue:m[i],"onUpdate:modelValue":e=>m[i]=e,class:`preset-uploader__anchor-popover`,style:(0,t.normalizeStyle)({positionAnchor:`--${e.name}-ap-${i}`})},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Ja,[(0,t.createVNode)(Y,{class:`mb-0`,name:`${e.name}-add-type-${i}`,options:e.typeOptions,"model-value":f[i]||null,placeholder:`layer type`,"onUpdate:modelValue":e=>w(i,e)},null,8,[`name`,`options`,`model-value`,`onUpdate:modelValue`])])]),_:2},1032,[`id`,`modelValue`,`onUpdate:modelValue`,`style`])],4),(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>v(i),[`prevent`]),class:`btn btn--close btn--close-preset`},[(0,t.createVNode)(b,{symbol:`x`})],8,Ya)])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`img-container`,style:(0,t.normalizeStyle)({anchorName:`--${e.name}-pp-${i}`})},[(0,t.createElementVNode)(`button`,{class:`img-trigger`,popovertarget:`${e.name}-pp-${i}`},[(0,t.createElementVNode)(`img`,{src:n.thumbnail||n.src,class:`img-thumbnail`},null,8,ka)],8,Oa),(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>v(i),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,Aa),(0,t.createVNode)($,{id:`${e.name}-pp-${i}`,modelValue:p[i],"onUpdate:modelValue":e=>p[i]=e,class:`preset-uploader__item-popover`,style:(0,t.normalizeStyle)({positionAnchor:`--${e.name}-pp-${i}`})},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,ja,[(0,t.createElementVNode)(`button`,{class:`img-trigger`,popovertarget:`${e.name}-pp-${i}`,popovertargetaction:`hide`},[(0,t.createElementVNode)(`img`,{src:n.thumbnail||n.src,class:`img-thumbnail`},null,8,Na)],8,Ma),(0,t.createElementVNode)(`div`,Pa,[e.showTypeDropdown?((0,t.openBlock)(),(0,t.createBlock)(Y,{key:0,name:`${e.name}-type-${i}`,options:e.typeOptions,"model-value":n.type||null,placeholder:`item type`,"onUpdate:modelValue":e=>y(i,e)},null,8,[`name`,`options`,`model-value`,`onUpdate:modelValue`])):(0,t.createCommentVNode)(``,!0),l[i]?((0,t.openBlock)(),(0,t.createBlock)(Y,{key:2,name:`${e.name}-promote-type-${i}`,options:e.typeOptions,"model-value":u[i]||null,placeholder:`new layer type`,"onUpdate:modelValue":e=>S(i,e)},null,8,[`name`,`options`,`model-value`,`onUpdate:modelValue`])):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[e.useImageUpload?((0,t.openBlock)(),(0,t.createBlock)(Q,{key:0,src:``,endpoint:e.endpoint,"custom-fetch":e.customFetch,"to-data-url":!e.endpoint,"auth-token":e.authToken,disabled:e.disabled,"base-response-path":e.baseResponsePath,accept:e.accept,"max-file-size":e.maxFileSize,"max-image-width":e.maxImageWidth,"enable-preview":!1,"aspect-ratio":e.aspectRatio,"onUpdate:src":e=>g(i,e)},{button:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Fa,[(0,t.createVNode)(b,{symbol:`plus`}),r[3]||=(0,t.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`])):((0,t.openBlock)(),(0,t.createBlock)(Z,{key:1,src:``,multiple:!1,endpoint:e.endpoint,"custom-fetch":e.customFetch,"to-data-url":!e.endpoint,"auth-token":e.authToken,disabled:e.disabled,"base-response-path":e.baseResponsePath,accept:e.accept,"max-file-size":e.maxFileSize,"onUpdate:src":e=>g(i,e)},{button:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Ia,[(0,t.createVNode)(b,{symbol:`plus`}),r[4]||=(0,t.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":(0,t.withCtx)(()=>[e.useImageUpload?((0,t.openBlock)(),(0,t.createBlock)(Q,{key:0,src:c.value,"onUpdate:src":r[0]||=e=>c.value=e,endpoint:e.endpoint,"custom-fetch":e.customFetch,"to-data-url":!e.endpoint,"auth-token":e.authToken,disabled:e.disabled,"base-response-path":e.baseResponsePath,accept:e.accept,"max-file-size":e.maxFileSize,"max-image-width":e.maxImageWidth,"enable-preview":!1,"aspect-ratio":e.aspectRatio},{button:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Xa,[(0,t.createVNode)(b,{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`])):((0,t.openBlock)(),(0,t.createBlock)(Z,{key:1,src:c.value,"onUpdate:src":r[1]||=e=>c.value=e,multiple:!1,endpoint:e.endpoint,"custom-fetch":e.customFetch,"to-data-url":!e.endpoint,"auth-token":e.authToken,disabled:e.disabled,"base-response-path":e.baseResponsePath,accept:e.accept,"max-file-size":e.maxFileSize},{button:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Za,[(0,t.createVNode)(b,{symbol:`plus`})])]),_:1},8,[`src`,`endpoint`,`custom-fetch`,`to-data-url`,`auth-token`,`disabled`,`base-response-path`,`accept`,`max-file-size`]))]),_:1},8,[`modelValue`])])]))}}),$a=`https://router.project-osrm.org/route/v1`;function eo(){let e=(0,t.ref)([]),n=(0,t.ref)(null),r=(0,t.ref)(null),i=(0,t.ref)([]),o=(0,t.ref)(!1),s=(0,t.ref)(``),c=(0,t.computed)(()=>e.value.length>1);function l(){e.value=[],n.value=null,r.value=null,i.value=[],s.value=``}async function u(t,c,u={}){if(!t||!c)return l(),null;o.value=!0;let d=u.customFetch||a.ofetch,f=(u.endpoint||$a).replace(/\/$/,``),p=u.profile||`driving`;try{let a=(await d(`${f}/${p}/${t.lng},${t.lat};${c.lng},${c.lat}`,{method:`GET`,query:{alternatives:!1,overview:`full`,steps:!0,geometries:`geojson`}}))?.routes?.[0];if(!a)throw Error(`No route available for these points.`);return e.value=Array.isArray(a?.geometry?.coordinates)?a.geometry.coordinates.map(e=>[Number(e[1]),Number(e[0])]).filter(e=>Number.isFinite(e[0])&&Number.isFinite(e[1])):[],n.value=Number.isFinite(a?.distance)?Number(a.distance):null,r.value=Number.isFinite(a?.duration)?Number(a.duration):null,i.value=Array.isArray(a?.legs)?a.legs.flatMap(e=>Array.isArray(e?.steps)?e.steps.map(e=>to(e)):[]):[],s.value=``,a}catch(e){return l(),s.value=e?.message||`Unable to load directions right now.`,null}finally{o.value=!1}}return{routeCoordinates:e,distanceMeters:n,durationSeconds:r,steps:i,pending:o,error:s,hasRoute:c,fetchRoute:u,clearRoute:l}}function to(e){let t=`${e?.maneuver?.type||`continue`}`,n=e?.maneuver?.modifier?` ${e.maneuver.modifier}`:``,r=`${e?.name||``}`;return{instruction:`${no(t)}${n}${r?` on ${r}`:``}`.trim(),name:r,distance:Number.isFinite(e?.distance)?Number(e.distance):0,duration:Number.isFinite(e?.duration)?Number(e.duration):0}}function no(e){return e.charAt(0).toUpperCase()+e.slice(1)}var ro=`https://nominatim.openstreetmap.org/search`,io=`https://nominatim.openstreetmap.org/reverse`;function ao(){let e=(0,t.ref)([]),n=(0,t.ref)(!1),r=(0,t.ref)(``);function i(){e.value=[],r.value=``}async function o(t,o={}){if(!t.trim())return i(),[];n.value=!0;let s=o.customFetch||a.ofetch;try{let n=await s(o.endpoint||ro,{method:`GET`,headers:{Accept:`application/json`,...o.language?{"Accept-Language":o.language}:{}},query:{q:t,format:`jsonv2`,addressdetails:1,limit:o.limit||5}});return e.value=Array.isArray(n)?n.map((e,t)=>oo(e,t,`geocoder`)).filter(e=>!!e):[],r.value=``,e.value}catch(t){return r.value=t?.message||`Unable to search locations right now.`,e.value=[],[]}finally{n.value=!1}}async function s(e,t={}){n.value=!0;let i=t.customFetch||a.ofetch;try{let n=oo(await i(t.reverseEndpoint||io,{method:`GET`,headers:{Accept:`application/json`,...t.language?{"Accept-Language":t.language}:{}},query:{lat:e.lat,lon:e.lng,format:`jsonv2`,addressdetails:1}}),0,`reverse-geocoder`);return r.value=``,n}catch(e){return r.value=e?.message||`Unable to resolve this location right now.`,null}finally{n.value=!1}}return{results:e,pending:n,error:r,search:o,reverse:s,clearResults:i}}function oo(e,t,n){let r=Number(e?.lat),i=Number(e?.lon??e?.lng);if(!Number.isFinite(r)||!Number.isFinite(i))return null;let a=`${e?.display_name||e?.name||`Location`}`,o=`${e?.name||a.split(`,`)[0]||`Location`}`.trim();return{id:`${n===`reverse-geocoder`?`reverse`:`geo`}-${e?.place_id??t}`,title:o,address:a,lat:r,lng:i,source:n,raw:e}}function so(e={}){let n=(0,t.ref)(null),r=(0,t.ref)(``),i=(0,t.ref)(!1),a=(0,t.ref)(!1),o=typeof window<`u`&&typeof navigator<`u`&&`geolocation`in navigator,s={enableHighAccuracy:!0,timeout:1e4,maximumAge:1e4,...e},c=null;function l(e){n.value={lat:Number(e.latitude),lng:Number(e.longitude),accuracy:Number.isFinite(e.accuracy)?Number(e.accuracy):null},i.value=!1,r.value=``}function u(e){r.value=typeof e==`string`?e:e instanceof Error?e.message:e.message||`Unable to retrieve your location.`,i.value=!1}async function d(){return o?(i.value=!0,new Promise(e=>{navigator.geolocation.getCurrentPosition(({coords:t})=>{l(t),e(n.value)},t=>{u(t),e(null)},s)})):(u(`Geolocation is not supported in this browser.`),null)}function f(){if(!o){u(`Geolocation is not supported in this browser.`);return}c===null&&(i.value=!0,a.value=!0,c=navigator.geolocation.watchPosition(({coords:e})=>{l(e)},e=>{u(e),a.value=!1},s))}function p(){if(!o||c===null){a.value=!1,i.value=!1;return}navigator.geolocation.clearWatch(c),c=null,a.value=!1,i.value=!1}return(0,t.onBeforeUnmount)(()=>{p()}),{supported:o,position:(0,t.computed)(()=>n.value),accuracy:(0,t.computed)(()=>n.value?.accuracy??null),error:r,pending:i,isTracking:a,locate:d,startTracking:f,stopTracking:p}}var co={class:`location-finder`,"data-testid":`location-finder`},lo={class:`location-finder__actions`},uo=[`disabled`],fo={key:1,class:`location-finder__notice`,"data-testid":`location-finder-error`},po={class:`location-finder__map-panel`},mo=[`aria-label`],ho={class:`location-finder__legend-item`},go={class:`location-finder__legend-item`},_o={class:`location-finder__legend-item`},vo={class:`location-finder__legend-item`},yo={key:0,class:`location-finder__sidebar`},bo={key:1,class:`location-finder__summary`,"data-testid":`location-finder-directions`},xo={class:`location-finder__summary-title`},So={key:0,class:`location-finder__summary-copy`},Co={class:`location-finder__summary-grid`},wo={class:`location-finder__summary-label`},To={"data-testid":`location-finder-distance`},Eo={class:`location-finder__summary-label`},Do={"data-testid":`location-finder-duration`},Oo={key:0,class:`location-finder__steps`},ko={key:0},Ao={key:2,class:`location-finder__summary-copy`},jo=(0,t.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(e,{emit:n}){let i={lat:48.8566,lng:2.3522},a={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=e,s=n,{t:c,te:l}=(0,r.useI18n)({useScope:`global`}),u=so(),d=ao(),f=eo(),p=(0,t.ref)(``),m=(0,t.ref)(U(V(o.modelValue))),h=(0,t.ref)(U(V(o.modelValue))?null:V(o.modelValue)),g=(0,t.ref)(B(o.modelValue)||B(o.center)||B(o.locations[0])||i),_=(0,t.ref)(!1),v=(0,t.computed)(()=>B(o.userLocation)),y=(0,t.computed)(()=>u.position.value||v.value),b=(0,t.computed)(()=>B(h.value)),x=(0,t.computed)(()=>B(m.value)),S=(0,t.computed)(()=>y.value||b.value),C=(0,t.computed)(()=>!S.value||!x.value?null:se(S.value,x.value)),w=(0,t.computed)(()=>B(o.modelValue)||b.value||x.value),T=(0,t.computed)(()=>u.error.value||d.error.value||f.error.value||``),E=(0,t.computed)(()=>o.showSearch||o.trackUser&&o.showTrackButton),D=(0,t.computed)(()=>o.enableDirections&&o.showDirectionsSummary),O=(0,t.computed)(()=>o.showSidebar||D.value),k=(0,t.computed)(()=>ce(f.distanceMeters.value)),A=(0,t.computed)(()=>le(f.durationSeconds.value)),j=(0,t.computed)(()=>({searchLabel:z(`searchLabel`,o.searchLabel),searchPlaceholder:z(`searchPlaceholder`,o.searchPlaceholder),resultsLabel:z(`resultsLabel`,o.resultsLabel),emptyText:z(`emptyText`,o.emptyText),locateButtonLabel:z(`locateButtonLabel`,o.locateButtonLabel),stopTrackingLabel:z(`stopTrackingLabel`,o.stopTrackingLabel),mapHelperText:z(`mapHelperText`,o.mapHelperText),directionsTitle:z(`directionsTitle`,o.directionsTitle),directionsEmptyText:z(`directionsEmptyText`,o.directionsEmptyText),distanceLabel:z(`distanceLabel`,o.distanceLabel),durationLabel:z(`durationLabel`,o.durationLabel),loadingRoute:z(`loadingRoute`),legendAriaLabel:z(`legendAriaLabel`),legendLocations:z(`legendLocations`),legendSelected:z(`legendSelected`),legendSearchResult:z(`legendSearchResult`),userLocationLabel:z(`userLocationLabel`),pinnedLocationTitle:z(`pinnedLocationTitle`),selectedLocationLabel:z(`selectedLocationLabel`)})),M=(0,t.computed)(()=>h.value?W(h.value):j.value.selectedLocationLabel),N=(0,t.computed)(()=>u.isTracking.value&&_.value?j.value.stopTrackingLabel:j.value.locateButtonLabel);(0,t.watch)(()=>o.modelValue,e=>{let t=V(e),n=U(t);n?(m.value=n,h.value=null):t&&(h.value=t);let r=B(e);r&&(g.value=r)},{immediate:!0}),(0,t.watch)(()=>o.center,e=>{let t=B(e);t&&(g.value=t)},{deep:!0}),(0,t.watch)(y,e=>{e&&_.value&&(g.value=e)},{deep:!0}),(0,t.watch)(C,e=>{s(`update:distance`,e)},{immediate:!0}),(0,t.watch)(p,async e=>{if(s(`search`,e),!o.enableGeocoding){d.clearResults();return}let t=e.trim();if(t.length<o.geocodingMinQueryLength){d.clearResults();return}await d.search(t,{endpoint:o.geocodingEndpoint,customFetch:o.customGeocodingFetch,limit:o.geocodingLimit})}),(0,t.watch)(()=>({enabled:o.enableDirections,origin:y.value,destination:w.value,profile:o.routeProfile}),async({enabled:e,origin:t,destination:n,profile:r})=>{if(!e||!t||!n||G(t,n)){f.clearRoute();return}await f.fetchRoute(t,n,{endpoint:o.directionsEndpoint,profile:r,customFetch:o.customDirectionsFetch})},{immediate:!0,deep:!0}),(0,t.onMounted)(async()=>{o.autoLocate&&o.trackUser&&await he()});let P=(0,t.computed)(()=>{let e=re(p.value).trim();return e?o.locations.filter(t=>[W(t),ie(t)].filter(Boolean).some(t=>re(t).includes(e))):o.locations}),F=(0,t.computed)(()=>d.results.value.map(e=>({id:e.id,title:e.title,address:e.address,lat:e.lat,lng:e.lng,source:e.source}))),I=(0,t.computed)(()=>{if(!p.value.trim())return o.locations;let e=P.value;return e.length?e:o.locations}),L=(0,t.computed)(()=>I.value),R=(0,t.computed)(()=>oe(I.value,o.enableGeocoding?F.value:[])),ee=(0,t.computed)(()=>Array.from(new Set(R.value.map(e=>ae(e))))),te=(0,t.computed)(()=>L.value.map(e=>{let t=B(e);return t?{id:H(e),label:W(e),...t,type:x.value&&G(t,x.value)?`selected`:`list`}:null}).filter(e=>!!e)),ne=(0,t.computed)(()=>_.value&&y.value?y.value:g.value||w.value||y.value||B(L.value[0])||i);function z(e,t){let n=o.messages?.[e];if(typeof n==`string`&&n.trim())return n;if(typeof t==`string`&&t.trim())return t;let r=`locationFinder.${String(e)}`;return l(r)?String(c(r)):a[e]}function B(e){if(!e)return null;let t=Number(e.lat),n=Number(e.lng);return!Number.isFinite(t)||!Number.isFinite(n)?null:{lat:t,lng:n}}function V(e){if(!e)return null;let t=B(e);return t?{...e,...t}:null}function H(e){return e?typeof e==`object`?e.id??e.value??ae(e):e:null}function U(e){return e&&o.locations.find(t=>H(t)===H(e)||G(B(t),B(e)))||null}function re(e){return`${e??``}`.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).toLowerCase()}function W(e){return`${e.title||e.label||e.name||`Location`}`}function ie(e){return`${e.address||e.description||e.subtitle||``}`}function ae(e){let t=W(e),n=ie(e);return n?`${t} — ${n}`:t}function oe(e,t){let n=[...e];return t.forEach(e=>{n.some(t=>H(t)===H(e)||G(B(t),B(e)))||n.push(e)}),n}function G(e,t){return!e||!t?!1:Math.abs(e.lat-t.lat)<1e-6&&Math.abs(e.lng-t.lng)<1e-6}function se(e,t){let n=e=>Math.PI/180*e,r=n(t.lat-e.lat),i=n(t.lng-e.lng),a=n(e.lat),o=n(t.lat),s=Math.sin(r/2)**2+Math.cos(a)*Math.cos(o)*Math.sin(i/2)**2,c=2*Math.atan2(Math.sqrt(s),Math.sqrt(1-s));return Math.round(6371e3*c)}function ce(e){return e===null||!Number.isFinite(e)?`—`:e>=1e3?`${(e/1e3).toFixed(1)} km`:`${Math.round(e)} m`}function le(e){if(e===null||!Number.isFinite(e))return`—`;let t=Math.max(1,Math.round(e/60));if(t<60)return`${t} min`;let n=Math.floor(t/60),r=t%60;return r?`${n} h ${r} min`:`${n} h`}function K(e){let t=V(e),n=U(t);if(_.value=!1,!t){s(`update:modelValue`,null);return}m.value=n||t;let r=B(t);r&&(g.value=r),s(`update:modelValue`,t),s(`select`,t)}function q(e){let t=V(e),n=U(t);if(_.value=!1,!t){s(`update:modelValue`,null);return}n?(m.value=n,h.value=null):h.value=t;let r=B(t);r&&(g.value=r),s(`update:modelValue`,t),s(`select`,t)}function ue(e){let t=R.value.find(t=>ae(t)===e||W(t)===e);if(t){if(U(t)){K(t),h.value=null;return}q(t)}}function de(e){K(e)}function fe(e){if(e.id===`user-location`&&y.value){g.value=y.value,_.value=!0,s(`track-user`,y.value);return}let t=L.value.find(t=>H(t)===e.id)||L.value.find(t=>{let n=B(t);return n&&Math.abs(n.lat-e.lat)<1e-6&&Math.abs(n.lng-e.lng)<1e-6});if(t){K(t);return}h.value&&(H(h.value)===e.id||G(B(h.value),{lat:e.lat,lng:e.lng}))&&q(h.value)}async function pe(e){if(g.value=e,_.value=!1,!o.interactive)return;let t=L.value.find(t=>{let n=B(t);return n&&Math.abs(n.lat-e.lat)<1e-6&&Math.abs(n.lng-e.lng)<1e-6});if(t){K(t);return}q(await me(e,j.value.pinnedLocationTitle))}async function me(e,t){if(!o.enableGeocoding)return{id:`pin-${e.lat}-${e.lng}`,title:t,lat:e.lat,lng:e.lng};let n=await d.reverse(e,{reverseEndpoint:o.reverseGeocodingEndpoint,customFetch:o.customGeocodingFetch});return n?{id:n.id,title:n.title||t,address:n.address,lat:n.lat,lng:n.lng,source:n.source}:{id:`pin-${e.lat}-${e.lng}`,title:t,lat:e.lat,lng:e.lng}}async function he(){if(u.isTracking.value&&_.value){u.stopTracking(),_.value=!1;return}if(y.value){g.value=y.value,_.value=!0,s(`track-user`,y.value),!u.isTracking.value&&!v.value&&u.startTracking();return}let e=await u.locate();e&&(g.value=e,_.value=!0,s(`track-user`,e),u.startTracking())}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,co,[E.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`location-finder__toolbar`,{"location-finder__toolbar--actions-only":!o.showSearch}])},[o.showSearch?((0,t.openBlock)(),(0,t.createBlock)(Xt,{key:0,modelValue:p.value,"onUpdate:modelValue":r[0]||=e=>p.value=e,class:`location-finder__search`,label:j.value.searchLabel,placeholder:j.value.searchPlaceholder,options:ee.value,disabled:e.disabled,"onUpdate:selection":ue},null,8,[`modelValue`,`label`,`placeholder`,`options`,`disabled`])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,lo,[e.trackUser&&o.showTrackButton?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,class:`btn btn-outline-primary btn-sm location-finder__locate`,disabled:e.disabled||(0,t.unref)(u).pending.value,"data-testid":`location-finder-locate`,onClick:he},(0,t.toDisplayString)(N.value),9,uo)):(0,t.createCommentVNode)(``,!0)])],2)):(0,t.createCommentVNode)(``,!0),T.value?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,fo,(0,t.toDisplayString)(T.value),1)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`location-finder__layout`,{"location-finder__layout--with-summary":D.value,"location-finder__layout--full-width":!O.value}])},[(0,t.createElementVNode)(`div`,po,[(0,t.createVNode)(_r,{class:`location-finder__map`,center:ne.value,markers:te.value,"model-value":b.value,"user-location":y.value,"user-location-label":j.value.userLocationLabel,"selected-location-label":M.value,"route-coordinates":(0,t.unref)(f).routeCoordinates.value,"route-color":e.routeColor,"route-weight":e.routeWeight,"selection-radius":e.selectionRadius,"selection-radius-center":w.value,"selection-radius-color":e.selectionRadiusColor,"selection-radius-fill-color":e.selectionRadiusFillColor,"map-style":e.mapStyle,"tile-layer-url":e.tileLayerUrl,"tile-layer-attribution":e.tileLayerAttribution,height:e.mapHeight,interactive:e.interactive,disabled:e.disabled,"helper-text":j.value.mapHelperText,"onUpdate:modelValue":pe,onMarkerClick:fe},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?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`location-finder__legend`,"data-testid":`location-finder-legend`,"aria-label":j.value.legendAriaLabel},[(0,t.createElementVNode)(`span`,ho,[r[2]||=(0,t.createElementVNode)(`span`,{class:`location-finder__legend-swatch location-finder__legend-swatch--list`},null,-1),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(j.value.legendLocations),1)]),(0,t.createElementVNode)(`span`,go,[r[3]||=(0,t.createElementVNode)(`span`,{class:`location-finder__legend-swatch location-finder__legend-swatch--selected`},null,-1),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(j.value.legendSelected),1)]),(0,t.createElementVNode)(`span`,_o,[r[4]||=(0,t.createElementVNode)(`span`,{class:`location-finder__legend-swatch location-finder__legend-swatch--search`},null,-1),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(j.value.legendSearchResult),1)]),(0,t.createElementVNode)(`span`,vo,[r[5]||=(0,t.createElementVNode)(`span`,{class:`location-finder__legend-swatch location-finder__legend-swatch--user`},null,-1),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(j.value.userLocationLabel),1)])],8,mo)):(0,t.createCommentVNode)(``,!0)]),O.value?((0,t.openBlock)(),(0,t.createElementBlock)(`aside`,yo,[o.showSidebar?((0,t.openBlock)(),(0,t.createBlock)(Er,{key:0,modelValue:m.value,"onUpdate:modelValue":r[1]||=e=>m.value=e,class:`location-finder__results`,locations:L.value,label:j.value.resultsLabel,"empty-text":j.value.emptyText,onSelect:de},null,8,[`modelValue`,`locations`,`label`,`empty-text`])):(0,t.createCommentVNode)(``,!0),D.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,bo,[(0,t.createElementVNode)(`p`,xo,(0,t.toDisplayString)(j.value.directionsTitle),1),(0,t.unref)(f).pending.value?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,So,(0,t.toDisplayString)(j.value.loadingRoute),1)):(0,t.unref)(f).hasRoute.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`div`,Co,[(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`p`,wo,(0,t.toDisplayString)(j.value.distanceLabel),1),(0,t.createElementVNode)(`strong`,To,(0,t.toDisplayString)(k.value),1)]),(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`p`,Eo,(0,t.toDisplayString)(j.value.durationLabel),1),(0,t.createElementVNode)(`strong`,Do,(0,t.toDisplayString)(A.value),1)])]),e.showDirectionsSteps&&(0,t.unref)(f).steps.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`ol`,Oo,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(f).steps.value.slice(0,5),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:`${e.instruction}-${n}`},[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.instruction),1),e.name?((0,t.openBlock)(),(0,t.createElementBlock)(`small`,ko,(0,t.toDisplayString)(e.name),1)):(0,t.createCommentVNode)(``,!0)]))),128))])):(0,t.createCommentVNode)(``,!0)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Ao,(0,t.toDisplayString)(j.value.directionsEmptyText),1))])):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)],2)]))}}),Mo={class:`carousel d-flex`},No=[`title`],Po=[`onClick`],Fo=[`title`],Io=(0,t.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(e,{emit:n}){let r=n,i=(0,t.ref)(),a=(0,t.ref)();function o(){i.value.scrollTo({top:0,left:i.value.scrollLeft-i.value.clientWidth>0?i.value.scrollLeft-i.value.clientWidth:0,behavior:`smooth`})}function s(){i.value.scrollTo({top:0,left:i.value.scrollLeft-i.value.clientWidth<=a.value.clientWidth?i.value.scrollLeft+i.value.clientWidth:a.value.clientWidth,behavior:`smooth`})}function c(e){r(`update:modelValue`,e)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Mo,[e.navigation?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:`carousel__control btn btn-link text-light`,type:`button`,onClick:(0,t.withModifiers)(o,[`prevent`,`stop`]),title:n.$t(`common.backward`)},[(0,t.createVNode)(b,{symbol:`chevron-left`})],8,No)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{ref_key:`viewport`,ref:i,class:`carousel__viewport flex-grow-1`},[(0,t.createElementVNode)(`div`,{ref_key:`track`,ref:a,class:`carousel__track d-flex justify-center align-items-center`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.items,(r,i)=>(0,t.renderSlot)(n.$slots,`carousel-item`,{item:r,index:i},()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`carousel__item`,i===e.modelValue?`selected`:``]),onClick:e=>c(i)},(0,t.toDisplayString)(r),11,Po)],void 0,r.src)),128))],512)],512),e.navigation?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,class:`carousel__control btn btn-link text-light`,type:`button`,onClick:(0,t.withModifiers)(s,[`prevent`,`stop`]),title:n.$t(`common.forward`)},[(0,t.createVNode)(b,{symbol:`chevron-right`})],8,Fo)):(0,t.createCommentVNode)(``,!0)]))}}),Lo={class:`media-thumbnails`},Ro=[`onClick`,`title`],zo={key:0,class:`img-container`},Bo={key:0,class:`media-thumbnails__count-badge`},Vo={key:2,class:`img-container`},Ho=(0,t.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(e,{emit:n}){let r=n,i=(0,t.ref)(-1);function a(e){i.value=e,r(`update:modelValue`,e),r(`select`,e)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Lo,[(0,t.createVNode)(Io,{items:e.assets},{"carousel-item":(0,t.withCtx)(r=>[(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`carousel__item media-thumbnails__thumbnail`,r.index===e.modelValue||r.index===i.value?`is-active`:``]),onClick:e=>a(r.index),title:`${n.$t(`thumbnails.thumbnail`)} ${r.index+1}`},[r.item.type===`preset`&&r.item.thumbnail?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,zo,[(0,t.createVNode)(w,{src:r.item.thumbnail,class:`img-fluid`},null,8,[`src`])])):r.item.type===`preset`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:(0,t.normalizeClass)([`img-container img-container--multi`,{"img-container--stacked":e.stacked}])},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(r.item.items,(e,n)=>((0,t.openBlock)(),(0,t.createBlock)(w,{key:n,src:e.thumbnail||e.src,class:`img-fluid`},null,8,[`src`]))),128)),e.showCount&&Object.keys(r.item.items||{}).length?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Bo,(0,t.toDisplayString)(Object.keys(r.item.items||{}).length),1)):(0,t.createCommentVNode)(``,!0)],2)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Vo,[(0,t.createVNode)(w,{src:r.item.thumbnail||r.item.src,class:`img-fluid`},null,8,[`src`])]))],10,Ro)]),_:1},8,[`items`])]))}}),Uo={class:`progress-steps`},Wo={class:`progress-steps__list`},Go={class:`progress-step`},Ko=[`checked`,`id`,`value`,`disabled`,`read-only`,`required`,`onChange`],qo=[`for`],Jo=[`innerHTML`],Yo=[`for`],Xo=[`innerHTML`],Zo=(0,t.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(e,{emit:n}){let r=e,i=n;function a(e){i(`update:modelValue`,e),e>=r.progress&&i(`update:progress`,e)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Uo,[(0,t.createElementVNode)(`ul`,Wo,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.steps,(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:i,class:(0,t.normalizeClass)([`progress-steps__step`,{"progress-steps__step--disabled":i>e.progress+ +!!e.reveal,"progress-steps__step--active":i===(e.modelValue||0)}])},[(0,t.renderSlot)(n.$slots,`step`,{},()=>[(0,t.createElementVNode)(`div`,Go,[(0,t.createElementVNode)(`input`,{type:`radio`,checked:i<=(e.progress||0),id:`step-${i}`,name:`step`,class:`form-check-input`,value:r.value,disabled:r.disabled||i>e.progress+ +!!e.reveal,"read-only":r.readOnly,required:r.required,onChange:e=>a(i)},null,40,Ko),(0,t.createElementVNode)(`label`,{for:`step-${i}`},[(0,t.renderSlot)(n.$slots,`button`,{step:r},()=>[(0,t.createElementVNode)(`span`,{class:`btn rounded-circle`,innerHTML:(0,t.unref)(O)(r.text||``)},null,8,Jo)])],8,qo),(0,t.createElementVNode)(`label`,{for:`step-${i}`},[(0,t.renderSlot)(n.$slots,`label`,{step:r},()=>[(0,t.createElementVNode)(`span`,{class:`form-check-label`,innerHTML:(0,t.unref)(O)(r.label||``)},null,8,Xo)])],8,Yo)])])],2))),128))])]))}}),Qo={class:`hint-system`},$o=[`innerHTML`],es=[`innerHTML`],ts={key:1,class:`hint-system__hint-content`},ns=[`disabled`],rs=(0,t.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(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(r.modelValue);(0,t.watch)(()=>r.modelValue,e=>{a.value=e});let o=(0,t.computed)(()=>r.maxHints===void 0?r.hints.length:r.maxHints),s=(0,t.computed)(()=>a.value<o.value),c=(0,t.computed)(()=>r.hints.slice(0,a.value));function l(){if(!s.value)return;let e=a.value;a.value++,i(`update:modelValue`,a.value),i(`hint-revealed`,{hint:r.hints[e],index:e,penaltyTotal:a.value*r.penalty})}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Qo,[e.description?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,innerHTML:(0,t.unref)(O)(e.description),class:`hint-system__description`},null,8,$o)):(0,t.createCommentVNode)(``,!0),c.value.length?((0,t.openBlock)(),(0,t.createBlock)(t.TransitionGroup,{key:1,name:`hint-reveal`,tag:`ol`,class:`hint-system__list`},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(c.value,(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:i,class:`hint-system__hint`},[(0,t.renderSlot)(n.$slots,`hint`,{hint:r,index:i,isNew:i===a.value-1},()=>[e.htmlContent?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`hint-system__hint-content`,innerHTML:(0,t.unref)(O)(r.content||``)},null,8,es)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ts,(0,t.toDisplayString)(r.content),1))])]))),128))]),_:3})):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(n.$slots,`trigger`,{revealNext:l,canReveal:s.value,revealedCount:a.value,total:o.value},()=>[(0,t.createElementVNode)(`button`,{type:`button`,class:`hint-system__trigger d-block w-100 text-center`,disabled:!s.value,onClick:l},(0,t.toDisplayString)(e.label),9,ns)])]))}}),is={class:`popover-tooltip`},as=[`popovertarget`,`disabled`,`aria-describedby`,`aria-label`],os={class:`popover-tooltip__content d-flex flex-column`},ss={key:0,class:`popover-tooltip__header d-flex p-3 border-bottom`},cs=[`innerHTML`],ls={class:`popover-tooltip__body`},us=[`innerHTML`],ds={key:1,class:`popover-tooltip__footer d-flex p-3 border-top`},fs=(0,t.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(e,{emit:n}){let r=e,i=n,a=D(()=>r.title),o=D(()=>r.content),s=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}}),c=(0,t.ref)(),l=(0,t.ref)();return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,is,[(0,t.createElementVNode)(`button`,{type:`button`,popovertarget:e.id,disabled:e.disabled,"aria-describedby":e.id,"aria-label":e.ariaLabel||n.$te(`common.moreInfo`)?n.$t(`common.moreInfo`):void 0,ref_key:`trigger`,ref:c},[(0,t.renderSlot)(n.$slots,`button`,{},()=>[r[3]||=(0,t.createElementVNode)(`span`,{class:`popover-tooltip__trigger`},` i `,-1)])],8,as),(0,t.createVNode)($,{id:e.id,modelValue:s.value,"onUpdate:modelValue":r[2]||=e=>s.value=e,hover:e.hover,"hover-delay":e.hoverDelay,ref_key:`dialog`,ref:l,role:`tooltip`,class:(0,t.normalizeClass)(e.size?`popover-tooltip--${e.size}`:``)},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,os,[e.header?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ss,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`h5`,{key:0,class:`popover-tooltip__title`,innerHTML:(0,t.unref)(a)},null,8,cs)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn-close ms-auto border-radius-none`,"aria-label":`Close`,onClick:r[0]||=e=>s.value=!1})])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,ls,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createElementVNode)(`span`,{innerHTML:(0,t.unref)(o)},null,8,us)])]),e.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ds,[(0,t.renderSlot)(n.$slots,`footer`),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn ms-auto`,onClick:r[1]||=e=>s.value=!1},(0,t.toDisplayString)(n.$t(`common.close`)),1)])):(0,t.createCommentVNode)(``,!0)])]),_:3},8,[`id`,`modelValue`,`hover`,`hover-delay`,`class`])]))}}),ps={class:`popover-notification__header d-flex justify-content-between mb-2`},ms={class:`popover-notification__title`},hs=[`onClick`],gs=[`innerHTML`],_s=240,vs=(0,t.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(e,{expose:n}){let r=e,i=(0,t.ref)([]),a=(0,t.ref)([]),o=(0,t.ref)(null),s=new Map,c=(0,t.computed)(()=>i.value.map(e=>({...e,content:O(e.content||``)}))),l=(0,t.ref)(!1),u=(0,t.computed)(()=>l.value?[...c.value].reverse():c.value);function d(e,t){t===!1&&m(e)}function f(e){let t=s.get(e);t&&(clearTimeout(t),s.delete(e))}function p(e){let t=e.closeTimeout??r.closeTimeout;f(e.id),t&&s.set(e.id,window.setTimeout(()=>{f(e.id),m(e)},t))}function m(e){e.visible===!1&&s.has(e.id)||(f(e.id),e.visible=!1,s.set(e.id,window.setTimeout(()=>{i.value=i.value.filter(t=>t.id!==e.id),s.delete(e.id),i.value.length===0&&(l.value=!1)},_s)))}function h(e){if(r.collapsible&&i.value.length>=r.collapseItems){let e=i.value.shift();e&&f(e.id)}r.collapsible&&i.value.length+1>=r.collapseItems&&(l.value=!0),i.value.forEach(e=>{e.stackIndex=(e.stackIndex??0)+1});let t={...e,closeTimeout:e.closeTimeout??r.closeTimeout,visible:!0,stackIndex:0};i.value.push(t),p(t)}(0,t.watch)(()=>r.items,(e,t)=>{let n=e.filter(e=>!t.some(t=>t.id===e.id));n.length&&(a.value=[...a.value,...n],g())});function g(){o.value!==null||!a.value.length||(o.value=window.setTimeout(()=>{o.value=null;let e=a.value.shift();e&&h(e),a.value.length>0&&g()},i.value.length?r.debounceItem:0))}function _(e){a.value.push(e),g()}return(0,t.onMounted)(()=>{a.value=[...r.items],r.collapsible&&a.value.length>=r.collapseItems&&(l.value=!0),g()}),(0,t.onBeforeUnmount)(()=>{o.value!==null&&clearTimeout(o.value);for(let e of s.values())clearTimeout(e);s.clear()}),n({addItem:_}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`popover-notifications`,{"popover-notifications--stacked":l.value}])},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(u.value,(n,r)=>((0,t.openBlock)(),(0,t.createBlock)($,{key:n.id,id:n.id,"close-timeout":0,type:`manual`,class:`popover-notification`,modelValue:n.visible,"onUpdate:modelValue":[e=>n.visible=e,e=>d(n,e)],style:(0,t.normalizeStyle)({"--stack-index":n.stackIndex??r})},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`item`,{item:n,removeItem:d},()=>[(0,t.createElementVNode)(`div`,ps,[(0,t.createElementVNode)(`span`,ms,(0,t.toDisplayString)(n.title),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-close p-0`,onClick:(0,t.withModifiers)(e=>d(n,!1),[`stop`]),"aria-label":`Close notification`},null,8,hs)]),(0,t.createElementVNode)(`span`,{innerHTML:n.content},null,8,gs)])]),_:2},1032,[`id`,`modelValue`,`onUpdate:modelValue`,`style`]))),128))],2))}}),ys=(0,t.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(e,{emit:n}){let{debounce:r}=o.default,i=e,a=n,c=(0,t.ref)(),l=(0,t.ref)(``),u=(0,t.ref)(),d=(0,t.ref)(!0);async function f(){if(!c.value||!d.value)return``;let e=c.value;if(!e.isConnected)return``;try{i.emitPending&&a(`update:pending`,!0);let t=e.firstElementChild;if(!t)return``;let n=await(0,s.default)(t,{backgroundColor:`rgba(0, 0, 0, 0)`,scale:1,...i.options});if(!d.value||!c.value||!e.isConnected)return``;let r=n.toDataURL();if(a(`update:modelValue`,r),i.emitPending&&a(`update:pending`,!1),i.debug){let e=new Image;e.src=r,document.body.appendChild(e)}return r}catch(e){return d.value&&i.emitPending&&a(`update:pending`,!1),console.warn(`dom-renderer: Render failed`,e),``}}let p=r(async()=>{l.value=await f()},300,{trailing:!0,leading:!1});return(0,t.onMounted)(()=>{let e=c.value;i.renderUpdates&&(u.value=new MutationObserver(async t=>{!d.value||!e.isConnected||(i.emitPending&&a(`update:pending`,!0),p())}),u.value.observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),setTimeout(()=>{i.emitPending&&a(`update:pending`,!0),p()},500)}),(0,t.onBeforeUnmount)(()=>{d.value=!1,u.value&&u.value.disconnect(),p.cancel()}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`dom-renderer`,{"off-screen":!e.debug}]),ref_key:`renderer`,ref:c,style:(0,t.normalizeStyle)(e.fixedWidth>0?{width:`${e.fixedWidth}px`}:{})},[(0,t.renderSlot)(n.$slots,`default`)],6))}}),bs={class:`qr-code`},xs=[`innerHTML`],Ss=(0,t.defineComponent)({__name:`qr-code`,props:{data:null,image:null,download:{type:Boolean,default:!1},filename:{type:String,default:`qr-code`}},emits:[`update:dataUrl`],setup(e,{expose:n,emit:r}){let i=e,a=(0,t.ref)(),o=(0,t.computed)(()=>({width:300,height:300,type:`canvas`,data:i.data,...i.image?{image:i.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 s(e=null,t=null){typeof window<`u`&&(a.value&&(a.value.innerHTML=``),new c.default(e||o.value).append(a.value))}function l(){new c.default({...o.value,width:1200,height:1200}).download({name:i.filename,extension:`png`})}return(0,t.watch)(()=>o.value,s,{deep:!0,immediate:!0}),(0,t.onMounted)(()=>{typeof window<`u`&&s()}),n({download:l}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,bs,[i.download?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:`btn btn-outline-contrast mb-3`,onClick:l,innerHTML:e.$t(`qrlink.download`)},null,8,xs)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,ref_key:`canvas`,ref:a},null,512))]))}}),Cs={class:`link-sharing`},ws={key:0,class:`link-sharing__links container`},Ts={class:`row`},Es={key:0,class:`col-12 col-md-6`},Ds=[`href`],Os={class:`caption`},ks={key:1,class:`col-12 col-md-6`},As=[`href`],js={class:`caption`},Ms={key:2,class:`col-12 col-md-6`},Ns={class:`caption`},Ps={key:3,class:`col-12 col-md-6`},Fs=[`href`],Is={class:`caption`},Ls={key:4,class:`col-12 col-md-6`},Rs=[`href`],zs={class:`caption`},Bs={key:5,class:`col-12 col-md-6`},Vs={class:`caption`},Hs={key:6,class:`col-12 col-md-6`},Us=[`href`],Ws={class:`caption`},Gs={key:7,class:`col-12 col-md-6`},Ks={class:`caption`},qs={key:1,class:`link-sharing__instructions pt-5`},Js={class:`row`},Ys={class:`col-12 text-center py-0`},Xs={class:`mb-5`},Zs=e=>e.replace(/<(?:.|\n)*?>/gm,``),Qs=(0,t.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,os:!0}}},setup(e){let n=e,r=(0,t.ref)(!1),i=(0,t.computed)(()=>encodeURIComponent(n.url));(0,t.computed)(()=>encodeURIComponent(n.media));let a=(0,t.computed)(()=>Zs(n.text)),o=(0,t.computed)(()=>!!(navigator&&navigator.userAgent&&/Mobi|Android/i.test(navigator.userAgent))),s=(0,t.computed)(()=>!!(navigator&&navigator.canShare));async function c(){let e=document.createElement(`textarea`);document.body.appendChild(e),e.value=n.url,e.select(),e.setSelectionRange(0,99999),navigator.clipboard.writeText(e.value),document.body.removeChild(e)}async function l(){if(s.value){let e={title:n.subject,text:a.value,url:n.url};await navigator.canShare(e)&&await navigator.share(e).catch(e=>{console.log(`shareError`,e)})}}return(n,u)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Cs,[r.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,qs,[(0,t.createElementVNode)(`div`,Js,[(0,t.createElementVNode)(`div`,Ys,[(0,t.createElementVNode)(`div`,Xs,[(0,t.createElementVNode)(`p`,null,(0,t.toDisplayString)(n.$t(`sharing.instructions`,{service:`Instagram`})),1),(0,t.createElementVNode)(`p`,null,[(0,t.createElementVNode)(`strong`,null,(0,t.toDisplayString)(Array.isArray(e.hashtags)?e.hashtags.join(`, `):e.hashtags),1)]),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-text`,onClick:u[1]||=(0,t.withModifiers)(e=>r.value=!r.value,[`prevent`])},[(0,t.createVNode)(b,{symbol:`arrow-left`}),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(n.$t(`common.back`)),1)])])])])])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ws,[(0,t.createElementVNode)(`div`,Ts,[e.services.facebook?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Es,[(0,t.createElementVNode)(`a`,{class:`link-sharing__link btn btn-primary`,href:`https://www.facebook.com/sharer/sharer.php?u=${i.value}`,target:`_blank`,rel:`noopener`},[(0,t.createVNode)(b,{symbol:`facebook`}),(0,t.createElementVNode)(`span`,Os,(0,t.toDisplayString)(n.$t(`sharing.facebook`)),1)],8,Ds)])):(0,t.createCommentVNode)(``,!0),e.services.bluesky?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ks,[(0,t.createElementVNode)(`a`,{class:`link-sharing__link btn btn-primary`,href:`https://bsky.app/intent/compose?text=${a.value}${a.value?`%20`:``}${e.url}`,target:`_blank`,rel:`noopener`},[(0,t.createVNode)(b,{symbol:`bluesky-logo`}),(0,t.createElementVNode)(`span`,js,(0,t.toDisplayString)(n.$t(`sharing.bluesky`)),1)],8,As)])):(0,t.createCommentVNode)(``,!0),e.services.instagram?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ms,[(0,t.createElementVNode)(`button`,{type:`button`,class:`link-sharing__link btn btn-primary`,onClick:u[0]||=(0,t.withModifiers)(e=>r.value=!r.value,[`prevent`])},[(0,t.createVNode)(b,{symbol:`instagram`}),(0,t.createElementVNode)(`span`,Ns,(0,t.toDisplayString)(n.$t(`sharing.instagram`)),1)])])):(0,t.createCommentVNode)(``,!0),e.services.linkedin?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ps,[(0,t.createElementVNode)(`a`,{class:`link-sharing__link btn btn-primary`,href:`https://www.linkedin.com/shareArticle?mini=true&url=${i.value}&title=${e.subject}`,target:`_blank`,rel:`noopener`},[(0,t.createVNode)(b,{symbol:`linkedin`}),(0,t.createElementVNode)(`span`,Is,(0,t.toDisplayString)(n.$t(`sharing.linkedin`)),1)],8,Fs)])):(0,t.createCommentVNode)(``,!0),e.services.whatsapp&&o.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ls,[(0,t.createElementVNode)(`a`,{class:`link-sharing__link btn btn-primary`,href:`whatsapp://send?text=${i.value}`,target:`_blank`,rel:`noopener`},[(0,t.createVNode)(b,{symbol:`whatsapp`}),(0,t.createElementVNode)(`span`,zs,(0,t.toDisplayString)(n.$t(`sharing.whatsapp`)),1)],8,Rs)])):(0,t.createCommentVNode)(``,!0),e.services.clipboard?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Bs,[(0,t.createElementVNode)(`button`,{type:`button`,class:`link-sharing__link btn btn-primary`,onClick:(0,t.withModifiers)(c,[`prevent`,`stop`])},[(0,t.createVNode)(b,{symbol:`copy`}),(0,t.createElementVNode)(`span`,Vs,(0,t.toDisplayString)(n.$t(`sharing.clipboard`)),1)])])):(0,t.createCommentVNode)(``,!0),e.services.mailto?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Hs,[(0,t.createElementVNode)(`a`,{class:`link-sharing__link btn btn-primary`,href:`mailto:?subject=${e.subject}&body=${a.value}%0D%0A${e.url}`,target:`_blank`,rel:`noopener`},[(0,t.createVNode)(b,{symbol:`mail`}),(0,t.createElementVNode)(`span`,Ws,(0,t.toDisplayString)(n.$t(`sharing.mailto`)),1)],8,Us)])):(0,t.createCommentVNode)(``,!0),e.services.os&&s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Gs,[(0,t.createElementVNode)(`button`,{type:`button`,class:`link-sharing__link btn btn-primary`,onClick:(0,t.withModifiers)(l,[`prevent`])},[(0,t.createVNode)(b,{symbol:`share`}),(0,t.createElementVNode)(`span`,Ks,(0,t.toDisplayString)(n.$t(`sharing.os`)),1)])])):(0,t.createCommentVNode)(``,!0)])]))]))}}),$s={class:`base-form`},ec=(0,t.defineComponent)({__name:`base-form`,props:{id:{},name:{},variant:{},disabled:{type:Boolean},pending:{type:Boolean}},setup(e){function n(e){console.log(`input`,e)}function r(e){console.log(`reset`,e)}function i(e){console.log(`submit`,e)}return(e,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$s,[(0,t.createElementVNode)(`form`,{ref:`form`,onInput:n,onReset:r,onSubmit:(0,t.withModifiers)(i,[`prevent`])},[(0,t.renderSlot)(e.$slots,`default`)],544)]))}}),tc={class:`touch-wrapper__controls`},nc={class:`btn-group`,role:`group`},rc=(0,t.defineComponent)({__name:`touch-wrapper`,props:{modelValue:{type:Number,default:1}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)();function o(e){let t=r.modelValue+e;i(`update:modelValue`,e===0?1:t>=1?t:1)}function s(e){e.ctrlKey&&(e.preventDefault(),o(0-e.deltaY*.01))}function c(e){e.preventDefault();let{scale:t}=e;o(t>1?t*.01:0-t)}return(0,t.onMounted)(()=>{a.value&&(a.value.addEventListener(`wheel`,s,!1),a.value.addEventListener(`gesturestart`,c,!1),a.value.addEventListener(`gesturechange`,c,!1),a.value.addEventListener(`gestureend`,c,!1))}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`touchElement`,ref:a,class:`touch-wrapper`},[(0,t.renderSlot)(e.$slots,`controls`,{on:{setScale:o}},()=>[(0,t.createElementVNode)(`div`,tc,[(0,t.createElementVNode)(`div`,nc,[(0,t.createElementVNode)(`button`,{type:`button`,class:`btn`,onClick:n[0]||=e=>o(-1)},[(0,t.createVNode)(b,{symbol:`minus`})]),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn`,onClick:n[1]||=e=>o(0)},[(0,t.createVNode)(b,{symbol:`maximize`})]),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn`,onClick:n[2]||=e=>o(1)},[(0,t.createVNode)(b,{symbol:`plus`})])])])]),(0,t.renderSlot)(e.$slots,`default`)],512))}}),ic=null;async function ac(){if(typeof window>`u`)return null;if(ic)return ic;let e=await import(`canvas-confetti`);return ic=e.default||e,ic}var oc={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:sc(55,125),spread:sc(50,70),particleCount:sc(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 sc(e,t){return Math.random()*(t-e)+e}var cc=(0,t.defineComponent)({__name:`canvas-confetti`,props:{preset:{type:String,default:`default`},items:{default:()=>[{}]},colors:{type:Array,default:()=>[]},loop:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.ref)(null),i=(0,t.computed)(()=>({...oc[n.preset],items:oc[n.preset].items.map((e,t)=>({...e,...n.items[t],...n.colors.length?{colors:n.colors}:{}}))}));async function a(e){return new Promise(t=>{(typeof window<`u`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):e=>setTimeout(e,16))(()=>r.value?.confetti?.(JSON.parse(JSON.stringify(e)))),setTimeout(()=>t(),0)})}async function o(){await Promise.all(i.value.items.map(e=>new Promise(t=>setTimeout(()=>{t(a(e))},e.timeout||0)))),n.loop&&o()}return(0,t.onMounted)(async()=>{if(typeof window<`u`&&r.value){let e=await ac();if(!e)return;r.value.confetti=r.value?.confetti||e.create(r.value,{resize:!0}),o()}}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`canvas`,{class:`canvas-confetti`,ref_key:`canvas`,ref:r},null,512))}}),lc=[`popovertarget`],uc=[`src`,`alt`],dc=(0,t.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(e){let n=e,r=(0,t.ref)(null),i=(0,t.ref)(null),a=(0,t.ref)(null),o=(0,t.ref)(!1),s=(0,t.ref)(!1),c=(0,t.ref)(!1),l=(0,t.ref)(!1),u=(0,t.ref)(null),d=(0,t.ref)(0),f=(0,t.ref)(0),p=(0,t.ref)(0),m=(0,t.ref)(0),h=(0,t.computed)(()=>Number.isFinite(n.focusWidth)&&n.focusWidth>0&&Number.isFinite(n.focusHeight)&&n.focusHeight>0&&p.value>0&&m.value>0&&n.focusWidth<=p.value&&n.focusHeight<=m.value),g=(0,t.computed)(()=>p.value>0&&m.value>0&&!h.value),_=(0,t.computed)(()=>c.value&&!s.value&&p.value>0&&m.value>0),v=(0,t.computed)(()=>g.value?{width:`${p.value}px`,height:`${m.value}px`,left:`0px`,top:`0px`}:{width:`${n.focusWidth}px`,height:`${n.focusHeight}px`,left:`${d.value}px`,top:`${f.value}px`}),y=(0,t.computed)(()=>{let e=p.value*n.zoom,t=m.value*n.zoom;return{width:`${e}px`,height:`${t}px`,transform:h.value&&!s.value?`translate(${-d.value*n.zoom}px, ${-f.value*n.zoom}px)`:`none`,transformOrigin:`top left`}});function b(){if(!i.value)return;let e=i.value.getBoundingClientRect();p.value=e.width,m.value=e.height}function x(){u.value&&=(clearTimeout(u.value),null)}function S(){x(),o.value=!0}function C(){x(),u.value=setTimeout(()=>{!c.value&&!l.value&&!s.value&&(o.value=!1),u.value=null},n.hoverDelay||100)}function T(e,t){if(!i.value)return;if(g.value){d.value=0,f.value=0;return}let r=i.value.getBoundingClientRect(),a=e-r.left,o=t-r.top,s=Math.min(Math.max(a-n.focusWidth/2,0),Math.max(r.width-n.focusWidth,0)),c=Math.min(Math.max(o-n.focusHeight/2,0),Math.max(r.height-n.focusHeight,0));d.value=s,f.value=c}function E(){if(!a.value||!s.value||g.value)return;let e=a.value.getBoundingClientRect(),t=Math.max(0,d.value*n.zoom-e.width/2+n.focusWidth*n.zoom/2),r=Math.max(0,f.value*n.zoom-e.height/2+n.focusHeight*n.zoom/2);a.value.scrollTo({left:t,top:r})}function D(e){b(),T(e.clientX,e.clientY)}function O(e){c.value=!0,b(),T(e.clientX,e.clientY),s.value||S()}function k(){c.value=!1,s.value||C()}function A(e){s.value&&(o.value=!0,b(),T(e.clientX,e.clientY))}function j(){s.value&&(0,t.nextTick)(E)}function M(){l.value=!0,S()}function N(){l.value=!1,C()}function P(e){s.value&&(o.value=!o.value,e instanceof MouseEvent&&T(e.clientX,e.clientY))}return(0,t.onMounted)(()=>{s.value=`ontouchstart`in window||navigator.maxTouchPoints>0,b()}),(0,t.watch)(o,async e=>{e&&s.value&&(await(0,t.nextTick)(),E())}),(n,s)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:`image-zoom`,popovertarget:e.popoverId,ref_key:`wrapper`,ref:r},[(0,t.createElementVNode)(`div`,{class:`image-zoom__target`,ref_key:`target`,ref:i,onPointermove:D,onPointerenter:O,onPointerleave:k,onPointerdown:A,onPointerup:j,onPointercancel:k,onClick:(0,t.withModifiers)(P,[`prevent`])},[(0,t.renderSlot)(n.$slots,`image`,{src:e.src,alt:e.alt,spinner:e.spinner,animate:!1},()=>[(0,t.createVNode)(w,{class:`image-zoom__image`,src:e.src,alt:e.alt,spinner:e.spinner,animate:!1},null,8,[`src`,`alt`,`spinner`])]),_.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:`image-zoom__focus`,style:(0,t.normalizeStyle)(v.value)},null,4)):(0,t.createCommentVNode)(``,!0)],544),(0,t.createVNode)($,{id:e.popoverId,modelValue:o.value,"onUpdate:modelValue":s[0]||=e=>o.value=e,hover:!1,"hover-delay":e.hoverDelay,"close-timeout":e.closeTimeout,class:(0,t.normalizeClass)([`image-zoom__popover`,{"image-zoom__popover--full":g.value}]),role:`tooltip`,onMouseenter:M,onMouseleave:N},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`image-zoom__preview-wrapper`,{"image-zoom__preview-wrapper--full":g.value}])},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`image-zoom__preview`,{"image-zoom__preview--full":g.value}]),ref_key:`preview`,ref:a},[(0,t.createElementVNode)(`img`,{class:(0,t.normalizeClass)([`image-zoom__preview-image`,{"image-zoom__preview-image--full":g.value}]),src:e.src,alt:e.alt,style:(0,t.normalizeStyle)(y.value),draggable:`false`},null,14,uc)],2)],2)]),_:1},8,[`id`,`modelValue`,`hover-delay`,`close-timeout`,`class`])],8,lc))}});function fc(e){let n=(0,t.computed)(()=>{if(!e.tintColor)return null;let t=e.tintColor.replace(`#`,``);return{r:parseInt(t.substring(0,2),16),g:parseInt(t.substring(2,4),16),b:parseInt(t.substring(4,6),16)}});function r(t,r,i){if(e.filter===`none`&&!e.tintColor)return;let a=t.getImageData(0,0,r,i),o=a.data;if(e.filter===`grayscale`)for(let e=0;e<o.length;e+=4){let t=.299*o[e]+.587*o[e+1]+.114*o[e+2];o[e]=t,o[e+1]=t,o[e+2]=t}else if(e.filter===`sepia`)for(let e=0;e<o.length;e+=4){let t=o[e],n=o[e+1],r=o[e+2];o[e]=Math.min(255,.393*t+.769*n+.189*r),o[e+1]=Math.min(255,.349*t+.686*n+.168*r),o[e+2]=Math.min(255,.272*t+.534*n+.131*r)}if(e.tintColor&&n.value){let{r:t,g:r,b:i}=n.value,a=e.tintIntensity;for(let e=0;e<o.length;e+=4){let n=o[e],s=o[e+1],c=o[e+2],l=n*t/255,u=s*r/255,d=c*i/255;o[e]=n+(l-n)*a,o[e+1]=s+(u-s)*a,o[e+2]=c+(d-c)*a}}t.putImageData(a,0,0)}async function i(e){if(typeof e!=`string`)return e.complete&&e.naturalWidth>0||await new Promise((t,n)=>{e.onload=()=>t(),e.onerror=()=>n(Error(`Failed to load image element`))}),e;let t=new Image;return await new Promise((n,r)=>{t.onload=()=>n(),t.onerror=()=>r(Error(`Failed to load image source`)),t.src=e}),t}async function a(e,t={}){let n=await i(e),a=document.createElement(`canvas`),o=t.width||n.naturalWidth||n.width,s=t.height||n.naturalHeight||n.height;a.width=o,a.height=s;let c=a.getContext(`2d`);if(!c)throw Error(`Could not create canvas context`);return c.drawImage(n,0,0,o,s),r(c,o,s),a.toDataURL(t.mimeType||`image/png`,t.quality)}async function o(e,t={}){let n=await a(e,t);return(await fetch(n)).blob()}return{tintRgb:n,applyFilterToCanvas:r,applyFilterToImage:a,applyFilterToImageBlob:o}}e.Accordion=ae,e.AccordionItem=H,e.AssetUploader=Ca,e.AutoSuggest=Xt,e.BaseButton=G,e.BaseCamera=pr,e.BaseCarousel=Io,e.BaseForm=ec,e.BaseHeadline=E,e.BaseImage=w,e.BaseInput=q,e.BaseMap=_r,e.BaseParagraph=A,e.BulkUpload=fi,e.CanvasConfetti=cc,e.CheckGroup=Ve,e.ColorPalette=Nt,e.CustomHtml=at,e.DomRenderer=ys,e.FileUpload=Z,e.HintSystem=rs,e.ImageCrop=zi,e.ImageCropResize=Qi,e.ImageResize=Mi,e.ImageUpload=Q,e.ImageZoom=dc,e.InputCheckbox=_e,e.InputColor=At,e.InputDatepicker=Me,e.InputDatetime=xe,e.InputDropdown=Y,e.InputFile=nt,e.InputPasscode=Le,e.InputPassword=Pe,e.InputTextarea=pe,e.LinkSharing=Qs,e.LoadingSpinner=S,e.LocationFinder=jo,e.LocationList=Er,e.MediaThumbnails=Ho,e.ModalDialog=ia,e.PopoverDialog=$,e.PopoverNotifications=vs,e.PopoverTooltip=fs,e.PresetUploader=Qa,e.ProgressSteps=Zo,e.QrCode=Ss,e.RadioButtons=Je,e.RadioGroup=J,e.RteEditor=Et,e.SelectMedia=ct,e.SortableList=vi,e.SvgIcon=b,e.TouchWrapper=rc,e.UploadGroup=ba,e.useCameraFilter=fc,e.useDirections=eo,e.useGeocoding=ao,e.useGeolocation=so});