Socket
Socket
Sign inDemoInstall

@fabric-ds/vue

Package Overview
Dependencies
47
Maintainers
6
Versions
25
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.11.2-next.1 to 0.11.2

2

dist/fabric-vue.js

@@ -1,2 +0,2 @@

import{modelProps as e,createModel as t}from"create-v-model";import{openBlock as l,createElementBlock as a,Fragment as n,withDirectives as o,createElementVNode as i,mergeProps as s,vModelDynamic as r,normalizeClass as d,renderSlot as u,computed as c,resolveComponent as p,createBlock as f,withCtx as v,resolveDynamicComponent as m,createVNode as b,toRefs as g,inject as h,ref as y,watch as w,reactive as x,provide as k,onBeforeUnmount as C,createTextVNode as B,toDisplayString as _,createCommentVNode as $,onMounted as S,watchEffect as L,normalizeProps as V,guardReactiveProps as E,vModelSelect as M,vModelText as A,renderList as T,h as D,toRef as I,TransitionGroup as F,Transition as O,nextTick as z,withModifiers as j,normalizeStyle as q,vModelCheckbox as U,vShow as R}from"vue";import{suffix as H,prefix as K,box as W,card as N,expandable as P,modal as G,slider as X,step as J,switchToggle as Q,tabs as Y,tab as Z}from"@fabric-ds/component-classes";import{expand as ee,collapse as te}from"element-collapse";import le from"@finn-no/dom-focus-lock-fixed";import{setup as ae,teardown as ne}from"scroll-doctor";import oe from"femtobounce";import{computePosition as ie,flip as se,offset as re,shift as de,arrow as ue}from"@floating-ui/dom";const ce={default:()=>"f-"+Date.now().toString(36).slice(5,8)+"-"+Math.random().toString(36).slice(2,8)},pe=Symbol(),fe=e=>t=>e.forEach((e=>{if(!e.name)throw`Missing name property for ${e}`;t.component(e.name)||t.component(e.name,e)}));var ve={name:"fToggleItem",props:{id:ce,label:String,labelClass:null,...e()},setup:(e,{emit:l})=>({model:t({props:e,emit:l})})};const me=["id"],be=["for","innerHTML"],ge=["for"];ve.render=function(e,t,c,p,f,v){return l(),a(n,null,[o(i("input",s({id:c.id,"onUpdate:modelValue":t[0]||(t[0]=t=>e.model=t)},e.$attrs),null,16,me),[[r,e.model]]),c.label?(l(),a("label",{key:0,for:c.id,innerHTML:c.label,class:d(c.labelClass)},null,10,be)):(l(),a("label",{key:1,for:c.id,class:d(c.labelClass)},[u(e.$slots,"default")],10,ge))],64)},ve.__file="components/generic/f-toggle-item.vue";var he={name:"fClickable",components:{fToggleItem:ve},props:{href:String,label:Boolean,radio:Boolean,checkbox:Boolean},setup:e=>({clickableClasses:"absolute inset-0 h-full w-full appearance-none cursor-pointer",labelClasses:"px-12 py-8 field-label cursor-pointer",type:c((()=>e.radio?"radio":"checkbox"))})};he.render=function(e,t,a,n,o,r){const c=p("f-toggle-item");return a.radio||a.checkbox?(l(),f(c,s({key:0,class:["focus-ring focus-ring-inset",e.clickableClasses],type:e.type,"label-class":{[e.labelClasses]:a.label}},e.$attrs),{default:v((()=>[u(e.$slots,"default")])),_:3},16,["class","type","label-class"])):(l(),f(m(a.href?"a":"button"),{key:1,class:d(["focus-ring focus-ring-inset",{[e.labelClasses]:a.label}]),href:a.href,type:a.href?void 0:e.$attrs.type||"button"},{default:v((()=>[i("span",{class:d(e.clickableClasses),"aria-hidden":"true"},null,2),u(e.$slots,"default")])),_:3},8,["class","href","type"]))},he.__file="components/generic/f-clickable.vue";var ye={name:"fDeadToggle",components:{fToggleItem:ve},props:{radio:Boolean,checkbox:Boolean},setup:e=>({type:c((()=>e.radio?"radio":"checkbox"))})};const we={class:"input-toggle h-20 w-20 pointer-events-none","aria-hidden":"true"};ye.render=function(e,t,n,o,i,r){const d=p("f-toggle-item");return l(),a("div",we,[b(d,s({class:"hidden","label-class":"-mt-2",type:e.type},e.$attrs),null,16,["type"])])},ye.__file="components/generic/f-dead-toggle.vue";const xe={valid:!0},ke={valid:!1,hint:"Må fylles ut"};function Ce(e){return null==e?ke:("string"!=typeof e||e.trim())&&("number"!=typeof e||!Number.isNaN(e))||ke}const Be=()=>h("validation:collector"),_e=()=>{const e=y([]),t=y(!1),l=c((()=>e.value.every((e=>e.valid)))),a=c((()=>e.value.filter((e=>e.required)).every((e=>e.valid))));w(t,(()=>e.value.forEach((e=>e.shouldValidate=t.value))));const n=x({registerValidation:l=>{l.shouldValidate.value=t.value,e.value.push(l)},unregisterValidation:t=>{const l=e.value.indexOf(t);-1!==l&&e.value.splice(l,1)},validationElements:e,childrenShouldValidate:t,allChildrenValid:l,valid:l,completed:a,validate:()=>t.value=!0});return k("validation:collector",n),g(n)},$e=e=>{const t=y(!1),l=c((()=>{const t="function"==typeof e.required?e.required:Ce;return e.required?[t].concat(e.rules||[]):e.rules||[]})),a=c((()=>{if(!l.value.length)return xe;let t;return l.value.some((l=>(t=l(e.modelValue),"object"==typeof t)))?t:xe})),n=c((()=>a.value.valid)),o=c((()=>a.value.hint)),i=c((()=>t.value||!!a.value.always)),s=c((()=>i.value&&!a.value.valid)),r=h("validation:collector",null);if(r){const e={shouldValidate:t,valid:n};r.registerValidation(e),C((()=>r.unregisterValidation(e)))}return{triggerValidation:()=>{t.value=!0},shouldValidate:t,validation:a,valid:n,validationMsg:o,showValidation:i,hasErrorMessage:s,collector:r}},Se={id:ce,label:String,role:String,invalid:Boolean,hint:String,optional:Boolean,labelLevel:Number,rules:{type:Array,default:()=>[]},...e()},Le=(e,t)=>e?t:void 0;var Ve={name:"fField",inheritAttrs:!1,props:{...Se,as:{type:String,default:"div"},required:[Boolean,Function],disabled:Boolean},setup(e,{slots:t}){const{triggerValidation:l,valid:a,validationMsg:n,hasErrorMessage:o,collector:i}=$e(e),s=c((()=>"fieldset"===e.as)),r=c((()=>s.value?"legend":"label")),d=c((()=>s.value?void 0:e.id)),u=c((()=>(e.label||t.label)&&e.id+":label")),p=c((()=>e.id+":hint")),f=c((()=>Le(o.value,e.id+":error"))),v=c((()=>({"aria-labelledby":u.value,"aria-describedby":Le(e.hint,p.value),"aria-errormessage":f.value,"aria-invalid":!a.value||e.invalid||void 0,"aria-required":e.required&&!0}))),m=c((()=>Le(s.value,v.value)));return{triggerValidation:l,validationMsg:n,hasErrorMessage:o,labelType:r,labelFor:d,labelId:u,hintId:p,errorId:f,aria:v,wrapperAria:m,collector:i,valueOrUndefined:Le}}};const Ee={key:0,class:"pl-8 font-normal text-14 text-gray-500"},Me={class:"field-hint"},Ae=["id","innerHTML"],Te={key:1},De=["id"];Ve.render=function(e,t,n,o,r,d){return l(),f(m(n.as),s({class:["field",{"is-invalid":o.hasErrorMessage,"is-disabled":n.disabled,[e.$attrs.class||""]:!0}],role:e.role},o.wrapperAria),{default:v((()=>[e.label?(l(),f(m(o.labelType),{key:0,class:"field-label",id:o.labelId,for:o.labelFor,role:o.valueOrUndefined(e.labelLevel,"heading"),"aria-level":o.valueOrUndefined(e.labelLevel,e.labelLevel)},{default:v((()=>[B(_(e.label),1),e.optional?(l(),a("span",Ee," (valgfritt)")):$("v-if",!0)])),_:1},8,["id","for","role","aria-level"])):$("v-if",!0),u(e.$slots,"default",{triggerValidation:o.triggerValidation,labelFor:e.id,labelId:o.labelId,aria:o.aria}),u(e.$slots,"control",{form:o.collector}),i("div",Me,[e.hint?(l(),a("span",{key:0,id:o.hintId,innerHTML:e.hint},null,8,Ae)):$("v-if",!0),e.hint&&o.hasErrorMessage?(l(),a("span",Te,", ")):$("v-if",!0),o.hasErrorMessage?(l(),a("span",{key:2,id:o.errorId},_(o.validationMsg),9,De)):$("v-if",!0)])])),_:3},16,["class","role"])},Ve.__file="components/forms/f-field.vue";var Ie={name:"fInput",components:{fField:Ve},inheritAttrs:!1,props:{...Se,type:{type:String,default:"text"},inputWrapperClass:String,autocomplete:{type:String,default:"off"},mask:Object},setup(e,{emit:l}){const a=t({props:e,emit:l}),n=y(null);return e.mask&&(({props:e,emit:t,inputEl:l})=>{const a=h("Cleave",null);if(!a)throw"Cleave not provided from Vue app, cannot set up mask";let n=null;S((()=>{n=new a(l.value,Object.assign({},e.mask,{onValueChanged:e=>t("update:modelValue",e.target.rawValue)})),L((()=>{e.modelValue!==n.getRawValue()&&n.setRawValue(e.modelValue)}))})),C((()=>{n.destroy(),n=null}))})({props:e,emit:l,inputEl:n}),{model:a,inputEl:n}}};const Fe=["onBlur","autocomplete","id","type"],Oe=["onBlur","autocomplete","id","type"];Ie.render=function(e,t,n,c,m,b){const g=p("f-field");return l(),f(g,s({...e.$attrs,...e.$props},{class:{"has-suffix":e.$slots.suffix,"has-prefix":e.$slots.prefix}}),{default:v((({triggerValidation:p,aria:f})=>[i("div",{class:d(["input",n.inputWrapperClass])},[u(e.$slots,"prefix",{inputElement:c.inputEl}),n.mask?(l(),a("input",s({key:0},{...f,...e.$attrs,class:""},{onBlur:p,ref:"inputEl",autocomplete:n.autocomplete,id:e.id,type:n.type}),null,16,Fe)):o((l(),a("input",s({key:1},{...f,...e.$attrs,class:""},{onBlur:p,ref:"inputEl",autocomplete:n.autocomplete,id:e.id,type:n.type,"onUpdate:modelValue":t[0]||(t[0]=e=>c.model=e)}),null,16,Oe)),[[r,c.model]]),u(e.$slots,"suffix",{inputElement:c.inputEl})],2)])),_:3},16,["class"])},Ie.__file="components/forms/f-input.vue";var ze={name:"fSelect",components:{fField:Ve},inheritAttrs:!1,props:Se,setup:(e,{emit:l})=>({model:t({props:e,emit:l})})};const je={class:"input mb-0"},qe={class:"input--select__wrap"},Ue=["id","onBlur"];ze.render=function(e,t,a,n,r,d){const c=p("f-field");return l(),f(c,V(E({...e.$attrs,...e.$props})),{default:v((({triggerValidation:l})=>[i("div",je,[i("div",qe,[o(i("select",s({...e.$attrs,class:""},{"onUpdate:modelValue":t[0]||(t[0]=t=>e.model=t),id:e.id,onBlur:l}),[u(e.$slots,"default")],16,Ue),[[M,e.model]])])])])),_:3},16)},ze.__file="components/forms/f-select.vue";var Re={name:"fTextarea",components:{fField:Ve},inheritAttrs:!1,props:Se,setup:(e,{emit:l})=>({model:t({props:e,emit:l})})};const He={class:"input input--textarea mb-0"},Ke=["id","onBlur"];Re.render=function(e,t,a,n,r,d){const u=p("f-field");return l(),f(u,V(E({...e.$attrs,...e.$props})),{default:v((({triggerValidation:l})=>[i("div",He,[o(i("textarea",s({...e.$attrs,class:""},{"onUpdate:modelValue":t[0]||(t[0]=t=>e.model=t),id:e.id,onBlur:l}),null,16,Ke),[[A,e.model]])])])),_:1},16)},Re.__file="components/forms/f-textarea.vue";const We=e=>"value"in e&&"label"in e;var Ne={name:"fToggle",components:{fField:Ve,fToggleItem:ve},inheritAttrs:!1,props:{...Se,radio:Boolean,checkbox:Boolean,radioButton:Boolean,equalWidth:Boolean,small:Boolean,disabled:Boolean,toggles:{type:Array,required:!0,validator:e=>e.every(We)}},setup:(e,{emit:l})=>({model:t({props:e,emit:l}),type:c((()=>e.radio||e.radioButton?"radio":"checkbox")),role:c((()=>e.toggles.length>1?e.radio||e.radioButton?"radiogroup":"group":void 0)),wrapperClasses:c((()=>({"input-toggle--is-disabled":e.disabled&&!e.radioButton,"segment-control":e.radioButton,"segment-control--justified":e.equalWidth,"segment-control--small":e.small,"segment-control--is-disabled":e.disabled&&e.radioButton,"input-toggle":e.radio||e.checkbox}))),optionsClasses:c((()=>({"flex flex-row segment-control-options":e.radioButton})))})};Ne.render=function(e,t,o,r,u,c){const m=p("f-toggle-item"),b=p("f-field");return l(),f(b,s({as:"fieldset"},{...e.$attrs,...e.$props},{role:e.role}),{default:v((({triggerValidation:r})=>[i("div",{class:d(e.wrapperClasses)},[(l(!0),a(n,null,T(o.toggles,((a,n)=>(l(),f(m,s({modelValue:e.model,"onUpdate:modelValue":t[0]||(t[0]=t=>e.model=t),type:e.type,disabled:o.disabled,name:e.id+":toggles",key:e.id+n+e.type},a,{onBlur:r}),null,16,["modelValue","type","disabled","name","onBlur"])))),128))],2)])),_:1},16,["role"])},Ne.__file="components/forms/f-toggle.vue";var Pe={name:"fForm",props:{as:{default:"form"},shouldValidate:{type:null,default:pe},...e({modelDefault:pe}),...e({modelName:"completed",modelDefault:pe})},setup(e,{emit:t}){const{allChildrenValid:l,completed:a,childrenShouldValidate:n}=_e();e.modelValue!==pe&&L((()=>t("update:modelValue",l.value))),e.completed!==pe&&L((()=>t("update:completed",a.value))),e.shouldValidate!==pe&&L((()=>n.value=e.shouldValidate))}};Pe.render=function(e,t,a,n,o,i){return l(),f(m(a.as),null,{default:v((()=>[u(e.$slots,"default")])),_:3})},Pe.__file="components/forms/f-form.vue";var Ge={name:"fSuffix",props:{clear:Boolean,search:Boolean,label:String},setup:()=>({c:H})};const Xe={key:0,xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"none",viewBox:"0 0 16 16"},Je=[i("path",{fill:"currentColor","fill-rule":"evenodd",d:"M4.03 2.97a.75.75 0 00-1.06 1.06L6.94 8l-3.97 3.97a.75.75 0 101.06 1.06L8 9.06l3.97 3.97a.75.75 0 101.06-1.06L9.06 8l3.97-3.97a.75.75 0 00-1.06-1.06L8 6.94 4.03 2.97z","clip-rule":"evenodd"},null,-1)],Qe={key:1,xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"none",viewBox:"0 0 16 16"},Ye=[i("g",{stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5","clip-path":"url(#nra-cclip0)"},[i("path",{d:"M8.796 11.803A5.684 5.684 0 104.349 1.341a5.684 5.684 0 004.447 10.462zM11 11l4 4"})],-1),i("defs",null,[i("clipPath",{id:"nra-cclip0"},[i("path",{fill:"currentColor",d:"M0 0h16v16H0z"})])],-1)];Ge.render=function(e,t,n,o,i,s){return l(),f(m(n.label?"div":"button"),{class:d({[e.c.wrapper]:!0,[n.label?e.c.wrapperWithIcon:e.c.wrapperWithLabel]:!0})},{default:v((()=>[n.clear?(l(),a("svg",Xe,Je)):n.search?(l(),a("svg",Qe,Ye)):n.label?(l(),a("span",{key:2,class:d(e.c.label)},_(n.label),3)):$("v-if",!0)])),_:1},8,["class"])},Ge.__file="components/forms/f-suffix.vue";var Ze={name:"fAffix",props:{prefix:Boolean,suffix:Boolean,clear:Boolean,search:Boolean,label:String},setup(e){const t=c((()=>e.prefix?K:H));return{wrapperClass:c((()=>({[t.value.wrapper]:!0,[e.label?t.value.wrapperWithLabel:t.value.wrapperWithIcon]:!0}))),labelClass:c((()=>t.value.label))}}};const et={key:0,xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"none",viewBox:"0 0 16 16"},tt=[i("path",{fill:"currentColor","fill-rule":"evenodd",d:"M4.03 2.97a.75.75 0 00-1.06 1.06L6.94 8l-3.97 3.97a.75.75 0 101.06 1.06L8 9.06l3.97 3.97a.75.75 0 101.06-1.06L9.06 8l3.97-3.97a.75.75 0 00-1.06-1.06L8 6.94 4.03 2.97z","clip-rule":"evenodd"},null,-1)],lt={key:1,xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"none",viewBox:"0 0 16 16"},at=[i("g",{stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5","clip-path":"url(#nra-cclip0)"},[i("path",{d:"M8.796 11.803A5.684 5.684 0 104.349 1.341a5.684 5.684 0 004.447 10.462zM11 11l4 4"})],-1),i("defs",null,[i("clipPath",{id:"nra-cclip0"},[i("path",{fill:"currentColor",d:"M0 0h16v16H0z"})])],-1)];Ze.render=function(e,t,n,o,i,s){return l(),f(m(n.label?"div":"button"),{class:d(o.wrapperClass)},{default:v((()=>[n.clear?(l(),a("svg",et,tt)):n.search?(l(),a("svg",lt,at)):n.label?(l(),a("span",{key:2,class:d(o.labelClass)},_(n.label),3)):$("v-if",!0)])),_:1},8,["class"])},Ze.__file="components/forms/f-affix.vue";const nt={install:fe([Ve,Ie,ze,Re,Ne,Pe,Ge,Ze])};var ot={name:"fBox",props:{bleed:Boolean,as:{type:String,default:"div"},clickable:Boolean,info:Boolean,neutral:Boolean,bordered:Boolean},setup:e=>({boxClasses:c((()=>({[W.box]:!0,[W.bleed]:e.bleed,"bg-aqua-50":e.info,"hover:bg-aqua-100 active:bg-aqua-200":e.info&&e.clickable,"bg-bluegray-100":e.neutral,"hover:bg-bluegray-200 active:bg-bluegray-300":e.neutral&&e.clickable,"border-2 border-bluegray-300":e.bordered})))})};ot.render=function(e,t,a,n,o,i){return l(),f(m(a.as),{class:d(e.boxClasses)},{default:v((()=>[u(e.$slots,"default")])),_:3},8,["class"])},ot.__file="components/box/f-box.vue";const it={install:fe([ot,he])},st=D("span",{ariaHidden:!0,class:"select-none"},"/");var rt={name:"fBreadcrumbs",components:{Breadcrumbify:(e,t)=>((e,t)=>{const l=e[0].type===n?e[0].children:e;return[].concat(...l.map((e=>[e,t]))).slice(0,-1)})(t.slots.default(),st)},props:{ariaLabel:{type:String,default:"Her er du"}}};const dt=["aria-label"],ut={class:"sr-only"},ct={class:"flex space-x-8"};rt.render=function(e,t,n,o,s,r){const d=p("breadcrumbify");return l(),a("nav",{"aria-label":n.ariaLabel},[i("h2",ut,_(n.ariaLabel),1),i("div",ct,[b(d,null,{default:v((()=>[u(e.$slots,"default")])),_:3})])],8,dt)},rt.__file="components/breadcrumbs/f-breadcrumbs.vue";const pt={install:fe([rt])};var ft={name:"fButton",props:{primary:Boolean,secondary:Boolean,negative:Boolean,utility:Boolean,quiet:Boolean,small:Boolean,link:Boolean,pill:Boolean,loading:Boolean,href:String,label:String},setup:(e,{attrs:t})=>({buttonClass:c((()=>({button:!0,"button--primary":e.primary&&!e.negative,"button--destructive":e.primary&&e.negative,"button--flat":(e.secondary||!e.negative&&!e.utility)&&e.quiet,"button--destructive-flat":e.negative&&e.quiet,"button--utility-flat":e.utility&&e.quiet,"button--small":e.small,"button--utility":e.utility&&!e.quiet,"button--link":e.link,"button--pill":e.pill,"button--in-progress":e.loading}))),saneDefaults:c((()=>({type:e.href?void 0:t.type||"button",rel:"_blank"===t.target?t.rel||"noopener":void 0})))})};const vt={key:0,role:"progressbar","aria-valuenow":"0","aria-valuetext":"Laster...",class:"sr-only"};ft.render=function(e,t,n,o,i,r){return l(),f(m(n.href?"a":"button"),s({href:n.href,class:e.buttonClass},e.saneDefaults),{default:v((()=>[u(e.$slots,"default",{},(()=>[B(_(n.label),1)])),n.loading?(l(),a("span",vt)):$("v-if",!0)])),_:3},16,["href","class"])},ft.__file="components/button/f-button.vue";const mt={install:fe([ft])};var bt={name:"fButtonGroup",props:{outlined:Boolean,raised:Boolean,vertical:Boolean},setup(e){k("outlined",I(e,"outlined")),k("raised",I(e,"raised")),k("quiet",I(e,"quiet"));return{classes:c((()=>({"border border-gray-300":e.outlined,"filter drop-shadow-10":e.raised,[e.vertical?"divide-y":"divide-x"]:!0,"flex-col":e.vertical})))}}};bt.render=function(e,t,n,o,i,s){return l(),a("div",{class:d(["f-button-group inline-flex rounded-4 divide-gray-300 overflow-hidden",o.classes])},[u(e.$slots,"default")],2)},bt.__file="components/button-group/f-button-group.vue";var gt={name:"fButtonGroupItem",props:{selected:Boolean},setup(e){const t=h("outlined",!1);h("raised",!1),h("quiet",!1);return{wrapperClass:c((()=>({"relative last-child:mb-0 hover:bg-gray-50 active:bg-gray-100":!0,[t.value?"border-gray-300":"border-transparent"]:!0,[e.selected?"bg-gray-200":"bg-white"]:!0,"bg-gray-200 hover:bg-gray-300 active:bg-gray-400":e.selected})))}}};gt.render=function(e,t,n,o,i,s){return l(),a("div",{class:d(o.wrapperClass)},[u(e.$slots,"default")],2)},gt.__file="components/button-group/f-button-group-item.vue";const ht={install:fe([he,bt,gt])};var yt={name:"fCard",props:{as:{type:String,default:"div"},selected:Boolean,flat:Boolean},setup:e=>({outerClasses:c((()=>({[N.card]:!0,[N.cardShadow]:!e.flat,[N.cardSelected]:e.selected,[N.cardFlat]:e.flat,[e.selected?N.cardFlatSelected:N.cardFlatUnselected]:e.flat}))),innerClasses:c((()=>({[N.cardOutline]:!0,[e.selected?N.cardOutlineSelected:N.cardOutlineUnselected]:!0})))})};yt.render=function(e,t,n,o,i,s){return l(),f(m(n.as),{class:d(e.outerClasses)},{default:v((()=>[n.flat?$("v-if",!0):(l(),a("div",{key:0,class:d(e.innerClasses)},null,2)),u(e.$slots,"default")])),_:3},8,["class"])},yt.__file="components/card/f-card.vue";const wt={install:fe([he,yt])};var xt={name:"fExpandTransition",props:{group:Boolean,tag:String},setup(e,{emit:t,slots:l}){const a=e.group?F:O,n=()=>t("expand"),o=()=>t("collapse");return()=>D(a,{css:!1,onEnter:ee,onAfterEnter:n,onLeave:te,onAfterLeave:o,tag:e.tag},l)}},kt={name:"fExpandable",props:{title:String,box:Boolean,bleed:Boolean,info:Boolean,buttonClass:String,contentClass:String,chevron:{type:Boolean,default:!0},as:{type:String,default:"div"},animated:Boolean,...e({modelDefault:pe})},emits:["expand","collapse"],setup:(e,{emit:l,slots:a})=>{const n=e.modelValue===pe?y(!1):t({props:e,emit:l}),o=e.animated?xt:"div";e.animated||w(n,(async e=>{await z(),l(e?"expand":"collapse")}));const i=c((()=>e.title||a.title)),s=c((()=>({[P.expandable]:!0,[P.expandableInfo]:e.info,[P.expandableBox]:e.box,[P.expandableBleed]:e.bleed}))),r=c((()=>({[e.buttonClass||""]:!0,[P.button]:!0,[P.buttonBox]:e.box,[P.buttonInfo]:e.info}))),d=c((()=>({[P.chevron]:!0,[e.box?P.chevronBox:P.chevronNonBox]:!0,[P.chevronExpanded]:n.value}))),u=c((()=>({[e.contentClass||""]:!0,[W.box+(i.value?" pt-0":"")]:e.box})));return{expanded:n,contentComponent:o,buttonClasses:r,chevronClasses:d,contentClasses:u,wrapperClasses:s,hasTitle:i}}};const Ct=["aria-expanded"],Bt={key:0,class:"h4"},_t=[i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"none",viewBox:"0 0 16 16"},[i("path",{stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M2.5 5.5L8 11l5.5-5.5"})],-1)],$t={key:0};kt.render=function(e,t,n,o,s,r){return l(),f(m(n.as),{class:d(e.wrapperClasses)},{default:v((()=>[e.hasTitle?(l(),a("button",{key:0,type:"button","aria-expanded":e.expanded,class:d(e.buttonClasses),onClick:t[0]||(t[0]=t=>e.expanded=!e.expanded)},[u(e.$slots,"title",{expanded:e.expanded}),n.title?(l(),a("span",Bt,_(n.title),1)):$("v-if",!0),n.chevron?(l(),a("div",{key:1,class:d(e.chevronClasses)},_t,2)):$("v-if",!0)],10,Ct)):$("v-if",!0),(l(),f(m(e.contentComponent),{onExpand:t[1]||(t[1]=t=>e.$emit("expand")),onCollapse:t[2]||(t[2]=t=>e.$emit("collapse"))},{default:v((()=>[e.expanded?(l(),a("div",$t,[i("div",{class:d(e.contentClasses)},[u(e.$slots,"default")],2)])):$("v-if",!0)])),_:3}))])),_:3},8,["class"])},kt.__file="components/expandable/f-expandable.vue";var St={name:"fWillExpand",props:{key:ce}};St.render=function(e,t,n,o,i,s){return l(),a("div",{key:n.key},[u(e.$slots,"default")])},St.__file="components/expandable/f-will-expand.vue";const Lt={install:fe([kt,xt,St])},Vt="transition-gpu transition-transform",Et="undefined"!=typeof window;var Mt={name:"fModal",props:{left:[Object,Boolean],right:[Object,Boolean],title:String,titleAttrs:Object,headerClasses:[String,Object],contentClasses:[String,Object],modelValue:Boolean,contentId:ce},emits:["dismiss","left","right","shown","hidden"],setup(e,{emit:t}){const l=y(null),a=y(null),n=y(null),o=y(!1),i=y(!1),s=y(!1),r=()=>t("dismiss"),d=e=>{"Escape"===e.key&&r()},u=c((()=>({[Vt]:!0,[s.value?"duration-300":"duration-1"]:!0,[G.titleButton]:!0,[G.titleButtonLeft]:!0,"justify-self-start":!0}))),p=c((()=>({[Vt]:!0,[s.value?"duration-300":"duration-0"]:!0,"justify-self-center":e.left,"col-span-2":!e.left}))),f=c((()=>({[Vt]:!0,[s.value?"duration-300":"duration-0"]:!0,[G.titleButton]:!0,[G.titleButtonRight]:!0,"justify-self-end":!0})));w((()=>[e.left,e.right,e.title]),(async()=>{s.value=!0,await z(),s.value=!1}));const v=()=>{1.02*l.value?.scrollHeight>innerHeight?l.value.style.borderRadius="0px":l.value.style.borderRadius=null};async function m(e){Et&&(e||await async function(){l.value&&(le.off(l.value),l.value.removeEventListener("transitionend",v,{passive:!0})),removeEventListener("keydown",d),ne(),t("hidden")}(),await async function(e){e?o.value=e:i.value=e,await z(),e?i.value=e:o.value=e,await z()}(e),e&&await async function(){le.on(l.value),l.value.addEventListener("transitionend",v,{passive:!0}),addEventListener("keydown",d,{passive:!0}),ae(a.value),t("shown")}())}return w((()=>e.modelValue),m,{immediate:!0}),C(m),{c:G,modalEl:l,backdropEl:n,emitDismiss:r,contentEl:a,showModal:o,showContent:i,titleLeftClasses:u,titleCenterClasses:p,titleRightClasses:f}}};const At=[i("path",{fill:"currentColor","fill-rule":"nonzero",d:"M8 2.25a.75.75 0 01.743.648L8.75 3v8.189l3.72-3.72a.75.75 0 011.133.977l-.073.084-5 5a.747.747 0 01-.374.204l-.104.014h-.104a.747.747 0 01-.478-.218l-5-5a.75.75 0 01.976-1.133l.084.073 3.72 3.719V3A.75.75 0 018 2.25z"},null,-1)],Tt=[i("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2.5",d:"M12 12l6 6-6-6-6 6 6-6zm0 0L6 6l6 6 6-6-6 6z"},null,-1)],Dt=["id"];Mt.render=function(e,t,n,o,r,c){return l(),f(O,{name:"fade"},{default:v((()=>[o.showModal?(l(),a("div",{key:0,class:d(o.c.backdrop),onClick:t[2]||(t[2]=j(((...e)=>o.emitDismiss&&o.emitDismiss(...e)),["self"])),ref:"backdropEl"},[b(O,{name:"slide"},{default:v((()=>[o.showContent?(l(),a("div",{key:0,class:d(o.c.modal),tabindex:"-1","aria-modal":"true","aria-labelledby":"f-modal-title",role:"dialog",ref:"modalEl"},[i("div",{class:d([o.c.title,n.headerClasses])},[b(F,{name:"f-modal-title"},{default:v((()=>[n.left?(l(),a("button",s({key:0,"aria-label":"Tilbake",onClick:t[0]||(t[0]=t=>e.$emit("left")),class:o.titleLeftClasses,key:"left"},n.left),[u(e.$slots,"left",{},(()=>[(l(),a("svg",{"aria-hidden":"true",class:d([o.c.titleButtonIcon,"transform rotate-90"]),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16"},At,2))]))],16)):$("v-if",!0),i("div",s({class:o.titleCenterClasses,key:"title"},n.titleAttrs),[n.title?(l(),a("p",{key:0,id:"f-modal-title",class:d(o.c.titleText)},_(n.title),3)):$("v-if",!0),u(e.$slots,"title")],16),n.right?(l(),a("button",s({key:1,"aria-label":"Lukk",onClick:t[1]||(t[1]=t=>e.$emit("right")),class:o.titleRightClasses,key:"right"},n.right),[u(e.$slots,"right",{},(()=>[(l(),a("svg",{"aria-hidden":"true",class:d(o.c.titleButtonIcon),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Tt,2))]))],16)):$("v-if",!0)])),_:3})],2),e.$slots.default?(l(),a("div",{key:0,class:d([o.c.content,n.contentClasses]),ref:"contentEl",id:n.contentId},[u(e.$slots,"default")],10,Dt)):$("v-if",!0),e.$slots.footer?(l(),a("div",{key:1,class:d(o.c.footer)},[u(e.$slots,"footer")],2)):$("v-if",!0)],2)):$("v-if",!0)])),_:3})],2)):$("v-if",!0)])),_:3})},Mt.__file="components/modal/f-modal.vue";const It={install:fe([Mt])},Ft={pill:"inline-flex items-center py-8 focus-ring text-12 transition-all",pillSuggestion:"bg-gray-200 hover:bg-gray-300 active:bg-gray-400 text-gray-700 font-bold",pillFilter:"bg-blue-600 hover:bg-blue-700 active:bg-blue-800 text-white",label:"pl-12 rounded-l-full",labelSuggestion:"",labelFilter:"",labelWithoutClose:"pr-12 rounded-r-full",labelWithClose:"pr-2",close:"pr-12 pl-4 py-10 rounded-r-full"};var Ot={name:"fPill",inheritAttrs:!1,props:{label:String,canClose:Boolean,suggestion:Boolean},setup:(e,{emit:t})=>({c:Ft})};const zt={class:"flex items-center"},jt=i("span",{class:"sr-only"},"Åpne filter ",-1),qt={class:"sr-only"},Ut=i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",fill:"none",viewBox:"0 0 16 16","aria-hidden":"true"},[i("path",{fill:"currentColor",d:"M4.03 2.97a.75.75 0 00-1.06 1.06L6.94 8l-3.97 3.97a.75.75 0 101.06 1.06L8 9.06l3.97 3.97a.75.75 0 101.06-1.06L9.06 8l3.97-3.97a.75.75 0 00-1.06-1.06L8 6.94 4.03 2.97z"})],-1);Ot.render=function(e,t,n,o,r,u){return l(),a("div",zt,[i("button",s({type:"button",class:{[e.c.pill]:!0,[n.suggestion?e.c.pillSuggestion:e.c.pillFilter]:!0,[e.c.label]:!0,[n.canClose?e.c.labelWithClose:e.c.labelWithoutClose]:!0}},e.$attrs),[jt,i("span",null,_(n.label),1)],16),n.canClose?(l(),a("button",{key:0,type:"button",class:d({[e.c.pill]:!0,[n.suggestion?e.c.pillSuggestion:e.c.pillFilter]:!0,[e.c.close]:!0}),onClick:t[0]||(t[0]=t=>e.$emit("close"))},[i("span",qt,"Fjern filter "+_(n.label),1),Ut],2)):$("v-if",!0)])},Ot.__file="components/pill/f-pill.vue";const Rt={install:fe([Ot])},Ht=Object.freeze({up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",end:"End",home:"Home",pageup:"PageUp",pagedown:"PageDown"}),Kt=Object.values(Ht),Wt={passive:!0};const Nt=(e,{min:t,max:l})=>{return a=e,Number.isFinite(parseFloat(a))?Math.min(Math.max(e,t),l):t;var a},Pt=({props:e,emit:t,step:l,position:a,v:n,sliderPressed:o,thumb:i,dimensions:s})=>{const r=t=>Nt(t,{max:e.max,min:e.min});function d(){o.value=!1,window.removeEventListener("touchmove",u,Wt),window.removeEventListener("mousemove",u,Wt)}function u(t){const{value:l}=function(t){const{left:l,width:a}=s.value,n="touches"in t?t.touches[0].clientX:t.clientX;let o=Math.min(Math.max((n-l-16)/a,0),1)||0;return{value:e.min+o*(e.max-e.min)}}(t),n=function(e,t=2){const l=t?Math.pow(10,t):1;return Math.round(e*l)/l}(l);i.value.focus(),a.value!==n&&(a.value=n)}return{handleKeyDown:function(t){const o=t.key;if(Kt.includes(o))if(t.preventDefault(),[Ht.left,Ht.right,Ht.up,Ht.down].includes(o)){const e=[Ht.right,Ht.up].includes(o)?1:-1;a.value=r(n.value+e*l.value)}else if(o===Ht.home)a.value=e.min;else if(o===Ht.end)a.value=e.max;else{const t=o===Ht.pageup?1:-1,i=2,s=50;a.value=r(n.value+t*l.value*Math.max(i,Math.min(s,Math.ceil((e.max-e.min)/10/l.value))))}},handleFocus:function(e){t("focus",e)},handleBlur:function(e){t("blur",e)},handleMouseDown:function(e){o.value=!0,"touches"in e?(window.addEventListener("touchmove",u,Wt),window.addEventListener("touchend",d,{once:!0})):(window.addEventListener("mousemove",u,Wt),window.addEventListener("mouseup",d,{once:!0})),e.stopPropagation(),e.preventDefault()},handleMouseUp:d,handleClick:function(e){u(e)}}};var Gt={name:"fSlider",props:{min:{type:Number,default:0},max:{type:Number,default:100},step:Number,label:String,labelledBy:String,disabled:Boolean,...e()},setup(e,{emit:l,attrs:a}){const n=y(null),o=y(null),{dimensions:i}=(e=>{let t;const l=y({}),a=e=>{const{left:t,width:a}=e[0].target.getBoundingClientRect();l.value={left:t,width:a-24}};return S((()=>{l.value=e.value.getBoundingClientRect(),t=new ResizeObserver(a),t.observe(e.value)})),C((()=>{t.disconnect()})),{dimensions:l}})(n),s=y(!1),r=t({props:e,emit:l}),d=y(r.value),u=c((()=>e.step||1));w(d,(()=>{if(d.value===e.modelValue)return;const t=e.step?(e=>{const t=1/u.value;return Math.floor(e*t)/t})(d.value):d.value;r.value!==t&&(r.value=t)})),w((()=>e.modelValue),(()=>{s.value||d.value===e.modelValue||(d.value=e.modelValue)}));const p=c((()=>(d.value-e.min)/(e.max-e.min)*100)),f=c((()=>p.value/100*i.value.width))||0,v=c((()=>({transform:"translateX("+f.value+"px)"}))),m=c((()=>({left:0,right:100-p.value+"%"}))),b=c((()=>({"aria-label":e.label,"aria-labelledby":e.labelledBy,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":r.value,"aria-valuetext":a["aria-valuetext"]}))),{handleKeyDown:g,handleFocus:h,handleBlur:x,handleMouseDown:k,handleMouseUp:B,handleClick:_}=Pt({props:e,emit:l,step:u,position:d,v:r,sliderPressed:s,thumb:o,dimensions:i});return{c:X,aria:b,sliderLine:n,thumb:o,sliderActiveStyle:m,thumbStyles:v,handleClick:_,handleBlur:x,handleFocus:h,handleKeyDown:g,handleMouseDown:k,v:r}}};Gt.render=function(e,t,n,o,r,u){return l(),a("div",{class:d(o.c.wrapper)},[i("div",{class:d({[o.c.trackDisabled]:n.disabled,[o.c.track]:!0}),ref:"sliderLine",onClick:t[0]||(t[0]=(...e)=>o.handleClick&&o.handleClick(...e))},null,2),i("div",{class:d({[o.c.activeTrackDisabled]:n.disabled,[o.c.activeTrack]:!0}),style:q(o.sliderActiveStyle),onClick:t[1]||(t[1]=(...e)=>o.handleClick&&o.handleClick(...e))},null,6),i("div",s({class:{[o.c.thumbDisabled]:n.disabled,[o.c.thumbEnabled]:!n.disabled,[o.c.thumb]:!0},ref:"thumb",role:"slider",tabindex:"0"},o.aria,{style:o.thumbStyles,onMousedown:t[2]||(t[2]=(...e)=>o.handleMouseDown&&o.handleMouseDown(...e)),onTouchstart:t[3]||(t[3]=(...e)=>o.handleMouseDown&&o.handleMouseDown(...e)),onBlur:t[4]||(t[4]=(...e)=>o.handleBlur&&o.handleBlur(...e)),onFocus:t[5]||(t[5]=(...e)=>o.handleFocus&&o.handleFocus(...e)),onKeydown:t[6]||(t[6]=(...e)=>o.handleKeyDown&&o.handleKeyDown(...e))}),null,16)],2)},Gt.__file="components/slider/f-slider.vue";const Xt={install:fe([Gt])};var Jt={name:"fStep",props:{active:Boolean,complete:Boolean},setup:()=>({vertical:h("steps-vertical",!0),left:h("steps-left",!0),c:J})};const Qt=["aria-current"],Yt=["aria-label"],Zt=[i("path",{fill:"white","fill-rule":"evenodd",d:"M13.007 4.447a.75.75 0 01.046 1.06l-5.5 6a.75.75 0 01-1.083.023l-3-3a.75.75 0 011.06-1.06l2.446 2.446 4.971-5.423a.75.75 0 011.06-.046z","clip-rule":"evenodd"},null,-1)];Jt.render=function(e,t,n,o,s,r){return l(),a("div",{class:d(["f-step",{[e.c.stepVertical]:e.vertical,[e.c.stepVerticalLeft]:e.vertical&&e.left,[e.c.stepVerticalRight]:e.vertical&&!e.left,[e.c.stepHorizontal]:!e.vertical}])},[e.vertical?$("v-if",!0):(l(),a("div",{key:0,class:d(["step-line-h-l",{[e.c.stepLine]:!0,[e.c.stepLineHorizontal]:!e.vertical,[e.c.stepLineIncomplete]:!n.active&&!n.complete,[e.c.stepLineComplete]:n.active||n.complete}])},null,2)),i("div",{"aria-current":n.active?"step":void 0,class:d({[e.c.stepDot]:!0,[e.c.stepDotVertical]:e.vertical,[e.c.stepDotVerticalLeft]:e.vertical&&e.left,[e.c.stepDotVerticalRight]:e.vertical&&!e.left,[e.c.stepDotHorizontal]:!e.vertical,[e.c.stepDotIncomplete]:!(n.active||n.complete),[e.c.stepDotActive]:n.active,[e.c.stepDotComplete]:n.complete})},[(l(),a("svg",{role:"img","aria-label":n.complete?"✓":"⍻",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16"},Zt,8,Yt))],10,Qt),i("div",{class:d(["step-line-h-r",{[e.c.stepLine]:!0,[e.c.stepLineVertical]:e.vertical,[e.c.stepLineVerticalLeft]:e.vertical&&e.left,[e.c.stepLineVerticalRight]:e.vertical&&!e.left,[e.c.stepLineHorizontal]:!e.vertical,[e.c.stepLineIncomplete]:!n.complete,[e.c.stepLineComplete]:n.complete}])},null,2),i("div",{class:d({[e.c.content]:!0,[e.c.contentVertical]:e.vertical,[e.c.contentHorizontal]:!e.vertical})},[u(e.$slots,"default")],2)],2)},Jt.__file="components/steps/f-step.vue";var el={name:"fSteps",props:{horizontal:Boolean,right:Boolean},setup(e){const t=y(!e.horizontal),l=y(!e.right);k("steps-vertical",t),k("steps-left",l),L((()=>t.value=!e.horizontal)),L((()=>l.value=!e.right))}};el.render=function(e,t,n,o,i,s){return l(),a("div",{class:d(["w-full",{flex:n.horizontal}])},[u(e.$slots,"default")],2)},el.__file="components/steps/f-steps.vue";const tl={install:fe([Jt,el])};var ll={name:"fSwitch",props:{id:ce,disabled:Boolean,...e()},setup(e){const l=t({props:e}),a=y(null);return{model:l,c:Q,inputEl:a,simulateClick:()=>a.value.click()}}};const al={class:"tap-highlight-transparent"},nl=["id","disabled"];ll.render=function(e,t,n,s,r,u){return l(),a("div",al,[o(i("input",{type:"checkbox",class:"sr-only",id:n.id,"onUpdate:modelValue":t[0]||(t[0]=e=>s.model=e),disabled:n.disabled,ref:"inputEl"},null,8,nl),[[U,s.model]]),i("div",{onClick:t[1]||(t[1]=(...e)=>s.simulateClick&&s.simulateClick(...e)),class:d({[s.c.label]:!0,[s.c.labelDisabled]:n.disabled})},[i("div",{class:d({[s.c.switchTrack]:!0,[s.c.switchTrackSelected]:s.model&&!n.disabled,[s.c.switchTrackUnselected]:!s.model&&!n.disabled,[s.c.switchTrackDisabled]:n.disabled})},null,2),i("div",{class:d({[s.c.switchThumb]:!0,[s.c.switchThumbSelected]:s.model,[n.disabled?s.c.switchThumbDisabled:s.c.switchThumbNotDisabled]:!0})},null,2)],2)])},ll.__file="components/switch/f-switch.vue";const ol={install:fe([ll])},il=Object.freeze({left:"ArrowLeft",right:"ArrowRight",home:"Home",end:"End"}),sl=Object.values(il),rl=({tabs:e,activeTab:t,focusActive:l})=>async a=>{var n;if(!(e=>e.altKey||e.ctrlKey||e.shiftKey)(n=a)&&sl.includes(n.key))try{const n=e.value.indexOf(t.value),o=(()=>{switch(a.key){case il.home:return 0;case il.end:return e.value.length-1;case il.left:return Math.max(0,n-1);case il.right:return Math.min(e.value.length-1,n+1)}})();n!==o&&(a.preventDefault(),t.value=e.value[o],await z(),l())}catch(e){console.warn("Problem handling tabs keydown",e)}};var dl={name:"fTabs",props:{contained:Boolean,...e()},setup(e,{slots:l}){const a=t({props:e}),o=y(null),i=y(null),s=y([]),r=c((()=>s.value.length)),d=c((()=>{return(e=l.default(),e[0].type===n?e[0].children:e).length;var e})),u=(e=>()=>e.value.querySelector(".active-tab"))(o);k("tab-controller",{registerTab:e=>s.value.push(e),unregisterTab:e=>{const t=s.value.indexOf(e);-1!==t&&s.value.splice(t,1)},onKeydown:rl({tabs:s,activeTab:a,focusActive:()=>u()?.focus()})}),k("activeTab",a),k("contained",I(e,"contained"));const p=async()=>{if(!e.contained){await z();try{const e=u(),{left:t}=o.value.getBoundingClientRect(),{left:l,width:a}=e.getBoundingClientRect();i.value.style.left=l-t+"px",i.value.style.width=a+"px"}catch(e){console.warn("Problem updating tabs",e)}}};return S((()=>{w(a,p,{immediate:!0}),w((()=>e.contained),p);new ResizeObserver(oe(p,100)).observe(o.value)})),{c:Y,tabContainer:o,wunderbar:i,numberOfTabs:r,slotFallback:d}}};dl.render=function(e,t,n,o,s,r){return l(),a("nav",{class:d({[n.contained?o.c.wrapperContained:o.c.wrapperUnderlined]:!0})},[i("div",{class:d({[o.c.tabContainer]:!0,[`grid-cols-${o.numberOfTabs||o.slotFallback}`]:!0}),ref:"tabContainer",role:"tablist"},[u(e.$slots,"default"),n.contained?$("v-if",!0):(l(),a("span",{key:0,class:d(o.c.wunderbar),ref:"wunderbar"},null,2))],2)],2)},dl.__file="components/tabs/f-tabs.vue";var ul={name:"fTab",props:{label:String,name:{type:String,required:!0}},setup(e){const t=h("tab-controller"),l=h("activeTab"),a=h("contained"),n=c((()=>e.name===l.value));t.registerTab(e.name),C((()=>{t?.unregisterTab?.(e.name)}));const o=c((()=>({[Z.contentUnderlined]:!a.value,[n.value?Z.contentUnderlinedActive:Z.contentUnderlinedInactive]:!a.value,[Z.contentContainedActive]:a.value&&n.value}))),i=c((()=>({[Z.icon]:!0,[Z.iconUnderlined]:!a.value,[n.value?Z.iconUnderlinedActive:Z.iconUnderlinedInactive]:!a.value}))),s=c((()=>({[Z.tab]:!0,[Z.tabActive]:n.value,[Z.tabContained]:a.value,[Z.tabContainedActive]:a.value&&n.value})));return{isActive:n,setActive:()=>l.value=e.name,contentClasses:o,iconClasses:i,tabClasses:s,onKeydown:t.onKeydown}}};const cl=["id","aria-selected","aria-controls","tabindex"];ul.render=function(e,t,n,o,s,r){return l(),a("button",{class:d(o.tabClasses),onClick:t[0]||(t[0]=(...e)=>o.setActive&&o.setActive(...e)),role:"tab",id:`fabric-tab-${n.name}`,"aria-selected":o.isActive,"aria-controls":o.isActive?`fabric-tabpanel-${n.name}`:void 0,tabindex:o.isActive?0:-1,onKeydown:t[1]||(t[1]=(...e)=>o.onKeydown&&o.onKeydown(...e))},[e.$slots.default?(l(),a("span",{key:0,class:d(o.iconClasses)},[u(e.$slots,"default")],2)):$("v-if",!0),i("span",{class:d(o.contentClasses)},[B(_(n.label)+" ",1),u(e.$slots,"label")],2)],42,cl)},ul.__file="components/tabs/f-tab.vue";var pl={name:"fTabPanel",props:{name:{type:String,required:!0}}};const fl=["id","aria-labelledby"];pl.render=function(e,t,n,o,i,s){return l(),a("div",{tabindex:"-1",role:"tabpanel",id:`fabric-tabpanel-${n.name}`,"aria-labelledby":`fabric-tab-${n.name}`},[u(e.$slots,"default")],8,fl)},pl.__file="components/tabs/f-tab-panel.vue";const vl={install:fe([dl,ul,pl])},ml="top",bl="bottom",gl={[ml]:bl,[bl]:ml,left:"right",right:"left"},hl=[ml,bl,"left","right"],yl={left:-45,[ml]:45,right:135,[bl]:-135},wl={tooltip:Boolean,popover:Boolean,callout:Boolean,noArrow:Boolean,...hl.reduce(((e,t)=>(e[t]=Boolean,e)),{})},xl=({actualDirection:e,directionName:t,arrowEl:l})=>{e.value=t.value;const a=(n=t.value,[ml,bl].includes(n));var n;l.value.$el.style.left=a?"calc(50% - 7px)":null,l.value.$el.style.top=a?null:"calc(50% - 7px)"};var kl={name:"fAttentionArrow",inheritAttrs:!1,props:{...wl,direction:String},setup:e=>{const t=c((()=>gl[e.direction]));return{arrowClass:c((()=>({"absolute h-14 w-14 border-2 border-b-0 border-r-0 transform":!0,[`-${t.value}-8`]:!0,"bg-gray-700 border-gray-700":e.tooltip,"bg-green-100 border-green-400":e.callout,"bg-white border-white":e.popover}))),arrowStyle:c((()=>({borderTopLeftRadius:"4px",[`margin-${t.value}`]:"-0.5px",transform:`rotate(${yl[t.value]}deg)`})))}}};kl.render=function(e,t,n,o,i,s){return l(),a("div",{class:d(e.arrowClass),style:q(e.arrowStyle)},null,6)},kl.__file="components/attention/f-attention-arrow.vue";var Cl={name:"fAttentionItem",props:{...wl,...e({modelDefault:pe}),targetEl:Object,attentionClass:[Object,String],attentionEl:{default:()=>y(null)}},components:{fAttentionArrow:kl},setup:(e,{emit:l})=>{const a=c((()=>hl.find((t=>e[t])))),n=c((()=>({"border-2 relative":!0,"bg-gray-700 border-gray-700 text-white rounded-4 py-6 px-8":e.tooltip,"bg-green-100 border-green-400 py-8 px-16 rounded-8":e.callout,"bg-white border-white rounded-8 p-16 filter drop-shadow-20":e.popover}))),o=e.modelValue===pe?y(!0):t({props:e,emit:l}),i=y(null),s=y(a.value),r=async()=>{if(!o.value)return;if(await z(),e.callout)return xl({directionName:a,arrowEl:i,actualDirection:s});const t=await ie(e.targetEl,e.attentionEl.value,{placement:a.value,middleware:[se(),re(8),de({padding:16}),ue({element:e.noArrow?void 0:i.value.$el})]});s.value=t.placement,Object.assign(e.attentionEl.value.style,{left:"0",top:"0",transform:`translate3d(${Math.round(t.x)}px, ${Math.round(t.y)}px, 0)`});let{x:l,y:n}=t.middlewareData.arrow;i.value.$el.style.left=l?l+"px":null,i.value.$el.style.top=n?n+"px":null};return S((async()=>{w((()=>[e.top,e.bottom,e.left,e.right]),r),w(o,r,{immediate:e.callout})})),{wrapperClass:n,attentionRef:e.attentionEl,arrowEl:i,actualDirection:s,model:o}}};const Bl={class:"last-child:mb-0"};Cl.render=function(e,t,n,r,c,v){const m=p("f-attention-arrow");return o((l(),a("div",{class:d([{"absolute z-50":!e.callout},n.attentionClass]),ref:"attentionRef"},[i("div",{class:d(e.wrapperClass)},[e.noArrow?$("v-if",!0):(l(),f(m,s({key:0},e.$props,{ref:"arrowEl",direction:e.actualDirection}),null,16,["direction"])),i("div",Bl,[u(e.$slots,"default")])],2)],2)),[[R,e.model]])},Cl.__file="components/attention/f-attention.vue";const _l={install:e=>e.component(Cl.name,Cl)};export{_l as Attention,it as Box,pt as Breadcrumbs,mt as Button,ht as ButtonGroup,wt as Card,Lt as Expandable,nt as Forms,It as Modal,Rt as Pill,Xt as Slider,tl as Steps,ol as Switch,vl as Tabs,pe as absentProp,$e as createValidation,_e as createValidationCollector,ke as defaultInvalid,Ce as defaultRequiredRule,xe as defaultValid,Ze as fAffix,Cl as fAttention,ot as fBox,rt as fBreadcrumbs,ft as fButton,bt as fButtonGroup,gt as fButtonGroupItem,yt as fCard,he as fClickable,ye as fDeadToggle,xt as fExpandTransition,kt as fExpandable,Ve as fField,Pe as fForm,Ie as fInput,Mt as fModal,Ot as fPill,ze as fSelect,Gt as fSlider,Jt as fStep,el as fSteps,Ge as fSuffix,ll as fSwitch,ul as fTab,pl as fTabPanel,dl as fTabs,Re as fTextarea,Ne as fToggle,ve as fToggleItem,St as fWillExpand,ce as id,fe as installer,Be as useForm};
import{modelProps as e,createModel as t}from"create-v-model";import{openBlock as l,createElementBlock as a,Fragment as n,withDirectives as o,createElementVNode as i,mergeProps as s,vModelDynamic as r,normalizeClass as d,renderSlot as u,computed as c,resolveComponent as p,createBlock as f,withCtx as v,resolveDynamicComponent as m,createVNode as b,toRefs as g,inject as h,ref as y,watch as w,reactive as x,provide as k,onBeforeUnmount as C,createTextVNode as B,toDisplayString as _,createCommentVNode as $,onMounted as S,watchEffect as L,normalizeProps as V,guardReactiveProps as E,vModelSelect as M,vModelText as A,renderList as T,h as D,toRef as I,TransitionGroup as F,Transition as O,nextTick as z,withModifiers as j,normalizeStyle as q,vModelCheckbox as U,vShow as R}from"vue";import{suffix as H,prefix as K,box as W,card as N,expandable as P,modal as G,slider as X,step as J,switchToggle as Q,tabs as Y,tab as Z}from"@fabric-ds/component-classes";import{expand as ee,collapse as te}from"element-collapse";import le from"@finn-no/dom-focus-lock-fixed";import{setup as ae,teardown as ne}from"scroll-doctor";import oe from"femtobounce";import{computePosition as ie,flip as se,offset as re,shift as de,arrow as ue}from"@floating-ui/dom";const ce={default:()=>"f-"+Date.now().toString(36).slice(5,8)+"-"+Math.random().toString(36).slice(2,8)},pe=Symbol(),fe=e=>t=>e.forEach((e=>{if(!e.name)throw`Missing name property for ${e}`;t.component(e.name)||t.component(e.name,e)}));var ve={name:"fToggleItem",props:{id:ce,label:String,labelClass:null,...e()},setup:(e,{emit:l})=>({model:t({props:e,emit:l})})};const me=["id"],be=["for","innerHTML"],ge=["for"];ve.render=function(e,t,c,p,f,v){return l(),a(n,null,[o(i("input",s({id:c.id,"onUpdate:modelValue":t[0]||(t[0]=t=>e.model=t)},e.$attrs),null,16,me),[[r,e.model]]),c.label?(l(),a("label",{key:0,for:c.id,innerHTML:c.label,class:d(c.labelClass)},null,10,be)):(l(),a("label",{key:1,for:c.id,class:d(c.labelClass)},[u(e.$slots,"default")],10,ge))],64)},ve.__file="components/generic/f-toggle-item.vue";var he={name:"fClickable",components:{fToggleItem:ve},props:{href:String,label:Boolean,radio:Boolean,checkbox:Boolean},setup:e=>({clickableClasses:"absolute inset-0 h-full w-full appearance-none cursor-pointer",labelClasses:"px-12 py-8 field-label cursor-pointer",type:c((()=>e.radio?"radio":"checkbox"))})};he.render=function(e,t,a,n,o,r){const c=p("f-toggle-item");return a.radio||a.checkbox?(l(),f(c,s({key:0,class:["focus-ring focus-ring-inset",e.clickableClasses],type:e.type,"label-class":{[e.labelClasses]:a.label}},e.$attrs),{default:v((()=>[u(e.$slots,"default")])),_:3},16,["class","type","label-class"])):(l(),f(m(a.href?"a":"button"),{key:1,class:d(["focus-ring focus-ring-inset",{[e.labelClasses]:a.label}]),href:a.href,type:a.href?void 0:e.$attrs.type||"button"},{default:v((()=>[i("span",{class:d(e.clickableClasses),"aria-hidden":"true"},null,2),u(e.$slots,"default")])),_:3},8,["class","href","type"]))},he.__file="components/generic/f-clickable.vue";var ye={name:"fDeadToggle",components:{fToggleItem:ve},props:{radio:Boolean,checkbox:Boolean},setup:e=>({type:c((()=>e.radio?"radio":"checkbox"))})};const we={class:"input-toggle h-20 w-20 pointer-events-none","aria-hidden":"true"};ye.render=function(e,t,n,o,i,r){const d=p("f-toggle-item");return l(),a("div",we,[b(d,s({class:"hidden","label-class":"-mt-2",type:e.type},e.$attrs),null,16,["type"])])},ye.__file="components/generic/f-dead-toggle.vue";const xe={valid:!0},ke={valid:!1,hint:"Må fylles ut"};function Ce(e){return null==e?ke:("string"!=typeof e||e.trim())&&("number"!=typeof e||!Number.isNaN(e))||ke}const Be=()=>h("validation:collector"),_e=()=>{const e=y([]),t=y(!1),l=c((()=>e.value.every((e=>e.valid)))),a=c((()=>e.value.filter((e=>e.required)).every((e=>e.valid))));w(t,(()=>e.value.forEach((e=>e.shouldValidate=t.value))));const n=x({registerValidation:l=>{l.shouldValidate.value=t.value,e.value.push(l)},unregisterValidation:t=>{const l=e.value.indexOf(t);-1!==l&&e.value.splice(l,1)},validationElements:e,childrenShouldValidate:t,allChildrenValid:l,valid:l,completed:a,validate:()=>t.value=!0});return k("validation:collector",n),g(n)},$e=e=>{const t=y(!1),l=c((()=>{const t="function"==typeof e.required?e.required:Ce;return e.required?[t].concat(e.rules||[]):e.rules||[]})),a=c((()=>{if(!l.value.length)return xe;let t;return l.value.some((l=>(t=l(e.modelValue),"object"==typeof t)))?t:xe})),n=c((()=>a.value.valid)),o=c((()=>a.value.hint)),i=c((()=>t.value||!!a.value.always)),s=c((()=>i.value&&!a.value.valid)),r=h("validation:collector",null);if(r){const e={shouldValidate:t,valid:n};r.registerValidation(e),C((()=>r.unregisterValidation(e)))}return{triggerValidation:()=>{t.value=!0},shouldValidate:t,validation:a,valid:n,validationMsg:o,showValidation:i,hasErrorMessage:s,collector:r}},Se={id:ce,label:String,role:String,invalid:Boolean,hint:String,optional:Boolean,labelLevel:Number,rules:{type:Array,default:()=>[]},...e()},Le=(e,t)=>e?t:void 0;var Ve={name:"fField",inheritAttrs:!1,props:{...Se,as:{type:String,default:"div"},required:[Boolean,Function],disabled:Boolean},setup(e,{slots:t}){const{triggerValidation:l,valid:a,validationMsg:n,hasErrorMessage:o,collector:i}=$e(e),s=c((()=>"fieldset"===e.as)),r=c((()=>s.value?"legend":"label")),d=c((()=>s.value?void 0:e.id)),u=c((()=>(e.label||t.label)&&e.id+":label")),p=c((()=>e.id+":hint")),f=c((()=>Le(o.value,e.id+":error"))),v=c((()=>({"aria-labelledby":u.value,"aria-describedby":Le(e.hint,p.value),"aria-errormessage":f.value,"aria-invalid":!a.value||e.invalid||void 0,"aria-required":e.required&&!0}))),m=c((()=>Le(s.value,v.value)));return{triggerValidation:l,validationMsg:n,hasErrorMessage:o,labelType:r,labelFor:d,labelId:u,hintId:p,errorId:f,aria:v,wrapperAria:m,collector:i,valueOrUndefined:Le}}};const Ee={key:0,class:"pl-8 font-normal text-14 text-gray-500"},Me={key:1,class:"field-hint"},Ae=["id","innerHTML"],Te={key:1},De=["id"];Ve.render=function(e,t,n,o,i,r){return l(),f(m(n.as),s({class:["field",{"is-invalid":o.hasErrorMessage,"is-disabled":n.disabled,[e.$attrs.class||""]:!0}],role:e.role},o.wrapperAria),{default:v((()=>[e.label?(l(),f(m(o.labelType),{key:0,class:"field-label",id:o.labelId,for:o.labelFor,role:o.valueOrUndefined(e.labelLevel,"heading"),"aria-level":o.valueOrUndefined(e.labelLevel,e.labelLevel)},{default:v((()=>[B(_(e.label),1),e.optional?(l(),a("span",Ee," (valgfritt)")):$("v-if",!0)])),_:1},8,["id","for","role","aria-level"])):$("v-if",!0),u(e.$slots,"default",{triggerValidation:o.triggerValidation,labelFor:e.id,labelId:o.labelId,aria:o.aria}),u(e.$slots,"control",{form:o.collector}),e.hint||o.hasErrorMessage?(l(),a("div",Me,[e.hint?(l(),a("span",{key:0,id:o.hintId,innerHTML:e.hint},null,8,Ae)):$("v-if",!0),e.hint&&o.hasErrorMessage?(l(),a("span",Te,", ")):$("v-if",!0),o.hasErrorMessage?(l(),a("span",{key:2,id:o.errorId},_(o.validationMsg),9,De)):$("v-if",!0)])):$("v-if",!0)])),_:3},16,["class","role"])},Ve.__file="components/forms/f-field.vue";var Ie={name:"fInput",components:{fField:Ve},inheritAttrs:!1,props:{...Se,type:{type:String,default:"text"},inputWrapperClass:String,autocomplete:{type:String,default:"off"},mask:Object},setup(e,{emit:l}){const a=t({props:e,emit:l}),n=y(null);return e.mask&&(({props:e,emit:t,inputEl:l})=>{const a=h("Cleave",null);if(!a)throw"Cleave not provided from Vue app, cannot set up mask";let n=null;S((()=>{n=new a(l.value,Object.assign({},e.mask,{onValueChanged:e=>t("update:modelValue",e.target.rawValue)})),L((()=>{e.modelValue!==n.getRawValue()&&n.setRawValue(e.modelValue)}))})),C((()=>{n.destroy(),n=null}))})({props:e,emit:l,inputEl:n}),{model:a,inputEl:n}}};const Fe=["onBlur","autocomplete","id","type"],Oe=["onBlur","autocomplete","id","type"];Ie.render=function(e,t,n,c,m,b){const g=p("f-field");return l(),f(g,s({...e.$attrs,...e.$props},{class:{"has-suffix":e.$slots.suffix,"has-prefix":e.$slots.prefix}}),{default:v((({triggerValidation:p,aria:f})=>[i("div",{class:d(["input",n.inputWrapperClass])},[u(e.$slots,"prefix",{inputElement:c.inputEl}),n.mask?(l(),a("input",s({key:0},{...f,...e.$attrs,class:""},{onBlur:p,ref:"inputEl",autocomplete:n.autocomplete,id:e.id,type:n.type}),null,16,Fe)):o((l(),a("input",s({key:1},{...f,...e.$attrs,class:""},{onBlur:p,ref:"inputEl",autocomplete:n.autocomplete,id:e.id,type:n.type,"onUpdate:modelValue":t[0]||(t[0]=e=>c.model=e)}),null,16,Oe)),[[r,c.model]]),u(e.$slots,"suffix",{inputElement:c.inputEl})],2)])),_:3},16,["class"])},Ie.__file="components/forms/f-input.vue";var ze={name:"fSelect",components:{fField:Ve},inheritAttrs:!1,props:Se,setup:(e,{emit:l})=>({model:t({props:e,emit:l})})};const je={class:"input mb-0"},qe={class:"input--select__wrap"},Ue=["id","onBlur"];ze.render=function(e,t,a,n,r,d){const c=p("f-field");return l(),f(c,V(E({...e.$attrs,...e.$props})),{default:v((({triggerValidation:l})=>[i("div",je,[i("div",qe,[o(i("select",s({...e.$attrs,class:""},{"onUpdate:modelValue":t[0]||(t[0]=t=>e.model=t),id:e.id,onBlur:l}),[u(e.$slots,"default")],16,Ue),[[M,e.model]])])])])),_:3},16)},ze.__file="components/forms/f-select.vue";var Re={name:"fTextarea",components:{fField:Ve},inheritAttrs:!1,props:Se,setup:(e,{emit:l})=>({model:t({props:e,emit:l})})};const He={class:"input input--textarea mb-0"},Ke=["id","onBlur"];Re.render=function(e,t,a,n,r,d){const u=p("f-field");return l(),f(u,V(E({...e.$attrs,...e.$props})),{default:v((({triggerValidation:l})=>[i("div",He,[o(i("textarea",s({...e.$attrs,class:""},{"onUpdate:modelValue":t[0]||(t[0]=t=>e.model=t),id:e.id,onBlur:l}),null,16,Ke),[[A,e.model]])])])),_:1},16)},Re.__file="components/forms/f-textarea.vue";const We=e=>"value"in e&&"label"in e;var Ne={name:"fToggle",components:{fField:Ve,fToggleItem:ve},inheritAttrs:!1,props:{...Se,radio:Boolean,checkbox:Boolean,radioButton:Boolean,equalWidth:Boolean,small:Boolean,disabled:Boolean,toggles:{type:Array,required:!0,validator:e=>e.every(We)}},setup:(e,{emit:l})=>({model:t({props:e,emit:l}),type:c((()=>e.radio||e.radioButton?"radio":"checkbox")),role:c((()=>e.toggles.length>1?e.radio||e.radioButton?"radiogroup":"group":void 0)),wrapperClasses:c((()=>({"input-toggle--is-disabled":e.disabled&&!e.radioButton,"segment-control":e.radioButton,"segment-control--justified":e.equalWidth,"segment-control--small":e.small,"segment-control--is-disabled":e.disabled&&e.radioButton,"input-toggle":e.radio||e.checkbox}))),optionsClasses:c((()=>({"flex flex-row segment-control-options":e.radioButton})))})};Ne.render=function(e,t,o,r,u,c){const m=p("f-toggle-item"),b=p("f-field");return l(),f(b,s({as:"fieldset"},{...e.$attrs,...e.$props},{role:e.role}),{default:v((({triggerValidation:r})=>[i("div",{class:d(e.wrapperClasses)},[(l(!0),a(n,null,T(o.toggles,((a,n)=>(l(),f(m,s({modelValue:e.model,"onUpdate:modelValue":t[0]||(t[0]=t=>e.model=t),type:e.type,disabled:o.disabled,name:e.id+":toggles",key:e.id+n+e.type},a,{onBlur:r}),null,16,["modelValue","type","disabled","name","onBlur"])))),128))],2)])),_:1},16,["role"])},Ne.__file="components/forms/f-toggle.vue";var Pe={name:"fForm",props:{as:{default:"form"},shouldValidate:{type:null,default:pe},...e({modelDefault:pe}),...e({modelName:"completed",modelDefault:pe})},setup(e,{emit:t}){const{allChildrenValid:l,completed:a,childrenShouldValidate:n}=_e();e.modelValue!==pe&&L((()=>t("update:modelValue",l.value))),e.completed!==pe&&L((()=>t("update:completed",a.value))),e.shouldValidate!==pe&&L((()=>n.value=e.shouldValidate))}};Pe.render=function(e,t,a,n,o,i){return l(),f(m(a.as),null,{default:v((()=>[u(e.$slots,"default")])),_:3})},Pe.__file="components/forms/f-form.vue";var Ge={name:"fSuffix",props:{clear:Boolean,search:Boolean,label:String},setup:()=>({c:H})};const Xe={key:0,xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"none",viewBox:"0 0 16 16"},Je=[i("path",{fill:"currentColor","fill-rule":"evenodd",d:"M4.03 2.97a.75.75 0 00-1.06 1.06L6.94 8l-3.97 3.97a.75.75 0 101.06 1.06L8 9.06l3.97 3.97a.75.75 0 101.06-1.06L9.06 8l3.97-3.97a.75.75 0 00-1.06-1.06L8 6.94 4.03 2.97z","clip-rule":"evenodd"},null,-1)],Qe={key:1,xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"none",viewBox:"0 0 16 16"},Ye=[i("g",{stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5","clip-path":"url(#nra-cclip0)"},[i("path",{d:"M8.796 11.803A5.684 5.684 0 104.349 1.341a5.684 5.684 0 004.447 10.462zM11 11l4 4"})],-1),i("defs",null,[i("clipPath",{id:"nra-cclip0"},[i("path",{fill:"currentColor",d:"M0 0h16v16H0z"})])],-1)];Ge.render=function(e,t,n,o,i,s){return l(),f(m(n.label?"div":"button"),{class:d({[e.c.wrapper]:!0,[n.label?e.c.wrapperWithIcon:e.c.wrapperWithLabel]:!0})},{default:v((()=>[n.clear?(l(),a("svg",Xe,Je)):n.search?(l(),a("svg",Qe,Ye)):n.label?(l(),a("span",{key:2,class:d(e.c.label)},_(n.label),3)):$("v-if",!0)])),_:1},8,["class"])},Ge.__file="components/forms/f-suffix.vue";var Ze={name:"fAffix",props:{prefix:Boolean,suffix:Boolean,clear:Boolean,search:Boolean,label:String},setup(e){const t=c((()=>e.prefix?K:H));return{wrapperClass:c((()=>({[t.value.wrapper]:!0,[e.label?t.value.wrapperWithLabel:t.value.wrapperWithIcon]:!0}))),labelClass:c((()=>t.value.label))}}};const et={key:0,xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"none",viewBox:"0 0 16 16"},tt=[i("path",{fill:"currentColor","fill-rule":"evenodd",d:"M4.03 2.97a.75.75 0 00-1.06 1.06L6.94 8l-3.97 3.97a.75.75 0 101.06 1.06L8 9.06l3.97 3.97a.75.75 0 101.06-1.06L9.06 8l3.97-3.97a.75.75 0 00-1.06-1.06L8 6.94 4.03 2.97z","clip-rule":"evenodd"},null,-1)],lt={key:1,xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"none",viewBox:"0 0 16 16"},at=[i("g",{stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5","clip-path":"url(#nra-cclip0)"},[i("path",{d:"M8.796 11.803A5.684 5.684 0 104.349 1.341a5.684 5.684 0 004.447 10.462zM11 11l4 4"})],-1),i("defs",null,[i("clipPath",{id:"nra-cclip0"},[i("path",{fill:"currentColor",d:"M0 0h16v16H0z"})])],-1)];Ze.render=function(e,t,n,o,i,s){return l(),f(m(n.label?"div":"button"),{class:d(o.wrapperClass)},{default:v((()=>[n.clear?(l(),a("svg",et,tt)):n.search?(l(),a("svg",lt,at)):n.label?(l(),a("span",{key:2,class:d(o.labelClass)},_(n.label),3)):$("v-if",!0)])),_:1},8,["class"])},Ze.__file="components/forms/f-affix.vue";const nt={install:fe([Ve,Ie,ze,Re,Ne,Pe,Ge,Ze])};var ot={name:"fBox",props:{bleed:Boolean,as:{type:String,default:"div"},clickable:Boolean,info:Boolean,neutral:Boolean,bordered:Boolean},setup:e=>({boxClasses:c((()=>({[W.box]:!0,[W.bleed]:e.bleed,"bg-aqua-50":e.info,"hover:bg-aqua-100 active:bg-aqua-200":e.info&&e.clickable,"bg-bluegray-100":e.neutral,"hover:bg-bluegray-200 active:bg-bluegray-300":e.neutral&&e.clickable,"border-2 border-bluegray-300":e.bordered})))})};ot.render=function(e,t,a,n,o,i){return l(),f(m(a.as),{class:d(e.boxClasses)},{default:v((()=>[u(e.$slots,"default")])),_:3},8,["class"])},ot.__file="components/box/f-box.vue";const it={install:fe([ot,he])},st=D("span",{ariaHidden:!0,class:"select-none"},"/");var rt={name:"fBreadcrumbs",components:{Breadcrumbify:(e,t)=>((e,t)=>{const l=e[0].type===n?e[0].children:e;return[].concat(...l.map((e=>[e,t]))).slice(0,-1)})(t.slots.default(),st)},props:{ariaLabel:{type:String,default:"Her er du"}}};const dt=["aria-label"],ut={class:"sr-only"},ct={class:"flex space-x-8"};rt.render=function(e,t,n,o,s,r){const d=p("breadcrumbify");return l(),a("nav",{"aria-label":n.ariaLabel},[i("h2",ut,_(n.ariaLabel),1),i("div",ct,[b(d,null,{default:v((()=>[u(e.$slots,"default")])),_:3})])],8,dt)},rt.__file="components/breadcrumbs/f-breadcrumbs.vue";const pt={install:fe([rt])};var ft={name:"fButton",props:{primary:Boolean,secondary:Boolean,negative:Boolean,utility:Boolean,quiet:Boolean,small:Boolean,link:Boolean,pill:Boolean,loading:Boolean,href:String,label:String},setup:(e,{attrs:t})=>({buttonClass:c((()=>({button:!0,"button--primary":e.primary&&!e.negative,"button--destructive":e.primary&&e.negative,"button--flat":(e.secondary||!e.negative&&!e.utility)&&e.quiet,"button--destructive-flat":e.negative&&e.quiet,"button--utility-flat":e.utility&&e.quiet,"button--small":e.small,"button--utility":e.utility&&!e.quiet,"button--link":e.link,"button--pill":e.pill,"button--in-progress":e.loading}))),saneDefaults:c((()=>({type:e.href?void 0:t.type||"button",rel:"_blank"===t.target?t.rel||"noopener":void 0})))})};const vt={key:0,role:"progressbar","aria-valuenow":"0","aria-valuetext":"Laster...",class:"sr-only"};ft.render=function(e,t,n,o,i,r){return l(),f(m(n.href?"a":"button"),s({href:n.href,class:e.buttonClass},e.saneDefaults),{default:v((()=>[u(e.$slots,"default",{},(()=>[B(_(n.label),1)])),n.loading?(l(),a("span",vt)):$("v-if",!0)])),_:3},16,["href","class"])},ft.__file="components/button/f-button.vue";const mt={install:fe([ft])};var bt={name:"fButtonGroup",props:{outlined:Boolean,raised:Boolean,vertical:Boolean},setup(e){k("outlined",I(e,"outlined")),k("raised",I(e,"raised")),k("quiet",I(e,"quiet"));return{classes:c((()=>({"border border-gray-300":e.outlined,"filter drop-shadow-10":e.raised,[e.vertical?"divide-y":"divide-x"]:!0,"flex-col":e.vertical})))}}};bt.render=function(e,t,n,o,i,s){return l(),a("div",{class:d(["f-button-group inline-flex rounded-4 divide-gray-300 overflow-hidden",o.classes])},[u(e.$slots,"default")],2)},bt.__file="components/button-group/f-button-group.vue";var gt={name:"fButtonGroupItem",props:{selected:Boolean},setup(e){const t=h("outlined",!1);h("raised",!1),h("quiet",!1);return{wrapperClass:c((()=>({"relative last-child:mb-0 hover:bg-gray-50 active:bg-gray-100":!0,[t.value?"border-gray-300":"border-transparent"]:!0,[e.selected?"bg-gray-200":"bg-white"]:!0,"bg-gray-200 hover:bg-gray-300 active:bg-gray-400":e.selected})))}}};gt.render=function(e,t,n,o,i,s){return l(),a("div",{class:d(o.wrapperClass)},[u(e.$slots,"default")],2)},gt.__file="components/button-group/f-button-group-item.vue";const ht={install:fe([he,bt,gt])};var yt={name:"fCard",props:{as:{type:String,default:"div"},selected:Boolean,flat:Boolean},setup:e=>({outerClasses:c((()=>({[N.card]:!0,[N.cardShadow]:!e.flat,[N.cardSelected]:e.selected,[N.cardFlat]:e.flat,[e.selected?N.cardFlatSelected:N.cardFlatUnselected]:e.flat}))),innerClasses:c((()=>({[N.cardOutline]:!0,[e.selected?N.cardOutlineSelected:N.cardOutlineUnselected]:!0})))})};yt.render=function(e,t,n,o,i,s){return l(),f(m(n.as),{class:d(e.outerClasses)},{default:v((()=>[n.flat?$("v-if",!0):(l(),a("div",{key:0,class:d(e.innerClasses)},null,2)),u(e.$slots,"default")])),_:3},8,["class"])},yt.__file="components/card/f-card.vue";const wt={install:fe([he,yt])};var xt={name:"fExpandTransition",props:{group:Boolean,tag:String},setup(e,{emit:t,slots:l}){const a=e.group?F:O,n=()=>t("expand"),o=()=>t("collapse");return()=>D(a,{css:!1,onEnter:ee,onAfterEnter:n,onLeave:te,onAfterLeave:o,tag:e.tag},l)}},kt={name:"fExpandable",props:{title:String,box:Boolean,bleed:Boolean,info:Boolean,buttonClass:String,contentClass:String,chevron:{type:Boolean,default:!0},as:{type:String,default:"div"},animated:Boolean,...e({modelDefault:pe})},emits:["expand","collapse"],setup:(e,{emit:l,slots:a})=>{const n=e.modelValue===pe?y(!1):t({props:e,emit:l}),o=e.animated?xt:"div";e.animated||w(n,(async e=>{await z(),l(e?"expand":"collapse")}));const i=c((()=>e.title||a.title)),s=c((()=>({[P.expandable]:!0,[P.expandableInfo]:e.info,[P.expandableBox]:e.box,[P.expandableBleed]:e.bleed}))),r=c((()=>({[e.buttonClass||""]:!0,[P.button]:!0,[P.buttonBox]:e.box,[P.buttonInfo]:e.info}))),d=c((()=>({[P.chevron]:!0,[e.box?P.chevronBox:P.chevronNonBox]:!0,[P.chevronExpanded]:n.value}))),u=c((()=>({[e.contentClass||""]:!0,[W.box+(i.value?" pt-0":"")]:e.box})));return{expanded:n,contentComponent:o,buttonClasses:r,chevronClasses:d,contentClasses:u,wrapperClasses:s,hasTitle:i}}};const Ct=["aria-expanded"],Bt={key:0,class:"h4"},_t=[i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"none",viewBox:"0 0 16 16"},[i("path",{stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M2.5 5.5L8 11l5.5-5.5"})],-1)],$t={key:0};kt.render=function(e,t,n,o,s,r){return l(),f(m(n.as),{class:d(e.wrapperClasses)},{default:v((()=>[e.hasTitle?(l(),a("button",{key:0,type:"button","aria-expanded":e.expanded,class:d(e.buttonClasses),onClick:t[0]||(t[0]=t=>e.expanded=!e.expanded)},[u(e.$slots,"title",{expanded:e.expanded}),n.title?(l(),a("span",Bt,_(n.title),1)):$("v-if",!0),n.chevron?(l(),a("div",{key:1,class:d(e.chevronClasses)},_t,2)):$("v-if",!0)],10,Ct)):$("v-if",!0),(l(),f(m(e.contentComponent),{onExpand:t[1]||(t[1]=t=>e.$emit("expand")),onCollapse:t[2]||(t[2]=t=>e.$emit("collapse"))},{default:v((()=>[e.expanded?(l(),a("div",$t,[i("div",{class:d(e.contentClasses)},[u(e.$slots,"default")],2)])):$("v-if",!0)])),_:3}))])),_:3},8,["class"])},kt.__file="components/expandable/f-expandable.vue";var St={name:"fWillExpand",props:{key:ce}};St.render=function(e,t,n,o,i,s){return l(),a("div",{key:n.key},[u(e.$slots,"default")])},St.__file="components/expandable/f-will-expand.vue";const Lt={install:fe([kt,xt,St])},Vt="transition-gpu transition-transform",Et="undefined"!=typeof window;var Mt={name:"fModal",props:{left:[Object,Boolean],right:[Object,Boolean],title:String,titleAttrs:Object,headerClasses:[String,Object],contentClasses:[String,Object],modelValue:Boolean,contentId:ce},emits:["dismiss","left","right","shown","hidden"],setup(e,{emit:t}){const l=y(null),a=y(null),n=y(null),o=y(!1),i=y(!1),s=y(!1),r=()=>t("dismiss"),d=e=>{"Escape"===e.key&&r()},u=c((()=>({[Vt]:!0,[s.value?"duration-300":"duration-1"]:!0,[G.titleButton]:!0,[G.titleButtonLeft]:!0,"justify-self-start":!0}))),p=c((()=>({[Vt]:!0,[s.value?"duration-300":"duration-0"]:!0,"justify-self-center":e.left,"col-span-2":!e.left}))),f=c((()=>({[Vt]:!0,[s.value?"duration-300":"duration-0"]:!0,[G.titleButton]:!0,[G.titleButtonRight]:!0,"justify-self-end":!0})));w((()=>[e.left,e.right,e.title]),(async()=>{s.value=!0,await z(),s.value=!1}));const v=()=>{1.02*l.value?.scrollHeight>innerHeight?l.value.style.borderRadius="0px":l.value.style.borderRadius=null};async function m(e){Et&&(e||await async function(){l.value&&(le.off(l.value),l.value.removeEventListener("transitionend",v,{passive:!0})),removeEventListener("keydown",d),ne(),t("hidden")}(),await async function(e){e?o.value=e:i.value=e,await z(),e?i.value=e:o.value=e,await z()}(e),e&&await async function(){le.on(l.value),l.value.addEventListener("transitionend",v,{passive:!0}),addEventListener("keydown",d,{passive:!0}),ae(a.value),t("shown")}())}return w((()=>e.modelValue),m,{immediate:!0}),C(m),{c:G,modalEl:l,backdropEl:n,emitDismiss:r,contentEl:a,showModal:o,showContent:i,titleLeftClasses:u,titleCenterClasses:p,titleRightClasses:f}}};const At=[i("path",{fill:"currentColor","fill-rule":"nonzero",d:"M8 2.25a.75.75 0 01.743.648L8.75 3v8.189l3.72-3.72a.75.75 0 011.133.977l-.073.084-5 5a.747.747 0 01-.374.204l-.104.014h-.104a.747.747 0 01-.478-.218l-5-5a.75.75 0 01.976-1.133l.084.073 3.72 3.719V3A.75.75 0 018 2.25z"},null,-1)],Tt=[i("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2.5",d:"M12 12l6 6-6-6-6 6 6-6zm0 0L6 6l6 6 6-6-6 6z"},null,-1)],Dt=["id"];Mt.render=function(e,t,n,o,r,c){return l(),f(O,{name:"fade"},{default:v((()=>[o.showModal?(l(),a("div",{key:0,class:d(o.c.backdrop),onClick:t[2]||(t[2]=j(((...e)=>o.emitDismiss&&o.emitDismiss(...e)),["self"])),ref:"backdropEl"},[b(O,{name:"slide"},{default:v((()=>[o.showContent?(l(),a("div",{key:0,class:d(o.c.modal),tabindex:"-1","aria-modal":"true","aria-labelledby":"f-modal-title",role:"dialog",ref:"modalEl"},[i("div",{class:d([o.c.title,n.headerClasses])},[b(F,{name:"f-modal-title"},{default:v((()=>[n.left?(l(),a("button",s({key:0,"aria-label":"Tilbake",onClick:t[0]||(t[0]=t=>e.$emit("left")),class:o.titleLeftClasses,key:"left"},n.left),[u(e.$slots,"left",{},(()=>[(l(),a("svg",{"aria-hidden":"true",class:d([o.c.titleButtonIcon,"transform rotate-90"]),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16"},At,2))]))],16)):$("v-if",!0),i("div",s({class:o.titleCenterClasses,key:"title"},n.titleAttrs),[n.title?(l(),a("p",{key:0,id:"f-modal-title",class:d(o.c.titleText)},_(n.title),3)):$("v-if",!0),u(e.$slots,"title")],16),n.right?(l(),a("button",s({key:1,"aria-label":"Lukk",onClick:t[1]||(t[1]=t=>e.$emit("right")),class:o.titleRightClasses,key:"right"},n.right),[u(e.$slots,"right",{},(()=>[(l(),a("svg",{"aria-hidden":"true",class:d(o.c.titleButtonIcon),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Tt,2))]))],16)):$("v-if",!0)])),_:3})],2),e.$slots.default?(l(),a("div",{key:0,class:d([o.c.content,n.contentClasses]),ref:"contentEl",id:n.contentId},[u(e.$slots,"default")],10,Dt)):$("v-if",!0),e.$slots.footer?(l(),a("div",{key:1,class:d(o.c.footer)},[u(e.$slots,"footer")],2)):$("v-if",!0)],2)):$("v-if",!0)])),_:3})],2)):$("v-if",!0)])),_:3})},Mt.__file="components/modal/f-modal.vue";const It={install:fe([Mt])},Ft={pill:"inline-flex items-center py-8 focus-ring text-12 transition-all",pillSuggestion:"bg-gray-200 hover:bg-gray-300 active:bg-gray-400 text-gray-700 font-bold",pillFilter:"bg-blue-600 hover:bg-blue-700 active:bg-blue-800 text-white",label:"pl-12 rounded-l-full",labelSuggestion:"",labelFilter:"",labelWithoutClose:"pr-12 rounded-r-full",labelWithClose:"pr-2",close:"pr-12 pl-4 py-10 rounded-r-full"};var Ot={name:"fPill",inheritAttrs:!1,props:{label:String,canClose:Boolean,suggestion:Boolean},setup:(e,{emit:t})=>({c:Ft})};const zt={class:"flex items-center"},jt=i("span",{class:"sr-only"},"Åpne filter ",-1),qt={class:"sr-only"},Ut=i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",fill:"none",viewBox:"0 0 16 16","aria-hidden":"true"},[i("path",{fill:"currentColor",d:"M4.03 2.97a.75.75 0 00-1.06 1.06L6.94 8l-3.97 3.97a.75.75 0 101.06 1.06L8 9.06l3.97 3.97a.75.75 0 101.06-1.06L9.06 8l3.97-3.97a.75.75 0 00-1.06-1.06L8 6.94 4.03 2.97z"})],-1);Ot.render=function(e,t,n,o,r,u){return l(),a("div",zt,[i("button",s({type:"button",class:{[e.c.pill]:!0,[n.suggestion?e.c.pillSuggestion:e.c.pillFilter]:!0,[e.c.label]:!0,[n.canClose?e.c.labelWithClose:e.c.labelWithoutClose]:!0}},e.$attrs),[jt,i("span",null,_(n.label),1)],16),n.canClose?(l(),a("button",{key:0,type:"button",class:d({[e.c.pill]:!0,[n.suggestion?e.c.pillSuggestion:e.c.pillFilter]:!0,[e.c.close]:!0}),onClick:t[0]||(t[0]=t=>e.$emit("close"))},[i("span",qt,"Fjern filter "+_(n.label),1),Ut],2)):$("v-if",!0)])},Ot.__file="components/pill/f-pill.vue";const Rt={install:fe([Ot])},Ht=Object.freeze({up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",end:"End",home:"Home",pageup:"PageUp",pagedown:"PageDown"}),Kt=Object.values(Ht),Wt={passive:!0};const Nt=(e,{min:t,max:l})=>{return a=e,Number.isFinite(parseFloat(a))?Math.min(Math.max(e,t),l):t;var a},Pt=({props:e,emit:t,step:l,position:a,v:n,sliderPressed:o,thumb:i,dimensions:s})=>{const r=t=>Nt(t,{max:e.max,min:e.min});function d(){o.value=!1,window.removeEventListener("touchmove",u,Wt),window.removeEventListener("mousemove",u,Wt)}function u(t){const{value:l}=function(t){const{left:l,width:a}=s.value,n="touches"in t?t.touches[0].clientX:t.clientX;let o=Math.min(Math.max((n-l-16)/a,0),1)||0;return{value:e.min+o*(e.max-e.min)}}(t),n=function(e,t=2){const l=t?Math.pow(10,t):1;return Math.round(e*l)/l}(l);i.value.focus(),a.value!==n&&(a.value=n)}return{handleKeyDown:function(t){const o=t.key;if(Kt.includes(o))if(t.preventDefault(),[Ht.left,Ht.right,Ht.up,Ht.down].includes(o)){const e=[Ht.right,Ht.up].includes(o)?1:-1;a.value=r(n.value+e*l.value)}else if(o===Ht.home)a.value=e.min;else if(o===Ht.end)a.value=e.max;else{const t=o===Ht.pageup?1:-1,i=2,s=50;a.value=r(n.value+t*l.value*Math.max(i,Math.min(s,Math.ceil((e.max-e.min)/10/l.value))))}},handleFocus:function(e){t("focus",e)},handleBlur:function(e){t("blur",e)},handleMouseDown:function(e){o.value=!0,"touches"in e?(window.addEventListener("touchmove",u,Wt),window.addEventListener("touchend",d,{once:!0})):(window.addEventListener("mousemove",u,Wt),window.addEventListener("mouseup",d,{once:!0})),e.stopPropagation(),e.preventDefault()},handleMouseUp:d,handleClick:function(e){u(e)}}};var Gt={name:"fSlider",props:{min:{type:Number,default:0},max:{type:Number,default:100},step:Number,label:String,labelledBy:String,disabled:Boolean,...e()},setup(e,{emit:l,attrs:a}){const n=y(null),o=y(null),{dimensions:i}=(e=>{let t;const l=y({}),a=e=>{const{left:t,width:a}=e[0].target.getBoundingClientRect();l.value={left:t,width:a-24}};return S((()=>{l.value=e.value.getBoundingClientRect(),t=new ResizeObserver(a),t.observe(e.value)})),C((()=>{t.disconnect()})),{dimensions:l}})(n),s=y(!1),r=t({props:e,emit:l}),d=y(r.value),u=c((()=>e.step||1));w(d,(()=>{if(d.value===e.modelValue)return;const t=e.step?(e=>{const t=1/u.value;return Math.floor(e*t)/t})(d.value):d.value;r.value!==t&&(r.value=t)})),w((()=>e.modelValue),(()=>{s.value||d.value===e.modelValue||(d.value=e.modelValue)}));const p=c((()=>(d.value-e.min)/(e.max-e.min)*100)),f=c((()=>p.value/100*i.value.width))||0,v=c((()=>({transform:"translateX("+f.value+"px)"}))),m=c((()=>({left:0,right:100-p.value+"%"}))),b=c((()=>({"aria-label":e.label,"aria-labelledby":e.labelledBy,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":r.value,"aria-valuetext":a["aria-valuetext"]}))),{handleKeyDown:g,handleFocus:h,handleBlur:x,handleMouseDown:k,handleMouseUp:B,handleClick:_}=Pt({props:e,emit:l,step:u,position:d,v:r,sliderPressed:s,thumb:o,dimensions:i});return{c:X,aria:b,sliderLine:n,thumb:o,sliderActiveStyle:m,thumbStyles:v,handleClick:_,handleBlur:x,handleFocus:h,handleKeyDown:g,handleMouseDown:k,v:r}}};Gt.render=function(e,t,n,o,r,u){return l(),a("div",{class:d(o.c.wrapper)},[i("div",{class:d({[o.c.trackDisabled]:n.disabled,[o.c.track]:!0}),ref:"sliderLine",onClick:t[0]||(t[0]=(...e)=>o.handleClick&&o.handleClick(...e))},null,2),i("div",{class:d({[o.c.activeTrackDisabled]:n.disabled,[o.c.activeTrack]:!0}),style:q(o.sliderActiveStyle),onClick:t[1]||(t[1]=(...e)=>o.handleClick&&o.handleClick(...e))},null,6),i("div",s({class:{[o.c.thumbDisabled]:n.disabled,[o.c.thumbEnabled]:!n.disabled,[o.c.thumb]:!0},ref:"thumb",role:"slider",tabindex:"0"},o.aria,{style:o.thumbStyles,onMousedown:t[2]||(t[2]=(...e)=>o.handleMouseDown&&o.handleMouseDown(...e)),onTouchstart:t[3]||(t[3]=(...e)=>o.handleMouseDown&&o.handleMouseDown(...e)),onBlur:t[4]||(t[4]=(...e)=>o.handleBlur&&o.handleBlur(...e)),onFocus:t[5]||(t[5]=(...e)=>o.handleFocus&&o.handleFocus(...e)),onKeydown:t[6]||(t[6]=(...e)=>o.handleKeyDown&&o.handleKeyDown(...e))}),null,16)],2)},Gt.__file="components/slider/f-slider.vue";const Xt={install:fe([Gt])};var Jt={name:"fStep",props:{active:Boolean,complete:Boolean},setup:()=>({vertical:h("steps-vertical",!0),left:h("steps-left",!0),c:J})};const Qt=["aria-current"],Yt=["aria-label"],Zt=[i("path",{fill:"white","fill-rule":"evenodd",d:"M13.007 4.447a.75.75 0 01.046 1.06l-5.5 6a.75.75 0 01-1.083.023l-3-3a.75.75 0 011.06-1.06l2.446 2.446 4.971-5.423a.75.75 0 011.06-.046z","clip-rule":"evenodd"},null,-1)];Jt.render=function(e,t,n,o,s,r){return l(),a("div",{class:d(["f-step",{[e.c.stepVertical]:e.vertical,[e.c.stepVerticalLeft]:e.vertical&&e.left,[e.c.stepVerticalRight]:e.vertical&&!e.left,[e.c.stepHorizontal]:!e.vertical}])},[e.vertical?$("v-if",!0):(l(),a("div",{key:0,class:d(["step-line-h-l",{[e.c.stepLine]:!0,[e.c.stepLineHorizontal]:!e.vertical,[e.c.stepLineIncomplete]:!n.active&&!n.complete,[e.c.stepLineComplete]:n.active||n.complete}])},null,2)),i("div",{"aria-current":n.active?"step":void 0,class:d({[e.c.stepDot]:!0,[e.c.stepDotVertical]:e.vertical,[e.c.stepDotVerticalLeft]:e.vertical&&e.left,[e.c.stepDotVerticalRight]:e.vertical&&!e.left,[e.c.stepDotHorizontal]:!e.vertical,[e.c.stepDotIncomplete]:!(n.active||n.complete),[e.c.stepDotActive]:n.active,[e.c.stepDotComplete]:n.complete})},[(l(),a("svg",{role:"img","aria-label":n.complete?"✓":"⍻",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16"},Zt,8,Yt))],10,Qt),i("div",{class:d(["step-line-h-r",{[e.c.stepLine]:!0,[e.c.stepLineVertical]:e.vertical,[e.c.stepLineVerticalLeft]:e.vertical&&e.left,[e.c.stepLineVerticalRight]:e.vertical&&!e.left,[e.c.stepLineHorizontal]:!e.vertical,[e.c.stepLineIncomplete]:!n.complete,[e.c.stepLineComplete]:n.complete}])},null,2),i("div",{class:d({[e.c.content]:!0,[e.c.contentVertical]:e.vertical,[e.c.contentHorizontal]:!e.vertical})},[u(e.$slots,"default")],2)],2)},Jt.__file="components/steps/f-step.vue";var el={name:"fSteps",props:{horizontal:Boolean,right:Boolean},setup(e){const t=y(!e.horizontal),l=y(!e.right);k("steps-vertical",t),k("steps-left",l),L((()=>t.value=!e.horizontal)),L((()=>l.value=!e.right))}};el.render=function(e,t,n,o,i,s){return l(),a("div",{class:d(["w-full",{flex:n.horizontal}])},[u(e.$slots,"default")],2)},el.__file="components/steps/f-steps.vue";const tl={install:fe([Jt,el])};var ll={name:"fSwitch",props:{id:ce,disabled:Boolean,...e()},setup(e){const l=t({props:e}),a=y(null);return{model:l,c:Q,inputEl:a,simulateClick:()=>a.value.click()}}};const al={class:"tap-highlight-transparent"},nl=["id","disabled"];ll.render=function(e,t,n,s,r,u){return l(),a("div",al,[o(i("input",{type:"checkbox",class:"sr-only",id:n.id,"onUpdate:modelValue":t[0]||(t[0]=e=>s.model=e),disabled:n.disabled,ref:"inputEl"},null,8,nl),[[U,s.model]]),i("div",{onClick:t[1]||(t[1]=(...e)=>s.simulateClick&&s.simulateClick(...e)),class:d({[s.c.label]:!0,[s.c.labelDisabled]:n.disabled})},[i("div",{class:d({[s.c.switchTrack]:!0,[s.c.switchTrackSelected]:s.model&&!n.disabled,[s.c.switchTrackUnselected]:!s.model&&!n.disabled,[s.c.switchTrackDisabled]:n.disabled})},null,2),i("div",{class:d({[s.c.switchThumb]:!0,[s.c.switchThumbSelected]:s.model,[n.disabled?s.c.switchThumbDisabled:s.c.switchThumbNotDisabled]:!0})},null,2)],2)])},ll.__file="components/switch/f-switch.vue";const ol={install:fe([ll])},il=Object.freeze({left:"ArrowLeft",right:"ArrowRight",home:"Home",end:"End"}),sl=Object.values(il),rl=({tabs:e,activeTab:t,focusActive:l})=>async a=>{var n;if(!(e=>e.altKey||e.ctrlKey||e.shiftKey)(n=a)&&sl.includes(n.key))try{const n=e.value.indexOf(t.value),o=(()=>{switch(a.key){case il.home:return 0;case il.end:return e.value.length-1;case il.left:return Math.max(0,n-1);case il.right:return Math.min(e.value.length-1,n+1)}})();n!==o&&(a.preventDefault(),t.value=e.value[o],await z(),l())}catch(e){console.warn("Problem handling tabs keydown",e)}};var dl={name:"fTabs",props:{contained:Boolean,...e()},setup(e,{slots:l}){const a=t({props:e}),o=y(null),i=y(null),s=y([]),r=c((()=>s.value.length)),d=c((()=>{return(e=l.default(),e[0].type===n?e[0].children:e).length;var e})),u=(e=>()=>e.value.querySelector(".active-tab"))(o);k("tab-controller",{registerTab:e=>s.value.push(e),unregisterTab:e=>{const t=s.value.indexOf(e);-1!==t&&s.value.splice(t,1)},onKeydown:rl({tabs:s,activeTab:a,focusActive:()=>u()?.focus()})}),k("activeTab",a),k("contained",I(e,"contained"));const p=async()=>{if(!e.contained){await z();try{const e=u(),{left:t}=o.value.getBoundingClientRect(),{left:l,width:a}=e.getBoundingClientRect();i.value.style.left=l-t+"px",i.value.style.width=a+"px"}catch(e){console.warn("Problem updating tabs",e)}}};return S((()=>{w(a,p,{immediate:!0}),w((()=>e.contained),p);new ResizeObserver(oe(p,100)).observe(o.value)})),{c:Y,tabContainer:o,wunderbar:i,numberOfTabs:r,slotFallback:d}}};dl.render=function(e,t,n,o,s,r){return l(),a("nav",{class:d({[n.contained?o.c.wrapperContained:o.c.wrapperUnderlined]:!0})},[i("div",{class:d({[o.c.tabContainer]:!0,[`grid-cols-${o.numberOfTabs||o.slotFallback}`]:!0}),ref:"tabContainer",role:"tablist"},[u(e.$slots,"default"),n.contained?$("v-if",!0):(l(),a("span",{key:0,class:d(o.c.wunderbar),ref:"wunderbar"},null,2))],2)],2)},dl.__file="components/tabs/f-tabs.vue";var ul={name:"fTab",props:{label:String,name:{type:String,required:!0}},setup(e){const t=h("tab-controller"),l=h("activeTab"),a=h("contained"),n=c((()=>e.name===l.value));t.registerTab(e.name),C((()=>{t?.unregisterTab?.(e.name)}));const o=c((()=>({[Z.contentUnderlined]:!a.value,[n.value?Z.contentUnderlinedActive:Z.contentUnderlinedInactive]:!a.value,[Z.contentContainedActive]:a.value&&n.value}))),i=c((()=>({[Z.icon]:!0,[Z.iconUnderlined]:!a.value,[n.value?Z.iconUnderlinedActive:Z.iconUnderlinedInactive]:!a.value}))),s=c((()=>({[Z.tab]:!0,[Z.tabActive]:n.value,[Z.tabContained]:a.value,[Z.tabContainedActive]:a.value&&n.value})));return{isActive:n,setActive:()=>l.value=e.name,contentClasses:o,iconClasses:i,tabClasses:s,onKeydown:t.onKeydown}}};const cl=["id","aria-selected","aria-controls","tabindex"];ul.render=function(e,t,n,o,s,r){return l(),a("button",{class:d(o.tabClasses),onClick:t[0]||(t[0]=(...e)=>o.setActive&&o.setActive(...e)),role:"tab",id:`fabric-tab-${n.name}`,"aria-selected":o.isActive,"aria-controls":o.isActive?`fabric-tabpanel-${n.name}`:void 0,tabindex:o.isActive?0:-1,onKeydown:t[1]||(t[1]=(...e)=>o.onKeydown&&o.onKeydown(...e))},[e.$slots.default?(l(),a("span",{key:0,class:d(o.iconClasses)},[u(e.$slots,"default")],2)):$("v-if",!0),i("span",{class:d(o.contentClasses)},[B(_(n.label)+" ",1),u(e.$slots,"label")],2)],42,cl)},ul.__file="components/tabs/f-tab.vue";var pl={name:"fTabPanel",props:{name:{type:String,required:!0}}};const fl=["id","aria-labelledby"];pl.render=function(e,t,n,o,i,s){return l(),a("div",{tabindex:"-1",role:"tabpanel",id:`fabric-tabpanel-${n.name}`,"aria-labelledby":`fabric-tab-${n.name}`},[u(e.$slots,"default")],8,fl)},pl.__file="components/tabs/f-tab-panel.vue";const vl={install:fe([dl,ul,pl])},ml="top",bl="bottom",gl={[ml]:bl,[bl]:ml,left:"right",right:"left"},hl=[ml,bl,"left","right"],yl={left:-45,[ml]:45,right:135,[bl]:-135},wl={tooltip:Boolean,popover:Boolean,callout:Boolean,noArrow:Boolean,...hl.reduce(((e,t)=>(e[t]=Boolean,e)),{})},xl=({actualDirection:e,directionName:t,arrowEl:l})=>{e.value=t.value;const a=(n=t.value,[ml,bl].includes(n));var n;l.value.$el.style.left=a?"calc(50% - 7px)":null,l.value.$el.style.top=a?null:"calc(50% - 7px)"};var kl={name:"fAttentionArrow",inheritAttrs:!1,props:{...wl,direction:String},setup:e=>{const t=c((()=>gl[e.direction]));return{arrowClass:c((()=>({"absolute h-14 w-14 border-2 border-b-0 border-r-0 transform":!0,[`-${t.value}-8`]:!0,"bg-gray-700 border-gray-700":e.tooltip,"bg-green-100 border-green-400":e.callout,"bg-white border-white":e.popover}))),arrowStyle:c((()=>({borderTopLeftRadius:"4px",[`margin-${t.value}`]:"-0.5px",transform:`rotate(${yl[t.value]}deg)`})))}}};kl.render=function(e,t,n,o,i,s){return l(),a("div",{class:d(e.arrowClass),style:q(e.arrowStyle)},null,6)},kl.__file="components/attention/f-attention-arrow.vue";var Cl={name:"fAttentionItem",props:{...wl,...e({modelDefault:pe}),targetEl:Object,attentionClass:[Object,String],attentionEl:{default:()=>y(null)}},components:{fAttentionArrow:kl},setup:(e,{emit:l})=>{const a=c((()=>hl.find((t=>e[t])))),n=c((()=>({"border-2 relative":!0,"bg-gray-700 border-gray-700 text-white rounded-4 py-6 px-8":e.tooltip,"bg-green-100 border-green-400 py-8 px-16 rounded-8":e.callout,"bg-white border-white rounded-8 p-16 filter drop-shadow-20":e.popover}))),o=e.modelValue===pe?y(!0):t({props:e,emit:l}),i=y(null),s=y(a.value),r=async()=>{if(!o.value)return;if(await z(),e.callout)return xl({directionName:a,arrowEl:i,actualDirection:s});const t=await ie(e.targetEl,e.attentionEl.value,{placement:a.value,middleware:[se(),re(8),de({padding:16}),ue({element:e.noArrow?void 0:i.value.$el})]});s.value=t.placement,Object.assign(e.attentionEl.value.style,{left:"0",top:"0",transform:`translate3d(${Math.round(t.x)}px, ${Math.round(t.y)}px, 0)`});let{x:l,y:n}=t.middlewareData.arrow;i.value.$el.style.left=l?l+"px":null,i.value.$el.style.top=n?n+"px":null};return S((async()=>{w((()=>[e.top,e.bottom,e.left,e.right]),r),w(o,r,{immediate:e.callout})})),{wrapperClass:n,attentionRef:e.attentionEl,arrowEl:i,actualDirection:s,model:o}}};const Bl={class:"last-child:mb-0"};Cl.render=function(e,t,n,r,c,v){const m=p("f-attention-arrow");return o((l(),a("div",{class:d([{"absolute z-50":!e.callout},n.attentionClass]),ref:"attentionRef"},[i("div",{class:d(e.wrapperClass)},[e.noArrow?$("v-if",!0):(l(),f(m,s({key:0},e.$props,{ref:"arrowEl",direction:e.actualDirection}),null,16,["direction"])),i("div",Bl,[u(e.$slots,"default")])],2)],2)),[[R,e.model]])},Cl.__file="components/attention/f-attention.vue";const _l={install:e=>e.component(Cl.name,Cl)};export{_l as Attention,it as Box,pt as Breadcrumbs,mt as Button,ht as ButtonGroup,wt as Card,Lt as Expandable,nt as Forms,It as Modal,Rt as Pill,Xt as Slider,tl as Steps,ol as Switch,vl as Tabs,pe as absentProp,$e as createValidation,_e as createValidationCollector,ke as defaultInvalid,Ce as defaultRequiredRule,xe as defaultValid,Ze as fAffix,Cl as fAttention,ot as fBox,rt as fBreadcrumbs,ft as fButton,bt as fButtonGroup,gt as fButtonGroupItem,yt as fCard,he as fClickable,ye as fDeadToggle,xt as fExpandTransition,kt as fExpandable,Ve as fField,Pe as fForm,Ie as fInput,Mt as fModal,Ot as fPill,ze as fSelect,Gt as fSlider,Jt as fStep,el as fSteps,Ge as fSuffix,ll as fSwitch,ul as fTab,pl as fTabPanel,dl as fTabs,Re as fTextarea,Ne as fToggle,ve as fToggleItem,St as fWillExpand,ce as id,fe as installer,Be as useForm};
//# sourceMappingURL=fabric-vue.js.map
{
"name": "@fabric-ds/vue",
"version": "0.11.2-next.1",
"version": "0.11.2",
"description": "Fabric components for Vue 3",

@@ -12,6 +12,2 @@ "type": "module",

},
"repository": {
"type": "git",
"url": "https://github.com/fabric-ds/vue.git"
},
"scripts": {

@@ -22,8 +18,9 @@ "dev": "cd example && vite",

"build:eik": "eik=true rollup -c",
"publish:eik": "npx @eik/cli publish && npx @eik/cli pkg-alias",
"site": "npm run site:build && npm run site:cloud",
"site:build": "cd example && vite build",
"site:cloud": "cd example/dist && cp index.html 200.html && cp index.html 404.html && cp ../CNAME .",
"semantic-release": "semantic-release",
"eik:login": "npx @eik/cli login",
"eik:publish": "npx @eik/cli publish"
"preversion": "npx @eik/cli login && npm run build",
"version": "npm publish",
"postversion": "npm run publish:eik && git push --follow-tags"
},

@@ -49,8 +46,5 @@ "keywords": [],

"@rollup/plugin-node-resolve": "^13.1.3",
"@semantic-release/changelog": "^6.0.1",
"@semantic-release/git": "^10.0.1",
"@vitejs/plugin-vue": "^2.2.2",
"@vue/compiler-sfc": "^3.2.31",
"cleave-lite": "^1.0.0",
"cz-conventional-changelog": "^3.3.0",
"drnm": "^0.9.0",

@@ -61,4 +55,2 @@ "rollup": "^2.68.0",

"rollup-plugin-vue": "^6.0.0",
"semantic-release": "^19.0.2",
"semantic-release-slack-bot": "^3.5.2",
"vite": "^2.8.4",

@@ -78,8 +70,3 @@ "vue": "^3.2.31",

"import-map": "https://assets.finn.no/map/finn/v2"
},
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog"
}
}
}

@@ -5,29 +5,13 @@ # fabric vue

- Run `yarn dev`, this causes Vite (from the `example` folder) to start a server
on port 3003
- Run `yarn dev`, this causes Vite (from the `example` folder) to start a server on port 3003
## Releases
## Publishing
This project uses
[Semantic Release](https://github.com/semantic-release/semantic-release) to
automate package publishing when making changes to the `main` or `next` branch.
### Version package
It is recommended to branch off and follow
[conventional commits](https://www.conventionalcommits.org/en/v1.0.0/#summary)
when making changes. When your changes are ready for pull request, this should
be opened against the `next` branch.
Versioning will also publish to NPM and Eik
[Read more in-depth about Fabric Releases here](https://github.com/fabric-ds/issues/blob/779d59723993c13d62374516259602d967da56ca/rfcs/0004-releases.md).
Please note that the version published will depend on your commit message
structure. We use [commitizen](https://github.com/commitizen/cz-cli) to help
follow this structure:
```sh
# npm version <major|minor|patch>
npm version patch
```
npm install -g commitizen
```
When installed, you should be able to type `cz` or `git cz` in your terminal to
commit your changes (replacing `git commit`).
[![Add and commit with Commitizen](https://github.com/commitizen/cz-cli/raw/master/meta/screenshots/add-commit.png)](https://github.com/commitizen/cz-cli/raw/master/meta/screenshots/add-commit.png)

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc