@useinsider/ab-components 0.0.10 → 0.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ab-components.cjs.js +1 -1
- package/dist/ab-components.cjs.js.map +1 -1
- package/dist/ab-components.css +1 -1
- package/dist/ab-components.es.js +970 -9
- package/dist/ab-components.es.js.map +1 -1
- package/dist/ab-components.iife.js +1 -1
- package/dist/ab-components.iife.js.map +1 -1
- package/dist/ab-components.umd.js +1 -1
- package/dist/ab-components.umd.js.map +1 -1
- package/dist/icons.svg +43 -0
- package/dist/index.d.ts +212 -18
- package/package.json +6 -3
- package/dist/FilledCautionTriangle-fCoO6aL0.js +0 -20
- package/dist/FilledCautionTriangle-fCoO6aL0.js.map +0 -1
- package/dist/FilledCheckCircle-C-8rCgNk.js +0 -20
- package/dist/FilledCheckCircle-C-8rCgNk.js.map +0 -1
- package/dist/FilledErrorBox-Bf-e1gi6.js +0 -20
- package/dist/FilledErrorBox-Bf-e1gi6.js.map +0 -1
- package/dist/FilledInfoCircle-BVuqOp8c.js +0 -20
- package/dist/FilledInfoCircle-BVuqOp8c.js.map +0 -1
- package/dist/LineCheck-357DQEBn.js +0 -17
- package/dist/LineCheck-357DQEBn.js.map +0 -1
- package/dist/LoadingCircle-KaXR2IVD.js +0 -17
- package/dist/LoadingCircle-KaXR2IVD.js.map +0 -1
- package/dist/SmartIcon-Cj_avk5U.js +0 -20
- package/dist/SmartIcon-Cj_avk5U.js.map +0 -1
- package/dist/index-CvIq_105.js +0 -680
- package/dist/index-CvIq_105.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),D="_button__size_default_16zzc_1",T="_button__size_small_16zzc_8",G="_button_16zzc_1",A="_button__label_16zzc_193",W="_button__solid_16zzc_205",R="_fill_16zzc_1125",k={button__size_default:D,button__size_small:T,button:G,button__label:A,"button__solid-primary":"_button__solid-primary_16zzc_205","no-hover-effect":"_no-hover-effect_16zzc_212","button--selected":"_button--selected_16zzc_234","button__solid-subtle-primary":"_button__solid-subtle-primary_16zzc_241","button__solid-secondary":"_button__solid-secondary_16zzc_277","button__solid-danger":"_button__solid-danger_16zzc_313","button__solid-warning":"_button__solid-warning_16zzc_349","button__solid-smart":"_button__solid-smart_16zzc_385","button__ghost-primary":"_button__ghost-primary_16zzc_421","button__ghost-subtle-primary":"_button__ghost-subtle-primary_16zzc_457","button__ghost-secondary":"_button__ghost-secondary_16zzc_493","button__ghost-danger":"_button__ghost-danger_16zzc_529","button__ghost-warning":"_button__ghost-warning_16zzc_565","button__ghost-smart":"_button__ghost-smart_16zzc_601","button__text-primary":"_button__text-primary_16zzc_637","button__text-text":"_button__text-text_16zzc_673","button__text-subtle-primary":"_button__text-subtle-primary_16zzc_709","button__text-secondary":"_button__text-secondary_16zzc_745","button__text-danger":"_button__text-danger_16zzc_781","button__text-warning":"_button__text-warning_16zzc_817","button__text-smart":"_button__text-smart_16zzc_853","button__outline-primary":"_button__outline-primary_16zzc_889","button__outline-subtle-primary":"_button__outline-subtle-primary_16zzc_926","button__outline-secondary":"_button__outline-secondary_16zzc_963","button__outline-danger":"_button__outline-danger_16zzc_1000","button__outline-warning":"_button__outline-warning_16zzc_1037","button__outline-smart":"_button__outline-smart_16zzc_1074",button__solid:W,fill:R},Z=["disabled"],U=e.defineComponent({__name:"Button",props:{variant:{},color:{},size:{default:"default"},leftIconName:{},rightIconName:{},loadingStatus:{type:Boolean,default:!1},successStatus:{type:Boolean,default:!1},label:{},disabled:{type:Boolean,default:!1},fill:{type:Boolean,default:!1}},emits:["click"],setup(a,{emit:r}){const l=a,n=r,s=o=>{l.disabled||n("click",o)},i=e.computed(()=>l.loadingStatus?"LoadingCircle":l.successStatus?"LineCheck":l.leftIconName);return(o,t)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass([e.unref(k).button,e.unref(k)[`button__${o.variant}`],e.unref(k)[`button__${o.variant}-${o.color}`],e.unref(k)[`button__size_${o.size}`],{[e.unref(k).fill]:o.fill}]),disabled:l.disabled,onClick:s},[i.value?(e.openBlock(),e.createBlock(e.unref(B),{key:0,name:i.value},null,8,["name"])):e.createCommentVNode("",!0),o.label?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(k).button__label)},e.toDisplayString(o.label),3)):e.createCommentVNode("",!0),o.rightIconName?(e.openBlock(),e.createBlock(e.unref(B),{key:2,name:o.rightIconName},null,8,["name"])):e.createCommentVNode("",!0)],10,Z))}}),q={mounted(a,r){a.clickOutsideEvent=l=>{[a,...r.value.exclude||[]].some(s=>s&&(s===l.target||s.contains(l.target)))||r.value.handler()},document.addEventListener("click",a.clickOutsideEvent)},unmounted(a){a.clickOutsideEvent&&document.removeEventListener("click",a.clickOutsideEvent)}},Y=(a,r)=>{var n;let l=0;for(const s of a)if(s.toLowerCase()===((n=r[l])==null?void 0:n.toLowerCase())&&l++,l===r.length)return!0;return!1},Q=(a,r,l)=>{if(!l.trim())return a;const n=l.toLowerCase();return a.filter(s=>{const i=String(s[r]);return Y(i.toLowerCase(),n)}).sort((s,i)=>{const o=String(s[r]).toLowerCase(),t=String(i[r]).toLowerCase();return o===n?-1:t===n?1:o.startsWith(n)&&!t.startsWith(n)?-1:!o.startsWith(n)&&t.startsWith(n)?1:o.length-t.length})},X="_dropdown_c02u6_1",J="_menu_c02u6_1",K="_dropdown__valueContent_c02u6_183",ee="_dropdown__label_c02u6_194",te="_dropdown__value_c02u6_183",ne="_dropdown__placeholder_c02u6_202",oe="_dropdown__arrowIcon_c02u6_210",re="_menu__searchContainer_c02u6_225",le="_menu__searchInputWrap_c02u6_229",ae="_menu__searchInput_c02u6_229",se="_menu__errorMessage_c02u6_251",_e="_menu__addButton_c02u6_258",ue="_menu__itemContainer_c02u6_266",ie="_menu__item_c02u6_266",p={dropdown:X,menu:J,dropdown__valueContent:K,"dropdown__valueContent--open":"_dropdown__valueContent--open_c02u6_191",dropdown__label:ee,dropdown__value:te,dropdown__placeholder:ne,dropdown__arrowIcon:oe,menu__searchContainer:re,menu__searchInputWrap:le,menu__searchInput:ae,"menu__searchInput--error":"_menu__searchInput--error_c02u6_248",menu__errorMessage:se,menu__addButton:_e,menu__itemContainer:ue,menu__item:ie,"menu__item--active":"_menu__item--active_c02u6_304"},ce=["for"],de=["placeholder"],pe=["onClick"],me=e.defineComponent({__name:"DropdownMenu",props:{id:{},label:{},modelValue:{default:""},menuHeight:{default:154},placeholder:{},addable:{type:Boolean},addButtonText:{},searchable:{type:Boolean},searchPlaceHolder:{},items:{},validateAddItem:{type:Function,default:()=>null}},emits:["update:modelValue","add-error","item-added","select-item"],setup(a,{emit:r}){const l=q,n=a,s=r,i=e.ref(),o=e.ref(),t=e.ref(!1),_=e.ref(null),u=e.ref(""),d=e.ref(null),h=e.ref({x:0,y:0,width:0,shouldOpenUp:!1,height:n.menuHeight}),v=e.reactive([...n.items]),z=e.reactive([...n.items]),S=()=>{if(!i.value)return;const{offsetTop:c,offsetLeft:m,offsetWidth:f}=i.value,$=window.innerHeight,V=c+i.value.offsetHeight,M=V+n.menuHeight>$;h.value={x:m+window.scrollX,y:M?c+window.scrollY:V+window.scrollY,width:f,shouldOpenUp:M,height:n.menuHeight}},x=()=>{S(),t.value=!t.value},I=()=>{d.value=null,u.value="",v.splice(0,v.length,...z)},L=()=>{t.value=!1,I()},j=c=>{_.value=c,s("select-item",c),s("update:modelValue",c.value),L()},H=()=>{const c=u.value.trim(),m=n.validateAddItem(c,z);if(m){d.value=m,s("add-error",m);return}const f={text:c,value:c};z.push(f),I(),s("item-added",f)},O=()=>{const c=Q(z,"text",u.value);v.splice(0,v.length,...c)},F=()=>{d.value=""},P=e.computed(()=>({top:h.value.shouldOpenUp?`${h.value.y-10}px`:`${h.value.y}px`,left:`${h.value.x}px`,width:`${h.value.width}px`,height:`${n.menuHeight}px`}));e.onMounted(()=>{if(S(),n.modelValue){const c=z.find(m=>m.value===n.modelValue);c&&(_.value=c)}});const N=e.computed(()=>_.value?_.value.text:"");return e.watch(()=>n.items,c=>{z.splice(0,z.length,...c),v.splice(0,v.length,...c)},{deep:!0}),(c,m)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{ref_key:"dropdownRef",ref:i,class:e.normalizeClass(e.unref(p).dropdown)},[c.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(e.unref(p).dropdown__label),for:c.id},e.toDisplayString(c.label),11,ce)):e.createCommentVNode("",!0),e.createElementVNode("button",{class:e.normalizeClass([e.unref(p).dropdown__valueContent,{[e.unref(p)["dropdown__valueContent--open"]]:t.value}]),onClick:x},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(p).dropdown__value)},e.toDisplayString(N.value),3),c.placeholder&&!N.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(p).dropdown__placeholder)},e.toDisplayString(c.placeholder),3)):e.createCommentVNode("",!0),(e.openBlock(),e.createElementBlock("svg",{fill:"none",height:"17",viewBox:"0 0 16 17",width:"16",xmlns:"http://www.w3.org/2000/svg",class:e.normalizeClass(e.unref(p).dropdown__arrowIcon)},m[2]||(m[2]=[e.createElementVNode("path",{d:"M8 11.2021L4.5359 6.70215L11.4641 6.70215L8 11.2021Z",fill:"#91949F"},null,-1)]),2))],2)],2),t.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"menuRef",ref:o,class:e.normalizeClass(e.unref(p).menu),style:e.normalizeStyle(P.value),onClick:m[1]||(m[1]=e.withModifiers(()=>{},["prevent"]))},[n.searchable?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(p).menu__searchContainer)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(p).menu__searchInputWrap)},[e.withDirectives(e.createElementVNode("input",{type:"text",class:e.normalizeClass([e.unref(p).menu__searchInput,{[e.unref(p)["menu__searchInput--error"]]:d.value}]),placeholder:c.searchPlaceHolder,"onUpdate:modelValue":m[0]||(m[0]=f=>u.value=f),onFocus:F,onInput:O},null,42,de),[[e.vModelText,u.value]]),d.value?(e.openBlock(),e.createElementBlock("p",{key:0,class:e.normalizeClass(e.unref(p).menu__errorMessage)},e.toDisplayString(d.value),3)):e.createCommentVNode("",!0)],2),n.addable?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(e.unref(p).menu__addButton),onClick:H},e.toDisplayString(c.addButtonText),3)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("ul",{class:e.normalizeClass(e.unref(p).menu__itemContainer)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v,(f,$)=>(e.openBlock(),e.createElementBlock("li",{key:`${f.value}-${$}`,class:e.normalizeClass([e.unref(p).menu__item,{[e.unref(p)["menu__item--active"]]:_.value&&f.value===_.value.value}]),onClick:V=>j(f)},e.toDisplayString(f.text),11,pe))),128))],2)],6)),[[e.unref(l),{handler:L,exclude:[i.value,o.value]}]]):e.createCommentVNode("",!0)],64))}}),fe={FilledErrorBox:e.defineAsyncComponent(()=>Promise.resolve().then(()=>dt)),LineCheck:e.defineAsyncComponent(()=>Promise.resolve().then(()=>wt)),FilledCheckCircle:e.defineAsyncComponent(()=>Promise.resolve().then(()=>zt)),LoadingCircle:e.defineAsyncComponent(()=>Promise.resolve().then(()=>Vt)),FilledInfoCircle:e.defineAsyncComponent(()=>Promise.resolve().then(()=>Nt)),SmartIcon:e.defineAsyncComponent(()=>Promise.resolve().then(()=>Ot)),FilledCautionTriangle:e.defineAsyncComponent(()=>Promise.resolve().then(()=>Gt))},be=e.defineComponent({__name:"Icon",props:{name:{},size:{default:16},color:{}},setup(a){const r=a,l=e.computed(()=>typeof r.size=="number"?`${r.size}px`:r.size);return(n,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(fe)[n.name]),{class:"icon",style:e.normalizeStyle({width:l.value,height:l.value,fill:r.color||"currentColor"})},null,8,["style"]))}}),C=(a,r)=>{const l=a.__vccOpts||a;for(const[n,s]of r)l[n]=s;return l},B=C(be,[["__scopeId","data-v-3e9c3b20"]]),we="_container_2joy4_1",ge="_container__text_2joy4_187",Ce="_container__default_2joy4_191",he="_container__warning_2joy4_199",ve="_container__alert_2joy4_207",ze="_container__success_2joy4_215",E={container:we,container__text:ge,container__default:Ce,container__warning:he,container__alert:ve,container__success:ze},ke=e.defineComponent({__name:"OnPageMessage",props:{variant:{default:"default"},text:{}},setup(a){const r=a,l=e.computed(()=>{switch(r.variant){case"alert":return"FilledErrorBox";case"warning":return"FilledCautionTriangle";case"success":return"FilledCheckCircle";default:return"FilledInfoCircle"}});return(n,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(E).container,e.unref(E)[`container__${n.variant}`]])},[e.createVNode(B,{name:l.value,size:24},null,8,["name"]),e.createElementVNode("span",{class:e.normalizeClass(e.unref(E).container__text)},e.toDisplayString(n.text),3)],2))}}),ye="_button__size_default_4wo1i_1",Be="_button__size_small_4wo1i_8",$e="_button_4wo1i_1",Ve="_button__label_4wo1i_191",Ee="_button__solid_4wo1i_330",Se="_segmentGroup_4wo1i_337",Ie="_fill_4wo1i_359",b={button__size_default:ye,button__size_small:Be,button:$e,button__label:Ve,"button--primary":"_button--primary_4wo1i_208","button--selected":"_button--selected_4wo1i_218","button--secondary":"_button--secondary_4wo1i_231","button--danger":"_button--danger_4wo1i_254","button--warning":"_button--warning_4wo1i_277","button--smart":"_button--smart_4wo1i_300",button__solid:Ee,segmentGroup:Se,"segmentGroup--vertical":"_segmentGroup--vertical_4wo1i_340","segmentGroup--horizontal":"_segmentGroup--horizontal_4wo1i_349",fill:Ie},Le=["disabled","onClick"],Ne=e.defineComponent({__name:"SegmentButton",props:{color:{},size:{default:"default"},align:{default:"horizontal"},disabled:{type:Boolean,default:!1},segments:{},fill:{type:Boolean},modelValue:{}},emits:["update:modelValue","click"],setup(a,{emit:r}){const l=a,n=r,s=e.ref(l.modelValue||""),i=t=>{l.disabled||t.disabled||(s.value=t.value,n("update:modelValue",t.value),n("click",t.value))};e.watch(()=>l.modelValue,t=>{s.value=t||""});const o=e.ref([...l.segments]);return e.watch(()=>l.segments,t=>{o.value=[...t],t.some(_=>_.value===s.value)||(s.value="",n("update:modelValue",""))},{deep:!0}),(t,_)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(b).segmentGroup,e.unref(b)[`segmentGroup--${t.align}`],{[e.unref(b).fill]:t.fill}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(u,d)=>(e.openBlock(),e.createElementBlock("button",{key:`${u.value}-${d}`,class:e.normalizeClass([e.unref(b).button,e.unref(b)[`button--${t.color}`],e.unref(b)[`button__size_${t.size}`],e.unref(b).fill,{[e.unref(b)["button--selected"]]:u.value===s.value}]),disabled:u.disabled||l.disabled,onClick:h=>i(u)},[u.icon?(e.openBlock(),e.createBlock(e.unref(B),{key:0,name:u.icon},null,8,["name"])):e.createCommentVNode("",!0),u.label?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(b).button__label)},e.toDisplayString(u.label),3)):e.createCommentVNode("",!0)],10,Le))),128))],2))}}),Me="_wrapper__field_1ujuh_1",xe="_wrapper__label_1ujuh_1",je="_wrapper__errorMessage_1ujuh_1",He="_wrapper__counter_1ujuh_1",Oe="_wrapper_1ujuh_1",Fe="_wrapper__bottom_1ujuh_220",w={wrapper__field:Me,wrapper__label:xe,wrapper__errorMessage:je,wrapper__counter:He,wrapper:Oe,wrapper__bottom:Fe,"wrapper--error":"_wrapper--error_1ujuh_233"},Pe=["for"],De=["id","maxlength","name","placeholder","value"],Te=["id","maxlength","name","placeholder","value"],Ge=e.defineComponent({__name:"TextInput",props:{id:{},name:{},modelValue:{default:""},label:{default:""},placeholder:{default:""},maxLength:{default:void 0},maxHeight:{default:void 0},error:{default:""},multiline:{type:Boolean,default:!1},autoGrow:{type:Boolean,default:!1},counter:{type:Boolean}},emits:["update:modelValue","input","change","paste","focus","blur"],setup(a,{emit:r}){const l=a,n=r,s=e.ref(null),i=()=>{if(l.autoGrow&&s.value){s.value.style.height="";const t=Math.min(s.value.scrollHeight,l.maxHeight||s.value.scrollHeight);s.value.style.height=`${t}px`}},o=t=>{const _=t.target;n("input",t),n("update:modelValue",_.value),i()};return e.onMounted(()=>{i()}),(t,_)=>{var u;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(w).wrapper)},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(e.unref(w).wrapper__label),for:t.id},e.toDisplayString(t.label),11,Pe)):e.createCommentVNode("",!0),t.multiline?(e.openBlock(),e.createElementBlock("textarea",{key:1,id:t.id,ref_key:"textareaRef",ref:s,class:e.normalizeClass([e.unref(w).wrapper__field,{[e.unref(w)["wrapper--error"]]:t.error}]),maxlength:t.maxLength,name:t.name,placeholder:t.placeholder,style:e.normalizeStyle(t.maxHeight?{maxHeight:`${t.maxHeight}px`}:void 0),value:t.modelValue,onBlur:_[0]||(_[0]=d=>n("blur",d)),onChange:_[1]||(_[1]=d=>t.$emit("change",d)),onFocus:_[2]||(_[2]=d=>n("focus",d)),onInput:o,onPaste:_[3]||(_[3]=d=>n("paste",d))},null,46,De)):(e.openBlock(),e.createElementBlock("input",{key:2,id:t.id,type:"text",class:e.normalizeClass([e.unref(w).wrapper__field,{[e.unref(w)["wrapper--error"]]:t.error}]),maxlength:t.maxLength,name:t.name,placeholder:t.placeholder,value:t.modelValue,onBlur:_[4]||(_[4]=d=>n("blur",d)),onChange:_[5]||(_[5]=d=>t.$emit("change",d)),onFocus:_[6]||(_[6]=d=>n("focus",d)),onInput:o,onPaste:_[7]||(_[7]=d=>n("paste",d))},null,42,Te)),e.createElementVNode("div",{class:e.normalizeClass(e.unref(w).wrapper__bottom)},[t.error?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(w).wrapper__errorMessage)},e.toDisplayString(t.error),3)):e.createCommentVNode("",!0),t.counter?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(w).wrapper__counter)},e.toDisplayString(((u=t.modelValue)==null?void 0:u.toString().length)||0),3)):e.createCommentVNode("",!0)],2)],2)}}}),Ae="_wrapper__label_3sncs_1",We="_wrapper__errorMessage_3sncs_1",Re="_wrapper__counter_3sncs_1",Ze="_wrapper_3sncs_1",Ue="_wrapper__field_3sncs_8",qe="_wrapper__size_default_3sncs_185",Ye="_wrapper__size_small_3sncs_188",Qe="_wrapper__bottom_3sncs_225",g={wrapper__label:Ae,wrapper__errorMessage:We,wrapper__counter:Re,wrapper:Ze,wrapper__field:Ue,wrapper__size_default:qe,wrapper__size_small:Ye,wrapper__bottom:Qe,"wrapper--error":"_wrapper--error_3sncs_238"},Xe=["for"],Je=["id","max","maxlength","min","name","placeholder","value"],Ke=e.defineComponent({__name:"NumberInput",props:{id:{},name:{},modelValue:{default:""},label:{default:""},placeholder:{default:""},maxLength:{default:void 0},error:{default:""},errorStatus:{type:Boolean},counter:{type:Boolean},min:{default:void 0},max:{default:void 0},size:{default:"default"}},emits:["update:modelValue","input","change","paste","focus","blur"],setup(a,{emit:r}){const l=a,n=r,s=o=>{var _,u;if(o==="")return o;const t=Number(o);return typeof l.min=="number"&&t<l.min?(_=l.min)==null?void 0:_.toString():typeof l.max=="number"&&t>l.max?(u=l.max)==null?void 0:u.toString():t.toString()},i=o=>{const t=o.target,_=s(t.value);t.value=_,n("input",o),n("update:modelValue",_)};return(o,t)=>{var _;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(g).wrapper,e.unref(g)[`wrapper__size_${o.size}`]])},[o.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(e.unref(g).wrapper__label),for:o.id},e.toDisplayString(o.label),11,Xe)):e.createCommentVNode("",!0),e.createElementVNode("input",{id:o.id,type:"number",class:e.normalizeClass([e.unref(g).wrapper__field,{[e.unref(g)["wrapper--error"]]:o.error||o.errorStatus}]),max:o.max,maxlength:o.maxLength,min:o.min,name:o.name,placeholder:o.placeholder,value:o.modelValue,onBlur:t[0]||(t[0]=u=>n("blur",u)),onChange:t[1]||(t[1]=u=>o.$emit("change",u)),onFocus:t[2]||(t[2]=u=>n("focus",u)),onInput:i,onPaste:t[3]||(t[3]=u=>n("paste",u))},null,42,Je),o.counter||o.error?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(g).wrapper__bottom)},[o.error?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(g).wrapper__errorMessage)},e.toDisplayString(o.error),3)):e.createCommentVNode("",!0),o.counter?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(g).wrapper__counter)},e.toDisplayString(((_=o.modelValue)==null?void 0:_.toString().length)||0),3)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)],2)}}}),et="_wrapper_ejnxx_169",tt="_wrapper__label_ejnxx_176",nt="_wrapper__input_ejnxx_200",ot="_wrapper_checked_ejnxx_210",rt="_wrapper_disabled_ejnxx_217",y={wrapper:et,wrapper__label:tt,wrapper__input:nt,wrapper_checked:ot,wrapper_disabled:rt},lt=["id","checked","disabled","name"],at=["for"],st=e.defineComponent({__name:"Toggle",props:{id:{},name:{},checked:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(a,{emit:r}){const l=a,n=r,s=()=>{n("click",!l.checked)};return(i,o)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass([e.unref(y).wrapper,{[e.unref(y).wrapper_checked]:i.checked,[e.unref(y).wrapper_disabled]:i.disabled}])},[e.createElementVNode("input",{id:i.id,type:"checkbox",checked:i.checked,class:e.normalizeClass(e.unref(y).wrapper__input),disabled:i.disabled,name:i.name,onClick:s},null,10,lt),e.createElementVNode("label",{class:e.normalizeClass(e.unref(y).wrapper__label),for:i.id},null,10,at)],2))}}),_t={},ut={viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"};function it(a,r){return e.openBlock(),e.createElementBlock("svg",ut,r[0]||(r[0]=[e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M5 3a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5zm8.36 11.719a.961.961 0 0 0 1.359-1.36L13.359 12l1.36-1.36a.961.961 0 0 0-1.36-1.358L12 10.64l-1.36-1.36a.961.961 0 0 0-1.358 1.36L10.64 12l-1.36 1.36a.961.961 0 0 0 1.36 1.359l1.36-1.36 1.36 1.36z"},null,-1)]))}const ct=C(_t,[["render",it]]),dt=Object.freeze(Object.defineProperty({__proto__:null,default:ct},Symbol.toStringTag,{value:"Module"})),pt={},mt={viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"};function ft(a,r){return e.openBlock(),e.createElementBlock("svg",mt,r[0]||(r[0]=[e.createElementVNode("path",{d:"M5.278 12.674a.956.956 0 0 1 0-1.348.948.948 0 0 1 1.345 0l4.033 4.046a.956.956 0 0 1 0 1.349.948.948 0 0 1-1.345 0l-4.033-4.047z"},null,-1),e.createElementVNode("path",{d:"M9.311 16.72a.956.956 0 0 1 0-1.348l8.066-8.093a.948.948 0 0 1 1.345 0 .956.956 0 0 1 0 1.35l-8.066 8.092a.948.948 0 0 1-1.345 0z"},null,-1)]))}const bt=C(pt,[["render",ft]]),wt=Object.freeze(Object.defineProperty({__proto__:null,default:bt},Symbol.toStringTag,{value:"Module"})),gt={},Ct={viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"};function ht(a,r){return e.openBlock(),e.createElementBlock("svg",Ct,r[0]||(r[0]=[e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18zm-1.69-6.281l-2.03-2.04a.964.964 0 0 1 0-1.359.953.953 0 0 1 1.353 0l1.353 1.36 3.381-3.398a.953.953 0 0 1 1.353 0 .965.965 0 0 1 0 1.359l-4.058 4.078a.953.953 0 0 1-1.353 0z"},null,-1)]))}const vt=C(gt,[["render",ht]]),zt=Object.freeze(Object.defineProperty({__proto__:null,default:vt},Symbol.toStringTag,{value:"Module"})),kt={},yt={viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",id:"ab-loading-icon"};function Bt(a,r){return e.openBlock(),e.createElementBlock("svg",yt,r[0]||(r[0]=[e.createElementVNode("path",{d:"M20.0482 12.025C20.6015 12.025 21.0557 11.5751 20.9944 11.0253C20.8349 9.59397 20.3345 8.21647 19.529 7.01098C18.5373 5.52683 17.1278 4.37007 15.4787 3.68699C13.8296 3.00391 12.015 2.82519 10.2643 3.17342C8.51363 3.52165 6.90553 4.38119 5.64336 5.64336C4.38119 6.90553 3.52165 8.51363 3.17342 10.2643C2.82519 12.015 3.00391 13.8296 3.68699 15.4787C4.37007 17.1278 5.52683 18.5373 7.01098 19.529C8.21647 20.3345 9.59397 20.8349 11.0253 20.9944C11.5751 21.0557 12.025 20.6015 12.025 20.0482V20.0482C12.025 19.4949 11.5742 19.0538 11.0266 18.9751C9.99233 18.8265 8.99986 18.4483 8.12409 17.8631C6.96942 17.0916 6.06946 15.995 5.53803 14.712C5.00659 13.429 4.86754 12.0172 5.13847 10.6552C5.40939 9.29315 6.07812 8.04205 7.06008 7.06008C8.04205 6.07812 9.29315 5.40939 10.6552 5.13847C12.0172 4.86754 13.429 5.00659 14.712 5.53803C15.995 6.06946 17.0916 6.96942 17.8631 8.12409C18.4483 8.99986 18.8265 9.99233 18.9751 11.0266C19.0538 11.5742 19.4949 12.025 20.0482 12.025V12.025Z"},null,-1)]))}const $t=C(kt,[["render",Bt]]),Vt=Object.freeze(Object.defineProperty({__proto__:null,default:$t},Symbol.toStringTag,{value:"Module"})),Et={},St={viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"};function It(a,r){return e.openBlock(),e.createElementBlock("svg",St,r[0]||(r[0]=[e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0zm-10 0a1 1 0 1 1 2 0v4a1 1 0 1 1-2 0v-4zm1-5a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"},null,-1)]))}const Lt=C(Et,[["render",It]]),Nt=Object.freeze(Object.defineProperty({__proto__:null,default:Lt},Symbol.toStringTag,{value:"Module"})),Mt={},xt={viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function jt(a,r){return e.openBlock(),e.createElementBlock("svg",xt,r[0]||(r[0]=[e.createElementVNode("path",{d:"M10.9733 2.27585C11.0723 1.90805 11.5942 1.90805 11.6932 2.27585L12.0682 3.66867C12.1027 3.79696 12.2029 3.89716 12.3312 3.9317L13.724 4.30672C14.0918 4.40575 14.0918 4.92759 13.724 5.02662L12.3312 5.40163C12.2029 5.43617 12.1027 5.53638 12.0682 5.66466L11.6932 7.05748C11.5942 7.42528 11.0723 7.42528 10.9733 7.05748L10.5983 5.66466C10.5637 5.53638 10.4635 5.43617 10.3352 5.40163L8.94242 5.02662C8.57461 4.92759 8.57461 4.40575 8.94242 4.30672L10.3352 3.9317C10.4635 3.89716 10.5637 3.79696 10.5983 3.66867L10.9733 2.27585Z"},null,-1),e.createElementVNode("path",{d:"M5.72324 2.87868C5.79935 2.59598 6.20044 2.59598 6.27656 2.87868L6.41285 3.38487C6.4394 3.48347 6.51642 3.56049 6.61502 3.58704L7.12121 3.72333C7.40391 3.79945 7.40391 4.20053 7.12121 4.27665L6.61502 4.41294C6.51642 4.43949 6.4394 4.51651 6.41285 4.61511L6.27656 5.1213C6.20044 5.404 5.79935 5.404 5.72324 5.1213L5.58695 4.61511C5.5604 4.51651 5.48338 4.43949 5.38478 4.41294L4.87859 4.27665C4.59589 4.20053 4.59589 3.79945 4.87859 3.72333L5.38478 3.58704C5.48338 3.56049 5.5604 3.48347 5.58695 3.38487L5.72324 2.87868Z"},null,-1),e.createElementVNode("path",{d:"M11.7232 8.87868C11.7994 8.59598 12.2004 8.59598 12.2766 8.87868L12.4128 9.38487C12.4394 9.48347 12.5164 9.56049 12.615 9.58704L13.1212 9.72333C13.4039 9.79945 13.4039 10.2005 13.1212 10.2766L12.615 10.4129C12.5164 10.4395 12.4394 10.5165 12.4128 10.6151L12.2766 11.1213C12.2004 11.404 11.7994 11.404 11.7232 11.1213L11.5869 10.6151C11.5604 10.5165 11.4834 10.4395 11.3848 10.4129L10.8786 10.2766C10.5959 10.2005 10.5959 9.79945 10.8786 9.72333L11.3848 9.58704C11.4834 9.56049 11.5604 9.48347 11.5869 9.38487L11.7232 8.87868Z"},null,-1),e.createElementVNode("path",{d:"M7.44041 7.33334C7.59931 7.33334 7.73057 7.38572 7.8342 7.49049C7.94473 7.59525 8 7.72795 8 7.88858V8.66668C8 8.79938 7.96546 8.90763 7.89637 8.99144C7.8342 9.07525 7.73403 9.11715 7.59586 9.11715H7.19171C7.05354 9.11715 6.94991 9.07525 6.88083 8.99144C6.81865 8.90763 6.78757 8.79938 6.78757 8.66668V8.55906H5.72021V12.7743H5.9171C6.04836 12.7743 6.15544 12.8092 6.23834 12.8791C6.32124 12.9419 6.36269 13.0432 6.36269 13.1829V13.5914C6.36269 13.7311 6.32124 13.8359 6.23834 13.9057C6.15544 13.9686 6.04836 14 5.9171 14H4.0829C3.78584 14 3.63731 13.8638 3.63731 13.5914V13.1829C3.63731 12.9105 3.78584 12.7743 4.0829 12.7743H4.26943V8.55906H3.21244V8.66668C3.21244 8.79938 3.17789 8.90763 3.10881 8.99144C3.04663 9.07525 2.94646 9.11715 2.80829 9.11715H2.40415C2.26598 9.11715 2.16235 9.07525 2.09326 8.99144C2.03109 8.90763 2 8.79938 2 8.66668V7.88858C2 7.72795 2.05181 7.59525 2.15544 7.49049C2.26598 7.38572 2.39724 7.33334 2.54922 7.33334H7.44041Z"},null,-1)]))}const Ht=C(Mt,[["render",jt]]),Ot=Object.freeze(Object.defineProperty({__proto__:null,default:Ht},Symbol.toStringTag,{value:"Module"})),Ft={},Pt={viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"};function Dt(a,r){return e.openBlock(),e.createElementBlock("svg",Pt,r[0]||(r[0]=[e.createElementVNode("path",{"clip-rule":"evenodd",d:"M10.362 3.965a1.873 1.873 0 0 1 3.276 0l8.087 14.025c.764 1.325-.153 3.01-1.638 3.01H3.913c-1.485 0-2.402-1.685-1.638-3.01l8.087-14.025zM11 10a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0v-3zm0 7a1 1 0 1 1 2 0 1 1 0 0 1-2 0z","fill-rule":"evenodd"},null,-1)]))}const Tt=C(Ft,[["render",Dt]]),Gt=Object.freeze(Object.defineProperty({__proto__:null,default:Tt},Symbol.toStringTag,{value:"Module"}));exports.Button=U;exports.DropdownMenu=me;exports.Icon=B;exports.NumberInput=Ke;exports.OnPageMessage=ke;exports.SegmentButton=Ne;exports.TextInput=Ge;exports.Toggle=st;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),ce="_button__size_default_16zzc_1",pe="_button__size_small_16zzc_8",de="_button_16zzc_1",me="_button__label_16zzc_193",fe="_button__solid_16zzc_205",be="_fill_16zzc_1125",P={button__size_default:ce,button__size_small:pe,button:de,button__label:me,"button__solid-primary":"_button__solid-primary_16zzc_205","no-hover-effect":"_no-hover-effect_16zzc_212","button--selected":"_button--selected_16zzc_234","button__solid-subtle-primary":"_button__solid-subtle-primary_16zzc_241","button__solid-secondary":"_button__solid-secondary_16zzc_277","button__solid-danger":"_button__solid-danger_16zzc_313","button__solid-warning":"_button__solid-warning_16zzc_349","button__solid-smart":"_button__solid-smart_16zzc_385","button__ghost-primary":"_button__ghost-primary_16zzc_421","button__ghost-subtle-primary":"_button__ghost-subtle-primary_16zzc_457","button__ghost-secondary":"_button__ghost-secondary_16zzc_493","button__ghost-danger":"_button__ghost-danger_16zzc_529","button__ghost-warning":"_button__ghost-warning_16zzc_565","button__ghost-smart":"_button__ghost-smart_16zzc_601","button__text-primary":"_button__text-primary_16zzc_637","button__text-text":"_button__text-text_16zzc_673","button__text-subtle-primary":"_button__text-subtle-primary_16zzc_709","button__text-secondary":"_button__text-secondary_16zzc_745","button__text-danger":"_button__text-danger_16zzc_781","button__text-warning":"_button__text-warning_16zzc_817","button__text-smart":"_button__text-smart_16zzc_853","button__outline-primary":"_button__outline-primary_16zzc_889","button__outline-subtle-primary":"_button__outline-subtle-primary_16zzc_926","button__outline-secondary":"_button__outline-secondary_16zzc_963","button__outline-danger":"_button__outline-danger_16zzc_1000","button__outline-warning":"_button__outline-warning_16zzc_1037","button__outline-smart":"_button__outline-smart_16zzc_1074",button__solid:fe,fill:be},ve=["disabled"],ge=e.defineComponent({__name:"Button",props:{variant:{},color:{},size:{default:"default"},leftIconName:{},rightIconName:{},loadingStatus:{type:Boolean,default:!1},successStatus:{type:Boolean,default:!1},label:{},disabled:{type:Boolean,default:!1},fill:{type:Boolean,default:!1}},emits:["click"],setup(i,{emit:n}){const a=i,o=n,l=r=>{a.disabled||o("click",r)},_=e.computed(()=>a.loadingStatus?"loading-circle":a.successStatus?"line-check-natural":a.leftIconName);return(r,t)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass([e.unref(P).button,e.unref(P)[`button__${r.variant}`],e.unref(P)[`button__${r.variant}-${r.color}`],e.unref(P)[`button__size_${r.size}`],{[e.unref(P).fill]:r.fill}]),disabled:a.disabled,onClick:l},[_.value?(e.openBlock(),e.createBlock(e.unref(M),{key:0,name:_.value},null,8,["name"])):e.createCommentVNode("",!0),r.label?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(P).button__label)},e.toDisplayString(r.label),3)):e.createCommentVNode("",!0),r.rightIconName?(e.openBlock(),e.createBlock(e.unref(M),{key:2,name:r.rightIconName},null,8,["name"])):e.createCommentVNode("",!0)],10,ve))}}),we={mounted(i,n){i.clickOutsideEvent=a=>{[i,...n.value.exclude||[]].some(l=>l&&(l===a.target||l.contains(a.target)))||n.value.handler()},document.addEventListener("click",i.clickOutsideEvent)},unmounted(i){i.clickOutsideEvent&&document.removeEventListener("click",i.clickOutsideEvent)}},he=(i,n)=>{var o;let a=0;for(const l of i)if(l.toLowerCase()===((o=n[a])==null?void 0:o.toLowerCase())&&a++,a===n.length)return!0;return!1},ye=(i,n,a)=>{if(!a.trim())return i;const o=a.toLowerCase();return i.filter(l=>{const _=String(l[n]);return he(_.toLowerCase(),o)}).sort((l,_)=>{const r=String(l[n]).toLowerCase(),t=String(_[n]).toLowerCase();return r===o?-1:t===o?1:r.startsWith(o)&&!t.startsWith(o)?-1:!r.startsWith(o)&&t.startsWith(o)?1:r.length-t.length})},ze="_dropdown_c02u6_1",ke="_menu_c02u6_1",Ce="_dropdown__valueContent_c02u6_183",Be="_dropdown__label_c02u6_194",$e="_dropdown__value_c02u6_183",xe="_dropdown__placeholder_c02u6_202",Se="_dropdown__arrowIcon_c02u6_210",Ee="_menu__searchContainer_c02u6_225",Ve="_menu__searchInputWrap_c02u6_229",Ne="_menu__searchInput_c02u6_229",Ie="_menu__errorMessage_c02u6_251",Pe="_menu__addButton_c02u6_258",Me="_menu__itemContainer_c02u6_266",Te="_menu__item_c02u6_266",b={dropdown:ze,menu:ke,dropdown__valueContent:Ce,"dropdown__valueContent--open":"_dropdown__valueContent--open_c02u6_191",dropdown__label:Be,dropdown__value:$e,dropdown__placeholder:xe,dropdown__arrowIcon:Se,menu__searchContainer:Ee,menu__searchInputWrap:Ve,menu__searchInput:Ne,"menu__searchInput--error":"_menu__searchInput--error_c02u6_248",menu__errorMessage:Ie,menu__addButton:Pe,menu__itemContainer:Me,menu__item:Te,"menu__item--active":"_menu__item--active_c02u6_304"},De=["for"],He=["placeholder"],je=["onClick"],Le=e.defineComponent({__name:"DropdownMenu",props:{id:{},label:{},modelValue:{default:""},menuHeight:{default:154},placeholder:{},addable:{type:Boolean},addButtonText:{},searchable:{type:Boolean},searchPlaceHolder:{},items:{},validateAddItem:{type:Function,default:()=>null}},emits:["update:modelValue","add-error","item-added","select-item"],setup(i,{emit:n}){const a=we,o=i,l=n,_=e.ref(),r=e.ref(),t=e.ref(!1),s=e.ref(null),c=e.ref(""),p=e.ref(null),y=e.ref({x:0,y:0,width:0,shouldOpenUp:!1,height:o.menuHeight}),k=e.reactive([...o.items]),z=e.reactive([...o.items]),N=()=>{if(!_.value)return;const{offsetTop:d,offsetLeft:m,offsetWidth:h}=_.value,I=window.innerHeight,T=d+_.value.offsetHeight,W=T+o.menuHeight>I;y.value={x:m+window.scrollX,y:W?d+window.scrollY:T+window.scrollY,width:h,shouldOpenUp:W,height:o.menuHeight}},w=()=>{N(),t.value=!t.value},x=()=>{p.value=null,c.value="",k.splice(0,k.length,...z)},j=()=>{t.value=!1,x()},F=d=>{s.value=d,l("select-item",d),l("update:modelValue",d.value),j()},V=()=>{const d=c.value.trim(),m=o.validateAddItem(d,z);if(m){p.value=m,l("add-error",m);return}const h={text:d,value:d};z.push(h),x(),l("item-added",h)},G=()=>{const d=ye(z,"text",c.value);k.splice(0,k.length,...d)},L=()=>{p.value=""},Y=e.computed(()=>({top:y.value.shouldOpenUp?`${y.value.y-10}px`:`${y.value.y}px`,left:`${y.value.x}px`,width:`${y.value.width}px`,height:`${o.menuHeight}px`}));e.onMounted(()=>{if(N(),o.modelValue){const d=z.find(m=>m.value===o.modelValue);d&&(s.value=d)}});const O=e.computed(()=>s.value?s.value.text:"");return e.watch(()=>o.items,d=>{z.splice(0,z.length,...d),k.splice(0,k.length,...d)},{deep:!0}),(d,m)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{ref_key:"dropdownRef",ref:_,class:e.normalizeClass(e.unref(b).dropdown)},[d.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(e.unref(b).dropdown__label),for:d.id},e.toDisplayString(d.label),11,De)):e.createCommentVNode("",!0),e.createElementVNode("button",{class:e.normalizeClass([e.unref(b).dropdown__valueContent,{[e.unref(b)["dropdown__valueContent--open"]]:t.value}]),onClick:w},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(b).dropdown__value)},e.toDisplayString(O.value),3),d.placeholder&&!O.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(b).dropdown__placeholder)},e.toDisplayString(d.placeholder),3)):e.createCommentVNode("",!0),(e.openBlock(),e.createElementBlock("svg",{fill:"none",height:"17",viewBox:"0 0 16 17",width:"16",xmlns:"http://www.w3.org/2000/svg",class:e.normalizeClass(e.unref(b).dropdown__arrowIcon)},m[2]||(m[2]=[e.createElementVNode("path",{d:"M8 11.2021L4.5359 6.70215L11.4641 6.70215L8 11.2021Z",fill:"#91949F"},null,-1)]),2))],2)],2),t.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"menuRef",ref:r,class:e.normalizeClass(e.unref(b).menu),style:e.normalizeStyle(Y.value),onClick:m[1]||(m[1]=e.withModifiers(()=>{},["prevent"]))},[o.searchable?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(b).menu__searchContainer)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(b).menu__searchInputWrap)},[e.withDirectives(e.createElementVNode("input",{type:"text",class:e.normalizeClass([e.unref(b).menu__searchInput,{[e.unref(b)["menu__searchInput--error"]]:p.value}]),placeholder:d.searchPlaceHolder,"onUpdate:modelValue":m[0]||(m[0]=h=>c.value=h),onFocus:L,onInput:G},null,42,He),[[e.vModelText,c.value]]),p.value?(e.openBlock(),e.createElementBlock("p",{key:0,class:e.normalizeClass(e.unref(b).menu__errorMessage)},e.toDisplayString(p.value),3)):e.createCommentVNode("",!0)],2),o.addable?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(e.unref(b).menu__addButton),onClick:V},e.toDisplayString(d.addButtonText),3)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("ul",{class:e.normalizeClass(e.unref(b).menu__itemContainer)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k,(h,I)=>(e.openBlock(),e.createElementBlock("li",{key:`${h.value}-${I}`,class:e.normalizeClass([e.unref(b).menu__item,{[e.unref(b)["menu__item--active"]]:s.value&&h.value===s.value.value}]),onClick:T=>F(h)},e.toDisplayString(h.text),11,je))),128))],2)],6)),[[e.unref(a),{handler:j,exclude:[_.value,r.value]}]]):e.createCommentVNode("",!0)],64))}}),Oe=["fill","height","width"],We=["xlink:href"],Ae=e.defineComponent({__name:"Icon",props:{name:{},size:{default:16},color:{}},setup(i){const n=i,a=e.computed(()=>typeof n.size=="number"?`${n.size}px`:n.size);return(o,l)=>(e.openBlock(),e.createElementBlock("svg",{class:"icon",fill:o.color||"currentColor",height:a.value,width:a.value},[e.createElementVNode("use",{"xlink:href":`#${o.name}`},null,8,We)],8,Oe))}}),Re=(i,n)=>{const a=i.__vccOpts||i;for(const[o,l]of n)a[o]=l;return a},M=Re(Ae,[["__scopeId","data-v-f04c8857"]]),Fe="_container_2joy4_1",Ge="_container__text_2joy4_187",Ye="_container__default_2joy4_191",Xe="_container__warning_2joy4_199",Ue="_container__alert_2joy4_207",qe="_container__success_2joy4_215",q={container:Fe,container__text:Ge,container__default:Ye,container__warning:Xe,container__alert:Ue,container__success:qe},Qe=e.defineComponent({__name:"OnPageMessage",props:{variant:{default:"default"},text:{}},setup(i){const n=i,a=e.computed(()=>{switch(n.variant){case"alert":return"filled-error-box";case"warning":return"line-caution-triangle";case"success":return"line-check-natural";default:return"filled-info-circle"}});return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(q).container,e.unref(q)[`container__${o.variant}`]])},[e.createVNode(M,{name:a.value,size:24},null,8,["name"]),e.createElementVNode("span",{class:e.normalizeClass(e.unref(q).container__text)},e.toDisplayString(o.text),3)],2))}}),Ze="_button__size_default_4wo1i_1",Je="_button__size_small_4wo1i_8",Ke="_button_4wo1i_1",et="_button__label_4wo1i_191",tt="_button__solid_4wo1i_330",ot="_segmentGroup_4wo1i_337",nt="_fill_4wo1i_359",B={button__size_default:Ze,button__size_small:Je,button:Ke,button__label:et,"button--primary":"_button--primary_4wo1i_208","button--selected":"_button--selected_4wo1i_218","button--secondary":"_button--secondary_4wo1i_231","button--danger":"_button--danger_4wo1i_254","button--warning":"_button--warning_4wo1i_277","button--smart":"_button--smart_4wo1i_300",button__solid:tt,segmentGroup:ot,"segmentGroup--vertical":"_segmentGroup--vertical_4wo1i_340","segmentGroup--horizontal":"_segmentGroup--horizontal_4wo1i_349",fill:nt},rt=["disabled","onClick"],at=e.defineComponent({__name:"SegmentButton",props:{color:{},size:{default:"default"},align:{default:"horizontal"},disabled:{type:Boolean,default:!1},segments:{},fill:{type:Boolean},modelValue:{}},emits:["update:modelValue","click"],setup(i,{emit:n}){const a=i,o=n,l=e.ref(a.modelValue||""),_=t=>{a.disabled||t.disabled||(l.value=t.value,o("update:modelValue",t.value),o("click",t.value))};e.watch(()=>a.modelValue,t=>{l.value=t||""});const r=e.ref([...a.segments]);return e.watch(()=>a.segments,t=>{r.value=[...t],t.some(s=>s.value===l.value)||(l.value="",o("update:modelValue",""))},{deep:!0}),(t,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(B).segmentGroup,e.unref(B)[`segmentGroup--${t.align}`],{[e.unref(B).fill]:t.fill}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(c,p)=>(e.openBlock(),e.createElementBlock("button",{key:`${c.value}-${p}`,class:e.normalizeClass([e.unref(B).button,e.unref(B)[`button--${t.color}`],e.unref(B)[`button__size_${t.size}`],e.unref(B).fill,{[e.unref(B)["button--selected"]]:c.value===l.value}]),disabled:c.disabled||a.disabled,onClick:y=>_(c)},[c.icon?(e.openBlock(),e.createBlock(e.unref(M),{key:0,name:c.icon},null,8,["name"])):e.createCommentVNode("",!0),c.label?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(B).button__label)},e.toDisplayString(c.label),3)):e.createCommentVNode("",!0)],10,rt))),128))],2))}}),lt="_wrapper__field_1ujuh_1",st="_wrapper__label_1ujuh_1",it="_wrapper__errorMessage_1ujuh_1",ut="_wrapper__counter_1ujuh_1",_t="_wrapper_1ujuh_1",ct="_wrapper__bottom_1ujuh_220",$={wrapper__field:lt,wrapper__label:st,wrapper__errorMessage:it,wrapper__counter:ut,wrapper:_t,wrapper__bottom:ct,"wrapper--error":"_wrapper--error_1ujuh_233"},pt=["for"],dt=["id","maxlength","name","placeholder","value"],mt=["id","maxlength","name","placeholder","value"],ft=e.defineComponent({__name:"TextInput",props:{id:{},name:{},modelValue:{default:""},label:{default:""},placeholder:{default:""},maxLength:{default:void 0},maxHeight:{default:void 0},error:{default:""},multiline:{type:Boolean,default:!1},autoGrow:{type:Boolean,default:!1},counter:{type:Boolean}},emits:["update:modelValue","input","change","paste","focus","blur"],setup(i,{emit:n}){const a=i,o=n,l=e.ref(null),_=()=>{if(a.autoGrow&&l.value){l.value.style.height="";const t=Math.min(l.value.scrollHeight,a.maxHeight||l.value.scrollHeight);l.value.style.height=`${t}px`}},r=t=>{const s=t.target;o("input",t),o("update:modelValue",s.value),_()};return e.onMounted(()=>{_()}),(t,s)=>{var c;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref($).wrapper)},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(e.unref($).wrapper__label),for:t.id},e.toDisplayString(t.label),11,pt)):e.createCommentVNode("",!0),t.multiline?(e.openBlock(),e.createElementBlock("textarea",{key:1,id:t.id,ref_key:"textareaRef",ref:l,class:e.normalizeClass([e.unref($).wrapper__field,{[e.unref($)["wrapper--error"]]:t.error}]),maxlength:t.maxLength,name:t.name,placeholder:t.placeholder,style:e.normalizeStyle(t.maxHeight?{maxHeight:`${t.maxHeight}px`}:void 0),value:t.modelValue,onBlur:s[0]||(s[0]=p=>o("blur",p)),onChange:s[1]||(s[1]=p=>t.$emit("change",p)),onFocus:s[2]||(s[2]=p=>o("focus",p)),onInput:r,onPaste:s[3]||(s[3]=p=>o("paste",p))},null,46,dt)):(e.openBlock(),e.createElementBlock("input",{key:2,id:t.id,type:"text",class:e.normalizeClass([e.unref($).wrapper__field,{[e.unref($)["wrapper--error"]]:t.error}]),maxlength:t.maxLength,name:t.name,placeholder:t.placeholder,value:t.modelValue,onBlur:s[4]||(s[4]=p=>o("blur",p)),onChange:s[5]||(s[5]=p=>t.$emit("change",p)),onFocus:s[6]||(s[6]=p=>o("focus",p)),onInput:r,onPaste:s[7]||(s[7]=p=>o("paste",p))},null,42,mt)),e.createElementVNode("div",{class:e.normalizeClass(e.unref($).wrapper__bottom)},[t.error?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref($).wrapper__errorMessage)},e.toDisplayString(t.error),3)):e.createCommentVNode("",!0),t.counter?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref($).wrapper__counter)},e.toDisplayString(((c=t.modelValue)==null?void 0:c.toString().length)||0),3)):e.createCommentVNode("",!0)],2)],2)}}}),bt="_wrapper__label_3sncs_1",vt="_wrapper__errorMessage_3sncs_1",gt="_wrapper__counter_3sncs_1",wt="_wrapper_3sncs_1",ht="_wrapper__field_3sncs_8",yt="_wrapper__size_default_3sncs_185",zt="_wrapper__size_small_3sncs_188",kt="_wrapper__bottom_3sncs_225",S={wrapper__label:bt,wrapper__errorMessage:vt,wrapper__counter:gt,wrapper:wt,wrapper__field:ht,wrapper__size_default:yt,wrapper__size_small:zt,wrapper__bottom:kt,"wrapper--error":"_wrapper--error_3sncs_238"},Ct=["for"],Bt=["id","max","maxlength","min","name","placeholder","value"],$t=e.defineComponent({__name:"NumberInput",props:{id:{},name:{},modelValue:{default:void 0},label:{default:""},placeholder:{default:""},maxLength:{default:void 0},error:{default:""},errorStatus:{type:Boolean},counter:{type:Boolean},min:{default:void 0},max:{default:void 0},size:{default:"default"}},emits:["update:modelValue","input","change","paste","focus","blur"],setup(i,{emit:n}){const a=i,o=n,l=r=>{var s,c;if(r==="")return r;const t=Number(r);return typeof a.min=="number"&&t<a.min?(s=a.min)==null?void 0:s.toString():typeof a.max=="number"&&t>a.max?(c=a.max)==null?void 0:c.toString():t.toString()},_=r=>{const t=r.target,s=l(t.value);t.value=s,o("input",r),o("update:modelValue",Number(s))};return(r,t)=>{var s;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(S).wrapper,e.unref(S)[`wrapper__size_${r.size}`]])},[r.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(e.unref(S).wrapper__label),for:r.id},e.toDisplayString(r.label),11,Ct)):e.createCommentVNode("",!0),e.createElementVNode("input",{id:r.id,type:"number",class:e.normalizeClass([e.unref(S).wrapper__field,{[e.unref(S)["wrapper--error"]]:r.error||r.errorStatus}]),max:r.max,maxlength:r.maxLength,min:r.min,name:r.name,placeholder:r.placeholder,value:r.modelValue,onBlur:t[0]||(t[0]=c=>o("blur",c)),onChange:t[1]||(t[1]=c=>r.$emit("change",c)),onFocus:t[2]||(t[2]=c=>o("focus",c)),onInput:_,onPaste:t[3]||(t[3]=c=>o("paste",c))},null,42,Bt),r.counter||r.error?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(S).wrapper__bottom)},[r.error?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(S).wrapper__errorMessage)},e.toDisplayString(r.error),3)):e.createCommentVNode("",!0),r.counter?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(S).wrapper__counter)},e.toDisplayString(((s=r.modelValue)==null?void 0:s.toString().length)||0),3)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)],2)}}}),xt="_wrapper_d1zlt_169",St="_wrapper__label_d1zlt_176",Et="_wrapper__input_d1zlt_200",Vt="_wrapper_checked_d1zlt_210",Nt="_wrapper_disabled_d1zlt_217",H={wrapper:xt,wrapper__label:St,wrapper__input:Et,wrapper_checked:Vt,wrapper_disabled:Nt},It=["id","checked","disabled","name"],Pt=["for"],Mt=e.defineComponent({__name:"Toggle",props:{id:{},name:{},checked:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(i,{emit:n}){const a=i,o=n,l=()=>{o("click",!a.checked)};return(_,r)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass([e.unref(H).wrapper,{[e.unref(H).wrapper_checked]:_.checked,[e.unref(H).wrapper_disabled]:_.disabled}])},[e.createElementVNode("input",{id:_.id,type:"checkbox",checked:_.checked,class:e.normalizeClass(e.unref(H).wrapper__input),disabled:_.disabled,name:_.name,onClick:l},null,10,It),e.createElementVNode("label",{class:e.normalizeClass(e.unref(H).wrapper__label),for:_.id},null,10,Pt)],2))}});function Tt(i=""){return typeof i=="string"?i.replace(/<\/style>/gi,"").replace(/<(.*?) on(.*?)=['"](.*?)>/gi,"").replace(/(<meta |<style|<\/*script)(.*?)>/gi,"").replace(/(<([^>]+)>)/ig,"").replace(/<(.*?) (href|src)="j(.*)a(.*)v(.*)a(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t(.*):(.*?)>/gi,""):i}const Dt="_wrapper__box_ybeb8_1",Ht="_wrapper_ybeb8_1",jt="_wrapper__icon_ybeb8_184",Lt="_wrapper__text_ybeb8_267",E={wrapper__box:Dt,wrapper:Ht,wrapper__icon:jt,"wrapper__box_bottom-start":"_wrapper__box_bottom-start_ybeb8_199","wrapper__box_bottom-center":"_wrapper__box_bottom-center_ybeb8_205","wrapper__box_bottom-end":"_wrapper__box_bottom-end_ybeb8_211","wrapper__box_top-start":"_wrapper__box_top-start_ybeb8_217","wrapper__box_top-center":"_wrapper__box_top-center_ybeb8_223","wrapper__box_top-end":"_wrapper__box_top-end_ybeb8_229","wrapper__box_right-start":"_wrapper__box_right-start_ybeb8_235","wrapper__box_right-center":"_wrapper__box_right-center_ybeb8_241","wrapper__box_right-end":"_wrapper__box_right-end_ybeb8_247","wrapper__box_left-start":"_wrapper__box_left-start_ybeb8_252","wrapper__box_left-center":"_wrapper__box_left-center_ybeb8_257","wrapper__box_left-end":"_wrapper__box_left-end_ybeb8_262",wrapper__text:Lt,"wrapper__box-content":"_wrapper__box-content_ybeb8_296","bottom-entrance":"_bottom-entrance_ybeb8_309","top-entrance":"_top-entrance_ybeb8_312","left-entrance":"_left-entrance_ybeb8_315","right-entrance":"_right-entrance_ybeb8_318","bottom-leave":"_bottom-leave_ybeb8_321","top-leave":"_top-leave_ybeb8_324","right-leave":"_right-leave_ybeb8_327","left-leave":"_left-leave_ybeb8_330"},Ot=["id"],Wt=["innerHTML"],At=e.defineComponent({__name:"Tooltip",props:{id:{},text:{},staticPosition:{default:"top center"},dynamicPosition:{type:Boolean},absolutePositionStatus:{type:Boolean,default:!1},offsetX:{default:4},offsetY:{default:4},maxHeight:{default:320},status:{type:Boolean,default:!0},preventXss:{type:Boolean},iconName:{default:void 0},absoluteTriangleAlignment:{default:"center"},absoluteTrianglePosition:{default:"top"},absolutePosition:{type:[Boolean,null,String,Object,Array]}},setup(i){const n=i,a=e.ref(null),o=e.ref("center"),l=e.ref("bottom"),_=e.ref("center"),r=e.ref(!1),t=e.ref(""),s=e.ref(!1),c=e.ref(!1),p=e.ref(""),y=e.ref("d-n"),k=e.ref(null),z=e.ref(null),N=e.ref(null),w=e.computed(()=>n.staticPosition.split(" ")[0]),x=e.computed(()=>n.staticPosition.split(" ")[1]),j=e.computed(()=>n.iconName?"mt-1":"mt-0"),F=e.computed(()=>n.preventXss?Tt(n.text):n.text),V=e.computed(()=>n.absolutePositionStatus?n.absoluteTrianglePosition:n.dynamicPosition&&r.value?l.value==="bottom"?"top":"bottom":w.value==="top"?"bottom":w.value==="bottom"?"top":w.value==="left"?"right":w.value==="right"?"left":"bottom"),G=e.computed(()=>n.absolutePositionStatus?"":s.value&&c.value||p.value==="icon"&&s.value?"opa-1":"opa-0"),L=e.computed(()=>n.absolutePositionStatus?n.absoluteTriangleAlignment:n.dynamicPosition&&r.value?o.value==="center"?"center":o.value==="end"?"end":o.value==="start"?"start":_.value:x.value==="center"?"center":x.value==="left"||x.value==="top"?"start":x.value==="right"||x.value==="bottom"?"end":"center"),Y=e.computed(()=>n.absolutePositionStatus?"":n.dynamicPosition&&r.value?E[`wrapper__box_${l.value}-${o.value}`]:E[`wrapper__box_${w.value}-${L.value}`]),O=e.computed(()=>n.offsetX===0&&n.offsetY===0?{}:n.dynamicPosition?{[`margin-${l.value==="bottom"?"top":"bottom"}`]:`${n.offsetY}px`}:V.value==="top"||V.value==="bottom"?{[`margin-${V.value}`]:`${n.offsetY}px`}:{[`margin-${V.value}`]:`${n.offsetX}px`}),d=(u,f,v=!1)=>{if(!u||!z.value)return{left:!1,right:!1,top:!1,bottom:!1,center:!1};const C={left:0,right:0,top:0,bottom:0,width:0,height:0},U=z.value.clientHeight,D=window.innerWidth,le=window.innerHeight,Q=u.clientHeight,A=u.clientWidth||264,g=(f==null?void 0:f.getBoundingClientRect())||C,Z=v?g==null?void 0:g.right:g==null?void 0:g.left,J=v?g==null?void 0:g.top:g==null?void 0:g.bottom,se=Z+g.width+A+n.offsetX<D,ie=Z+g.width/2-(A+n.offsetX)>10,ue=J+Q<le-n.offsetY,_e=J-(Q+U+n.offsetY)>0;let K=!1;return n.iconName&&(K=g.right+A/2<D&&g.left-(A+n.offsetX)/2>=10),{left:ie,right:se,bottom:ue,top:_e,center:K}},m=()=>{e.nextTick(()=>{var D;r.value=!0;const{bottom:u,left:f,right:v,top:C,center:U}=d(N.value,(D=N.value)==null?void 0:D.parentNode);if(U){o.value="center",l.value=u&&!C?"bottom":"top";return}if(u&&f&&v&&C){o.value="center",l.value="top";return}if(C&&!u){if(v&&f){o.value="center",l.value="top";return}if(v&&!f){o.value="start",l.value="top";return}if(!v&&f){o.value="end",l.value="top";return}}if(u&&C){if(!v&&f){o.value="end",l.value="top",_.value="end";return}if(v&&!f){o.value="start",l.value="top",_.value="start";return}}if(u&&!C){if(v&&f){o.value="center",l.value="bottom",_.value="top";return}if(!v&&f){o.value="end",l.value="bottom",_.value="top";return}v&&!f&&(o.value="start",l.value="bottom",_.value="top")}})},h=u=>{const f=u.scrollHeight>u.clientHeight,v=window.getComputedStyle(u).overflowY,C=["auto","scroll"].includes(v);return f&&C},I=u=>{const f=(u==null?void 0:u.nodeType)===Node.COMMENT_NODE,v=(u==null?void 0:u.nodeType)===Node.DOCUMENT_NODE;return!u||f||v?document:h(u)?u:I(u)},T=()=>{var u;(u=k.value)==null||u.removeEventListener("scroll",m),window==null||window.removeEventListener("resize",m)},W=()=>{e.nextTick(()=>{var u;k.value=I(z.value),(u=k.value)==null||u.addEventListener("scroll",m),window==null||window.addEventListener("resize",m)})},te=()=>{p.value="wrapper",y.value="d-b",s.value=!0},X=()=>{p.value="icon",y.value="d-b",c.value=!0},oe=()=>{c.value=!1},ne=()=>{p.value="",s.value=!1,c.value=!1},re=()=>{ne(),n.dynamicPosition?l.value==="bottom"?t.value="bottom-leave":l.value==="top"&&(t.value="top-leave"):w.value==="top"?t.value="top-leave":w.value==="bottom"?t.value="bottom-leave":w.value==="left"?t.value="left-leave":w.value==="right"&&(t.value="right-leave"),setTimeout(()=>{t.value="",y.value="d-n"},n.absolutePositionStatus?0:250)},ae=()=>{te(),m(),n.dynamicPosition?l.value==="bottom"?t.value="top-entrance":l.value==="top"&&(t.value="bottom-entrance"):w.value==="top"?t.value="bottom-entrance":w.value==="bottom"?t.value="top-entrance":w.value==="left"?t.value="right-entrance":w.value==="right"&&(t.value="left-entrance"),setTimeout(()=>{t.value=""},250)};return e.onMounted(()=>{n.dynamicPosition&&W()}),e.onBeforeUnmount(()=>{T()}),(u,f)=>(e.openBlock(),e.createElementBlock("div",{id:u.id,ref_key:"tooltipRootRef",ref:z,class:e.normalizeClass(e.unref(E).wrapper),onMouseenter:ae,onMouseleave:re},[u.iconName?(e.openBlock(),e.createBlock(e.unref(M),{key:0,ref_key:"tooltipIconRef",ref:a,class:e.normalizeClass(e.unref(E).wrapper__icon),name:u.iconName,onMouseenter:X,onMouseleave:oe},null,8,["class","name"])):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(E).wrapper__icon),onMouseenter:X,onMouseleave:X},[e.renderSlot(u.$slots,"triggerElement")],34)),u.status?(e.openBlock(),e.createElementBlock("div",{key:2,ref_key:"tooltipPopupRef",ref:N,class:e.normalizeClass([e.unref(E).wrapper__box,Y.value,G.value,y.value]),style:e.normalizeStyle(u.absolutePosition)},[e.createVNode(e.unref(ee),{"border-triangle":"","border-triangle-align":L.value,"border-triangle-position":V.value,class:e.normalizeClass([e.unref(E)["wrapper__box-content"],j.value,t.value]),style:e.normalizeStyle(O.value)},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(E).wrapper__text),style:e.normalizeStyle({maxHeight:`${u.maxHeight}px`,overflowY:"auto"})},[e.createElementVNode("div",{innerHTML:F.value},null,8,Wt),e.renderSlot(u.$slots,"contentSlot")],6)]),_:3},8,["border-triangle-align","border-triangle-position","class","style"])],6)):e.createCommentVNode("",!0)],42,Ot))}}),Rt="_box_9edbj_169",Ft="_flipBox_9edbj_258",R={box:Rt,"box_top-start":"_box_top-start_9edbj_174","box_top-center":"_box_top-center_9edbj_174","box_top-end":"_box_top-end_9edbj_174","box_right-start":"_box_right-start_9edbj_174","box_right-center":"_box_right-center_9edbj_174","box_right-end":"_box_right-end_9edbj_174","box_bottom-start":"_box_bottom-start_9edbj_174","box_bottom-center":"_box_bottom-center_9edbj_174","box_bottom-end":"_box_bottom-end_9edbj_174","box_left-start":"_box_left-start_9edbj_174","box_left-center":"_box_left-center_9edbj_174","box_left-end":"_box_left-end_9edbj_174",flipBox:Ft},Gt=e.defineComponent({__name:"DefaultBox",props:{border:{},borderRadius:{default:"bor-r-1"},borderTriangle:{type:Boolean,default:!1},borderTriangleAlign:{default:"center"},borderTrianglePosition:{default:"top"}},emits:["click"],setup(i,{emit:n}){const a=i,o=n,l=e.computed(()=>a.borderTriangle?R[`box_${a.borderTrianglePosition}-${a.borderTriangleAlign}`]:"");function _(){o("click")}return(r,t)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(R).box,l.value,r.border,r.borderRadius]),onClick:_},[e.renderSlot(r.$slots,"default")],2))}}),Yt=e.defineComponent({__name:"FlipBox",props:{boxSpacing:{default:""}},setup(i){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(R).flipBox,n.boxSpacing])},[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass([e.unref(R).box,n.boxSpacing])},[e.renderSlot(n.$slots,"front")],2),e.createElementVNode("div",{class:e.normalizeClass([n.boxSpacing])},[e.renderSlot(n.$slots,"reverse")],2)])],2))}}),ee=e.defineComponent({__name:"Box",props:{type:{default:"default"},borderTriangle:{type:Boolean,default:!1},borderTriangleAlign:{},borderTrianglePosition:{},boxSpacing:{default:""}},setup(i){const n={default:Gt,flip:Yt};return(a,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n[a.type]),{"border-triangle":a.borderTriangle,"border-triangle-align":a.borderTriangleAlign,"border-triangle-position":a.borderTrianglePosition,"box-spacing":a.boxSpacing},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default"),e.renderSlot(a.$slots,"front"),e.renderSlot(a.$slots,"reverse")]),_:3},8,["border-triangle","border-triangle-align","border-triangle-position","box-spacing"]))}});exports.Box=ee;exports.Button=ge;exports.DropdownMenu=Le;exports.Icon=M;exports.NumberInput=$t;exports.OnPageMessage=Qe;exports.SegmentButton=at;exports.TextInput=ft;exports.Toggle=Mt;exports.Tooltip=At;
|
|
2
2
|
//# sourceMappingURL=ab-components.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ab-components.cjs.js","sources":["../src/components/Button/Button.vue","../src/directives/clickOutside.ts","../src/utils/search.ts","../src/components/Dropdown/DropdownMenu.vue","../src/components/Icon/icons/index.ts","../src/components/Icon/Icon.vue","../src/components/OnPageMessage/OnPageMessage.vue","../src/components/SegmentButton/SegmentButton.vue","../src/components/TextInput/TextInput.vue","../src/components/NumberInput/NumberInput.vue","../src/components/Toggle/Toggle.vue","../src/components/Icon/icons/FilledErrorBox.vue","../src/components/Icon/icons/LineCheck.vue","../src/components/Icon/icons/FilledCheckCircle.vue","../src/components/Icon/icons/LoadingCircle.vue","../src/components/Icon/icons/FilledInfoCircle.vue","../src/components/Icon/icons/SmartIcon.vue","../src/components/Icon/icons/FilledCautionTriangle.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport type { IconNames } from '@/components/Icon/types';\nimport { Icon } from '@/index';\nimport styles from './Button.module.scss';\n\ninterface ButtonProps {\n variant: 'solid' | 'ghost' | 'text' | 'outline';\n color: 'primary' | 'subtle-primary' | 'secondary' | 'danger' | 'warning' | 'smart';\n size?: 'default' | 'small';\n leftIconName?: IconNames;\n rightIconName?: IconNames;\n loadingStatus?: boolean;\n successStatus?: boolean;\n label?: string;\n disabled?: boolean;\n fill?: boolean;\n}\n\nconst props = withDefaults(defineProps<ButtonProps>(), {\n loadingStatus: false,\n successStatus: false,\n disabled: false,\n fill: false,\n size: 'default',\n});\n\nconst emit = defineEmits<{\n click: [event: MouseEvent];\n}>();\n\nconst onClick = (event: MouseEvent) => {\n if (props.disabled) {\n return;\n }\n\n emit('click', event);\n};\n\nconst leftIcon = computed<IconNames | undefined>(() => {\n if (props.loadingStatus) {\n return 'LoadingCircle';\n } else if (props.successStatus) {\n return 'LineCheck';\n }\n\n return props.leftIconName;\n});\n</script>\n\n<template>\n <button\n :class=\"[\n styles.button,\n styles[`button__${variant}`],\n styles[`button__${variant}-${color}`],\n styles[`button__size_${size}`],\n { [styles.fill]: fill },\n ]\"\n :disabled=\"props.disabled\"\n @click=\"onClick\">\n <Icon\n v-if=\"leftIcon\"\n :name=\"leftIcon\" />\n <span\n v-if=\"label\"\n :class=\"styles.button__label\">\n {{ label }}\n </span>\n <Icon\n v-if=\"rightIconName\"\n :name=\"rightIconName\" />\n </button>\n</template>\n","import type { DirectiveBinding } from 'vue';\n\ninterface ClickOutsideElement extends HTMLElement {\n clickOutsideEvent?: (event: Event) => void;\n}\n\nexport default {\n mounted(el: ClickOutsideElement, binding: DirectiveBinding<{ handler: () => void; exclude?: HTMLElement[] }>) {\n el.clickOutsideEvent = (event: Event) => {\n const isClickInside = [el, ...(binding.value.exclude || [])].some(element => {\n return element && (element === event.target || element.contains(event.target as Node))\n });\n\n if (!isClickInside) {\n binding.value.handler(); // Close handler\n }\n };\n\n document.addEventListener('click', el.clickOutsideEvent);\n },\n unmounted(el: ClickOutsideElement) {\n if (el.clickOutsideEvent) {\n document.removeEventListener('click', el.clickOutsideEvent);\n }\n },\n};","const isFuzzyMatch = (choiceValue: string, searchTerm: string): boolean => {\n let searchIndex = 0;\n for (const char of choiceValue) {\n if (char.toLowerCase() === searchTerm[searchIndex]?.toLowerCase()) {\n searchIndex++;\n }\n if (searchIndex === searchTerm.length) {\n return true;\n }\n }\n return false;\n};\n\n\nexport const fuzzySearch = <T>(\n choices: T[],\n key: keyof T,\n searchTerm: string,\n): T[] => {\n if (!searchTerm.trim()) {\n return choices;\n }\n\n const normalizedSearchTerm = searchTerm.toLowerCase();\n\n return choices\n .filter(choice => {\n const value = String(choice[key]);\n\n return isFuzzyMatch(value.toLowerCase(), normalizedSearchTerm)\n })\n .sort((a, b) => {\n const aValue = String(a[key]).toLowerCase();\n const bValue = String(b[key]).toLowerCase();\n\n if (aValue === normalizedSearchTerm) return -1;\n if (bValue === normalizedSearchTerm) return 1;\n\n if (aValue.startsWith(normalizedSearchTerm) && !bValue.startsWith(normalizedSearchTerm))\n return -1;\n if (!aValue.startsWith(normalizedSearchTerm) && bValue.startsWith(normalizedSearchTerm))\n return 1;\n\n return aValue.length - bValue.length;\n });\n};\n","<script lang=\"ts\" setup>\nimport { ref, computed, type StyleValue, onMounted, reactive, watch } from 'vue';\nimport clickOutside from '@/directives/clickOutside';\nimport { fuzzySearch } from '@/utils/search';\nimport styles from './Dropdown.module.scss';\n\nconst vClickOutside = clickOutside;\n\ninterface MenuItem {\n text: string;\n value: string;\n}\n\ninterface DropdownProps {\n id: string;\n label?: string;\n modelValue?: string;\n menuHeight?: number;\n placeholder?: string;\n addable?: boolean;\n addButtonText?: string;\n searchable?: boolean;\n searchPlaceHolder?: string;\n items: MenuItem[];\n validateAddItem?: (item: string, items: MenuItem[]) => string | null;\n}\n\ninterface Emits {\n (e: 'update:modelValue', value: string): void;\n (e: 'add-error', error: string): void;\n (e: 'item-added', item: MenuItem): void;\n (e: 'select-item', item: MenuItem): void;\n}\n\nconst props = withDefaults(defineProps<DropdownProps>(), {\n menuHeight: 154,\n searchBar: false,\n addItem: false,\n modelValue: '',\n validateAddItem: () => null,\n});\n\nconst emit = defineEmits<Emits>();\nconst dropdownRef = ref<HTMLDivElement>();\nconst menuRef = ref<HTMLDivElement>();\nconst isOpen = ref(false);\nconst selectedItem = ref<MenuItem | null>(null);\nconst searchQuery = ref('');\nconst errorMessage = ref<string | null>(null);\nconst menuPosition = ref({ x: 0, y: 0, width: 0, shouldOpenUp: false, height: props.menuHeight });\nconst filteredItems = reactive([...props.items]);\nconst allItems = reactive([...props.items]);\n\nconst calculateMenuPosition = () => {\n if (!dropdownRef.value) {\n return;\n }\n\n const { offsetTop: top, offsetLeft: left, offsetWidth: width } = dropdownRef.value;\n const viewportHeight = window.innerHeight;\n const bottom = top + dropdownRef.value.offsetHeight;\n const shouldOpenUp = bottom + props.menuHeight > viewportHeight;\n\n menuPosition.value = {\n x: left + window.scrollX,\n y: shouldOpenUp ? top + window.scrollY : bottom + window.scrollY,\n width,\n shouldOpenUp,\n height: props.menuHeight,\n };\n};\n\nconst toggleMenu = () => {\n calculateMenuPosition();\n isOpen.value = !isOpen.value;\n};\n\nconst resetSettings = () => {\n errorMessage.value = null;\n searchQuery.value = '';\n filteredItems.splice(0, filteredItems.length, ...allItems);\n};\n\nconst closeMenu = () => {\n isOpen.value = false;\n\n resetSettings();\n};\n\nconst selectItem = (item: MenuItem) => {\n selectedItem.value = item;\n\n emit('select-item', item);\n emit('update:modelValue', item.value);\n\n closeMenu();\n};\n\nconst addItem = () => {\n const query = searchQuery.value.trim();\n const error = props.validateAddItem(query, allItems);\n\n if (error) {\n errorMessage.value = error;\n\n emit('add-error', error);\n\n return;\n }\n\n const newItem: MenuItem = {\n text: query,\n value: query,\n };\n\n allItems.push(newItem);\n resetSettings();\n\n emit('item-added', newItem);\n};\n\nconst onSearch = () => {\n const results = fuzzySearch<MenuItem>(allItems, 'text', searchQuery.value);\n\n filteredItems.splice(0, filteredItems.length, ...results);\n};\n\nconst onFocusSearch = () => {\n errorMessage.value = '';\n};\n\nconst menuStyle = computed<Partial<StyleValue>>(() => ({\n top: menuPosition.value.shouldOpenUp ? `${menuPosition.value.y - 10}px` : `${menuPosition.value.y}px`,\n left: `${menuPosition.value.x}px`,\n width: `${menuPosition.value.width}px`,\n height: `${props.menuHeight}px`,\n}));\n\nonMounted(() => {\n calculateMenuPosition();\n\n if (props.modelValue) {\n const defaultItem = allItems.find(item => item.value === props.modelValue);\n\n if (defaultItem) {\n selectedItem.value = defaultItem;\n }\n }\n});\n\nconst selectedValue = computed(() => (selectedItem.value ? selectedItem.value.text : ''));\n\nwatch(\n () => props.items,\n newItems => {\n allItems.splice(0, allItems.length, ...newItems);\n filteredItems.splice(0, filteredItems.length, ...newItems);\n },\n { deep: true }\n);\n</script>\n\n<template>\n <div\n ref=\"dropdownRef\"\n :class=\"styles.dropdown\">\n <label\n v-if=\"label\"\n :class=\"styles.dropdown__label\"\n :for=\"id\">\n {{ label }}\n </label>\n <button\n :class=\"[\n styles.dropdown__valueContent, {\n [styles['dropdown__valueContent--open']]: isOpen,\n },\n ]\"\n @click=\"toggleMenu\">\n <span :class=\"styles.dropdown__value\">\n {{ selectedValue }}\n </span>\n <span\n v-if=\"placeholder && !selectedValue\"\n :class=\"styles.dropdown__placeholder\">\n {{ placeholder }}\n </span>\n <svg\n fill=\"none\"\n height=\"17\"\n viewBox=\"0 0 16 17\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n :class=\"styles.dropdown__arrowIcon\">\n <path\n d=\"M8 11.2021L4.5359 6.70215L11.4641 6.70215L8 11.2021Z\"\n fill=\"#91949F\" />\n </svg>\n </button>\n </div>\n\n <div\n v-if=\"isOpen\"\n ref=\"menuRef\"\n :class=\"styles.menu\"\n :style=\"menuStyle\"\n v-click-outside=\"{ handler: closeMenu, exclude: [dropdownRef, menuRef] }\"\n @click.prevent>\n <div\n v-if=\"props.searchable\"\n :class=\"styles.menu__searchContainer\">\n <div :class=\"styles.menu__searchInputWrap\">\n <input\n type=\"text\"\n :class=\"[\n styles.menu__searchInput, {\n [styles['menu__searchInput--error']]: errorMessage,\n },\n ]\"\n :placeholder=\"searchPlaceHolder\"\n v-model=\"searchQuery\"\n @focus=\"onFocusSearch\"\n @input=\"onSearch\">\n <p\n v-if=\"errorMessage\"\n :class=\"styles.menu__errorMessage\">\n {{ errorMessage }}\n </p>\n </div>\n <button\n v-if=\"props.addable\"\n :class=\"styles.menu__addButton\"\n @click=\"addItem\">\n {{ addButtonText }}\n </button>\n </div>\n <ul :class=\"styles.menu__itemContainer\">\n <li\n v-for=\"(item, index) in filteredItems\"\n :key=\"`${item.value}-${index}`\"\n :class=\"[\n styles.menu__item, {\n [styles['menu__item--active']]: selectedItem && item.value === selectedItem.value,\n },\n ]\"\n @click=\"selectItem(item)\">\n {{ item.text }}\n </li>\n </ul>\n </div>\n</template>\n","import { defineAsyncComponent } from 'vue';\n\nconst iconMap = {\n FilledErrorBox: defineAsyncComponent(() => import('./FilledErrorBox.vue')),\n LineCheck: defineAsyncComponent(() => import('./LineCheck.vue')),\n FilledCheckCircle: defineAsyncComponent(() => import('./FilledCheckCircle.vue')),\n LoadingCircle: defineAsyncComponent(() => import('./LoadingCircle.vue')),\n FilledInfoCircle: defineAsyncComponent(() => import('./FilledInfoCircle.vue')),\n SmartIcon: defineAsyncComponent(() => import('./SmartIcon.vue')),\n FilledCautionTriangle: defineAsyncComponent(() => import('./FilledCautionTriangle.vue')),\n};\n\nexport default iconMap;\n","<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport iconMap from '@/components/Icon/icons';\nimport type { IconNames } from '@/components/Icon/types';\n\ninterface IconProps {\n name: IconNames;\n size?: 16 | 24;\n color?: string;\n}\n\nconst props = withDefaults(defineProps<IconProps>(), {\n size: 16,\n});\n\nconst iconSize = computed(() => (typeof props.size === 'number' ? `${props.size}px` : props.size));\n</script>\n\n<template>\n <component\n :is=\"iconMap[name]\"\n class=\"icon\"\n :style=\"{ width: iconSize, height: iconSize, fill: props.color || 'currentColor' }\" />\n</template>\n\n<style scoped>\n.icon {\n display: inline-block;\n line-height: 0;\n vertical-align: middle;\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport Icon from '@/components/Icon/Icon.vue';\nimport type { IconNames } from '@/components/Icon/types';\nimport styles from './OnPageMessage.module.scss';\n\ninterface OnPageMessageProps {\n variant?: 'default' | 'warning' | 'alert' | 'success';\n text: string;\n}\n\nconst props = withDefaults(defineProps<OnPageMessageProps>(), {\n variant: 'default',\n});\n\nconst IconName = computed<IconNames>(() => {\n switch (props.variant) {\n case 'alert': return 'FilledErrorBox';\n case 'warning': return 'FilledCautionTriangle';\n case 'success': return 'FilledCheckCircle';\n\n default: return 'FilledInfoCircle';\n }\n});\n</script>\n\n<template>\n <div\n :class=\"[\n styles.container,\n styles[`container__${variant}`],\n ]\">\n <Icon\n :name=\"IconName\"\n :size=\"24\" />\n <span :class=\"styles.container__text\">{{ text }}</span>\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport { ref, watch } from 'vue';\nimport type { IconNames } from '@/components/Icon/types';\nimport { Icon } from '@/index';\nimport styles from './SegmentButton.module.scss';\n\nexport interface SegmentType {\n value: string;\n label: string;\n disabled?: boolean;\n icon?: IconNames;\n}\n\nexport interface SegmentButtonProps {\n color: 'primary' | 'secondary' | 'danger' | 'warning' | 'smart';\n size?: 'default' | 'small';\n align?: 'vertical' | 'horizontal';\n disabled?: boolean;\n segments: SegmentType[];\n fill?: boolean;\n modelValue?: string;\n}\n\ninterface SegmentButtonEmits {\n 'update:modelValue': [value: string];\n click: [value: SegmentType['value']];\n}\n\nconst props = withDefaults(defineProps<SegmentButtonProps>(), {\n loadingStatus: false,\n successStatus: false,\n disabled: false,\n size: 'default',\n align: 'horizontal',\n});\n\nconst emit = defineEmits<SegmentButtonEmits>();\nconst selected = ref<string>(props.modelValue || '');\n\nconst setSelect = (segment: SegmentType) => {\n if (props.disabled || segment.disabled) {\n return;\n }\n\n selected.value = segment.value;\n emit('update:modelValue', segment.value);\n emit('click', segment.value);\n};\n\nwatch(() => props.modelValue, newValue => {\n selected.value = newValue || '';\n});\n\nconst filteredSegments = ref<SegmentType[]>([...props.segments]);\n\nwatch(() => props.segments, newSegments => {\n filteredSegments.value = [...newSegments];\n\n if (!newSegments.some(segment => segment.value === selected.value)) {\n selected.value = '';\n emit('update:modelValue', '');\n }\n}, { deep: true });\n</script>\n\n<template>\n <div\n :class=\"[\n styles.segmentGroup,\n styles[`segmentGroup--${align}`],\n { [styles.fill]: fill },\n ]\">\n <button\n v-for=\"(segment, index) in filteredSegments\"\n :key=\"`${segment.value}-${index}`\"\n :class=\"[\n styles.button,\n styles[`button--${color}`],\n styles[`button__size_${size}`],\n styles.fill,\n {\n [styles[`button--selected`]]: segment.value === selected,\n },\n ]\"\n :disabled=\"segment.disabled || props.disabled\"\n @click=\"setSelect(segment)\">\n <Icon\n v-if=\"segment.icon\"\n :name=\"segment.icon\" />\n <span\n v-if=\"segment.label\"\n :class=\"styles.button__label\">\n {{ segment.label }}\n </span>\n </button>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { onMounted, ref } from 'vue';\nimport styles from './TextInput.module.scss';\n\nexport interface Props {\n id: string;\n name: string;\n modelValue?: string;\n label?: string;\n placeholder?: string;\n maxLength?: number;\n maxHeight?: number;\n error?: string;\n multiline?: boolean;\n autoGrow?: boolean;\n counter?: boolean;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n label: '',\n placeholder: '',\n maxLength: undefined,\n maxHeight: undefined,\n error: '',\n multiline: false,\n autoGrow: false,\n modelValue: '',\n});\n\nconst emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']];\n input: [event: Event];\n change: [event: Event];\n paste: [event: ClipboardEvent];\n focus: [event: FocusEvent];\n blur: [event: FocusEvent];\n}>();\n\nconst textareaRef = ref<HTMLTextAreaElement | null>(null);\n\nconst autoGrow = () => {\n if (props.autoGrow && textareaRef.value) {\n textareaRef.value.style.height = '';\n\n const newHeight = Math.min(textareaRef.value.scrollHeight, props.maxHeight || textareaRef.value.scrollHeight);\n\n textareaRef.value.style.height = `${newHeight}px`;\n }\n};\n\nconst handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement | HTMLTextAreaElement;\n\n emit('input', event);\n emit('update:modelValue', target.value);\n\n autoGrow();\n};\n\nonMounted(() => {\n autoGrow();\n});\n</script>\n\n<template>\n <div :class=\"styles.wrapper\">\n <label\n v-if=\"label\"\n :class=\"styles.wrapper__label\"\n :for=\"id\">\n {{ label }}\n </label>\n <template v-if=\"multiline\">\n <textarea\n :id=\"id\"\n ref=\"textareaRef\"\n :class=\"[\n styles.wrapper__field, {\n [styles['wrapper--error']]: error,\n },\n ]\"\n :maxlength=\"maxLength\"\n :name=\"name\"\n :placeholder=\"placeholder\"\n :style=\"maxHeight ? { maxHeight: `${maxHeight}px` } : undefined\"\n :value=\"modelValue\"\n @blur=\"emit('blur', $event)\"\n @change=\"$emit('change', $event)\"\n @focus=\"emit('focus', $event)\"\n @input=\"handleInput\"\n @paste=\"emit('paste', $event)\" />\n </template>\n <template v-else>\n <input\n :id=\"id\"\n type=\"text\"\n :class=\"[\n styles.wrapper__field, {\n [styles['wrapper--error']]: error,\n },\n ]\"\n :maxlength=\"maxLength\"\n :name=\"name\"\n :placeholder=\"placeholder\"\n :value=\"modelValue\"\n @blur=\"emit('blur', $event)\"\n @change=\"$emit('change', $event)\"\n @focus=\"emit('focus', $event)\"\n @input=\"handleInput\"\n @paste=\"emit('paste', $event)\">\n </template>\n\n <div :class=\"styles.wrapper__bottom\">\n <div\n v-if=\"error\"\n :class=\"styles.wrapper__errorMessage\">\n {{ error }}\n </div>\n <div\n v-if=\"counter\"\n :class=\"styles.wrapper__counter\">\n {{ modelValue?.toString().length || 0 }}\n </div>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport styles from './NumberInput.module.scss';\n\nexport interface Props {\n id: string;\n name: string;\n modelValue?: string;\n label?: string;\n placeholder?: string;\n maxLength?: number;\n error?: string;\n errorStatus?: boolean;\n counter?: boolean;\n min?: number;\n max?: number;\n size?: 'default' | 'small';\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n label: '',\n placeholder: '',\n maxLength: undefined,\n min: undefined,\n max: undefined,\n error: '',\n modelValue: '',\n size: 'default',\n});\n\nconst emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']];\n input: [event: Event];\n change: [event: Event];\n paste: [event: ClipboardEvent];\n focus: [event: FocusEvent];\n blur: [event: FocusEvent];\n}>();\n\nconst applyMinMax = (value: string): string => {\n if (value === '') {\n return value;\n }\n\n const numericValue = Number(value);\n\n if (typeof props.min === 'number' && numericValue < props.min) {\n return props.min?.toString();\n } else if (typeof props.max === 'number' && numericValue > props.max) {\n return props.max?.toString();\n }\n\n return numericValue.toString();\n};\n\nconst handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement | HTMLTextAreaElement;\n const sanitizedValue = applyMinMax(target.value);\n\n target.value = sanitizedValue;\n\n emit('input', event);\n emit('update:modelValue', sanitizedValue);\n};\n</script>\n\n<template>\n <div :class=\"[styles.wrapper, styles[`wrapper__size_${size}`]]\">\n <label\n v-if=\"label\"\n :class=\"styles.wrapper__label\"\n :for=\"id\">\n {{ label }}\n </label>\n <input\n :id=\"id\"\n type=\"number\"\n :class=\"[\n styles.wrapper__field, {\n [styles['wrapper--error']]: error || errorStatus,\n },\n ]\"\n :max=\"max\"\n :maxlength=\"maxLength\"\n :min=\"min\"\n :name=\"name\"\n :placeholder=\"placeholder\"\n :value=\"modelValue\"\n @blur=\"emit('blur', $event)\"\n @change=\"$emit('change', $event)\"\n @focus=\"emit('focus', $event)\"\n @input=\"handleInput\"\n @paste=\"emit('paste', $event)\">\n\n <div\n v-if=\"counter || error\"\n :class=\"styles.wrapper__bottom\">\n <div\n v-if=\"error\"\n :class=\"styles.wrapper__errorMessage\">\n {{ error }}\n </div>\n <div\n v-if=\"counter\"\n :class=\"styles.wrapper__counter\">\n {{ modelValue?.toString().length || 0 }}\n </div>\n </div>\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport styles from './Toggle.module.scss';\n\ninterface ToggleProps {\n id: string;\n name: string;\n checked?: boolean;\n disabled?: boolean;\n}\n\nconst props = withDefaults(defineProps<ToggleProps>(), {\n checked: false,\n disabled: false,\n});\n\nconst emit = defineEmits<{\n click: [checked: boolean];\n}>();\n\nconst onClick = () => {\n emit('click', !props.checked);\n};\n</script>\n\n<template>\n <fieldset\n :class=\"[\n styles.wrapper,\n {\n [styles.wrapper_checked]: checked,\n [styles.wrapper_disabled]: disabled,\n },\n ]\">\n <input\n :id=\"id\"\n type=\"checkbox\"\n :checked=\"checked\"\n :class=\"styles.wrapper__input\"\n :disabled=\"disabled\"\n :name=\"name\"\n @click=\"onClick\">\n <label\n :class=\"styles.wrapper__label\"\n :for=\"id\" />\n </fieldset>\n</template>\n","<template>\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M5 3a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5zm8.36 11.719a.961.961 0 0 0 1.359-1.36L13.359 12l1.36-1.36a.961.961 0 0 0-1.36-1.358L12 10.64l-1.36-1.36a.961.961 0 0 0-1.358 1.36L10.64 12l-1.36 1.36a.961.961 0 0 0 1.36 1.359l1.36-1.36 1.36 1.36z\">\n </path>\n </svg>\n</template>","<template>\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.278 12.674a.956.956 0 0 1 0-1.348.948.948 0 0 1 1.345 0l4.033 4.046a.956.956 0 0 1 0 1.349.948.948 0 0 1-1.345 0l-4.033-4.047z\"></path>\n <path d=\"M9.311 16.72a.956.956 0 0 1 0-1.348l8.066-8.093a.948.948 0 0 1 1.345 0 .956.956 0 0 1 0 1.35l-8.066 8.092a.948.948 0 0 1-1.345 0z\"></path>\n </svg>\n</template>","<template>\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18zm-1.69-6.281l-2.03-2.04a.964.964 0 0 1 0-1.359.953.953 0 0 1 1.353 0l1.353 1.36 3.381-3.398a.953.953 0 0 1 1.353 0 .965.965 0 0 1 0 1.359l-4.058 4.078a.953.953 0 0 1-1.353 0z\">\n </path>\n </svg>\n</template>","<template>\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" id=\"ab-loading-icon\">\n <path\n d=\"M20.0482 12.025C20.6015 12.025 21.0557 11.5751 20.9944 11.0253C20.8349 9.59397 20.3345 8.21647 19.529 7.01098C18.5373 5.52683 17.1278 4.37007 15.4787 3.68699C13.8296 3.00391 12.015 2.82519 10.2643 3.17342C8.51363 3.52165 6.90553 4.38119 5.64336 5.64336C4.38119 6.90553 3.52165 8.51363 3.17342 10.2643C2.82519 12.015 3.00391 13.8296 3.68699 15.4787C4.37007 17.1278 5.52683 18.5373 7.01098 19.529C8.21647 20.3345 9.59397 20.8349 11.0253 20.9944C11.5751 21.0557 12.025 20.6015 12.025 20.0482V20.0482C12.025 19.4949 11.5742 19.0538 11.0266 18.9751C9.99233 18.8265 8.99986 18.4483 8.12409 17.8631C6.96942 17.0916 6.06946 15.995 5.53803 14.712C5.00659 13.429 4.86754 12.0172 5.13847 10.6552C5.40939 9.29315 6.07812 8.04205 7.06008 7.06008C8.04205 6.07812 9.29315 5.40939 10.6552 5.13847C12.0172 4.86754 13.429 5.00659 14.712 5.53803C15.995 6.06946 17.0916 6.96942 17.8631 8.12409C18.4483 8.99986 18.8265 9.99233 18.9751 11.0266C19.0538 11.5742 19.4949 12.025 20.0482 12.025V12.025Z\" />\n </svg>\n</template>\n\n<style lang=\"scss\">\n#ab-loading-icon {\n animation: spinner 1000ms infinite linear;\n}\n\n@keyframes spinner {\n 0% {\n -webkit-transform: rotate(0deg);\n -moz-transform: rotate(0deg);\n -ms-transform: rotate(0deg);\n -o-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(360deg);\n -moz-transform: rotate(360deg);\n -ms-transform: rotate(360deg);\n -o-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n</style>","<template>\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0zm-10 0a1 1 0 1 1 2 0v4a1 1 0 1 1-2 0v-4zm1-5a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\">\n </path>\n </svg>\n</template>","<template>\n <svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M10.9733 2.27585C11.0723 1.90805 11.5942 1.90805 11.6932 2.27585L12.0682 3.66867C12.1027 3.79696 12.2029 3.89716 12.3312 3.9317L13.724 4.30672C14.0918 4.40575 14.0918 4.92759 13.724 5.02662L12.3312 5.40163C12.2029 5.43617 12.1027 5.53638 12.0682 5.66466L11.6932 7.05748C11.5942 7.42528 11.0723 7.42528 10.9733 7.05748L10.5983 5.66466C10.5637 5.53638 10.4635 5.43617 10.3352 5.40163L8.94242 5.02662C8.57461 4.92759 8.57461 4.40575 8.94242 4.30672L10.3352 3.9317C10.4635 3.89716 10.5637 3.79696 10.5983 3.66867L10.9733 2.27585Z\" />\n <path d=\"M5.72324 2.87868C5.79935 2.59598 6.20044 2.59598 6.27656 2.87868L6.41285 3.38487C6.4394 3.48347 6.51642 3.56049 6.61502 3.58704L7.12121 3.72333C7.40391 3.79945 7.40391 4.20053 7.12121 4.27665L6.61502 4.41294C6.51642 4.43949 6.4394 4.51651 6.41285 4.61511L6.27656 5.1213C6.20044 5.404 5.79935 5.404 5.72324 5.1213L5.58695 4.61511C5.5604 4.51651 5.48338 4.43949 5.38478 4.41294L4.87859 4.27665C4.59589 4.20053 4.59589 3.79945 4.87859 3.72333L5.38478 3.58704C5.48338 3.56049 5.5604 3.48347 5.58695 3.38487L5.72324 2.87868Z\" />\n\n <path d=\"M11.7232 8.87868C11.7994 8.59598 12.2004 8.59598 12.2766 8.87868L12.4128 9.38487C12.4394 9.48347 12.5164 9.56049 12.615 9.58704L13.1212 9.72333C13.4039 9.79945 13.4039 10.2005 13.1212 10.2766L12.615 10.4129C12.5164 10.4395 12.4394 10.5165 12.4128 10.6151L12.2766 11.1213C12.2004 11.404 11.7994 11.404 11.7232 11.1213L11.5869 10.6151C11.5604 10.5165 11.4834 10.4395 11.3848 10.4129L10.8786 10.2766C10.5959 10.2005 10.5959 9.79945 10.8786 9.72333L11.3848 9.58704C11.4834 9.56049 11.5604 9.48347 11.5869 9.38487L11.7232 8.87868Z\" />\n <path d=\"M7.44041 7.33334C7.59931 7.33334 7.73057 7.38572 7.8342 7.49049C7.94473 7.59525 8 7.72795 8 7.88858V8.66668C8 8.79938 7.96546 8.90763 7.89637 8.99144C7.8342 9.07525 7.73403 9.11715 7.59586 9.11715H7.19171C7.05354 9.11715 6.94991 9.07525 6.88083 8.99144C6.81865 8.90763 6.78757 8.79938 6.78757 8.66668V8.55906H5.72021V12.7743H5.9171C6.04836 12.7743 6.15544 12.8092 6.23834 12.8791C6.32124 12.9419 6.36269 13.0432 6.36269 13.1829V13.5914C6.36269 13.7311 6.32124 13.8359 6.23834 13.9057C6.15544 13.9686 6.04836 14 5.9171 14H4.0829C3.78584 14 3.63731 13.8638 3.63731 13.5914V13.1829C3.63731 12.9105 3.78584 12.7743 4.0829 12.7743H4.26943V8.55906H3.21244V8.66668C3.21244 8.79938 3.17789 8.90763 3.10881 8.99144C3.04663 9.07525 2.94646 9.11715 2.80829 9.11715H2.40415C2.26598 9.11715 2.16235 9.07525 2.09326 8.99144C2.03109 8.90763 2 8.79938 2 8.66668V7.88858C2 7.72795 2.05181 7.59525 2.15544 7.49049C2.26598 7.38572 2.39724 7.33334 2.54922 7.33334H7.44041Z\" />\n </svg>\n</template>","<template>\n <svg\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n clip-rule=\"evenodd\"\n d=\"M10.362 3.965a1.873 1.873 0 0 1 3.276 0l8.087 14.025c.764 1.325-.153 3.01-1.638 3.01H3.913c-1.485 0-2.402-1.685-1.638-3.01l8.087-14.025zM11 10a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0v-3zm0 7a1 1 0 1 1 2 0 1 1 0 0 1-2 0z\"\n fill-rule=\"evenodd\" />\n </svg>\n</template>\n"],"names":["props","__props","emit","__emit","onClick","event","leftIcon","computed","clickOutside","el","binding","element","isFuzzyMatch","choiceValue","searchTerm","searchIndex","char","_a","fuzzySearch","choices","key","normalizedSearchTerm","choice","value","a","b","aValue","bValue","vClickOutside","dropdownRef","ref","menuRef","isOpen","selectedItem","searchQuery","errorMessage","menuPosition","filteredItems","reactive","allItems","calculateMenuPosition","top","left","width","viewportHeight","bottom","shouldOpenUp","toggleMenu","resetSettings","closeMenu","selectItem","item","addItem","query","error","newItem","onSearch","results","onFocusSearch","menuStyle","onMounted","defaultItem","selectedValue","watch","newItems","iconMap","defineAsyncComponent","FilledCautionTriangle$1","iconSize","IconName","selected","setSelect","segment","newValue","filteredSegments","newSegments","textareaRef","autoGrow","newHeight","handleInput","target","applyMinMax","numericValue","_b","sanitizedValue","_hoisted_1","_sfc_render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ab-components.cjs.js","sources":["../src/components/Button/Button.vue","../src/directives/clickOutside.ts","../src/utils/search.ts","../src/components/Dropdown/DropdownMenu.vue","../src/components/Icon/Icon.vue","../src/components/OnPageMessage/OnPageMessage.vue","../src/components/SegmentButton/SegmentButton.vue","../src/components/TextInput/TextInput.vue","../src/components/NumberInput/NumberInput.vue","../src/components/Toggle/Toggle.vue","../src/utils/preventXSS.ts","../src/components/Tooltip/Tooltip.vue","../src/components/Box/DefaultBox.vue","../src/components/Box/Box.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue';\n\nimport { Icon } from '@/index';\nimport type { IconNames } from '@/types/generated/svgIconName';\nimport styles from './Button.module.scss';\n\ninterface ButtonProps {\n variant: 'solid' | 'ghost' | 'text' | 'outline';\n color: 'primary' | 'subtle-primary' | 'secondary' | 'danger' | 'warning' | 'smart';\n size?: 'default' | 'small';\n leftIconName?: IconNames;\n rightIconName?: IconNames;\n loadingStatus?: boolean;\n successStatus?: boolean;\n label?: string;\n disabled?: boolean;\n fill?: boolean;\n}\n\nconst props = withDefaults(defineProps<ButtonProps>(), {\n loadingStatus: false,\n successStatus: false,\n disabled: false,\n fill: false,\n size: 'default',\n});\n\nconst emit = defineEmits<{\n click: [event: MouseEvent];\n}>();\n\nconst onClick = (event: MouseEvent) => {\n if (props.disabled) {\n return;\n }\n\n emit('click', event);\n};\n\nconst leftIcon = computed<IconNames | undefined>(() => {\n if (props.loadingStatus) {\n return 'loading-circle';\n } else if (props.successStatus) {\n return 'line-check-natural';\n }\n\n return props.leftIconName;\n});\n</script>\n\n<template>\n <button\n :class=\"[\n styles.button,\n styles[`button__${variant}`],\n styles[`button__${variant}-${color}`],\n styles[`button__size_${size}`],\n { [styles.fill]: fill },\n ]\"\n :disabled=\"props.disabled\"\n @click=\"onClick\">\n <Icon\n v-if=\"leftIcon\"\n :name=\"leftIcon\" />\n <span\n v-if=\"label\"\n :class=\"styles.button__label\">\n {{ label }}\n </span>\n <Icon\n v-if=\"rightIconName\"\n :name=\"rightIconName\" />\n </button>\n</template>\n","import type { DirectiveBinding } from 'vue';\n\ninterface ClickOutsideElement extends HTMLElement {\n clickOutsideEvent?: (event: Event) => void;\n}\n\nexport default {\n mounted(el: ClickOutsideElement, binding: DirectiveBinding<{ handler: () => void; exclude?: HTMLElement[] }>) {\n el.clickOutsideEvent = (event: Event) => {\n const isClickInside = [el, ...(binding.value.exclude || [])].some(element => {\n return element && (element === event.target || element.contains(event.target as Node))\n });\n\n if (!isClickInside) {\n binding.value.handler(); // Close handler\n }\n };\n\n document.addEventListener('click', el.clickOutsideEvent);\n },\n unmounted(el: ClickOutsideElement) {\n if (el.clickOutsideEvent) {\n document.removeEventListener('click', el.clickOutsideEvent);\n }\n },\n};","const isFuzzyMatch = (choiceValue: string, searchTerm: string): boolean => {\n let searchIndex = 0;\n for (const char of choiceValue) {\n if (char.toLowerCase() === searchTerm[searchIndex]?.toLowerCase()) {\n searchIndex++;\n }\n if (searchIndex === searchTerm.length) {\n return true;\n }\n }\n return false;\n};\n\n\nexport const fuzzySearch = <T>(\n choices: T[],\n key: keyof T,\n searchTerm: string,\n): T[] => {\n if (!searchTerm.trim()) {\n return choices;\n }\n\n const normalizedSearchTerm = searchTerm.toLowerCase();\n\n return choices\n .filter(choice => {\n const value = String(choice[key]);\n\n return isFuzzyMatch(value.toLowerCase(), normalizedSearchTerm)\n })\n .sort((a, b) => {\n const aValue = String(a[key]).toLowerCase();\n const bValue = String(b[key]).toLowerCase();\n\n if (aValue === normalizedSearchTerm) return -1;\n if (bValue === normalizedSearchTerm) return 1;\n\n if (aValue.startsWith(normalizedSearchTerm) && !bValue.startsWith(normalizedSearchTerm))\n return -1;\n if (!aValue.startsWith(normalizedSearchTerm) && bValue.startsWith(normalizedSearchTerm))\n return 1;\n\n return aValue.length - bValue.length;\n });\n};\n","<script lang=\"ts\" setup>\nimport { ref, computed, type StyleValue, onMounted, reactive, watch } from 'vue';\nimport clickOutside from '@/directives/clickOutside';\nimport { fuzzySearch } from '@/utils/search';\nimport styles from './Dropdown.module.scss';\n\nconst vClickOutside = clickOutside;\n\ninterface MenuItem {\n text: string;\n value: string;\n}\n\ninterface DropdownProps {\n id: string;\n label?: string;\n modelValue?: string;\n menuHeight?: number;\n placeholder?: string;\n addable?: boolean;\n addButtonText?: string;\n searchable?: boolean;\n searchPlaceHolder?: string;\n items: MenuItem[];\n validateAddItem?: (item: string, items: MenuItem[]) => string | null;\n}\n\ninterface Emits {\n (e: 'update:modelValue', value: string): void;\n (e: 'add-error', error: string): void;\n (e: 'item-added', item: MenuItem): void;\n (e: 'select-item', item: MenuItem): void;\n}\n\nconst props = withDefaults(defineProps<DropdownProps>(), {\n menuHeight: 154,\n searchBar: false,\n addItem: false,\n modelValue: '',\n validateAddItem: () => null,\n});\n\nconst emit = defineEmits<Emits>();\nconst dropdownRef = ref<HTMLDivElement>();\nconst menuRef = ref<HTMLDivElement>();\nconst isOpen = ref(false);\nconst selectedItem = ref<MenuItem | null>(null);\nconst searchQuery = ref('');\nconst errorMessage = ref<string | null>(null);\nconst menuPosition = ref({ x: 0, y: 0, width: 0, shouldOpenUp: false, height: props.menuHeight });\nconst filteredItems = reactive([...props.items]);\nconst allItems = reactive([...props.items]);\n\nconst calculateMenuPosition = () => {\n if (!dropdownRef.value) {\n return;\n }\n\n const { offsetTop: top, offsetLeft: left, offsetWidth: width } = dropdownRef.value;\n const viewportHeight = window.innerHeight;\n const bottom = top + dropdownRef.value.offsetHeight;\n const shouldOpenUp = bottom + props.menuHeight > viewportHeight;\n\n menuPosition.value = {\n x: left + window.scrollX,\n y: shouldOpenUp ? top + window.scrollY : bottom + window.scrollY,\n width,\n shouldOpenUp,\n height: props.menuHeight,\n };\n};\n\nconst toggleMenu = () => {\n calculateMenuPosition();\n isOpen.value = !isOpen.value;\n};\n\nconst resetSettings = () => {\n errorMessage.value = null;\n searchQuery.value = '';\n filteredItems.splice(0, filteredItems.length, ...allItems);\n};\n\nconst closeMenu = () => {\n isOpen.value = false;\n\n resetSettings();\n};\n\nconst selectItem = (item: MenuItem) => {\n selectedItem.value = item;\n\n emit('select-item', item);\n emit('update:modelValue', item.value);\n\n closeMenu();\n};\n\nconst addItem = () => {\n const query = searchQuery.value.trim();\n const error = props.validateAddItem(query, allItems);\n\n if (error) {\n errorMessage.value = error;\n\n emit('add-error', error);\n\n return;\n }\n\n const newItem: MenuItem = {\n text: query,\n value: query,\n };\n\n allItems.push(newItem);\n resetSettings();\n\n emit('item-added', newItem);\n};\n\nconst onSearch = () => {\n const results = fuzzySearch<MenuItem>(allItems, 'text', searchQuery.value);\n\n filteredItems.splice(0, filteredItems.length, ...results);\n};\n\nconst onFocusSearch = () => {\n errorMessage.value = '';\n};\n\nconst menuStyle = computed<Partial<StyleValue>>(() => ({\n top: menuPosition.value.shouldOpenUp ? `${menuPosition.value.y - 10}px` : `${menuPosition.value.y}px`,\n left: `${menuPosition.value.x}px`,\n width: `${menuPosition.value.width}px`,\n height: `${props.menuHeight}px`,\n}));\n\nonMounted(() => {\n calculateMenuPosition();\n\n if (props.modelValue) {\n const defaultItem = allItems.find(item => item.value === props.modelValue);\n\n if (defaultItem) {\n selectedItem.value = defaultItem;\n }\n }\n});\n\nconst selectedValue = computed(() => (selectedItem.value ? selectedItem.value.text : ''));\n\nwatch(\n () => props.items,\n newItems => {\n allItems.splice(0, allItems.length, ...newItems);\n filteredItems.splice(0, filteredItems.length, ...newItems);\n },\n { deep: true }\n);\n</script>\n\n<template>\n <div\n ref=\"dropdownRef\"\n :class=\"styles.dropdown\">\n <label\n v-if=\"label\"\n :class=\"styles.dropdown__label\"\n :for=\"id\">\n {{ label }}\n </label>\n <button\n :class=\"[\n styles.dropdown__valueContent, {\n [styles['dropdown__valueContent--open']]: isOpen,\n },\n ]\"\n @click=\"toggleMenu\">\n <span :class=\"styles.dropdown__value\">\n {{ selectedValue }}\n </span>\n <span\n v-if=\"placeholder && !selectedValue\"\n :class=\"styles.dropdown__placeholder\">\n {{ placeholder }}\n </span>\n <svg\n fill=\"none\"\n height=\"17\"\n viewBox=\"0 0 16 17\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n :class=\"styles.dropdown__arrowIcon\">\n <path\n d=\"M8 11.2021L4.5359 6.70215L11.4641 6.70215L8 11.2021Z\"\n fill=\"#91949F\" />\n </svg>\n </button>\n </div>\n\n <div\n v-if=\"isOpen\"\n ref=\"menuRef\"\n :class=\"styles.menu\"\n :style=\"menuStyle\"\n v-click-outside=\"{ handler: closeMenu, exclude: [dropdownRef, menuRef] }\"\n @click.prevent>\n <div\n v-if=\"props.searchable\"\n :class=\"styles.menu__searchContainer\">\n <div :class=\"styles.menu__searchInputWrap\">\n <input\n type=\"text\"\n :class=\"[\n styles.menu__searchInput, {\n [styles['menu__searchInput--error']]: errorMessage,\n },\n ]\"\n :placeholder=\"searchPlaceHolder\"\n v-model=\"searchQuery\"\n @focus=\"onFocusSearch\"\n @input=\"onSearch\">\n <p\n v-if=\"errorMessage\"\n :class=\"styles.menu__errorMessage\">\n {{ errorMessage }}\n </p>\n </div>\n <button\n v-if=\"props.addable\"\n :class=\"styles.menu__addButton\"\n @click=\"addItem\">\n {{ addButtonText }}\n </button>\n </div>\n <ul :class=\"styles.menu__itemContainer\">\n <li\n v-for=\"(item, index) in filteredItems\"\n :key=\"`${item.value}-${index}`\"\n :class=\"[\n styles.menu__item, {\n [styles['menu__item--active']]: selectedItem && item.value === selectedItem.value,\n },\n ]\"\n @click=\"selectItem(item)\">\n {{ item.text }}\n </li>\n </ul>\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport type { IconNames } from '@/types/generated/svgIconName';\n\nexport interface IconProps {\n name: IconNames;\n size?: 16 | 24;\n color?: string;\n}\n\nconst props = withDefaults(defineProps<IconProps>(), {\n size: 16,\n});\n\nconst iconSize = computed(() => (typeof props.size === 'number' ? `${props.size}px` : props.size));\n</script>\n\n<template>\n <svg\n class=\"icon\"\n :fill=\"color || 'currentColor'\"\n :height=\"iconSize\"\n :width=\"iconSize\">\n <use :xlink:href=\"`#${name}`\" />\n </svg>\n</template>\n\n<style scoped>\n.icon {\n display: inline-block;\n line-height: 0;\n vertical-align: middle;\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport Icon from '@/components/Icon/Icon.vue';\nimport type { IconNames } from '@/types/generated/svgIconName';\nimport styles from './OnPageMessage.module.scss';\n\ninterface OnPageMessageProps {\n variant?: 'default' | 'warning' | 'alert' | 'success';\n text: string;\n}\n\nconst props = withDefaults(defineProps<OnPageMessageProps>(), {\n variant: 'default',\n});\n\nconst IconName = computed<IconNames>(() => {\n switch (props.variant) {\n case 'alert': return 'filled-error-box';\n case 'warning': return 'line-caution-triangle';\n case 'success': return 'line-check-natural';\n\n default: return 'filled-info-circle';\n }\n});\n</script>\n\n<template>\n <div\n :class=\"[\n styles.container,\n styles[`container__${variant}`],\n ]\">\n <Icon\n :name=\"IconName\"\n :size=\"24\" />\n <span :class=\"styles.container__text\">{{ text }}</span>\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport { ref, watch } from 'vue';\nimport { Icon } from '@/index';\nimport type { IconNames } from '@/types/generated/svgIconName';\nimport styles from './SegmentButton.module.scss';\n\nexport interface SegmentType {\n value: string;\n label: string;\n disabled?: boolean;\n icon?: IconNames;\n}\n\nexport interface SegmentButtonProps {\n color: 'primary' | 'secondary' | 'danger' | 'warning' | 'smart';\n size?: 'default' | 'small';\n align?: 'vertical' | 'horizontal';\n disabled?: boolean;\n segments: SegmentType[];\n fill?: boolean;\n modelValue?: string;\n}\n\ninterface SegmentButtonEmits {\n 'update:modelValue': [value: string];\n click: [value: SegmentType['value']];\n}\n\nconst props = withDefaults(defineProps<SegmentButtonProps>(), {\n loadingStatus: false,\n successStatus: false,\n disabled: false,\n size: 'default',\n align: 'horizontal',\n});\n\nconst emit = defineEmits<SegmentButtonEmits>();\nconst selected = ref<string>(props.modelValue || '');\n\nconst setSelect = (segment: SegmentType) => {\n if (props.disabled || segment.disabled) {\n return;\n }\n\n selected.value = segment.value;\n emit('update:modelValue', segment.value);\n emit('click', segment.value);\n};\n\nwatch(() => props.modelValue, newValue => {\n selected.value = newValue || '';\n});\n\nconst filteredSegments = ref<SegmentType[]>([...props.segments]);\n\nwatch(() => props.segments, newSegments => {\n filteredSegments.value = [...newSegments];\n\n if (!newSegments.some(segment => segment.value === selected.value)) {\n selected.value = '';\n emit('update:modelValue', '');\n }\n}, { deep: true });\n</script>\n\n<template>\n <div\n :class=\"[\n styles.segmentGroup,\n styles[`segmentGroup--${align}`],\n { [styles.fill]: fill },\n ]\">\n <button\n v-for=\"(segment, index) in filteredSegments\"\n :key=\"`${segment.value}-${index}`\"\n :class=\"[\n styles.button,\n styles[`button--${color}`],\n styles[`button__size_${size}`],\n styles.fill,\n {\n [styles[`button--selected`]]: segment.value === selected,\n },\n ]\"\n :disabled=\"segment.disabled || props.disabled\"\n @click=\"setSelect(segment)\">\n <Icon\n v-if=\"segment.icon\"\n :name=\"segment.icon\" />\n <span\n v-if=\"segment.label\"\n :class=\"styles.button__label\">\n {{ segment.label }}\n </span>\n </button>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { onMounted, ref } from 'vue';\nimport styles from './TextInput.module.scss';\n\nexport interface Props {\n id: string;\n name: string;\n modelValue?: string;\n label?: string;\n placeholder?: string;\n maxLength?: number;\n maxHeight?: number;\n error?: string;\n multiline?: boolean;\n autoGrow?: boolean;\n counter?: boolean;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n label: '',\n placeholder: '',\n maxLength: undefined,\n maxHeight: undefined,\n error: '',\n multiline: false,\n autoGrow: false,\n modelValue: '',\n});\n\nconst emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']];\n input: [event: Event];\n change: [event: Event];\n paste: [event: ClipboardEvent];\n focus: [event: FocusEvent];\n blur: [event: FocusEvent];\n}>();\n\nconst textareaRef = ref<HTMLTextAreaElement | null>(null);\n\nconst autoGrow = () => {\n if (props.autoGrow && textareaRef.value) {\n textareaRef.value.style.height = '';\n\n const newHeight = Math.min(textareaRef.value.scrollHeight, props.maxHeight || textareaRef.value.scrollHeight);\n\n textareaRef.value.style.height = `${newHeight}px`;\n }\n};\n\nconst handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement | HTMLTextAreaElement;\n\n emit('input', event);\n emit('update:modelValue', target.value);\n\n autoGrow();\n};\n\nonMounted(() => {\n autoGrow();\n});\n</script>\n\n<template>\n <div :class=\"styles.wrapper\">\n <label\n v-if=\"label\"\n :class=\"styles.wrapper__label\"\n :for=\"id\">\n {{ label }}\n </label>\n <template v-if=\"multiline\">\n <textarea\n :id=\"id\"\n ref=\"textareaRef\"\n :class=\"[\n styles.wrapper__field, {\n [styles['wrapper--error']]: error,\n },\n ]\"\n :maxlength=\"maxLength\"\n :name=\"name\"\n :placeholder=\"placeholder\"\n :style=\"maxHeight ? { maxHeight: `${maxHeight}px` } : undefined\"\n :value=\"modelValue\"\n @blur=\"emit('blur', $event)\"\n @change=\"$emit('change', $event)\"\n @focus=\"emit('focus', $event)\"\n @input=\"handleInput\"\n @paste=\"emit('paste', $event)\" />\n </template>\n <template v-else>\n <input\n :id=\"id\"\n type=\"text\"\n :class=\"[\n styles.wrapper__field, {\n [styles['wrapper--error']]: error,\n },\n ]\"\n :maxlength=\"maxLength\"\n :name=\"name\"\n :placeholder=\"placeholder\"\n :value=\"modelValue\"\n @blur=\"emit('blur', $event)\"\n @change=\"$emit('change', $event)\"\n @focus=\"emit('focus', $event)\"\n @input=\"handleInput\"\n @paste=\"emit('paste', $event)\">\n </template>\n\n <div :class=\"styles.wrapper__bottom\">\n <div\n v-if=\"error\"\n :class=\"styles.wrapper__errorMessage\">\n {{ error }}\n </div>\n <div\n v-if=\"counter\"\n :class=\"styles.wrapper__counter\">\n {{ modelValue?.toString().length || 0 }}\n </div>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport styles from './NumberInput.module.scss';\n\nexport interface Props {\n id: string;\n name: string;\n modelValue?: number;\n label?: string;\n placeholder?: string;\n maxLength?: number;\n error?: string;\n errorStatus?: boolean;\n counter?: boolean;\n min?: number;\n max?: number;\n size?: 'default' | 'small';\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n label: '',\n placeholder: '',\n maxLength: undefined,\n min: undefined,\n max: undefined,\n error: '',\n modelValue: undefined,\n size: 'default',\n});\n\nconst emit = defineEmits<{\n 'update:modelValue': [Props['modelValue']];\n input: [event: Event];\n change: [event: Event];\n paste: [event: ClipboardEvent];\n focus: [event: FocusEvent];\n blur: [event: FocusEvent];\n}>();\n\nconst applyMinMax = (value: string): string => {\n if (value === '') {\n return value;\n }\n\n const numericValue = Number(value);\n\n if (typeof props.min === 'number' && numericValue < props.min) {\n return props.min?.toString();\n } else if (typeof props.max === 'number' && numericValue > props.max) {\n return props.max?.toString();\n }\n\n return numericValue.toString();\n};\n\nconst handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement | HTMLTextAreaElement;\n const sanitizedValue = applyMinMax(target.value);\n\n target.value = sanitizedValue;\n\n emit('input', event);\n emit('update:modelValue', Number(sanitizedValue));\n};\n</script>\n\n<template>\n <div :class=\"[styles.wrapper, styles[`wrapper__size_${size}`]]\">\n <label\n v-if=\"label\"\n :class=\"styles.wrapper__label\"\n :for=\"id\">\n {{ label }}\n </label>\n <input\n :id=\"id\"\n type=\"number\"\n :class=\"[\n styles.wrapper__field, {\n [styles['wrapper--error']]: error || errorStatus,\n },\n ]\"\n :max=\"max\"\n :maxlength=\"maxLength\"\n :min=\"min\"\n :name=\"name\"\n :placeholder=\"placeholder\"\n :value=\"modelValue\"\n @blur=\"emit('blur', $event)\"\n @change=\"$emit('change', $event)\"\n @focus=\"emit('focus', $event)\"\n @input=\"handleInput\"\n @paste=\"emit('paste', $event)\">\n\n <div\n v-if=\"counter || error\"\n :class=\"styles.wrapper__bottom\">\n <div\n v-if=\"error\"\n :class=\"styles.wrapper__errorMessage\">\n {{ error }}\n </div>\n <div\n v-if=\"counter\"\n :class=\"styles.wrapper__counter\">\n {{ modelValue?.toString().length || 0 }}\n </div>\n </div>\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport styles from './Toggle.module.scss';\n\ninterface ToggleProps {\n id: string;\n name: string;\n checked?: boolean;\n disabled?: boolean;\n}\n\nconst props = withDefaults(defineProps<ToggleProps>(), {\n checked: false,\n disabled: false,\n});\n\nconst emit = defineEmits<{\n click: [checked: boolean];\n}>();\n\nconst onClick = () => {\n emit('click', !props.checked);\n};\n</script>\n\n<template>\n <fieldset\n :class=\"[\n styles.wrapper,\n {\n [styles.wrapper_checked]: checked,\n [styles.wrapper_disabled]: disabled,\n },\n ]\">\n <input\n :id=\"id\"\n type=\"checkbox\"\n :checked=\"checked\"\n :class=\"styles.wrapper__input\"\n :disabled=\"disabled\"\n :name=\"name\"\n @click=\"onClick\">\n <label\n :class=\"styles.wrapper__label\"\n :for=\"id\" />\n </fieldset>\n</template>\n","export function preventXSS (html = '') {\n if (typeof(html) === 'string') {\n return html.replace(/<\\/style>/gi, '')\n .replace(/<(.*?) on(.*?)=['\"](.*?)>/gi, '')\n .replace(/(<meta |<style|<\\/*script)(.*?)>/gi, '')\n .replace(/(<([^>]+)>)/ig, '')\n .replace(/<(.*?) (href|src)=\"j(.*)a(.*)v(.*)a(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t(.*):(.*?)>/gi, '');\n }\n return html;\n}\n","<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, type StyleValue } from 'vue';\nimport { Box, Icon } from '@/index';\nimport type { IconNames } from '@/types/generated/svgIconName';\nimport { preventXSS } from '@/utils/preventXSS';\nimport styles from './Tooltip.module.scss';\n\ntype TriangleAlignment = 'start' | 'center' | 'end' | 'top';\n\nexport interface TooltipProps {\n id: string;\n text: string;\n staticPosition?: (\n 'top center'\n | 'top left'\n | 'top right'\n | 'bottom center'\n | 'bottom left'\n | 'bottom right'\n | 'right center'\n | 'right top'\n | 'right bottom'\n | 'left center'\n | 'left top'\n | 'left bottom'\n );\n dynamicPosition?: boolean;\n absolutePositionStatus?: boolean;\n offsetX?: number;\n offsetY?: number;\n maxHeight?: number;\n status?: boolean;\n preventXss?: boolean;\n iconName?: IconNames;\n absoluteTriangleAlignment?: TriangleAlignment;\n absoluteTrianglePosition?: 'top' | 'bottom';\n absolutePosition?: StyleValue;\n}\n\nconst props = withDefaults(defineProps<TooltipProps>(), {\n offsetX: 4,\n offsetY: 4,\n staticPosition: 'top center',\n maxHeight: 320,\n status: true,\n iconName: undefined,\n absoluteTriangleAlignment: 'center',\n absoluteTrianglePosition: 'top',\n position: 'bottom',\n align: 'end',\n absolutePositionStatus: false,\n});\n\nconst tooltipIconRef = ref<HTMLElement | null>(null);\nconst dynamicPositionTriangle = ref('center');\nconst dynamicPositionAlignment = ref('bottom');\nconst dynamicPositionTrianglePosition = ref<TriangleAlignment>('center');\nconst dynamicPositionInitialized = ref(false);\nconst animationClass = ref('');\nconst mouseEnterWrapper = ref(false);\nconst mouseEnterIcon = ref(false);\nconst lastEnteredElement = ref('');\nconst displayClass = ref('d-n');\nconst scrollAreaRef = ref<Document | HTMLElement | null>(null);\nconst tooltipRootRef = ref<HTMLElement | null>(null);\nconst tooltipPopupRef = ref<HTMLElement | null>(null);\nconst position = computed(() => props.staticPosition.split(' ')[0]);\nconst alignment = computed(() => props.staticPosition.split(' ')[1]);\nconst topClass = computed(() => (props.iconName ? 'mt-1' : 'mt-0'));\nconst secureText = computed(() => (props.preventXss ? preventXSS(props.text) : props.text));\n\nconst trianglePosition = computed(() => {\n if (props.absolutePositionStatus) {\n return props.absoluteTrianglePosition;\n }\n\n if (props.dynamicPosition && dynamicPositionInitialized.value) {\n return dynamicPositionAlignment.value === 'bottom' ? 'top' : 'bottom';\n }\n\n if (position.value === 'top') {\n return 'bottom';\n }\n\n if (position.value === 'bottom') {\n return 'top';\n }\n\n if (position.value === 'left') {\n return 'right';\n }\n\n if (position.value === 'right') {\n return 'left';\n }\n\n return 'bottom';\n});\n\nconst visibilityClass = computed(() => {\n if (props.absolutePositionStatus) {\n return '';\n }\n\n if (\n (mouseEnterWrapper.value && mouseEnterIcon.value)\n || (lastEnteredElement.value === 'icon' && mouseEnterWrapper.value)\n ) {\n return 'opa-1';\n }\n\n return 'opa-0';\n});\n\nconst triangleAlignment = computed<TriangleAlignment>(() => {\n if (props.absolutePositionStatus) {\n return props.absoluteTriangleAlignment;\n }\n\n if (props.dynamicPosition && dynamicPositionInitialized.value) {\n if (dynamicPositionTriangle.value === 'center') {\n return 'center';\n }\n\n if (dynamicPositionTriangle.value === 'end') {\n return 'end';\n }\n\n if (dynamicPositionTriangle.value === 'start') {\n return 'start';\n }\n\n return dynamicPositionTrianglePosition.value;\n }\n\n if (alignment.value === 'center') {\n return 'center';\n }\n\n if (alignment.value === 'left' || alignment.value === 'top') {\n return 'start';\n }\n\n if (alignment.value === 'right' || alignment.value === 'bottom') {\n return 'end';\n }\n\n return 'center';\n});\n\nconst staticPositionClass = computed(() => {\n if (props.absolutePositionStatus) {\n return '';\n }\n\n if (props.dynamicPosition && dynamicPositionInitialized.value) {\n return styles[`wrapper__box_${dynamicPositionAlignment.value}-${dynamicPositionTriangle.value}`];\n }\n\n return styles[`wrapper__box_${position.value}-${triangleAlignment.value}`];\n});\n\nconst offsetStyle = computed(() => {\n if (props.offsetX === 0 && props.offsetY === 0) {\n return {};\n }\n\n if (props.dynamicPosition) {\n const marginDirection = dynamicPositionAlignment.value === 'bottom' ? 'top' : 'bottom';\n\n return {\n [`margin-${marginDirection}`]: `${props.offsetY}px`,\n };\n }\n\n if (trianglePosition.value === 'top' || trianglePosition.value === 'bottom') {\n return {\n [`margin-${trianglePosition.value}`]: `${props.offsetY}px`,\n };\n }\n\n return { [`margin-${trianglePosition.value}`]: `${props.offsetX}px` };\n});\n\nconst getDynamicPosition = (\n target: HTMLElement | null | undefined,\n parent: HTMLElement | null | undefined,\n nested = false\n) => {\n if (!target || !tooltipRootRef.value) {\n return { left: false, right: false, top: false, bottom: false, center: false };\n }\n\n const customRect = { left: 0, right: 0, top: 0, bottom: 0, width: 0, height: 0 };\n const tooltipElementHeight = tooltipRootRef.value.clientHeight;\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const targetHeight = target.clientHeight;\n const targetWidth = target.clientWidth || 264;\n const parentRectangle = parent?.getBoundingClientRect() || customRect;\n const parentXOffset = nested ? parentRectangle?.right : parentRectangle?.left;\n const parentYOffset = nested ? parentRectangle?.top : parentRectangle?.bottom;\n const hasSpaceOnRight = (\n (parentXOffset + parentRectangle.width) + targetWidth + props.offsetX\n ) < windowWidth;\n const hasSpaceOnLeft = ((parentXOffset + (parentRectangle.width / 2))\n - (targetWidth + props.offsetX)) > 10;\n const hasSpaceOnBottom = (parentYOffset + targetHeight) < (windowHeight - props.offsetY);\n const hasSpaceOnTop = (parentYOffset - (targetHeight + tooltipElementHeight + props.offsetY)) > 0;\n let hasSpaceOnCenter = false;\n\n if (props.iconName) {\n hasSpaceOnCenter = (parentRectangle.right + (targetWidth / 2) < windowWidth)\n && (parentRectangle.left - ((targetWidth + props.offsetX) / 2) >= 10);\n }\n\n return {\n left: hasSpaceOnLeft,\n right: hasSpaceOnRight,\n bottom: hasSpaceOnBottom,\n top: hasSpaceOnTop,\n center: hasSpaceOnCenter,\n };\n};\n\nconst handleDynamicPosition = () => {\n nextTick(() => {\n dynamicPositionInitialized.value = true;\n\n const { bottom, left, right, top, center } = getDynamicPosition(\n tooltipPopupRef.value,\n tooltipPopupRef.value?.parentNode as HTMLElement\n );\n\n if (center) {\n dynamicPositionTriangle.value = 'center';\n dynamicPositionAlignment.value = bottom && !top ? 'bottom' : 'top';\n\n return;\n }\n\n // Means that every direction has an available space\n if (bottom && left && right && top) {\n dynamicPositionTriangle.value = 'center';\n dynamicPositionAlignment.value = 'top';\n\n return;\n }\n\n if (top && !bottom) {\n if (right && left) {\n dynamicPositionTriangle.value = 'center';\n dynamicPositionAlignment.value = 'top';\n\n return;\n }\n\n if (right && !left) {\n dynamicPositionTriangle.value = 'start';\n dynamicPositionAlignment.value = 'top';\n\n return;\n }\n\n if (!right && left) {\n dynamicPositionTriangle.value = 'end';\n dynamicPositionAlignment.value = 'top';\n\n return;\n }\n }\n\n if (bottom && top) {\n if (!right && left) {\n dynamicPositionTriangle.value = 'end';\n dynamicPositionAlignment.value = 'top';\n dynamicPositionTrianglePosition.value = 'end';\n\n return;\n }\n\n if (right && !left) {\n dynamicPositionTriangle.value = 'start';\n dynamicPositionAlignment.value = 'top';\n dynamicPositionTrianglePosition.value = 'start';\n\n return;\n }\n }\n\n if (bottom && !top) {\n if (right && left) {\n dynamicPositionTriangle.value = 'center';\n dynamicPositionAlignment.value = 'bottom';\n dynamicPositionTrianglePosition.value = 'top';\n\n return;\n }\n\n if (!right && left) {\n dynamicPositionTriangle.value = 'end';\n dynamicPositionAlignment.value = 'bottom';\n dynamicPositionTrianglePosition.value = 'top';\n\n return;\n }\n\n if (right && !left) {\n dynamicPositionTriangle.value = 'start';\n dynamicPositionAlignment.value = 'bottom';\n dynamicPositionTrianglePosition.value = 'top';\n }\n }\n });\n};\n\nconst isScrollable = (el: HTMLElement): boolean => {\n const hasScrollableContent = el.scrollHeight > el.clientHeight;\n const overflowYStyle = window.getComputedStyle(el).overflowY;\n const isOverflowScroll = ['auto', 'scroll'].includes(overflowYStyle);\n\n return hasScrollableContent && isOverflowScroll;\n};\n\nconst getScrollableParent = (element: HTMLElement | null): Document | HTMLElement | null => {\n const isComment = element?.nodeType === Node.COMMENT_NODE;\n const isDocument = element?.nodeType === Node.DOCUMENT_NODE;\n\n if (!element || isComment || isDocument) {\n return document;\n }\n\n if (isScrollable(element)) {\n return element;\n }\n\n return getScrollableParent(element);\n};\n\nconst killDynamicPositioning = () => {\n scrollAreaRef.value?.removeEventListener('scroll', handleDynamicPosition);\n window?.removeEventListener('resize', handleDynamicPosition);\n};\n\nconst initDynamicPositioning = () => {\n nextTick(() => {\n scrollAreaRef.value = getScrollableParent(tooltipRootRef.value);\n scrollAreaRef.value?.addEventListener('scroll', handleDynamicPosition);\n window?.addEventListener('resize', handleDynamicPosition);\n });\n};\n\nconst onMouseEnterWrapper = () => {\n lastEnteredElement.value = 'wrapper';\n displayClass.value = 'd-b';\n\n mouseEnterWrapper.value = true;\n};\n\nconst onMouseEnterIcon = () => {\n lastEnteredElement.value = 'icon';\n displayClass.value = 'd-b';\n\n mouseEnterIcon.value = true;\n};\n\nconst onMouseLeaveIcon = () => {\n mouseEnterIcon.value = false;\n};\n\nconst onMouseLeaveWrapper = () => {\n lastEnteredElement.value = '';\n mouseEnterWrapper.value = false;\n mouseEnterIcon.value = false;\n};\n\nconst mouseLeave = () => {\n onMouseLeaveWrapper();\n\n if (props.dynamicPosition) {\n if (dynamicPositionAlignment.value === 'bottom') {\n animationClass.value = 'bottom-leave';\n } else if (dynamicPositionAlignment.value === 'top') {\n animationClass.value = 'top-leave';\n }\n } else if (position.value === 'top') {\n animationClass.value = 'top-leave';\n } else if (position.value === 'bottom') {\n animationClass.value = 'bottom-leave';\n } else if (position.value === 'left') {\n animationClass.value = 'left-leave';\n } else if (position.value === 'right') {\n animationClass.value = 'right-leave';\n }\n\n setTimeout(() => {\n animationClass.value = '';\n displayClass.value = 'd-n';\n }, props.absolutePositionStatus ? 0 : 250);\n};\n\nconst addAnimationClass = () => {\n onMouseEnterWrapper();\n handleDynamicPosition();\n\n if (props.dynamicPosition) {\n if (dynamicPositionAlignment.value === 'bottom') {\n animationClass.value = 'top-entrance';\n } else if (dynamicPositionAlignment.value === 'top') {\n animationClass.value = 'bottom-entrance';\n }\n } else if (position.value === 'top') {\n animationClass.value = 'bottom-entrance';\n } else if (position.value === 'bottom') {\n animationClass.value = 'top-entrance';\n } else if (position.value === 'left') {\n animationClass.value = 'right-entrance';\n } else if (position.value === 'right') {\n animationClass.value = 'left-entrance';\n }\n\n setTimeout(() => {\n animationClass.value = '';\n }, 250);\n};\n\nonMounted(() => {\n if (props.dynamicPosition) {\n initDynamicPositioning();\n }\n});\n\nonBeforeUnmount(() => {\n killDynamicPositioning();\n});\n</script>\n\n<template>\n <div\n :id=\"id\"\n ref=\"tooltipRootRef\"\n :class=\"styles.wrapper\"\n @mouseenter=\"addAnimationClass\"\n @mouseleave=\"mouseLeave\">\n <Icon\n v-if=\"iconName\"\n ref=\"tooltipIconRef\"\n :class=\"styles.wrapper__icon\"\n :name=\"iconName\"\n @mouseenter=\"onMouseEnterIcon\"\n @mouseleave=\"onMouseLeaveIcon\" />\n <div\n v-else\n :class=\"styles.wrapper__icon\"\n @mouseenter=\"onMouseEnterIcon\"\n @mouseleave=\"onMouseEnterIcon\">\n <slot name=\"triggerElement\" />\n </div>\n <div\n v-if=\"status\"\n ref=\"tooltipPopupRef\"\n :class=\"[styles.wrapper__box, staticPositionClass, visibilityClass, displayClass]\"\n :style=\"absolutePosition\">\n <Box\n border-triangle\n :border-triangle-align=\"triangleAlignment\"\n :border-triangle-position=\"trianglePosition\"\n :class=\"[styles['wrapper__box-content'], topClass, animationClass]\"\n :style=\"offsetStyle\">\n <div\n :class=\"styles.wrapper__text\"\n :style=\"{ maxHeight: `${maxHeight}px`, overflowY: 'auto' }\">\n <div v-html=\"secureText\" />\n <slot name=\"contentSlot\" />\n </div>\n </Box>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport styles from './Box.module.scss';\n\nexport interface Props {\n border?: string;\n borderRadius?: string;\n borderTriangle?: boolean;\n borderTriangleAlign?: 'start' | 'center' | 'end';\n borderTrianglePosition?: 'top' | 'right' | 'left' | 'bottom';\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n borderRadius: 'bor-r-1',\n borderTriangle: false,\n borderTriangleAlign: 'center',\n borderTrianglePosition: 'top',\n});\n\nconst emit = defineEmits<{\n click: [];\n}>();\n\nconst trianglePosition = computed(\n () => (props.borderTriangle ? styles[`box_${props.borderTrianglePosition}-${props.borderTriangleAlign}`] : '')\n);\n\nfunction trigger (): void {\n emit('click');\n}\n</script>\n\n<template>\n <div\n :class=\"[styles.box, trianglePosition, border, borderRadius]\"\n @click=\"trigger\">\n <slot />\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport DefaultBox from './DefaultBox.vue';\nimport FlipBox from './FlipBox.vue';\n\nconst boxes = {\n default: DefaultBox,\n flip: FlipBox,\n} as const;\n\nwithDefaults(defineProps<{\n type?: keyof typeof boxes;\n borderTriangle?: boolean;\n borderTriangleAlign?: 'start' | 'center' | 'end' | 'top';\n borderTrianglePosition?: 'top' | 'right' | 'left' | 'bottom';\n boxSpacing?: string;\n}>(), {\n borderTriangle: false,\n boxSpacing: '',\n type: 'default',\n});\n</script>\n\n<template>\n <component\n :is=\"boxes[type]\"\n :border-triangle=\"borderTriangle\"\n :border-triangle-align=\"borderTriangleAlign\"\n :border-triangle-position=\"borderTrianglePosition\"\n :box-spacing=\"boxSpacing\">\n <slot />\n <slot name=\"front\" />\n <slot name=\"reverse\" />\n </component>\n</template>\n"],"names":["props","__props","emit","__emit","onClick","event","leftIcon","computed","clickOutside","el","binding","element","isFuzzyMatch","choiceValue","searchTerm","searchIndex","char","_a","fuzzySearch","choices","key","normalizedSearchTerm","choice","value","a","b","aValue","bValue","vClickOutside","dropdownRef","ref","menuRef","isOpen","selectedItem","searchQuery","errorMessage","menuPosition","filteredItems","reactive","allItems","calculateMenuPosition","top","left","width","viewportHeight","bottom","shouldOpenUp","toggleMenu","resetSettings","closeMenu","selectItem","item","addItem","query","error","newItem","onSearch","results","onFocusSearch","menuStyle","onMounted","defaultItem","selectedValue","watch","newItems","iconSize","IconName","selected","setSelect","segment","newValue","filteredSegments","newSegments","textareaRef","autoGrow","newHeight","handleInput","target","applyMinMax","numericValue","_b","sanitizedValue","preventXSS","html","tooltipIconRef","dynamicPositionTriangle","dynamicPositionAlignment","dynamicPositionTrianglePosition","dynamicPositionInitialized","animationClass","mouseEnterWrapper","mouseEnterIcon","lastEnteredElement","displayClass","scrollAreaRef","tooltipRootRef","tooltipPopupRef","position","alignment","topClass","secureText","trianglePosition","visibilityClass","triangleAlignment","staticPositionClass","styles","offsetStyle","getDynamicPosition","parent","nested","customRect","tooltipElementHeight","windowWidth","windowHeight","targetHeight","targetWidth","parentRectangle","parentXOffset","parentYOffset","hasSpaceOnRight","hasSpaceOnLeft","hasSpaceOnBottom","hasSpaceOnTop","hasSpaceOnCenter","handleDynamicPosition","nextTick","right","center","isScrollable","hasScrollableContent","overflowYStyle","isOverflowScroll","getScrollableParent","isComment","isDocument","killDynamicPositioning","initDynamicPositioning","onMouseEnterWrapper","onMouseEnterIcon","onMouseLeaveIcon","onMouseLeaveWrapper","mouseLeave","addAnimationClass","onBeforeUnmount","trigger","boxes","DefaultBox","FlipBox"],"mappings":"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"}
|