ablok-components 0.3.143 → 0.3.145

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=[`value`,`id`,`name`,`required`,`disabled`,`true-value`,`false-value`],he=[`for`,`innerHTML`],ge=(0,t.defineComponent)({__name:`input-checkbox`,props:{id:{type:String},name:{type:String},label:{type:String},className:{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`,{class:(0,t.normalizeClass)([`form-check input input--checkbox`,e.className])},[(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,me),[[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,he)],2))}}),_e={class:`input-group input__input-group`},ve=[`id`,`name`,`placeholder`,`pattern`,`disabled`,`read-only`,`required`,`aria-label`],ye=[`for`,`innerHTML`],be=(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`,_e,[(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,ve),[[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,ye)):(0,t.createCommentVNode)(``,!0)])],2))}}),xe={class:`row`},Se={class:`col-12`},Ce=[`for`,`innerHTML`],we={key:0,class:`input--datepicker__inputs`},Te={class:`input-group justify-content-center`},Ee={key:0,class:`row input--datepicker__tracks`},De={class:`col-12 col-md-6 input--datepicker__track`},Oe={class:`col-12 col-md-6 input--datepicker__track`},ke={key:1,class:`row input--datepicker__calendar`},Ae={class:`col-12`},je=(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`,{"input--datepicker--inline":e.inline,"input--datepicker--range":e.range}])},[(0,t.renderSlot)(n.$slots,`label`,{},()=>[(0,t.createElementVNode)(`div`,xe,[(0,t.createElementVNode)(`div`,Se,[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,Ce)):(0,t.createCommentVNode)(``,!0)])])]),e.textInput?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,we,[(0,t.createElementVNode)(`div`,Te,[(0,t.renderSlot)(n.$slots,`input-prepend`,{slotScope:`props`}),e.range&&!e.textRange?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ee,[(0,t.createElementVNode)(`div`,De,[((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`,Oe,[((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`,class:(0,t.normalizeClass)({"input--datepicker__combined-range":e.range&&e.textRange}),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":!e.textRange,"week-start":p.value},null,8,[`uid`,`class`,`modelValue`,`locale`,`range`,`text-input`,`disabled`,`read-only`,`required`,`auto-apply`,`week-start`])),(0,t.renderSlot)(n.$slots,`input-append`,{slotScope:`props`})])])):(0,t.createCommentVNode)(``,!0),e.inline?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ke,[(0,t.createElementVNode)(`div`,Ae,[((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)],2))}}),Me={class:`input-group input__input-group`},Ne=(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`,Me,[(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`])])]))}}),Pe={class:`input-group input__input-group`},Fe=[`onUpdate:modelValue`,`disabled`,`readonly`,`onPaste`,`onInput`,`onKeydown`],Ie=(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`,Pe,[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,Fe)),[[t.vModelText,i.value[a]]])),128)):((0,t.openBlock)(),(0,t.createBlock)(Ne,{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`]))])]))}}),Le={class:`check-group`},Re=[`id`,`name`,`value`,`disabled`,`read-only`,`required`],ze=[`for`,`innerHTML`],Be=(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`,Le,[((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,Re),[[t.vModelCheckbox,a.value]]),(0,t.createElementVNode)(`label`,{class:`form-check-label`,for:`${e.id}-${i}`,innerHTML:n.text},null,8,ze)]))),128))]))}}),Ve={class:`input radio-group`},He=[`id`,`name`,`value`,`checked`,`disabled`,`read-only`,`required`,`onChange`],Ue=[`for`,`innerHTML`],We=[`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`,Ve,[((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,He),(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,Ue)])],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,We)):(0,t.createCommentVNode)(``,!0)])]))}}),Ge={class:`radio-buttons`},Ke=[`for`],qe=(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`,Ge,[(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,Ke)]),_:1},8,[`modelValue`,`options`,`name`,`id`,`disabled`,`required`])]))}}),Je=[`id`,`name`,`multiple`,`accept`,`disabled`],Ye={class:`input__input-group input-group`},Xe=[`value`,`id`,`name`,`disabled`],Ze=[`for`,`disabled`],Qe={class:`btn btn-outline-contrast`},$e=[`for`],et=[`innerHTML`],tt=(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,Je),(0,t.createElementVNode)(`div`,Ye,[(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,Xe),(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`,Qe,(0,t.toDisplayString)(n.$t(`common.selectFile`)),1)])],8,Ze)])]),(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,et)])],8,$e)]))}}),nt={key:0,class:`custom-html`},rt=[`innerHTML`],it=(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`,nt,[(0,t.renderSlot)(r.$slots,`default`,{},()=>[(0,t.createElementVNode)(`div`,{class:`custom-html__content`,innerHTML:e.content},null,8,rt)])])):(0,t.createCommentVNode)(``,!0)}}),at={class:`select-media`},ot=[`for`],st=(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`,at,[(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,ot)]),_:1},8,[`modelValue`,`options`,`name`,`id`,`disabled`,`required`])]))}}),ct={key:0,class:`rte-editor__controls mb-2`},lt=[`disabled`],ut=[`disabled`],dt={class:`btn-group`},ft=[`disabled`],pt=[`disabled`],mt={class:`btn-group`},ht={class:`dropdown`},gt={class:`btn dropdown-toggle btn-light`,"data-bs-toggle":`dropdown`,role:`button`,type:`button`},_t={class:`dropdown-menu`},vt={class:`dropdown`},yt={class:`btn dropdown-toggle btn-light`,"data-bs-toggle":`dropdown`,role:`button`,type:`button`},bt={class:`dropdown-menu`},xt={class:`btn-group`},St=[`disabled`],Ct=[`disabled`],wt=[`title`],Tt=(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`,ct,[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,ut)):((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,lt)),(0,t.createElementVNode)(`div`,dt,[(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,ft),(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,pt)]),(0,t.createElementVNode)(`div`,mt,[(0,t.createElementVNode)(`div`,ht,[(0,t.createElementVNode)(`button`,gt,[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`,_t,[(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`,vt,[(0,t.createElementVNode)(`button`,yt,[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`,bt,[(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`,xt,[(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,St),(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,Ct)]),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,wt)):(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`]))}}),Et={class:`input-color`},Dt={class:`input-color__color-swatch`},Ot=[`name`,`id`,`disabled`,`read-only`,`required`,`aria-label`],kt=(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`,Et,[(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`,Dt,[(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,Ot),[[t.vModelText,a.value]])])]),_:1},8,[`modelValue`,`type`,`id`,`name`,`placeholder`,`pattern`,`label`,`disabled`,`read-only`,`required`,`maxlength`])]))}}),At=[`id`],jt=[`for`,`innerHTML`],Mt={class:`dropdown`},Nt=[`title`],Pt={class:`input-gradient__toggle-icon position-absolute end-0 height-100 d-flex justify-content-center align-items-center bg-white bg-opacity-50 input-gradient__toggle-icon`},Ft={class:`dropdown-menu input-gradient__menu`},It={class:`dropdown-item input-gradient__stop d-flex align-items-center`},Lt=[`onUpdate:modelValue`,`name`,`id`,`aria-label`,`disabled`],Rt={class:`dropdown-item input-gradient__footer`},zt=[`name`,`id`,`disabled`],Bt=`plus`,Vt=(0,t.defineComponent)({__name:`input-gradient`,props:{modelValue:{type:Object,default:()=>({type:`linear`,angle:180,stops:[{color:`#ff0000ff`,pct:0},{color:`#ff000080`,pct:100}]})},lockFirstStop:{type:Boolean,default:!1},maxStops:{type:Number,default:10},name:{type:String,default:()=>`gradient-${j()}`},id:{type:String,default:()=>j()},label:{type:String,default:``},variant:{type:String,default:``},color:{type:String,default:``},outlined:{type:Boolean,default:!1},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)(()=>r.modelValue?.stops??[]),o=(0,t.computed)({get(){return r.modelValue?.angle??180},set(e){l({angle:f(Number(e)||0,0,360)})}}),s=(0,t.computed)(()=>{let e=a.value;if(!e.length)return`transparent`;let t=e.length>1?o.value:180,n=e.slice().sort((e,t)=>e.pct-t.pct).map(e=>`${e.color} ${f(e.pct,0,100)}%`);return`linear-gradient(${t}deg, ${e.length>1?n.join(`, `):n.join(`, `)||`transparent, transparent`})`});function c(e){return r.lockFirstStop&&e===0}function l(e={}){i(`update:modelValue`,{...r.modelValue,...e,stops:(e.stops??a.value).map(e=>({...e}))})}function u(){if(a.value.length>=r.maxStops)return;let e=a.value.map(e=>({...e})),t=e[e.length-1],n=t?f(t.pct+10,0,100):100;e.push({color:`#000000ff`,pct:n}),l({stops:e})}function d(e){c(e)||a.value.length<2||l({stops:a.value.filter((t,n)=>n!==e).map(e=>({...e}))})}function f(e,t,n){return Math.min(n,Math.max(t,e))}return(n,r)=>{let i=(0,t.resolveComponent)(`svg-icon`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`input-gradient`,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,jt)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,Mt,[(0,t.createVNode)(G,{id:`${e.id||e.name}--dropdown-toggle`,"data-bs-toggle":`dropdown`,"data-bs-auto-close":`outside`,role:`button`,type:`button`,class:(0,t.normalizeClass)([`btn input-gradient__toggle`,{[`btn-${e.variant}`]:e.variant}]),color:e.color,disabled:e.disabled,"aria-label":e.label||`Gradient`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,{class:`input-gradient__preview`,style:(0,t.normalizeStyle)({background:s.value}),title:s.value},null,12,Nt),(0,t.createElementVNode)(`span`,Pt,[(0,t.createVNode)(i,{symbol:`chevron-down`})])]),_:1},8,[`id`,`class`,`color`,`disabled`,`aria-label`]),(0,t.createElementVNode)(`ul`,Ft,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a.value,(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:`${e.name}-stop-${r}`},[(0,t.createElementVNode)(`div`,It,[(0,t.createVNode)(kt,{modelValue:n.color,"onUpdate:modelValue":e=>n.color=e,name:`${e.name}-stop-${r}-color`,id:`${e.name}-stop-${r}-color`,disabled:e.disabled||c(r),class:`input-gradient__stop-color`},null,8,[`modelValue`,`onUpdate:modelValue`,`name`,`id`,`disabled`]),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":e=>n.pct=e,type:`number`,min:`0`,max:`100`,name:`${e.name}-stop-${r}-pct`,id:`${e.name}-stop-${r}-pct`,"aria-label":`Stop ${r+1} position`,disabled:e.disabled||c(r),class:`form-control input-gradient__stop-pct`},null,8,Lt),[[t.vModelText,n.pct,void 0,{number:!0}]]),(0,t.createVNode)(G,{type:`button`,icon:`x`,color:`light`,disabled:e.disabled||c(r)||a.value.length<2,"aria-label":`Remove stop ${r+1}`,title:`Remove stop ${r+1}`,class:`input-gradient__stop-remove btn btn-sm rounded-circle`,onClick:e=>d(r)},null,8,[`disabled`,`aria-label`,`title`,`onClick`])])]))),128)),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`div`,Rt,[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[0]||=e=>o.value=e,type:`number`,min:`0`,max:`360`,name:`${e.name}-angle`,id:`${e.name}-angle`,"aria-label":`Gradient angle`,disabled:e.disabled||a.value.length<2,class:`form-control input-gradient__angle`},null,8,zt),[[t.vModelText,o.value,void 0,{number:!0}]]),(0,t.createVNode)(G,{type:`button`,size:`small`,color:`light`,icon:Bt,disabled:e.disabled||a.value.length>=e.maxStops,"aria-label":`Add color stop`,title:`Add color stop`,class:`input-gradient__add btn btn-sm rounded-circle`,onClick:u},null,8,[`disabled`])])])])])],8,At)}}}),Ht={class:`color-palette`},Ut=[`for`],Wt=(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`,Ht,[(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,Ut)]),_:1},8,[`modelValue`,`options`,`name`,`id`,`label`,`disabled`,`required`])]))}}),Gt=[`id`],Kt=[`for`,`innerHTML`],qt={class:`dropdown`},Jt={class:`caption`},Yt=[`innerHTML`],Xt={class:`caption__text`},Zt={class:`d-block text-truncate`},Qt={class:`dropdown-menu`},$t={class:`form-check d-flex`},en=[`value`,`id`,`name`,`label`,`required`,`disabled`],tn=[`value`,`id`,`name`,`label`,`required`,`disabled`],nn=[`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,Kt)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,qt,[(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`,Jt,[(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,Yt)):(0,t.createCommentVNode)(``,!0)]),_:1}),(0,t.createElementVNode)(`span`,Xt,[(0,t.createElementVNode)(`span`,Zt,(0,t.toDisplayString)(e.toggleCaption||l.value),1)])])]),_:1},8,[`id`,`title`,`class`,`color`,`outlined`,`disabled`]),(0,t.createElementVNode)(`ul`,Qt,[((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`,$t,[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,en)),[[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,tn)),[[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,nn)])],2)]))),128))])])],8,Gt))}}),rn={key:0,class:`auto-suggest__suggestions position-relative`},an={class:`suggestions dropdown-menu show w-100 mt-2`},on=[`onClick`],sn=[`innerHTML`],cn=(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`,rn,[(0,t.createElementVNode)(`ul`,an,[((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,sn)],8,on))),128))])])):(0,t.createCommentVNode)(``,!0)],512))}});function ln(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 un(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 dn(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=`filter`in a;a.save(),t.mirror&&(a.translate(t.width,0),a.scale(-1,1)),o&&t.filter&&t.filter!==`none`&&(a.filter=fn(t.filter));let s=ln(n,r,t.width,t.height);a.drawImage(e,s.sx,s.sy,s.sw,s.sh,0,0,t.width,t.height),a.restore(),!o&&t.filter&&t.filter!==`none`&&pn(a,t.filter);let c=t.tintColor?un(t.tintColor,t.tintIntensity??0):null;return c&&c.opacity>0&&(a.save(),a.globalAlpha=c.opacity,a.fillStyle=c.color,a.fillRect(0,0,t.width,t.height),a.restore()),i}function fn(e){switch(e){case`grayscale`:return`grayscale(1)`;case`sepia`:return`sepia(1)`;default:return`none`}}function pn(e,t){if(t===`none`)return;let{width:n,height:r}=e.canvas,i=e.getImageData(0,0,n,r);mn(i.data,t),e.putImageData(i,0,0)}function mn(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 hn(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 gn(e){let{deviceId:t,facing:n,resolution:r}=e,i=r?_n(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 _n(e){return{width:{ideal:e.width},height:{ideal:e.height}}}function vn(e){return e&&typeof e==`object`&&`name`in e&&typeof e.name==`string`?e.name:``}function yn(e){let t=vn(e);return t===`NotAllowedError`||t===`PermissionDeniedError`||t===`SecurityError`||t===`NotFoundError`}function bn(e){let t=vn(e);return t===`NotReadableError`||t===`AbortError`||t===`TrackStartError`}function xn(e){switch(vn(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 Sn=/\b(front|face|user|selfie|facetime)\b/i,Cn=/\b(back|rear|environment|main|world)\b/i;function wn(e){return e?Sn.test(e)?`user`:Cn.test(e)?`environment`:null:null}function Tn(e){return e===`user`||e===`environment`?e:e===`front`?`user`:e===`back`||e===`rear`?`environment`:null}function En(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||Dn(i,t)>Dn(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 Dn(e,t){let n=0;return e.deviceId===t&&(n+=2),e.probed&&(n+=1),n}function On(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}function kn(){return typeof navigator>`u`?null:{userAgent:navigator.userAgent??``,platform:navigator.platform??``,maxTouchPoints:navigator.maxTouchPoints??0}}function An(e=kn()){return e?/iPhone|iPad|iPod/i.test(e.userAgent)?!0:e.platform===`MacIntel`&&e.maxTouchPoints>1:!1}function jn(e=kn()){return!!e&&/Android/i.test(e.userAgent)}var Mn=()=>An(),Nn=()=>jn();function Pn(e){return typeof e.requestVideoFrameCallback==`function`}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}},Fn=1500,In=2,Ln=300,Rn=[300,1e3,3e3],zn=5e3,Bn=800,Vn=500,Hn={width:{ideal:160},height:{ideal:120}},Un=()=>void 0,Wn=e=>new Promise(t=>setTimeout(t,e)),Gn=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=gn({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,yn(t))break;if(bn(t)){if(await Wn(Ln),n!==this.seq)return!1;try{s=await navigator.mediaDevices.getUserMedia(e.constraints);break}catch(e){if(c=e,yn(e))break}}}}if(n!==this.seq)return s?.getTracks().forEach(e=>e.stop()),!1;if(!s){let e=xn(c);return e===`not-allowed`&&(this.permission=`denied`),this.fail(new X(e,Kn(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=Tn(u.facingMode)??f??wn(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=On(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(Un);let r=!1,i=setTimeout(()=>{if(!r&&(o(),this.stream===n&&this.state===`live`)){if(e<In){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`))}},Fn),a=()=>{r||(r=!0,o())},o=()=>{clearTimeout(i),t.removeEventListener(`loadeddata`,a),t.removeEventListener(`playing`,a),this.watchdogCleanup=null};this.watchdogCleanup=o,Pn(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(Bn)};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(Un)}scheduleRecovery(){if(this.disposed||this.intent!==`live`||this.recoveryTimer)return;if(this.recoveryAttempts>=Rn.length){this.fail(new X(`not-readable`,`Camera stopped and could not be re-acquired`));return}let e=Rn[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},zn)}onDeviceChange=()=>{this.deviceChangeTimer&&clearTimeout(this.deviceChangeTimer),this.deviceChangeTimer=setTimeout(()=>{this.deviceChangeTimer=null,this.refreshDevices()},Vn)};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=Nn()&&!Mn()&&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??wn(e.label),probed:n})}let a=r?En(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},...Hn}});let n=t.getVideoTracks()[0];return Tn(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 Kn(e){return e instanceof Error?e.message||e.name:`Camera could not be started`}function qn(e={}){let{videoRef:n,...r}=e,i=new Gn(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:Gn.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 Jn=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:fn(r.filter)})),c=(0,t.computed)(()=>{let e=un(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`]]),Yn={class:`zoom-slider`},Xn=[`min`,`max`,`step`,`value`],Zn={class:`zoom-slider__ticks`},Qn=(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`,Yn,[(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,Xn),(0,t.createElementVNode)(`div`,Zn,[((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))])]))}}),$n=`data:image/png;base64,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`,er={class:`base-camera position-relative w-100 user-select-none`,"data-bs-theme":`dark`},tr=[`src`],nr={class:`position-absolute top-0 start-0 end-0 d-flex align-items-start p-2 gap-2 base-camera__top-bar`},rr={class:`base-camera__select-col`},ir={key:1},ar={class:`d-flex align-items-center ms-auto gap-2`},or=[`aria-label`],sr=[`disabled`],cr={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`},lr={key:0,class:`spinner-border text-light`,role:`status`},ur={key:1,class:`alert alert-danger py-2 px-3 mb-0 small`},dr={class:`mb-2`},fr={class:`position-absolute bottom-0 start-0 end-0 p-3 d-flex flex-column gap-2 align-items-center`},pr={key:0,class:`d-flex align-items-center justify-content-center gap-4 w-100`},mr=[`disabled`,`aria-label`],hr={key:0,viewBox:`0 0 24 24`,width:`22`,height:`22`,fill:`currentColor`,"aria-hidden":`true`},gr={key:1,viewBox:`0 0 24 24`,width:`22`,height:`22`,fill:`currentColor`,"aria-hidden":`true`},_r=[`disabled`],vr={key:2,class:`base-camera__countdown-overlay`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`},yr=[`data-countdown`],br={key:0,class:`base-camera__zoom`},xr=200,Sr=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:$n},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=qn({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(xr)):S.value&&(r=await l.setExposureLocked(!0));let o=I();if(await o.peak,j||!m.value)return null;let s=dn(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 hn(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`,er,[(0,t.createVNode)(Jn,{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,tr)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,nr,[(0,t.createElementVNode)(`div`,rr,[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`,ir))]),(0,t.createElementVNode)(`div`,ar,[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,or)):(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,sr)):(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`,cr,[(0,t.unref)(l).isStarting.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,lr,[...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`,ur,[(0,t.createElementVNode)(`div`,dr,(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`,fr,[e.enableControls?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,pr,[(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`,hr,[...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`,gr,[...r[11]||=[(0,t.createElementVNode)(`path`,{d:`M8 5v14l11-7z`},null,-1)]]))],8,mr),(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,_r),(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`,vr,[((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{key:g.value,class:`base-camera__countdown`,"data-countdown":g.value},(0,t.toDisplayString)(g.value),9,yr))])):(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`,br,[(0,t.createVNode)(Qn,{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`]]),Cr={class:`base-map`},wr={key:0,class:`base-map__label`},Tr={key:0,class:`base-map__hint`},Er=(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`,Cr,[(0,t.renderSlot)(n.$slots,`label`,{},()=>[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,wr,(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`,Tr,(0,t.toDisplayString)(e.helperText),1)):(0,t.createCommentVNode)(``,!0)]))}}),Dr={class:`location-list`,"data-testid":`location-list`},Or={key:0,class:`location-list__label`},kr={key:1,class:`location-list__items`},Ar=[`data-testid`,`onClick`],jr={class:`location-list__title`},Mr={key:0,class:`location-list__description`},Nr={key:1,class:`location-list__distance`},Pr={key:2,class:`location-list__empty`},Fr=(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`,Dr,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Or,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0),e.locations.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,kr,[((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`,jr,(0,t.toDisplayString)(a(n)),1),o(n)?((0,t.openBlock)(),(0,t.createElementBlock)(`small`,Mr,(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`,Nr,(0,t.toDisplayString)(u(Number(n.distance)))+` away `,1)):(0,t.createCommentVNode)(``,!0)],10,Ar))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Pr,(0,t.toDisplayString)(e.emptyText),1))]))}});function Ir(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 Lr(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 Rr(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 zr=[`src`],Br=[`onClick`],Vr=[`onClick`],Hr=[`for`],Ur=[`innerHTML`],Wr={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}=Lr(r),{toLocalUrl:u,revoke:d}=Rr((0,t.toRef)(r,`localUrlFormat`)),{isDragging:f}=Ir(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,zr),(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>m(i),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,Br)],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,Vr))])],2))),128)),(0,t.createVNode)(tt,{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,Ur)]),(0,t.createVNode)(t.Transition,{name:`fade`},{default:(0,t.withCtx)(()=>[(0,t.unref)(c)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Wr,[...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,Hr)])],2))}}),Gr={class:`container-fluid`},Kr={class:`row`},qr={key:0,class:`col-12`},Jr={class:`py-4 px-3 d-flex align-items-center border border-bottom-0`},Yr=[`innerHTML`],Xr={class:`col-12`},Zr={key:0,class:`grid place-items-center text-center text-muted py-5 border border-bottom-0`},Qr={class:`m-0`},$r={class:`preview-item border-bottom p-3`},ei={class:`d-flex gap-3`},ti={class:`col-2`},ni={class:`col d-flex flex-column`},ri={class:`file-meta text-muted small mb-2`},ii={class:`fw-semibold`},ai={key:0},oi={key:1},si=[`onUpdate:modelValue`,`id`],ci=[`innerHTML`],li={key:2,class:`upload-progress mt-3 mb-0`},ui=[`value`],di={class:`col-auto d-flex flex-column gap-2`},fi=[`onClick`],pi=[`onClick`],mi={class:`d-flex justify-content-between align-items-center`},hi={class:`file-upload__info p-3`},gi={key:0,class:`text-muted small`},_i={class:`file-upload__label`},vi={class:`d-flex align-items-end p-3`},yi=[`for`],bi=[`innerHTML`],xi=(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`,Gr,[(0,t.createElementVNode)(`div`,Kr,[e.hasHeader?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,qr,[(0,t.createElementVNode)(`div`,Jr,[(0,t.createElementVNode)(`p`,{class:`fw-bold m-0`,innerHTML:(0,t.unref)(O)(e.title||n.$t(`fileInput.bulkUploadHeadline`))},null,8,Yr),(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`,Xr,[c.value.length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Zr,[(0,t.createElementVNode)(`p`,Qr,(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`,$r,[(0,t.createElementVNode)(`div`,ei,[(0,t.createElementVNode)(`div`,ti,[(0,t.createVNode)(a,{src:o.src,alt:``,class:`img-thumbnail`},null,8,[`src`])]),(0,t.createElementVNode)(`div`,ni,[(0,t.createElementVNode)(`div`,ri,[(0,t.createElementVNode)(`div`,ii,(0,t.toDisplayString)(o.name||n.$t(`fileInput.unknownFile`)),1),(0,t.createElementVNode)(`div`,null,[o.size?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ai,(0,t.toDisplayString)(y(o.size)),1)):(0,t.createCommentVNode)(``,!0),o.lastModified?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,oi,` · `+(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,si)),[[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,ci)),e.showProgress&&o.uploadProgress?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,li,[(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,ui)])])):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,di,[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,fi)):(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,pi)):(0,t.createCommentVNode)(``,!0)])])])]),label:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`button`,{},()=>[(0,t.createElementVNode)(`span`,mi,[(0,t.createElementVNode)(`span`,hi,[(0,t.renderSlot)(n.$slots,`info`,{},()=>[e.maxFiles>0||e.minFiles>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,gi,(0,t.toDisplayString)(g.value),1)):(0,t.createCommentVNode)(``,!0)])]),(0,t.createElementVNode)(`span`,_i,[(0,t.createElementVNode)(`span`,vi,[(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,bi)],10,yi)])])])])]),_:3},8,[`id`,`modelValue`])])])])],512)}}}),Si=[`onDragenter`,`onDragover`,`onDragleave`,`onDragend`,`onDrop`,`innerHTML`],Ci=[`draggable`,`onDragstart`,`onDrag`,`onDragenter`,`onDragover`,`onDragleave`,`onDragend`,`onDrop`],wi={key:0,class:`sortable-list__drag-handle`},Ti=[`onDragstart`,`onDrag`],Ei={key:0,class:`sortable-list__item`},Di=(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,Si)):(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`,wi,[(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,Ti)])):(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,Ci)],64))),128)),p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,Ei,[(0,t.renderSlot)(n.$slots,`list-append`)])):(0,t.createCommentVNode)(``,!0)]),_:3},8,[`class`]))}}),Oi={key:0,class:`image-editor position-relative`},ki={class:`row mb-3`},Ai={class:`col`},ji={class:`row gap-2 mb-4`},Mi={class:`col-12`},Ni={class:`input mb-2`},Pi={class:`col`},Fi={class:`input mb-0`},Ii={class:`col`},Li={class:`input mb-0`},Ri={class:`row`},zi={class:`col d-flex justify-content-end gap-2`},Bi=[`disabled`],Vi=(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`,Oi,[(0,t.createElementVNode)(`div`,ki,[(0,t.createElementVNode)(`div`,Ai,[(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`,ji,[(0,t.createElementVNode)(`div`,Mi,[(0,t.createElementVNode)(`div`,Ni,[(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`,Pi,[(0,t.createElementVNode)(`div`,Fi,[(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`,Ii,[(0,t.createElementVNode)(`div`,Li,[(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`,Ri,[(0,t.createElementVNode)(`div`,zi,[(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,Bi)])])])):(0,t.createCommentVNode)(``,!0)}}),Hi=h((()=>{})),Ui={key:0,class:`image-crop`},Wi={class:`row mb-4`},Gi={class:`col`},Ki={class:`row`},qi={class:`col d-flex gap-2 justify-content-end gap-2`},Ji=(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(()=>_(Hi(),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`,Ui,[(0,t.createElementVNode)(`div`,Wi,[(0,t.createElementVNode)(`div`,Gi,[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`,Ki,[(0,t.createElementVNode)(`div`,qi,[(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)}}),Yi={key:0,class:`image-crop-resize position-relative`},Xi={class:`row`},Zi={class:`col`},Qi={key:3,class:`alert alert-warning mt-4 small p-2`},$i={key:4},ea={class:`row`},ta={class:`col-12`},na={class:`d-flex`},ra={key:0,class:`d-flex gap-3`},ia={class:`caption`},aa={class:`caption`},oa={key:1,class:`ms-auto`},sa=(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`,Yi,[(0,t.createElementVNode)(`div`,Xi,[(0,t.createElementVNode)(`div`,Zi,[a.value||o.value?a.value?((0,t.openBlock)(),(0,t.createBlock)(Vi,{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)(Ji,{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`,Qi,(0,t.toDisplayString)(n.$t(`common.svgWarning`)),1)):(0,t.createCommentVNode)(``,!0),!o.value&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`hr`,$i)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,ea,[(0,t.createElementVNode)(`div`,ta,[(0,t.createElementVNode)(`div`,na,[!o.value&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ra,[(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`,ia,(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`,aa,(0,t.toDisplayString)(n.$t(`common.resize`)),1)])])):(0,t.createCommentVNode)(``,!0),!o.value&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,oa,[(0,t.renderSlot)(n.$slots,`submit`)])):(0,t.createCommentVNode)(``,!0)])])])])])])):(0,t.createCommentVNode)(``,!0)}}),ca={class:`modal-dialog__content d-flex flex-column`},la={class:`modal-dialog__header d-flex p-3 border-bottom`},ua={key:0,class:`modal-dialog__title`,id:`exampleModalLabel`},da={class:`modal-dialog__body`},fa={key:0,class:`modal-dialog__footer d-flex p-3 border-top`},pa=(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`,ca,[(0,t.createElementVNode)(`div`,la,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`h5`,ua,(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`,da,[(0,t.renderSlot)(n.$slots,`default`)]),e.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,fa,[(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))}}),ma={class:`image-upload__controls`},ha={class:`d-flex gap-1 align-items-center`},ga={key:1,class:`image-upload__controls`},_a=[`for`],va=[`innerHTML`],ya={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}=Lr(r),{toLocalUrl:h,revoke:g}=Rr((0,t.toRef)(r,`localUrlFormat`)),{isDragging:_}=Ir(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`,ma,[(0,t.createElementVNode)(`div`,ha,[(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`,ga,[(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)(tt,{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,va)]),(0,t.createVNode)(t.Transition,{name:`fade`},{default:(0,t.withCtx)(()=>[(0,t.unref)(p)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ya,[...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,_a)),(0,t.createVNode)(pa,{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)(sa,{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))}}),ba={class:`upload-group`},xa=[`innerHTML`],Sa={class:`upload-group__list`},Ca={class:`img-container`},wa=[`src`],Ta={class:`item-overlay`},Ea=[`onClick`],Da={role:`button`,class:`img-thumbnail d-flex justify-content-center align-items-center`},Oa={role:`button`,class:`img-thumbnail d-flex justify-content-center align-items-center`},ka=(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`,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.createElementVNode)(`div`,Sa,[(0,t.createVNode)(Di,{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`,Ca,[(0,t.createElementVNode)(`img`,{src:`${r}${e.previewWidth?`?width=${e.previewWidth}`:``}`,class:`img-thumbnail`},null,8,wa),(0,t.createElementVNode)(`div`,Ta,[(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>s(i),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,Ea),(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`,Da,[(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`,Oa,[(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`])])]))}}),Aa={class:`asset-uploader`},ja=[`innerHTML`],Ma=(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`,Aa,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,innerHTML:(0,t.unref)(O)(e.label)},null,8,ja)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(ka,{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`])]))}}),Na=[`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,Na))}}),Pa={class:`preset-uploader`},Fa=[`innerHTML`],Ia={class:`preset-uploader__list`},La=[`popovertarget`],Ra=[`src`],za=[`onClick`],Ba={class:`preset-uploader__popover p-2 d-flex gap-2 align-items-start`},Va=[`popovertarget`],Ha=[`src`],Ua={class:`d-flex flex-column gap-2`},Wa={role:`button`,class:`btn btn-sm w-100 d-inline-flex align-items-center`},Ga={role:`button`,class:`btn btn-sm w-100 d-inline-flex align-items-center`},Ka={key:1,class:`preset-group border border-2 rounded d-flex gap-1 p-1`},qa=[`popovertarget`],Ja=[`src`],Ya=[`src`],Xa=[`onClick`],Za={class:`preset-uploader__popover p-2 d-flex gap-2 align-items-start`},Qa=[`popovertarget`],$a=[`src`],eo={class:`d-flex flex-column gap-2`},to={role:`button`,class:`img-thumbnail text-dark d-flex justify-content-center align-items-center`},no={role:`button`,class:`img-thumbnail text-dark d-flex justify-content-center align-items-center`},ro={class:`preset-uploader__popover p-2 d-flex gap-2 align-items-start`},io=[`onClick`],ao={role:`button`,class:`img-thumbnail d-flex justify-content-center align-items-center`},oo={role:`button`,class:`img-thumbnail text-dark d-flex justify-content-center align-items-center`},so=(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`,Pa,[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`,Ia,[(0,t.createVNode)(Di,{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`,Ka,[((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,Ja)],8,qa)):((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:1,src:n.thumbnail||n.src,class:`img-thumbnail border-0 p-0`},null,8,Ya)),(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,Xa),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`,Za,[(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,$a)],8,Qa),(0,t.createElementVNode)(`div`,eo,[(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`,to,[(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`,no,[(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`,ro,[(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,io)])):((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,Ra)],8,La),(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>v(i),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,za),(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`,Ba,[(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,Ha)],8,Va),(0,t.createElementVNode)(`div`,Ua,[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`,Wa,[(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`,Ga,[(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`,ao,[(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`,oo,[(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`])])]))}}),co=`https://router.project-osrm.org/route/v1`;function lo(){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||co).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=>uo(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 uo(e){let t=`${e?.maneuver?.type||`continue`}`,n=e?.maneuver?.modifier?` ${e.maneuver.modifier}`:``,r=`${e?.name||``}`;return{instruction:`${fo(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 fo(e){return e.charAt(0).toUpperCase()+e.slice(1)}var po=`https://nominatim.openstreetmap.org/search`,mo=`https://nominatim.openstreetmap.org/reverse`;function ho(){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||po,{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)=>go(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=go(await i(t.reverseEndpoint||mo,{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 go(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 _o(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 vo={class:`location-finder`,"data-testid":`location-finder`},yo={class:`location-finder__actions`},bo=[`disabled`],xo={key:1,class:`location-finder__notice`,"data-testid":`location-finder-error`},So={class:`location-finder__map-panel`},Co=[`aria-label`],wo={class:`location-finder__legend-item`},To={class:`location-finder__legend-item`},Eo={class:`location-finder__legend-item`},Do={class:`location-finder__legend-item`},Oo={key:0,class:`location-finder__sidebar`},ko={key:1,class:`location-finder__summary`,"data-testid":`location-finder-directions`},Ao={class:`location-finder__summary-title`},jo={key:0,class:`location-finder__summary-copy`},Mo={class:`location-finder__summary-grid`},No={class:`location-finder__summary-label`},Po={"data-testid":`location-finder-distance`},Fo={class:`location-finder__summary-label`},Io={"data-testid":`location-finder-duration`},Lo={key:0,class:`location-finder__steps`},Ro={key:0},zo={key:2,class:`location-finder__summary-copy`},Bo=(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=_o(),d=ho(),f=lo(),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`,vo,[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)(cn,{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`,yo,[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,bo)):(0,t.createCommentVNode)(``,!0)])],2)):(0,t.createCommentVNode)(``,!0),T.value?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,xo,(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`,So,[(0,t.createVNode)(Er,{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`,wo,[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`,To,[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`,Eo,[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`,Do,[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,Co)):(0,t.createCommentVNode)(``,!0)]),O.value?((0,t.openBlock)(),(0,t.createElementBlock)(`aside`,Oo,[o.showSidebar?((0,t.openBlock)(),(0,t.createBlock)(Fr,{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`,ko,[(0,t.createElementVNode)(`p`,Ao,(0,t.toDisplayString)(j.value.directionsTitle),1),(0,t.unref)(f).pending.value?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,jo,(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`,Mo,[(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`p`,No,(0,t.toDisplayString)(j.value.distanceLabel),1),(0,t.createElementVNode)(`strong`,Po,(0,t.toDisplayString)(k.value),1)]),(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`p`,Fo,(0,t.toDisplayString)(j.value.durationLabel),1),(0,t.createElementVNode)(`strong`,Io,(0,t.toDisplayString)(A.value),1)])]),e.showDirectionsSteps&&(0,t.unref)(f).steps.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`ol`,Lo,[((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`,Ro,(0,t.toDisplayString)(e.name),1)):(0,t.createCommentVNode)(``,!0)]))),128))])):(0,t.createCommentVNode)(``,!0)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,zo,(0,t.toDisplayString)(j.value.directionsEmptyText),1))])):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)],2)]))}}),Vo={class:`carousel d-flex`},Ho=[`title`],Uo=[`onClick`],Wo=[`title`],Go=(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`,Vo,[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,Ho)):(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,Uo)],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,Wo)):(0,t.createCommentVNode)(``,!0)]))}}),Ko={class:`media-thumbnails`},qo=[`onClick`,`title`],Jo={key:0,class:`img-container`},Yo={key:0,class:`media-thumbnails__count-badge`},Xo={key:2,class:`img-container`},Zo=(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`,Ko,[(0,t.createVNode)(Go,{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`,Jo,[(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`,Yo,(0,t.toDisplayString)(Object.keys(r.item.items||{}).length),1)):(0,t.createCommentVNode)(``,!0)],2)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Xo,[(0,t.createVNode)(w,{src:r.item.thumbnail||r.item.src,class:`img-fluid`},null,8,[`src`])]))],10,qo)]),_:1},8,[`items`])]))}}),Qo={class:`progress-steps`},$o={class:`progress-steps__list`},es={class:`progress-step`},ts=[`checked`,`id`,`value`,`disabled`,`read-only`,`required`,`onChange`],ns=[`for`],rs=[`innerHTML`],is=[`for`],as=[`innerHTML`],os=(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`,Qo,[(0,t.createElementVNode)(`ul`,$o,[((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`,es,[(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,ts),(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,rs)])],8,ns),(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,as)])],8,is)])])],2))),128))])]))}}),ss={class:`hint-system`},cs=[`innerHTML`],ls=[`innerHTML`],us={key:1,class:`hint-system__hint-content`},ds=[`disabled`],fs=(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`,ss,[e.description?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,innerHTML:(0,t.unref)(O)(e.description),class:`hint-system__description`},null,8,cs)):(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,ls)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,us,(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,ds)])]))}}),ps={class:`popover-tooltip`},ms=[`popovertarget`,`disabled`,`aria-describedby`,`aria-label`],hs={class:`popover-tooltip__content d-flex flex-column`},gs={key:0,class:`popover-tooltip__header d-flex p-3 border-bottom`},_s=[`innerHTML`],vs={class:`popover-tooltip__body`},ys=[`innerHTML`],bs={key:1,class:`popover-tooltip__footer d-flex p-3 border-top`},xs=(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`,ps,[(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,ms),(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`,hs,[e.header?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,gs,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`h5`,{key:0,class:`popover-tooltip__title`,innerHTML:(0,t.unref)(a)},null,8,_s)):(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`,vs,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createElementVNode)(`span`,{innerHTML:(0,t.unref)(o)},null,8,ys)])]),e.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,bs,[(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`])]))}}),Ss={class:`popover-notification__header d-flex justify-content-between mb-2`},Cs={class:`popover-notification__title`},ws=[`onClick`],Ts=[`innerHTML`],Es=240,Ds=(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)},Es)))}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`,Ss,[(0,t.createElementVNode)(`span`,Cs,(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,ws)]),(0,t.createElementVNode)(`span`,{innerHTML:n.content},null,8,Ts)])]),_:2},1032,[`id`,`modelValue`,`onUpdate:modelValue`,`style`]))),128))],2))}}),Os=(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))}}),ks={class:`qr-code`},As=[`innerHTML`],js=(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`,ks,[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,As)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,ref_key:`canvas`,ref:a},null,512))]))}}),Ms={class:`link-sharing`},Ns={key:0,class:`link-sharing__links container`},Ps={class:`row`},Fs={key:0,class:`col-12 col-md-6`},Is=[`href`],Ls={class:`caption`},Rs={key:1,class:`col-12 col-md-6`},zs=[`href`],Bs={class:`caption`},Vs={key:2,class:`col-12 col-md-6`},Hs={class:`caption`},Us={key:3,class:`col-12 col-md-6`},Ws=[`href`],Gs={class:`caption`},Ks={key:4,class:`col-12 col-md-6`},qs=[`href`],Js={class:`caption`},Ys={key:5,class:`col-12 col-md-6`},Xs={class:`caption`},Zs={key:6,class:`col-12 col-md-6`},Qs=[`href`],$s={class:`caption`},ec={key:7,class:`col-12 col-md-6`},tc={class:`caption`},nc={key:1,class:`link-sharing__instructions pt-5`},rc={class:`row`},ic={class:`col-12 text-center py-0`},ac={class:`mb-5`},oc=e=>e.replace(/<(?:.|\n)*?>/gm,``),sc=(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)(()=>oc(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`,Ms,[r.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,nc,[(0,t.createElementVNode)(`div`,rc,[(0,t.createElementVNode)(`div`,ic,[(0,t.createElementVNode)(`div`,ac,[(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`,Ns,[(0,t.createElementVNode)(`div`,Ps,[e.services.facebook?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Fs,[(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`,Ls,(0,t.toDisplayString)(n.$t(`sharing.facebook`)),1)],8,Is)])):(0,t.createCommentVNode)(``,!0),e.services.bluesky?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Rs,[(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`,Bs,(0,t.toDisplayString)(n.$t(`sharing.bluesky`)),1)],8,zs)])):(0,t.createCommentVNode)(``,!0),e.services.instagram?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Vs,[(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`,Hs,(0,t.toDisplayString)(n.$t(`sharing.instagram`)),1)])])):(0,t.createCommentVNode)(``,!0),e.services.linkedin?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Us,[(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`,Gs,(0,t.toDisplayString)(n.$t(`sharing.linkedin`)),1)],8,Ws)])):(0,t.createCommentVNode)(``,!0),e.services.whatsapp&&o.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ks,[(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`,Js,(0,t.toDisplayString)(n.$t(`sharing.whatsapp`)),1)],8,qs)])):(0,t.createCommentVNode)(``,!0),e.services.clipboard?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ys,[(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`,Xs,(0,t.toDisplayString)(n.$t(`sharing.clipboard`)),1)])])):(0,t.createCommentVNode)(``,!0),e.services.mailto?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Zs,[(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`,$s,(0,t.toDisplayString)(n.$t(`sharing.mailto`)),1)],8,Qs)])):(0,t.createCommentVNode)(``,!0),e.services.os&&s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ec,[(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`,tc,(0,t.toDisplayString)(n.$t(`sharing.os`)),1)])])):(0,t.createCommentVNode)(``,!0)])]))]))}}),cc={class:`base-form`},lc=(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`,cc,[(0,t.createElementVNode)(`form`,{ref:`form`,onInput:n,onReset:r,onSubmit:(0,t.withModifiers)(i,[`prevent`])},[(0,t.renderSlot)(e.$slots,`default`)],544)]))}}),uc={class:`touch-wrapper__controls`},dc={class:`btn-group`,role:`group`},fc=(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`,uc,[(0,t.createElementVNode)(`div`,dc,[(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))}}),pc=null;async function mc(){if(typeof window>`u`)return null;if(pc)return pc;let e=await import(`canvas-confetti`);return pc=e.default||e,pc}var hc={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:gc(55,125),spread:gc(50,70),particleCount:gc(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 gc(e,t){return Math.random()*(t-e)+e}var _c=(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)(()=>({...hc[n.preset],items:hc[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 mc();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))}}),vc=[`popovertarget`],yc=[`src`,`alt`],bc=(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,yc)],2)],2)]),_:1},8,[`id`,`modelValue`,`hover-delay`,`close-timeout`,`class`])],8,vc))}});function xc(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=Ma,e.AutoSuggest=cn,e.BaseButton=G,e.BaseCamera=Sr,e.BaseCarousel=Go,e.BaseForm=lc,e.BaseHeadline=E,e.BaseImage=w,e.BaseInput=q,e.BaseMap=Er,e.BaseParagraph=A,e.BulkUpload=xi,e.CanvasConfetti=_c,e.CheckGroup=Be,e.ColorPalette=Wt,e.CustomHtml=it,e.DomRenderer=Os,e.FileUpload=Z,e.HintSystem=fs,e.ImageCrop=Ji,e.ImageCropResize=sa,e.ImageResize=Vi,e.ImageUpload=Q,e.ImageZoom=bc,e.InputCheckbox=ge,e.InputColor=kt,e.InputDatepicker=je,e.InputDatetime=be,e.InputDropdown=Y,e.InputFile=tt,e.InputGradient=Vt,e.InputPasscode=Ie,e.InputPassword=Ne,e.InputTextarea=pe,e.LinkSharing=sc,e.LoadingSpinner=S,e.LocationFinder=Bo,e.LocationList=Fr,e.MediaThumbnails=Zo,e.ModalDialog=pa,e.PopoverDialog=$,e.PopoverNotifications=Ds,e.PopoverTooltip=xs,e.PresetUploader=so,e.ProgressSteps=os,e.QrCode=js,e.RadioButtons=qe,e.RadioGroup=J,e.RteEditor=Tt,e.SelectMedia=st,e.SortableList=Di,e.SvgIcon=b,e.TouchWrapper=fc,e.UploadGroup=ka,e.useCameraFilter=xc,e.useDirections=lo,e.useGeocoding=ho,e.useGeolocation=_o});
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,He),(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,Ue)])],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,We)):(0,t.createCommentVNode)(``,!0)])]))}}),Ge={class:`radio-buttons`},Ke=[`for`],qe=(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`,Ge,[(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,Ke)]),_:1},8,[`modelValue`,`options`,`name`,`id`,`disabled`,`required`])]))}}),Je=[`id`,`name`,`multiple`,`accept`,`disabled`],Ye={class:`input__input-group input-group`},Xe=[`value`,`id`,`name`,`disabled`],Ze=[`for`,`disabled`],Qe={class:`btn btn-outline-contrast`},$e=[`for`],et=[`innerHTML`],tt=(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,Je),(0,t.createElementVNode)(`div`,Ye,[(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,Xe),(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`,Qe,(0,t.toDisplayString)(n.$t(`common.selectFile`)),1)])],8,Ze)])]),(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,et)])],8,$e)]))}}),nt={key:0,class:`custom-html`},rt=[`innerHTML`],it=(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`,nt,[(0,t.renderSlot)(r.$slots,`default`,{},()=>[(0,t.createElementVNode)(`div`,{class:`custom-html__content`,innerHTML:e.content},null,8,rt)])])):(0,t.createCommentVNode)(``,!0)}}),at={class:`select-media`},ot=[`for`],st=(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`,at,[(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,ot)]),_:1},8,[`modelValue`,`options`,`name`,`id`,`disabled`,`required`])]))}}),ct={key:0,class:`rte-editor__controls mb-2`},lt=[`disabled`],ut=[`disabled`],dt={class:`btn-group`},ft=[`disabled`],pt=[`disabled`],mt={class:`btn-group`},ht={class:`dropdown`},gt={class:`btn dropdown-toggle btn-light`,"data-bs-toggle":`dropdown`,role:`button`,type:`button`},_t={class:`dropdown-menu`},vt={class:`dropdown`},yt={class:`btn dropdown-toggle btn-light`,"data-bs-toggle":`dropdown`,role:`button`,type:`button`},bt={class:`dropdown-menu`},xt={class:`btn-group`},St=[`disabled`],Ct=[`disabled`],wt=[`title`],Tt=(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`,ct,[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,ut)):((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,lt)),(0,t.createElementVNode)(`div`,dt,[(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,ft),(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,pt)]),(0,t.createElementVNode)(`div`,mt,[(0,t.createElementVNode)(`div`,ht,[(0,t.createElementVNode)(`button`,gt,[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`,_t,[(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`,vt,[(0,t.createElementVNode)(`button`,yt,[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`,bt,[(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`,xt,[(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,St),(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,Ct)]),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,wt)):(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`]))}}),Et={class:`input-color`},Dt={class:`input-color__color-swatch`},Ot=[`name`,`id`,`disabled`,`read-only`,`required`,`aria-label`],kt=(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`,Et,[(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`,Dt,[(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,Ot),[[t.vModelText,a.value]])])]),_:1},8,[`modelValue`,`type`,`id`,`name`,`placeholder`,`pattern`,`label`,`disabled`,`read-only`,`required`,`maxlength`])]))}}),At=[`id`],jt=[`for`,`innerHTML`],Mt={class:`dropdown`},Nt={class:`caption`},Pt=[`innerHTML`],Ft={class:`caption__text`},It={class:`d-block text-truncate`},Lt={class:`dropdown-menu`},Rt={class:`form-check d-flex`},zt=[`value`,`id`,`name`,`label`,`required`,`disabled`],Bt=[`value`,`id`,`name`,`label`,`required`,`disabled`],Vt=[`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,jt)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,Mt,[(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`,Nt,[(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,Pt)):(0,t.createCommentVNode)(``,!0)]),_:1}),(0,t.createElementVNode)(`span`,Ft,[(0,t.createElementVNode)(`span`,It,(0,t.toDisplayString)(e.toggleCaption||l.value),1)])])]),_:1},8,[`id`,`title`,`class`,`color`,`outlined`,`disabled`]),(0,t.createElementVNode)(`ul`,Lt,[((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`,Rt,[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,zt)),[[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,Bt)),[[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,Vt)])],2)]))),128))])])],8,At))}}),Ht=[`id`],Ut=[`for`,`innerHTML`],Wt={class:`dropdown`},Gt=[`title`],Kt={class:`input-gradient__toggle-icon position-absolute end-0 height-100 d-flex justify-content-center align-items-center bg-white bg-opacity-50 input-gradient__toggle-icon`},qt={class:`dropdown-menu input-gradient__menu`},Jt={class:`input-gradient__stop d-flex align-items-center px-3 py-2`},Yt={class:`col-7`},Xt={class:`col`},Zt=[`value`,`name`,`id`,`aria-label`,`disabled`,`onInput`],Qt={class:`col-auto`},$t={class:`input-gradient__footer px-3 py-2`},en={class:`col-7`},tn={class:`col`},nn=[`name`,`id`,`disabled`],rn={class:`col-auto`},an=`plus`,on=(0,t.defineComponent)({__name:`input-gradient`,props:{modelValue:{type:Object,default:()=>({type:`linear`,angle:180,stops:[{color:`#ff0000ff`,pct:0},{color:`#ff000080`,pct:100}]})},lockFirstStop:{type:Boolean,default:!1},maxStops:{type:Number,default:10},name:{type:String,default:()=>`gradient-${j()}`},id:{type:String,default:()=>j()},label:{type:String,default:``},variant:{type:String,default:``},color:{type:String,default:``},outlined:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,i=n,a=[{text:`Linear`,value:`linear`},{text:`Radial`,value:`radial`}],o=(0,t.computed)({get(){return r.modelValue?.type??`linear`},set(e){f({type:e})}}),s=(0,t.computed)(()=>r.modelValue?.stops??[]),c=(0,t.computed)({get(){return r.modelValue?.angle??180},set(e){f({angle:h(Number(e)||0,0,360)})}}),l=(0,t.computed)(()=>{let e=s.value;if(!e.length)return`transparent`;let t=e.length>1?c.value:180,n=e.slice().sort((e,t)=>e.pct-t.pct).map(e=>`${e.color} ${h(e.pct,0,100)}%`);return`${o.value===`radial`?`radial-gradient`:o.value===`conic`?`conic-gradient`:`linear-gradient`}(${o.value===`radial`?`circle at center`:o.value===`conic`?`from ${t}deg`:`${t}deg`}, ${e.length>1?n.join(`, `):n.join(`, `)||`transparent, transparent`})`});function u(e){return r.lockFirstStop&&e===0}function d(e,t){u(e)||f({stops:s.value.map((n,r)=>r===e?{...n,...t}:{...n})})}function f(e={}){i(`update:modelValue`,{...r.modelValue,...e,stops:(e.stops??s.value).map(e=>({...e}))})}function p(){if(s.value.length>=r.maxStops)return;let e=s.value.map(e=>({...e})),t=e[e.length-1],n=t?h(t.pct+10,0,100):100;e.push({color:`#000000ff`,pct:n}),f({stops:e})}function m(e){u(e)||s.value.length<2||f({stops:s.value.filter((t,n)=>n!==e).map(e=>({...e}))})}function h(e,t,n){return Math.min(n,Math.max(t,e))}return(n,r)=>{let i=(0,t.resolveComponent)(`svg-icon`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`input-gradient`,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,Ut)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,Wt,[(0,t.createVNode)(G,{id:`${e.id||e.name}--dropdown-toggle`,"data-bs-toggle":`dropdown`,"data-bs-auto-close":`outside`,role:`button`,type:`button`,class:(0,t.normalizeClass)([`btn input-gradient__toggle`,{[`btn-${e.variant}`]:e.variant}]),color:e.color,disabled:e.disabled,"aria-label":e.label||`Gradient`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,{class:`input-gradient__preview`,style:(0,t.normalizeStyle)({background:l.value}),title:l.value},null,12,Gt),(0,t.createElementVNode)(`span`,Kt,[(0,t.createVNode)(i,{symbol:`chevron-down`})])]),_:1},8,[`id`,`class`,`color`,`disabled`,`aria-label`]),(0,t.createElementVNode)(`ul`,qt,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(s.value,(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:`${e.name}-stop-${r}`},[(0,t.createElementVNode)(`div`,Jt,[(0,t.createElementVNode)(`div`,Yt,[(0,t.createVNode)(kt,{"model-value":n.color,name:`${e.name}-stop-${r}-color`,id:`${e.name}-stop-${r}-color`,disabled:e.disabled||u(r),class:`input-gradient__stop-color`,"onUpdate:modelValue":e=>d(r,{color:e})},null,8,[`model-value`,`name`,`id`,`disabled`,`onUpdate:modelValue`])]),(0,t.createElementVNode)(`div`,Xt,[(0,t.createElementVNode)(`input`,{value:n.pct,type:`number`,min:`0`,max:`100`,name:`${e.name}-stop-${r}-pct`,id:`${e.name}-stop-${r}-pct`,"aria-label":`Stop ${r+1} position`,disabled:e.disabled||u(r),class:`form-control input-gradient__stop-pct`,onInput:e=>d(r,{pct:h(Number(e.target.value)||0,0,100)})},null,40,Zt)]),(0,t.createElementVNode)(`div`,Qt,[(0,t.createVNode)(G,{type:`button`,icon:`x`,color:`light`,disabled:e.disabled||u(r)||s.value.length<2,"aria-label":`Remove stop ${r+1}`,title:`Remove stop ${r+1}`,class:`input-gradient__stop-remove btn btn-sm rounded-circle`,onClick:e=>m(r)},null,8,[`disabled`,`aria-label`,`title`,`onClick`])])])]))),128)),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`div`,$t,[(0,t.createElementVNode)(`div`,en,[(0,t.createVNode)(Y,{modelValue:o.value,"onUpdate:modelValue":r[0]||=e=>o.value=e,options:a,name:`${e.name}-type`,id:`${e.name}-type`,"aria-label":`Gradient type`,disabled:e.disabled||s.value.length<2,class:`input-gradient__type`},null,8,[`modelValue`,`name`,`id`,`disabled`])]),(0,t.createElementVNode)(`div`,tn,[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[1]||=e=>c.value=e,type:`number`,min:`0`,max:`360`,name:`${e.name}-angle`,id:`${e.name}-angle`,"aria-label":`Gradient angle`,disabled:e.disabled||s.value.length<2||o.value!==`linear`,class:`form-control input-gradient__angle`},null,8,nn),[[t.vModelText,c.value,void 0,{number:!0}]])]),(0,t.createElementVNode)(`div`,rn,[(0,t.createVNode)(G,{type:`button`,size:`small`,color:`light`,icon:an,disabled:e.disabled||s.value.length>=e.maxStops,"aria-label":`Add color stop`,title:`Add color stop`,class:`input-gradient__add btn btn-sm rounded-circle`,onClick:p},null,8,[`disabled`])])])])])])],8,Ht)}}}),sn={class:`color-palette`},cn=[`for`],ln=(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`,sn,[(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,cn)]),_:1},8,[`modelValue`,`options`,`name`,`id`,`label`,`disabled`,`required`])]))}}),un={key:0,class:`auto-suggest__suggestions position-relative`},dn={class:`suggestions dropdown-menu show w-100 mt-2`},fn=[`onClick`],pn=[`innerHTML`],mn=(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`,un,[(0,t.createElementVNode)(`ul`,dn,[((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,pn)],8,fn))),128))])])):(0,t.createCommentVNode)(``,!0)],512))}});function hn(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 gn(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 _n(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=`filter`in a;a.save(),t.mirror&&(a.translate(t.width,0),a.scale(-1,1)),o&&t.filter&&t.filter!==`none`&&(a.filter=vn(t.filter));let s=hn(n,r,t.width,t.height);a.drawImage(e,s.sx,s.sy,s.sw,s.sh,0,0,t.width,t.height),a.restore(),!o&&t.filter&&t.filter!==`none`&&yn(a,t.filter);let c=t.tintColor?gn(t.tintColor,t.tintIntensity??0):null;return c&&c.opacity>0&&(a.save(),a.globalAlpha=c.opacity,a.fillStyle=c.color,a.fillRect(0,0,t.width,t.height),a.restore()),i}function vn(e){switch(e){case`grayscale`:return`grayscale(1)`;case`sepia`:return`sepia(1)`;default:return`none`}}function yn(e,t){if(t===`none`)return;let{width:n,height:r}=e.canvas,i=e.getImageData(0,0,n,r);bn(i.data,t),e.putImageData(i,0,0)}function bn(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 xn(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 Sn(e){let{deviceId:t,facing:n,resolution:r}=e,i=r?Cn(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 Cn(e){return{width:{ideal:e.width},height:{ideal:e.height}}}function wn(e){return e&&typeof e==`object`&&`name`in e&&typeof e.name==`string`?e.name:``}function Tn(e){let t=wn(e);return t===`NotAllowedError`||t===`PermissionDeniedError`||t===`SecurityError`||t===`NotFoundError`}function En(e){let t=wn(e);return t===`NotReadableError`||t===`AbortError`||t===`TrackStartError`}function Dn(e){switch(wn(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 On=/\b(front|face|user|selfie|facetime)\b/i,kn=/\b(back|rear|environment|main|world)\b/i;function An(e){return e?On.test(e)?`user`:kn.test(e)?`environment`:null:null}function jn(e){return e===`user`||e===`environment`?e:e===`front`?`user`:e===`back`||e===`rear`?`environment`:null}function Mn(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||Nn(i,t)>Nn(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 Nn(e,t){let n=0;return e.deviceId===t&&(n+=2),e.probed&&(n+=1),n}function Pn(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}function Fn(){return typeof navigator>`u`?null:{userAgent:navigator.userAgent??``,platform:navigator.platform??``,maxTouchPoints:navigator.maxTouchPoints??0}}function In(e=Fn()){return e?/iPhone|iPad|iPod/i.test(e.userAgent)?!0:e.platform===`MacIntel`&&e.maxTouchPoints>1:!1}function Ln(e=Fn()){return!!e&&/Android/i.test(e.userAgent)}var Rn=()=>In(),zn=()=>Ln();function Bn(e){return typeof e.requestVideoFrameCallback==`function`}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}},Vn=1500,Hn=2,Un=300,Wn=[300,1e3,3e3],Gn=5e3,Kn=800,qn=500,Jn={width:{ideal:160},height:{ideal:120}},Yn=()=>void 0,Xn=e=>new Promise(t=>setTimeout(t,e)),Zn=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=Sn({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,Tn(t))break;if(En(t)){if(await Xn(Un),n!==this.seq)return!1;try{s=await navigator.mediaDevices.getUserMedia(e.constraints);break}catch(e){if(c=e,Tn(e))break}}}}if(n!==this.seq)return s?.getTracks().forEach(e=>e.stop()),!1;if(!s){let e=Dn(c);return e===`not-allowed`&&(this.permission=`denied`),this.fail(new X(e,Qn(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=jn(u.facingMode)??f??An(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=Pn(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(Yn);let r=!1,i=setTimeout(()=>{if(!r&&(o(),this.stream===n&&this.state===`live`)){if(e<Hn){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`))}},Vn),a=()=>{r||(r=!0,o())},o=()=>{clearTimeout(i),t.removeEventListener(`loadeddata`,a),t.removeEventListener(`playing`,a),this.watchdogCleanup=null};this.watchdogCleanup=o,Bn(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(Kn)};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(Yn)}scheduleRecovery(){if(this.disposed||this.intent!==`live`||this.recoveryTimer)return;if(this.recoveryAttempts>=Wn.length){this.fail(new X(`not-readable`,`Camera stopped and could not be re-acquired`));return}let e=Wn[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},Gn)}onDeviceChange=()=>{this.deviceChangeTimer&&clearTimeout(this.deviceChangeTimer),this.deviceChangeTimer=setTimeout(()=>{this.deviceChangeTimer=null,this.refreshDevices()},qn)};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=zn()&&!Rn()&&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??An(e.label),probed:n})}let a=r?Mn(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},...Jn}});let n=t.getVideoTracks()[0];return jn(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 Qn(e){return e instanceof Error?e.message||e.name:`Camera could not be started`}function $n(e={}){let{videoRef:n,...r}=e,i=new Zn(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:Zn.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 er=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:vn(r.filter)})),c=(0,t.computed)(()=>{let e=gn(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`]]),tr={class:`zoom-slider`},nr=[`min`,`max`,`step`,`value`],rr={class:`zoom-slider__ticks`},ir=(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`,tr,[(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,nr),(0,t.createElementVNode)(`div`,rr,[((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))])]))}}),ar=`data:image/png;base64,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`,or={class:`base-camera position-relative w-100 user-select-none`,"data-bs-theme":`dark`},sr=[`src`],cr={class:`position-absolute top-0 start-0 end-0 d-flex align-items-start p-2 gap-2 base-camera__top-bar`},lr={class:`base-camera__select-col`},ur={key:1},dr={class:`d-flex align-items-center ms-auto gap-2`},fr=[`aria-label`],pr=[`disabled`],mr={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`},hr={key:0,class:`spinner-border text-light`,role:`status`},gr={key:1,class:`alert alert-danger py-2 px-3 mb-0 small`},_r={class:`mb-2`},vr={class:`position-absolute bottom-0 start-0 end-0 p-3 d-flex flex-column gap-2 align-items-center`},yr={key:0,class:`d-flex align-items-center justify-content-center gap-4 w-100`},br=[`disabled`,`aria-label`],xr={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`],wr={key:2,class:`base-camera__countdown-overlay`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`},Tr=[`data-countdown`],Er={key:0,class:`base-camera__zoom`},Dr=200,Or=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:ar},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=$n({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(Dr)):S.value&&(r=await l.setExposureLocked(!0));let o=I();if(await o.peak,j||!m.value)return null;let s=_n(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 xn(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`,or,[(0,t.createVNode)(er,{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,sr)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,cr,[(0,t.createElementVNode)(`div`,lr,[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`,ur))]),(0,t.createElementVNode)(`div`,dr,[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,fr)):(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,pr)):(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`,mr,[(0,t.unref)(l).isStarting.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,hr,[...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`,gr,[(0,t.createElementVNode)(`div`,_r,(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`,vr,[e.enableControls?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,yr,[(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`,xr,[...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,br),(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`,wr,[((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{key:g.value,class:`base-camera__countdown`,"data-countdown":g.value},(0,t.toDisplayString)(g.value),9,Tr))])):(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`,Er,[(0,t.createVNode)(ir,{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`]]),kr={class:`base-map`},Ar={key:0,class:`base-map__label`},jr={key:0,class:`base-map__hint`},Mr=(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`,kr,[(0,t.renderSlot)(n.$slots,`label`,{},()=>[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,Ar,(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`,jr,(0,t.toDisplayString)(e.helperText),1)):(0,t.createCommentVNode)(``,!0)]))}}),Nr={class:`location-list`,"data-testid":`location-list`},Pr={key:0,class:`location-list__label`},Fr={key:1,class:`location-list__items`},Ir=[`data-testid`,`onClick`],Lr={class:`location-list__title`},Rr={key:0,class:`location-list__description`},zr={key:1,class:`location-list__distance`},Br={key:2,class:`location-list__empty`},Vr=(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`,Nr,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Pr,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0),e.locations.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Fr,[((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`,Lr,(0,t.toDisplayString)(a(n)),1),o(n)?((0,t.openBlock)(),(0,t.createElementBlock)(`small`,Rr,(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`,zr,(0,t.toDisplayString)(u(Number(n.distance)))+` away `,1)):(0,t.createCommentVNode)(``,!0)],10,Ir))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Br,(0,t.toDisplayString)(e.emptyText),1))]))}});function Hr(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 Ur(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 Wr(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 Gr=[`src`],Kr=[`onClick`],qr=[`onClick`],Jr=[`for`],Yr=[`innerHTML`],Xr={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}=Ur(r),{toLocalUrl:u,revoke:d}=Wr((0,t.toRef)(r,`localUrlFormat`)),{isDragging:f}=Hr(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,Gr),(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>m(i),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,Kr)],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,qr))])],2))),128)),(0,t.createVNode)(tt,{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,Yr)]),(0,t.createVNode)(t.Transition,{name:`fade`},{default:(0,t.withCtx)(()=>[(0,t.unref)(c)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Xr,[...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,Jr)])],2))}}),Zr={class:`container-fluid`},Qr={class:`row`},$r={key:0,class:`col-12`},ei={class:`py-4 px-3 d-flex align-items-center border border-bottom-0`},ti=[`innerHTML`],ni={class:`col-12`},ri={key:0,class:`grid place-items-center text-center text-muted py-5 border border-bottom-0`},ii={class:`m-0`},ai={class:`preview-item border-bottom p-3`},oi={class:`d-flex gap-3`},si={class:`col-2`},ci={class:`col d-flex flex-column`},li={class:`file-meta text-muted small mb-2`},ui={class:`fw-semibold`},di={key:0},fi={key:1},pi=[`onUpdate:modelValue`,`id`],mi=[`innerHTML`],hi={key:2,class:`upload-progress mt-3 mb-0`},gi=[`value`],_i={class:`col-auto d-flex flex-column gap-2`},vi=[`onClick`],yi=[`onClick`],bi={class:`d-flex justify-content-between align-items-center`},xi={class:`file-upload__info p-3`},Si={key:0,class:`text-muted small`},Ci={class:`file-upload__label`},wi={class:`d-flex align-items-end p-3`},Ti=[`for`],Ei=[`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`,Zr,[(0,t.createElementVNode)(`div`,Qr,[e.hasHeader?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$r,[(0,t.createElementVNode)(`div`,ei,[(0,t.createElementVNode)(`p`,{class:`fw-bold m-0`,innerHTML:(0,t.unref)(O)(e.title||n.$t(`fileInput.bulkUploadHeadline`))},null,8,ti),(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`,ni,[c.value.length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ri,[(0,t.createElementVNode)(`p`,ii,(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`,ai,[(0,t.createElementVNode)(`div`,oi,[(0,t.createElementVNode)(`div`,si,[(0,t.createVNode)(a,{src:o.src,alt:``,class:`img-thumbnail`},null,8,[`src`])]),(0,t.createElementVNode)(`div`,ci,[(0,t.createElementVNode)(`div`,li,[(0,t.createElementVNode)(`div`,ui,(0,t.toDisplayString)(o.name||n.$t(`fileInput.unknownFile`)),1),(0,t.createElementVNode)(`div`,null,[o.size?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,di,(0,t.toDisplayString)(y(o.size)),1)):(0,t.createCommentVNode)(``,!0),o.lastModified?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,fi,` · `+(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,pi)),[[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,mi)),e.showProgress&&o.uploadProgress?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,hi,[(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,gi)])])):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,_i,[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,vi)):(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,yi)):(0,t.createCommentVNode)(``,!0)])])])]),label:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`button`,{},()=>[(0,t.createElementVNode)(`span`,bi,[(0,t.createElementVNode)(`span`,xi,[(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`,wi,[(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,Ei)],10,Ti)])])])])]),_:3},8,[`id`,`modelValue`])])])])],512)}}}),Oi=[`onDragenter`,`onDragover`,`onDragleave`,`onDragend`,`onDrop`,`innerHTML`],ki=[`draggable`,`onDragstart`,`onDrag`,`onDragenter`,`onDragover`,`onDragleave`,`onDragend`,`onDrop`],Ai={key:0,class:`sortable-list__drag-handle`},ji=[`onDragstart`,`onDrag`],Mi={key:0,class:`sortable-list__item`},Ni=(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,Oi)):(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`,Ai,[(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,ji)])):(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,ki)],64))),128)),p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,Mi,[(0,t.renderSlot)(n.$slots,`list-append`)])):(0,t.createCommentVNode)(``,!0)]),_:3},8,[`class`]))}}),Pi={key:0,class:`image-editor position-relative`},Fi={class:`row mb-3`},Ii={class:`col`},Li={class:`row gap-2 mb-4`},Ri={class:`col-12`},zi={class:`input mb-2`},Bi={class:`col`},Vi={class:`input mb-0`},Hi={class:`col`},Ui={class:`input mb-0`},Wi={class:`row`},Gi={class:`col d-flex justify-content-end gap-2`},Ki=[`disabled`],qi=(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`,Pi,[(0,t.createElementVNode)(`div`,Fi,[(0,t.createElementVNode)(`div`,Ii,[(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`,Li,[(0,t.createElementVNode)(`div`,Ri,[(0,t.createElementVNode)(`div`,zi,[(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`,Bi,[(0,t.createElementVNode)(`div`,Vi,[(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`,Hi,[(0,t.createElementVNode)(`div`,Ui,[(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`,Wi,[(0,t.createElementVNode)(`div`,Gi,[(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,Ki)])])])):(0,t.createCommentVNode)(``,!0)}}),Ji=h((()=>{})),Yi={key:0,class:`image-crop`},Xi={class:`row mb-4`},Zi={class:`col`},Qi={class:`row`},$i={class:`col d-flex gap-2 justify-content-end gap-2`},ea=(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(()=>_(Ji(),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`,Yi,[(0,t.createElementVNode)(`div`,Xi,[(0,t.createElementVNode)(`div`,Zi,[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`,Qi,[(0,t.createElementVNode)(`div`,$i,[(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)}}),ta={key:0,class:`image-crop-resize position-relative`},na={class:`row`},ra={class:`col`},ia={key:3,class:`alert alert-warning mt-4 small p-2`},aa={key:4},oa={class:`row`},sa={class:`col-12`},ca={class:`d-flex`},la={key:0,class:`d-flex gap-3`},ua={class:`caption`},da={class:`caption`},fa={key:1,class:`ms-auto`},pa=(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`,ta,[(0,t.createElementVNode)(`div`,na,[(0,t.createElementVNode)(`div`,ra,[a.value||o.value?a.value?((0,t.openBlock)(),(0,t.createBlock)(qi,{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)(ea,{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`,ia,(0,t.toDisplayString)(n.$t(`common.svgWarning`)),1)):(0,t.createCommentVNode)(``,!0),!o.value&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`hr`,aa)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,oa,[(0,t.createElementVNode)(`div`,sa,[(0,t.createElementVNode)(`div`,ca,[!o.value&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,la,[(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`,ua,(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`,da,(0,t.toDisplayString)(n.$t(`common.resize`)),1)])])):(0,t.createCommentVNode)(``,!0),!o.value&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,fa,[(0,t.renderSlot)(n.$slots,`submit`)])):(0,t.createCommentVNode)(``,!0)])])])])])])):(0,t.createCommentVNode)(``,!0)}}),ma={class:`modal-dialog__content d-flex flex-column`},ha={class:`modal-dialog__header d-flex p-3 border-bottom`},ga={key:0,class:`modal-dialog__title`,id:`exampleModalLabel`},_a={class:`modal-dialog__body`},va={key:0,class:`modal-dialog__footer d-flex p-3 border-top`},ya=(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`,ma,[(0,t.createElementVNode)(`div`,ha,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`h5`,ga,(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`,_a,[(0,t.renderSlot)(n.$slots,`default`)]),e.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,va,[(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))}}),ba={class:`image-upload__controls`},xa={class:`d-flex gap-1 align-items-center`},Sa={key:1,class:`image-upload__controls`},Ca=[`for`],wa=[`innerHTML`],Ta={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}=Ur(r),{toLocalUrl:h,revoke:g}=Wr((0,t.toRef)(r,`localUrlFormat`)),{isDragging:_}=Hr(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`,ba,[(0,t.createElementVNode)(`div`,xa,[(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)(tt,{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,wa)]),(0,t.createVNode)(t.Transition,{name:`fade`},{default:(0,t.withCtx)(()=>[(0,t.unref)(p)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Ta,[...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)(ya,{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)(pa,{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))}}),Ea={class:`upload-group`},Da=[`innerHTML`],Oa={class:`upload-group__list`},ka={class:`img-container`},Aa=[`src`],ja={class:`item-overlay`},Ma=[`onClick`],Na={role:`button`,class:`img-thumbnail d-flex justify-content-center align-items-center`},Pa={role:`button`,class:`img-thumbnail d-flex justify-content-center align-items-center`},Fa=(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`,Ea,[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`,Oa,[(0,t.createVNode)(Ni,{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`,ka,[(0,t.createElementVNode)(`img`,{src:`${r}${e.previewWidth?`?width=${e.previewWidth}`:``}`,class:`img-thumbnail`},null,8,Aa),(0,t.createElementVNode)(`div`,ja,[(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>s(i),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,Ma),(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`,Na,[(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`,Pa,[(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`])])]))}}),Ia={class:`asset-uploader`},La=[`innerHTML`],Ra=(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`,Ia,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,innerHTML:(0,t.unref)(O)(e.label)},null,8,La)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(Fa,{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`])]))}}),za=[`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,za))}}),Ba={class:`preset-uploader`},Va=[`innerHTML`],Ha={class:`preset-uploader__list`},Ua=[`popovertarget`],Wa=[`src`],Ga=[`onClick`],Ka={class:`preset-uploader__popover p-2 d-flex gap-2 align-items-start`},qa=[`popovertarget`],Ja=[`src`],Ya={class:`d-flex flex-column gap-2`},Xa={role:`button`,class:`btn btn-sm w-100 d-inline-flex align-items-center`},Za={role:`button`,class:`btn btn-sm w-100 d-inline-flex align-items-center`},Qa={key:1,class:`preset-group border border-2 rounded d-flex gap-1 p-1`},$a=[`popovertarget`],eo=[`src`],to=[`src`],no=[`onClick`],ro={class:`preset-uploader__popover p-2 d-flex gap-2 align-items-start`},io=[`popovertarget`],ao=[`src`],oo={class:`d-flex flex-column gap-2`},so={role:`button`,class:`img-thumbnail text-dark d-flex justify-content-center align-items-center`},co={role:`button`,class:`img-thumbnail text-dark d-flex justify-content-center align-items-center`},lo={class:`preset-uploader__popover p-2 d-flex gap-2 align-items-start`},uo=[`onClick`],fo={role:`button`,class:`img-thumbnail d-flex justify-content-center align-items-center`},po={role:`button`,class:`img-thumbnail text-dark d-flex justify-content-center align-items-center`},mo=(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`,Ba,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,innerHTML:(0,t.unref)(O)(e.label)},null,8,Va)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Ha,[(0,t.createVNode)(Ni,{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`,Qa,[((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,eo)],8,$a)):((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:1,src:n.thumbnail||n.src,class:`img-thumbnail border-0 p-0`},null,8,to)),(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,no),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`,ro,[(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,ao)],8,io),(0,t.createElementVNode)(`div`,oo,[(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`,so,[(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`,co,[(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`,lo,[(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,uo)])):((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,Wa)],8,Ua),(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>v(i),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,Ga),(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`,Ka,[(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,Ja)],8,qa),(0,t.createElementVNode)(`div`,Ya,[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`,Xa,[(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`,Za,[(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`,fo,[(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`,po,[(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`])])]))}}),ho=`https://router.project-osrm.org/route/v1`;function go(){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||ho).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=>_o(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 _o(e){let t=`${e?.maneuver?.type||`continue`}`,n=e?.maneuver?.modifier?` ${e.maneuver.modifier}`:``,r=`${e?.name||``}`;return{instruction:`${vo(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 vo(e){return e.charAt(0).toUpperCase()+e.slice(1)}var yo=`https://nominatim.openstreetmap.org/search`,bo=`https://nominatim.openstreetmap.org/reverse`;function xo(){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||yo,{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)=>So(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=So(await i(t.reverseEndpoint||bo,{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 So(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 Co(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 wo={class:`location-finder`,"data-testid":`location-finder`},To={class:`location-finder__actions`},Eo=[`disabled`],Do={key:1,class:`location-finder__notice`,"data-testid":`location-finder-error`},Oo={class:`location-finder__map-panel`},ko=[`aria-label`],Ao={class:`location-finder__legend-item`},jo={class:`location-finder__legend-item`},Mo={class:`location-finder__legend-item`},No={class:`location-finder__legend-item`},Po={key:0,class:`location-finder__sidebar`},Fo={key:1,class:`location-finder__summary`,"data-testid":`location-finder-directions`},Io={class:`location-finder__summary-title`},Lo={key:0,class:`location-finder__summary-copy`},Ro={class:`location-finder__summary-grid`},zo={class:`location-finder__summary-label`},Bo={"data-testid":`location-finder-distance`},Vo={class:`location-finder__summary-label`},Ho={"data-testid":`location-finder-duration`},Uo={key:0,class:`location-finder__steps`},Wo={key:0},Go={key:2,class:`location-finder__summary-copy`},Ko=(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=Co(),d=xo(),f=go(),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`,wo,[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)(mn,{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`,To,[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,Eo)):(0,t.createCommentVNode)(``,!0)])],2)):(0,t.createCommentVNode)(``,!0),T.value?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Do,(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`,Oo,[(0,t.createVNode)(Mr,{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`,Ao,[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`,jo,[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`,Mo,[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`,No,[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,ko)):(0,t.createCommentVNode)(``,!0)]),O.value?((0,t.openBlock)(),(0,t.createElementBlock)(`aside`,Po,[o.showSidebar?((0,t.openBlock)(),(0,t.createBlock)(Vr,{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`,Fo,[(0,t.createElementVNode)(`p`,Io,(0,t.toDisplayString)(j.value.directionsTitle),1),(0,t.unref)(f).pending.value?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Lo,(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`,Ro,[(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`p`,zo,(0,t.toDisplayString)(j.value.distanceLabel),1),(0,t.createElementVNode)(`strong`,Bo,(0,t.toDisplayString)(k.value),1)]),(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`p`,Vo,(0,t.toDisplayString)(j.value.durationLabel),1),(0,t.createElementVNode)(`strong`,Ho,(0,t.toDisplayString)(A.value),1)])]),e.showDirectionsSteps&&(0,t.unref)(f).steps.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`ol`,Uo,[((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`,Wo,(0,t.toDisplayString)(e.name),1)):(0,t.createCommentVNode)(``,!0)]))),128))])):(0,t.createCommentVNode)(``,!0)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Go,(0,t.toDisplayString)(j.value.directionsEmptyText),1))])):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)],2)]))}}),qo={class:`carousel d-flex`},Jo=[`title`],Yo=[`onClick`],Xo=[`title`],Zo=(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`,qo,[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,Jo)):(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,Yo)],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,Xo)):(0,t.createCommentVNode)(``,!0)]))}}),Qo={class:`media-thumbnails`},$o=[`onClick`,`title`],es={key:0,class:`img-container`},ts={key:0,class:`media-thumbnails__count-badge`},ns={key:2,class:`img-container`},rs=(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`,Qo,[(0,t.createVNode)(Zo,{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`,es,[(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`,ts,(0,t.toDisplayString)(Object.keys(r.item.items||{}).length),1)):(0,t.createCommentVNode)(``,!0)],2)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ns,[(0,t.createVNode)(w,{src:r.item.thumbnail||r.item.src,class:`img-fluid`},null,8,[`src`])]))],10,$o)]),_:1},8,[`items`])]))}}),is={class:`progress-steps`},as={class:`progress-steps__list`},os={class:`progress-step`},ss=[`checked`,`id`,`value`,`disabled`,`read-only`,`required`,`onChange`],cs=[`for`],ls=[`innerHTML`],us=[`for`],ds=[`innerHTML`],fs=(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`,is,[(0,t.createElementVNode)(`ul`,as,[((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`,os,[(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,ss),(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,ls)])],8,cs),(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,ds)])],8,us)])])],2))),128))])]))}}),ps={class:`hint-system`},ms=[`innerHTML`],hs=[`innerHTML`],gs={key:1,class:`hint-system__hint-content`},_s=[`disabled`],vs=(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`,ps,[e.description?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,innerHTML:(0,t.unref)(O)(e.description),class:`hint-system__description`},null,8,ms)):(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,hs)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,gs,(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,_s)])]))}}),ys={class:`popover-tooltip`},bs=[`popovertarget`,`disabled`,`aria-describedby`,`aria-label`],xs={class:`popover-tooltip__content d-flex flex-column`},Ss={key:0,class:`popover-tooltip__header d-flex p-3 border-bottom`},Cs=[`innerHTML`],ws={class:`popover-tooltip__body`},Ts=[`innerHTML`],Es={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`,ys,[(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,bs),(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`,xs,[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`,ws,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createElementVNode)(`span`,{innerHTML:(0,t.unref)(o)},null,8,Ts)])]),e.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Es,[(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`])]))}}),Os={class:`popover-notification__header d-flex justify-content-between mb-2`},ks={class:`popover-notification__title`},As=[`onClick`],js=[`innerHTML`],Ms=240,Ns=(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)},Ms)))}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`,Os,[(0,t.createElementVNode)(`span`,ks,(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,As)]),(0,t.createElementVNode)(`span`,{innerHTML:n.content},null,8,js)])]),_:2},1032,[`id`,`modelValue`,`onUpdate:modelValue`,`style`]))),128))],2))}}),Ps=(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))}}),Fs={class:`qr-code`},Is=[`innerHTML`],Ls=(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`,Fs,[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,Is)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,ref_key:`canvas`,ref:a},null,512))]))}}),Rs={class:`link-sharing`},zs={key:0,class:`link-sharing__links container`},Bs={class:`row`},Vs={key:0,class:`col-12 col-md-6`},Hs=[`href`],Us={class:`caption`},Ws={key:1,class:`col-12 col-md-6`},Gs=[`href`],Ks={class:`caption`},qs={key:2,class:`col-12 col-md-6`},Js={class:`caption`},Ys={key:3,class:`col-12 col-md-6`},Xs=[`href`],Zs={class:`caption`},Qs={key:4,class:`col-12 col-md-6`},$s=[`href`],ec={class:`caption`},tc={key:5,class:`col-12 col-md-6`},nc={class:`caption`},rc={key:6,class:`col-12 col-md-6`},ic=[`href`],ac={class:`caption`},oc={key:7,class:`col-12 col-md-6`},sc={class:`caption`},cc={key:1,class:`link-sharing__instructions pt-5`},lc={class:`row`},uc={class:`col-12 text-center py-0`},dc={class:`mb-5`},fc=e=>e.replace(/<(?:.|\n)*?>/gm,``),pc=(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)(()=>fc(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`,Rs,[r.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,cc,[(0,t.createElementVNode)(`div`,lc,[(0,t.createElementVNode)(`div`,uc,[(0,t.createElementVNode)(`div`,dc,[(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`,zs,[(0,t.createElementVNode)(`div`,Bs,[e.services.facebook?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Vs,[(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`,Us,(0,t.toDisplayString)(n.$t(`sharing.facebook`)),1)],8,Hs)])):(0,t.createCommentVNode)(``,!0),e.services.bluesky?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ws,[(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`,Ks,(0,t.toDisplayString)(n.$t(`sharing.bluesky`)),1)],8,Gs)])):(0,t.createCommentVNode)(``,!0),e.services.instagram?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,qs,[(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`,Js,(0,t.toDisplayString)(n.$t(`sharing.instagram`)),1)])])):(0,t.createCommentVNode)(``,!0),e.services.linkedin?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ys,[(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`,Zs,(0,t.toDisplayString)(n.$t(`sharing.linkedin`)),1)],8,Xs)])):(0,t.createCommentVNode)(``,!0),e.services.whatsapp&&o.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Qs,[(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`,ec,(0,t.toDisplayString)(n.$t(`sharing.whatsapp`)),1)],8,$s)])):(0,t.createCommentVNode)(``,!0),e.services.clipboard?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,tc,[(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`,nc,(0,t.toDisplayString)(n.$t(`sharing.clipboard`)),1)])])):(0,t.createCommentVNode)(``,!0),e.services.mailto?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,rc,[(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`,ac,(0,t.toDisplayString)(n.$t(`sharing.mailto`)),1)],8,ic)])):(0,t.createCommentVNode)(``,!0),e.services.os&&s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,oc,[(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`,sc,(0,t.toDisplayString)(n.$t(`sharing.os`)),1)])])):(0,t.createCommentVNode)(``,!0)])]))]))}}),mc={class:`base-form`},hc=(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`,mc,[(0,t.createElementVNode)(`form`,{ref:`form`,onInput:n,onReset:r,onSubmit:(0,t.withModifiers)(i,[`prevent`])},[(0,t.renderSlot)(e.$slots,`default`)],544)]))}}),gc={class:`touch-wrapper__controls`},_c={class:`btn-group`,role:`group`},vc=(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`,gc,[(0,t.createElementVNode)(`div`,_c,[(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))}}),yc=null;async function bc(){if(typeof window>`u`)return null;if(yc)return yc;let e=await import(`canvas-confetti`);return yc=e.default||e,yc}var xc={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)(()=>({...xc[n.preset],items:xc[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 bc();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))}}),wc=[`popovertarget`],Tc=[`src`,`alt`],Ec=(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,Tc)],2)],2)]),_:1},8,[`id`,`modelValue`,`hover-delay`,`close-timeout`,`class`])],8,wc))}});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=Ra,e.AutoSuggest=mn,e.BaseButton=G,e.BaseCamera=Or,e.BaseCarousel=Zo,e.BaseForm=hc,e.BaseHeadline=E,e.BaseImage=w,e.BaseInput=q,e.BaseMap=Mr,e.BaseParagraph=A,e.BulkUpload=Di,e.CanvasConfetti=Cc,e.CheckGroup=Be,e.ColorPalette=ln,e.CustomHtml=it,e.DomRenderer=Ps,e.FileUpload=Z,e.HintSystem=vs,e.ImageCrop=ea,e.ImageCropResize=pa,e.ImageResize=qi,e.ImageUpload=Q,e.ImageZoom=Ec,e.InputCheckbox=ge,e.InputColor=kt,e.InputDatepicker=je,e.InputDatetime=be,e.InputDropdown=Y,e.InputFile=tt,e.InputGradient=on,e.InputPasscode=Ie,e.InputPassword=Ne,e.InputTextarea=pe,e.LinkSharing=pc,e.LoadingSpinner=S,e.LocationFinder=Ko,e.LocationList=Vr,e.MediaThumbnails=rs,e.ModalDialog=ya,e.PopoverDialog=$,e.PopoverNotifications=Ns,e.PopoverTooltip=Ds,e.PresetUploader=mo,e.ProgressSteps=fs,e.QrCode=Ls,e.RadioButtons=qe,e.RadioGroup=J,e.RteEditor=Tt,e.SelectMedia=st,e.SortableList=Ni,e.SvgIcon=b,e.TouchWrapper=vc,e.UploadGroup=Fa,e.useCameraFilter=Dc,e.useDirections=go,e.useGeocoding=xo,e.useGeolocation=Co});