ablok-components 0.3.128 → 0.3.132

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.
Files changed (28) hide show
  1. package/dist/ablok-components.css +1 -1
  2. package/dist/ablok-components.umd.js +2 -2
  3. package/dist/components/atoms/canvas-confetti/canvas-confetti.vue.d.ts +1 -1
  4. package/dist/components/molecules/base-camera/base-camera.js +5 -4
  5. package/dist/components/molecules/base-camera/base-camera.vue.d.ts +204 -66
  6. package/dist/components/molecules/base-camera/base-camera.vue_vue_type_script_setup_true_lang.js +410 -0
  7. package/dist/components/molecules/base-map/base-map.vue.d.ts +2 -2
  8. package/dist/components/molecules/camera-preview/camera-preview.js +7 -0
  9. package/dist/components/molecules/camera-preview/camera-preview.vue.d.ts +32 -0
  10. package/dist/components/molecules/camera-preview/camera-preview.vue_vue_type_script_setup_true_lang.js +67 -0
  11. package/dist/components/molecules/popover-tooltip/popover-tooltip.vue.d.ts +1 -1
  12. package/dist/composables/useCamera.d.ts +37 -0
  13. package/dist/composables/useCamera.js +44 -0
  14. package/dist/index.js +34 -34
  15. package/dist/symbol-defs.svg +6 -0
  16. package/dist/utilities/camera/CameraManager.d.ts +91 -0
  17. package/dist/utilities/camera/CameraManager.js +345 -0
  18. package/dist/utilities/camera/capture.d.ts +35 -0
  19. package/dist/utilities/camera/capture.js +82 -0
  20. package/dist/utilities/camera/constraints.d.ts +29 -0
  21. package/dist/utilities/camera/constraints.js +96 -0
  22. package/dist/utilities/camera/platform.d.ts +11 -0
  23. package/dist/utilities/camera/platform.js +20 -0
  24. package/dist/utilities/camera/types.d.ts +48 -0
  25. package/dist/utilities/camera/types.js +9 -0
  26. package/dist/utilities/helpers.js +10 -15
  27. package/package.json +1 -1
  28. package/dist/components/molecules/base-camera/base-camera.vue_vue_type_script_async_true_setup_true_lang.js +0 -537
@@ -1,4 +1,4 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("vue"),require("dompurify"),require("vue-i18n"),require("date-fns/locale"),require("lodash"),require("ofetch"),require("html2canvas"),require("qr-code-styling")):typeof define==`function`&&define.amd?define([`exports`,`vue`,`dompurify`,`vue-i18n`,`date-fns/locale`,`lodash`,`ofetch`,`html2canvas`,`qr-code-styling`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.AblokComponents={},e.Vue,e.DOMPurify,e.VueI18n,e.dateFnsLocale,e._,e.ofetch,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),a=_(a,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 ee(e){let t=atob(e.split(`,`)[1]),n=new ArrayBuffer(t.length),r=new Uint8Array(n);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return new Blob([n],{type:`image/png`})}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 te(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 ne(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 L={class:`accordion-item`},re=[`id`],R=[`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`,L,[(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,R)],8,re),(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})]))}}),ie=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},U={},W={class:`accordion`};function ae(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,W,[(0,t.renderSlot)(e.$slots,`default`)])}var oe=ie(U,[[`render`,ae]]),G=[`type`,`disabled`],se=(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,G))}}),K={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`],ue={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=ne(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`,K,[(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`,ue,(0,t.toDisplayString)(s.value),1)):(0,t.createCommentVNode)(``,!0)]),_:1})],2))}}),de={class:`input input--textarea`},fe=[`type`,`id`,`name`,`placeholder`,`pattern`,`disabled`,`read-only`,`required`,`maxlength`,`aria-label`],pe=[`for`,`innerHTML`],me=(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=ne(e)),i(`update:modelValue`,e)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,de,[(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,fe),[[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,pe)])]))}}),J={class:`form-check input input--checkbox`},he=[`value`,`id`,`name`,`required`,`disabled`,`true-value`,`false-value`],ge=[`for`,`innerHTML`],Y=(0,t.defineComponent)({__name:`input-checkbox`,props:{id:{type:String},name:{type:String},label:{type:String},error:{type:String},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},modelValue:{type:[Boolean,Array]},value:{type:[String,Object]},checked:{type:Boolean},trueValue:{type:null,default:!0},falseValue:{type:null,default:!1}},emits:[`update:modelValue`,`update:checked`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue||r.checked},set(e){i(`update:checked`,e),i(`update:modelValue`,e)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,J,[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{ref:`input`,"onUpdate:modelValue":r[0]||=e=>a.value=e,value:e.value,id:e.id,name:e.name,type:`checkbox`,required:e.required,disabled:e.disabled,class:`form-check-input`,"true-value":e.trueValue,"false-value":e.falseValue},null,8,he),[[t.vModelCheckbox,a.value]]),(0,t.createElementVNode)(`label`,{class:`input__label form-check-label`,for:e.id,innerHTML:(0,t.unref)(O)(e.label||``)},null,8,ge)]))}}),_e={class:`input-group input__input-group`},ve=[`id`,`name`,`placeholder`,`pattern`,`disabled`,`read-only`,`required`,`aria-label`],ye=[`for`,`innerHTML`],X=(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))}}),be={class:`row`},xe={class:`col-12`},Se=[`for`,`innerHTML`],Ce={key:0},Z={class:`input-group justify-content-center`},we={key:0,class:`row`},Te={class:`col-12 col-md-6`},Ee={class:`col-12 col-md-6`},De={key:1,class:`row`},Oe={class:`col-12`},ke=(0,t.defineComponent)({__name:`input-datepicker`,props:{modelValue:{type:null,default:``},from:{type:[String,Number,Boolean,Date],default:``},to:{type:[String,Number,Boolean,Date],default:``},type:{type:String,default:`datetime-local`},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},label:{type:String,default:``},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},range:{type:Boolean,default:!1},textRange:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},textInput:{type:Boolean,default:!0},picker:{type:Boolean,default:!0},locale:{type:String,default:`en`},utcStore:{type:Boolean,default:!1}},emits:[`update:modelValue`,`update:from`,`update:to`],setup(e,{emit:n}){let a={Sunday:0,Monday:1},o=(0,t.shallowRef)(null);(0,t.onMounted)(async()=>{let{VueDatePicker:e}=await import(`@vuepic/vue-datepicker`);o.value=e,console.log(`VueDatePicker loaded:`,u.value,s.locale)});let s=e,c=n,{t:l,locale:u}=(0,r.useI18n)(),d={en:i.enUS,de:i.de,fr:i.fr},f=(0,t.computed)(()=>{let e=s.locale||u.value;return d[e]||i.enUS}),p=(0,t.computed)(()=>{switch(s.locale||u.value){case`en`:return a.Sunday;case`de`:case`fr`:return a.Monday;default:return a.Sunday}}),m=(0,t.computed)(()=>s.inline||!s.picker?{openMenu:!1,format:f.value}:!0);function h(e){return!e||Number.isNaN(e.getTime())?null:e.toISOString().replace(`Z`,``)}function g(e){return!e||Array.isArray(e)?null:h(new Date(`${e}Z`))}function _(e){if(!e||Array.isArray(e))return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:(t.setUTCHours(t.getHours()),h(t))}function v(){let e=s.from||(Array.isArray(s.modelValue)?s.modelValue[0]:null),t=s.to||(Array.isArray(s.modelValue)?s.modelValue[1]:null);return s.utcStore?(e=e?E(e):null,t=t?E(t):null):(e=g(e),t=g(t)),[e,t]}let y=(0,t.ref)(v());(0,t.watch)(()=>[s.modelValue,s.from,s.to,s.utcStore],()=>{if(!s.range)return;let e=v();(e[0]!==y.value[0]||e[1]!==y.value[1])&&(y.value=e)});function b(e,t){s.utcStore?(e=e?D(e):null,t=t?D(t):null):(e=_(e),t=_(t)),c(`update:modelValue`,[e,t]),c(`update:from`,e),c(`update:to`,t)}function x(e,t){y.value=[e??null,t??null],b(e??null,t??null)}let S=(0,t.computed)({get(){if(s.range){let e=s.from||(Array.isArray(s.modelValue)?s.modelValue[0]:null),t=s.to||(Array.isArray(s.modelValue)?s.modelValue[1]:null);return s.utcStore?(e=e?E(e):null,t=t?E(t):null):(e=g(e),t=g(t)),[...e?[e]:[],...t?[t]:[]]}if(s.utcStore){let e=s.modelValue;return e&&E(e)||``}return g(s.modelValue)||``},set(e){if(s.range&&Array.isArray(e)){let[t,n]=e;s.utcStore?(t=D(t)||null,n=D(n)||null):(t=_(t),n=_(n)),c(`update:modelValue`,[t,n]),c(`update:from`,t),c(`update:to`,n)}else if(s.utcStore){let t=D(e);c(`update:modelValue`,t)}else c(`update:modelValue`,_(e))}}),C=(0,t.computed)({get(){return y.value[0]},set(e){x(e,y.value[1])}}),w=(0,t.computed)({get(){return y.value[1]},set(e){x(y.value[0],e)}});function T(e){if(!e)return;let t=e.getDate(),n=e.getMonth()+1,r=e.getFullYear(),i=e.getMinutes(),a=e.getHours();switch(f.value){case`de`:return`${t}.${n}.${r} ${a<10?`0`+a:a}:${i<10?`0`+i:i}`;case`fr`:return`${t}/${n}/${r} ${a<10?`0`+a:a}:${i<10?`0`+i:i}`;default:return`${n}/${t}/${r} ${a<10?`0`+a:a}:${i<10?`0`+i:i}`}}function E(e){if(!e||Array.isArray(e))return null;let t=e instanceof Date?new Date(e):new Date(`${e}Z`);return Number.isNaN(t.getTime())?null:`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}T${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}function D(e){if(!e||Array.isArray(e))return null;let t=e instanceof Date?new Date(e):new Date(String(e));return Number.isNaN(t.getTime())?null:t.toISOString().split(`.`)[0]}let k=e=>(e=Array.isArray(e)?e.map(e=>T(e)).join(` - `):T(e),e);return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`input`,`input--datepicker`])},[(0,t.renderSlot)(n.$slots,`label`,{},()=>[(0,t.createElementVNode)(`div`,be,[(0,t.createElementVNode)(`div`,xe,[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,Se)):(0,t.createCommentVNode)(``,!0)])])]),e.textInput?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ce,[(0,t.createElementVNode)(`div`,Z,[(0,t.renderSlot)(n.$slots,`input-prepend`,{slotScope:`props`}),e.range&&!e.textRange?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,we,[(0,t.createElementVNode)(`div`,Te,[((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`,Ee,[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(o.value),{uid:`${e.id}-to`,modelValue:w.value,"onUpdate:modelValue":r[1]||=e=>w.value=e,locale:f.value,format:k,"text-input":m.value,disabled:e.disabled,"read-only":e.readOnly,required:e.required,"min-date":C.value,"auto-apply":!0,"week-start":p.value},null,8,[`uid`,`modelValue`,`locale`,`text-input`,`disabled`,`read-only`,`required`,`min-date`,`week-start`]))])])):((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(o.value),{key:1,uid:`${e.id}-input-to`,modelValue:S.value,"onUpdate:modelValue":r[2]||=e=>S.value=e,format:k,locale:f.value,range:e.textRange,"text-input":m.value,disabled:e.disabled,"read-only":e.readOnly,required:e.required,"auto-apply":!0,"week-start":p.value},null,8,[`uid`,`modelValue`,`locale`,`range`,`text-input`,`disabled`,`read-only`,`required`,`week-start`])),(0,t.renderSlot)(n.$slots,`input-append`,{slotScope:`props`})])])):(0,t.createCommentVNode)(``,!0),e.inline?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,De,[(0,t.createElementVNode)(`div`,Oe,[((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)]))}}),Ae={class:`input-group input__input-group`},je=(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`,Ae,[(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`])])]))}}),Me={class:`input-group input__input-group`},Ne=[`onUpdate:modelValue`,`disabled`,`readonly`,`onPaste`,`onInput`,`onKeydown`],Pe=(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`,Me,[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,Ne)),[[t.vModelText,i.value[a]]])),128)):((0,t.openBlock)(),(0,t.createBlock)(je,{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`]))])]))}}),Fe={class:`check-group`},Ie=[`id`,`name`,`value`,`disabled`,`read-only`,`required`],Le=[`for`,`innerHTML`],Re=(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`,Fe,[((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,Ie),[[t.vModelCheckbox,a.value]]),(0,t.createElementVNode)(`label`,{class:`form-check-label`,for:`${e.id}-${i}`,innerHTML:n.text},null,8,Le)]))),128))]))}}),ze={class:`input radio-group`},Be=[`id`,`name`,`value`,`checked`,`disabled`,`read-only`,`required`,`onChange`],Ve=[`for`,`innerHTML`],He=[`for`],Ue=(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`,ze,[((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`,`
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 ee(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 te={class:`accordion-item`},ne=[`id`],re=[`aria-expanded`,`aria-controls`],R={class:`flex-grow-1`},z=[`id`,`aria-labelledby`],B=[`innerHTML`],V=(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`,te,[(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`,R,(0,t.toDisplayString)(e.title),1)])],10,re)],8,ne),(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,B)])],2)],8,z),[[t.vShow,a.value]])]),_:3})]))}}),H=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},ie={},U={class:`accordion`};function ae(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,U,[(0,t.renderSlot)(e.$slots,`default`)])}var W=H(ie,[[`render`,ae]]),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=ee(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=ee(e)),i(`update:modelValue`,e)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ue,[(0,t.renderSlot)(n.$slots,`input-prepend`),(0,t.withDirectives)((0,t.createElementVNode)(`textarea`,{"onUpdate:modelValue":r[0]||=e=>a.value=e,type:e.type,id:e.id,name:e.name,placeholder:e.placeholder,pattern:e.pattern,disabled:e.disabled,"read-only":e.readOnly,required:e.required,maxlength:e.maxlength,class:(0,t.normalizeClass)([`form-control`,{}]),"aria-label":e.label},null,8,de),[[t.vModelText,a.value]]),(0,t.renderSlot)(n.$slots,`input-append`),(0,t.renderSlot)(n.$slots,`label`,{},()=>[(0,t.createElementVNode)(`label`,{for:e.id,class:(0,t.normalizeClass)([`input__label`,{"form-check-label":e.type===`checkbox`}]),innerHTML:`${e.label}${e.required?` *`:``}`},null,10,fe)])]))}}),me={class:`form-check input input--checkbox`},he=[`value`,`id`,`name`,`required`,`disabled`,`true-value`,`false-value`],ge=[`for`,`innerHTML`],_e=(0,t.defineComponent)({__name:`input-checkbox`,props:{id:{type:String},name:{type:String},label:{type:String},error:{type:String},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},modelValue:{type:[Boolean,Array]},value:{type:[String,Object]},checked:{type:Boolean},trueValue:{type:null,default:!0},falseValue:{type:null,default:!1}},emits:[`update:modelValue`,`update:checked`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue||r.checked},set(e){i(`update:checked`,e),i(`update:modelValue`,e)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,me,[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{ref:`input`,"onUpdate:modelValue":r[0]||=e=>a.value=e,value:e.value,id:e.id,name:e.name,type:`checkbox`,required:e.required,disabled:e.disabled,class:`form-check-input`,"true-value":e.trueValue,"false-value":e.falseValue},null,8,he),[[t.vModelCheckbox,a.value]]),(0,t.createElementVNode)(`label`,{class:`input__label form-check-label`,for:e.id,innerHTML:(0,t.unref)(O)(e.label||``)},null,8,ge)]))}}),ve={class:`input-group input__input-group`},ye=[`id`,`name`,`placeholder`,`pattern`,`disabled`,`read-only`,`required`,`aria-label`],be=[`for`,`innerHTML`],xe=(0,t.defineComponent)({__name:`input-datetime`,props:{modelValue:{type:[String,Number,Boolean,Date],default:``},type:{type:String,default:`text`},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},label:{type:String,default:``},placeholder:{type:String,default:``},variant:{type:String,default:``},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},pattern:{type:String,default:null}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){let e=r.modelValue&&new Date(`${r.modelValue}Z`),t=e&&new Date(e.getTime()+new Date().getTimezoneOffset()*-60*1e3).toISOString();return t&&t.replace(`Z`,``)},set(e){let t=e&&new Date(e);e=t&&t.toISOString(),i(`update:modelValue`,e&&e.replace(`Z`,``))}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`input`,`input--${e.type}`])},[(0,t.createElementVNode)(`div`,ve,[(0,t.renderSlot)(n.$slots,`input-prepend`,{slotScope:`props`}),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[0]||=e=>a.value=e,type:`datetime-local`,id:e.id,name:e.name,placeholder:e.placeholder,pattern:e.pattern,disabled:e.disabled,"read-only":e.readOnly,required:e.required,class:`form-control`,"aria-label":e.label},null,8,ye),[[t.vModelText,a.value]]),(0,t.renderSlot)(n.$slots,`input-append`,{slotScope:`props`})]),(0,t.renderSlot)(n.$slots,`label`,{},()=>[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:e.id,class:`input__label`,innerHTML:(0,t.unref)(O)(`${e.label}${e.required?` *`:``}`)},null,8,be)):(0,t.createCommentVNode)(``,!0)])],2))}}),Se={class:`row`},Ce={class:`col-12`},we=[`for`,`innerHTML`],Te={key:0},Ee={class:`input-group justify-content-center`},De={key:0,class:`row`},Oe={class:`col-12 col-md-6`},ke={class:`col-12 col-md-6`},Ae={key:1,class:`row`},je={class:`col-12`},Me=(0,t.defineComponent)({__name:`input-datepicker`,props:{modelValue:{type:null,default:``},from:{type:[String,Number,Boolean,Date],default:``},to:{type:[String,Number,Boolean,Date],default:``},type:{type:String,default:`datetime-local`},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},label:{type:String,default:``},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},range:{type:Boolean,default:!1},textRange:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},textInput:{type:Boolean,default:!0},picker:{type:Boolean,default:!0},locale:{type:String,default:`en`},utcStore:{type:Boolean,default:!1}},emits:[`update:modelValue`,`update:from`,`update:to`],setup(e,{emit:n}){let a={Sunday:0,Monday:1},o=(0,t.shallowRef)(null);(0,t.onMounted)(async()=>{let{VueDatePicker:e}=await import(`@vuepic/vue-datepicker`);o.value=e,console.log(`VueDatePicker loaded:`,u.value,s.locale)});let s=e,c=n,{t:l,locale:u}=(0,r.useI18n)(),d={en:i.enUS,de:i.de,fr:i.fr},f=(0,t.computed)(()=>{let e=s.locale||u.value;return d[e]||i.enUS}),p=(0,t.computed)(()=>{switch(s.locale||u.value){case`en`:return a.Sunday;case`de`:case`fr`:return a.Monday;default:return a.Sunday}}),m=(0,t.computed)(()=>s.inline||!s.picker?{openMenu:!1,format:f.value}:!0);function h(e){return!e||Number.isNaN(e.getTime())?null:e.toISOString().replace(`Z`,``)}function g(e){return!e||Array.isArray(e)?null:h(new Date(`${e}Z`))}function _(e){if(!e||Array.isArray(e))return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:(t.setUTCHours(t.getHours()),h(t))}function v(){let e=s.from||(Array.isArray(s.modelValue)?s.modelValue[0]:null),t=s.to||(Array.isArray(s.modelValue)?s.modelValue[1]:null);return s.utcStore?(e=e?E(e):null,t=t?E(t):null):(e=g(e),t=g(t)),[e,t]}let y=(0,t.ref)(v());(0,t.watch)(()=>[s.modelValue,s.from,s.to,s.utcStore],()=>{if(!s.range)return;let e=v();(e[0]!==y.value[0]||e[1]!==y.value[1])&&(y.value=e)});function b(e,t){s.utcStore?(e=e?D(e):null,t=t?D(t):null):(e=_(e),t=_(t)),c(`update:modelValue`,[e,t]),c(`update:from`,e),c(`update:to`,t)}function x(e,t){y.value=[e??null,t??null],b(e??null,t??null)}let S=(0,t.computed)({get(){if(s.range){let e=s.from||(Array.isArray(s.modelValue)?s.modelValue[0]:null),t=s.to||(Array.isArray(s.modelValue)?s.modelValue[1]:null);return s.utcStore?(e=e?E(e):null,t=t?E(t):null):(e=g(e),t=g(t)),[...e?[e]:[],...t?[t]:[]]}if(s.utcStore){let e=s.modelValue;return e&&E(e)||``}return g(s.modelValue)||``},set(e){if(s.range&&Array.isArray(e)){let[t,n]=e;s.utcStore?(t=D(t)||null,n=D(n)||null):(t=_(t),n=_(n)),c(`update:modelValue`,[t,n]),c(`update:from`,t),c(`update:to`,n)}else if(s.utcStore){let t=D(e);c(`update:modelValue`,t)}else c(`update:modelValue`,_(e))}}),C=(0,t.computed)({get(){return y.value[0]},set(e){x(e,y.value[1])}}),w=(0,t.computed)({get(){return y.value[1]},set(e){x(y.value[0],e)}});function T(e){if(!e)return;let t=e.getDate(),n=e.getMonth()+1,r=e.getFullYear(),i=e.getMinutes(),a=e.getHours();switch(f.value){case`de`:return`${t}.${n}.${r} ${a<10?`0`+a:a}:${i<10?`0`+i:i}`;case`fr`:return`${t}/${n}/${r} ${a<10?`0`+a:a}:${i<10?`0`+i:i}`;default:return`${n}/${t}/${r} ${a<10?`0`+a:a}:${i<10?`0`+i:i}`}}function E(e){if(!e||Array.isArray(e))return null;let t=e instanceof Date?new Date(e):new Date(`${e}Z`);return Number.isNaN(t.getTime())?null:`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}T${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}function D(e){if(!e||Array.isArray(e))return null;let t=e instanceof Date?new Date(e):new Date(String(e));return Number.isNaN(t.getTime())?null:t.toISOString().split(`.`)[0]}let k=e=>(e=Array.isArray(e)?e.map(e=>T(e)).join(` - `):T(e),e);return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`input`,`input--datepicker`])},[(0,t.renderSlot)(n.$slots,`label`,{},()=>[(0,t.createElementVNode)(`div`,Se,[(0,t.createElementVNode)(`div`,Ce,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:e.id,class:`input__label`,innerHTML:(0,t.unref)(O)(`${e.label}${e.required?` *`:``}`)},null,8,we)):(0,t.createCommentVNode)(``,!0)])])]),e.textInput?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Te,[(0,t.createElementVNode)(`div`,Ee,[(0,t.renderSlot)(n.$slots,`input-prepend`,{slotScope:`props`}),e.range&&!e.textRange?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,De,[(0,t.createElementVNode)(`div`,Oe,[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(o.value),{uid:`${e.id}-from`,modelValue:C.value,"onUpdate:modelValue":r[0]||=e=>C.value=e,locale:f.value,format:k,"text-input":m.value,disabled:e.disabled,"read-only":e.readOnly,required:e.required,"max-date":w.value,"auto-apply":!0,"week-start":p.value},null,8,[`uid`,`modelValue`,`locale`,`text-input`,`disabled`,`read-only`,`required`,`max-date`,`week-start`]))]),(0,t.createElementVNode)(`div`,ke,[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(o.value),{uid:`${e.id}-to`,modelValue:w.value,"onUpdate:modelValue":r[1]||=e=>w.value=e,locale:f.value,format:k,"text-input":m.value,disabled:e.disabled,"read-only":e.readOnly,required:e.required,"min-date":C.value,"auto-apply":!0,"week-start":p.value},null,8,[`uid`,`modelValue`,`locale`,`text-input`,`disabled`,`read-only`,`required`,`min-date`,`week-start`]))])])):((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(o.value),{key:1,uid:`${e.id}-input-to`,modelValue:S.value,"onUpdate:modelValue":r[2]||=e=>S.value=e,format:k,locale:f.value,range:e.textRange,"text-input":m.value,disabled:e.disabled,"read-only":e.readOnly,required:e.required,"auto-apply":!0,"week-start":p.value},null,8,[`uid`,`modelValue`,`locale`,`range`,`text-input`,`disabled`,`read-only`,`required`,`week-start`])),(0,t.renderSlot)(n.$slots,`input-append`,{slotScope:`props`})])])):(0,t.createCommentVNode)(``,!0),e.inline?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ae,[(0,t.createElementVNode)(`div`,je,[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(o.value),{uid:`${e.id}-inline`,modelValue:S.value,"onUpdate:modelValue":r[3]||=e=>S.value=e,locale:f.value,cancelText:`abbrechen`,selectText:`auswählen`,range:e.range,"multi-calendars":e.range,inline:{input:!1},"auto-apply":!0,"partial-range":e.range,"partial-flow":!0,"start-time":{hours:0,minutes:0},class:`justify-content-center`,disabled:e.disabled,"read-only":e.readOnly,required:e.required,"month-name-format":`long`,"week-start":p.value},null,8,[`uid`,`modelValue`,`locale`,`range`,`multi-calendars`,`partial-range`,`disabled`,`read-only`,`required`,`week-start`]))])])):(0,t.createCommentVNode)(``,!0)]))}}),Ne={class:`input-group input__input-group`},Pe=(0,t.defineComponent)({__name:`input-password`,props:{modelValue:{type:[String,Number,Boolean,Date],default:``},type:{type:String,default:`text`},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},label:{type:String,default:``},placeholder:{type:String,default:``},variant:{type:String,default:``},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},maxlength:{type:Number},pattern:{type:String,default:null},role:{type:String,default:`presentation`},autocomplete:{type:String,default:`off`},password:{type:String,default:``},confirm:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue},set(e){r.password===e||!r.password?i(`update:modelValue`,e):i(`update:modelValue`,``)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`input`,`input-password`])},[(0,t.createElementVNode)(`div`,Ne,[(0,t.createVNode)(q,{modelValue:a.value,"onUpdate:modelValue":r[0]||=e=>a.value=e,type:`password`,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readOnly,required:e.required,label:e.label},{"input-prepend":(0,t.withCtx)(e=>[(0,t.renderSlot)(n.$slots,`input-prepend`,{slotScope:`props`})]),"input-append":(0,t.withCtx)(r=>[(0,t.renderSlot)(n.$slots,`input-append`,{slotScope:`props`},()=>[e.confirm&&e.modelValue===e.password?((0,t.openBlock)(),(0,t.createBlock)(b,{key:0,symbol:`check`,class:`ms-2`})):(0,t.createCommentVNode)(``,!0)])]),_:3},8,[`modelValue`,`placeholder`,`disabled`,`readonly`,`required`,`label`])])]))}}),Fe={class:`input-group input__input-group`},Ie=[`onUpdate:modelValue`,`disabled`,`readonly`,`onPaste`,`onInput`,`onKeydown`],Le=(0,t.defineComponent)({__name:`input-passcode`,props:{modelValue:{type:[String,Number,Boolean,Date],default:``},type:{type:String,default:`text`},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},label:{type:String,default:``},placeholder:{type:String,default:``},variant:{type:String,default:``},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},maxlength:{type:Number},pattern:{type:String,default:null},role:{type:String,default:`presentation`},autocomplete:{type:String,default:`off`},passcodeMatch:{type:String,default:``},confirm:{type:Boolean,default:!1},splitInput:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=(0,t.ref)([]),i=(0,t.ref)([]),a=e,o=n,s=(0,t.computed)({get(){return a.modelValue},set(e){a.passcodeMatch===e||!a.passcodeMatch?o(`update:modelValue`,e):o(`update:modelValue`,``)}});(0,t.watch)(()=>a.modelValue,e=>{let t=e?.toString()||``;for(i.value=t.split(``).slice(0,a.passcodeMatch?.length||6);i.value.length<(a.passcodeMatch?.length||6);)i.value.push(``)},{immediate:!0}),(0,t.watch)(()=>i.value,e=>{let t=e.join(``);a.passcodeMatch===t||!a.passcodeMatch?o(`update:modelValue`,t):o(`update:modelValue`,``)},{deep:!0});let c=(e,t)=>{e.preventDefault();let n=e.clipboardData?.getData(`text`)||``;console.log(`Paste detected:`,n);let o=n.split(``),s=a.passcodeMatch?.length||6;o.forEach((e,n)=>{let r=t+n;r<s&&(i.value[r]=e)});let c=Math.min(t+o.length,s-1);setTimeout(()=>r.value[c]?.focus(),0)},l=(e,t)=>{a.passcodeMatch?.length,e.key===`Backspace`&&!i.value[t]&&t>0&&r.value[t-1]?.focus()},u=(e,t)=>{let n=e.target.value;n.length>1&&(n=n.slice(-1)),i.value[t]=n;let o=a.passcodeMatch?.length||6;n&&t<o-1&&setTimeout(()=>r.value[t+1]?.focus(),0)};return(n,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`input`,`input-passcode`])},[(0,t.createElementVNode)(`div`,Fe,[e.splitInput?((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:1},(0,t.renderList)(e.passcodeMatch,(n,a)=>(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:a,"onUpdate:modelValue":e=>i.value[a]=e,type:`text`,ref_for:!0,ref:e=>r.value[a]=e,maxlength:1,disabled:e.disabled,readonly:e.readOnly,onPaste:e=>c(e,a),onInput:e=>u(e,a),onKeydown:e=>l(e,a),size:`1`,class:`form-control text-center`},null,40,Ie)),[[t.vModelText,i.value[a]]])),128)):((0,t.openBlock)(),(0,t.createBlock)(Pe,{key:0,modelValue:s.value,"onUpdate:modelValue":a[0]||=e=>s.value=e,type:e.type,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readOnly,required:e.required,label:e.label},null,8,[`modelValue`,`type`,`placeholder`,`disabled`,`readonly`,`required`,`label`]))])]))}}),Re={class:`check-group`},ze=[`id`,`name`,`value`,`disabled`,`read-only`,`required`],Be=[`for`,`innerHTML`],Ve=(0,t.defineComponent)({__name:`check-group`,props:{modelValue:{type:null,default:()=>[]},options:{type:Array,required:!0},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},label:{type:String,default:``},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,i=n;(0,t.ref)([]);let a=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}}),o=(0,t.computed)(()=>r.options&&r.options.map(e=>(e=typeof e==`string`?{text:e,value:e}:e,{...e,active:r.modelValue&&r.modelValue.includes(e.value)})));return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Re,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(o.value,(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:i,class:`form-check`},[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{type:`checkbox`,"onUpdate:modelValue":r[0]||=e=>a.value=e,id:`${e.id}-${i}`,name:e.name,class:`form-check-input`,value:n.value||n,disabled:e.disabled,"read-only":e.readOnly,required:e.required},null,8,ze),[[t.vModelCheckbox,a.value]]),(0,t.createElementVNode)(`label`,{class:`form-check-label`,for:`${e.id}-${i}`,innerHTML:n.text},null,8,Be)]))),128))]))}}),He={class:`input radio-group`},Ue=[`id`,`name`,`value`,`checked`,`disabled`,`read-only`,`required`,`onChange`],We=[`for`,`innerHTML`],Ge=[`for`],J=(0,t.defineComponent)({__name:`radio-group`,props:{modelValue:{type:null},options:{type:Array,default:[]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},label:{type:String,default:``},variant:{type:String,default:``},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},keyOption:{type:null},itemClass:{type:String,default:``}},emits:[`change`,`update:modelValue`],setup(e,{emit:n}){let r=n;function i(e){r(`update:modelValue`,e)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,He,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.options,(r,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:a,class:(0,t.normalizeClass)([`form-check`,e.itemClass])},[(0,t.createElementVNode)(`input`,{type:`radio`,id:`${e.id}-${a}`,name:e.name,class:(0,t.normalizeClass)([`form-check-input`,`
2
2
  ${a===e.keyOption||r.key?`form-check-input--key`:``}
3
3
  ${(a===e.keyOption||r.key)&&r.value===e.modelValue?.value?`form-check-input--match`:``}
4
- `]),value:r.value||r,checked:r.value?r.value===e.modelValue?.value:r===e.modelValue,disabled:e.disabled,"read-only":e.readOnly,required:e.required,onChange:e=>i(r)},null,42,Be),(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,Ve)])],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,He)):(0,t.createCommentVNode)(``,!0)])]))}}),We={class:`radio-buttons`},Ge=[`for`],Ke=(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`,We,[(0,t.createVNode)(Ue,{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,Ge)]),_:1},8,[`modelValue`,`options`,`name`,`id`,`disabled`,`required`])]))}}),qe=[`id`,`name`,`multiple`,`accept`,`disabled`],Je={class:`input__input-group input-group`},Ye=[`value`,`id`,`name`,`disabled`],Xe=[`for`,`disabled`],Ze={class:`btn btn-outline-contrast`},Qe=[`for`],$e=[`innerHTML`],et=(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,qe),(0,t.createElementVNode)(`div`,Je,[(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,Ye),(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`,Ze,(0,t.toDisplayString)(n.$t(`common.selectFile`)),1)])],8,Xe)])]),(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,$e)])],8,Qe)]))}}),tt={key:0,class:`custom-html`},nt=[`innerHTML`],rt=(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`,tt,[(0,t.renderSlot)(r.$slots,`default`,{},()=>[(0,t.createElementVNode)(`div`,{class:`custom-html__content`,innerHTML:e.content},null,8,nt)])])):(0,t.createCommentVNode)(``,!0)}}),it={class:`select-media`},at=[`for`],ot=(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`,it,[(0,t.createVNode)(Ue,{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,at)]),_:1},8,[`modelValue`,`options`,`name`,`id`,`disabled`,`required`])]))}}),st={key:0,class:`rte-editor__controls mb-2`},ct=[`disabled`],lt=[`disabled`],ut={class:`btn-group`},dt=[`disabled`],ft=[`disabled`],pt={class:`btn-group`},mt={class:`dropdown`},ht={class:`btn dropdown-toggle btn-light`,"data-bs-toggle":`dropdown`,role:`button`,type:`button`},gt={class:`dropdown-menu`},_t={class:`dropdown`},vt={class:`btn dropdown-toggle btn-light`,"data-bs-toggle":`dropdown`,role:`button`,type:`button`},yt={class:`dropdown-menu`},bt={class:`btn-group`},xt=[`disabled`],St=[`disabled`],Ct=[`title`],wt=(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`,st,[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,lt)):((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,ct)),(0,t.createElementVNode)(`div`,ut,[(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,dt),(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,ft)]),(0,t.createElementVNode)(`div`,pt,[(0,t.createElementVNode)(`div`,mt,[(0,t.createElementVNode)(`button`,ht,[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`,gt,[(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`,_t,[(0,t.createElementVNode)(`button`,vt,[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`,yt,[(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`,bt,[(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,xt),(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,St)]),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,Ct)):(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`]))}}),Tt={class:`input-color`},Et={class:`base-input__color-swatch`},Dt=[`name`,`id`,`disabled`,`read-only`,`required`,`aria-label`],Ot=(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`,Tt,[(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`,Et,[(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,Dt),[[t.vModelText,a.value]])])]),_:1},8,[`modelValue`,`type`,`id`,`name`,`placeholder`,`pattern`,`label`,`disabled`,`read-only`,`required`,`maxlength`])]))}}),kt={class:`color-palette`},At=[`for`],jt=(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`,kt,[(0,t.createVNode)(Ue,{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,At)]),_:1},8,[`modelValue`,`options`,`name`,`id`,`label`,`disabled`,`required`])]))}}),Mt=[`id`],Nt=[`for`,`innerHTML`],Pt={class:`dropdown`},Ft={class:`caption`},It=[`innerHTML`],Lt={class:`caption__text`},Rt={class:`d-block text-truncate`},zt={class:`dropdown-menu`},Bt={class:`form-check d-flex`},Vt=[`value`,`id`,`name`,`label`,`required`,`disabled`],Ht=[`value`,`id`,`name`,`label`,`required`,`disabled`],Ut=[`for`],Q=(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,Nt)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,Pt,[(0,t.createVNode)(se,{id:`${e.id||e.name}--dropdown-toggle`,"data-bs-toggle":`dropdown`,role:`button`,type:`button`,title:l.value,class:`btn dropdown-toggle`,color:e.color,outlined:e.outlined,disabled:e.disabled},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Ft,[(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,It)):(0,t.createCommentVNode)(``,!0)]),_:1}),(0,t.createElementVNode)(`span`,Lt,[(0,t.createElementVNode)(`span`,Rt,(0,t.toDisplayString)(e.toggleCaption||l.value),1)])])]),_:1},8,[`id`,`title`,`color`,`outlined`,`disabled`]),(0,t.createElementVNode)(`ul`,zt,[((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`,Bt,[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,Vt)),[[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,Ht)),[[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,Ut)])],2)]))),128))])])],8,Mt))}}),Wt={key:0,class:`auto-suggest__suggestions position-relative`},Gt={class:`suggestions dropdown-menu show w-100 mt-2`},Kt=[`onClick`],qt=[`innerHTML`],Jt=(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`,Wt,[(0,t.createElementVNode)(`ul`,Gt,[((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,qt)],8,Kt))),128))])])):(0,t.createCommentVNode)(``,!0)],512))}});function Yt(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}}var Xt={class:`zoom-slider`},Zt=[`min`,`max`,`step`,`value`],Qt={class:`zoom-slider__ticks`},$t=(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`,Xt,[(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,Zt),(0,t.createElementVNode)(`div`,Qt,[((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))])]))}}),en=`data:image/png;base64,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`,tn={class:`camera__preview`},nn={key:0,class:`camera__bg-notification`},rn=[`innerHTML`],an=[`width`,`height`],on={key:1,class:`camera__countdown-overlay`},sn=[`innerHTML`,`data-countdown`],cn=[`src`],ln={key:3,class:`camera__zoom-slider`},un={class:`camera__controls`},dn={class:`container`},fn={class:`row`},pn={class:`col`},mn={class:`btn-group`},hn={key:0},gn={key:1},_n={key:0,class:`camera__select-device`},vn={class:`col`},yn={class:``},bn={name:`BaseCamera`,inheritAttrs:!1},xn={"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}},Sn=(0,t.defineComponent)({...bn,props:{modelValue:{type:null},enableSwitchCamera:{type:Boolean,default:!0},defaultRearCamera:{type:Boolean,default:!1},enableMirrorCamera:{type:Boolean,default:!1},enableGuide:{type:Boolean,default:!0},guideSrc:{type:String,default:()=>en},countdown:{type:Number,default:0},ratio:{type:String,default:``},filter:{type:String,default:`none`,validator:e=>[`none`,`grayscale`,`sepia`].includes(e)},tintColor:{type:String,default:``},tintIntensity:{type:Number,default:.3},enableAudio:{type:Boolean,default:!1},enableSelectDevice:{type:Boolean,default:!1},enableCropImage:{type:Boolean,default:!0},resolutions:{type:Object,default:()=>xn},zoom:{type:Number,default:1},enableZoomSlider:{type:Boolean,default:!1},correctOrientation:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{expose:n,emit:r}){let{debounce:i}=a.default,o=e,s=r,c=(0,t.ref)(),l=(0,t.ref)(),u=(0,t.ref)(!1),d=(0,t.ref)([]),f=(0,t.ref)(),p=(0,t.ref)(),m=(0,t.ref)(),h=(0,t.ref)(),g=(0,t.ref)(),_=(0,t.ref)(!1),v=(0,t.ref)(!1),y=(0,t.ref)(0),x=(0,t.ref)(0),C=(0,t.ref)(),w=(0,t.ref)(o.zoom||1),T=(0,t.ref)(!1),E=(0,t.ref)(!1),D=(0,t.ref)(null),O=(0,t.ref)(!1),k,A,j=typeof window<`u`&&`DeviceMotionEvent`in window&&(window.matchMedia?.(`(pointer: coarse)`)?.matches||`ontouchstart`in window),M=(0,t.computed)(()=>o.correctOrientation&&j),N=(0,t.computed)(()=>u.value&&(!M.value||O.value));(0,t.watch)(N,e=>{e&&X(J)},{flush:`post`});function P(){A&&=(window.removeEventListener(`pointerdown`,A,!0),window.removeEventListener(`touchend`,A,!0),void 0)}function F(){O.value=!0,k&&=(clearTimeout(k),void 0),P()}function I(){A||(A=()=>{ne()},window.addEventListener(`pointerdown`,A,!0),window.addEventListener(`touchend`,A,!0))}function te(e){let t=e.accelerationIncludingGravity;if(!t||t.x==null||t.y==null)return;let n=Math.round(Math.atan2(t.x,t.y)*180/Math.PI);if(D.value=n,!(typeof screen<`u`&&screen.orientation&&screen.orientation.type||`portrait-primary`).startsWith(`portrait`))E.value=!1;else{let e=Math.abs(Math.abs(n)-90);!E.value&&e<40?E.value=!0:E.value&&e>50&&(E.value=!1)}O.value||F()}async function ne(){if(!(!o.correctOrientation||T.value))try{let e=window.DeviceOrientationEvent,t=window.DeviceMotionEvent;if(e&&typeof e.requestPermission==`function`&&await e.requestPermission()!==`granted`){F();return}t&&typeof t.requestPermission==`function`&&await t.requestPermission().catch(()=>{}),window.addEventListener(`devicemotion`,te,!0),T.value=!0,P()}catch(e){console.error(e,`enableMotion: failed`),F()}}let L=(0,t.computed)(()=>({...xn,...o.resolutions})),re=(0,t.computed)(()=>Object.values(L.value)[0]);function R(e){return String(e||``).trim().toLowerCase().replace(/\s+/g,``).replace(/[:/]/g,`x`)}let z=(0,t.computed)(()=>{if(L.value[o.ratio])return o.ratio;let e=R(o.ratio);if(L.value[e])return e}),B=(0,t.computed)(()=>z.value?L.value[z.value]:re.value),V=(0,t.computed)(()=>{let e=z.value?L.value[z.value]:void 0;return e?`${e.width} / ${e.height}`:void 0}),H=(0,t.computed)(()=>d.value.filter(e=>e.kind===`videoinput`)),ie=(0,t.computed)(()=>d.value.filter(e=>e.kind===`audioinput`)),U=(0,t.ref)([]),W=(0,t.computed)(()=>H.value.filter(e=>!U.value.includes(e.deviceId)));function ae(e){e&&!U.value.includes(e)&&(U.value=[...U.value,e])}function oe(e){let t=H.value;if(!t.length)return;let n=t.findIndex(t=>t.deviceId===e);for(let e=1;e<=t.length;e++){let r=t[(Math.max(n,0)+e)%t.length];if(r&&!U.value.includes(r.deviceId))return r}}let G=(0,t.computed)(()=>W.value.map((e,t)=>({text:e.label.slice(0,e.label.indexOf(`(`))||`Camera ${t+1}`,value:e.deviceId}))),se=(0,t.computed)({get(){return f.value&&f.value.deviceId},set(e){f.value=H.value.find(t=>t.deviceId===e),m.value=void 0}});(0,t.computed)({get(){return p.value&&p.value.deviceId},set(e){p.value=ie.value.find(t=>t.deviceId===e)}});let K=(0,t.computed)(()=>o.enableMirrorCamera?h.value?h.value===`user`?`mirror-cam`:``:m.value?m.value===`user`?`mirror-cam`:``:(f.value&&H.value.findIndex(e=>e.deviceId===f.value?.deviceId))===0?`mirror-cam`:``:``),ce=(0,t.computed)(()=>{let e=f.value&&d.value.findIndex(e=>e.deviceId===f.value?.deviceId);return K.value?`${K.value} mirror-device-${e}`:``}),{tintRgb:le,applyFilterToCanvas:ue}=Yt(o);function q(){if(z.value&&B.value){y.value=B.value.width,x.value=B.value.height;return}y.value=c.value.parentElement&&c.value.parentElement.clientWidth,x.value=c.value.parentElement&&c.value.parentElement.clientHeight}let de=i(()=>{q()},300,{trailing:!0,leading:!1});function fe(e){return new Promise(t=>setTimeout(t,e))}async function pe(){let e=B.value?{width:B.value.width,height:B.value.height}:void 0,t=e?Math.max(e.width,e.height):void 0,n=e?Math.min(e.width,e.height):void 0,r=o.enableAudio&&{...p.value?{deviceId:p.value.deviceId}:{}},i=f.value&&f.value.deviceId,a=m.value,s=[];i?(t&&n&&s.push({deviceId:{exact:i},width:{ideal:t},height:{ideal:n}}),s.push({deviceId:{exact:i}})):a?(t&&n&&s.push({facingMode:{exact:a},width:{ideal:t},height:{ideal:n}}),s.push({facingMode:{exact:a}}),t&&n&&s.push({width:{ideal:t},height:{ideal:n}}),s.push({})):(t&&n&&s.push({width:{ideal:t},height:{ideal:n}}),s.push({}));for(let e of s)for(let t=0;t<5;t++)try{return await navigator.mediaDevices.getUserMedia({audio:r,video:e})}catch(e){let t=e&&e.name;if(t===`NotReadableError`||t===`AbortError`){await fe(500);continue}break}}function me(){c.value&&c.value.srcObject&&(c.value.srcObject.getTracks().forEach(e=>{e.stop()}),c.value.srcObject=null)}let J=0,he,ge;function Y(){he&&=(clearTimeout(he),void 0),ge&&=(ge(),void 0)}function _e(e){ae(e);let t=oe(e);t&&t.deviceId!==e&&(f.value=t)}function ve(e){Y();let t=f.value&&f.value.deviceId,n=c.value;if(!t||!n)return;let r=n.srcObject&&n.srcObject.getVideoTracks?.()[0];if(!r||typeof r.addEventListener!=`function`||n.videoWidth>0)return;let i=()=>{if(Y(),e!==J||!c.value)return;let n=oe(t);n&&n.deviceId!==t&&(me(),_e(t))},a=()=>{e===J&&c.value&&c.value.videoWidth>0&&Y()},o=()=>{i()};r.addEventListener(`unmute`,a),r.addEventListener(`ended`,o),ge=()=>{r.removeEventListener(`unmute`,a),r.removeEventListener(`ended`,o)},he=setTimeout(()=>{he=void 0,!(e!==J||!c.value)&&(c.value.videoWidth===0?i():Y())},8e3)}let ye=0;async function X(e){for(let t=0;t<3;t++){if(e!==J||!c.value)return;try{await c.value.play?.();return}catch{t<2&&await fe(300)}}}function be(){return!!(c.value&&c.value.videoWidth>0)}function xe(e,t){return new Promise(n=>{let r=Date.now(),i=()=>{if(e!==J||!c.value)return n(!1);if(be())return n(!0);if(Date.now()-r>=t)return n(!1);setTimeout(i,100)};i()})}async function Se(e){if(typeof(c.value?.srcObject)?.getVideoTracks?.()[0]?.addEventListener!=`function`||await xe(e,800)||e!==J||!c.value||(await X(e),await xe(e,800))||e!==J||!c.value)return;let n=c.value,r=n.style.display;if(n.style.display=`none`,n.offsetHeight,n.style.display=r,await X(e),await xe(e,800)||e!==J||!c.value)return;let i=c.value.srcObject;i&&(c.value.srcObject=null,await(0,t.nextTick)(),e!==J||!c.value||(c.value.srcObject=i,await X(e),await xe(e,800)))||e===J&&await Z()}function Ce(){document.visibilityState!==`visible`||!_.value||!c.value||(c.value.paused||c.value.videoWidth===0)&&X(J)}async function Z(){let e=++J;Y();let t=!!(c.value&&c.value.srcObject);if(me(),g.value=void 0,t&&(await fe(350),e!==J))return;let n=await pe();if(e!==J){n?.getTracks?.().forEach(e=>e.stop());return}if(n&&c.value){ye=0,c.value.srcObject=n;let t=n.getVideoTracks?.()[0]?.getSettings?.();h.value=t?.facingMode,g.value=t?.deviceId,c.value.muted=!0,await X(e),ve(e),Se(e)}else if(!n&&f.value){ye<2&&(ye++,await fe(600),e===J&&await Z());return}return d.value=await navigator.mediaDevices.enumerateDevices(),{stream:c.value&&c.value.srcObject,devices:d.value}}function we(){_.value?(_.value=!1,v.value=!1,me()):(_.value=!0,Z())}function Te(){f.value=void 0,m.value=m.value===`user`?`environment`:`user`,Z()}async function Ee(e,t){e&&e.deviceId===g.value||e&&(!t||e.deviceId!==t.deviceId)&&await Z()}(0,t.watch)(()=>f.value,Ee),(0,t.watch)(()=>p.value,Ee);function De(){o.countdown?(C.value=C.value?C.value-1:o.countdown,C.value?setTimeout(De,1e3):Ae()):Ae()}n({onCapture:De,enableMotion:ne,camera:c.value,zoom:w});function Oe(){if(!o.correctOrientation||D.value==null)return 0;let e=((D.value-180)%360+360)%360;return(-1*(Math.round(e/90)*90%360)%360+360)%360}function ke(e,t,n,r,i){let a=l.value.width,o=l.value.height;e.translate(a/2,o/2),K.value&&e.scale(-1,1),e.rotate(n*Math.PI/180);let s=o,c=a,u=Math.max(s/r,c/i)*(w.value&&w.value>0?w.value:1),d=r*u,f=i*u;e.drawImage(t,-d/2,-f/2,d,f)}function Ae(){v.value=!0;let e=l.value.getContext(`2d`),t=c.value,n=t&&t.srcObject&&t.srcObject.getTracks(),{aspectRatio:r,width:i,height:a}=n.length&&n[0].getSettings(),s=t?.videoWidth||i||y.value,u=t?.videoHeight||a||x.value,d=s&&u?s/u:r,f=B.value||{width:s,height:u},p=f?.width||s,m=z.value?f?.height||u:Math.round(p/d),h=p/m;if(l.value.width=p,l.value.height=m,!s||!u||!d)return;let g=Oe();if(e.save(),g===90||g===270){ke(e,t,g,s,u),e.restore(),ue(e,l.value.width,l.value.height),je(l.value.toDataURL(`image/png`));return}if(g===180&&(e.translate(l.value.width,l.value.height),e.scale(-1,-1)),K.value&&(e.translate(l.value.width,0),e.scale(-1,1)),o.enableCropImage){let n=0,r=0,i=s,a=u;if(d>h?(i=u*h,n=(s-i)/2):d<h&&(a=s/h,r=(u-a)/2),w.value&&w.value!==1){let e=i/w.value,t=a/w.value;n+=(i-e)/2,r+=(a-t)/2,i=e,a=t}e.drawImage(t,n,r,i,a,0,0,l.value.width,l.value.height)}else{let n=l.value.width,r=l.value.height,i=0,a=0;if(d>h?(r=l.value.width/d,a=(l.value.height-r)/2):d<h&&(n=l.value.height*d,i=(l.value.width-n)/2),w.value&&w.value!==1){let o=s/w.value,c=u/w.value,d=(s-o)/2,f=(u-c)/2;K.value&&(i=l.value.width-i-n),e.drawImage(t,d,f,o,c,i,a,n,r)}else K.value&&(i=l.value.width-i-n),e.drawImage(t,0,0,s,u,i,a,n,r)}e.restore(),ue(e,l.value.width,l.value.height),je(l.value.toDataURL(`image/png`))}function je(e){let t=ee(e);s(`update:modelValue`,{name:`cam-pic-${new Date().toISOString()}`,id:`cam-pic-${new Date().toISOString()}`,blob:t,size:t.size})}return(0,t.onMounted)(async()=>{m.value=o.defaultRearCamera?`environment`:`user`,await Z(),_.value=!0;let e=H.value.find(e=>e.deviceId===g.value),n=o.defaultRearCamera&&H.value.length>1?H.value[H.value.length-1]:e||H.value[0];if(f.value=n,o.enableAudio&&(p.value=ie.value[0]),navigator.mediaDevices.addEventListener(`devicechange`,async e=>{await Z()}),document.addEventListener(`visibilitychange`,Ce),window.addEventListener(`resize`,de),q(),M.value){k=setTimeout(F,3e3);let e=window.DeviceOrientationEvent;e&&typeof e.requestPermission==`function`?I():ne()}await(0,t.nextTick)(),u.value=!0}),(0,t.onBeforeUnmount)(()=>{_.value=!1,v.value=!1,Y(),me(),window.removeEventListener(`resize`,de),window.removeEventListener(`devicemotion`,te,!0),document.removeEventListener(`visibilitychange`,Ce),k&&clearTimeout(k),P()}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`camera`,ce.value])},[(0,t.createElementVNode)(`div`,tn,[N.value?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,nn,[(0,t.createVNode)(S,{color:`#000`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)(`d-block text-center`),innerHTML:n.$t(`camera.waitForCameraNotification`)},null,8,rn)]),_:1})])),(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`camera__video-wrapper`,z.value?`aspect-ratio--${z.value}`:``]),style:(0,t.normalizeStyle)({aspectRatio:V.value||void 0,transform:w.value===1?void 0:`scale(${w.value})`})},[(0,t.createElementVNode)(`video`,{ref_key:`camera`,ref:c,class:`camera__video`,style:(0,t.normalizeStyle)({filter:o.filter===`grayscale`?`grayscale(100%)`:o.filter===`sepia`?`sepia(100%)`:`none`,transform:e.correctOrientation&&E.value?`rotate(180deg)`:void 0}),autoplay:``,muted:``,playsinline:``},null,4),e.tintColor?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`camera__tint-overlay`,style:(0,t.normalizeStyle)({backgroundColor:e.tintColor,opacity:e.tintIntensity,mixBlendMode:`multiply`})},null,4)):(0,t.createCommentVNode)(``,!0)],6),[[t.vShow,N.value]]),(0,t.withDirectives)((0,t.createElementVNode)(`canvas`,{ref_key:`canvas`,ref:l,class:`camera__canvas`,width:y.value,height:x.value},null,8,an),[[t.vShow,v.value]]),C.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,on,[((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{class:`countdown`,key:C.value,innerHTML:C.value,"data-countdown":C.value},null,8,sn))])):(0,t.createCommentVNode)(``,!0),e.enableGuide&&_.value&&N.value?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:2,class:`camera__guide`,src:e.guideSrc},null,8,cn)):(0,t.createCommentVNode)(``,!0),e.enableZoomSlider?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ln,[(0,t.createVNode)($t,{modelValue:w.value,"onUpdate:modelValue":r[0]||=e=>w.value=e},null,8,[`modelValue`])])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,un,[(0,t.createElementVNode)(`div`,dn,[(0,t.createElementVNode)(`div`,fn,[(0,t.createElementVNode)(`div`,pn,[(0,t.createElementVNode)(`div`,mn,[(0,t.createElementVNode)(`button`,{type:`button`,class:`camera__toggle btn btn-primary`,onClick:we},[_.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,gn,(0,t.toDisplayString)(n.$t(`common.pause`)),1)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,hn,(0,t.toDisplayString)(n.$t(`common.play`)),1))]),(0,t.createElementVNode)(`button`,{type:`button`,class:`camera__capture btn btn-primary`,onClick:De},(0,t.toDisplayString)(n.$t(`camera.capture`)),1)])])])])]),(e.enableSwitchCamera||e.enableSelectDevice)&&W.value&&W.value.length>1?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,_n,[(0,t.createElementVNode)(`div`,vn,[e.enableSelectDevice?((0,t.openBlock)(),(0,t.createBlock)(Q,{key:0,modelValue:se.value,"onUpdate:modelValue":r[1]||=e=>se.value=e,options:G.value,class:`w-100`},null,8,[`modelValue`,`options`])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,yn,[e.enableSwitchCamera?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:`btn`,onClick:(0,t.withModifiers)(Te,[`prevent`])},[(0,t.createVNode)(b,{symbol:`switch-camera`})])):(0,t.createCommentVNode)(``,!0)])])):(0,t.createCommentVNode)(``,!0)],2))}}),Cn={class:`base-map`},wn={key:0,class:`base-map__label`},Tn={key:0,class:`base-map__hint`},En=(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`,Cn,[(0,t.renderSlot)(n.$slots,`label`,{},()=>[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,wn,(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`,Tn,(0,t.toDisplayString)(e.helperText),1)):(0,t.createCommentVNode)(``,!0)]))}}),Dn={class:`location-list`,"data-testid":`location-list`},On={key:0,class:`location-list__label`},kn={key:1,class:`location-list__items`},An=[`data-testid`,`onClick`],jn={class:`location-list__title`},Mn={key:0,class:`location-list__description`},Nn={key:1,class:`location-list__distance`},Pn={key:2,class:`location-list__empty`},Fn=(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`,Dn,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,On,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0),e.locations.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,kn,[((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`,jn,(0,t.toDisplayString)(a(n)),1),o(n)?((0,t.openBlock)(),(0,t.createElementBlock)(`small`,Mn,(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`,Nn,(0,t.toDisplayString)(u(Number(n.distance)))+` away `,1)):(0,t.createCommentVNode)(``,!0)],10,An))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Pn,(0,t.toDisplayString)(e.emptyText),1))]))}});function In(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 Ln(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||o.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 Rn(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 zn=[`src`],Bn=[`onClick`],Vn=[`onClick`],Hn=[`for`],Un=[`innerHTML`],Wn={key:0,class:`file-upload__loading-spinner`},Gn=(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}=Ln(r),{toLocalUrl:u,revoke:d}=Rn((0,t.toRef)(r,`localUrlFormat`)),{isDragging:f}=In(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,zn),(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>m(i),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,Bn)],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,Vn))])],2))),128)),(0,t.createVNode)(et,{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,Un)]),(0,t.createVNode)(t.Transition,{name:`fade`},{default:(0,t.withCtx)(()=>[(0,t.unref)(c)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Wn,[...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,Hn)])],2))}}),Kn={class:`container-fluid`},qn={class:`row`},Jn={key:0,class:`col-12`},Yn={class:`py-4 px-3 d-flex align-items-center border border-bottom-0`},Xn=[`innerHTML`],Zn={class:`col-12`},Qn={key:0,class:`grid place-items-center text-center text-muted py-5 border border-bottom-0`},$n={class:`m-0`},er={class:`preview-item border-bottom p-3`},tr={class:`d-flex gap-3`},nr={class:`col-2`},rr={class:`col d-flex flex-column`},ir={class:`file-meta text-muted small mb-2`},ar={class:`fw-semibold`},or={key:0},sr={key:1},cr=[`onUpdate:modelValue`,`id`],lr=[`innerHTML`],ur={key:2,class:`upload-progress mt-3 mb-0`},dr=[`value`],fr={class:`col-auto d-flex flex-column gap-2`},pr=[`onClick`],mr=[`onClick`],hr={class:`d-flex justify-content-between align-items-center`},gr={class:`file-upload__info p-3`},_r={key:0,class:`text-muted small`},vr={class:`file-upload__label`},yr={class:`d-flex align-items-end p-3`},br=[`for`],xr=[`innerHTML`],Sr=(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`,Kn,[(0,t.createElementVNode)(`div`,qn,[e.hasHeader?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Jn,[(0,t.createElementVNode)(`div`,Yn,[(0,t.createElementVNode)(`p`,{class:`fw-bold m-0`,innerHTML:(0,t.unref)(O)(e.title||n.$t(`fileInput.bulkUploadHeadline`))},null,8,Xn),(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`,Zn,[c.value.length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Qn,[(0,t.createElementVNode)(`p`,$n,(0,t.toDisplayString)(n.$t(`fileInput.noFilesSelected`)),1)])),(0,t.createVNode)(Gn,{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`,er,[(0,t.createElementVNode)(`div`,tr,[(0,t.createElementVNode)(`div`,nr,[(0,t.createVNode)(a,{src:o.src,alt:``,class:`img-thumbnail`},null,8,[`src`])]),(0,t.createElementVNode)(`div`,rr,[(0,t.createElementVNode)(`div`,ir,[(0,t.createElementVNode)(`div`,ar,(0,t.toDisplayString)(o.name||n.$t(`fileInput.unknownFile`)),1),(0,t.createElementVNode)(`div`,null,[o.size?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,or,(0,t.toDisplayString)(y(o.size)),1)):(0,t.createCommentVNode)(``,!0),o.lastModified?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,sr,` · `+(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,cr)),[[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,lr)),e.showProgress&&o.uploadProgress?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ur,[(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,dr)])])):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,fr,[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,pr)):(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,mr)):(0,t.createCommentVNode)(``,!0)])])])]),label:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`button`,{},()=>[(0,t.createElementVNode)(`span`,hr,[(0,t.createElementVNode)(`span`,gr,[(0,t.renderSlot)(n.$slots,`info`,{},()=>[e.maxFiles>0||e.minFiles>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,_r,(0,t.toDisplayString)(g.value),1)):(0,t.createCommentVNode)(``,!0)])]),(0,t.createElementVNode)(`span`,vr,[(0,t.createElementVNode)(`span`,yr,[(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,xr)],10,br)])])])])]),_:3},8,[`id`,`modelValue`])])])])],512)}}}),Cr=[`onDragenter`,`onDragover`,`onDragleave`,`onDragend`,`onDrop`,`innerHTML`],wr=[`draggable`,`onDragstart`,`onDrag`,`onDragenter`,`onDragover`,`onDragleave`,`onDragend`,`onDrop`],Tr={key:0,class:`sortable-list__drag-handle`},Er=[`onDragstart`,`onDrag`],Dr={key:0,class:`sortable-list__item`},Or=(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,Cr)):(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`,Tr,[(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,Er)])):(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,wr)],64))),128)),p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,Dr,[(0,t.renderSlot)(n.$slots,`list-append`)])):(0,t.createCommentVNode)(``,!0)]),_:3},8,[`class`]))}}),kr={key:0,class:`image-editor position-relative`},Ar={class:`row mb-3`},jr={class:`col`},Mr={class:`row gap-2 mb-4`},Nr={class:`col-12`},Pr={class:`input mb-2`},Fr={class:`col`},Ir={class:`input mb-0`},Lr={class:`col`},Rr={class:`input mb-0`},zr={class:`row`},Br={class:`col d-flex justify-content-end gap-2`},Vr=[`disabled`],Hr=(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}=a.default,i=n,o=(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=o.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=o.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`,kr,[(0,t.createElementVNode)(`div`,Ar,[(0,t.createElementVNode)(`div`,jr,[(0,t.createVNode)(w,{ref_key:`image`,ref:o,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`,Mr,[(0,t.createElementVNode)(`div`,Nr,[(0,t.createElementVNode)(`div`,Pr,[(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`,Fr,[(0,t.createElementVNode)(`div`,Ir,[(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`,Lr,[(0,t.createElementVNode)(`div`,Rr,[(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`,zr,[(0,t.createElementVNode)(`div`,Br,[(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,Vr)])])])):(0,t.createCommentVNode)(``,!0)}}),Ur=h((()=>{})),Wr={key:0,class:`image-crop`},Gr={class:`row mb-4`},Kr={class:`col`},qr={class:`row`},Jr={class:`col d-flex gap-2 justify-content-end gap-2`},Yr=(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(()=>_(Ur(),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`,Wr,[(0,t.createElementVNode)(`div`,Gr,[(0,t.createElementVNode)(`div`,Kr,[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`,qr,[(0,t.createElementVNode)(`div`,Jr,[(0,t.createVNode)(Q,{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)}}),Xr={key:0,class:`image-crop-resize position-relative`},Zr={class:`row`},Qr={class:`col`},$r={key:3,class:`alert alert-warning mt-4 small p-2`},ei={key:4},ti={class:`row`},ni={class:`col-12`},ri={class:`d-flex`},ii={key:0,class:`d-flex gap-3`},ai={class:`caption`},oi={class:`caption`},si={key:1,class:`ms-auto`},ci=(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`,Xr,[(0,t.createElementVNode)(`div`,Zr,[(0,t.createElementVNode)(`div`,Qr,[a.value||o.value?a.value?((0,t.openBlock)(),(0,t.createBlock)(Hr,{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)(Yr,{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`,$r,(0,t.toDisplayString)(n.$t(`common.svgWarning`)),1)):(0,t.createCommentVNode)(``,!0),!o.value&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`hr`,ei)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,ti,[(0,t.createElementVNode)(`div`,ni,[(0,t.createElementVNode)(`div`,ri,[!o.value&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ii,[(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`,ai,(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`,oi,(0,t.toDisplayString)(n.$t(`common.resize`)),1)])])):(0,t.createCommentVNode)(``,!0),!o.value&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,si,[(0,t.renderSlot)(n.$slots,`submit`)])):(0,t.createCommentVNode)(``,!0)])])])])])])):(0,t.createCommentVNode)(``,!0)}}),li={class:`modal-dialog__content d-flex flex-column`},ui={class:`modal-dialog__header d-flex p-3 border-bottom`},di={key:0,class:`modal-dialog__title`,id:`exampleModalLabel`},fi={class:`modal-dialog__body`},pi={key:0,class:`modal-dialog__footer d-flex p-3 border-top`},mi=(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`,li,[(0,t.createElementVNode)(`div`,ui,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`h5`,di,(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`,fi,[(0,t.renderSlot)(n.$slots,`default`)]),e.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,pi,[(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))}}),hi={class:`image-upload__controls`},gi={class:`d-flex gap-1 align-items-center`},_i={key:1,class:`image-upload__controls`},vi=[`for`],yi=[`innerHTML`],bi={key:0,class:`image-upload__loading-spinner`},xi=(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}=Ln(r),{toLocalUrl:h,revoke:g}=Rn((0,t.toRef)(r,`localUrlFormat`)),{isDragging:_}=In(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 te(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`,hi,[(0,t.createElementVNode)(`div`,gi,[(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`,_i,[(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)(et,{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,yi)]),(0,t.createVNode)(t.Transition,{name:`fade`},{default:(0,t.withCtx)(()=>[(0,t.unref)(p)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,bi,[...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,vi)),(0,t.createVNode)(mi,{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)(ci,{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))}}),Si={class:`upload-group`},Ci=[`innerHTML`],wi={class:`upload-group__list`},Ti={class:`img-container`},Ei=[`src`],Di={class:`item-overlay`},Oi=[`onClick`],ki={role:`button`,class:`img-thumbnail d-flex justify-content-center align-items-center`},Ai={role:`button`,class:`img-thumbnail d-flex justify-content-center align-items-center`},ji=(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`,Si,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,innerHTML:(0,t.unref)(O)(e.label)},null,8,Ci)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,wi,[(0,t.createVNode)(Or,{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`,Ti,[(0,t.createElementVNode)(`img`,{src:`${r}${e.previewWidth?`?width=${e.previewWidth}`:``}`,class:`img-thumbnail`},null,8,Ei),(0,t.createElementVNode)(`div`,Di,[(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>s(i),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,Oi),(0,t.renderSlot)(n.$slots,`item-overlay`,{item:r,index:i})])])]),"list-append":(0,t.withCtx)(()=>[e.useImageUpload?((0,t.openBlock)(),(0,t.createBlock)(xi,{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`,ki,[(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)(Gn,{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`,Ai,[(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`])])]))}}),Mi={class:`asset-uploader`},Ni=[`innerHTML`],Pi=(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`,Mi,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,innerHTML:(0,t.unref)(O)(e.label)},null,8,Ni)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(ji,{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)(Q,{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`])]))}}),Fi=[`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,Fi))}}),Ii={class:`preset-uploader`},Li=[`innerHTML`],Ri={class:`preset-uploader__list`},zi=[`popovertarget`],Bi=[`src`],Vi=[`onClick`],Hi={class:`preset-uploader__popover p-2 d-flex gap-2 align-items-start`},Ui=[`popovertarget`],Wi=[`src`],Gi={class:`d-flex flex-column gap-2`},Ki={role:`button`,class:`btn btn-sm w-100 d-inline-flex align-items-center`},qi={role:`button`,class:`btn btn-sm w-100 d-inline-flex align-items-center`},Ji={key:1,class:`preset-group border border-2 rounded d-flex gap-1 p-1`},Yi=[`popovertarget`],Xi=[`src`],Zi=[`src`],Qi=[`onClick`],$i={class:`preset-uploader__popover p-2 d-flex gap-2 align-items-start`},ea=[`popovertarget`],ta=[`src`],na={class:`d-flex flex-column gap-2`},ra={role:`button`,class:`img-thumbnail text-dark d-flex justify-content-center align-items-center`},ia={role:`button`,class:`img-thumbnail text-dark d-flex justify-content-center align-items-center`},aa={class:`preset-uploader__popover p-2 d-flex gap-2 align-items-start`},oa=[`onClick`],sa={role:`button`,class:`img-thumbnail d-flex justify-content-center align-items-center`},ca={role:`button`,class:`img-thumbnail text-dark d-flex justify-content-center align-items-center`},la=(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`,Ii,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,innerHTML:(0,t.unref)(O)(e.label)},null,8,Li)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Ri,[(0,t.createVNode)(Or,{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`,Ji,[((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,Xi)],8,Yi)):((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:1,src:n.thumbnail||n.src,class:`img-thumbnail border-0 p-0`},null,8,Zi)),(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,Qi),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`,$i,[(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,ta)],8,ea),(0,t.createElementVNode)(`div`,na,[(0,t.createVNode)(Q,{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)(xi,{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`,ra,[(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)(Gn,{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`,ia,[(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`,aa,[(0,t.createVNode)(Q,{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,oa)])):((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,Bi)],8,zi),(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>v(i),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,Vi),(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`,Hi,[(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,Wi)],8,Ui),(0,t.createElementVNode)(`div`,Gi,[e.showTypeDropdown?((0,t.openBlock)(),(0,t.createBlock)(Q,{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)(Q,{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)(xi,{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`,Ki,[(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)(Gn,{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`,qi,[(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)(xi,{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`,sa,[(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)(Gn,{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`,ca,[(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`])])]))}}),ua=`https://router.project-osrm.org/route/v1`;function da(){let e=(0,t.ref)([]),n=(0,t.ref)(null),r=(0,t.ref)(null),i=(0,t.ref)([]),a=(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;a.value=!0;let d=u.customFetch||o.ofetch,f=(u.endpoint||ua).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=>fa(e)):[]):[],s.value=``,a}catch(e){return l(),s.value=e?.message||`Unable to load directions right now.`,null}finally{a.value=!1}}return{routeCoordinates:e,distanceMeters:n,durationSeconds:r,steps:i,pending:a,error:s,hasRoute:c,fetchRoute:u,clearRoute:l}}function fa(e){let t=`${e?.maneuver?.type||`continue`}`,n=e?.maneuver?.modifier?` ${e.maneuver.modifier}`:``,r=`${e?.name||``}`;return{instruction:`${pa(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 pa(e){return e.charAt(0).toUpperCase()+e.slice(1)}var ma=`https://nominatim.openstreetmap.org/search`,ha=`https://nominatim.openstreetmap.org/reverse`;function ga(){let e=(0,t.ref)([]),n=(0,t.ref)(!1),r=(0,t.ref)(``);function i(){e.value=[],r.value=``}async function a(t,a={}){if(!t.trim())return i(),[];n.value=!0;let s=a.customFetch||o.ofetch;try{let n=await s(a.endpoint||ma,{method:`GET`,headers:{Accept:`application/json`,...a.language?{"Accept-Language":a.language}:{}},query:{q:t,format:`jsonv2`,addressdetails:1,limit:a.limit||5}});return e.value=Array.isArray(n)?n.map((e,t)=>_a(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||o.ofetch;try{let n=_a(await i(t.reverseEndpoint||ha,{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:a,reverse:s,clearResults:i}}function _a(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 va(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 ya={class:`location-finder`,"data-testid":`location-finder`},ba={class:`location-finder__actions`},xa=[`disabled`],Sa={key:1,class:`location-finder__notice`,"data-testid":`location-finder-error`},Ca={class:`location-finder__map-panel`},wa=[`aria-label`],Ta={class:`location-finder__legend-item`},Ea={class:`location-finder__legend-item`},Da={class:`location-finder__legend-item`},Oa={class:`location-finder__legend-item`},ka={key:0,class:`location-finder__sidebar`},Aa={key:1,class:`location-finder__summary`,"data-testid":`location-finder-directions`},ja={class:`location-finder__summary-title`},Ma={key:0,class:`location-finder__summary-copy`},Na={class:`location-finder__summary-grid`},Pa={class:`location-finder__summary-label`},Fa={"data-testid":`location-finder-distance`},Ia={class:`location-finder__summary-label`},La={"data-testid":`location-finder-duration`},Ra={key:0,class:`location-finder__steps`},za={key:0},Ba={key:2,class:`location-finder__summary-copy`},Va=(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=va(),d=ga(),f=da(),p=(0,t.ref)(``),m=(0,t.ref)(H(B(o.modelValue))),h=(0,t.ref)(H(B(o.modelValue))?null:B(o.modelValue)),g=(0,t.ref)(z(o.modelValue)||z(o.center)||z(o.locations[0])||i),_=(0,t.ref)(!1),v=(0,t.computed)(()=>z(o.userLocation)),y=(0,t.computed)(()=>u.position.value||v.value),b=(0,t.computed)(()=>z(h.value)),x=(0,t.computed)(()=>z(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)(()=>z(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)(()=>K(f.distanceMeters.value)),A=(0,t.computed)(()=>ce(f.durationSeconds.value)),j=(0,t.computed)(()=>({searchLabel:R(`searchLabel`,o.searchLabel),searchPlaceholder:R(`searchPlaceholder`,o.searchPlaceholder),resultsLabel:R(`resultsLabel`,o.resultsLabel),emptyText:R(`emptyText`,o.emptyText),locateButtonLabel:R(`locateButtonLabel`,o.locateButtonLabel),stopTrackingLabel:R(`stopTrackingLabel`,o.stopTrackingLabel),mapHelperText:R(`mapHelperText`,o.mapHelperText),directionsTitle:R(`directionsTitle`,o.directionsTitle),directionsEmptyText:R(`directionsEmptyText`,o.directionsEmptyText),distanceLabel:R(`distanceLabel`,o.distanceLabel),durationLabel:R(`durationLabel`,o.durationLabel),loadingRoute:R(`loadingRoute`),legendAriaLabel:R(`legendAriaLabel`),legendLocations:R(`legendLocations`),legendSelected:R(`legendSelected`),legendSearchResult:R(`legendSearchResult`),userLocationLabel:R(`userLocationLabel`),pinnedLocationTitle:R(`pinnedLocationTitle`),selectedLocationLabel:R(`selectedLocationLabel`)})),M=(0,t.computed)(()=>h.value?U(h.value):j.value.selectedLocationLabel),ee=(0,t.computed)(()=>u.isTracking.value&&_.value?j.value.stopTrackingLabel:j.value.locateButtonLabel);(0,t.watch)(()=>o.modelValue,e=>{let t=B(e),n=H(t);n?(m.value=n,h.value=null):t&&(h.value=t);let r=z(e);r&&(g.value=r)},{immediate:!0}),(0,t.watch)(()=>o.center,e=>{let t=z(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 J()});let N=(0,t.computed)(()=>{let e=ie(p.value).trim();return e?o.locations.filter(t=>[U(t),W(t)].filter(Boolean).some(t=>ie(t).includes(e))):o.locations}),P=(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}))),F=(0,t.computed)(()=>{if(!p.value.trim())return o.locations;let e=N.value;return e.length?e:o.locations}),I=(0,t.computed)(()=>F.value),te=(0,t.computed)(()=>oe(F.value,o.enableGeocoding?P.value:[])),ne=(0,t.computed)(()=>Array.from(new Set(te.value.map(e=>ae(e))))),L=(0,t.computed)(()=>I.value.map(e=>{let t=z(e);return t?{id:V(e),label:U(e),...t,type:x.value&&G(t,x.value)?`selected`:`list`}:null}).filter(e=>!!e)),re=(0,t.computed)(()=>_.value&&y.value?y.value:g.value||w.value||y.value||z(I.value[0])||i);function R(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 z(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 B(e){if(!e)return null;let t=z(e);return t?{...e,...t}:null}function V(e){return e?typeof e==`object`?e.id??e.value??ae(e):e:null}function H(e){return e&&o.locations.find(t=>V(t)===V(e)||G(z(t),z(e)))||null}function ie(e){return`${e??``}`.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).toLowerCase()}function U(e){return`${e.title||e.label||e.name||`Location`}`}function W(e){return`${e.address||e.description||e.subtitle||``}`}function ae(e){let t=U(e),n=W(e);return n?`${t} — ${n}`:t}function oe(e,t){let n=[...e];return t.forEach(e=>{n.some(t=>V(t)===V(e)||G(z(t),z(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 K(e){return e===null||!Number.isFinite(e)?`—`:e>=1e3?`${(e/1e3).toFixed(1)} km`:`${Math.round(e)} m`}function ce(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 le(e){let t=B(e),n=H(t);if(_.value=!1,!t){s(`update:modelValue`,null);return}m.value=n||t;let r=z(t);r&&(g.value=r),s(`update:modelValue`,t),s(`select`,t)}function ue(e){let t=B(e),n=H(t);if(_.value=!1,!t){s(`update:modelValue`,null);return}n?(m.value=n,h.value=null):h.value=t;let r=z(t);r&&(g.value=r),s(`update:modelValue`,t),s(`select`,t)}function q(e){let t=te.value.find(t=>ae(t)===e||U(t)===e);if(t){if(H(t)){le(t),h.value=null;return}ue(t)}}function de(e){le(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=I.value.find(t=>V(t)===e.id)||I.value.find(t=>{let n=z(t);return n&&Math.abs(n.lat-e.lat)<1e-6&&Math.abs(n.lng-e.lng)<1e-6});if(t){le(t);return}h.value&&(V(h.value)===e.id||G(z(h.value),{lat:e.lat,lng:e.lng}))&&ue(h.value)}async function pe(e){if(g.value=e,_.value=!1,!o.interactive)return;let t=I.value.find(t=>{let n=z(t);return n&&Math.abs(n.lat-e.lat)<1e-6&&Math.abs(n.lng-e.lng)<1e-6});if(t){le(t);return}ue(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 J(){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`,ya,[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)(Jt,{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:ne.value,disabled:e.disabled,"onUpdate:selection":q},null,8,[`modelValue`,`label`,`placeholder`,`options`,`disabled`])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,ba,[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:J},(0,t.toDisplayString)(ee.value),9,xa)):(0,t.createCommentVNode)(``,!0)])],2)):(0,t.createCommentVNode)(``,!0),T.value?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Sa,(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`,Ca,[(0,t.createVNode)(En,{class:`location-finder__map`,center:re.value,markers:L.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`,Ta,[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`,Ea,[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`,Da,[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`,Oa,[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,wa)):(0,t.createCommentVNode)(``,!0)]),O.value?((0,t.openBlock)(),(0,t.createElementBlock)(`aside`,ka,[o.showSidebar?((0,t.openBlock)(),(0,t.createBlock)(Fn,{key:0,modelValue:m.value,"onUpdate:modelValue":r[1]||=e=>m.value=e,class:`location-finder__results`,locations:I.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`,Aa,[(0,t.createElementVNode)(`p`,ja,(0,t.toDisplayString)(j.value.directionsTitle),1),(0,t.unref)(f).pending.value?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Ma,(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`,Na,[(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`p`,Pa,(0,t.toDisplayString)(j.value.distanceLabel),1),(0,t.createElementVNode)(`strong`,Fa,(0,t.toDisplayString)(k.value),1)]),(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`p`,Ia,(0,t.toDisplayString)(j.value.durationLabel),1),(0,t.createElementVNode)(`strong`,La,(0,t.toDisplayString)(A.value),1)])]),e.showDirectionsSteps&&(0,t.unref)(f).steps.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`ol`,Ra,[((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`,za,(0,t.toDisplayString)(e.name),1)):(0,t.createCommentVNode)(``,!0)]))),128))])):(0,t.createCommentVNode)(``,!0)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Ba,(0,t.toDisplayString)(j.value.directionsEmptyText),1))])):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)],2)]))}}),Ha={class:`carousel d-flex`},Ua=[`title`],Wa=[`onClick`],Ga=[`title`],Ka=(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`,Ha,[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,Ua)):(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,Wa)],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,Ga)):(0,t.createCommentVNode)(``,!0)]))}}),qa={class:`media-thumbnails`},Ja=[`onClick`,`title`],Ya={key:0,class:`img-container`},Xa={key:0,class:`media-thumbnails__count-badge`},Za={key:2,class:`img-container`},Qa=(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`,qa,[(0,t.createVNode)(Ka,{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`,Ya,[(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`,Xa,(0,t.toDisplayString)(Object.keys(r.item.items||{}).length),1)):(0,t.createCommentVNode)(``,!0)],2)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Za,[(0,t.createVNode)(w,{src:r.item.thumbnail||r.item.src,class:`img-fluid`},null,8,[`src`])]))],10,Ja)]),_:1},8,[`items`])]))}}),$a={class:`progress-steps`},eo={class:`progress-steps__list`},to={class:`progress-step`},no=[`checked`,`id`,`value`,`disabled`,`read-only`,`required`,`onChange`],ro=[`for`],io=[`innerHTML`],ao=[`for`],oo=[`innerHTML`],so=(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`,$a,[(0,t.createElementVNode)(`ul`,eo,[((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`,to,[(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,no),(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,io)])],8,ro),(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,oo)])],8,ao)])])],2))),128))])]))}}),co={class:`hint-system`},lo=[`innerHTML`],uo=[`innerHTML`],fo={key:1,class:`hint-system__hint-content`},po=[`disabled`],mo=(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`,co,[e.description?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,innerHTML:(0,t.unref)(O)(e.description),class:`hint-system__description`},null,8,lo)):(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,uo)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,fo,(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,po)])]))}}),ho={class:`popover-tooltip`},go=[`popovertarget`,`disabled`,`aria-describedby`,`aria-label`],_o={class:`popover-tooltip__content d-flex flex-column`},vo={key:0,class:`popover-tooltip__header d-flex p-3 border-bottom`},yo=[`innerHTML`],bo={class:`popover-tooltip__body`},xo=[`innerHTML`],So={key:1,class:`popover-tooltip__footer d-flex p-3 border-top`},Co=(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`,ho,[(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,go),(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`,_o,[e.header?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,vo,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`h5`,{key:0,class:`popover-tooltip__title`,innerHTML:(0,t.unref)(a)},null,8,yo)):(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`,bo,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createElementVNode)(`span`,{innerHTML:(0,t.unref)(o)},null,8,xo)])]),e.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,So,[(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`])]))}}),wo={class:`popover-notification__header d-flex justify-content-between mb-2`},To={class:`popover-notification__title`},Eo=[`onClick`],Do=[`innerHTML`],Oo=240,ko=(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)},Oo)))}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`,wo,[(0,t.createElementVNode)(`span`,To,(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,Eo)]),(0,t.createElementVNode)(`span`,{innerHTML:n.content},null,8,Do)])]),_:2},1032,[`id`,`modelValue`,`onUpdate:modelValue`,`style`]))),128))],2))}}),Ao=(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}=a.default,i=e,o=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&&o(`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(o(`update:modelValue`,r),i.emitPending&&o(`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&&o(`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&&o(`update:pending`,!0),p())}),u.value.observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),setTimeout(()=>{i.emitPending&&o(`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))}}),jo={class:`qr-code`},Mo=[`innerHTML`],No=(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`,jo,[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,Mo)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,ref_key:`canvas`,ref:a},null,512))]))}}),Po={class:`link-sharing`},Fo={key:0,class:`link-sharing__links container`},Io={class:`row`},Lo={key:0,class:`col-12 col-md-6`},Ro=[`href`],zo={class:`caption`},Bo={key:1,class:`col-12 col-md-6`},Vo=[`href`],Ho={class:`caption`},Uo={key:2,class:`col-12 col-md-6`},Wo={class:`caption`},Go={key:3,class:`col-12 col-md-6`},Ko=[`href`],qo={class:`caption`},Jo={key:4,class:`col-12 col-md-6`},Yo=[`href`],Xo={class:`caption`},Zo={key:5,class:`col-12 col-md-6`},Qo={class:`caption`},$o={key:6,class:`col-12 col-md-6`},es=[`href`],ts={class:`caption`},ns={key:7,class:`col-12 col-md-6`},rs={class:`caption`},is={key:1,class:`link-sharing__instructions pt-5`},as={class:`row`},os={class:`col-12 text-center py-0`},ss={class:`mb-5`},cs=e=>e.replace(/<(?:.|\n)*?>/gm,``),ls=(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)(()=>cs(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`,Po,[r.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,is,[(0,t.createElementVNode)(`div`,as,[(0,t.createElementVNode)(`div`,os,[(0,t.createElementVNode)(`div`,ss,[(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`,Fo,[(0,t.createElementVNode)(`div`,Io,[e.services.facebook?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Lo,[(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`,zo,(0,t.toDisplayString)(n.$t(`sharing.facebook`)),1)],8,Ro)])):(0,t.createCommentVNode)(``,!0),e.services.bluesky?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Bo,[(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`,Ho,(0,t.toDisplayString)(n.$t(`sharing.bluesky`)),1)],8,Vo)])):(0,t.createCommentVNode)(``,!0),e.services.instagram?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Uo,[(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`,Wo,(0,t.toDisplayString)(n.$t(`sharing.instagram`)),1)])])):(0,t.createCommentVNode)(``,!0),e.services.linkedin?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Go,[(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`,qo,(0,t.toDisplayString)(n.$t(`sharing.linkedin`)),1)],8,Ko)])):(0,t.createCommentVNode)(``,!0),e.services.whatsapp&&o.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Jo,[(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`,Xo,(0,t.toDisplayString)(n.$t(`sharing.whatsapp`)),1)],8,Yo)])):(0,t.createCommentVNode)(``,!0),e.services.clipboard?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Zo,[(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`,Qo,(0,t.toDisplayString)(n.$t(`sharing.clipboard`)),1)])])):(0,t.createCommentVNode)(``,!0),e.services.mailto?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$o,[(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`,ts,(0,t.toDisplayString)(n.$t(`sharing.mailto`)),1)],8,es)])):(0,t.createCommentVNode)(``,!0),e.services.os&&s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ns,[(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`,rs,(0,t.toDisplayString)(n.$t(`sharing.os`)),1)])])):(0,t.createCommentVNode)(``,!0)])]))]))}}),us={class:`base-form`},ds=(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`,us,[(0,t.createElementVNode)(`form`,{ref:`form`,onInput:n,onReset:r,onSubmit:(0,t.withModifiers)(i,[`prevent`])},[(0,t.renderSlot)(e.$slots,`default`)],544)]))}}),fs={class:`touch-wrapper__controls`},ps={class:`btn-group`,role:`group`},ms=(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`,fs,[(0,t.createElementVNode)(`div`,ps,[(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))}}),hs=null;async function gs(){if(typeof window>`u`)return null;if(hs)return hs;let e=await import(`canvas-confetti`);return hs=e.default||e,hs}var _s={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:vs(55,125),spread:vs(50,70),particleCount:vs(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 vs(e,t){return Math.random()*(t-e)+e}var ys=(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)(()=>({..._s[n.preset],items:_s[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 gs();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))}}),bs=[`popovertarget`],xs=[`src`,`alt`],Ss=(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 ee(){l.value=!1,C()}function N(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)(N,[`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:ee},{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,xs)],2)],2)]),_:1},8,[`id`,`modelValue`,`hover-delay`,`close-timeout`,`class`])],8,bs))}});e.Accordion=oe,e.AccordionItem=H,e.AssetUploader=Pi,e.AutoSuggest=Jt,e.BaseButton=se,e.BaseCamera=Sn,e.BaseCarousel=Ka,e.BaseForm=ds,e.BaseHeadline=E,e.BaseImage=w,e.BaseInput=q,e.BaseMap=En,e.BaseParagraph=A,e.BulkUpload=Sr,e.CanvasConfetti=ys,e.CheckGroup=Re,e.ColorPalette=jt,e.CustomHtml=rt,e.DomRenderer=Ao,e.FileUpload=Gn,e.HintSystem=mo,e.ImageCrop=Yr,e.ImageCropResize=ci,e.ImageResize=Hr,e.ImageUpload=xi,e.ImageZoom=Ss,e.InputCheckbox=Y,e.InputColor=Ot,e.InputDatepicker=ke,e.InputDatetime=X,e.InputDropdown=Q,e.InputFile=et,e.InputPasscode=Pe,e.InputPassword=je,e.InputTextarea=me,e.LinkSharing=ls,e.LoadingSpinner=S,e.LocationFinder=Va,e.LocationList=Fn,e.MediaThumbnails=Qa,e.ModalDialog=mi,e.PopoverDialog=$,e.PopoverNotifications=ko,e.PopoverTooltip=Co,e.PresetUploader=la,e.ProgressSteps=so,e.QrCode=No,e.RadioButtons=Ke,e.RadioGroup=Ue,e.RteEditor=wt,e.SelectMedia=ot,e.SortableList=Or,e.SvgIcon=b,e.TouchWrapper=ms,e.UploadGroup=ji,e.useCameraFilter=Yt,e.useDirections=da,e.useGeocoding=ga,e.useGeolocation=va});
4
+ `]),value:r.value||r,checked:r.value?r.value===e.modelValue?.value:r===e.modelValue,disabled:e.disabled,"read-only":e.readOnly,required:e.required,onChange:e=>i(r)},null,42,Ue),(0,t.renderSlot)(n.$slots,`option-label`,{option:r,index:a},()=>[(0,t.createElementVNode)(`label`,{class:`form-check-label`,for:`${e.id}-${a}`,innerHTML:(0,t.unref)(O)(r.text||``)},null,8,We)])],2))),128)),(0,t.renderSlot)(n.$slots,`label`,{},()=>[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:e.id},(0,t.toDisplayString)(e.label),9,Ge)):(0,t.createCommentVNode)(``,!0)])]))}}),Ke={class:`radio-buttons`},qe=[`for`],Je=(0,t.defineComponent)({__name:`radio-buttons`,props:{modelValue:{type:null,default:``},options:{type:Array,default:[]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},label:{type:String},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},keyOption:{type:null},itemClass:{type:String,default:``}},emits:[`update:modelValue`,`update:selection`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ke,[(0,t.createVNode)(J,{modelValue:a.value,"onUpdate:modelValue":r[0]||=e=>a.value=e,options:e.options,name:e.name,id:e.id,disabled:e.disabled,required:e.required,class:`d-flex flex-column gap-3 justify-content-center`},{"option-label":(0,t.withCtx)(n=>[(0,t.createElementVNode)(`label`,{for:`${e.id}-${n.index}`,class:`d-block btn btn-outline-primary p-3 fw-bold`,role:`button`},(0,t.toDisplayString)(n.option.text),9,qe)]),_:1},8,[`modelValue`,`options`,`name`,`id`,`disabled`,`required`])]))}}),Ye=[`id`,`name`,`multiple`,`accept`,`disabled`],Xe={class:`input__input-group input-group`},Ze=[`value`,`id`,`name`,`disabled`],Qe=[`for`,`disabled`],$e={class:`btn btn-outline-contrast`},et=[`for`],tt=[`innerHTML`],nt=(0,t.defineComponent)({__name:`input-file`,props:{modelValue:{type:Array,default:[]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},label:{type:String,default:``},placeholder:{type:String,default:``},variant:{type:String,default:``},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},pattern:{type:String,default:null},multiple:{type:Boolean,default:!1},accept:{type:String},maxFileSize:{type:Number,default:0},dropzone:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,i=n;function a(e){let t=e.target&&e.target.files;t&&(s.splice(0,s.length),Array.from(t).forEach(e=>{if(r.maxFileSize&&e.size>r.maxFileSize){console.warn(`File ${e.name} exceeds the ${r.maxFileSize} bytes size limit and will not be added.`);return}s.push(e)}))}let o=(0,t.ref)(),s=(0,t.reactive)([]),c=(0,t.computed)(()=>s&&s.map(e=>e.name));return(0,t.watch)(()=>r.modelValue,(e,t)=>{e.length===0&&(o.value.value=null)},{deep:!0}),(0,t.watch)(()=>s,(e,t)=>{i(`update:modelValue`,e)},{deep:!0}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`input input-file`,`input-file--primary`])},[(0,t.createElementVNode)(`input`,{ref_key:`input`,ref:o,type:`file`,id:e.id,name:e.name,class:`d-none`,onChange:a,multiple:e.multiple,accept:e.accept,disabled:e.disabled},null,40,Ye),(0,t.createElementVNode)(`div`,Xe,[(0,t.renderSlot)(n.$slots,`input-prepend`),(0,t.createElementVNode)(`input`,{type:`text`,value:c.value,id:e.id,name:e.name,class:`form-control`,disabled:e.disabled},null,8,Ze),(0,t.renderSlot)(n.$slots,`input-append`,{},()=>[(0,t.createElementVNode)(`label`,{for:e.id,disabled:e.disabled},[(0,t.renderSlot)(n.$slots,`button`,{},()=>[(0,t.createElementVNode)(`span`,$e,(0,t.toDisplayString)(n.$t(`common.selectFile`)),1)])],8,Qe)])]),(0,t.createElementVNode)(`label`,{for:e.id},[(0,t.renderSlot)(n.$slots,`label`,{},()=>[(0,t.createElementVNode)(`span`,{class:`input__label`,innerHTML:(0,t.unref)(O)(`${e.label}${e.required?` *`:``}`)},null,8,tt)])],8,et)]))}}),rt={key:0,class:`custom-html`},it=[`innerHTML`],at=(0,t.defineComponent)({__name:`custom-html`,props:{content:{}},setup(e){let n=(0,t.ref)(!1);return(0,t.onMounted)(()=>{window!==void 0&&(n.value=!0)}),(r,i)=>n.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,rt,[(0,t.renderSlot)(r.$slots,`default`,{},()=>[(0,t.createElementVNode)(`div`,{class:`custom-html__content`,innerHTML:e.content},null,8,it)])])):(0,t.createCommentVNode)(``,!0)}}),ot={class:`select-media`},st=[`for`],ct=(0,t.defineComponent)({__name:`select-media`,props:{modelValue:{type:null,default:``},assets:{type:Array,default:[]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},label:{type:String},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},emitKey:{type:String,default:`src`}},emits:[`update:modelValue`,`update:selection`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue},set(e){let t=r.assets.find(t=>t.id===e);i(`update:modelValue`,r.emitKey?t[r.emitKey]:t),r.emitKey&&r.emitKey!==`id`&&i(`update:selection`,t.id)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ot,[(0,t.createVNode)(J,{modelValue:a.value,"onUpdate:modelValue":r[0]||=e=>a.value=e,options:e.assets.map(e=>e.id),name:e.name,id:e.id,disabled:e.disabled,required:e.required,class:`d-flex flex-wrap flex-row justify-content-center`,itemClass:`col-6 p-2`},{"option-label":(0,t.withCtx)(n=>[(0,t.createElementVNode)(`label`,{for:`${e.id}-${n.index}`,class:(0,t.normalizeClass)([`w-100`,{"is-active":e.assets[n.index].id===a.value}]),role:`button`},[e.assets[n.index].thumbnail?((0,t.openBlock)(),(0,t.createBlock)(w,{key:0,src:e.assets[n.index].thumbnail,alt:e.assets[n.index].id},null,8,[`src`,`alt`])):(0,t.createCommentVNode)(``,!0)],10,st)]),_:1},8,[`modelValue`,`options`,`name`,`id`,`disabled`,`required`])]))}}),lt={key:0,class:`rte-editor__controls mb-2`},ut=[`disabled`],dt=[`disabled`],ft={class:`btn-group`},pt=[`disabled`],mt=[`disabled`],ht={class:`btn-group`},gt={class:`dropdown`},_t={class:`btn dropdown-toggle btn-light`,"data-bs-toggle":`dropdown`,role:`button`,type:`button`},vt={class:`dropdown-menu`},yt={class:`dropdown`},bt={class:`btn dropdown-toggle btn-light`,"data-bs-toggle":`dropdown`,role:`button`,type:`button`},xt={class:`dropdown-menu`},St={class:`btn-group`},Ct=[`disabled`],wt=[`disabled`],Tt=[`title`],Et=(0,t.defineComponent)({inheritAttrs:!1,__name:`rte-editor`,props:{modelValue:{type:String,default:``},disabled:{type:Boolean,default:!1},iconBasePath:{type:String,default:`/rte-icons-defs.svg`},allowFullscreen:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!1),o=(0,t.ref)(!1),s=(0,t.shallowRef)(void 0),c=(0,t.shallowRef)(null);(0,t.onMounted)(async()=>{let[{Editor:e,mergeAttributes:t},{EditorContent:n},{default:a},{default:o},{default:l},{default:u},{default:d}]=await Promise.all([import(`@tiptap/core`),import(`@tiptap/vue-3`),import(`@tiptap/extension-highlight`),import(`@tiptap/extension-text-align`),import(`@tiptap/extension-link`),import(`@tiptap/starter-kit`),import(`@tiptap/extension-bold`)]);c.value=n,s.value=new e({content:r.modelValue,onUpdate:()=>{i(`update:modelValue`,s.value?.getHTML())},extensions:[u.configure({bold:!1,link:!1}),d.extend({addAttributes(){return{class:{default:null}}},parseHTML(){return[{tag:`strong`},{tag:`b`}]},renderHTML({HTMLAttributes:e}){return[`strong`,t(this.options.HTMLAttributes,e),0]}}),o.configure({types:[`heading`,`paragraph`]}),a,l.extend({addAttributes(){return{...this.parent?.(),class:{default:null},id:{default:null},title:{default:null}}},parseHTML(){return[{tag:`a[href]`,getAttrs:e=>({href:e.getAttribute(`href`),target:e.getAttribute(`target`),rel:e.getAttribute(`rel`),class:e.getAttribute(`class`),id:e.getAttribute(`id`),title:e.getAttribute(`title`)})},{tag:`a:not([href])`,getAttrs:e=>({href:null,target:e.getAttribute(`target`),rel:e.getAttribute(`rel`),class:e.getAttribute(`class`),id:e.getAttribute(`id`),title:e.getAttribute(`title`)})}]},renderHTML({HTMLAttributes:e}){if(!e.href){let{href:n,target:r,rel:i,...a}=e;return[`a`,t(a),0]}return[`a`,t(this.options.HTMLAttributes,e),0]}}).configure({openOnClick:!1,autolink:!0,defaultProtocol:`https`,protocols:[`http`,`https`],HTMLAttributes:{target:`_blank`,rel:`noopener noreferrer`}})]})}),(0,t.onBeforeUnmount)(()=>{s.value?.destroy()}),(0,t.watch)(()=>r.modelValue,(e,t)=>{if(s.value){if(s.value.getHTML()===e)return;s.value.commands.setContent(e)}});function l(){let e=s.value?.getAttributes(`link`).href,t=window.prompt(`URL`,e);if(t!==null){if(t===``){s.value?.chain().focus().extendMarkRange(`link`).unsetLink().run();return}try{s.value?.chain().focus().extendMarkRange(`link`).setLink({href:t}).run()}catch(e){alert(e.message)}}}let u=()=>{s.value?.commands.setContent(`<textarea>${s.value.getHTML()}</textarea>`),a.value=!0},d=()=>{s.value?.commands.setContent(s.value.getText()),a.value=!1};return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`,disabled:!o.value},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([o.value?``:n.$attrs.class,`rte-editor`,{"rte-editor--fullscreen":o.value}])},[s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,lt,[a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,class:`btn btn-sm btn-light is-active`,onClick:d,disabled:!s.value.can().chain().focus().toggleCode().run(),title:`Toggle Source`},[(0,t.createVNode)(b,{symbol:`source`,"base-path":e.iconBasePath},null,8,[`base-path`])],8,dt)):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`code`)}]),onClick:u,disabled:!s.value.can().chain().focus().toggleCode().run(),title:`Toggle Source`},[(0,t.createVNode)(b,{symbol:`source`,"base-path":e.iconBasePath},null,8,[`base-path`])],10,ut)),(0,t.createElementVNode)(`div`,ft,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`bold`)}]),onClick:r[0]||=e=>s.value?.chain().focus().toggleBold().run(),disabled:!s.value.can().chain().focus().toggleBold().run(),title:`Toggle Bold`},[(0,t.createVNode)(b,{symbol:`bold`,"base-path":e.iconBasePath},null,8,[`base-path`])],10,pt),(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`italic`)}]),onClick:r[1]||=e=>s.value?.chain().focus().toggleItalic().run(),disabled:!s.value.can().chain().focus().toggleItalic().run(),title:`Toggle Italic`},[(0,t.createVNode)(b,{symbol:`italic`,"base-path":e.iconBasePath},null,8,[`base-path`])],10,mt)]),(0,t.createElementVNode)(`div`,ht,[(0,t.createElementVNode)(`div`,gt,[(0,t.createElementVNode)(`button`,_t,[s.value.isActive(`heading`,{level:1})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:0,symbol:`h1`,"base-path":e.iconBasePath},null,8,[`base-path`])):s.value.isActive(`heading`,{level:2})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:1,symbol:`h2`,"base-path":e.iconBasePath},null,8,[`base-path`])):s.value.isActive(`heading`,{level:3})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:2,symbol:`h3`,"base-path":e.iconBasePath},null,8,[`base-path`])):s.value.isActive(`heading`,{level:4})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:3,symbol:`h4`,"base-path":e.iconBasePath},null,8,[`base-path`])):((0,t.openBlock)(),(0,t.createBlock)(b,{key:4,symbol:`headline`,"base-path":e.iconBasePath},null,8,[`base-path`]))]),(0,t.createElementVNode)(`ul`,vt,[(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`heading`,{level:1})}]),onClick:r[2]||=e=>s.value?.chain().focus().setHeading({level:1}).run(),title:`Set Heading 1`},[(0,t.createVNode)(b,{symbol:`h1`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`heading`,{level:2})}]),onClick:r[3]||=e=>s.value?.chain().focus().setHeading({level:2}).run(),title:`Set Heading 2`},[(0,t.createVNode)(b,{symbol:`h2`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`heading`,{level:3})}]),onClick:r[4]||=e=>s.value?.chain().focus().setHeading({level:3}).run(),title:`Set Heading 3`},[(0,t.createVNode)(b,{symbol:`h3`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`heading`,{level:4})}]),onClick:r[5]||=e=>s.value?.chain().focus().setHeading({level:4}).run(),title:`Set Heading 4`},[(0,t.createVNode)(b,{symbol:`h4`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)])])]),(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`paragraph`)}]),onClick:r[6]||=e=>s.value?.chain().focus().setParagraph().run(),title:`Set Paragraph`},[(0,t.createVNode)(b,{symbol:`paragraph`,"base-path":e.iconBasePath},null,8,[`base-path`])],2),(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`bulletList`)}]),onClick:r[7]||=e=>s.value?.chain().focus().toggleBulletList().run(),title:`Toggle Bullet List`},[(0,t.createVNode)(b,{symbol:`list`,"base-path":e.iconBasePath},null,8,[`base-path`])],2),(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`orderedList`)}]),onClick:r[8]||=e=>s.value?.chain().focus().toggleOrderedList().run(),title:`Toggle Ordered List`},[(0,t.createVNode)(b,{symbol:`ordered-list`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`div`,yt,[(0,t.createElementVNode)(`button`,bt,[s.value.isActive({textAlign:`center`})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:0,symbol:`align-center`,"base-path":e.iconBasePath},null,8,[`base-path`])):s.value.isActive({textAlign:`left`})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:1,symbol:`align-left`,"base-path":e.iconBasePath},null,8,[`base-path`])):s.value.isActive({textAlign:`right`})?((0,t.openBlock)(),(0,t.createBlock)(b,{key:2,symbol:`align-right`,"base-path":e.iconBasePath},null,8,[`base-path`])):((0,t.openBlock)(),(0,t.createBlock)(b,{key:3,symbol:`align-justify`,"base-path":e.iconBasePath},null,8,[`base-path`]))]),(0,t.createElementVNode)(`ul`,xt,[(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive({textAlign:`left`})}]),onClick:r[9]||=e=>s.value?.chain().focus().setTextAlign(`left`).run()},[(0,t.createVNode)(b,{symbol:`align-left`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive({textAlign:`center`})}]),onClick:r[10]||=e=>s.value?.chain().focus().setTextAlign(`center`).run()},[(0,t.createVNode)(b,{symbol:`align-center`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive({textAlign:`right`})}]),onClick:r[11]||=e=>s.value?.chain().focus().setTextAlign(`right`).run()},[(0,t.createVNode)(b,{symbol:`align-right`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)]),(0,t.createElementVNode)(`li`,null,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive({textAlign:`pretty`})}]),onClick:r[12]||=e=>s.value?.chain().focus().setTextAlign(`right`).run()},[(0,t.createVNode)(b,{symbol:`align-justify`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)])])]),s.value.isActive(`link`)?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:3,class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`link`)}]),onClick:r[13]||=e=>s.value.chain().focus().unsetLink().run(),title:`Unset Link`},[(0,t.createVNode)(b,{symbol:`unlink`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,class:(0,t.normalizeClass)([`btn btn-sm btn-light`,{"is-active":s.value.isActive(`link`)}]),onClick:l,title:`Set Link`},[(0,t.createVNode)(b,{symbol:`link`,"base-path":e.iconBasePath},null,8,[`base-path`])],2)),(0,t.createElementVNode)(`div`,St,[(0,t.createElementVNode)(`button`,{class:`btn btn-sm btn-light`,onClick:r[14]||=e=>s.value?.chain().focus().undo().run(),disabled:!s.value.can().chain().focus().undo().run(),title:`Undo`},[(0,t.createVNode)(b,{symbol:`undo`,"base-path":e.iconBasePath},null,8,[`base-path`])],8,Ct),(0,t.createElementVNode)(`button`,{class:`btn btn-sm btn-light`,onClick:r[15]||=e=>s.value?.chain().focus().redo().run(),disabled:!s.value.can().chain().focus().redo().run(),title:`Redo`},[(0,t.createVNode)(b,{symbol:`redo`,"base-path":e.iconBasePath},null,8,[`base-path`])],8,wt)]),e.allowFullscreen?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:4,class:`btn btn-sm btn-light ms-auto`,onClick:r[16]||=e=>o.value=!o.value,title:o.value?`Exit Fullscreen`:`Fullscreen`},[(0,t.createVNode)(b,{symbol:o.value?`close`:`maximize`,"base-path":e.iconBasePath},null,8,[`symbol`,`base-path`])],8,Tt)):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(c.value),{class:`rte-editor__content`,editor:s.value},null,8,[`editor`]))],2)],8,[`disabled`]))}}),Dt={class:`input-color`},Ot={class:`base-input__color-swatch`},kt=[`name`,`id`,`disabled`,`read-only`,`required`,`aria-label`],At=(0,t.defineComponent)({__name:`input-color`,props:{modelValue:{type:[String,Number,Boolean,Date],default:``},type:{type:String,default:`text`},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},label:{type:String,default:``},placeholder:{type:String,default:``},variant:{type:String,default:``},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},maxlength:{type:Number},pattern:{type:String,default:null}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Dt,[(0,t.createVNode)(q,{modelValue:a.value,"onUpdate:modelValue":r[1]||=e=>a.value=e,type:e.type===`color`?`text`:e.type,id:e.id,name:e.name,placeholder:e.placeholder,pattern:e.pattern,label:e.label,disabled:e.disabled,"read-only":e.readOnly,required:e.required,maxlength:e.maxlength},{"input-append":(0,t.withCtx)(n=>[(0,t.createElementVNode)(`span`,Ot,[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[0]||=e=>a.value=e,type:`color`,name:`${e.name}-color`,id:`${e.id}-color`,disabled:e.disabled,"read-only":e.readOnly,required:e.required,class:`form-control`,"aria-label":e.label},null,8,kt),[[t.vModelText,a.value]])])]),_:1},8,[`modelValue`,`type`,`id`,`name`,`placeholder`,`pattern`,`label`,`disabled`,`read-only`,`required`,`maxlength`])]))}}),jt={class:`color-palette`},Mt=[`for`],Nt=(0,t.defineComponent)({__name:`color-palette`,props:{modelValue:{type:[String],default:``},colors:{type:Array,default:[`#000000`,`#FFFFFF`]},name:{type:String,default:()=>j()},id:{type:String,default:()=>j()},label:{type:String},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,jt,[(0,t.createVNode)(J,{modelValue:a.value,"onUpdate:modelValue":r[0]||=e=>a.value=e,options:e.colors,name:e.name,id:e.id,label:e.label,disabled:e.disabled,required:e.required,class:`d-flex flex-wrap flex-row gap-2`},{"option-label":(0,t.withCtx)(n=>[(0,t.createElementVNode)(`label`,{for:`${e.id}-${n.index}`,class:`d-block rounded-circle`,style:(0,t.normalizeStyle)({backgroundColor:n.option})},null,12,Mt)]),_:1},8,[`modelValue`,`options`,`name`,`id`,`label`,`disabled`,`required`])]))}}),Pt=[`id`],Ft=[`for`,`innerHTML`],It={class:`dropdown`},Lt={class:`caption`},Rt=[`innerHTML`],zt={class:`caption__text`},Bt={class:`d-block text-truncate`},Vt={class:`dropdown-menu`},Ht={class:`form-check d-flex`},Ut=[`value`,`id`,`name`,`label`,`required`,`disabled`],Wt=[`value`,`id`,`name`,`label`,`required`,`disabled`],Gt=[`for`],Y=(0,t.defineComponent)({__name:`input-dropdown`,props:{id:{type:String},name:{type:String,default:()=>`dropdown-${j()}`},label:{type:String},error:{type:String},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},modelValue:{type:null},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},showSelectionCount:{type:Boolean,default:!1},toggleCaption:{type:String},placeholder:{type:String,default:``},icon:{default:`chevron-down`,type:String},variant:{type:String,default:``},color:{type:String,default:``},outlined:{type:Boolean,default:!1},exactMatch:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(e,{emit:n}){let{t:i}=(0,r.useI18n)(),a=e,o=n,s=(0,t.computed)({get(){return a.multiple&&!a.modelValue?[]:a.modelValue},set(e){o(`update:modelValue`,e)}}),c=(0,t.computed)(()=>a.options&&a.options.map(e=>(e=typeof e==`string`?{text:e,value:e}:e,{...e,active:a.modelValue&&e.value&&(a.exactMatch?a.modelValue===e.value:a.multiple?a.modelValue.includes(e.value):a.modelValue===e.value)}))),l=(0,t.computed)(()=>{if(!a.modelValue)return a.placeholder||`${i(`common.select`)}`;if(a.multiple&&Array.isArray(a.modelValue)&&a.modelValue.length)return c.value.reduce((e,t)=>a.modelValue.includes(t.value)?`${e}${e?`, `:``}${t.text}`:e,``);if(!a.multiple){let e=c.value.find(e=>typeof e.value==`object`&&e.value!==null?JSON.stringify(e.value)===JSON.stringify(a.modelValue):e.value===a.modelValue);return e?e.text:a.placeholder||`${i(`common.select`)}`}return a.placeholder||`${i(`common.select`)}`});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`input input-dropdown`,id:`${e.id||e.name}`},[(0,t.renderSlot)(n.$slots,`label`,{},()=>[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:`${e.id||e.name}--dropdown-toggle`,class:`input__label`,innerHTML:`${e.label}${e.required?` *`:``}`},null,8,Ft)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,It,[(0,t.createVNode)(G,{id:`${e.id||e.name}--dropdown-toggle`,"data-bs-toggle":`dropdown`,role:`button`,type:`button`,title:l.value,class:`btn dropdown-toggle`,color:e.color,outlined:e.outlined,disabled:e.disabled},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Lt,[(0,t.createVNode)(t.Transition,{name:`bounce`},{default:(0,t.withCtx)(()=>[e.showSelectionCount&&e.modelValue.length?((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:0,class:`caption__count`,innerHTML:e.modelValue.length},null,8,Rt)):(0,t.createCommentVNode)(``,!0)]),_:1}),(0,t.createElementVNode)(`span`,zt,[(0,t.createElementVNode)(`span`,Bt,(0,t.toDisplayString)(e.toggleCaption||l.value),1)])])]),_:1},8,[`id`,`title`,`color`,`outlined`,`disabled`]),(0,t.createElementVNode)(`ul`,Vt,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(c.value,(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:`${n.value}-${i}`},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`dropdown-item`,n.active&&`active`])},[(0,t.createElementVNode)(`div`,Ht,[e.multiple?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{type:`checkbox`,"onUpdate:modelValue":r[0]||=e=>s.value=e,value:n.value,key:`${e.name}-${n.value}-${i}__if`,id:`${e.name}-${n.value}-${i}`,name:e.name,label:n.text,required:e.required,disabled:n.selectable===!1,class:`form-check-input`},null,8,Ut)),[[t.vModelCheckbox,s.value]]):(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{type:`radio`,"onUpdate:modelValue":r[1]||=e=>s.value=e,value:n.value,key:`${e.name}-${n.value}-${i}__else`,id:`${e.name}-${n.value}-${i}`,name:e.name,label:n.text,required:e.required,disabled:n.selectable===!1,class:`form-check-input visually-hidden`},null,8,Wt)),[[t.vModelRadio,s.value]]),(0,t.createElementVNode)(`label`,{class:`form-check-label flex-grow-1`,onclick:`event.stopPropagation`,for:`${e.name}-${n.value}-${i}`},(0,t.toDisplayString)(n.text),9,Gt)])],2)]))),128))])])],8,Pt))}}),Kt={key:0,class:`auto-suggest__suggestions position-relative`},qt={class:`suggestions dropdown-menu show w-100 mt-2`},Jt=[`onClick`],Yt=[`innerHTML`],Xt=(0,t.defineComponent)({__name:`auto-suggest`,props:{modelValue:{type:String},id:{type:String},name:{type:String},label:{type:String},error:{type:String},disabled:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},options:{type:Array,default:[]},placeholder:{type:String,default:``},color:{type:String,default:``},outlined:{type:Boolean,default:!1},selection:{type:String}},emits:[`update:modelValue`,`update:selection`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(),o=(0,t.ref)(!1),s=(0,t.computed)({get(){return r.modelValue},set(e){i(`update:modelValue`,e)}}),c=(0,t.computed)(()=>{let e=RegExp(`(${s.value})`,`i`);return s.value?r.options.filter(t=>e.test(t)):r.options}),l=(0,t.computed)(()=>{let e=RegExp(`(${s.value})`,`i`);return c.value.map(t=>O(t.replace(e,`<strong>$1</strong>`)))});(0,t.watch)(()=>r.options,(e,t)=>{e.length&&(o.value=!0)},{deep:!0});function u(){r.options.length&&(o.value=!0)}function d(e){o.value=!1;let t=c.value[e];i(`update:modelValue`,t),i(`update:selection`,t)}let f=(0,t.ref)();function p(e){let t=e.target;o.value&&t&&!a.value.contains(t)&&(o.value=!1)}return(0,t.onBeforeMount)(()=>{f.value=document.addEventListener(`click`,p)}),(0,t.onBeforeUnmount)(()=>{document.removeEventListener(`click`,f.value)}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`auto-suggest`,ref_key:`container`,ref:a},[(0,t.createElementVNode)(`div`,{class:`auto-suggest__input`,onFocusCapture:u},[(0,t.renderSlot)(e.$slots,`default`,{},()=>[(0,t.createVNode)(q,(0,t.mergeProps)({modelValue:s.value,"onUpdate:modelValue":n[0]||=e=>s.value=e},e.$props),null,16,[`modelValue`])])],32),o.value&&c.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Kt,[(0,t.createElementVNode)(`ul`,qt,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(l.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:e,class:`suggestions__item dropdown-item`,onClick:(0,t.withModifiers)(e=>d(n),[`prevent`])},[(0,t.createElementVNode)(`p`,{class:`text-truncate my-2`,innerHTML:e},null,8,Yt)],8,Jt))),128))])])):(0,t.createCommentVNode)(``,!0)],512))}});function Zt(){return typeof navigator>`u`?null:{userAgent:navigator.userAgent??``,platform:navigator.platform??``,maxTouchPoints:navigator.maxTouchPoints??0}}function Qt(e=Zt()){return e?/iPhone|iPad|iPod/i.test(e.userAgent)?!0:e.platform===`MacIntel`&&e.maxTouchPoints>1:!1}function $t(e=Zt()){return!!e&&/Android/i.test(e.userAgent)}var en=()=>Qt(),tn=()=>$t();function nn(e){return typeof e.requestVideoFrameCallback==`function`}function rn(e,t,n,r){let i=Math.max(n/e,r/t),a=n/i,o=r/i;return{sx:(e-a)/2,sy:(t-o)/2,sw:a,sh:o}}function an(e,t){let n=Math.min(1,Math.max(0,t)),r=e.match(/^#([\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i)?.[1];if(!r)return{color:e,opacity:n};let i=r.length<=4?[...r].map(e=>e+e).join(``):r;return{color:`rgba(${Number.parseInt(i.slice(0,2),16)}, ${Number.parseInt(i.slice(2,4),16)}, ${Number.parseInt(i.slice(4,6),16)}, ${(i.length===8?Number.parseInt(i.slice(6,8),16)/255:1)*n})`,opacity:1}}function on(){if(typeof window>`u`)return 0;let e=window.screen?.orientation?.angle;if(typeof e==`number`)return sn(e);let t=window.orientation;return typeof t==`number`?sn(t):0}function sn(e){return(Math.round(e/90)*90%360+360)%360}function cn(e,t){let n=e.videoWidth,r=e.videoHeight;if(!n||!r)throw Error(`Video has no frame to capture yet`);let i=document.createElement(`canvas`);i.width=t.width,i.height=t.height;let a=i.getContext(`2d`);if(!a)throw Error(`2D canvas context unavailable`);let o=en()?on():0,s=o===90||o===270,c=`filter`in a;if(a.save(),t.mirror&&(a.translate(t.width,0),a.scale(-1,1)),c&&t.filter&&t.filter!==`none`&&(a.filter=ln(t.filter)),s){a.translate(t.width/2,t.height/2),a.rotate(-o*Math.PI/180);let i=t.height,s=t.width,c=rn(n,r,i,s);a.drawImage(e,c.sx,c.sy,c.sw,c.sh,-i/2,-s/2,i,s)}else{let i=rn(n,r,t.width,t.height);a.drawImage(e,i.sx,i.sy,i.sw,i.sh,0,0,t.width,t.height)}a.restore(),!c&&t.filter&&t.filter!==`none`&&un(a,t.filter);let l=t.tintColor?an(t.tintColor,t.tintIntensity??0):null;return l&&l.opacity>0&&(a.save(),a.globalAlpha=l.opacity,a.fillStyle=l.color,a.fillRect(0,0,t.width,t.height),a.restore()),i}function ln(e){switch(e){case`grayscale`:return`grayscale(1)`;case`sepia`:return`sepia(1)`;default:return`none`}}function un(e,t){if(t===`none`)return;let{width:n,height:r}=e.canvas,i=e.getImageData(0,0,n,r);dn(i.data,t),e.putImageData(i,0,0)}function dn(e,t){for(let n=0;n<e.length;n+=4){let r=e[n]??0,i=e[n+1]??0,a=e[n+2]??0;if(t===`grayscale`){let t=.2126*r+.7152*i+.0722*a;e[n]=e[n+1]=e[n+2]=t}else t===`sepia`&&(e[n]=Math.min(255,.393*r+.769*i+.189*a),e[n+1]=Math.min(255,.349*r+.686*i+.168*a),e[n+2]=Math.min(255,.272*r+.534*i+.131*a))}}function fn(e,t={}){let n=t.type??`image/jpeg`,r=t.quality??.92;return t.asBlob?new Promise((t,i)=>{e.toBlob(e=>e?t(e):i(Error(`canvas.toBlob returned null`)),n,r)}):Promise.resolve(e.toDataURL(n,r))}function pn(e){let{deviceId:t,facing:n,resolution:r}=e,i=r?mn(r):null,a=[];return t&&(i&&a.push({label:`device+dims`,constraints:{video:{deviceId:{exact:t},...i}}}),a.push({label:`device`,constraints:{video:{deviceId:{exact:t}}}}),e.strictDevice)?a:(n&&(i&&a.push({label:`facing+dims`,constraints:{video:{facingMode:{ideal:n},...i}}}),a.push({label:`facing`,constraints:{video:{facingMode:{ideal:n}}}})),i&&a.push({label:`dims`,constraints:{video:{...i}}}),a.push({label:`any`,constraints:{video:!0}}),a)}function mn(e){return{width:{ideal:e.width},height:{ideal:e.height}}}function hn(e){return e&&typeof e==`object`&&`name`in e&&typeof e.name==`string`?e.name:``}function gn(e){let t=hn(e);return t===`NotAllowedError`||t===`PermissionDeniedError`||t===`SecurityError`||t===`NotFoundError`}function _n(e){let t=hn(e);return t===`NotReadableError`||t===`AbortError`||t===`TrackStartError`}function vn(e){switch(hn(e)){case`NotAllowedError`:case`PermissionDeniedError`:case`SecurityError`:return`not-allowed`;case`NotFoundError`:return`not-found`;case`NotReadableError`:case`AbortError`:case`TrackStartError`:return`not-readable`;case`OverconstrainedError`:case`ConstraintNotSatisfiedError`:return`overconstrained`;default:return`unknown`}}var yn=/\b(front|face|user|selfie|facetime)\b/i,bn=/\b(back|rear|environment|main|world)\b/i;function xn(e){return e?yn.test(e)?`user`:bn.test(e)?`environment`:null:null}function Sn(e){return e===`user`||e===`environment`?e:e===`front`?`user`:e===`back`||e===`rear`?`environment`:null}function Cn(e,t){let n=new Map,r=[];for(let i of e){if(!i.facing){r.push(i);continue}let e=n.get(i.facing);(!e||wn(i,t)>wn(e,t))&&n.set(i.facing,i)}let i=[...n.values()];return i.sort((e,t)=>(e.facing===`user`?-1:1)-(t.facing===`user`?-1:1)),[...i,...r]}function wn(e,t){let n=0;return e.deviceId===t&&(n+=2),e.probed&&(n+=1),n}function Tn(e,t,n){let r=e.filter(e=>e.deviceId!==t);if(r.length===0)return null;if(n){let e=r.find(e=>e.facing&&e.facing!==n);if(e)return e}let i=e.findIndex(e=>e.deviceId===t);return i===-1?r[0]??null:e[(i+1)%e.length]??null}var X=class extends Error{code;constructor(e,t,n){super(t,n===void 0?void 0:{cause:n}),this.name=`CameraError`,this.code=e}},En=1500,Dn=2,On=300,kn=[300,1e3,3e3],An=5e3,jn=800,Mn=500,Nn={width:{ideal:160},height:{ideal:120}},Pn=()=>void 0,Fn=e=>new Promise(t=>setTimeout(t,e)),In=class e{listeners=new Set;opts;state=`idle`;intent=`stopped`;stream=null;devices=[];activeDeviceId=null;activeFacing=null;error=null;permission=`unknown`;zoom=1;zoomCapability=null;desiredZoom=null;video=null;seq=0;tearingDown=!1;lastGood=null;autoCorrected=!1;disposed=!1;probeCache=new Map;refreshing=null;recoveryAttempts=0;recoveryTimer=null;stableTimer=null;healthTimer=null;deviceChangeTimer=null;watchdogCleanup=null;permissionStatus=null;constructor(e={}){this.opts=e,typeof document<`u`&&(document.addEventListener(`visibilitychange`,this.onVisibilityChange),window.addEventListener(`pageshow`,this.onPageShow)),typeof navigator<`u`&&navigator.mediaDevices&&(navigator.mediaDevices.addEventListener?.(`devicechange`,this.onDeviceChange),this.initPermission())}subscribe(e){return this.listeners.add(e),e(this.snapshot()),()=>this.listeners.delete(e)}snapshot(){return{state:this.state,intent:this.intent,stream:this.stream,devices:this.devices,activeDeviceId:this.activeDeviceId,activeFacing:this.activeFacing,error:this.error,permission:this.permission,zoom:this.zoom,zoomCapability:this.zoomCapability}}static isSupported(){return typeof navigator<`u`&&!!navigator.mediaDevices?.getUserMedia}attachVideo(e){this.video!==e&&(this.clearWatchdog(),this.video&&(this.video.srcObject=null),this.video=e,e&&this.stream&&this.state!==`paused`&&this.bindStream())}async start(t={}){if(this.disposed)return!1;if(!e.isSupported())return this.fail(new X(`unsupported`,`getUserMedia is not available in this browser`)),!1;let n=++this.seq;this.cancelRecovery(),this.intent=`live`,this.teardown(),this.error=null,this.setState(`starting`);let r=t.resolution??this.lastGood?.resolution??this.opts.resolution,i=!!(t.strictDevice&&t.deviceId),a=i?void 0:t.facing??(t.deviceId?void 0:this.opts.preferredFacing),o=pn({deviceId:t.deviceId,facing:a,resolution:r,strictDevice:i}),s=null,c=null;for(let e of o){if(n!==this.seq)return!1;try{s=await navigator.mediaDevices.getUserMedia(e.constraints);break}catch(t){if(c=t,gn(t))break;if(_n(t)){if(await Fn(On),n!==this.seq)return!1;try{s=await navigator.mediaDevices.getUserMedia(e.constraints);break}catch(e){if(c=e,gn(e))break}}}}if(n!==this.seq)return s?.getTracks().forEach(e=>e.stop()),!1;if(!s){let e=vn(c);return e===`not-allowed`&&(this.permission=`denied`),this.fail(new X(e,Ln(c),c)),!1}let l=s.getVideoTracks()[0];if(!l)return s.getTracks().forEach(e=>e.stop()),this.fail(new X(`not-found`,`Stream has no video track`)),!1;let u=l.getSettings(),d=u.deviceId??t.deviceId??null,f=d?this.probeCache.get(d):void 0,p=Sn(u.facingMode)??f??xn(l.label);if(d&&this.probeCache.set(d,p),this.stream=s,this.activeDeviceId=d,this.activeFacing=p,this.lastGood={deviceId:d,resolution:r},this.permission!==`granted`&&(this.permission=`granted`),l.onended=this.onTrackEnded,this.readZoomCapability(l),this.setState(`live`),this.armStableTimer(),this.bindStream(),this.desiredZoom!==null&&this.setZoom(this.desiredZoom),await this.refreshDevices(),n!==this.seq)return!1;if(!t.deviceId&&!this.autoCorrected&&this.opts.preferredFacing&&p&&(this.autoCorrected=!0,p!==this.opts.preferredFacing)){let e=this.devices.find(e=>e.facing===this.opts.preferredFacing&&e.deviceId!==d);if(e)return this.start({deviceId:e.deviceId,resolution:r,strictDevice:!0})}return!0}stop(){this.seq++,this.intent=`stopped`,this.cancelRecovery(),this.teardown(),this.error=null,this.setState(`idle`)}pause(){if(!(this.state!==`live`||!this.stream)){this.intent=`paused`,this.clearWatchdog(),this.video?.pause();for(let e of this.stream.getVideoTracks())e.enabled=!1;this.setState(`paused`)}}async resume(){if(this.state!==`paused`)return this.state===`live`;this.intent=`live`;let e=this.stream?.getVideoTracks()[0];return!e||e.readyState===`ended`?this.start({deviceId:this.lastGood?.deviceId??void 0}):(e.enabled=!0,this.setState(`live`),this.bindStream(),!0)}async toggle(){return this.state===`live`?(this.pause(),!0):this.state===`paused`?this.resume():this.start()}async switchCamera(){if(this.state===`starting`)return!1;this.devices.length===0&&await this.refreshDevices();let e=Tn(this.devices,this.activeDeviceId,this.activeFacing);return e?this.selectDevice(e.deviceId):!1}async selectDevice(e){if(e===this.activeDeviceId&&this.state===`live`)return!0;let t=this.lastGood,n=await this.start({deviceId:e,strictDevice:!0});if(n||!t?.deviceId||this.error?.code===`not-allowed`)return n;let r=this.error;return await this.start({deviceId:t.deviceId,resolution:t.resolution,strictDevice:!0})&&r&&this.opts.onWarning?.(r),!1}async setResolution(e){let t=this.lastGood?.resolution?.width===e.width&&this.lastGood?.resolution?.height===e.height;return this.lastGood&&(this.lastGood.resolution=e),t||this.state!==`live`&&this.state!==`paused`?this.state===`live`:this.start({deviceId:this.activeDeviceId??void 0,resolution:e})}async setZoom(e){this.desiredZoom=e;let t=this.stream?.getVideoTracks()[0],n=this.zoomCapability;if(!t||!n)return!1;let r=Math.min(n.max,Math.max(n.min,e));try{await t.applyConstraints({advanced:[{zoom:r}]})}catch{try{await t.applyConstraints({zoom:r})}catch{return!1}}return this.zoom=t.getSettings().zoom??r,this.emit(),!0}async refreshDevices(){return this.refreshing||=this.doRefreshDevices().finally(()=>{this.refreshing=null}),this.refreshing}dispose(){this.disposed||(this.disposed=!0,this.stop(),this.listeners.clear(),typeof document<`u`&&(document.removeEventListener(`visibilitychange`,this.onVisibilityChange),window.removeEventListener(`pageshow`,this.onPageShow)),navigator.mediaDevices?.removeEventListener?.(`devicechange`,this.onDeviceChange),this.permissionStatus&&(this.permissionStatus.onchange=null),this.deviceChangeTimer&&clearTimeout(this.deviceChangeTimer),this.healthTimer&&clearTimeout(this.healthTimer),this.video=null)}teardown(){this.tearingDown=!0,this.clearWatchdog(),this.stableTimer&&clearTimeout(this.stableTimer),this.stableTimer=null;let e=this.stream;if(this.stream=null,e)for(let t of e.getTracks())t.onended=null,t.onmute=null,t.onunmute=null,t.stop();this.video&&(this.video.pause(),this.video.srcObject=null),this.zoomCapability=null,this.tearingDown=!1}fail(e){this.teardown(),this.error=e,this.setState(`error`)}setState(e){this.state=e,this.emit()}emit(){let e=this.snapshot();for(let t of this.listeners)t(e)}bindStream(e=0){let t=this.video,n=this.stream;if(!t||!n)return;this.clearWatchdog(),t.muted=!0,t.playsInline=!0,t.setAttribute(`playsinline`,``),t.autoplay=!0,t.srcObject=n,t.load(),t.play().catch(Pn);let r=!1,i=setTimeout(()=>{if(!r&&(o(),this.stream===n&&this.state===`live`)){if(e<Dn){t.srcObject=null,t.offsetHeight,this.bindStream(e+1);return}t.readyState>=2&&t.videoWidth>0||this.opts.onWarning?.(new X(`first-frame`,`Video did not render its first frame`))}},En),a=()=>{r||(r=!0,o())},o=()=>{clearTimeout(i),t.removeEventListener(`loadeddata`,a),t.removeEventListener(`playing`,a),this.watchdogCleanup=null};this.watchdogCleanup=o,nn(t)?t.requestVideoFrameCallback(()=>a()):(t.addEventListener(`loadeddata`,a),t.addEventListener(`playing`,a))}clearWatchdog(){this.watchdogCleanup?.(),this.watchdogCleanup=null}onTrackEnded=()=>{this.tearingDown||this.intent!==`live`||this.scheduleRecovery()};onVisibilityChange=()=>{document.visibilityState===`visible`&&this.scheduleHealthCheck(jn)};onPageShow=e=>{e.persisted&&this.scheduleHealthCheck(0)};scheduleHealthCheck(e){this.healthTimer&&clearTimeout(this.healthTimer),this.healthTimer=setTimeout(()=>{this.healthTimer=null,this.healthCheck()},e)}healthCheck(){if(this.disposed||this.intent!==`live`||this.state===`starting`)return;let e=this.stream?.getVideoTracks()[0];if(!e||e.readyState===`ended`||e.muted){this.scheduleRecovery();return}this.video&&this.video.paused&&this.video.play().catch(Pn)}scheduleRecovery(){if(this.disposed||this.intent!==`live`||this.recoveryTimer)return;if(this.recoveryAttempts>=kn.length){this.fail(new X(`not-readable`,`Camera stopped and could not be re-acquired`));return}let e=kn[this.recoveryAttempts]??3e3;this.recoveryAttempts++,this.recoveryTimer=setTimeout(()=>{this.recoveryTimer=null,this.intent===`live`&&this.start({deviceId:this.lastGood?.deviceId??void 0,facing:this.activeFacing??this.opts.preferredFacing,resolution:this.lastGood?.resolution})},e)}cancelRecovery(){this.recoveryTimer&&clearTimeout(this.recoveryTimer),this.recoveryTimer=null}armStableTimer(){this.stableTimer&&clearTimeout(this.stableTimer),this.stableTimer=setTimeout(()=>{this.stableTimer=null,this.recoveryAttempts=0},An)}onDeviceChange=()=>{this.deviceChangeTimer&&clearTimeout(this.deviceChangeTimer),this.deviceChangeTimer=setTimeout(()=>{this.deviceChangeTimer=null,this.refreshDevices()},Mn)};async doRefreshDevices(){if(this.disposed||!navigator.mediaDevices?.enumerateDevices||this.state===`starting`)return;let e;try{e=await navigator.mediaDevices.enumerateDevices()}catch{return}let t=e.filter(e=>e.kind===`videoinput`&&e.deviceId),n=new Set(t.map(e=>e.deviceId));for(let e of[...this.probeCache.keys()])n.has(e)||this.probeCache.delete(e);let r=tn()&&!en()&&this.permission!==`denied`,i=[];for(let e of t){if(this.disposed)return;let t=this.probeCache.get(e.deviceId),n=t!==void 0;if(!n&&r){let r=await this.probeDevice(e.deviceId);if(r===void 0)continue;t=r,n=!0,this.probeCache.set(e.deviceId,r)}i.push({deviceId:e.deviceId,label:e.label,facing:t??xn(e.label),probed:n})}let a=r?Cn(i,this.activeDeviceId):i;this.devices=a,this.emit()}async probeDevice(e){if(e===this.activeDeviceId&&this.stream)return this.probeCache.get(e)??this.activeFacing;let t=null;try{t=await navigator.mediaDevices.getUserMedia({video:{deviceId:{exact:e},...Nn}});let n=t.getVideoTracks()[0];return Sn(n?.getSettings().facingMode)??null}catch{return}finally{if(t)for(let e of t.getTracks())e.onended=null,e.stop()}}async initPermission(){try{let e=await navigator.permissions.query({name:`camera`});this.permissionStatus=e,this.permission=e.state,e.onchange=()=>{this.permission=e.state,e.state===`denied`?this.fail(new X(`not-allowed`,`Camera permission was revoked`)):(this.emit(),e.state===`granted`&&this.refreshDevices())},this.emit()}catch{this.permission=`unknown`}}readZoomCapability(e){let t=e.getCapabilities?.()?.zoom;t&&typeof t.min==`number`&&typeof t.max==`number`&&t.max>t.min?(this.zoomCapability={min:t.min,max:t.max,step:t.step&&t.step>0?t.step:.1},this.zoom=e.getSettings().zoom??t.min):(this.zoomCapability=null,this.zoom=1)}};function Ln(e){return e instanceof Error?e.message||e.name:`Camera could not be started`}function Rn(e={}){let{videoRef:n,...r}=e,i=new In(r),a=(0,t.shallowRef)(i.snapshot()),o=i.subscribe(e=>{a.value=e});return n&&(0,t.watch)(n,e=>i.attachVideo(e??null),{immediate:!0,flush:`post`}),(0,t.onScopeDispose)(()=>{o(),i.dispose()}),{manager:i,state:(0,t.computed)(()=>a.value.state),intent:(0,t.computed)(()=>a.value.intent),stream:(0,t.computed)(()=>a.value.stream),devices:(0,t.computed)(()=>a.value.devices),activeDeviceId:(0,t.computed)(()=>a.value.activeDeviceId),activeFacing:(0,t.computed)(()=>a.value.activeFacing),error:(0,t.computed)(()=>a.value.error),permission:(0,t.computed)(()=>a.value.permission),zoom:(0,t.computed)(()=>a.value.zoom),zoomCapability:(0,t.computed)(()=>a.value.zoomCapability),isLive:(0,t.computed)(()=>a.value.state===`live`),isPaused:(0,t.computed)(()=>a.value.state===`paused`),isStarting:(0,t.computed)(()=>a.value.state===`starting`),canSwitch:(0,t.computed)(()=>a.value.devices.length>1),isSupported:In.isSupported(),start:e=>i.start(e),stop:()=>i.stop(),pause:()=>i.pause(),resume:()=>i.resume(),toggle:()=>i.toggle(),switchCamera:()=>i.switchCamera(),selectDevice:e=>i.selectDevice(e),setResolution:e=>i.setResolution(e),setZoom:e=>i.setZoom(e),refreshDevices:()=>i.refreshDevices(),bindVideo:e=>i.attachVideo(e)}}var zn=H((0,t.defineComponent)({__name:`camera-preview`,props:{ratio:{default:`3x4`},resolutions:{default:()=>({})},mirror:{type:Boolean,default:!1},filter:{default:`none`},tintColor:{default:`#FF000080`},tintIntensity:{default:.3}},setup(e,{expose:n}){let r=e,i=(0,t.ref)(null),a=(0,t.computed)(()=>{let e=r.resolutions[r.ratio];if(e)return e;let[t,n]=r.ratio.split(/[x:/]/).map(Number);return t&&n?{width:t,height:n}:{width:3,height:4}}),o=(0,t.computed)(()=>({aspectRatio:`${a.value.width} / ${a.value.height}`})),s=(0,t.computed)(()=>({transform:r.mirror?`scaleX(-1)`:`none`,filter:ln(r.filter)})),c=(0,t.computed)(()=>{let e=an(r.tintColor,r.tintIntensity);return{backgroundColor:e.color,opacity:e.opacity}});return n({videoEl:i,resolution:a}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`camera-preview position-relative overflow-hidden bg-black w-100`,style:(0,t.normalizeStyle)(o.value)},[(0,t.createElementVNode)(`video`,{ref_key:`videoEl`,ref:i,class:`camera-preview__video position-absolute top-0 start-0 w-100 h-100`,style:(0,t.normalizeStyle)(s.value),playsinline:``,muted:``,autoplay:``,disablepictureinpicture:``},null,4),e.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-b26bcd08`]]),Bn={class:`zoom-slider`},Vn=[`min`,`max`,`step`,`value`],Hn={class:`zoom-slider__ticks`},Un=(0,t.defineComponent)({name:`ZoomSlider`,inheritAttrs:!1,props:{modelValue:{type:Number,default:1},min:{type:Number,default:1},max:{type:Number,default:2},step:{type:Number,default:.01},ticks:{type:Number,default:51}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>r.ticks),o=(0,t.computed)(()=>Math.round((r.ticks-1)/2)),s=(0,t.computed)(()=>Math.round((r.ticks-1)/10));function c(e){i(`update:modelValue`,parseFloat(e.target.value))}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Bn,[(0,t.createElementVNode)(`input`,{type:`range`,min:e.min,max:e.max,step:e.step,value:e.modelValue,onInput:c,"aria-label":`Zoom`},null,40,Vn),(0,t.createElementVNode)(`div`,Hn,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:e,class:(0,t.normalizeClass)([`zoom-slider__tick`,{"zoom-slider__tick--major":(e-1)%o.value==0,"zoom-slider__tick--mid":(e-1)%s.value==0&&(e-1)%o.value!=0}])},null,2))),128))])]))}}),Wn=`data:image/png;base64,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`,Gn={class:`base-camera position-relative w-100 user-select-none`,"data-bs-theme":`dark`},Kn=[`src`],qn={class:`position-absolute top-0 start-0 end-0 d-flex justify-content-between align-items-start p-2 gap-2`},Jn={key:1},Yn=[`disabled`],Xn={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`},Zn={key:0,class:`spinner-border text-light`,role:`status`},Qn={key:1,class:`alert alert-danger py-2 px-3 mb-0 small`},$n={class:`mb-2`},er={class:`position-absolute bottom-0 start-0 end-0 p-3 d-flex flex-column gap-2 align-items-center`},tr={key:0,class:`d-flex align-items-center justify-content-center gap-4 w-100`},nr=[`disabled`,`aria-label`],rr={key:0,viewBox:`0 0 24 24`,width:`22`,height:`22`,fill:`currentColor`,"aria-hidden":`true`},ir={key:1,viewBox:`0 0 24 24`,width:`22`,height:`22`,fill:`currentColor`,"aria-hidden":`true`},ar=[`disabled`],or=[`aria-label`],sr={key:2,class:`base-camera__countdown-overlay`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`},cr=[`data-countdown`],lr={key:0,class:`base-camera__zoom`},ur=H((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:`#FF000080`},tintIntensity:{type:Number,default:.3},countdown:{type:Number,default:0},emitBlob:{type:Boolean,default:!1},autoStart:{type:Boolean,default:!0},enableGuide:{type:Boolean,default:!0},guideSrc:{type:String,default:Wn},enableControls:{type:Boolean,default:!0},enableScreenFlash:{type:Boolean,default:!1},screenFlashColor:{type:String,default:`#FFFFFF`},enableShutterAnimation:{type:Boolean,default:!0}},emits:[`update:modelValue`,`update:zoom`,`capture`,`error`,`state`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(null),s=(0,t.computed)(()=>o.value?.videoEl??null),c=(0,t.computed)(()=>i.resolutions[i.ratio]??{width:720,height:960}),l=Rn({preferredFacing:i.defaultRearCamera?`environment`:`user`,resolution:c.value,videoRef:s,onWarning:e=>a(`error`,e)}),u=(0,t.computed)(()=>i.enableMirrorCamera&&l.activeFacing.value!==`environment`),d=(0,t.computed)(()=>i.enableSelectDevice&&l.devices.value.length>1),f=(0,t.computed)(()=>i.enableSwitchCamera&&l.canSwitch.value),p=(0,t.computed)(()=>i.enableZoomSlider&&l.zoomCapability.value!==null),m=(0,t.computed)(()=>l.isLive.value||l.isPaused.value),h=(0,t.ref)(!1),g=(0,t.ref)(0),_=(0,t.ref)(!1),v=(0,t.ref)(0),y=(0,t.ref)(!1),x=(0,t.ref)(0),S=(0,t.ref)(i.enableScreenFlash);(0,t.watch)(()=>i.enableScreenFlash,e=>{S.value=e});let C=null,w=null,T=null,E=null,D=null,O=!1,k=(0,t.ref)(i.zoom);(0,t.watch)(()=>i.zoom,e=>{k.value=e}),(0,t.watch)(k,e=>{l.setZoom(e),e!==i.zoom&&a(`update:zoom`,e)}),(0,t.watch)(l.zoom,e=>{l.zoomCapability.value&&e!==k.value&&(k.value=e)}),(0,t.watch)(l.zoomCapability,e=>{e&&l.setZoom(k.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)(()=>{O=!0,w&&clearTimeout(w),T&&clearTimeout(T),E&&clearTimeout(E),w=null,T=null,E=null,D?.(!1),D=null,g.value=0,_.value=!1,y.value=!1});function A(){i.enableShutterAnimation&&(T&&clearTimeout(T),v.value++,_.value=!0,T=setTimeout(()=>{T=null,_.value=!1},650))}function j(){return S.value?(E&&clearTimeout(E),x.value++,y.value=!0,new Promise(e=>{E=setTimeout(()=>{E=null,y.value=!1,e()},350)})):Promise.resolve()}async function M(){let e=s.value;if(!e||!m.value||h.value)return null;h.value=!0;try{let t=cn(e,{width:c.value.width,height:c.value.height,mirror:u.value,filter:i.filter,tintColor:i.tintColor,tintIntensity:i.tintIntensity});S.value&&await j(),A();let n=await fn(t,{asBlob:i.emitBlob});return a(`update:modelValue`,n),a(`capture`,n,t),n}finally{h.value=!1}}function N(){return new Promise(e=>{D=e,w=setTimeout(()=>{w=null,D=null,e(!0)},1e3)})}async function P(){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 N())return null;return g.value=0,O?null:M()}function F(){return C||(!s.value||!m.value?Promise.resolve(null):(C=P().finally(()=>{g.value=0,C=null}),C))}function I(e){let t=e.target.value;t&&l.selectDevice(t)}function L(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:F,camera:l,zoom:k}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Gn,[(0,t.createVNode)(zn,{ref_key:`previewRef`,ref:o,ratio:e.ratio,resolutions:e.resolutions,mirror:u.value,filter:e.filter,"tint-color":e.tintColor,"tint-intensity":e.tintIntensity},{default:(0,t.withCtx)(()=>[e.enableGuide&&e.guideSrc?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,src:e.guideSrc,class:`position-absolute top-0 start-0 w-100 h-100 base-camera__guide`,alt:``,"aria-hidden":`true`},null,8,Kn)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,qn,[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:I,options:(0,t.unref)(l).devices.value.map((e,t)=>({value:e.deviceId,text:L(e,t)}))},null,8,[`modelValue`,`disabled`,`options`])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Jn)),f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,type:`button`,class:`btn d-grid place-content-center px-2`,disabled:(0,t.unref)(l).isStarting.value,"aria-label":`Switch camera`,onClick:r[1]||=e=>(0,t.unref)(l).switchCamera()},[(0,t.createVNode)(b,{symbol:`switch-camera`})],8,Yn)):(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`,Xn,[(0,t.unref)(l).isStarting.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Zn,[...r[8]||=[(0,t.createElementVNode)(`span`,{class:`visually-hidden`},`Starting camera…`,-1)]])):(0,t.unref)(l).state.value===`error`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Qn,[(0,t.createElementVNode)(`div`,$n,(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[2]||=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[3]||=e=>(0,t.unref)(l).start()},`Start camera`))])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,er,[e.enableControls?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,tr,[(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[4]||=e=>(0,t.unref)(l).toggle()},[(0,t.unref)(l).isLive.value?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,rr,[...r[9]||=[(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`,ir,[...r[10]||=[(0,t.createElementVNode)(`path`,{d:`M8 5v14l11-7z`},null,-1)]]))],8,nr),(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[5]||=e=>F()},[...r[11]||=[(0,t.createElementVNode)(`span`,{class:`base-camera__shutter-inner`},null,-1)]],8,ar),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-dark bg-opacity-50 rounded-circle base-camera__icon-btn`,"aria-label":S.value?`Flash On`:`Flash Off`,onClick:r[6]||=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)]),g.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,sr,[((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{key:g.value,class:`base-camera__countdown`,"data-countdown":g.value},(0,t.toDisplayString)(g.value),9,cr))])):(0,t.createCommentVNode)(``,!0),_.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:v.value,class:`base-camera__shutter-effect`,"aria-hidden":`true`},[...r[12]||=[(0,t.createElementVNode)(`span`,{class:`base-camera__shutter-aperture`},null,-1)]])):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(t.Transition,{name:`base-camera-flash`},{default:(0,t.withCtx)(()=>[y.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:x.value,class:`base-camera__screen-flash`,style:(0,t.normalizeStyle)({background:e.screenFlashColor}),"aria-hidden":`true`},null,4)):(0,t.createCommentVNode)(``,!0)]),_:1})]),_:1},8,[`ratio`,`resolutions`,`mirror`,`filter`,`tint-color`,`tint-intensity`]),p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,lr,[(0,t.createVNode)(Un,{modelValue:k.value,"onUpdate:modelValue":r[7]||=e=>k.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-8723d2bb`]]),dr={class:`base-map`},fr={key:0,class:`base-map__label`},pr={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`,dr,[(0,t.renderSlot)(n.$slots,`label`,{},()=>[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,fr,(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`,pr,(0,t.toDisplayString)(e.helperText),1)):(0,t.createCommentVNode)(``,!0)]))}}),hr={class:`location-list`,"data-testid":`location-list`},gr={key:0,class:`location-list__label`},_r={key:1,class:`location-list__items`},vr=[`data-testid`,`onClick`],yr={class:`location-list__title`},br={key:0,class:`location-list__description`},xr={key:1,class:`location-list__distance`},Sr={key:2,class:`location-list__empty`},Cr=(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`,hr,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,gr,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0),e.locations.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,_r,[((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`,yr,(0,t.toDisplayString)(a(n)),1),o(n)?((0,t.openBlock)(),(0,t.createElementBlock)(`small`,br,(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`,xr,(0,t.toDisplayString)(u(Number(n.distance)))+` away `,1)):(0,t.createCommentVNode)(``,!0)],10,vr))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Sr,(0,t.toDisplayString)(e.emptyText),1))]))}});function wr(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 Tr(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 Er(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 Dr=[`src`],Or=[`onClick`],kr=[`onClick`],Ar=[`for`],jr=[`innerHTML`],Mr={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}=Tr(r),{toLocalUrl:u,revoke:d}=Er((0,t.toRef)(r,`localUrlFormat`)),{isDragging:f}=wr(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,Dr),(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>m(i),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,Or)],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,kr))])],2))),128)),(0,t.createVNode)(nt,{modelValue:o.value,"onUpdate:modelValue":r[0]||=e=>o.value=e,id:e.id,name:e.name,accept:e.accept,"max-file-size":e.maxFileSize,multiple:e.multiple,class:`d-none`},null,8,[`modelValue`,`id`,`name`,`accept`,`max-file-size`,`multiple`]),(0,t.renderSlot)(n.$slots,`label`,{},()=>[(0,t.createElementVNode)(`label`,{for:e.id,class:`file-upload__label`},[(0,t.renderSlot)(n.$slots,`button`,{},()=>[(0,t.createElementVNode)(`span`,{class:`btn btn-outline-contrast`,innerHTML:(0,t.unref)(O)(e.label||n.$t(`common.selectFile`))},null,8,jr)]),(0,t.createVNode)(t.Transition,{name:`fade`},{default:(0,t.withCtx)(()=>[(0,t.unref)(c)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Mr,[...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,Ar)])],2))}}),Nr={class:`container-fluid`},Pr={class:`row`},Fr={key:0,class:`col-12`},Ir={class:`py-4 px-3 d-flex align-items-center border border-bottom-0`},Lr=[`innerHTML`],Rr={class:`col-12`},zr={key:0,class:`grid place-items-center text-center text-muted py-5 border border-bottom-0`},Br={class:`m-0`},Vr={class:`preview-item border-bottom p-3`},Hr={class:`d-flex gap-3`},Ur={class:`col-2`},Wr={class:`col d-flex flex-column`},Gr={class:`file-meta text-muted small mb-2`},Kr={class:`fw-semibold`},qr={key:0},Jr={key:1},Yr=[`onUpdate:modelValue`,`id`],Xr=[`innerHTML`],Zr={key:2,class:`upload-progress mt-3 mb-0`},Qr=[`value`],$r={class:`col-auto d-flex flex-column gap-2`},ei=[`onClick`],ti=[`onClick`],ni={class:`d-flex justify-content-between align-items-center`},ri={class:`file-upload__info p-3`},ii={key:0,class:`text-muted small`},ai={class:`file-upload__label`},oi={class:`d-flex align-items-end p-3`},si=[`for`],ci=[`innerHTML`],li=(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`,Nr,[(0,t.createElementVNode)(`div`,Pr,[e.hasHeader?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Fr,[(0,t.createElementVNode)(`div`,Ir,[(0,t.createElementVNode)(`p`,{class:`fw-bold m-0`,innerHTML:(0,t.unref)(O)(e.title||n.$t(`fileInput.bulkUploadHeadline`))},null,8,Lr),(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`,Rr,[c.value.length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,zr,[(0,t.createElementVNode)(`p`,Br,(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`,Vr,[(0,t.createElementVNode)(`div`,Hr,[(0,t.createElementVNode)(`div`,Ur,[(0,t.createVNode)(a,{src:o.src,alt:``,class:`img-thumbnail`},null,8,[`src`])]),(0,t.createElementVNode)(`div`,Wr,[(0,t.createElementVNode)(`div`,Gr,[(0,t.createElementVNode)(`div`,Kr,(0,t.toDisplayString)(o.name||n.$t(`fileInput.unknownFile`)),1),(0,t.createElementVNode)(`div`,null,[o.size?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,qr,(0,t.toDisplayString)(y(o.size)),1)):(0,t.createCommentVNode)(``,!0),o.lastModified?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Jr,` · `+(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,Yr)),[[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,Xr)),e.showProgress&&o.uploadProgress?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Zr,[(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,Qr)])])):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,$r,[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,ei)):(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,ti)):(0,t.createCommentVNode)(``,!0)])])])]),label:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`button`,{},()=>[(0,t.createElementVNode)(`span`,ni,[(0,t.createElementVNode)(`span`,ri,[(0,t.renderSlot)(n.$slots,`info`,{},()=>[e.maxFiles>0||e.minFiles>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ii,(0,t.toDisplayString)(g.value),1)):(0,t.createCommentVNode)(``,!0)])]),(0,t.createElementVNode)(`span`,ai,[(0,t.createElementVNode)(`span`,oi,[(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,ci)],10,si)])])])])]),_:3},8,[`id`,`modelValue`])])])])],512)}}}),ui=[`onDragenter`,`onDragover`,`onDragleave`,`onDragend`,`onDrop`,`innerHTML`],di=[`draggable`,`onDragstart`,`onDrag`,`onDragenter`,`onDragover`,`onDragleave`,`onDragend`,`onDrop`],fi={key:0,class:`sortable-list__drag-handle`},pi=[`onDragstart`,`onDrag`],mi={key:0,class:`sortable-list__item`},hi=(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,ui)):(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`,fi,[(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,pi)])):(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,di)],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`]))}}),gi={key:0,class:`image-editor position-relative`},_i={class:`row mb-3`},vi={class:`col`},yi={class:`row gap-2 mb-4`},bi={class:`col-12`},xi={class:`input mb-2`},Si={class:`col`},Ci={class:`input mb-0`},wi={class:`col`},Ti={class:`input mb-0`},Ei={class:`row`},Di={class:`col d-flex justify-content-end gap-2`},Oi=[`disabled`],ki=(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`,gi,[(0,t.createElementVNode)(`div`,_i,[(0,t.createElementVNode)(`div`,vi,[(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`,yi,[(0,t.createElementVNode)(`div`,bi,[(0,t.createElementVNode)(`div`,xi,[(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`,Si,[(0,t.createElementVNode)(`div`,Ci,[(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`,wi,[(0,t.createElementVNode)(`div`,Ti,[(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`,Ei,[(0,t.createElementVNode)(`div`,Di,[(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,Oi)])])])):(0,t.createCommentVNode)(``,!0)}}),Ai=h((()=>{})),ji={key:0,class:`image-crop`},Mi={class:`row mb-4`},Ni={class:`col`},Pi={class:`row`},Fi={class:`col d-flex gap-2 justify-content-end gap-2`},Ii=(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(()=>_(Ai(),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`,ji,[(0,t.createElementVNode)(`div`,Mi,[(0,t.createElementVNode)(`div`,Ni,[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`,Pi,[(0,t.createElementVNode)(`div`,Fi,[(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)}}),Li={key:0,class:`image-crop-resize position-relative`},Ri={class:`row`},zi={class:`col`},Bi={key:3,class:`alert alert-warning mt-4 small p-2`},Vi={key:4},Hi={class:`row`},Ui={class:`col-12`},Wi={class:`d-flex`},Gi={key:0,class:`d-flex gap-3`},Ki={class:`caption`},qi={class:`caption`},Ji={key:1,class:`ms-auto`},Yi=(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`,Li,[(0,t.createElementVNode)(`div`,Ri,[(0,t.createElementVNode)(`div`,zi,[a.value||o.value?a.value?((0,t.openBlock)(),(0,t.createBlock)(ki,{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)(Ii,{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`,Bi,(0,t.toDisplayString)(n.$t(`common.svgWarning`)),1)):(0,t.createCommentVNode)(``,!0),!o.value&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`hr`,Vi)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Hi,[(0,t.createElementVNode)(`div`,Ui,[(0,t.createElementVNode)(`div`,Wi,[!o.value&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Gi,[(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`,Ki,(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`,qi,(0,t.toDisplayString)(n.$t(`common.resize`)),1)])])):(0,t.createCommentVNode)(``,!0),!o.value&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ji,[(0,t.renderSlot)(n.$slots,`submit`)])):(0,t.createCommentVNode)(``,!0)])])])])])])):(0,t.createCommentVNode)(``,!0)}}),Xi={class:`modal-dialog__content d-flex flex-column`},Zi={class:`modal-dialog__header d-flex p-3 border-bottom`},Qi={key:0,class:`modal-dialog__title`,id:`exampleModalLabel`},$i={class:`modal-dialog__body`},ea={key:0,class:`modal-dialog__footer d-flex p-3 border-top`},ta=(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`,Xi,[(0,t.createElementVNode)(`div`,Zi,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`h5`,Qi,(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`,$i,[(0,t.renderSlot)(n.$slots,`default`)]),e.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ea,[(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))}}),na={class:`image-upload__controls`},ra={class:`d-flex gap-1 align-items-center`},ia={key:1,class:`image-upload__controls`},aa=[`for`],oa=[`innerHTML`],sa={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}=Tr(r),{toLocalUrl:h,revoke:g}=Er((0,t.toRef)(r,`localUrlFormat`)),{isDragging:_}=wr(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`,na,[(0,t.createElementVNode)(`div`,ra,[(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`,ia,[(0,t.createElementVNode)(`button`,{onClick:r[3]||=(0,t.withModifiers)(e=>x(),[`prevent`,`stop`]),class:`btn btn--close btn-outline-contrast`},[(0,t.createVNode)(b,{symbol:`x`})])]))],2)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(nt,{modelValue:o.value,"onUpdate:modelValue":r[4]||=e=>o.value=e,id:e.id,name:e.name,accept:e.accept,"max-file-size":e.maxFileSize,class:`d-none`},null,8,[`modelValue`,`id`,`name`,`accept`,`max-file-size`]),e.src?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:1,for:e.id,class:`image-upload__label`},[(0,t.renderSlot)(n.$slots,`button`,{},()=>[(0,t.createElementVNode)(`span`,{class:`btn btn-outline-contrast`,innerHTML:(0,t.unref)(O)(e.label||n.$t(`common.selectFile`))},null,8,oa)]),(0,t.createVNode)(t.Transition,{name:`fade`},{default:(0,t.withCtx)(()=>[(0,t.unref)(p)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,sa,[...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,aa)),(0,t.createVNode)(ta,{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)(Yi,{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))}}),ca={class:`upload-group`},la=[`innerHTML`],ua={class:`upload-group__list`},da={class:`img-container`},fa=[`src`],pa={class:`item-overlay`},ma=[`onClick`],ha={role:`button`,class:`img-thumbnail d-flex justify-content-center align-items-center`},ga={role:`button`,class:`img-thumbnail d-flex justify-content-center align-items-center`},_a=(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`,ca,[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.createElementVNode)(`div`,ua,[(0,t.createVNode)(hi,{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`,da,[(0,t.createElementVNode)(`img`,{src:`${r}${e.previewWidth?`?width=${e.previewWidth}`:``}`,class:`img-thumbnail`},null,8,fa),(0,t.createElementVNode)(`div`,pa,[(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`,ha,[(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`,ga,[(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`])])]))}}),va={class:`asset-uploader`},ya=[`innerHTML`],ba=(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`,va,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,innerHTML:(0,t.unref)(O)(e.label)},null,8,ya)):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(_a,{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`])]))}}),xa=[`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,xa))}}),Sa={class:`preset-uploader`},Ca=[`innerHTML`],wa={class:`preset-uploader__list`},Ta=[`popovertarget`],Ea=[`src`],Da=[`onClick`],Oa={class:`preset-uploader__popover p-2 d-flex gap-2 align-items-start`},ka=[`popovertarget`],Aa=[`src`],ja={class:`d-flex flex-column gap-2`},Ma={role:`button`,class:`btn btn-sm w-100 d-inline-flex align-items-center`},Na={role:`button`,class:`btn btn-sm w-100 d-inline-flex align-items-center`},Pa={key:1,class:`preset-group border border-2 rounded d-flex gap-1 p-1`},Fa=[`popovertarget`],Ia=[`src`],La=[`src`],Ra=[`onClick`],za={class:`preset-uploader__popover p-2 d-flex gap-2 align-items-start`},Ba=[`popovertarget`],Va=[`src`],Ha={class:`d-flex flex-column gap-2`},Ua={role:`button`,class:`img-thumbnail text-dark d-flex justify-content-center align-items-center`},Wa={role:`button`,class:`img-thumbnail text-dark d-flex justify-content-center align-items-center`},Ga={class:`preset-uploader__popover p-2 d-flex gap-2 align-items-start`},Ka=[`onClick`],qa={role:`button`,class:`img-thumbnail d-flex justify-content-center align-items-center`},Ja={role:`button`,class:`img-thumbnail text-dark d-flex justify-content-center align-items-center`},Ya=(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`,Sa,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,innerHTML:(0,t.unref)(O)(e.label)},null,8,Ca)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,wa,[(0,t.createVNode)(hi,{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`,Pa,[((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,Ia)],8,Fa)):((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:1,src:n.thumbnail||n.src,class:`img-thumbnail border-0 p-0`},null,8,La)),(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,Ra),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,Va)],8,Ba),(0,t.createElementVNode)(`div`,Ha,[(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`,Ua,[(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`,Wa,[(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`,Ga,[(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,Ka)])):((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,Ea)],8,Ta),(0,t.createElementVNode)(`button`,{onClick:(0,t.withModifiers)(e=>v(i),[`prevent`]),class:`btn btn--close`},[(0,t.createVNode)(b,{symbol:`x`})],8,Da),(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`,Oa,[(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,Aa)],8,ka),(0,t.createElementVNode)(`div`,ja,[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`,Ma,[(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`,Na,[(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`,qa,[(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`,Ja,[(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`])])]))}}),Xa=`https://router.project-osrm.org/route/v1`;function Za(){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||Xa).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=>Qa(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 Qa(e){let t=`${e?.maneuver?.type||`continue`}`,n=e?.maneuver?.modifier?` ${e.maneuver.modifier}`:``,r=`${e?.name||``}`;return{instruction:`${$a(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 $a(e){return e.charAt(0).toUpperCase()+e.slice(1)}var eo=`https://nominatim.openstreetmap.org/search`,to=`https://nominatim.openstreetmap.org/reverse`;function no(){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||eo,{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)=>ro(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=ro(await i(t.reverseEndpoint||to,{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 ro(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 io(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 ao={class:`location-finder`,"data-testid":`location-finder`},oo={class:`location-finder__actions`},so=[`disabled`],co={key:1,class:`location-finder__notice`,"data-testid":`location-finder-error`},lo={class:`location-finder__map-panel`},uo=[`aria-label`],fo={class:`location-finder__legend-item`},po={class:`location-finder__legend-item`},mo={class:`location-finder__legend-item`},ho={class:`location-finder__legend-item`},go={key:0,class:`location-finder__sidebar`},_o={key:1,class:`location-finder__summary`,"data-testid":`location-finder-directions`},vo={class:`location-finder__summary-title`},yo={key:0,class:`location-finder__summary-copy`},bo={class:`location-finder__summary-grid`},xo={class:`location-finder__summary-label`},So={"data-testid":`location-finder-distance`},Co={class:`location-finder__summary-label`},wo={"data-testid":`location-finder-duration`},To={key:0,class:`location-finder__steps`},Eo={key:0},Do={key:2,class:`location-finder__summary-copy`},Oo=(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=io(),d=no(),f=Za(),p=(0,t.ref)(``),m=(0,t.ref)(H(B(o.modelValue))),h=(0,t.ref)(H(B(o.modelValue))?null:B(o.modelValue)),g=(0,t.ref)(z(o.modelValue)||z(o.center)||z(o.locations[0])||i),_=(0,t.ref)(!1),v=(0,t.computed)(()=>z(o.userLocation)),y=(0,t.computed)(()=>u.position.value||v.value),b=(0,t.computed)(()=>z(h.value)),x=(0,t.computed)(()=>z(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)(()=>z(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:R(`searchLabel`,o.searchLabel),searchPlaceholder:R(`searchPlaceholder`,o.searchPlaceholder),resultsLabel:R(`resultsLabel`,o.resultsLabel),emptyText:R(`emptyText`,o.emptyText),locateButtonLabel:R(`locateButtonLabel`,o.locateButtonLabel),stopTrackingLabel:R(`stopTrackingLabel`,o.stopTrackingLabel),mapHelperText:R(`mapHelperText`,o.mapHelperText),directionsTitle:R(`directionsTitle`,o.directionsTitle),directionsEmptyText:R(`directionsEmptyText`,o.directionsEmptyText),distanceLabel:R(`distanceLabel`,o.distanceLabel),durationLabel:R(`durationLabel`,o.durationLabel),loadingRoute:R(`loadingRoute`),legendAriaLabel:R(`legendAriaLabel`),legendLocations:R(`legendLocations`),legendSelected:R(`legendSelected`),legendSearchResult:R(`legendSearchResult`),userLocationLabel:R(`userLocationLabel`),pinnedLocationTitle:R(`pinnedLocationTitle`),selectedLocationLabel:R(`selectedLocationLabel`)})),M=(0,t.computed)(()=>h.value?U(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=B(e),n=H(t);n?(m.value=n,h.value=null):t&&(h.value=t);let r=z(e);r&&(g.value=r)},{immediate:!0}),(0,t.watch)(()=>o.center,e=>{let t=z(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=ie(p.value).trim();return e?o.locations.filter(t=>[U(t),ae(t)].filter(Boolean).some(t=>ie(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),ee=(0,t.computed)(()=>oe(I.value,o.enableGeocoding?F.value:[])),te=(0,t.computed)(()=>Array.from(new Set(ee.value.map(e=>W(e))))),ne=(0,t.computed)(()=>L.value.map(e=>{let t=z(e);return t?{id:V(e),label:U(e),...t,type:x.value&&G(t,x.value)?`selected`:`list`}:null}).filter(e=>!!e)),re=(0,t.computed)(()=>_.value&&y.value?y.value:g.value||w.value||y.value||z(L.value[0])||i);function R(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 z(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 B(e){if(!e)return null;let t=z(e);return t?{...e,...t}:null}function V(e){return e?typeof e==`object`?e.id??e.value??W(e):e:null}function H(e){return e&&o.locations.find(t=>V(t)===V(e)||G(z(t),z(e)))||null}function ie(e){return`${e??``}`.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).toLowerCase()}function U(e){return`${e.title||e.label||e.name||`Location`}`}function ae(e){return`${e.address||e.description||e.subtitle||``}`}function W(e){let t=U(e),n=ae(e);return n?`${t} — ${n}`:t}function oe(e,t){let n=[...e];return t.forEach(e=>{n.some(t=>V(t)===V(e)||G(z(t),z(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=B(e),n=H(t);if(_.value=!1,!t){s(`update:modelValue`,null);return}m.value=n||t;let r=z(t);r&&(g.value=r),s(`update:modelValue`,t),s(`select`,t)}function q(e){let t=B(e),n=H(t);if(_.value=!1,!t){s(`update:modelValue`,null);return}n?(m.value=n,h.value=null):h.value=t;let r=z(t);r&&(g.value=r),s(`update:modelValue`,t),s(`select`,t)}function ue(e){let t=ee.value.find(t=>W(t)===e||U(t)===e);if(t){if(H(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=>V(t)===e.id)||L.value.find(t=>{let n=z(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&&(V(h.value)===e.id||G(z(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=z(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`,ao,[E.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`location-finder__toolbar`,{"location-finder__toolbar--actions-only":!o.showSearch}])},[o.showSearch?((0,t.openBlock)(),(0,t.createBlock)(Xt,{key:0,modelValue:p.value,"onUpdate:modelValue":r[0]||=e=>p.value=e,class:`location-finder__search`,label:j.value.searchLabel,placeholder:j.value.searchPlaceholder,options:te.value,disabled:e.disabled,"onUpdate:selection":ue},null,8,[`modelValue`,`label`,`placeholder`,`options`,`disabled`])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,oo,[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,so)):(0,t.createCommentVNode)(``,!0)])],2)):(0,t.createCommentVNode)(``,!0),T.value?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,co,(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`,lo,[(0,t.createVNode)(mr,{class:`location-finder__map`,center:re.value,markers:ne.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`,fo,[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`,po,[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`,ho,[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,uo)):(0,t.createCommentVNode)(``,!0)]),O.value?((0,t.openBlock)(),(0,t.createElementBlock)(`aside`,go,[o.showSidebar?((0,t.openBlock)(),(0,t.createBlock)(Cr,{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`,_o,[(0,t.createElementVNode)(`p`,vo,(0,t.toDisplayString)(j.value.directionsTitle),1),(0,t.unref)(f).pending.value?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,yo,(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`,bo,[(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`p`,xo,(0,t.toDisplayString)(j.value.distanceLabel),1),(0,t.createElementVNode)(`strong`,So,(0,t.toDisplayString)(k.value),1)]),(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`p`,Co,(0,t.toDisplayString)(j.value.durationLabel),1),(0,t.createElementVNode)(`strong`,wo,(0,t.toDisplayString)(A.value),1)])]),e.showDirectionsSteps&&(0,t.unref)(f).steps.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`ol`,To,[((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`,Eo,(0,t.toDisplayString)(e.name),1)):(0,t.createCommentVNode)(``,!0)]))),128))])):(0,t.createCommentVNode)(``,!0)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Do,(0,t.toDisplayString)(j.value.directionsEmptyText),1))])):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)],2)]))}}),ko={class:`carousel d-flex`},Ao=[`title`],jo=[`onClick`],Mo=[`title`],No=(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`,ko,[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,Ao)):(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,jo)],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,Mo)):(0,t.createCommentVNode)(``,!0)]))}}),Po={class:`media-thumbnails`},Fo=[`onClick`,`title`],Io={key:0,class:`img-container`},Lo={key:0,class:`media-thumbnails__count-badge`},Ro={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`,Po,[(0,t.createVNode)(No,{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`,Io,[(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`,Lo,(0,t.toDisplayString)(Object.keys(r.item.items||{}).length),1)):(0,t.createCommentVNode)(``,!0)],2)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ro,[(0,t.createVNode)(w,{src:r.item.thumbnail||r.item.src,class:`img-fluid`},null,8,[`src`])]))],10,Fo)]),_:1},8,[`items`])]))}}),Bo={class:`progress-steps`},Vo={class:`progress-steps__list`},Ho={class:`progress-step`},Uo=[`checked`,`id`,`value`,`disabled`,`read-only`,`required`,`onChange`],Wo=[`for`],Go=[`innerHTML`],Ko=[`for`],qo=[`innerHTML`],Jo=(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`,Bo,[(0,t.createElementVNode)(`ul`,Vo,[((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`,Ho,[(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,Uo),(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,Go)])],8,Wo),(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,qo)])],8,Ko)])])],2))),128))])]))}}),Yo={class:`hint-system`},Xo=[`innerHTML`],Zo=[`innerHTML`],Qo={key:1,class:`hint-system__hint-content`},$o=[`disabled`],es=(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`,Yo,[e.description?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,innerHTML:(0,t.unref)(O)(e.description),class:`hint-system__description`},null,8,Xo)):(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,Zo)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Qo,(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,$o)])]))}}),ts={class:`popover-tooltip`},ns=[`popovertarget`,`disabled`,`aria-describedby`,`aria-label`],rs={class:`popover-tooltip__content d-flex flex-column`},is={key:0,class:`popover-tooltip__header d-flex p-3 border-bottom`},as=[`innerHTML`],os={class:`popover-tooltip__body`},ss=[`innerHTML`],cs={key:1,class:`popover-tooltip__footer d-flex p-3 border-top`},ls=(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`,ts,[(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,ns),(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`,rs,[e.header?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,is,[e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`h5`,{key:0,class:`popover-tooltip__title`,innerHTML:(0,t.unref)(a)},null,8,as)):(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`,os,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createElementVNode)(`span`,{innerHTML:(0,t.unref)(o)},null,8,ss)])]),e.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,cs,[(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`])]))}}),us={class:`popover-notification__header d-flex justify-content-between mb-2`},ds={class:`popover-notification__title`},fs=[`onClick`],ps=[`innerHTML`],ms=240,hs=(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`,us,[(0,t.createElementVNode)(`span`,ds,(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,fs)]),(0,t.createElementVNode)(`span`,{innerHTML:n.content},null,8,ps)])]),_:2},1032,[`id`,`modelValue`,`onUpdate:modelValue`,`style`]))),128))],2))}}),gs=(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))}}),_s={class:`qr-code`},vs=[`innerHTML`],ys=(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`,_s,[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,vs)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,ref_key:`canvas`,ref:a},null,512))]))}}),bs={class:`link-sharing`},xs={key:0,class:`link-sharing__links container`},Ss={class:`row`},Cs={key:0,class:`col-12 col-md-6`},ws=[`href`],Ts={class:`caption`},Es={key:1,class:`col-12 col-md-6`},Ds=[`href`],Os={class:`caption`},ks={key:2,class:`col-12 col-md-6`},As={class:`caption`},js={key:3,class:`col-12 col-md-6`},Ms=[`href`],Ns={class:`caption`},Ps={key:4,class:`col-12 col-md-6`},Fs=[`href`],Is={class:`caption`},Ls={key:5,class:`col-12 col-md-6`},Rs={class:`caption`},zs={key:6,class:`col-12 col-md-6`},Bs=[`href`],Vs={class:`caption`},Hs={key:7,class:`col-12 col-md-6`},Us={class:`caption`},Ws={key:1,class:`link-sharing__instructions pt-5`},Gs={class:`row`},Ks={class:`col-12 text-center py-0`},qs={class:`mb-5`},Js=e=>e.replace(/<(?:.|\n)*?>/gm,``),Ys=(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)(()=>Js(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`,bs,[r.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ws,[(0,t.createElementVNode)(`div`,Gs,[(0,t.createElementVNode)(`div`,Ks,[(0,t.createElementVNode)(`div`,qs,[(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`,xs,[(0,t.createElementVNode)(`div`,Ss,[e.services.facebook?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Cs,[(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`,Ts,(0,t.toDisplayString)(n.$t(`sharing.facebook`)),1)],8,ws)])):(0,t.createCommentVNode)(``,!0),e.services.bluesky?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Es,[(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`,Os,(0,t.toDisplayString)(n.$t(`sharing.bluesky`)),1)],8,Ds)])):(0,t.createCommentVNode)(``,!0),e.services.instagram?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ks,[(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`,As,(0,t.toDisplayString)(n.$t(`sharing.instagram`)),1)])])):(0,t.createCommentVNode)(``,!0),e.services.linkedin?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,js,[(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`,Ns,(0,t.toDisplayString)(n.$t(`sharing.linkedin`)),1)],8,Ms)])):(0,t.createCommentVNode)(``,!0),e.services.whatsapp&&o.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ps,[(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`,Is,(0,t.toDisplayString)(n.$t(`sharing.whatsapp`)),1)],8,Fs)])):(0,t.createCommentVNode)(``,!0),e.services.clipboard?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ls,[(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`,Rs,(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`,Vs,(0,t.toDisplayString)(n.$t(`sharing.mailto`)),1)],8,Bs)])):(0,t.createCommentVNode)(``,!0),e.services.os&&s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Hs,[(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`,Us,(0,t.toDisplayString)(n.$t(`sharing.os`)),1)])])):(0,t.createCommentVNode)(``,!0)])]))]))}}),Xs={class:`base-form`},Zs=(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`,Xs,[(0,t.createElementVNode)(`form`,{ref:`form`,onInput:n,onReset:r,onSubmit:(0,t.withModifiers)(i,[`prevent`])},[(0,t.renderSlot)(e.$slots,`default`)],544)]))}}),Qs={class:`touch-wrapper__controls`},$s={class:`btn-group`,role:`group`},ec=(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`,Qs,[(0,t.createElementVNode)(`div`,$s,[(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))}}),tc=null;async function nc(){if(typeof window>`u`)return null;if(tc)return tc;let e=await import(`canvas-confetti`);return tc=e.default||e,tc}var rc={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:ic(55,125),spread:ic(50,70),particleCount:ic(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 ic(e,t){return Math.random()*(t-e)+e}var ac=(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)(()=>({...rc[n.preset],items:rc[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 nc();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))}}),oc=[`popovertarget`],sc=[`src`,`alt`],cc=(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,sc)],2)],2)]),_:1},8,[`id`,`modelValue`,`hover-delay`,`close-timeout`,`class`])],8,oc))}});function lc(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=W,e.AccordionItem=V,e.AssetUploader=ba,e.AutoSuggest=Xt,e.BaseButton=G,e.BaseCamera=ur,e.BaseCarousel=No,e.BaseForm=Zs,e.BaseHeadline=E,e.BaseImage=w,e.BaseInput=q,e.BaseMap=mr,e.BaseParagraph=A,e.BulkUpload=li,e.CanvasConfetti=ac,e.CheckGroup=Ve,e.ColorPalette=Nt,e.CustomHtml=at,e.DomRenderer=gs,e.FileUpload=Z,e.HintSystem=es,e.ImageCrop=Ii,e.ImageCropResize=Yi,e.ImageResize=ki,e.ImageUpload=Q,e.ImageZoom=cc,e.InputCheckbox=_e,e.InputColor=At,e.InputDatepicker=Me,e.InputDatetime=xe,e.InputDropdown=Y,e.InputFile=nt,e.InputPasscode=Le,e.InputPassword=Pe,e.InputTextarea=pe,e.LinkSharing=Ys,e.LoadingSpinner=S,e.LocationFinder=Oo,e.LocationList=Cr,e.MediaThumbnails=zo,e.ModalDialog=ta,e.PopoverDialog=$,e.PopoverNotifications=hs,e.PopoverTooltip=ls,e.PresetUploader=Ya,e.ProgressSteps=Jo,e.QrCode=ys,e.RadioButtons=Je,e.RadioGroup=J,e.RteEditor=Et,e.SelectMedia=ct,e.SortableList=hi,e.SvgIcon=b,e.TouchWrapper=ec,e.UploadGroup=_a,e.useCameraFilter=lc,e.useDirections=Za,e.useGeocoding=no,e.useGeolocation=io});