@fkui/vue 5.37.2 → 5.37.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import"core-js/modules/es.array.push.js";import"core-js/modules/es.array-buffer.detached.js";import"core-js/modules/es.array-buffer.transfer.js";import"core-js/modules/es.array-buffer.transfer-to-fixed-length.js";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:true,configurable:true,writable:true,value}):obj[key]=value;var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!=="symbol"?key+"":key,value);import{defineComponent,openBlock,createElementBlock,normalizeClass,renderSlot,mergeProps,createTextVNode,createElementVNode,isVNode,Comment,createApp,resolveComponent,withKeys,createCommentVNode,toDisplayString,createVNode,createBlock,withCtx,Fragment,renderList,withModifiers,resolveDynamicComponent,Teleport,normalizeProps,guardReactiveProps,ref,inject,useSlots,provide,toValue,Transition,createSlots,withDirectives,vModelSelect,normalizeStyle,vModelDynamic,toHandlers,shallowRef,vShow,onMounted,onUnmounted,watchEffect,toRefs,computed,getCurrentInstance}from"vue";import{TranslationService,isSet,configLogic,focus as focus$1,ElementIdService,pushFocus,findTabbableElements,popFocus,scrollTo,Reference,documentOrderComparator,ValidationService,isValidatableHTMLElement,alertScreenReader,debounce,handleTab,deepClone,formatNumber,parseNumber,parseBankAccountNumber,parseBankgiro,parseClearingNumber,formatPersonnummer,parsePersonnummer,parsePlusgiro,formatPostalCode,parsePercent,formatPercent,parseOrganisationsnummer,isInvalidDatesConfig,isInvalidWeekdaysConfig,parseDate,waitForScreenReader,saveFocus,addFocusListener,removeFocusListener,restoreFocus,DomUtils,focusFirst}from"@fkui/logic";import{getWeekdayNamings,groupByWeek,FDate,DateFormat}from"@fkui/date";import{isEqual as isEqual$2}from"lodash";const statuses=["default","warning","error","success","info"];const _sfc_main$1d=defineComponent({name:"FBadge",props:{/**
1
+ import"core-js/modules/es.array.push.js";import"core-js/modules/es.array-buffer.detached.js";import"core-js/modules/es.array-buffer.transfer.js";import"core-js/modules/es.array-buffer.transfer-to-fixed-length.js";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:true,configurable:true,writable:true,value}):obj[key]=value;var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!=="symbol"?key+"":key,value);import{defineComponent,openBlock,createElementBlock,normalizeClass,renderSlot,mergeProps,createTextVNode,createElementVNode,isVNode,Comment,createApp,resolveComponent,withKeys,createCommentVNode,toDisplayString,createVNode,createBlock,withCtx,Fragment,renderList,withModifiers,resolveDynamicComponent,Teleport,normalizeProps,guardReactiveProps,ref,inject,useSlots,provide,toValue,Transition,createSlots,withDirectives,vModelSelect,normalizeStyle,vModelDynamic,computed,toHandlers,shallowRef,vShow,onMounted,onUnmounted,watchEffect,toRefs,getCurrentInstance}from"vue";import{TranslationService,isSet,configLogic,focus as focus$1,ElementIdService,pushFocus,findTabbableElements,popFocus,scrollTo,Reference,documentOrderComparator,ValidationService,isValidatableHTMLElement,alertScreenReader,debounce,handleTab,deepClone,formatNumber,parseNumber,parseBankAccountNumber,parseBankgiro,parseClearingNumber,formatPersonnummer,parsePersonnummer,parsePlusgiro,formatPostalCode,parsePercent,formatPercent,parseOrganisationsnummer,isInvalidDatesConfig,isInvalidWeekdaysConfig,parseDate,waitForScreenReader,saveFocus,addFocusListener,removeFocusListener,restoreFocus,DomUtils,focusFirst}from"@fkui/logic";import{getWeekdayNamings,groupByWeek,FDate,DateFormat}from"@fkui/date";import{isEqual as isEqual$2}from"lodash";const statuses=["default","warning","error","success","info"];const _sfc_main$1d=defineComponent({name:"FBadge",props:{/**
2
2
  * The status of the badge, can be either 'default', 'warning', 'error', 'success' or 'info'.
3
3
  *
4
4
  */status:{type:String,default:"default",validator:function(value){return statuses.includes(value);}},/**
@@ -27,7 +27,7 @@ import"core-js/modules/es.array.push.js";import"core-js/modules/es.array-buffer.
27
27
  key=="length"||// Node.js 0.10 has enumerable non-index properties on buffers.
28
28
  isBuff&&(key=="offset"||key=="parent")||// PhantomJS 2 has enumerable non-index properties on typed arrays.
29
29
  isType&&(key=="buffer"||key=="byteLength"||key=="byteOffset")||// Skip index properties.
30
- isIndex(key,length)))){result.push(key);}}return result;}var _arrayLikeKeys=arrayLikeKeys$1;var objectProto$3=Object.prototype;function isPrototype$1(value){var Ctor=value&&value.constructor,proto=typeof Ctor=="function"&&Ctor.prototype||objectProto$3;return value===proto;}var _isPrototype=isPrototype$1;function overArg$1(func,transform){return function(arg){return func(transform(arg));};}var _overArg=overArg$1;var overArg=_overArg;var nativeKeys$1=overArg(Object.keys,Object);var _nativeKeys=nativeKeys$1;var isPrototype=_isPrototype,nativeKeys=_nativeKeys;var objectProto$2=Object.prototype;var hasOwnProperty$2=objectProto$2.hasOwnProperty;function baseKeys$1(object){if(!isPrototype(object)){return nativeKeys(object);}var result=[];for(var key in Object(object)){if(hasOwnProperty$2.call(object,key)&&key!="constructor"){result.push(key);}}return result;}var _baseKeys=baseKeys$1;var isFunction=isFunction_1,isLength=isLength_1;function isArrayLike$1(value){return value!=null&&isLength(value.length)&&!isFunction(value);}var isArrayLike_1=isArrayLike$1;var arrayLikeKeys=_arrayLikeKeys,baseKeys=_baseKeys,isArrayLike=isArrayLike_1;function keys$1(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object);}var keys_1=keys$1;var baseGetAllKeys=_baseGetAllKeys,getSymbols=_getSymbols,keys=keys_1;function getAllKeys$1(object){return baseGetAllKeys(object,keys,getSymbols);}var _getAllKeys=getAllKeys$1;var getAllKeys=_getAllKeys;var COMPARE_PARTIAL_FLAG$1=1;var objectProto$1=Object.prototype;var hasOwnProperty$1=objectProto$1.hasOwnProperty;function equalObjects$1(object,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG$1,objProps=getAllKeys(object),objLength=objProps.length,othProps=getAllKeys(other),othLength=othProps.length;if(objLength!=othLength&&!isPartial){return false;}var index=objLength;while(index--){var key=objProps[index];if(!(isPartial?key in other:hasOwnProperty$1.call(other,key))){return false;}}var objStacked=stack.get(object);var othStacked=stack.get(other);if(objStacked&&othStacked){return objStacked==other&&othStacked==object;}var result=true;stack.set(object,other);stack.set(other,object);var skipCtor=isPartial;while(++index<objLength){key=objProps[index];var objValue=object[key],othValue=other[key];if(customizer){var compared=isPartial?customizer(othValue,objValue,key,other,object,stack):customizer(objValue,othValue,key,object,other,stack);}if(!(compared===void 0?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack):compared)){result=false;break;}skipCtor||(skipCtor=key=="constructor");}if(result&&!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&"constructor"in object&&"constructor"in other&&!(typeof objCtor=="function"&&objCtor instanceof objCtor&&typeof othCtor=="function"&&othCtor instanceof othCtor)){result=false;}}stack["delete"](object);stack["delete"](other);return result;}var _equalObjects=equalObjects$1;var getNative$3=_getNative,root$3=_root;var DataView$1=getNative$3(root$3,"DataView");var _DataView=DataView$1;var getNative$2=_getNative,root$2=_root;var Promise$2=getNative$2(root$2,"Promise");var _Promise=Promise$2;var getNative$1=_getNative,root$1=_root;var Set$1=getNative$1(root$1,"Set");var _Set=Set$1;var getNative=_getNative,root=_root;var WeakMap$1=getNative(root,"WeakMap");var _WeakMap=WeakMap$1;var DataView=_DataView,Map$1=_Map,Promise$1=_Promise,Set=_Set,WeakMap=_WeakMap,baseGetTag=_baseGetTag,toSource=_toSource;var mapTag="[object Map]",objectTag$1="[object Object]",promiseTag="[object Promise]",setTag="[object Set]",weakMapTag="[object WeakMap]";var dataViewTag="[object DataView]";var dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map$1),promiseCtorString=toSource(Promise$1),setCtorString=toSource(Set),weakMapCtorString=toSource(WeakMap);var getTag$1=baseGetTag;if(DataView&&getTag$1(new DataView(new ArrayBuffer(1)))!=dataViewTag||Map$1&&getTag$1(new Map$1())!=mapTag||Promise$1&&getTag$1(Promise$1.resolve())!=promiseTag||Set&&getTag$1(new Set())!=setTag||WeakMap&&getTag$1(new WeakMap())!=weakMapTag){getTag$1=function(value){var result=baseGetTag(value),Ctor=result==objectTag$1?value.constructor:void 0,ctorString=Ctor?toSource(Ctor):"";if(ctorString){switch(ctorString){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag;case promiseCtorString:return promiseTag;case setCtorString:return setTag;case weakMapCtorString:return weakMapTag;}}return result;};}var _getTag=getTag$1;var Stack=_Stack,equalArrays=_equalArrays,equalByTag=_equalByTag,equalObjects=_equalObjects,getTag=_getTag,isArray=isArray_1,isBuffer=isBufferExports,isTypedArray=isTypedArray_1;var COMPARE_PARTIAL_FLAG=1;var argsTag="[object Arguments]",arrayTag="[object Array]",objectTag="[object Object]";var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function baseIsEqualDeep$1(object,other,bitmask,customizer,equalFunc,stack){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=objIsArr?arrayTag:getTag(object),othTag=othIsArr?arrayTag:getTag(other);objTag=objTag==argsTag?objectTag:objTag;othTag=othTag==argsTag?objectTag:othTag;var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&isBuffer(object)){if(!isBuffer(other)){return false;}objIsArr=true;objIsObj=false;}if(isSameTag&&!objIsObj){stack||(stack=new Stack());return objIsArr||isTypedArray(object)?equalArrays(object,other,bitmask,customizer,equalFunc,stack):equalByTag(object,other,objTag,bitmask,customizer,equalFunc,stack);}if(!(bitmask&COMPARE_PARTIAL_FLAG)){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object.value():object,othUnwrapped=othIsWrapped?other.value():other;stack||(stack=new Stack());return equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack);}}if(!isSameTag){return false;}stack||(stack=new Stack());return equalObjects(object,other,bitmask,customizer,equalFunc,stack);}var _baseIsEqualDeep=baseIsEqualDeep$1;var baseIsEqualDeep=_baseIsEqualDeep,isObjectLike=isObjectLike_1;function baseIsEqual$1(value,other,bitmask,customizer,stack){if(value===other){return true;}if(value==null||other==null||!isObjectLike(value)&&!isObjectLike(other)){return value!==value&&other!==other;}return baseIsEqualDeep(value,other,bitmask,customizer,baseIsEqual$1,stack);}var _baseIsEqual=baseIsEqual$1;var baseIsEqual=_baseIsEqual;function isEqual(value,other){return baseIsEqual(value,other);}var isEqual_1=isEqual;const isEqual$1=/* @__PURE__ */getDefaultExportFromCjs(isEqual_1);function itemEquals(item1,item2,compareAttribute){if(!isSet(item1)||!isSet(item2)){return false;}if(item1===item2){return true;}return item1[compareAttribute]===item2[compareAttribute];}function includeItem(item,itemList,compareAttribute){if(!isSet(item)||!isSet(itemList)){return false;}const itemCompareValue=item[compareAttribute];const match=itemList.find(it=>{return it[compareAttribute]===itemCompareValue;});return Boolean(match);}function handleKeyboardFocusNavigation(key,focusedElement,focusableElements){let tabPosition=focusableElements.indexOf(focusedElement);const keyDown2=["ArrowDown","Down"];const keyUp2=["ArrowUp","Up"];if(keyDown2.includes(key)){tabPosition++;if(tabPosition===focusableElements.length){tabPosition=0;}}if(keyUp2.includes(key)){tabPosition--;if(tabPosition===-1){tabPosition=focusableElements.length-1;}}if(focusableElements[tabPosition]){focusableElements[tabPosition].focus();}}var TableScroll=/* @__PURE__ */(TableScroll2=>{TableScroll2["HORIZONTAL"]="horizontal";TableScroll2["VERTICAL"]="vertical";TableScroll2["BOTH"]="both";TableScroll2["NONE"]="none";return TableScroll2;})(TableScroll||{});const scrollClasses={["horizontal"/* HORIZONTAL */]:["table__scroll","table__scroll--horizontal"],["vertical"/* VERTICAL */]:["table__scroll","table__scroll--vertical"],["both"/* BOTH */]:["table__scroll","table__scroll--horizontal","table__scroll--vertical"],["none"/* NONE */]:[]};function tableScrollClasses(val){return scrollClasses[val];}const defaultOptions={stripClasses:["sr-only"]};function collapseWhitespace(text){return text.replace(/\s+/gm," ").replace(/(^ | $)/g,"");}function intersection(a,b){return a.filter(it=>b.includes(it));}function excludeClass(exclude){return node=>{var _a;if(typeof((_a=node.props)==null?void 0:_a.class)!=="string"){return true;}const classes=node.props.class.split(/\s+/);const matches=intersection(classes,exclude);return matches.length===0;};}function excludeComment(node){return node.type!==Comment;}function getTextContent(children,options){return children.filter(isVNode).filter(excludeComment).filter(excludeClass(options.stripClasses)).map(child=>{if(Array.isArray(child.children)){return getTextContent(child.children,options);}if(typeof child.children==="string"){return child.children;}}).join("");}function renderSlotText(render,props={},options){if(!render){return void 0;}const nodes=render(props);if(nodes.length===0){return void 0;}return collapseWhitespace(getTextContent(nodes,{...defaultOptions,...options}));}function getTextFromScopedSlot(slot){var _renderSlotText;return(_renderSlotText=renderSlotText(slot))!==null&&_renderSlotText!==void 0?_renderSlotText:"";}function dispatchComponentValidityEvent(element,detail){element.dispatchEvent(new CustomEvent("component-validity",{detail,bubbles:true}));}function dispatchComponentUnmountEvent(element){const event=new CustomEvent("component-unmount",{detail:{elementId:element.id},bubbles:true});element.dispatchEvent(event);}function refIsElement(value){return value instanceof Element;}function refIsElementArray(value){return Array.isArray(value)&&value.length>0&&value[0]instanceof Element;}function refIsHTMLElementArray(value){return Array.isArray(value)&&value.length>0&&value[0]instanceof HTMLElement;}function refIsVue(value){return(value==null?void 0:value.$el)!==void 0;}function refIsVueArray(value){return Array.isArray(value)&&value.length>0&&refIsVue(value[0]);}function getElementsFromVueRef(ref2){let result=[];if(refIsVueArray(ref2)){result=ref2.map(vueRef=>vueRef.$el);}else if(refIsElementArray(ref2)){result=ref2;}else if(isSet(ref2)){result=[getElementFromVueRef(ref2)];}return result;}function getSortedHTMLElementsFromVueRef(ref2){const htmlElements=getHTMLElementsFromVueRef(ref2);htmlElements.sort((lhs,rhs)=>{const lhsIndex=parseIntOrDefault(lhs.dataset.refIndex,-Infinity);const rhsIndex=parseIntOrDefault(rhs.dataset.refIndex,-Infinity);return lhsIndex===rhsIndex?0:lhsIndex-rhsIndex;});return htmlElements;}function parseIntOrDefault(value,defaultValue){if(typeof value==="string"){const parsed=parseInt(value,10);if(!isNaN(parsed)){return parsed;}}return defaultValue;}function getHTMLElementsFromVueRef(ref2){let result=[];if(isEmptyArray(ref2)){result=[];}else if(refIsVueArray(ref2)){result=ref2.map(vueRef=>vueRef.$el);}else if(refIsHTMLElementArray(ref2)){result=[...ref2];}else if(isSet(ref2)){result=[getHTMLElementFromVueRef(ref2)];}return result;}function isEmptyArray(value){return Array.isArray(value)&&value.length===0;}function findElementFromVueRef(ref2){if(refIsElement(ref2)){return ref2;}else if(refIsVue(ref2)){return ref2.$el;}}function findHTMLElementFromVueRef(ref2){const result=findElementFromVueRef(ref2);if(result instanceof HTMLElement){return result;}return void 0;}function getElementFromVueRef(ref2){const element=findElementFromVueRef(ref2);if(!isSet(element)){throw new Error(`Unable to find element from ${ref2}.`);}return element;}function getHTMLElementFromVueRef(ref2){const element=findElementFromVueRef(ref2);if(!isSet(element)){throw new Error(`Unable to find element from ${ref2}.`);}if(element instanceof HTMLElement){return element;}throw new Error(`Not instance of HTMLELement ${ref2}.`);}function emptyTableRow(textContent=""){function toPrimitive(hint){if(hint==="string"){return textContent;}else{return null;}}function toString(){return textContent;}const proxy=new Proxy(()=>textContent,{apply(){return textContent;},get(_target,prop){switch(prop){case Symbol.toPrimitive:return toPrimitive;case"toString":return toString;case"__v_isRef":return false;default:return proxy;}}});return proxy;}function lazyLoad(fn2){let cache;return()=>{var _cache2;return(_cache2=cache)!==null&&_cache2!==void 0?_cache2:cache=fn2();};}const eventTarget=lazyLoad(()=>new EventTarget());const fn=/* @__PURE__ */new Map();function $emit(type,...args){const event=new CustomEvent(type,{detail:args});eventTarget().dispatchEvent(event);}function $on(type,callback){fn.set(callback,event=>callback(...event.detail));eventTarget().addEventListener(type,fn.get(callback));}function $off(type,callback){eventTarget().removeEventListener(type,fn.get(callback));fn.delete(callback);}const EventBus={$emit,$on,$off};var FKUIConfigButtonOrder=/* @__PURE__ */(FKUIConfigButtonOrder2=>{FKUIConfigButtonOrder2[FKUIConfigButtonOrder2["LEFT_TO_RIGHT"]=0]="LEFT_TO_RIGHT";FKUIConfigButtonOrder2[FKUIConfigButtonOrder2["RIGHT_TO_LEFT"]=1]="RIGHT_TO_LEFT";return FKUIConfigButtonOrder2;})(FKUIConfigButtonOrder||{});let popupContainer=document.body;let production=true;const config={buttonOrder:FKUIConfigButtonOrder.LEFT_TO_RIGHT,teleportTarget:document.body,modalTarget:null,popupTarget:null,get popupContainer(){if(typeof popupContainer==="string"){const element=document.querySelector(popupContainer);if(!element){throw new Error(`Failed to find popupContainer element from selector "${popupContainer}"`);}return element;}else{return popupContainer;}},set popupContainer(value){popupContainer=value;},set production(value){production=value;configLogic.production=value;},get production(){return production;}};function setRunningContext(app){const fkuiContext={appContext:app._context};app.config.globalProperties.$fkui=fkuiContext;}function getRunningContext(callingInstance){if(!callingInstance.$fkui){throw new Error("Application running context is unset. Call `setRunningContext(app)` after `app = createApp(..)`.");}return callingInstance.$fkui;}function getTargetElement(target){if(!target){return document.body;}if(typeof target!=="string"){return target;}const element=document.querySelector(target);if(!element){throw new Error(`mountComponent(..) requires a target element (selector "${target}" returned no element)`);}return element;}function createContainer(options){const{attachTo,attachFirst}=options;const parent=getTargetElement(attachTo);const element=document.createElement("div");if(attachFirst){parent.insertBefore(element,parent.firstChild);}else{parent.appendChild(element);}return element;}function mountComponent(callingInstance,Component,options={}){if(!Component){throw new Error("mountComponent(..) called without a component");}const{attachTo,attachFirst=false,...data}=options;const el=createContainer({attachTo,attachFirst});const app=createApp(Component,data);const fkuiContext=getRunningContext(callingInstance);if(fkuiContext){Object.assign(app._context,fkuiContext.appContext);}app.mount(el);const unmount=app.unmount;app.unmount=()=>{unmount.call(app);if(el.parentNode){el.parentNode.removeChild(el);}};return app;}function unpackPayload(event,src){const defaultPayload={};const{reason=event,data:rawData}=src!==null&&src!==void 0?src:defaultPayload;const data=rawData;return{reason,data};}function openModal(callingInstance,Component,options){var _config$modalTarget;if(typeof options==="string"){return openModal(callingInstance,Component,{props:{content:options}});}const defaultOptions2={attachTo:(_config$modalTarget=config.modalTarget)!==null&&_config$modalTarget!==void 0?_config$modalTarget:config.teleportTarget,props:{}};const{attachTo,props}={...defaultOptions2,...options};return new Promise((resolve,reject)=>{const terminate=(event,payload)=>{try{const result=unpackPayload(event,payload);app.unmount();resolve(result);}catch(err){console.error(err);reject(err);}};const app=mountComponent(callingInstance,Component,{attachTo,isOpen:true,onClose(data){terminate("close",data);},...props});});}async function formModal(callingInstance,Component,options){var _ref;const props={size:(_ref=options==null?void 0:options.size)!==null&&_ref!==void 0?_ref:"",beforeSubmit:options==null?void 0:options.beforeSubmit,...(options==null?void 0:options.props)};const result=await openModal(callingInstance,Component,{props});if(result.reason==="submit"){return result.data;}else{return Promise.reject("cancel");}}var ModalReason=/* @__PURE__ */(ModalReason2=>{ModalReason2["CONFIRM"]="confirm";ModalReason2["DISMISS"]="dismiss";return ModalReason2;})(ModalReason||{});const sizes=["","small","medium","large","fullscreen","fullwidth"];function sizeClass(size){if(!sizes.includes(size)){throw new Error(`"${size}" is not a valid size`);}if(!size){return[];}else if(size==="fullscreen"){return[`modal__dialog-container--fullwidth`];}else{return[`modal__dialog-container--${size}`];}}function focusElement(element,container){if(elementIsRadioButton(element)){focusRadioButtonGroup(element,container);}else{focus$1(element);}}function focusRadioButtonGroup(element,container){const radioGroupInputs=container.querySelectorAll(`input[type="radio"][name="${element.name}"]`);const checkedRadioButton=Array.from(radioGroupInputs).find(inputEl=>inputEl.checked);if(checkedRadioButton){focus$1(checkedRadioButton);}else{focus$1(element);}}function elementIsRadioButton(element){return isHTMLInputElement(element)&&element.type==="radio";}function isHTMLInputElement(element){return element instanceof HTMLInputElement;}const _sfc_main$1b=defineComponent({name:"FModal",components:{FIcon},mixins:[TranslationMixin],inheritAttrs:true,props:{/**
30
+ isIndex(key,length)))){result.push(key);}}return result;}var _arrayLikeKeys=arrayLikeKeys$1;var objectProto$3=Object.prototype;function isPrototype$1(value){var Ctor=value&&value.constructor,proto=typeof Ctor=="function"&&Ctor.prototype||objectProto$3;return value===proto;}var _isPrototype=isPrototype$1;function overArg$1(func,transform){return function(arg){return func(transform(arg));};}var _overArg=overArg$1;var overArg=_overArg;var nativeKeys$1=overArg(Object.keys,Object);var _nativeKeys=nativeKeys$1;var isPrototype=_isPrototype,nativeKeys=_nativeKeys;var objectProto$2=Object.prototype;var hasOwnProperty$2=objectProto$2.hasOwnProperty;function baseKeys$1(object){if(!isPrototype(object)){return nativeKeys(object);}var result=[];for(var key in Object(object)){if(hasOwnProperty$2.call(object,key)&&key!="constructor"){result.push(key);}}return result;}var _baseKeys=baseKeys$1;var isFunction=isFunction_1,isLength=isLength_1;function isArrayLike$1(value){return value!=null&&isLength(value.length)&&!isFunction(value);}var isArrayLike_1=isArrayLike$1;var arrayLikeKeys=_arrayLikeKeys,baseKeys=_baseKeys,isArrayLike=isArrayLike_1;function keys$1(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object);}var keys_1=keys$1;var baseGetAllKeys=_baseGetAllKeys,getSymbols=_getSymbols,keys=keys_1;function getAllKeys$1(object){return baseGetAllKeys(object,keys,getSymbols);}var _getAllKeys=getAllKeys$1;var getAllKeys=_getAllKeys;var COMPARE_PARTIAL_FLAG$1=1;var objectProto$1=Object.prototype;var hasOwnProperty$1=objectProto$1.hasOwnProperty;function equalObjects$1(object,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG$1,objProps=getAllKeys(object),objLength=objProps.length,othProps=getAllKeys(other),othLength=othProps.length;if(objLength!=othLength&&!isPartial){return false;}var index=objLength;while(index--){var key=objProps[index];if(!(isPartial?key in other:hasOwnProperty$1.call(other,key))){return false;}}var objStacked=stack.get(object);var othStacked=stack.get(other);if(objStacked&&othStacked){return objStacked==other&&othStacked==object;}var result=true;stack.set(object,other);stack.set(other,object);var skipCtor=isPartial;while(++index<objLength){key=objProps[index];var objValue=object[key],othValue=other[key];if(customizer){var compared=isPartial?customizer(othValue,objValue,key,other,object,stack):customizer(objValue,othValue,key,object,other,stack);}if(!(compared===void 0?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack):compared)){result=false;break;}skipCtor||(skipCtor=key=="constructor");}if(result&&!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&"constructor"in object&&"constructor"in other&&!(typeof objCtor=="function"&&objCtor instanceof objCtor&&typeof othCtor=="function"&&othCtor instanceof othCtor)){result=false;}}stack["delete"](object);stack["delete"](other);return result;}var _equalObjects=equalObjects$1;var getNative$3=_getNative,root$3=_root;var DataView$1=getNative$3(root$3,"DataView");var _DataView=DataView$1;var getNative$2=_getNative,root$2=_root;var Promise$2=getNative$2(root$2,"Promise");var _Promise=Promise$2;var getNative$1=_getNative,root$1=_root;var Set$1=getNative$1(root$1,"Set");var _Set=Set$1;var getNative=_getNative,root=_root;var WeakMap$1=getNative(root,"WeakMap");var _WeakMap=WeakMap$1;var DataView=_DataView,Map$1=_Map,Promise$1=_Promise,Set=_Set,WeakMap=_WeakMap,baseGetTag=_baseGetTag,toSource=_toSource;var mapTag="[object Map]",objectTag$1="[object Object]",promiseTag="[object Promise]",setTag="[object Set]",weakMapTag="[object WeakMap]";var dataViewTag="[object DataView]";var dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map$1),promiseCtorString=toSource(Promise$1),setCtorString=toSource(Set),weakMapCtorString=toSource(WeakMap);var getTag$1=baseGetTag;if(DataView&&getTag$1(new DataView(new ArrayBuffer(1)))!=dataViewTag||Map$1&&getTag$1(new Map$1())!=mapTag||Promise$1&&getTag$1(Promise$1.resolve())!=promiseTag||Set&&getTag$1(new Set())!=setTag||WeakMap&&getTag$1(new WeakMap())!=weakMapTag){getTag$1=function(value){var result=baseGetTag(value),Ctor=result==objectTag$1?value.constructor:void 0,ctorString=Ctor?toSource(Ctor):"";if(ctorString){switch(ctorString){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag;case promiseCtorString:return promiseTag;case setCtorString:return setTag;case weakMapCtorString:return weakMapTag;}}return result;};}var _getTag=getTag$1;var Stack=_Stack,equalArrays=_equalArrays,equalByTag=_equalByTag,equalObjects=_equalObjects,getTag=_getTag,isArray=isArray_1,isBuffer=isBufferExports,isTypedArray=isTypedArray_1;var COMPARE_PARTIAL_FLAG=1;var argsTag="[object Arguments]",arrayTag="[object Array]",objectTag="[object Object]";var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function baseIsEqualDeep$1(object,other,bitmask,customizer,equalFunc,stack){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=objIsArr?arrayTag:getTag(object),othTag=othIsArr?arrayTag:getTag(other);objTag=objTag==argsTag?objectTag:objTag;othTag=othTag==argsTag?objectTag:othTag;var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&isBuffer(object)){if(!isBuffer(other)){return false;}objIsArr=true;objIsObj=false;}if(isSameTag&&!objIsObj){stack||(stack=new Stack());return objIsArr||isTypedArray(object)?equalArrays(object,other,bitmask,customizer,equalFunc,stack):equalByTag(object,other,objTag,bitmask,customizer,equalFunc,stack);}if(!(bitmask&COMPARE_PARTIAL_FLAG)){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object.value():object,othUnwrapped=othIsWrapped?other.value():other;stack||(stack=new Stack());return equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack);}}if(!isSameTag){return false;}stack||(stack=new Stack());return equalObjects(object,other,bitmask,customizer,equalFunc,stack);}var _baseIsEqualDeep=baseIsEqualDeep$1;var baseIsEqualDeep=_baseIsEqualDeep,isObjectLike=isObjectLike_1;function baseIsEqual$1(value,other,bitmask,customizer,stack){if(value===other){return true;}if(value==null||other==null||!isObjectLike(value)&&!isObjectLike(other)){return value!==value&&other!==other;}return baseIsEqualDeep(value,other,bitmask,customizer,baseIsEqual$1,stack);}var _baseIsEqual=baseIsEqual$1;var baseIsEqual=_baseIsEqual;function isEqual(value,other){return baseIsEqual(value,other);}var isEqual_1=isEqual;const isEqual$1=/* @__PURE__ */getDefaultExportFromCjs(isEqual_1);function itemEquals(item1,item2,compareAttribute){if(!isSet(item1)||!isSet(item2)){return false;}if(item1===item2){return true;}return item1[compareAttribute]===item2[compareAttribute];}function includeItem(item,itemList,compareAttribute){if(!isSet(item)||!isSet(itemList)){return false;}const itemCompareValue=item[compareAttribute];const match=itemList.find(it=>{return it[compareAttribute]===itemCompareValue;});return Boolean(match);}function handleKeyboardFocusNavigation(key,focusedElement,focusableElements){let tabPosition=focusableElements.indexOf(focusedElement);const keyDown2=["ArrowDown","Down"];const keyUp2=["ArrowUp","Up"];if(keyDown2.includes(key)){tabPosition++;if(tabPosition===focusableElements.length){tabPosition=0;}}if(keyUp2.includes(key)){tabPosition--;if(tabPosition===-1){tabPosition=focusableElements.length-1;}}if(focusableElements[tabPosition]){focusableElements[tabPosition].focus();}}var TableScroll=/* @__PURE__ */(TableScroll2=>{TableScroll2["HORIZONTAL"]="horizontal";TableScroll2["VERTICAL"]="vertical";TableScroll2["BOTH"]="both";TableScroll2["NONE"]="none";return TableScroll2;})(TableScroll||{});const scrollClasses={["horizontal"/* HORIZONTAL */]:["table__scroll","table__scroll--horizontal"],["vertical"/* VERTICAL */]:["table__scroll","table__scroll--vertical"],["both"/* BOTH */]:["table__scroll","table__scroll--horizontal","table__scroll--vertical"],["none"/* NONE */]:[]};function tableScrollClasses(val){return scrollClasses[val];}const defaultOptions={stripClasses:["sr-only"]};function collapseWhitespace(text){return text.replace(/\s+/gm," ").replace(/(^ | $)/g,"");}function intersection(a,b){return a.filter(it=>b.includes(it));}function excludeClass(exclude){return node=>{var _a;if(typeof((_a=node.props)==null?void 0:_a.class)!=="string"){return true;}const classes=node.props.class.split(/\s+/);const matches=intersection(classes,exclude);return matches.length===0;};}function excludeComment(node){return node.type!==Comment;}function getTextContent(children,options){return children.filter(isVNode).filter(excludeComment).filter(excludeClass(options.stripClasses)).map(child=>{if(Array.isArray(child.children)){return getTextContent(child.children,options);}if(typeof child.children==="string"){return child.children;}}).join("");}function renderSlotText(render,props={},options){if(!render){return void 0;}const nodes=render(props);if(nodes.length===0){return void 0;}return collapseWhitespace(getTextContent(nodes,{...defaultOptions,...options}));}function getTextFromScopedSlot(slot){var _renderSlotText;return(_renderSlotText=renderSlotText(slot))!==null&&_renderSlotText!==void 0?_renderSlotText:"";}function dispatchComponentValidityEvent(element,detail){element.dispatchEvent(new CustomEvent("component-validity",{detail,bubbles:true}));}function dispatchComponentUnmountEvent(element){const event=new CustomEvent("component-unmount",{detail:{elementId:element.id},bubbles:true});element.dispatchEvent(event);}function refIsElement(value){return value instanceof Element;}function refIsElementArray(value){return Array.isArray(value)&&value.length>0&&value[0]instanceof Element;}function refIsHTMLElementArray(value){return Array.isArray(value)&&value.length>0&&value[0]instanceof HTMLElement;}function refIsVue(value){return(value==null?void 0:value.$el)!==void 0;}function refIsVueArray(value){return Array.isArray(value)&&value.length>0&&refIsVue(value[0]);}function getElementsFromVueRef(ref2){let result=[];if(refIsVueArray(ref2)){result=ref2.map(vueRef=>vueRef.$el);}else if(refIsElementArray(ref2)){result=ref2;}else if(isSet(ref2)){result=[getElementFromVueRef(ref2)];}return result;}function getSortedHTMLElementsFromVueRef(ref2){const htmlElements=getHTMLElementsFromVueRef(ref2);htmlElements.sort((lhs,rhs)=>{const lhsIndex=parseIntOrDefault(lhs.dataset.refIndex,-Infinity);const rhsIndex=parseIntOrDefault(rhs.dataset.refIndex,-Infinity);return lhsIndex===rhsIndex?0:lhsIndex-rhsIndex;});return htmlElements;}function parseIntOrDefault(value,defaultValue){if(typeof value==="string"){const parsed=parseInt(value,10);if(!isNaN(parsed)){return parsed;}}return defaultValue;}function getHTMLElementsFromVueRef(ref2){let result=[];if(isEmptyArray(ref2)){result=[];}else if(refIsVueArray(ref2)){result=ref2.map(vueRef=>vueRef.$el);}else if(refIsHTMLElementArray(ref2)){result=[...ref2];}else if(isSet(ref2)){result=[getHTMLElementFromVueRef(ref2)];}return result;}function isEmptyArray(value){return Array.isArray(value)&&value.length===0;}function findElementFromVueRef(ref2){if(refIsElement(ref2)){return ref2;}else if(refIsVue(ref2)){return ref2.$el;}}function findHTMLElementFromVueRef(ref2){const result=findElementFromVueRef(ref2);if(result instanceof HTMLElement){return result;}return void 0;}function getElementFromVueRef(ref2){const element=findElementFromVueRef(ref2);if(!isSet(element)){throw new Error(`Unable to find element from ${ref2}.`);}return element;}function getHTMLElementFromVueRef(ref2){const element=findElementFromVueRef(ref2);if(!isSet(element)){throw new Error(`Unable to find element from ${ref2}.`);}if(element instanceof HTMLElement){return element;}throw new Error(`Not instance of HTMLELement ${ref2}.`);}function lazyLoad(fn2){let cache;return()=>{var _cache2;return(_cache2=cache)!==null&&_cache2!==void 0?_cache2:cache=fn2();};}const eventTarget=lazyLoad(()=>new EventTarget());const fn=/* @__PURE__ */new Map();function $emit(type,...args){const event=new CustomEvent(type,{detail:args});eventTarget().dispatchEvent(event);}function $on(type,callback){fn.set(callback,event=>callback(...event.detail));eventTarget().addEventListener(type,fn.get(callback));}function $off(type,callback){eventTarget().removeEventListener(type,fn.get(callback));fn.delete(callback);}const EventBus={$emit,$on,$off};var FKUIConfigButtonOrder=/* @__PURE__ */(FKUIConfigButtonOrder2=>{FKUIConfigButtonOrder2[FKUIConfigButtonOrder2["LEFT_TO_RIGHT"]=0]="LEFT_TO_RIGHT";FKUIConfigButtonOrder2[FKUIConfigButtonOrder2["RIGHT_TO_LEFT"]=1]="RIGHT_TO_LEFT";return FKUIConfigButtonOrder2;})(FKUIConfigButtonOrder||{});let popupContainer=document.body;let production=true;const config={buttonOrder:FKUIConfigButtonOrder.LEFT_TO_RIGHT,teleportTarget:document.body,modalTarget:null,popupTarget:null,get popupContainer(){if(typeof popupContainer==="string"){const element=document.querySelector(popupContainer);if(!element){throw new Error(`Failed to find popupContainer element from selector "${popupContainer}"`);}return element;}else{return popupContainer;}},set popupContainer(value){popupContainer=value;},set production(value){production=value;configLogic.production=value;},get production(){return production;}};function setRunningContext(app){const fkuiContext={appContext:app._context};app.config.globalProperties.$fkui=fkuiContext;}function getRunningContext(callingInstance){if(!callingInstance.$fkui){throw new Error("Application running context is unset. Call `setRunningContext(app)` after `app = createApp(..)`.");}return callingInstance.$fkui;}function getTargetElement(target){if(!target){return document.body;}if(typeof target!=="string"){return target;}const element=document.querySelector(target);if(!element){throw new Error(`mountComponent(..) requires a target element (selector "${target}" returned no element)`);}return element;}function createContainer(options){const{attachTo,attachFirst}=options;const parent=getTargetElement(attachTo);const element=document.createElement("div");if(attachFirst){parent.insertBefore(element,parent.firstChild);}else{parent.appendChild(element);}return element;}function mountComponent(callingInstance,Component,options={}){if(!Component){throw new Error("mountComponent(..) called without a component");}const{attachTo,attachFirst=false,...data}=options;const el=createContainer({attachTo,attachFirst});const app=createApp(Component,data);const fkuiContext=getRunningContext(callingInstance);if(fkuiContext){Object.assign(app._context,fkuiContext.appContext);}app.mount(el);const unmount=app.unmount;app.unmount=()=>{unmount.call(app);if(el.parentNode){el.parentNode.removeChild(el);}};return app;}function unpackPayload(event,src){const defaultPayload={};const{reason=event,data:rawData}=src!==null&&src!==void 0?src:defaultPayload;const data=rawData;return{reason,data};}function openModal(callingInstance,Component,options){var _config$modalTarget;if(typeof options==="string"){return openModal(callingInstance,Component,{props:{content:options}});}const defaultOptions2={attachTo:(_config$modalTarget=config.modalTarget)!==null&&_config$modalTarget!==void 0?_config$modalTarget:config.teleportTarget,props:{}};const{attachTo,props}={...defaultOptions2,...options};return new Promise((resolve,reject)=>{const terminate=(event,payload)=>{try{const result=unpackPayload(event,payload);app.unmount();resolve(result);}catch(err){console.error(err);reject(err);}};const app=mountComponent(callingInstance,Component,{attachTo,isOpen:true,onClose(data){terminate("close",data);},...props});});}async function formModal(callingInstance,Component,options){var _ref;const props={size:(_ref=options==null?void 0:options.size)!==null&&_ref!==void 0?_ref:"",beforeSubmit:options==null?void 0:options.beforeSubmit,...(options==null?void 0:options.props)};const result=await openModal(callingInstance,Component,{props});if(result.reason==="submit"){return result.data;}else{return Promise.reject("cancel");}}var ModalReason=/* @__PURE__ */(ModalReason2=>{ModalReason2["CONFIRM"]="confirm";ModalReason2["DISMISS"]="dismiss";return ModalReason2;})(ModalReason||{});const sizes=["","small","medium","large","fullscreen","fullwidth"];function sizeClass(size){if(!sizes.includes(size)){throw new Error(`"${size}" is not a valid size`);}if(!size){return[];}else if(size==="fullscreen"){return[`modal__dialog-container--fullwidth`];}else{return[`modal__dialog-container--${size}`];}}function focusElement(element,container){if(elementIsRadioButton(element)){focusRadioButtonGroup(element,container);}else{focus$1(element);}}function focusRadioButtonGroup(element,container){const radioGroupInputs=container.querySelectorAll(`input[type="radio"][name="${element.name}"]`);const checkedRadioButton=Array.from(radioGroupInputs).find(inputEl=>inputEl.checked);if(checkedRadioButton){focus$1(checkedRadioButton);}else{focus$1(element);}}function elementIsRadioButton(element){return isHTMLInputElement(element)&&element.type==="radio";}function isHTMLInputElement(element){return element instanceof HTMLInputElement;}const _sfc_main$1b=defineComponent({name:"FModal",components:{FIcon},mixins:[TranslationMixin],inheritAttrs:true,props:{/**
31
31
  * The id for the root element id attribute.
32
32
  * If the prop is not set a random value will be generated.
33
33
  */id:{type:String,required:false,default:()=>ElementIdService.generateElementId()},/**
@@ -309,7 +309,7 @@ injected(){return this;}},methods:{updateExpandedFlag(){const checkboxInput=getH
309
309
  * Property for changing the "modify" modal heading
310
310
  */modifyModalHeader:{type:String,required:false,default:TranslationService.provider.translate("fkui.crud-dataset.modal.header.modify","Ändra rad")},/**
311
311
  * Property for changing the "delete" modal heading
312
- */deleteModalHeader:{type:String,required:false,default:TranslationService.provider.translate("fkui.crud-dataset.modal.header.delete","Är du säker på att du vill ta bort raden?")}},emits:["change","created","deleted","updated","update:modelValue"],data(){return{result:[],Operation,operation:Operation.NONE,item:null,originalItemToUpdate:null,isFormModalOpen:false,isConfirmModalOpen:false,callbackAfterItemAdd(){},callbackBeforeItemDelete(){}};},computed:{confirmButtonText(){return this.operation===Operation.ADD?this.$t("fkui.crud-dataset.modal.confirm.add","Lägg till"):this.$t("fkui.crud-dataset.modal.confirm.modify","Spara");},cancelButtonText(){return this.operation===Operation.ADD?this.$t("fkui.crud-dataset.modal.cancel.add","Avbryt"):this.$t("fkui.crud-dataset.modal.cancel.modify","Avbryt");},confirmDeleteButtons(){return[{label:this.$t("fkui.crud-dataset.modal.confirm.delete","Ja, ta bort"),type:"primary",event:"confirm"},{label:this.$t("fkui.crud-dataset.modal.cancel.delete","Nej, avbryt"),type:"secondary"}];},hasAddSlot(){return Boolean(this.$slots.add);},hasDeleteSlot(){return Boolean(this.$slots.delete);},hasModifySlot(){return Boolean(this.$slots.modify);},formModalHeader(){return this.operation===Operation.ADD?this.addNewModalHeader:this.modifyModalHeader;}},watch:{modelValue:{immediate:true,deep:true,handler(data){this.result=[...data];}}},mounted(){if(!this.hasAddSlot&&!this.hasDeleteSlot&&!this.hasModifySlot){throw Error("Atleast one template of the following must be defined. #add, #delete or #modify");}},methods:{createItem(){if(!this.hasAddSlot){throw Error("No template is defined for #add");}this.operation=Operation.ADD;this.item=this.beforeCreate?this.beforeCreate():{};this.isFormModalOpen=true;},deleteItem(item){if(!this.hasDeleteSlot){throw Error("No template is defined for #delete");}this.operation=Operation.DELETE;this.item=item;this.isConfirmModalOpen=true;},onDeleteConfirm(){if(!this.item){return;}this.callbackBeforeItemDelete(this.item);this.result=this.result.filter(item=>item!==this.item);this.$emit("deleted",this.item);this.$emit("update:modelValue",this.result);this.$emit("change",this.result);alertScreenReader(this.$t("fkui.crud-dataset.aria-live.delete","Raden har tagits bort"),{assertive:true});},onDeleteClose(e){this.onModalClose();if(e.reason==="close"&&this.onCancel){this.onCancel();}},onModalClose(){this.isFormModalOpen=false;this.isConfirmModalOpen=false;},onFormModalSubmit(){if(!this.item){return;}if(this.operation===Operation.ADD){this.result.push(this.item);this.$emit("created",this.item);this.$emit("update:modelValue",this.result);this.$emit("change",this.result);this.callbackAfterItemAdd(this.item);alertScreenReader(this.$t("fkui.crud-dataset.aria-live.add","En rad har lagts till"),{assertive:true});}else if(this.operation===Operation.MODIFY){if(this.originalItemToUpdate){Object.assign(this.originalItemToUpdate,this.item);}else{this.originalItemToUpdate=this.item;}this.$emit("updated",this.originalItemToUpdate);this.$emit("update:modelValue",this.result);this.$emit("change",this.result);alertScreenReader(this.$t("fkui.crud-dataset.aria-live.modify","Raden har ändrats"),{assertive:true});}this.isFormModalOpen=false;},updateItem(item){if(!this.hasModifySlot){throw Error("No template is defined for #modify");}this.operation=Operation.MODIFY;this.originalItemToUpdate=item;this.item=deepClone(item);this.isFormModalOpen=true;}}});const _hoisted_1$F={class:"crud-dataset"};const _hoisted_2$t={key:0};function _sfc_render$J(_ctx,_cache,$props,$setup,$data,$options){const _component_f_icon=resolveComponent("f-icon");const _component_f_form_modal=resolveComponent("f-form-modal");const _component_f_confirm_modal=resolveComponent("f-confirm-modal");return openBlock(),createElementBlock("div",_hoisted_1$F,[renderSlot(_ctx.$slots,"default"),createTextVNode(),_ctx.hasAddSlot?(openBlock(),createElementBlock("div",_hoisted_2$t,[createElementVNode("button",{"data-test":"f-crud-dataset-add-button",type:"button",class:"button button--tertiary crud-dataset__add-button",onClick:_cache[0]||(_cache[0]=$event=>_ctx.createItem())},[createVNode(_component_f_icon,{class:"button__icon",name:"plus"}),createTextVNode(),renderSlot(_ctx.$slots,"add-button",{},()=>[createTextVNode(toDisplayString(_ctx.$t("fkui.crud-dataset.button.add","Lägg till ny")),1/* TEXT */)])])])):createCommentVNode("v-if",true),createTextVNode(),createVNode(_component_f_form_modal,{"is-open":_ctx.isFormModalOpen,"aria-close-text":_ctx.$t("fkui.crud-dataset.modal.close","Stäng"),"use-error-list":false,"before-submit":_ctx.beforeSubmit,"before-validation":_ctx.beforeValidation,"on-cancel":_ctx.onCancel,onClose:_ctx.onModalClose,onCancel:_ctx.onCancel,onSubmit:_ctx.onFormModalSubmit},{header:withCtx(()=>[createTextVNode(toDisplayString(_ctx.formModalHeader),1/* TEXT */)]),"input-text-fields":withCtx(()=>[_ctx.operation===_ctx.Operation.ADD?renderSlot(_ctx.$slots,"add",normalizeProps(mergeProps({key:0},{item:_ctx.item}))):createCommentVNode("v-if",true),createTextVNode(),_ctx.operation===_ctx.Operation.MODIFY?renderSlot(_ctx.$slots,"modify",normalizeProps(mergeProps({key:1},{item:_ctx.item}))):createCommentVNode("v-if",true)]),"submit-button-text":withCtx(()=>[createTextVNode(toDisplayString(_ctx.confirmButtonText),1/* TEXT */)]),"cancel-button-text":withCtx(()=>[createTextVNode(toDisplayString(_ctx.cancelButtonText),1/* TEXT */)]),_:3/* FORWARDED */},8,["is-open","aria-close-text","before-submit","before-validation","on-cancel","onClose","onCancel","onSubmit"]),createTextVNode(),createVNode(_component_f_confirm_modal,{"is-open":_ctx.isConfirmModalOpen,buttons:_ctx.confirmDeleteButtons,onConfirm:_ctx.onDeleteConfirm,onClose:_ctx.onDeleteClose},{heading:withCtx(()=>[createTextVNode(toDisplayString(_ctx.deleteModalHeader),1/* TEXT */)]),content:withCtx(()=>[renderSlot(_ctx.$slots,"delete",normalizeProps(guardReactiveProps({item:_ctx.item})))]),_:3/* FORWARDED */},8,["is-open","buttons","onConfirm","onClose"])]);}const FCrudDataset=/* @__PURE__ */_export_sfc(_sfc_main$T,[["render",_sfc_render$J]]);function FCrudDatasetInjected(){return{delete:inject("delete"),modify:inject("modify")};}const _sfc_main$S=defineComponent({name:"FCrudButton",components:{FIcon},mixins:[TranslationMixin],props:{action:{type:String,required:true,validator(value){return["delete","modify"].includes(value);}},icon:{type:Boolean,default:false},item:{type:Object,required:true},label:{type:Boolean,default:false}},setup(){return FCrudDatasetInjected();},computed:{iconName(){if(this.action==="delete"){return"trashcan";}else{return"pen";}},buttonText(){if(this.action==="delete"){return this.$t("fkui.crud-button.delete","Ta bort");}else{return this.$t("fkui.crud-button.modify","Ändra");}}},methods:{executeAction(){if(this.action==="delete"){this.delete(this.item);}else{this.modify(this.item);}}}});const _hoisted_1$E={key:1,class:"sr-only"};function _sfc_render$I(_ctx,_cache,$props,$setup,$data,$options){const _component_f_icon=resolveComponent("f-icon");return openBlock(),createElementBlock("button",{type:"button",class:"button button--small button--tertiary",onClick:_cache[0]||(_cache[0]=(...args)=>_ctx.executeAction&&_ctx.executeAction(...args))},[_ctx.icon?(openBlock(),createBlock(_component_f_icon,{key:0,class:"button__icon",name:_ctx.iconName},null,8,["name"])):createCommentVNode("v-if",true),createTextVNode(),!_ctx.label?(openBlock(),createElementBlock("span",_hoisted_1$E,[renderSlot(_ctx.$slots,"default",{},()=>[createTextVNode(toDisplayString(_ctx.buttonText),1/* TEXT */)])])):createCommentVNode("v-if",true),createTextVNode(),_ctx.label?renderSlot(_ctx.$slots,"default",{key:2},()=>[createTextVNode(toDisplayString(_ctx.buttonText),1/* TEXT */)]):createCommentVNode("v-if",true)]);}const FCrudButton=/* @__PURE__ */_export_sfc(_sfc_main$S,[["render",_sfc_render$I]]);function ActivateItemInjected(){return{registerCallbackAfterItemAdd:inject("registerCallbackAfterItemAdd",()=>void 0),registerCallbackBeforeItemDelete:inject("registerCallbackBeforeItemDelete",()=>void 0)};}var FTableColumnType=/* @__PURE__ */(FTableColumnType2=>{FTableColumnType2["TEXT"]="text";FTableColumnType2["DATE"]="date";FTableColumnType2["NUMERIC"]="numeric";FTableColumnType2["ACTION"]="action";return FTableColumnType2;})(FTableColumnType||{});var FTableColumnSize=/* @__PURE__ */(FTableColumnSize2=>{FTableColumnSize2["EXPAND"]="table__column--expand";FTableColumnSize2["SHRINK"]="table__column--shrink";return FTableColumnSize2;})(FTableColumnSize||{});var FTableColumnSort=/* @__PURE__ */(FTableColumnSort2=>{FTableColumnSort2["UNSORTED"]="unsorted";FTableColumnSort2["ASCENDING"]="ascending";FTableColumnSort2["DESCENDING"]="descending";return FTableColumnSort2;})(FTableColumnSort||{});function addColumn(src,column){if(!src.some(col=>col.name===column.name)){return[...src,column];}return src;}function setVisibilityColumn(src,id,visible){const column=src.find(col=>col.name===id);if(column){column.visible=visible;}}function updateSortOrder(src,columnName,ascending){src.forEach(column=>{if(column.name===columnName){column.sort=ascending?"ascending":"descending";}else{column.sort="unsorted";}});}function setSortableColumns(src,columnNames){for(const columnName of columnNames){const foundColumn=src.find(col=>col.name===columnName);if(foundColumn){foundColumn.sortable=true;}}}function getSortableIconName(column){switch(column.sort){case"unsorted":return"sort";case"ascending":return"caret-up";case"descending":return"caret-down";default:return"";}}function getSortableIconClasses(column){const classes=["table__column__header__icon"];if(column.sort==="unsorted"){classes.push("table__column__header__icon--discrete");}return classes;}function isTableColumnType(value){return["text","date","numeric","action"].includes(value);}function FTableInjected(){return{addColumn:inject("addColumn"),setVisibilityColumn:inject("setVisibilityColumn"),textFieldTableMode:true};}const _sfc_main$R=defineComponent({name:"FTableColumn",inheritAttrs:false,props:{/**
312
+ */deleteModalHeader:{type:String,required:false,default:TranslationService.provider.translate("fkui.crud-dataset.modal.header.delete","Är du säker på att du vill ta bort raden?")}},emits:["change","created","deleted","updated","update:modelValue"],data(){return{result:[],Operation,operation:Operation.NONE,item:null,originalItemToUpdate:null,isFormModalOpen:false,isConfirmModalOpen:false,callbackAfterItemAdd(){},callbackBeforeItemDelete(){}};},computed:{confirmButtonText(){return this.operation===Operation.ADD?this.$t("fkui.crud-dataset.modal.confirm.add","Lägg till"):this.$t("fkui.crud-dataset.modal.confirm.modify","Spara");},cancelButtonText(){return this.operation===Operation.ADD?this.$t("fkui.crud-dataset.modal.cancel.add","Avbryt"):this.$t("fkui.crud-dataset.modal.cancel.modify","Avbryt");},confirmDeleteButtons(){return[{label:this.$t("fkui.crud-dataset.modal.confirm.delete","Ja, ta bort"),type:"primary",event:"confirm"},{label:this.$t("fkui.crud-dataset.modal.cancel.delete","Nej, avbryt"),type:"secondary"}];},hasAddSlot(){return Boolean(this.$slots.add);},hasDeleteSlot(){return Boolean(this.$slots.delete);},hasModifySlot(){return Boolean(this.$slots.modify);},formModalHeader(){return this.operation===Operation.ADD?this.addNewModalHeader:this.modifyModalHeader;}},watch:{modelValue:{immediate:true,deep:true,handler(data){this.result=[...data];}}},mounted(){if(!this.hasAddSlot&&!this.hasDeleteSlot&&!this.hasModifySlot){throw Error("Atleast one template of the following must be defined. #add, #delete or #modify");}},methods:{createItem(){if(!this.hasAddSlot){throw Error("No template is defined for #add");}this.operation=Operation.ADD;this.item=this.beforeCreate?this.beforeCreate():{};this.isFormModalOpen=true;},deleteItem(item){if(!this.hasDeleteSlot){throw Error("No template is defined for #delete");}this.operation=Operation.DELETE;this.item=item;this.isConfirmModalOpen=true;},onDeleteConfirm(){if(!this.item){return;}this.callbackBeforeItemDelete(this.item);this.result=this.result.filter(item=>item!==this.item);this.$emit("deleted",this.item);this.$emit("update:modelValue",this.result);this.$emit("change",this.result);alertScreenReader(this.$t("fkui.crud-dataset.aria-live.delete","Raden har tagits bort"),{assertive:true});},onDeleteClose(e){this.onModalClose();if(e.reason==="close"&&this.onCancel){this.onCancel();}},onModalClose(){this.isFormModalOpen=false;this.isConfirmModalOpen=false;},onFormModalSubmit(){if(!this.item){return;}if(this.operation===Operation.ADD){this.result.push(this.item);this.$emit("created",this.item);this.$emit("update:modelValue",this.result);this.$emit("change",this.result);this.callbackAfterItemAdd(this.item);alertScreenReader(this.$t("fkui.crud-dataset.aria-live.add","En rad har lagts till"),{assertive:true});}else if(this.operation===Operation.MODIFY){if(this.originalItemToUpdate){Object.assign(this.originalItemToUpdate,this.item);}else{this.originalItemToUpdate=this.item;}this.$emit("updated",this.originalItemToUpdate);this.$emit("update:modelValue",this.result);this.$emit("change",this.result);alertScreenReader(this.$t("fkui.crud-dataset.aria-live.modify","Raden har ändrats"),{assertive:true});}this.isFormModalOpen=false;},updateItem(item){if(!this.hasModifySlot){throw Error("No template is defined for #modify");}this.operation=Operation.MODIFY;this.originalItemToUpdate=item;this.item=deepClone(item);this.isFormModalOpen=true;}}});const _hoisted_1$F={class:"crud-dataset"};const _hoisted_2$t={key:0};function _sfc_render$J(_ctx,_cache,$props,$setup,$data,$options){const _component_f_icon=resolveComponent("f-icon");const _component_f_form_modal=resolveComponent("f-form-modal");const _component_f_confirm_modal=resolveComponent("f-confirm-modal");return openBlock(),createElementBlock("div",_hoisted_1$F,[renderSlot(_ctx.$slots,"default"),createTextVNode(),_ctx.hasAddSlot?(openBlock(),createElementBlock("div",_hoisted_2$t,[createElementVNode("button",{"data-test":"f-crud-dataset-add-button",type:"button",class:"button button--tertiary crud-dataset__add-button",onClick:_cache[0]||(_cache[0]=$event=>_ctx.createItem())},[createVNode(_component_f_icon,{class:"button__icon",name:"plus"}),createTextVNode(),renderSlot(_ctx.$slots,"add-button",{},()=>[createTextVNode(toDisplayString(_ctx.$t("fkui.crud-dataset.button.add","Lägg till ny")),1/* TEXT */)])])])):createCommentVNode("v-if",true),createTextVNode(),createVNode(_component_f_form_modal,{"is-open":_ctx.isFormModalOpen,"aria-close-text":_ctx.$t("fkui.crud-dataset.modal.close","Stäng"),"use-error-list":false,"before-submit":_ctx.beforeSubmit,"before-validation":_ctx.beforeValidation,"on-cancel":_ctx.onCancel,onClose:_ctx.onModalClose,onCancel:_ctx.onCancel,onSubmit:_ctx.onFormModalSubmit},{header:withCtx(()=>[createTextVNode(toDisplayString(_ctx.formModalHeader),1/* TEXT */)]),"input-text-fields":withCtx(()=>[_ctx.operation===_ctx.Operation.ADD?renderSlot(_ctx.$slots,"add",normalizeProps(mergeProps({key:0},{item:_ctx.item}))):createCommentVNode("v-if",true),createTextVNode(),_ctx.operation===_ctx.Operation.MODIFY?renderSlot(_ctx.$slots,"modify",normalizeProps(mergeProps({key:1},{item:_ctx.item}))):createCommentVNode("v-if",true)]),"submit-button-text":withCtx(()=>[createTextVNode(toDisplayString(_ctx.confirmButtonText),1/* TEXT */)]),"cancel-button-text":withCtx(()=>[createTextVNode(toDisplayString(_ctx.cancelButtonText),1/* TEXT */)]),_:3/* FORWARDED */},8,["is-open","aria-close-text","before-submit","before-validation","on-cancel","onClose","onCancel","onSubmit"]),createTextVNode(),createVNode(_component_f_confirm_modal,{"is-open":_ctx.isConfirmModalOpen,buttons:_ctx.confirmDeleteButtons,onConfirm:_ctx.onDeleteConfirm,onClose:_ctx.onDeleteClose},{heading:withCtx(()=>[createTextVNode(toDisplayString(_ctx.deleteModalHeader),1/* TEXT */)]),content:withCtx(()=>[renderSlot(_ctx.$slots,"delete",normalizeProps(guardReactiveProps({item:_ctx.item})))]),_:3/* FORWARDED */},8,["is-open","buttons","onConfirm","onClose"])]);}const FCrudDataset=/* @__PURE__ */_export_sfc(_sfc_main$T,[["render",_sfc_render$J]]);function FCrudDatasetInjected(){return{delete:inject("delete"),modify:inject("modify")};}const _sfc_main$S=defineComponent({name:"FCrudButton",components:{FIcon},mixins:[TranslationMixin],props:{action:{type:String,required:true,validator(value){return["delete","modify"].includes(value);}},icon:{type:Boolean,default:false},item:{type:Object,required:true},label:{type:Boolean,default:false}},setup(){return FCrudDatasetInjected();},computed:{iconName(){if(this.action==="delete"){return"trashcan";}else{return"pen";}},buttonText(){if(this.action==="delete"){return this.$t("fkui.crud-button.delete","Ta bort");}else{return this.$t("fkui.crud-button.modify","Ändra");}}},methods:{executeAction(){if(this.action==="delete"){this.delete(this.item);}else{this.modify(this.item);}}}});const _hoisted_1$E={key:1,class:"sr-only"};function _sfc_render$I(_ctx,_cache,$props,$setup,$data,$options){const _component_f_icon=resolveComponent("f-icon");return openBlock(),createElementBlock("button",{type:"button",class:"button button--small button--tertiary",onClick:_cache[0]||(_cache[0]=(...args)=>_ctx.executeAction&&_ctx.executeAction(...args))},[_ctx.icon?(openBlock(),createBlock(_component_f_icon,{key:0,class:"button__icon",name:_ctx.iconName},null,8,["name"])):createCommentVNode("v-if",true),createTextVNode(),!_ctx.label?(openBlock(),createElementBlock("span",_hoisted_1$E,[renderSlot(_ctx.$slots,"default",{},()=>[createTextVNode(toDisplayString(_ctx.buttonText),1/* TEXT */)])])):createCommentVNode("v-if",true),createTextVNode(),_ctx.label?renderSlot(_ctx.$slots,"default",{key:2},()=>[createTextVNode(toDisplayString(_ctx.buttonText),1/* TEXT */)]):createCommentVNode("v-if",true)]);}const FCrudButton=/* @__PURE__ */_export_sfc(_sfc_main$S,[["render",_sfc_render$I]]);function ActivateItemInjected(){return{registerCallbackAfterItemAdd:inject("registerCallbackAfterItemAdd",()=>void 0),registerCallbackBeforeItemDelete:inject("registerCallbackBeforeItemDelete",()=>void 0)};}var FTableColumnType=/* @__PURE__ */(FTableColumnType2=>{FTableColumnType2["TEXT"]="text";FTableColumnType2["DATE"]="date";FTableColumnType2["NUMERIC"]="numeric";FTableColumnType2["ACTION"]="action";return FTableColumnType2;})(FTableColumnType||{});var FTableColumnSize=/* @__PURE__ */(FTableColumnSize2=>{FTableColumnSize2["EXPAND"]="table__column--expand";FTableColumnSize2["SHRINK"]="table__column--shrink";return FTableColumnSize2;})(FTableColumnSize||{});var FTableColumnSort=/* @__PURE__ */(FTableColumnSort2=>{FTableColumnSort2["UNSORTED"]="unsorted";FTableColumnSort2["ASCENDING"]="ascending";FTableColumnSort2["DESCENDING"]="descending";return FTableColumnSort2;})(FTableColumnSort||{});function addColumn(src,column){if(!src.some(col=>col.name===column.name)){return[...src,column];}return src;}function setVisibilityColumn(src,id,visible){const column=src.find(col=>col.name===id);if(column){column.visible=visible;}}function updateSortOrder(src,columnName,ascending){src.forEach(column=>{if(column.name===columnName){column.sort=ascending?"ascending":"descending";}else{column.sort="unsorted";}});}function setSortableColumns(src,columnNames){for(const columnName of columnNames){const foundColumn=src.find(col=>col.name===columnName);if(foundColumn){foundColumn.sortable=true;}}}function getSortableIconName(column){switch(column.sort){case"unsorted":return"sort";case"ascending":return"caret-up";case"descending":return"caret-down";default:return"";}}function getSortableIconClasses(column){const classes=["table__column__header__icon"];if(column.sort==="unsorted"){classes.push("table__column__header__icon--discrete");}return classes;}function isTableColumnType(value){return["text","date","numeric","action"].includes(value);}function FTableInjected(){return{addColumn:inject("addColumn"),setVisibilityColumn:inject("setVisibilityColumn"),textFieldTableMode:true,renderColumns:inject("renderColumns",false)};}const _sfc_main$R=defineComponent({name:"FTableColumn",inheritAttrs:false,props:{/**
313
313
  * Unique (per-table) identifier.
314
314
  *
315
315
  * Typically set to the row property displayed but any unique string can
@@ -345,7 +345,7 @@ injected(){return this;}},methods:{updateExpandedFlag(){const checkboxInput=getH
345
345
  * - `"date"`: date (should be YYYY-MM-DD)
346
346
  * - `"numeric"`: numeric data
347
347
  * - `"action"`: buttons to perform actions on row
348
- */type:{type:String,required:false,default:FTableColumnType.TEXT,validator(value){return isTableColumnType(value);}}},setup(){return FTableInjected();},computed:{classes(){return["table__column",`table__column--${this.type}`];},scope(){return this.rowHeader?"row":null;},tagName(){if(this.rowHeader){return"th";}else{return"td";}}},watch:{visible:{handler:function(){this.setVisibilityColumn(this.name,this.visible);}}},created(){if(this.shrink&&this.expand){throw new Error("Table cannot have both shrink and expand enabled at the same time");}const size=this.shrink?FTableColumnSize.SHRINK:FTableColumnSize.EXPAND;this.addColumn({name:this.name,title:this.title,description:this.description||void 0,id:ElementIdService.generateElementId("column"),size,type:this.type,visible:this.visible,sortable:false,sort:FTableColumnSort.UNSORTED});}});const _hoisted_1$D=/* @__PURE__ */createElementVNode("span",{class:"sr-only"}," ",-1/* HOISTED */);function _sfc_render$H(_ctx,_cache,$props,$setup,$data,$options){return _ctx.visible?(openBlock(),createBlock(resolveDynamicComponent(_ctx.tagName),mergeProps({key:0,class:_ctx.classes,scope:_ctx.scope},_ctx.$attrs),{default:withCtx(()=>[renderSlot(_ctx.$slots,"default"),createTextVNode(),_hoisted_1$D]),_:3/* FORWARDED */},16,["class","scope"])):createCommentVNode("v-if",true);}const FTableColumn=/* @__PURE__ */_export_sfc(_sfc_main$R,[["render",_sfc_render$H]]);function FSortFilterDatasetInjected(){return{sort:inject("sort",()=>void 0),registerCallbackOnSort:inject("registerCallbackOnSort",()=>void 0),registerCallbackOnMount:inject("registerCallbackOnMount",()=>void 0)};}const _sfc_main$Q=defineComponent({name:"FLabel",components:{FIcon},props:{/**
348
+ */type:{type:String,required:false,default:FTableColumnType.TEXT,validator(value){return isTableColumnType(value);}}},setup(){return FTableInjected();},computed:{classes(){return["table__column",`table__column--${this.type}`];},scope(){return this.rowHeader?"row":null;},tagName(){if(this.rowHeader){return"th";}else{return"td";}}},watch:{visible:{handler:function(){this.setVisibilityColumn(this.name,this.visible);}}},created(){if(this.shrink&&this.expand){throw new Error("Table cannot have both shrink and expand enabled at the same time");}const size=this.shrink?FTableColumnSize.SHRINK:FTableColumnSize.EXPAND;this.addColumn({name:this.name,title:this.title,description:this.description||void 0,id:ElementIdService.generateElementId("column"),size,type:this.type,visible:this.visible,sortable:false,sort:FTableColumnSort.UNSORTED});}});const _hoisted_1$D=/* @__PURE__ */createElementVNode("span",{class:"sr-only"}," ",-1/* HOISTED */);function _sfc_render$H(_ctx,_cache,$props,$setup,$data,$options){return _ctx.renderColumns&&_ctx.visible?(openBlock(),createBlock(resolveDynamicComponent(_ctx.tagName),mergeProps({key:0,class:_ctx.classes,scope:_ctx.scope},_ctx.$attrs),{default:withCtx(()=>[renderSlot(_ctx.$slots,"default"),createTextVNode(),_hoisted_1$D]),_:3/* FORWARDED */},16,["class","scope"])):createCommentVNode("v-if",true);}const FTableColumn=/* @__PURE__ */_export_sfc(_sfc_main$R,[["render",_sfc_render$H]]);function FSortFilterDatasetInjected(){return{sort:inject("sort",()=>void 0),registerCallbackOnSort:inject("registerCallbackOnSort",()=>void 0),registerCallbackOnMount:inject("registerCallbackOnMount",()=>void 0)};}const _sfc_main$Q=defineComponent({name:"FLabel",components:{FIcon},props:{/**
349
349
  * The id for the form element the label is bound to.
350
350
  */for:{type:String,required:false,default:void 0}},data(){return{descriptionClass:["label__description"],discreteDescriptionClass:["label__description","label__description--discrete"]};},computed:{forProperty(){return this.for;},hasDefaultSlot(){return hasSlot(this,"default");},hasErrorMessageSlot(){return hasSlot(this,"error-message");},hasDescriptionSlot(){return hasSlot(this,"description");}}});const _hoisted_1$C={key:0};const _hoisted_2$s={key:0,class:"tooltip-before"};const _hoisted_3$p=["for"];const _hoisted_4$k=["for"];const _hoisted_5$i={key:0,class:"label__message label__message--error"};const _hoisted_6$e=["for"];const _hoisted_7$c={key:0,class:"label__message label__message--error"};function _sfc_render$G(_ctx,_cache,$props,$setup,$data,$options){const _component_f_icon=resolveComponent("f-icon");return _ctx.$slots.tooltip?(openBlock(),createElementBlock("div",_hoisted_1$C,[_ctx.hasDefaultSlot?(openBlock(),createElementBlock("div",_hoisted_2$s,[createElementVNode("label",{class:"label tooltip-before__label",for:_ctx.forProperty},[renderSlot(_ctx.$slots,"default")],8,_hoisted_3$p)])):createCommentVNode("v-if",true),createTextVNode(),renderSlot(_ctx.$slots,"tooltip"),createTextVNode(),_ctx.hasDescriptionSlot||_ctx.hasErrorMessageSlot?(openBlock(),createElementBlock("label",{key:1,class:"label sr-separator",for:_ctx.forProperty},[renderSlot(_ctx.$slots,"description",normalizeProps(guardReactiveProps({descriptionClass:_ctx.descriptionClass,discreteDescriptionClass:_ctx.discreteDescriptionClass}))),createTextVNode(),_ctx.hasErrorMessageSlot?(openBlock(),createElementBlock("span",_hoisted_5$i,[createVNode(_component_f_icon,{class:"label__icon--left",name:"error"}),createTextVNode(),renderSlot(_ctx.$slots,"error-message")])):createCommentVNode("v-if",true)],8,_hoisted_4$k)):createCommentVNode("v-if",true)])):(openBlock(),createElementBlock("label",{key:1,class:"label",for:_ctx.forProperty},[renderSlot(_ctx.$slots,"default"),createTextVNode(),renderSlot(_ctx.$slots,"description",normalizeProps(guardReactiveProps({descriptionClass:_ctx.descriptionClass,discreteDescriptionClass:_ctx.discreteDescriptionClass}))),createTextVNode(),_ctx.hasErrorMessageSlot?(openBlock(),createElementBlock("span",_hoisted_7$c,[createVNode(_component_f_icon,{class:"label__icon--left",name:"error"}),createTextVNode(),renderSlot(_ctx.$slots,"error-message")])):createCommentVNode("v-if",true)],8,_hoisted_6$e));}const FLabel=/* @__PURE__ */_export_sfc(_sfc_main$Q,[["render",_sfc_render$G]]);function resolveWidthClass$1(words,inline){return inline?void 0:words.split(" ").map(word=>`i-width-${word}`).join(" ");}const _sfc_main$P=defineComponent({name:"FSelectField",components:{FIcon,FLabel},inheritAttrs:false,props:{/**
351
351
  * The id for the select id attribute.
@@ -478,7 +478,7 @@ defaultText:"",descriptionText:"",descriptionScreenReaderText:"",discreteDescrip
478
478
  * - `"vertical"`: Enables vertical scrolling
479
479
  * - `"both"`: Enables scrolling in both directions
480
480
  * - `"none"`: Disables scrolling (default)
481
- */scroll:{type:String,default:TableScroll.NONE,validator:function(value){const types=Object.values(TableScroll);return types.includes(value);}}},setup(){return FSortFilterDatasetInjected();},data(){return{columns:[],emptyRow:emptyTableRow()};},computed:{hasCaption(){return hasSlot(this,"caption",{},{stripClasses:[]});},tableClasses(){const classes=[];if(this.striped){classes.push("table--striped");}return classes;},isEmpty(){return this.rows.length===0;},visibleColumns(){return this.columns.filter(col=>col.visible);},hasInitiateColumns(){return this.columns.length>0;},wrapperClasses(){return tableScrollClasses(this.scroll);},tabindex(){return this.scroll!==TableScroll.NONE?0:void 0;}},mounted(){this.registerCallbackOnSort(this.callbackOnSort);this.registerCallbackOnMount(this.callbackSortableColumns);},methods:{rowKey(item){const key=item[this.keyAttribute];if(typeof key==="undefined"){throw new Error(`Key attribute [${this.keyAttribute}]' is missing in row`);}return String(key);},columnClasses(column){const classes=["table__column",`table__column--${column.type}`,column.size];if(column.sortable){classes.push("table__column--sortable");}return classes;},iconClasses(column){return getSortableIconClasses(column);},iconName(column){return getSortableIconName(column);},onClickColumnHeader(column){if(!column.sortable){return;}let columnName=column.name;if(column.sort===FTableColumnSort.DESCENDING){columnName="";column.sort=FTableColumnSort.UNSORTED;}this.sort(columnName,column.sort!==FTableColumnSort.ASCENDING);},callbackOnSort(columnName,ascending){updateSortOrder(this.columns,columnName,ascending);},callbackSortableColumns(columnNames){setSortableColumns(this.columns,columnNames);},escapeNewlines(value){return value.replace(/\n/g,"<br/>");}}});const _hoisted_1$v=["tabindex"];const _hoisted_2$p={key:0};const _hoisted_3$m={class:"table__row"};const _hoisted_4$h=["innerHTML"];const _hoisted_5$f={key:1,class:"table__column__description"};const _hoisted_6$b={key:0};const _hoisted_7$a={key:1};const _hoisted_8$8=["colspan"];function _sfc_render$y(_ctx,_cache,$props,$setup,$data,$options){const _component_f_icon=resolveComponent("f-icon");return openBlock(),createElementBlock("div",{class:normalizeClass(_ctx.wrapperClasses)},[createElementVNode("table",mergeProps({class:["table",_ctx.tableClasses],tabindex:_ctx.tabindex},_ctx.$attrs),[_ctx.hasCaption?(openBlock(),createElementBlock("caption",_hoisted_2$p,[renderSlot(_ctx.$slots,"caption")])):createCommentVNode("v-if",true),createTextVNode(),createElementVNode("colgroup",null,[(openBlock(true),createElementBlock(Fragment,null,renderList(_ctx.columns,column=>{return openBlock(),createElementBlock("col",{key:column.id,class:normalizeClass(column.size)},null,2/* CLASS */);}),128/* KEYED_FRAGMENT */))]),createTextVNode(),createElementVNode("thead",null,[createElementVNode("tr",_hoisted_3$m,[(openBlock(true),createElementBlock(Fragment,null,renderList(_ctx.visibleColumns,column=>{return openBlock(),createElementBlock("th",mergeProps({key:column.id,scope:"col",class:_ctx.columnClasses(column)},toHandlers(column.sortable?{click:()=>_ctx.onClickColumnHeader(column)}:{},true)),[createElementVNode("span",{innerHTML:_ctx.escapeNewlines(column.title)},null,8,_hoisted_4$h),createTextVNode(),column.sortable?(openBlock(),createBlock(_component_f_icon,{key:0,class:normalizeClass(_ctx.iconClasses(column)),name:_ctx.iconName(column)},null,8,["class","name"])):createCommentVNode("v-if",true),createTextVNode(),column.description?(openBlock(),createElementBlock("span",_hoisted_5$f,toDisplayString(column.description),1/* TEXT */)):createCommentVNode("v-if",true)],16/* FULL_PROPS */);}),128/* KEYED_FRAGMENT */))])]),createTextVNode(),createElementVNode("tbody",null,[!_ctx.hasInitiateColumns?(openBlock(),createElementBlock("tr",_hoisted_6$b,[renderSlot(_ctx.$slots,"default",normalizeProps(guardReactiveProps({row:_ctx.emptyRow})))])):createCommentVNode("v-if",true),createTextVNode(),_ctx.isEmpty?(openBlock(),createElementBlock("tr",_hoisted_7$a,[createElementVNode("td",{class:"table__column table__column--action",colspan:_ctx.columns.length},[renderSlot(_ctx.$slots,"empty",{},()=>[createTextVNode(toDisplayString(_ctx.$t("fkui.data-table.empty","Tabellen är tom")),1/* TEXT */)])],8,_hoisted_8$8)])):createCommentVNode("v-if",true),createTextVNode(),(openBlock(true),createElementBlock(Fragment,null,renderList(_ctx.rows,row=>{return openBlock(),createElementBlock("tr",{key:_ctx.rowKey(row),class:"table__row"},[renderSlot(_ctx.$slots,"default",mergeProps({ref_for:true},{row}))]);}),128/* KEYED_FRAGMENT */))])],16,_hoisted_1$v)],2/* CLASS */);}const FDataTable=/* @__PURE__ */_export_sfc(_sfc_main$y,[["render",_sfc_render$y]]);function isDayEnabled(day,config2){return passesMinDate(day,config2.minDate)&&passesMaxDate(day,config2.maxDate)&&passesInvalidDates(day,config2.invalidDates)&&passesInvalidWeekdays(day,config2.invalidWeekdays);}function passesMinDate(day,config2){if(!config2){throw new Error("MinDate validator must be set");}if(!config2.limit){throw new Error("Invalid minDate config");}return config2.limit<=day.toString();}function passesMaxDate(day,config2){if(!config2){throw new Error("MaxDate validator must be set");}if(!config2.limit){throw new Error("Invalid maxDate config");}return day.toString()<=config2.limit;}function passesInvalidDates(day,config2){if(!config2){return true;}if(!isInvalidDatesConfig(config2)){throw new Error("Invalid invalidDates config");}return!config2.dates.includes(day.toString());}function passesInvalidWeekdays(day,config2){if(!config2){return true;}if(!isInvalidWeekdaysConfig(config2)){throw new Error("Invalid invalidWeekdays config");}return!config2.days.includes(day.weekDay);}function updateCalendarValue(datepicker,newValue){const{isDateEnabled,minDate,maxDate}=datepicker;const newCalendarValue=FDate.fromIso(newValue);if(!newCalendarValue.isValid()){datepicker.calendarValue=void 0;}else if(isInvalidMonth(newCalendarValue,minDate,maxDate)){datepicker.calendarValue=void 0;}else if(!isDateEnabled(newCalendarValue)){datepicker.calendarValue=void 0;}else if(!datepicker.calendarValue||!datepicker.calendarValue.equals(newCalendarValue)){datepicker.calendarValue=newCalendarValue;}}function getDisplayMonth(minDate,maxDate,selectedDate,initialMonth){let effectiveDate;if(selectedDate&&selectedDate.isValid()){effectiveDate=selectedDate;}else if(initialMonth&&initialMonth.isValid()){effectiveDate=initialMonth;}else{effectiveDate=FDate.now();}let month;if(!isInvalidMonth(effectiveDate,minDate,maxDate)){month=effectiveDate.startOfMonth();}else if(isMonthBefore(effectiveDate,minDate)){month=minDate==null?void 0:minDate.startOfMonth();}else if(isMonthAfter(effectiveDate,maxDate)){month=maxDate==null?void 0:maxDate.startOfMonth();}return month||FDate.now().startOfMonth();}const _sfc_main$x=defineComponent({name:"FDatepickerField",components:{FCalendar,IPopup,FTextField,FIcon,FCalendarDay},mixins:[TranslationMixin],inheritAttrs:false,props:{/** Selected day.
481
+ */scroll:{type:String,default:TableScroll.NONE,validator(value){const types=Object.values(TableScroll);return types.includes(value);}}},setup(props){provide("renderColumns",computed(()=>props.rows.length>0));return FSortFilterDatasetInjected();},data(){return{columns:[]};},computed:{hasCaption(){return hasSlot(this,"caption",{},{stripClasses:[]});},tableClasses(){const classes=[];if(this.striped){classes.push("table--striped");}return classes;},isEmpty(){return this.rows.length===0;},visibleColumns(){return this.columns.filter(col=>col.visible);},wrapperClasses(){return tableScrollClasses(this.scroll);},tabindex(){return this.scroll!==TableScroll.NONE?0:void 0;}},mounted(){this.registerCallbackOnSort(this.callbackOnSort);this.registerCallbackOnMount(this.callbackSortableColumns);},methods:{rowKey(item){const key=item[this.keyAttribute];if(typeof key==="undefined"){throw new Error(`Key attribute [${this.keyAttribute}]' is missing in row`);}return String(key);},columnClasses(column){const classes=["table__column",`table__column--${column.type}`,column.size];if(column.sortable){classes.push("table__column--sortable");}return classes;},iconClasses(column){return getSortableIconClasses(column);},iconName(column){return getSortableIconName(column);},onClickColumnHeader(column){if(!column.sortable){return;}let columnName=column.name;if(column.sort===FTableColumnSort.DESCENDING){columnName="";column.sort=FTableColumnSort.UNSORTED;}this.sort(columnName,column.sort!==FTableColumnSort.ASCENDING);},callbackOnSort(columnName,ascending){updateSortOrder(this.columns,columnName,ascending);},callbackSortableColumns(columnNames){setSortableColumns(this.columns,columnNames);},escapeNewlines(value){return value.replace(/\n/g,"<br/>");}}});const _hoisted_1$v=["tabindex"];const _hoisted_2$p={key:0};const _hoisted_3$m={class:"table__row"};const _hoisted_4$h=["innerHTML"];const _hoisted_5$f={key:1,class:"table__column__description"};const _hoisted_6$b={key:0};const _hoisted_7$a={key:1};const _hoisted_8$8=["colspan"];function _sfc_render$y(_ctx,_cache,$props,$setup,$data,$options){const _component_f_icon=resolveComponent("f-icon");return openBlock(),createElementBlock("div",{class:normalizeClass(_ctx.wrapperClasses)},[createElementVNode("table",mergeProps({class:["table",_ctx.tableClasses],tabindex:_ctx.tabindex},_ctx.$attrs),[_ctx.hasCaption?(openBlock(),createElementBlock("caption",_hoisted_2$p,[renderSlot(_ctx.$slots,"caption")])):createCommentVNode("v-if",true),createTextVNode(),createElementVNode("colgroup",null,[(openBlock(true),createElementBlock(Fragment,null,renderList(_ctx.columns,column=>{return openBlock(),createElementBlock("col",{key:column.id,class:normalizeClass(column.size)},null,2/* CLASS */);}),128/* KEYED_FRAGMENT */))]),createTextVNode(),createElementVNode("thead",null,[createElementVNode("tr",_hoisted_3$m,[(openBlock(true),createElementBlock(Fragment,null,renderList(_ctx.visibleColumns,column=>{return openBlock(),createElementBlock("th",mergeProps({key:column.id,scope:"col",class:_ctx.columnClasses(column)},toHandlers(column.sortable?{click:()=>_ctx.onClickColumnHeader(column)}:{},true)),[createElementVNode("span",{innerHTML:_ctx.escapeNewlines(column.title)},null,8,_hoisted_4$h),createTextVNode(),column.sortable?(openBlock(),createBlock(_component_f_icon,{key:0,class:normalizeClass(_ctx.iconClasses(column)),name:_ctx.iconName(column)},null,8,["class","name"])):createCommentVNode("v-if",true),createTextVNode(),column.description?(openBlock(),createElementBlock("span",_hoisted_5$f,toDisplayString(column.description),1/* TEXT */)):createCommentVNode("v-if",true)],16/* FULL_PROPS */);}),128/* KEYED_FRAGMENT */))])]),createTextVNode(),createElementVNode("tbody",null,[_ctx.isEmpty&&_ctx.columns.length===0?(openBlock(),createElementBlock("tr",_hoisted_6$b,[renderSlot(_ctx.$slots,"default",normalizeProps(guardReactiveProps({row:{}})))])):createCommentVNode("v-if",true),createTextVNode(),_ctx.isEmpty?(openBlock(),createElementBlock("tr",_hoisted_7$a,[createElementVNode("td",{class:"table__column table__column--action",colspan:_ctx.columns.length},[renderSlot(_ctx.$slots,"empty",{},()=>[createTextVNode(toDisplayString(_ctx.$t("fkui.data-table.empty","Tabellen är tom")),1/* TEXT */)])],8,_hoisted_8$8)])):createCommentVNode("v-if",true),createTextVNode(),(openBlock(true),createElementBlock(Fragment,null,renderList(_ctx.rows,row=>{return openBlock(),createElementBlock("tr",{key:_ctx.rowKey(row),class:"table__row"},[renderSlot(_ctx.$slots,"default",mergeProps({ref_for:true},{row}))]);}),128/* KEYED_FRAGMENT */))])],16,_hoisted_1$v)],2/* CLASS */);}const FDataTable=/* @__PURE__ */_export_sfc(_sfc_main$y,[["render",_sfc_render$y]]);function isDayEnabled(day,config2){return passesMinDate(day,config2.minDate)&&passesMaxDate(day,config2.maxDate)&&passesInvalidDates(day,config2.invalidDates)&&passesInvalidWeekdays(day,config2.invalidWeekdays);}function passesMinDate(day,config2){if(!config2){throw new Error("MinDate validator must be set");}if(!config2.limit){throw new Error("Invalid minDate config");}return config2.limit<=day.toString();}function passesMaxDate(day,config2){if(!config2){throw new Error("MaxDate validator must be set");}if(!config2.limit){throw new Error("Invalid maxDate config");}return day.toString()<=config2.limit;}function passesInvalidDates(day,config2){if(!config2){return true;}if(!isInvalidDatesConfig(config2)){throw new Error("Invalid invalidDates config");}return!config2.dates.includes(day.toString());}function passesInvalidWeekdays(day,config2){if(!config2){return true;}if(!isInvalidWeekdaysConfig(config2)){throw new Error("Invalid invalidWeekdays config");}return!config2.days.includes(day.weekDay);}function updateCalendarValue(datepicker,newValue){const{isDateEnabled,minDate,maxDate}=datepicker;const newCalendarValue=FDate.fromIso(newValue);if(!newCalendarValue.isValid()){datepicker.calendarValue=void 0;}else if(isInvalidMonth(newCalendarValue,minDate,maxDate)){datepicker.calendarValue=void 0;}else if(!isDateEnabled(newCalendarValue)){datepicker.calendarValue=void 0;}else if(!datepicker.calendarValue||!datepicker.calendarValue.equals(newCalendarValue)){datepicker.calendarValue=newCalendarValue;}}function getDisplayMonth(minDate,maxDate,selectedDate,initialMonth){let effectiveDate;if(selectedDate&&selectedDate.isValid()){effectiveDate=selectedDate;}else if(initialMonth&&initialMonth.isValid()){effectiveDate=initialMonth;}else{effectiveDate=FDate.now();}let month;if(!isInvalidMonth(effectiveDate,minDate,maxDate)){month=effectiveDate.startOfMonth();}else if(isMonthBefore(effectiveDate,minDate)){month=minDate==null?void 0:minDate.startOfMonth();}else if(isMonthAfter(effectiveDate,maxDate)){month=maxDate==null?void 0:maxDate.startOfMonth();}return month||FDate.now().startOfMonth();}const _sfc_main$x=defineComponent({name:"FDatepickerField",components:{FCalendar,IPopup,FTextField,FIcon,FCalendarDay},mixins:[TranslationMixin],inheritAttrs:false,props:{/** Selected day.
482
482
  * @model
483
483
  */modelValue:{type:String,required:false,default:""},/**
484
484
  * Initial month. Applies when no day is selected.
@@ -822,7 +822,7 @@ onItemFocus(event){if(event&&event.target){event.target.style.position="relative
822
822
  * @event collapse
823
823
  * @param row
824
824
  * @type {ListItem}
825
- */"collapse"],setup(props,context){const sortFilterDatasetInjected=FSortFilterDatasetInjected();const activateItemInjected=ActivateItemInjected();const expandableTable=useExpandableTable(props.expandableAttribute,props.keyAttribute,props.expandableDescribedby,context.emit,context.slots);return{...sortFilterDatasetInjected,...activateItemInjected,...expandableTable};},data(){return{activeRow:void 0,columns:[],emptyRow:emptyTableRow(),selectedRows:[],tr:[]};},computed:{hasCaption(){return hasSlot(this,"caption",{},{stripClasses:[]});},hasCheckboxDescription(){return hasSlot(this,"checkbox-description",{row:this.emptyRow});},hasInitiateColumns(){return this.columns.length>0;},isEmpty(){return this.rows.length===0;},visibleColumns(){return this.columns.filter(col=>col.visible);},tableClasses(){const classes=[];if(this.selectable){classes.push("table--selectable");}if(this.hover){classes.push("table--hover");}return classes;},tableRole(){return this.isExpandableTable?"treegrid":"grid";},wrapperClasses(){return tableScrollClasses(this.scroll);},nbOfColumns(){let columnCount=this.columns.length;if(this.selectable){columnCount++;}if(this.isExpandableTable){columnCount++;}return columnCount;}},watch:{rows:{immediate:true,deep:true,handler:function(){if(this.modelValue){this.selectedRows=this.modelValue.filter(row=>{return includeItem(row,this.rows,this.keyAttribute);});}}}},updated(){const tbodyElement=this.$refs["tbodyElement"];const trElements=[].slice.call(tbodyElement.children);const trInteractableElements=trElements.filter(tr=>{return tr.tabIndex===0;});this.tr=trInteractableElements;},mounted(){this.registerCallbackOnSort(this.callbackOnSort);this.registerCallbackOnMount(this.callbackSortableColumns);this.registerCallbackAfterItemAdd(this.callbackAfterItemAdd);this.registerCallbackBeforeItemDelete(this.callbackBeforeItemDelete);},methods:{isActive(row){return itemEquals(row,this.activeRow,this.keyAttribute);},isSelected(row){return includeItem(row,this.selectedRows,this.keyAttribute);},onKeydownExpandable(event,index){if(event.key===" "||event.key==="Spacebar"){event.preventDefault();return;}onKeydown.call(this,event,index);},onKeydown(event,index){onKeydown.call(this,event,index);},onClick(event,row){const{target}=event;const isRelevant=["TD","TH"].includes(target.nodeName);if(isRelevant){const parent=target.parentElement;this.activate(row,parent);}},activate(row,tr){this.$emit("click",row);if(this.isExpandableTable&&this.hasExpandableContent(row)){this.toggleExpanded(row);}if(!itemEquals(row,this.activeRow,this.keyAttribute)){this.$emit("change",row);this.activeRow=row;if(tr){tr.focus();const td=tr.children[0];forceRepaintIE11(td);}}},rowDescription(row){const slot=this.$slots["row-description"];return renderSlotText(slot,{row});},onSelect(row){if(includeItem(row,this.selectedRows,this.keyAttribute)){this.selectedRows=this.selectedRows.filter(i=>!itemEquals(i,row,this.keyAttribute));this.$emit("unselect",row);}else{this.selectedRows.push(row);this.$emit("select",row);}this.updateVModelWithSelectedRows();this.$forceUpdate();},updateVModelWithSelectedRows(){if(this.modelValue){this.$emit("update:modelValue",this.selectedRows);this.$emit("update",this.selectedRows);}},rowClasses(row,index){const active=this.isActive(row)?["table__row--active"]:[];const selected=this.isSelected(row)?["table__row--selected"]:[];const isExpandableRow=this.isExpandableTable&&this.hasExpandableContent(row);const expandable=isExpandableRow?["table__row--expandable"]:[];const expanded=this.isExpanded(row)?["table__row--expanded-border"]:[];const striped=this.striped&&index%2!==0?["table__row--striped"]:[];return["table__row",...active,...selected,...striped,...expandable,...expanded];},rowKey(row){const key=row[this.keyAttribute];if(typeof key==="undefined"){throw new Error(`Key attribute [${this.keyAttribute}]' is missing in row`);}return String(key);},columnClasses(column){const sortable=column.sortable?["table__column--sortable"]:[];return["table__column",`table__column--${column.type}`,...sortable,column.size];},iconClasses(column){return getSortableIconClasses(column);},iconName(column){return getSortableIconName(column);},onClickColumnHeader(column){if(!column.sortable){return;}let columnName=column.name;if(column.sort===FTableColumnSort.DESCENDING){columnName="";column.sort=FTableColumnSort.UNSORTED;}this.sort(columnName,column.sort!==FTableColumnSort.ASCENDING);},callbackOnSort(columnName,ascending){updateSortOrder(this.columns,columnName,ascending);},callbackSortableColumns(columnNames){setSortableColumns(this.columns,columnNames);},callbackAfterItemAdd(item){this.activate(item,null);},callbackBeforeItemDelete(item){if(this.rows.length===0){return;}let targetIndex=this.rows.indexOf(item)-1;if(targetIndex<0&&this.rows.length>1){targetIndex=1;}else if(targetIndex<0){targetIndex=0;}this.activate(this.rows[targetIndex],this.tr[targetIndex]);},escapeNewlines(value){return value.replace(/\n/g,"<br/>");}}});const _hoisted_1$6=["role"];const _hoisted_2$3={key:0};const _hoisted_3$3={key:0,class:"table__column--shrink"};const _hoisted_4$2={key:1,class:"table__column--shrink"};const _hoisted_5$2={class:"table__row"};const _hoisted_6$2={key:0,scope:"col"};const _hoisted_7$2={class:"sr-only"};const _hoisted_8$2={key:1,scope:"col"};const _hoisted_9$2={class:"sr-only"};const _hoisted_10$2=["innerHTML"];const _hoisted_11$1={key:1,class:"table__column__description"};const _hoisted_12$1={ref:"tbodyElement"};const _hoisted_13$1=["aria-label","aria-expanded","aria-level","aria-describedby","onKeydown","onClick"];const _hoisted_14$1={key:0};const _hoisted_15$1={key:0,class:"table__expand-icon"};const _hoisted_16={key:1,class:"table__column--selectable"};const _hoisted_17={class:"table__input"};const _hoisted_18={key:0,class:"sr-only"};const _hoisted_19=/* @__PURE__ */createElementVNode("td",null,null,-1/* HOISTED */);const _hoisted_20={key:0,class:"table__column--selectable"};const _hoisted_21=["colspan"];const _hoisted_22={key:0};const _hoisted_23={hidden:""};const _hoisted_24=["colspan"];function _sfc_render$6(_ctx,_cache,$props,$setup,$data,$options){const _component_f_icon=resolveComponent("f-icon");const _component_f_checkbox_field=resolveComponent("f-checkbox-field");return openBlock(),createElementBlock("div",{class:normalizeClass(_ctx.wrapperClasses)},[createElementVNode("table",mergeProps({class:["table",_ctx.tableClasses],role:_ctx.tableRole},_ctx.$attrs),[_ctx.hasCaption?(openBlock(),createElementBlock("caption",_hoisted_2$3,[renderSlot(_ctx.$slots,"caption")])):createCommentVNode("v-if",true),createTextVNode(),createElementVNode("colgroup",null,[_ctx.isExpandableTable?(openBlock(),createElementBlock("col",_hoisted_3$3)):createCommentVNode("v-if",true),createTextVNode(),_ctx.selectable?(openBlock(),createElementBlock("col",_hoisted_4$2)):createCommentVNode("v-if",true),createTextVNode(),(openBlock(true),createElementBlock(Fragment,null,renderList(_ctx.columns,column=>{return openBlock(),createElementBlock("col",{key:column.id,class:normalizeClass(column.size)},null,2/* CLASS */);}),128/* KEYED_FRAGMENT */))]),createTextVNode(),createElementVNode("thead",null,[createElementVNode("tr",_hoisted_5$2,[_ctx.isExpandableTable?(openBlock(),createElementBlock("th",_hoisted_6$2,[createElementVNode("span",_hoisted_7$2,toDisplayString(_ctx.$t("fkui.interactive-table.select","Expandera")),1/* TEXT */)])):createCommentVNode("v-if",true),createTextVNode(),_ctx.selectable?(openBlock(),createElementBlock("th",_hoisted_8$2,[createElementVNode("span",_hoisted_9$2,toDisplayString(_ctx.$t("fkui.interactive-table.select","Markera")),1/* TEXT */)])):createCommentVNode("v-if",true),createTextVNode(),(openBlock(true),createElementBlock(Fragment,null,renderList(_ctx.visibleColumns,column=>{return openBlock(),createElementBlock("th",mergeProps({key:column.id,scope:"col",class:_ctx.columnClasses(column)},toHandlers(column.sortable?{click:()=>_ctx.onClickColumnHeader(column)}:{},true)),[createElementVNode("span",{innerHTML:_ctx.escapeNewlines(column.title)},null,8,_hoisted_10$2),createTextVNode(),column.sortable?(openBlock(),createBlock(_component_f_icon,{key:0,class:normalizeClass(_ctx.iconClasses(column)),name:_ctx.iconName(column)},null,8,["class","name"])):createCommentVNode("v-if",true),createTextVNode(),column.description?(openBlock(),createElementBlock("span",_hoisted_11$1,toDisplayString(column.description),1/* TEXT */)):createCommentVNode("v-if",true)],16/* FULL_PROPS */);}),128/* KEYED_FRAGMENT */))])]),createTextVNode(),createElementVNode("tbody",_hoisted_12$1,[(openBlock(true),createElementBlock(Fragment,null,renderList(_ctx.rows,(row,index)=>{return openBlock(),createElementBlock(Fragment,{key:_ctx.rowKey(row)},[createElementVNode("tr",{class:normalizeClass(_ctx.rowClasses(row,index)),"aria-label":_ctx.rowDescription(row),"aria-expanded":_ctx.rowAriaExpanded(row),"aria-level":_ctx.isExpandableTable?1:void 0,"aria-describedby":_ctx.getExpandableDescribedby(row),tabindex:"0",onKeydown:withModifiers($event=>_ctx.onKeydown($event,index),["self"]),onClick:$event=>_ctx.onClick($event,row,index)},[_ctx.isExpandableTable?(openBlock(),createElementBlock("td",_hoisted_14$1,[_ctx.hasExpandableContent(row)?(openBlock(),createElementBlock("div",_hoisted_15$1,[createVNode(_component_f_icon,{name:"arrow-right",rotate:_ctx.isExpanded(row)?"270":"90"},null,8,["rotate"])])):createCommentVNode("v-if",true)])):createCommentVNode("v-if",true),createTextVNode(),_ctx.selectable?(openBlock(),createElementBlock("td",_hoisted_16,[createElementVNode("div",_hoisted_17,[createVNode(_component_f_checkbox_field,{value:true,"model-value":_ctx.isSelected(row),onClick:withModifiers($event=>_ctx.onSelect(row),["self"])},{default:withCtx(()=>[_ctx.hasCheckboxDescription?(openBlock(),createElementBlock("span",_hoisted_18,[renderSlot(_ctx.$slots,"checkbox-description",mergeProps({ref_for:true},{row}))])):createCommentVNode("v-if",true)]),_:2/* DYNAMIC */},1032,["model-value","onClick"])])])):createCommentVNode("v-if",true),createTextVNode(),renderSlot(_ctx.$slots,"default",mergeProps({ref_for:true},{row}))],42,_hoisted_13$1),createTextVNode(),_ctx.isExpandableTable&&_ctx.hasExpandableContent(row)?(openBlock(true),createElementBlock(Fragment,{key:0},renderList(_ctx.expandableRows(row),(expandableRow,expandableIndex)=>{return openBlock(),createElementBlock("tr",{key:_ctx.rowKey(expandableRow),"aria-level":"2",class:normalizeClass(_ctx.expandableRowClasses(row,expandableIndex))},[_hoisted_19,createTextVNode(),_ctx.selectable?(openBlock(),createElementBlock("td",_hoisted_20)):createCommentVNode("v-if",true),createTextVNode(),!_ctx.hasExpandableSlot?(openBlock(true),createElementBlock(Fragment,{key:1},renderList(_ctx.columns,(column,columnIndex)=>{return openBlock(),createElementBlock("td",{key:`${_ctx.rowKey(expandableRow)}${column.name}`,class:normalizeClass(_ctx.expandableColumnClasses(column,columnIndex))},toDisplayString(expandableRow[column.name]),3/* TEXT, CLASS */);}),128/* KEYED_FRAGMENT */)):(openBlock(),createElementBlock("td",{key:2,class:"table__column table__column--indented",colspan:_ctx.columns.length},[renderSlot(_ctx.$slots,"expandable",mergeProps({ref_for:true},{expandableRow,parentRow:row}))],8,_hoisted_21))],2/* CLASS */);}),128/* KEYED_FRAGMENT */)):createCommentVNode("v-if",true)],64/* STABLE_FRAGMENT */);}),128/* KEYED_FRAGMENT */)),createTextVNode(),!_ctx.hasInitiateColumns?(openBlock(),createElementBlock("tr",_hoisted_22,[renderSlot(_ctx.$slots,"default",normalizeProps(guardReactiveProps({row:_ctx.emptyRow})))])):createCommentVNode("v-if",true),createTextVNode(),_ctx.isEmpty?(openBlock(),createElementBlock(Fragment,{key:1},[withDirectives(createElementVNode("tr",_hoisted_23,[renderSlot(_ctx.$slots,"default",normalizeProps(guardReactiveProps({row:_ctx.emptyRow})))],512/* NEED_PATCH */),[[vShow,false]]),createTextVNode(),createElementVNode("tr",null,[createElementVNode("td",{class:"table__column table__column--action",colspan:_ctx.nbOfColumns},[renderSlot(_ctx.$slots,"empty",{},()=>[createTextVNode(toDisplayString(_ctx.$t("fkui.interactive-table.empty","Tabellen är tom")),1/* TEXT */)])],8,_hoisted_24)])],64/* STABLE_FRAGMENT */)):createCommentVNode("v-if",true)],512/* NEED_PATCH */)],16,_hoisted_1$6)],2/* CLASS */);}const FInteractiveTable=/* @__PURE__ */_export_sfc(_sfc_main$6,[["render",_sfc_render$6]]);const _sfc_main$5=defineComponent({name:"FTextareaField",components:{FLabel},inheritAttrs:false,props:{/**
825
+ */"collapse"],setup(props,context){provide("renderColumns",computed(()=>props.rows.length>0));const sortFilterDatasetInjected=FSortFilterDatasetInjected();const activateItemInjected=ActivateItemInjected();const expandableTable=useExpandableTable(props.expandableAttribute,props.keyAttribute,props.expandableDescribedby,context.emit,context.slots);return{...sortFilterDatasetInjected,...activateItemInjected,...expandableTable};},data(){return{activeRow:void 0,columns:[],selectedRows:[],tr:[]};},computed:{hasCaption(){return hasSlot(this,"caption",{},{stripClasses:[]});},hasCheckboxDescription(){const firstRow=this.rows[0];return hasSlot(this,"checkbox-description",{row:firstRow});},isEmpty(){return this.rows.length===0;},visibleColumns(){return this.columns.filter(col=>col.visible);},tableClasses(){const classes=[];if(this.selectable){classes.push("table--selectable");}if(this.hover){classes.push("table--hover");}return classes;},tableRole(){return this.isExpandableTable?"treegrid":"grid";},wrapperClasses(){return tableScrollClasses(this.scroll);},nbOfColumns(){let columnCount=this.columns.length;if(this.selectable){columnCount++;}if(this.isExpandableTable){columnCount++;}return columnCount;}},watch:{rows:{immediate:true,deep:true,handler:function(){if(this.modelValue){this.selectedRows=this.modelValue.filter(row=>{return includeItem(row,this.rows,this.keyAttribute);});}}}},updated(){const tbodyElement=this.$refs["tbodyElement"];const trElements=[].slice.call(tbodyElement.children);const trInteractableElements=trElements.filter(tr=>{return tr.tabIndex===0;});this.tr=trInteractableElements;},mounted(){this.registerCallbackOnSort(this.callbackOnSort);this.registerCallbackOnMount(this.callbackSortableColumns);this.registerCallbackAfterItemAdd(this.callbackAfterItemAdd);this.registerCallbackBeforeItemDelete(this.callbackBeforeItemDelete);},methods:{isActive(row){return itemEquals(row,this.activeRow,this.keyAttribute);},isSelected(row){return includeItem(row,this.selectedRows,this.keyAttribute);},onKeydownExpandable(event,index){if(event.key===" "||event.key==="Spacebar"){event.preventDefault();return;}onKeydown.call(this,event,index);},onKeydown(event,index){onKeydown.call(this,event,index);},onClick(event,row){const{target}=event;const isRelevant=["TD","TH"].includes(target.nodeName);if(isRelevant){const parent=target.parentElement;this.activate(row,parent);}},activate(row,tr){this.$emit("click",row);if(this.isExpandableTable&&this.hasExpandableContent(row)){this.toggleExpanded(row);}if(!itemEquals(row,this.activeRow,this.keyAttribute)){this.$emit("change",row);this.activeRow=row;if(tr){tr.focus();const td=tr.children[0];forceRepaintIE11(td);}}},rowDescription(row){const slot=this.$slots["row-description"];return renderSlotText(slot,{row});},onSelect(row){if(includeItem(row,this.selectedRows,this.keyAttribute)){this.selectedRows=this.selectedRows.filter(i=>!itemEquals(i,row,this.keyAttribute));this.$emit("unselect",row);}else{this.selectedRows.push(row);this.$emit("select",row);}this.updateVModelWithSelectedRows();this.$forceUpdate();},updateVModelWithSelectedRows(){if(this.modelValue){this.$emit("update:modelValue",this.selectedRows);this.$emit("update",this.selectedRows);}},rowClasses(row,index){const active=this.isActive(row)?["table__row--active"]:[];const selected=this.isSelected(row)?["table__row--selected"]:[];const isExpandableRow=this.isExpandableTable&&this.hasExpandableContent(row);const expandable=isExpandableRow?["table__row--expandable"]:[];const expanded=this.isExpanded(row)?["table__row--expanded-border"]:[];const striped=this.striped&&index%2!==0?["table__row--striped"]:[];return["table__row",...active,...selected,...striped,...expandable,...expanded];},rowKey(row){const key=row[this.keyAttribute];if(typeof key==="undefined"){throw new Error(`Key attribute [${this.keyAttribute}]' is missing in row`);}return String(key);},columnClasses(column){const sortable=column.sortable?["table__column--sortable"]:[];return["table__column",`table__column--${column.type}`,...sortable,column.size];},iconClasses(column){return getSortableIconClasses(column);},iconName(column){return getSortableIconName(column);},onClickColumnHeader(column){if(!column.sortable){return;}let columnName=column.name;if(column.sort===FTableColumnSort.DESCENDING){columnName="";column.sort=FTableColumnSort.UNSORTED;}this.sort(columnName,column.sort!==FTableColumnSort.ASCENDING);},callbackOnSort(columnName,ascending){updateSortOrder(this.columns,columnName,ascending);},callbackSortableColumns(columnNames){setSortableColumns(this.columns,columnNames);},callbackAfterItemAdd(item){this.activate(item,null);},callbackBeforeItemDelete(item){if(this.rows.length===0){return;}let targetIndex=this.rows.indexOf(item)-1;if(targetIndex<0&&this.rows.length>1){targetIndex=1;}else if(targetIndex<0){targetIndex=0;}this.activate(this.rows[targetIndex],this.tr[targetIndex]);},escapeNewlines(value){return value.replace(/\n/g,"<br/>");}}});const _hoisted_1$6=["role"];const _hoisted_2$3={key:0};const _hoisted_3$3={key:0,class:"table__column--shrink"};const _hoisted_4$2={key:1,class:"table__column--shrink"};const _hoisted_5$2={class:"table__row"};const _hoisted_6$2={key:0,scope:"col"};const _hoisted_7$2={class:"sr-only"};const _hoisted_8$2={key:1,scope:"col"};const _hoisted_9$2={class:"sr-only"};const _hoisted_10$2=["innerHTML"];const _hoisted_11$1={key:1,class:"table__column__description"};const _hoisted_12$1={ref:"tbodyElement"};const _hoisted_13$1=["aria-label","aria-expanded","aria-level","aria-describedby","onKeydown","onClick"];const _hoisted_14$1={key:0};const _hoisted_15$1={key:0,class:"table__expand-icon"};const _hoisted_16={key:1,class:"table__column--selectable"};const _hoisted_17={class:"table__input"};const _hoisted_18={key:0,class:"sr-only"};const _hoisted_19=/* @__PURE__ */createElementVNode("td",null,null,-1/* HOISTED */);const _hoisted_20={key:0,class:"table__column--selectable"};const _hoisted_21=["colspan"];const _hoisted_22={key:0};const _hoisted_23={key:1};const _hoisted_24=["colspan"];function _sfc_render$6(_ctx,_cache,$props,$setup,$data,$options){const _component_f_icon=resolveComponent("f-icon");const _component_f_checkbox_field=resolveComponent("f-checkbox-field");return openBlock(),createElementBlock("div",{class:normalizeClass(_ctx.wrapperClasses)},[createElementVNode("table",mergeProps({class:["table",_ctx.tableClasses],role:_ctx.tableRole},_ctx.$attrs),[_ctx.hasCaption?(openBlock(),createElementBlock("caption",_hoisted_2$3,[renderSlot(_ctx.$slots,"caption")])):createCommentVNode("v-if",true),createTextVNode(),createElementVNode("colgroup",null,[_ctx.isExpandableTable?(openBlock(),createElementBlock("col",_hoisted_3$3)):createCommentVNode("v-if",true),createTextVNode(),_ctx.selectable?(openBlock(),createElementBlock("col",_hoisted_4$2)):createCommentVNode("v-if",true),createTextVNode(),(openBlock(true),createElementBlock(Fragment,null,renderList(_ctx.columns,column=>{return openBlock(),createElementBlock("col",{key:column.id,class:normalizeClass(column.size)},null,2/* CLASS */);}),128/* KEYED_FRAGMENT */))]),createTextVNode(),createElementVNode("thead",null,[createElementVNode("tr",_hoisted_5$2,[_ctx.isExpandableTable?(openBlock(),createElementBlock("th",_hoisted_6$2,[createElementVNode("span",_hoisted_7$2,toDisplayString(_ctx.$t("fkui.interactive-table.select","Expandera")),1/* TEXT */)])):createCommentVNode("v-if",true),createTextVNode(),_ctx.selectable?(openBlock(),createElementBlock("th",_hoisted_8$2,[createElementVNode("span",_hoisted_9$2,toDisplayString(_ctx.$t("fkui.interactive-table.select","Markera")),1/* TEXT */)])):createCommentVNode("v-if",true),createTextVNode(),(openBlock(true),createElementBlock(Fragment,null,renderList(_ctx.visibleColumns,column=>{return openBlock(),createElementBlock("th",mergeProps({key:column.id,scope:"col",class:_ctx.columnClasses(column)},toHandlers(column.sortable?{click:()=>_ctx.onClickColumnHeader(column)}:{},true)),[createElementVNode("span",{innerHTML:_ctx.escapeNewlines(column.title)},null,8,_hoisted_10$2),createTextVNode(),column.sortable?(openBlock(),createBlock(_component_f_icon,{key:0,class:normalizeClass(_ctx.iconClasses(column)),name:_ctx.iconName(column)},null,8,["class","name"])):createCommentVNode("v-if",true),createTextVNode(),column.description?(openBlock(),createElementBlock("span",_hoisted_11$1,toDisplayString(column.description),1/* TEXT */)):createCommentVNode("v-if",true)],16/* FULL_PROPS */);}),128/* KEYED_FRAGMENT */))])]),createTextVNode(),createElementVNode("tbody",_hoisted_12$1,[(openBlock(true),createElementBlock(Fragment,null,renderList(_ctx.rows,(row,index)=>{return openBlock(),createElementBlock(Fragment,{key:_ctx.rowKey(row)},[createElementVNode("tr",{class:normalizeClass(_ctx.rowClasses(row,index)),"aria-label":_ctx.rowDescription(row),"aria-expanded":_ctx.rowAriaExpanded(row),"aria-level":_ctx.isExpandableTable?1:void 0,"aria-describedby":_ctx.getExpandableDescribedby(row),tabindex:"0",onKeydown:withModifiers($event=>_ctx.onKeydown($event,index),["self"]),onClick:$event=>_ctx.onClick($event,row,index)},[_ctx.isExpandableTable?(openBlock(),createElementBlock("td",_hoisted_14$1,[_ctx.hasExpandableContent(row)?(openBlock(),createElementBlock("div",_hoisted_15$1,[createVNode(_component_f_icon,{name:"arrow-right",rotate:_ctx.isExpanded(row)?"270":"90"},null,8,["rotate"])])):createCommentVNode("v-if",true)])):createCommentVNode("v-if",true),createTextVNode(),_ctx.selectable?(openBlock(),createElementBlock("td",_hoisted_16,[createElementVNode("div",_hoisted_17,[createVNode(_component_f_checkbox_field,{value:true,"model-value":_ctx.isSelected(row),onClick:withModifiers($event=>_ctx.onSelect(row),["self"])},{default:withCtx(()=>[_ctx.hasCheckboxDescription?(openBlock(),createElementBlock("span",_hoisted_18,[renderSlot(_ctx.$slots,"checkbox-description",mergeProps({ref_for:true},{row}))])):createCommentVNode("v-if",true)]),_:2/* DYNAMIC */},1032,["model-value","onClick"])])])):createCommentVNode("v-if",true),createTextVNode(),renderSlot(_ctx.$slots,"default",mergeProps({ref_for:true},{row}))],42,_hoisted_13$1),createTextVNode(),_ctx.isExpandableTable&&_ctx.hasExpandableContent(row)?(openBlock(true),createElementBlock(Fragment,{key:0},renderList(_ctx.expandableRows(row),(expandableRow,expandableIndex)=>{return openBlock(),createElementBlock("tr",{key:_ctx.rowKey(expandableRow),"aria-level":"2",class:normalizeClass(_ctx.expandableRowClasses(row,expandableIndex))},[_hoisted_19,createTextVNode(),_ctx.selectable?(openBlock(),createElementBlock("td",_hoisted_20)):createCommentVNode("v-if",true),createTextVNode(),!_ctx.hasExpandableSlot?(openBlock(true),createElementBlock(Fragment,{key:1},renderList(_ctx.columns,(column,columnIndex)=>{return openBlock(),createElementBlock("td",{key:`${_ctx.rowKey(expandableRow)}${column.name}`,class:normalizeClass(_ctx.expandableColumnClasses(column,columnIndex))},toDisplayString(expandableRow[column.name]),3/* TEXT, CLASS */);}),128/* KEYED_FRAGMENT */)):(openBlock(),createElementBlock("td",{key:2,class:"table__column table__column--indented",colspan:_ctx.columns.length},[renderSlot(_ctx.$slots,"expandable",mergeProps({ref_for:true},{expandableRow,parentRow:row}))],8,_hoisted_21))],2/* CLASS */);}),128/* KEYED_FRAGMENT */)):createCommentVNode("v-if",true)],64/* STABLE_FRAGMENT */);}),128/* KEYED_FRAGMENT */)),createTextVNode(),_ctx.isEmpty&&_ctx.columns.length===0?(openBlock(),createElementBlock("tr",_hoisted_22,[renderSlot(_ctx.$slots,"default",normalizeProps(guardReactiveProps({row:{}})))])):createCommentVNode("v-if",true),createTextVNode(),_ctx.isEmpty?(openBlock(),createElementBlock("tr",_hoisted_23,[createElementVNode("td",{class:"table__column table__column--action",colspan:_ctx.nbOfColumns},[renderSlot(_ctx.$slots,"empty",{},()=>[createTextVNode(toDisplayString(_ctx.$t("fkui.interactive-table.empty","Tabellen är tom")),1/* TEXT */)])],8,_hoisted_24)])):createCommentVNode("v-if",true)],512/* NEED_PATCH */)],16,_hoisted_1$6)],2/* CLASS */);}const FInteractiveTable=/* @__PURE__ */_export_sfc(_sfc_main$6,[["render",_sfc_render$6]]);const _sfc_main$5=defineComponent({name:"FTextareaField",components:{FLabel},inheritAttrs:false,props:{/**
826
826
  * The id for the input id attribute.
827
827
  * The id for the label for attribute.
828
828
  * If the prop is not set a random value will be generated.
@@ -934,4 +934,4 @@ this.modelValue.length>=this.maxlength-this.softLimit;},charactersLeftWarningInt
934
934
  * @model
935
935
  */modelValue:{type:Object,required:true},/**
936
936
  * Dialogue tree
937
- */dialogueTree:{type:Object,required:true}},emits:["change","update:modelValue"],data(){return{currentStep:this.dialogueTree,steps:[]};},computed:{userData(){if(isDialogueTreeEndQuestion(this.currentStep)){return this.currentStep.userData;}return void 0;},options(){if(!isDialogueTreeEndQuestion(this.currentStep)){return this.currentStep.options;}return[];}},created(){this.currentStep=this.dialogueTree;if(isDialogueTreeEndQuestion(this.currentStep)){this.emitChange(true);}else{this.emitChange(false);}},methods:{async onClickedOption(option,index){this.steps.push(index);this.currentStep=option.question;if(isDialogueTreeEndQuestion(option.question)){this.emitChange(true);await this.$nextTick();focusFirst(this.$el);}else{this.emitChange(false);await this.$nextTick();const firstElement=getHTMLElementsFromVueRef(this.$refs["dialogueButton-0"])[0];if(firstElement){focus$1(firstElement);}}},emitChange(lastStep){const emit={label:this.currentStep.label,lastStep,steps:this.steps};this.$emit("update:modelValue",emit);this.$emit("change",emit);}}});const _hoisted_1={class:"dialogue-tree"};const _hoisted_2={key:0,class:"dialogue-tree__list"};const _hoisted_3=["onClick"];function _sfc_render(_ctx,_cache,$props,$setup,$data,$options){const _component_f_icon=resolveComponent("f-icon");return openBlock(),createElementBlock("div",_hoisted_1,[_ctx.options.length>0?(openBlock(),createElementBlock("ul",_hoisted_2,[(openBlock(true),createElementBlock(Fragment,null,renderList(_ctx.options,(option,index)=>{return openBlock(),createElementBlock("li",{key:option.label,class:"dialogue-tree__list-item"},[createElementVNode("button",{ref_for:true,ref:`dialogueButton-${index}`,type:"button",onClick:$event=>_ctx.onClickedOption(option,index)},[createElementVNode("span",null,toDisplayString(option.label),1/* TEXT */),createTextVNode(),createVNode(_component_f_icon,{name:"arrow-right"})],8,_hoisted_3)]);}),128/* KEYED_FRAGMENT */))])):renderSlot(_ctx.$slots,"default",normalizeProps(mergeProps({key:1},{userData:_ctx.userData})))]);}const FDialogueTree=/* @__PURE__ */_export_sfc(_sfc_main,[["render",_sfc_render]]);export{ActivateItemInjected,ErrorData,ErrorPlugin,ErrorViewData,EventBus,FBadge,_sfc_main$I as FBankAccountNumberTextField,_sfc_main$H as FBankgiroTextField,FCalendar,FCalendarDay,FCard,FCheckboxField,FCheckboxGroup,FCheckboxField as FCheckboxGroupField,_sfc_main$G as FClearingnumberTextField,FConfirmModal,FContextMenu,FCrudButton,FCrudDataset,_sfc_main$K as FCurrencyTextField,FDataTable,FDatepickerField,FDialogueTree,FEmailTextField,FErrorHandlingApp,FErrorList,FExpand,FExpandablePanel,FExpandableParagraph,FFieldset,FFileItem,FFileSelector,FForm,FFormModal,FValidationFormAction as FFormModalAction,FFormStep,FFormStepButton,FIcon,FInteractiveTable,FKUIConfigButtonOrder,FLabel,FLayoutApplicationTemplate,FLayoutLeftPanel,FLayoutRightPanel,FLayoutRightPanelService,FList,FLoader,FMessageBox,FModal,FNavigationMenu,_sfc_main$F as FNumericTextField,FOffline,_sfc_main$A as FOrganisationsnummerTextField,FOutputField,FPageHeader,_sfc_main$B as FPercentTextField,_sfc_main$E as FPersonnummerTextField,FPhoneTextField,_sfc_main$D as FPlusgiroTextField,_sfc_main$C as FPostalCodeTextField,FProgressbar,FRadioField,FRadioGroup,FRadioField as FRadioGroupField,FSearchTextField,FSelectField,FSortFilterDataset,FSortFilterDatasetInjected,FStaticField,FTableColumn,FTableColumnSize,FTableColumnSort,FTableColumnType,FTextField,FTextareaField,FTooltip,FValidationForm,FValidationFormAction,FValidationGroup,FWizard,FWizardStep,FValidationFormAction as FWizardStepAction,FormErrorList,FormStep,IAnimateExpand,ICalendarMonth,ICalendarMonthGrid,ICalendarNavbar,IFlex,IFlexItem,IMenu,IPopup,IPopupError,IPopupMenu,ISkipLink,FValidationForm as IValidationForm,MenuAction,ModalReason,Operation,Placement,TableScroll,TestPlugin,TranslationMixin,TranslationPlugin,UNHANDLED_ERROR_EVENT,ValidationPlugin,actionFromKeyboardEvent,cleanUpElements,config,confirmModal,createFFormProvideOptions,dispatchComponentUnmountEvent,dispatchComponentValidityEvent,emptyTableRow,findElementFromVueRef,findHTMLElementFromVueRef,findParentByName,focus,formModal,getDayEndOffset,getDayStartOffset,getElementFromVueRef,getElementsFromVueRef,getHTMLElementFromVueRef,getHTMLElementsFromVueRef,getInputElement,getParentByName,getRef,getSortedHTMLElementsFromVueRef,getTextFromScopedSlot,handleKeyboardFocusNavigation,hasParentByName,hasSlot,includeItem,isContextMenuSeparatorItem,isContextMenuTextItem,isDialogueTreeEndQuestion,isFormStepReference,itemEquals,mountComponent,openModal,refIsElement,refIsElementArray,refIsHTMLElementArray,refIsVue,refIsVueArray,renderSlotText,setIsOpen,setRef,setRunningContext,sortComponentsWithErrorsOnDOMOrder,tableScrollClasses,useTranslate};
937
+ */dialogueTree:{type:Object,required:true}},emits:["change","update:modelValue"],data(){return{currentStep:this.dialogueTree,steps:[]};},computed:{userData(){if(isDialogueTreeEndQuestion(this.currentStep)){return this.currentStep.userData;}return void 0;},options(){if(!isDialogueTreeEndQuestion(this.currentStep)){return this.currentStep.options;}return[];}},created(){this.currentStep=this.dialogueTree;if(isDialogueTreeEndQuestion(this.currentStep)){this.emitChange(true);}else{this.emitChange(false);}},methods:{async onClickedOption(option,index){this.steps.push(index);this.currentStep=option.question;if(isDialogueTreeEndQuestion(option.question)){this.emitChange(true);await this.$nextTick();focusFirst(this.$el);}else{this.emitChange(false);await this.$nextTick();const firstElement=getHTMLElementsFromVueRef(this.$refs["dialogueButton-0"])[0];if(firstElement){focus$1(firstElement);}}},emitChange(lastStep){const emit={label:this.currentStep.label,lastStep,steps:this.steps};this.$emit("update:modelValue",emit);this.$emit("change",emit);}}});const _hoisted_1={class:"dialogue-tree"};const _hoisted_2={key:0,class:"dialogue-tree__list"};const _hoisted_3=["onClick"];function _sfc_render(_ctx,_cache,$props,$setup,$data,$options){const _component_f_icon=resolveComponent("f-icon");return openBlock(),createElementBlock("div",_hoisted_1,[_ctx.options.length>0?(openBlock(),createElementBlock("ul",_hoisted_2,[(openBlock(true),createElementBlock(Fragment,null,renderList(_ctx.options,(option,index)=>{return openBlock(),createElementBlock("li",{key:option.label,class:"dialogue-tree__list-item"},[createElementVNode("button",{ref_for:true,ref:`dialogueButton-${index}`,type:"button",onClick:$event=>_ctx.onClickedOption(option,index)},[createElementVNode("span",null,toDisplayString(option.label),1/* TEXT */),createTextVNode(),createVNode(_component_f_icon,{name:"arrow-right"})],8,_hoisted_3)]);}),128/* KEYED_FRAGMENT */))])):renderSlot(_ctx.$slots,"default",normalizeProps(mergeProps({key:1},{userData:_ctx.userData})))]);}const FDialogueTree=/* @__PURE__ */_export_sfc(_sfc_main,[["render",_sfc_render]]);export{ActivateItemInjected,ErrorData,ErrorPlugin,ErrorViewData,EventBus,FBadge,_sfc_main$I as FBankAccountNumberTextField,_sfc_main$H as FBankgiroTextField,FCalendar,FCalendarDay,FCard,FCheckboxField,FCheckboxGroup,FCheckboxField as FCheckboxGroupField,_sfc_main$G as FClearingnumberTextField,FConfirmModal,FContextMenu,FCrudButton,FCrudDataset,_sfc_main$K as FCurrencyTextField,FDataTable,FDatepickerField,FDialogueTree,FEmailTextField,FErrorHandlingApp,FErrorList,FExpand,FExpandablePanel,FExpandableParagraph,FFieldset,FFileItem,FFileSelector,FForm,FFormModal,FValidationFormAction as FFormModalAction,FFormStep,FFormStepButton,FIcon,FInteractiveTable,FKUIConfigButtonOrder,FLabel,FLayoutApplicationTemplate,FLayoutLeftPanel,FLayoutRightPanel,FLayoutRightPanelService,FList,FLoader,FMessageBox,FModal,FNavigationMenu,_sfc_main$F as FNumericTextField,FOffline,_sfc_main$A as FOrganisationsnummerTextField,FOutputField,FPageHeader,_sfc_main$B as FPercentTextField,_sfc_main$E as FPersonnummerTextField,FPhoneTextField,_sfc_main$D as FPlusgiroTextField,_sfc_main$C as FPostalCodeTextField,FProgressbar,FRadioField,FRadioGroup,FRadioField as FRadioGroupField,FSearchTextField,FSelectField,FSortFilterDataset,FSortFilterDatasetInjected,FStaticField,FTableColumn,FTableColumnSize,FTableColumnSort,FTableColumnType,FTextField,FTextareaField,FTooltip,FValidationForm,FValidationFormAction,FValidationGroup,FWizard,FWizardStep,FValidationFormAction as FWizardStepAction,FormErrorList,FormStep,IAnimateExpand,ICalendarMonth,ICalendarMonthGrid,ICalendarNavbar,IFlex,IFlexItem,IMenu,IPopup,IPopupError,IPopupMenu,ISkipLink,FValidationForm as IValidationForm,MenuAction,ModalReason,Operation,Placement,TableScroll,TestPlugin,TranslationMixin,TranslationPlugin,UNHANDLED_ERROR_EVENT,ValidationPlugin,actionFromKeyboardEvent,cleanUpElements,config,confirmModal,createFFormProvideOptions,dispatchComponentUnmountEvent,dispatchComponentValidityEvent,findElementFromVueRef,findHTMLElementFromVueRef,findParentByName,focus,formModal,getDayEndOffset,getDayStartOffset,getElementFromVueRef,getElementsFromVueRef,getHTMLElementFromVueRef,getHTMLElementsFromVueRef,getInputElement,getParentByName,getRef,getSortedHTMLElementsFromVueRef,getTextFromScopedSlot,handleKeyboardFocusNavigation,hasParentByName,hasSlot,includeItem,isContextMenuSeparatorItem,isContextMenuTextItem,isDialogueTreeEndQuestion,isFormStepReference,itemEquals,mountComponent,openModal,refIsElement,refIsElementArray,refIsHTMLElementArray,refIsVue,refIsVueArray,renderSlotText,setIsOpen,setRef,setRunningContext,sortComponentsWithErrorsOnDOMOrder,tableScrollClasses,useTranslate};