@fkui/vue 5.36.1 → 5.37.0

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.
@@ -136,7 +136,11 @@ isIndex(key,length)))){result.push(key);}}return result;}var _arrayLikeKeys=arra
136
136
  * If the prop is not set a random value will be generated.
137
137
  */id:{type:String,required:false,default:()=>logic.ElementIdService.generateElementId()},/**
138
138
  * Include the error list component.
139
- */useErrorList:{type:Boolean,required:false,default:true}},emits:["submit"],data(){return{validity:{isValid:true,componentsWithError:[],componentCount:0},submitted:false};},computed:{groupKey(){return`${this.id}-group`;},errors(){return this.validity.componentsWithError.map(c=>({id:c.elementId,focusElementId:c.focusElementId,title:c.errorMessage}));},displayErrors(){return this.useErrorList&&this.submitted&&this.errors.length>0;}},methods:{async hasFormErrors(){logic.ValidationService.setSubmitted(this.id);await logic.ValidationService.validateAllElements(this.id);await this.$nextTick();await new Promise(resolve=>window.setTimeout(resolve,0));if(this.validity.isValid){return false;}if(this.useErrorList){logic.focus(this.$refs.errors);}else{const firstError=this.validity.componentsWithError[0];const element=document.getElementById(firstError.focusElementId);logic.focus(element);}return true;},async onSubmit(event){this.submitted=true;const beforeValidation=this.beforeValidation?await this.beforeValidation():void 0;if(beforeValidation===FValidationFormAction.CANCEL){return;}if(await this.hasFormErrors()){return;}const beforeAction=this.beforeSubmit?await this.beforeSubmit():void 0;if(beforeAction===FValidationFormAction.CANCEL){return;}if(await this.hasFormErrors()){return;}this.$emit("submit",event);}}});const _hoisted_1$Q=["id"];const _hoisted_2$C={key:0,ref:"errors",tabindex:"-1",role:"group"};function _sfc_render$X(_ctx,_cache,$props,$setup,$data,$options){const _component_f_error_list=vue.resolveComponent("f-error-list");const _component_f_validation_group=vue.resolveComponent("f-validation-group");return vue.openBlock(),vue.createBlock(_component_f_validation_group,{key:_ctx.groupKey,modelValue:_ctx.validity,"onUpdate:modelValue":_cache[1]||(_cache[1]=$event=>_ctx.validity=$event),"stop-propagation":true},{default:vue.withCtx(()=>[vue.createElementVNode("form",vue.mergeProps({id:_ctx.id},_ctx.$attrs,{novalidate:"",autocomplete:"off",onSubmit:_cache[0]||(_cache[0]=vue.withModifiers((...args)=>_ctx.onSubmit&&_ctx.onSubmit(...args),["prevent"]))}),[_ctx.displayErrors?(vue.openBlock(),vue.createElementBlock("nav",_hoisted_2$C,[vue.createVNode(_component_f_error_list,{bullets:true,items:_ctx.errors},{title:vue.withCtx(()=>[vue.renderSlot(_ctx.$slots,"error-message")]),_:3/* FORWARDED */},8,["items"])],512/* NEED_PATCH */)):vue.createCommentVNode("v-if",true),vue.createTextVNode(),vue.renderSlot(_ctx.$slots,"default")],16,_hoisted_1$Q)]),_:3/* FORWARDED */},8,["modelValue"]);}const FValidationForm=/* @__PURE__ */_export_sfc(_sfc_main$15,[["render",_sfc_render$X]]);const _sfc_main$14=vue.defineComponent({name:"FFormModal",components:{FModal,FValidationForm},mixins:[TranslationMixin],inheritAttrs:true,props:{/**
139
+ */useErrorList:{type:Boolean,required:false,default:true},/**
140
+ * Display bullets in the error list component.
141
+ */errorListBullets:{type:Boolean,required:false,default:true},/**
142
+ *Optional callback function to the error list component for performing actions before navigation.
143
+ */errorListBeforeNavigate:{type:Function,required:false,default(){return()=>{};}}},emits:["submit"],data(){return{validity:{isValid:true,componentsWithError:[],componentCount:0},submitted:false};},computed:{groupKey(){return`${this.id}-group`;},errors(){return this.validity.componentsWithError.map(c=>({id:c.elementId,focusElementId:c.focusElementId,title:c.errorMessage}));},displayErrors(){return this.useErrorList&&this.submitted&&this.errors.length>0;}},methods:{async hasFormErrors(){logic.ValidationService.setSubmitted(this.id);await logic.ValidationService.validateAllElements(this.id);await this.$nextTick();await new Promise(resolve=>window.setTimeout(resolve,0));if(this.validity.isValid){return false;}if(this.useErrorList){logic.focus(this.$refs.errors);}else{const firstError=this.validity.componentsWithError[0];const element=document.getElementById(firstError.focusElementId);logic.focus(element);}return true;},async onSubmit(event){this.submitted=true;const beforeValidation=this.beforeValidation?await this.beforeValidation():void 0;if(beforeValidation===FValidationFormAction.CANCEL){return;}if(await this.hasFormErrors()){return;}const beforeAction=this.beforeSubmit?await this.beforeSubmit():void 0;if(beforeAction===FValidationFormAction.CANCEL){return;}if(await this.hasFormErrors()){return;}this.$emit("submit",event);}}});const _hoisted_1$Q=["id"];const _hoisted_2$C={key:0,ref:"errors",tabindex:"-1",role:"group"};function _sfc_render$X(_ctx,_cache,$props,$setup,$data,$options){const _component_f_error_list=vue.resolveComponent("f-error-list");const _component_f_validation_group=vue.resolveComponent("f-validation-group");return vue.openBlock(),vue.createBlock(_component_f_validation_group,{key:_ctx.groupKey,modelValue:_ctx.validity,"onUpdate:modelValue":_cache[1]||(_cache[1]=$event=>_ctx.validity=$event),"stop-propagation":true},{default:vue.withCtx(()=>[vue.createElementVNode("form",vue.mergeProps({id:_ctx.id},_ctx.$attrs,{novalidate:"",autocomplete:"off",onSubmit:_cache[0]||(_cache[0]=vue.withModifiers((...args)=>_ctx.onSubmit&&_ctx.onSubmit(...args),["prevent"]))}),[_ctx.displayErrors?(vue.openBlock(),vue.createElementBlock("nav",_hoisted_2$C,[vue.createVNode(_component_f_error_list,{items:_ctx.errors,bullets:_ctx.errorListBullets,"before-navigate":_ctx.errorListBeforeNavigate},{title:vue.withCtx(()=>[vue.renderSlot(_ctx.$slots,"error-message")]),_:3/* FORWARDED */},8,["items","bullets","before-navigate"])],512/* NEED_PATCH */)):vue.createCommentVNode("v-if",true),vue.createTextVNode(),vue.renderSlot(_ctx.$slots,"default")],16,_hoisted_1$Q)]),_:3/* FORWARDED */},8,["modelValue"]);}const FValidationForm=/* @__PURE__ */_export_sfc(_sfc_main$15,[["render",_sfc_render$X]]);const _sfc_main$14=vue.defineComponent({name:"FFormModal",components:{FModal,FValidationForm},mixins:[TranslationMixin],inheritAttrs:true,props:{/**
140
144
  * Enable fullscreen mode in mobile.
141
145
  */fullscreen:{type:Boolean,required:false,default:true},/**
142
146
  * If the modal is open.
@@ -305,7 +309,7 @@ injected(){return this;}},methods:{updateExpandedFlag(){const checkboxInput=getH
305
309
  * Property for changing the "modify" modal heading
306
310
  */modifyModalHeader:{type:String,required:false,default:logic.TranslationService.provider.translate("fkui.crud-dataset.modal.header.modify","Ändra rad")},/**
307
311
  * Property for changing the "delete" modal heading
308
- */deleteModalHeader:{type:String,required:false,default:logic.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:3,item:null,originalItemToUpdate:null,isFormModalOpen:false,isConfirmModalOpen:false,callbackAfterItemAdd(){},callbackBeforeItemDelete(){}};},computed:{confirmButtonText(){return this.operation===0?this.$t("fkui.crud-dataset.modal.confirm.add","Lägg till"):this.$t("fkui.crud-dataset.modal.confirm.modify","Spara");},cancelButtonText(){return this.operation===0?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===0?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=0;this.item=this.beforeCreate?this.beforeCreate():{};this.isFormModalOpen=true;},deleteItem(item){if(!this.hasDeleteSlot){throw Error("No template is defined for #delete");}this.operation=1;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);logic.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===0){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);logic.alertScreenReader(this.$t("fkui.crud-dataset.aria-live.add","En rad har lagts till"),{assertive:true});}else if(this.operation===2){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);logic.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=2;this.originalItemToUpdate=item;this.item=logic.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=vue.resolveComponent("f-icon");const _component_f_form_modal=vue.resolveComponent("f-form-modal");const _component_f_confirm_modal=vue.resolveComponent("f-confirm-modal");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$F,[vue.renderSlot(_ctx.$slots,"default"),vue.createTextVNode(),_ctx.hasAddSlot?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$t,[vue.createElementVNode("button",{"data-test":"f-crud-dataset-add-button",type:"button",class:"button button--discrete crud-dataset__add-button",onClick:_cache[0]||(_cache[0]=$event=>_ctx.createItem())},[vue.createVNode(_component_f_icon,{class:"button__icon",name:"plus"}),vue.createTextVNode(),vue.renderSlot(_ctx.$slots,"add-button",{},()=>[vue.createTextVNode(vue.toDisplayString(_ctx.$t("fkui.crud-dataset.button.add","Lägg till ny")),1/* TEXT */)])])])):vue.createCommentVNode("v-if",true),vue.createTextVNode(),vue.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:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(_ctx.formModalHeader),1/* TEXT */)]),"input-text-fields":vue.withCtx(()=>[_ctx.operation===_ctx.Operation.ADD?vue.renderSlot(_ctx.$slots,"add",vue.normalizeProps(vue.mergeProps({key:0},{item:_ctx.item}))):vue.createCommentVNode("v-if",true),vue.createTextVNode(),_ctx.operation===_ctx.Operation.MODIFY?vue.renderSlot(_ctx.$slots,"modify",vue.normalizeProps(vue.mergeProps({key:1},{item:_ctx.item}))):vue.createCommentVNode("v-if",true)]),"submit-button-text":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(_ctx.confirmButtonText),1/* TEXT */)]),"cancel-button-text":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(_ctx.cancelButtonText),1/* TEXT */)]),_:3/* FORWARDED */},8,["is-open","aria-close-text","before-submit","before-validation","on-cancel","onClose","onCancel","onSubmit"]),vue.createTextVNode(),vue.createVNode(_component_f_confirm_modal,{"is-open":_ctx.isConfirmModalOpen,buttons:_ctx.confirmDeleteButtons,onConfirm:_ctx.onDeleteConfirm,onClose:_ctx.onDeleteClose},{heading:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(_ctx.deleteModalHeader),1/* TEXT */)]),content:vue.withCtx(()=>[vue.renderSlot(_ctx.$slots,"delete",vue.normalizeProps(vue.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:vue.inject("delete"),modify:vue.inject("modify")};}const _sfc_main$S=vue.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=vue.resolveComponent("f-icon");return vue.openBlock(),vue.createElementBlock("button",{type:"button",class:"button button--discrete",onClick:_cache[0]||(_cache[0]=(...args)=>_ctx.executeAction&&_ctx.executeAction(...args))},[_ctx.icon?(vue.openBlock(),vue.createBlock(_component_f_icon,{key:0,class:"button__icon",name:_ctx.iconName},null,8,["name"])):vue.createCommentVNode("v-if",true),vue.createTextVNode(),!_ctx.label?(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$E,[vue.renderSlot(_ctx.$slots,"default",{},()=>[vue.createTextVNode(vue.toDisplayString(_ctx.buttonText),1/* TEXT */)])])):vue.createCommentVNode("v-if",true),vue.createTextVNode(),_ctx.label?vue.renderSlot(_ctx.$slots,"default",{key:2},()=>[vue.createTextVNode(vue.toDisplayString(_ctx.buttonText),1/* TEXT */)]):vue.createCommentVNode("v-if",true)]);}const FCrudButton=/* @__PURE__ */_export_sfc(_sfc_main$S,[["render",_sfc_render$I]]);function ActivateItemInjected(){return{registerCallbackAfterItemAdd:vue.inject("registerCallbackAfterItemAdd",()=>void 0),registerCallbackBeforeItemDelete:vue.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:vue.inject("addColumn"),setVisibilityColumn:vue.inject("setVisibilityColumn"),textFieldTableMode:true};}const _sfc_main$R=vue.defineComponent({name:"FTableColumn",inheritAttrs:false,props:{/**
312
+ */deleteModalHeader:{type:String,required:false,default:logic.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);logic.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);logic.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);logic.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=logic.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=vue.resolveComponent("f-icon");const _component_f_form_modal=vue.resolveComponent("f-form-modal");const _component_f_confirm_modal=vue.resolveComponent("f-confirm-modal");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$F,[vue.renderSlot(_ctx.$slots,"default"),vue.createTextVNode(),_ctx.hasAddSlot?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$t,[vue.createElementVNode("button",{"data-test":"f-crud-dataset-add-button",type:"button",class:"button button--discrete crud-dataset__add-button",onClick:_cache[0]||(_cache[0]=$event=>_ctx.createItem())},[vue.createVNode(_component_f_icon,{class:"button__icon",name:"plus"}),vue.createTextVNode(),vue.renderSlot(_ctx.$slots,"add-button",{},()=>[vue.createTextVNode(vue.toDisplayString(_ctx.$t("fkui.crud-dataset.button.add","Lägg till ny")),1/* TEXT */)])])])):vue.createCommentVNode("v-if",true),vue.createTextVNode(),vue.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:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(_ctx.formModalHeader),1/* TEXT */)]),"input-text-fields":vue.withCtx(()=>[_ctx.operation===_ctx.Operation.ADD?vue.renderSlot(_ctx.$slots,"add",vue.normalizeProps(vue.mergeProps({key:0},{item:_ctx.item}))):vue.createCommentVNode("v-if",true),vue.createTextVNode(),_ctx.operation===_ctx.Operation.MODIFY?vue.renderSlot(_ctx.$slots,"modify",vue.normalizeProps(vue.mergeProps({key:1},{item:_ctx.item}))):vue.createCommentVNode("v-if",true)]),"submit-button-text":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(_ctx.confirmButtonText),1/* TEXT */)]),"cancel-button-text":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(_ctx.cancelButtonText),1/* TEXT */)]),_:3/* FORWARDED */},8,["is-open","aria-close-text","before-submit","before-validation","on-cancel","onClose","onCancel","onSubmit"]),vue.createTextVNode(),vue.createVNode(_component_f_confirm_modal,{"is-open":_ctx.isConfirmModalOpen,buttons:_ctx.confirmDeleteButtons,onConfirm:_ctx.onDeleteConfirm,onClose:_ctx.onDeleteClose},{heading:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(_ctx.deleteModalHeader),1/* TEXT */)]),content:vue.withCtx(()=>[vue.renderSlot(_ctx.$slots,"delete",vue.normalizeProps(vue.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:vue.inject("delete"),modify:vue.inject("modify")};}const _sfc_main$S=vue.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=vue.resolveComponent("f-icon");return vue.openBlock(),vue.createElementBlock("button",{type:"button",class:"button button--discrete",onClick:_cache[0]||(_cache[0]=(...args)=>_ctx.executeAction&&_ctx.executeAction(...args))},[_ctx.icon?(vue.openBlock(),vue.createBlock(_component_f_icon,{key:0,class:"button__icon",name:_ctx.iconName},null,8,["name"])):vue.createCommentVNode("v-if",true),vue.createTextVNode(),!_ctx.label?(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$E,[vue.renderSlot(_ctx.$slots,"default",{},()=>[vue.createTextVNode(vue.toDisplayString(_ctx.buttonText),1/* TEXT */)])])):vue.createCommentVNode("v-if",true),vue.createTextVNode(),_ctx.label?vue.renderSlot(_ctx.$slots,"default",{key:2},()=>[vue.createTextVNode(vue.toDisplayString(_ctx.buttonText),1/* TEXT */)]):vue.createCommentVNode("v-if",true)]);}const FCrudButton=/* @__PURE__ */_export_sfc(_sfc_main$S,[["render",_sfc_render$I]]);function ActivateItemInjected(){return{registerCallbackAfterItemAdd:vue.inject("registerCallbackAfterItemAdd",()=>void 0),registerCallbackBeforeItemDelete:vue.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:vue.inject("addColumn"),setVisibilityColumn:vue.inject("setVisibilityColumn"),textFieldTableMode:true};}const _sfc_main$R=vue.defineComponent({name:"FTableColumn",inheritAttrs:false,props:{/**
309
313
  * Unique (per-table) identifier.
310
314
  *
311
315
  * Typically set to the row property displayed but any unique string can
@@ -701,8 +705,20 @@ onItemFocus(event){if(event&&event.target){event.target.style.position="relative
701
705
  * Target for skiplink.
702
706
  */href:{type:String,required:false,default:"main"}}});const _hoisted_1$b=["href"];function _sfc_render$c(_ctx,_cache,$props,$setup,$data,$options){return vue.openBlock(),vue.createElementBlock("a",{class:"iskiplink",href:_ctx.href},[vue.renderSlot(_ctx.$slots,"default",{},()=>[vue.createTextVNode(vue.toDisplayString(_ctx.$t("fkui.skip-link.text","Gå direkt till innehåll")),1/* TEXT */)])],8,_hoisted_1$b);}const ISkipLink=/* @__PURE__ */_export_sfc(_sfc_main$c,[["render",_sfc_render$c]]);function getAltLogoText(hasRouterLink,routerLinkLabel,t){const srStdLogoAltText=t("fkui.page-header.logo.alt-text","Försäkringskassan");const srStdRouterLinkLabel=t("fkui.page-header.router.link.label","gå till startsidan");if(hasRouterLink&&routerLinkLabel!==""){return`${srStdLogoAltText} ${routerLinkLabel}`;}else if(hasRouterLink){return`${srStdLogoAltText}, ${srStdRouterLinkLabel}`;}else{return srStdLogoAltText;}}const _sfc_main$b=vue.defineComponent({name:"FPageHeader",components:{ISkipLink},mixins:[TranslationMixin],inheritAttrs:true,props:{/** Setting the logo sizes small, large or responsive. */logoSize:{type:String,default:"responsive",required:false,validator(value){return["small","large","responsive"].includes(value);}},/**
703
707
  * Render skiplink.
704
- */skipLink:{type:Boolean,required:false,default:false},/**
708
+ *
709
+ * When set to a non-empty string thethe skiplink feature is enabled.
710
+ * The string is the id of the element to move focus to.
711
+ *
712
+ * When set to `true` the deprecated `skipLinkHref` prop is used to
713
+ * set the element id to move focus to.
714
+ *
715
+ * When set to `false` or empty string the skiplink feature is disabled.
716
+ *
717
+ * Using a boolean is deprecated. Leave unset or a non-empty string.
718
+ */skipLink:{type:[String,Boolean],required:false,default:""},/**
705
719
  * Target for skiplink.
720
+ *
721
+ * @deprecated Use `skipLink` prop with a non-empty string instead.
706
722
  */skipLinkHref:{type:String,required:false,default:"#applicationlayout-main-content"},/**
707
723
  * HTML element type for header.
708
724
  */headerTag:{default:"span",required:false,validator(value){return["span","h1"].includes(value);}},/**
@@ -713,7 +729,7 @@ onItemFocus(event){if(event&&event.target){event.target.style.position="relative
713
729
  * (Behaviour from using both name and path in combination is undefined.)
714
730
  */routerLinkName:{type:String,required:false,default:""},/**
715
731
  * Label to override the router-link label when router-link is present.
716
- */routerLinkLabel:{type:String,required:false,default:""}},computed:{logoClass(){return`page-header__logo--${this.logoSize}`;},hasRouterLink(){return Boolean(this.routerLinkName||this.routerLinkPath);},routerLinkTo(){const{routerLinkName,routerLinkPath}=this;if(routerLinkName){return{name:routerLinkName};}if(routerLinkPath){return{path:routerLinkPath};}return null;},altLogoText(){return getAltLogoText(this.hasRouterLink,this.routerLinkLabel,this.$t);}}});const _hoisted_1$a={class:"page-header__root"};const _hoisted_2$7={key:0};const _hoisted_3$6={ref:"header",class:"page-header"};const _hoisted_4$4={class:"page-header__logo"};const _hoisted_5$4=["aria-label"];const _hoisted_6$4=["aria-label"];const _hoisted_7$3={class:"page-header__right"};const _hoisted_8$3={class:"page-header__right-slot"};function _sfc_render$b(_ctx,_cache,$props,$setup,$data,$options){const _component_i_skip_link=vue.resolveComponent("i-skip-link");const _component_router_link=vue.resolveComponent("router-link");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$a,[_ctx.skipLink?(vue.openBlock(),vue.createElementBlock("nav",_hoisted_2$7,[vue.createVNode(_component_i_skip_link,{href:_ctx.skipLinkHref},{default:vue.withCtx(()=>[vue.renderSlot(_ctx.$slots,"skip-link-text")]),_:3/* FORWARDED */},8,["href"])])):vue.createCommentVNode("v-if",true),vue.createTextVNode(),vue.createElementVNode("div",_hoisted_3$6,[vue.createElementVNode("div",_hoisted_4$4,[vue.renderSlot(_ctx.$slots,"logo",{},()=>[_ctx.routerLinkTo?(vue.openBlock(),vue.createBlock(_component_router_link,{key:0,to:_ctx.routerLinkTo},{default:vue.withCtx(()=>[vue.createElementVNode("span",{class:vue.normalizeClass(_ctx.logoClass),"aria-label":_ctx.altLogoText,role:"img"},null,10,_hoisted_5$4)]),_:1/* STABLE */},8,["to"])):(vue.openBlock(),vue.createElementBlock("span",{key:1,class:vue.normalizeClass(_ctx.logoClass),"aria-label":_ctx.altLogoText,role:"img"},null,10,_hoisted_6$4))])]),vue.createTextVNode(),(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(_ctx.headerTag),{class:"page-header__app-name"},{default:vue.withCtx(()=>[vue.renderSlot(_ctx.$slots,"default")]),_:3/* FORWARDED */})),vue.createTextVNode(),vue.createElementVNode("div",_hoisted_7$3,[vue.createElementVNode("div",_hoisted_8$3,[vue.renderSlot(_ctx.$slots,"right")])])],512/* NEED_PATCH */)]);}const FPageHeader=/* @__PURE__ */_export_sfc(_sfc_main$b,[["render",_sfc_render$b]]);const MIN_VALUE=0;const MAX_VALUE=100;function clamp(val){return Math.round(Math.min(Math.max(val||0,MIN_VALUE),MAX_VALUE));}const _sfc_main$a=vue.defineComponent({name:"FProgressbar",props:{/**
732
+ */routerLinkLabel:{type:String,required:false,default:""}},computed:{logoClass(){return`page-header__logo--${this.logoSize}`;},hasRouterLink(){return Boolean(this.routerLinkName||this.routerLinkPath);},routerLinkTo(){const{routerLinkName,routerLinkPath}=this;if(routerLinkName){return{name:routerLinkName};}if(routerLinkPath){return{path:routerLinkPath};}return null;},skipLinkAnchor(){const{skipLink,skipLinkHref}=this;if(skipLink===false||skipLink===""){return null;}else if(skipLink===true){return skipLinkHref;}else{return`#${skipLink}`;}},altLogoText(){return getAltLogoText(this.hasRouterLink,this.routerLinkLabel,this.$t);}}});const _hoisted_1$a={class:"page-header__root"};const _hoisted_2$7={key:0};const _hoisted_3$6={ref:"header",class:"page-header"};const _hoisted_4$4={class:"page-header__logo"};const _hoisted_5$4=["aria-label"];const _hoisted_6$4=["aria-label"];const _hoisted_7$3={class:"page-header__right"};const _hoisted_8$3={class:"page-header__right-slot"};function _sfc_render$b(_ctx,_cache,$props,$setup,$data,$options){const _component_i_skip_link=vue.resolveComponent("i-skip-link");const _component_router_link=vue.resolveComponent("router-link");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$a,[_ctx.skipLinkAnchor?(vue.openBlock(),vue.createElementBlock("nav",_hoisted_2$7,[vue.createVNode(_component_i_skip_link,{href:_ctx.skipLinkAnchor},{default:vue.withCtx(()=>[vue.renderSlot(_ctx.$slots,"skip-link-text")]),_:3/* FORWARDED */},8,["href"])])):vue.createCommentVNode("v-if",true),vue.createTextVNode(),vue.createElementVNode("div",_hoisted_3$6,[vue.createElementVNode("div",_hoisted_4$4,[vue.renderSlot(_ctx.$slots,"logo",{},()=>[_ctx.routerLinkTo?(vue.openBlock(),vue.createBlock(_component_router_link,{key:0,to:_ctx.routerLinkTo},{default:vue.withCtx(()=>[vue.createElementVNode("span",{class:vue.normalizeClass(_ctx.logoClass),"aria-label":_ctx.altLogoText,role:"img"},null,10,_hoisted_5$4)]),_:1/* STABLE */},8,["to"])):(vue.openBlock(),vue.createElementBlock("span",{key:1,class:vue.normalizeClass(_ctx.logoClass),"aria-label":_ctx.altLogoText,role:"img"},null,10,_hoisted_6$4))])]),vue.createTextVNode(),(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(_ctx.headerTag),{class:"page-header__app-name"},{default:vue.withCtx(()=>[vue.renderSlot(_ctx.$slots,"default")]),_:3/* FORWARDED */})),vue.createTextVNode(),vue.createElementVNode("div",_hoisted_7$3,[vue.createElementVNode("div",_hoisted_8$3,[vue.renderSlot(_ctx.$slots,"right")])])],512/* NEED_PATCH */)]);}const FPageHeader=/* @__PURE__ */_export_sfc(_sfc_main$b,[["render",_sfc_render$b]]);const MIN_VALUE=0;const MAX_VALUE=100;function clamp(val){return Math.round(Math.min(Math.max(val||0,MIN_VALUE),MAX_VALUE));}const _sfc_main$a=vue.defineComponent({name:"FProgressbar",props:{/**
717
733
  * Sets the progress. Higher value indicates further progress. Value must be in range 0-100.
718
734
  */value:{type:Number,required:true,validator(value){return value>=MIN_VALUE&&value<=MAX_VALUE;}},/**
719
735
  * Text that the screenreader will read, the actual value will be replaced with %VALUE% e.g You have uploaded %VALUE% percent
@@ -893,4 +909,4 @@ this.modelValue.length>=this.maxlength-this.softLimit;},charactersLeftWarningInt
893
909
  * @model
894
910
  */modelValue:{type:Object,required:true},/**
895
911
  * Dialogue tree
896
- */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();logic.focusFirst(this.$el);}else{this.emitChange(false);await this.$nextTick();const firstElement=getHTMLElementsFromVueRef(this.$refs["dialogueButton-0"])[0];if(firstElement){logic.focus(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=vue.resolveComponent("f-icon");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[_ctx.options.length>0?(vue.openBlock(),vue.createElementBlock("ul",_hoisted_2,[(vue.openBlock(true),vue.createElementBlock(vue.Fragment,null,vue.renderList(_ctx.options,(option,index)=>{return vue.openBlock(),vue.createElementBlock("li",{key:option.label,class:"dialogue-tree__list-item"},[vue.createElementVNode("button",{ref_for:true,ref:`dialogueButton-${index}`,type:"button",onClick:$event=>_ctx.onClickedOption(option,index)},[vue.createElementVNode("span",null,vue.toDisplayString(option.label),1/* TEXT */),vue.createTextVNode(),vue.createVNode(_component_f_icon,{name:"arrow-right"})],8,_hoisted_3)]);}),128/* KEYED_FRAGMENT */))])):vue.renderSlot(_ctx.$slots,"default",vue.normalizeProps(vue.mergeProps({key:1},{userData:_ctx.userData})))]);}const FDialogueTree=/* @__PURE__ */_export_sfc(_sfc_main,[["render",_sfc_render]]);exports.ActivateItemInjected=ActivateItemInjected;exports.ErrorData=ErrorData;exports.ErrorPlugin=ErrorPlugin;exports.ErrorViewData=ErrorViewData;exports.EventBus=EventBus;exports.FBadge=FBadge;exports.FBankAccountNumberTextField=_sfc_main$I;exports.FBankgiroTextField=_sfc_main$H;exports.FCalendar=FCalendar;exports.FCalendarDay=FCalendarDay;exports.FCard=FCard;exports.FCheckboxField=FCheckboxField;exports.FCheckboxGroup=FCheckboxGroup;exports.FCheckboxGroupField=FCheckboxField;exports.FClearingnumberTextField=_sfc_main$G;exports.FConfirmModal=FConfirmModal;exports.FContextMenu=FContextMenu;exports.FCrudButton=FCrudButton;exports.FCrudDataset=FCrudDataset;exports.FCurrencyTextField=_sfc_main$K;exports.FDataTable=FDataTable;exports.FDatepickerField=FDatepickerField;exports.FDialogueTree=FDialogueTree;exports.FEmailTextField=FEmailTextField;exports.FErrorHandlingApp=FErrorHandlingApp;exports.FErrorList=FErrorList;exports.FExpand=FExpand;exports.FExpandablePanel=FExpandablePanel;exports.FExpandableParagraph=FExpandableParagraph;exports.FFieldset=FFieldset;exports.FFileItem=FFileItem;exports.FFileSelector=FFileSelector;exports.FForm=FForm;exports.FFormModal=FFormModal;exports.FFormModalAction=FValidationFormAction;exports.FFormStep=FFormStep;exports.FFormStepButton=FFormStepButton;exports.FIcon=FIcon;exports.FInteractiveTable=FInteractiveTable;exports.FKUIConfigButtonOrder=FKUIConfigButtonOrder;exports.FLabel=FLabel;exports.FLayoutApplicationTemplate=FLayoutApplicationTemplate;exports.FLayoutLeftPanel=FLayoutLeftPanel;exports.FLayoutRightPanel=FLayoutRightPanel;exports.FLayoutRightPanelService=FLayoutRightPanelService;exports.FList=FList;exports.FLoader=FLoader;exports.FMessageBox=FMessageBox;exports.FModal=FModal;exports.FNavigationMenu=FNavigationMenu;exports.FNumericTextField=_sfc_main$F;exports.FOffline=FOffline;exports.FOrganisationsnummerTextField=_sfc_main$A;exports.FOutputField=FOutputField;exports.FPageHeader=FPageHeader;exports.FPercentTextField=_sfc_main$B;exports.FPersonnummerTextField=_sfc_main$E;exports.FPhoneTextField=FPhoneTextField;exports.FPlusgiroTextField=_sfc_main$D;exports.FPostalCodeTextField=_sfc_main$C;exports.FProgressbar=FProgressbar;exports.FRadioField=FRadioField;exports.FRadioGroup=FRadioGroup;exports.FRadioGroupField=FRadioField;exports.FSearchTextField=FSearchTextField;exports.FSelectField=FSelectField;exports.FSortFilterDataset=FSortFilterDataset;exports.FSortFilterDatasetInjected=FSortFilterDatasetInjected;exports.FStaticField=FStaticField;exports.FTableColumn=FTableColumn;exports.FTextField=FTextField;exports.FTextareaField=FTextareaField;exports.FTooltip=FTooltip;exports.FValidationForm=FValidationForm;exports.FValidationFormAction=FValidationFormAction;exports.FValidationGroup=FValidationGroup;exports.FWizard=FWizard;exports.FWizardStep=FWizardStep;exports.FWizardStepAction=FValidationFormAction;exports.FormErrorList=FormErrorList;exports.FormStep=FormStep;exports.IAnimateExpand=IAnimateExpand;exports.ICalendarMonth=ICalendarMonth;exports.ICalendarMonthGrid=ICalendarMonthGrid;exports.ICalendarNavbar=ICalendarNavbar;exports.IFlex=IFlex;exports.IFlexItem=IFlexItem;exports.IMenu=IMenu;exports.IPopup=IPopup;exports.IPopupError=IPopupError;exports.IPopupMenu=IPopupMenu;exports.ISkipLink=ISkipLink;exports.IValidationForm=FValidationForm;exports.MenuAction=MenuAction;exports.ModalReason=ModalReason;exports.TableScroll=TableScroll;exports.TestPlugin=TestPlugin;exports.TranslationMixin=TranslationMixin;exports.TranslationPlugin=TranslationPlugin;exports.UNHANDLED_ERROR_EVENT=UNHANDLED_ERROR_EVENT;exports.ValidationPlugin=ValidationPlugin;exports.actionFromKeyboardEvent=actionFromKeyboardEvent;exports.cleanUpElements=cleanUpElements;exports.config=config;exports.confirmModal=confirmModal;exports.createFFormProvideOptions=createFFormProvideOptions;exports.dispatchComponentUnmountEvent=dispatchComponentUnmountEvent;exports.dispatchComponentValidityEvent=dispatchComponentValidityEvent;exports.emptyTableRow=emptyTableRow;exports.findElementFromVueRef=findElementFromVueRef;exports.findHTMLElementFromVueRef=findHTMLElementFromVueRef;exports.findParentByName=findParentByName;exports.focus=focus;exports.formModal=formModal;exports.getDayEndOffset=getDayEndOffset;exports.getDayStartOffset=getDayStartOffset;exports.getElementFromVueRef=getElementFromVueRef;exports.getElementsFromVueRef=getElementsFromVueRef;exports.getHTMLElementFromVueRef=getHTMLElementFromVueRef;exports.getHTMLElementsFromVueRef=getHTMLElementsFromVueRef;exports.getInputElement=getInputElement;exports.getParentByName=getParentByName;exports.getRef=getRef;exports.getSortedHTMLElementsFromVueRef=getSortedHTMLElementsFromVueRef;exports.getTextFromScopedSlot=getTextFromScopedSlot;exports.handleKeyboardFocusNavigation=handleKeyboardFocusNavigation;exports.hasParentByName=hasParentByName;exports.hasSlot=hasSlot;exports.includeItem=includeItem;exports.isContextMenuSeparatorItem=isContextMenuSeparatorItem;exports.isContextMenuTextItem=isContextMenuTextItem;exports.isDialogueTreeEndQuestion=isDialogueTreeEndQuestion;exports.isFormStepReference=isFormStepReference;exports.itemEquals=itemEquals;exports.mountComponent=mountComponent;exports.openModal=openModal;exports.refIsElement=refIsElement;exports.refIsElementArray=refIsElementArray;exports.refIsHTMLElementArray=refIsHTMLElementArray;exports.refIsVue=refIsVue;exports.refIsVueArray=refIsVueArray;exports.renderSlotText=renderSlotText;exports.setIsOpen=setIsOpen;exports.setRef=setRef;exports.setRunningContext=setRunningContext;exports.sortComponentsWithErrorsOnDOMOrder=sortComponentsWithErrorsOnDOMOrder;exports.tableScrollClasses=tableScrollClasses;exports.updateCalendarValue=updateCalendarValue;exports.useTranslate=useTranslate;
912
+ */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();logic.focusFirst(this.$el);}else{this.emitChange(false);await this.$nextTick();const firstElement=getHTMLElementsFromVueRef(this.$refs["dialogueButton-0"])[0];if(firstElement){logic.focus(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=vue.resolveComponent("f-icon");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[_ctx.options.length>0?(vue.openBlock(),vue.createElementBlock("ul",_hoisted_2,[(vue.openBlock(true),vue.createElementBlock(vue.Fragment,null,vue.renderList(_ctx.options,(option,index)=>{return vue.openBlock(),vue.createElementBlock("li",{key:option.label,class:"dialogue-tree__list-item"},[vue.createElementVNode("button",{ref_for:true,ref:`dialogueButton-${index}`,type:"button",onClick:$event=>_ctx.onClickedOption(option,index)},[vue.createElementVNode("span",null,vue.toDisplayString(option.label),1/* TEXT */),vue.createTextVNode(),vue.createVNode(_component_f_icon,{name:"arrow-right"})],8,_hoisted_3)]);}),128/* KEYED_FRAGMENT */))])):vue.renderSlot(_ctx.$slots,"default",vue.normalizeProps(vue.mergeProps({key:1},{userData:_ctx.userData})))]);}const FDialogueTree=/* @__PURE__ */_export_sfc(_sfc_main,[["render",_sfc_render]]);exports.ActivateItemInjected=ActivateItemInjected;exports.ErrorData=ErrorData;exports.ErrorPlugin=ErrorPlugin;exports.ErrorViewData=ErrorViewData;exports.EventBus=EventBus;exports.FBadge=FBadge;exports.FBankAccountNumberTextField=_sfc_main$I;exports.FBankgiroTextField=_sfc_main$H;exports.FCalendar=FCalendar;exports.FCalendarDay=FCalendarDay;exports.FCard=FCard;exports.FCheckboxField=FCheckboxField;exports.FCheckboxGroup=FCheckboxGroup;exports.FCheckboxGroupField=FCheckboxField;exports.FClearingnumberTextField=_sfc_main$G;exports.FConfirmModal=FConfirmModal;exports.FContextMenu=FContextMenu;exports.FCrudButton=FCrudButton;exports.FCrudDataset=FCrudDataset;exports.FCurrencyTextField=_sfc_main$K;exports.FDataTable=FDataTable;exports.FDatepickerField=FDatepickerField;exports.FDialogueTree=FDialogueTree;exports.FEmailTextField=FEmailTextField;exports.FErrorHandlingApp=FErrorHandlingApp;exports.FErrorList=FErrorList;exports.FExpand=FExpand;exports.FExpandablePanel=FExpandablePanel;exports.FExpandableParagraph=FExpandableParagraph;exports.FFieldset=FFieldset;exports.FFileItem=FFileItem;exports.FFileSelector=FFileSelector;exports.FForm=FForm;exports.FFormModal=FFormModal;exports.FFormModalAction=FValidationFormAction;exports.FFormStep=FFormStep;exports.FFormStepButton=FFormStepButton;exports.FIcon=FIcon;exports.FInteractiveTable=FInteractiveTable;exports.FKUIConfigButtonOrder=FKUIConfigButtonOrder;exports.FLabel=FLabel;exports.FLayoutApplicationTemplate=FLayoutApplicationTemplate;exports.FLayoutLeftPanel=FLayoutLeftPanel;exports.FLayoutRightPanel=FLayoutRightPanel;exports.FLayoutRightPanelService=FLayoutRightPanelService;exports.FList=FList;exports.FLoader=FLoader;exports.FMessageBox=FMessageBox;exports.FModal=FModal;exports.FNavigationMenu=FNavigationMenu;exports.FNumericTextField=_sfc_main$F;exports.FOffline=FOffline;exports.FOrganisationsnummerTextField=_sfc_main$A;exports.FOutputField=FOutputField;exports.FPageHeader=FPageHeader;exports.FPercentTextField=_sfc_main$B;exports.FPersonnummerTextField=_sfc_main$E;exports.FPhoneTextField=FPhoneTextField;exports.FPlusgiroTextField=_sfc_main$D;exports.FPostalCodeTextField=_sfc_main$C;exports.FProgressbar=FProgressbar;exports.FRadioField=FRadioField;exports.FRadioGroup=FRadioGroup;exports.FRadioGroupField=FRadioField;exports.FSearchTextField=FSearchTextField;exports.FSelectField=FSelectField;exports.FSortFilterDataset=FSortFilterDataset;exports.FSortFilterDatasetInjected=FSortFilterDatasetInjected;exports.FStaticField=FStaticField;exports.FTableColumn=FTableColumn;exports.FTableColumnSize=FTableColumnSize;exports.FTableColumnSort=FTableColumnSort;exports.FTableColumnType=FTableColumnType;exports.FTextField=FTextField;exports.FTextareaField=FTextareaField;exports.FTooltip=FTooltip;exports.FValidationForm=FValidationForm;exports.FValidationFormAction=FValidationFormAction;exports.FValidationGroup=FValidationGroup;exports.FWizard=FWizard;exports.FWizardStep=FWizardStep;exports.FWizardStepAction=FValidationFormAction;exports.FormErrorList=FormErrorList;exports.FormStep=FormStep;exports.IAnimateExpand=IAnimateExpand;exports.ICalendarMonth=ICalendarMonth;exports.ICalendarMonthGrid=ICalendarMonthGrid;exports.ICalendarNavbar=ICalendarNavbar;exports.IFlex=IFlex;exports.IFlexItem=IFlexItem;exports.IMenu=IMenu;exports.IPopup=IPopup;exports.IPopupError=IPopupError;exports.IPopupMenu=IPopupMenu;exports.ISkipLink=ISkipLink;exports.IValidationForm=FValidationForm;exports.MenuAction=MenuAction;exports.ModalReason=ModalReason;exports.Operation=Operation;exports.TableScroll=TableScroll;exports.TestPlugin=TestPlugin;exports.TranslationMixin=TranslationMixin;exports.TranslationPlugin=TranslationPlugin;exports.UNHANDLED_ERROR_EVENT=UNHANDLED_ERROR_EVENT;exports.ValidationPlugin=ValidationPlugin;exports.actionFromKeyboardEvent=actionFromKeyboardEvent;exports.cleanUpElements=cleanUpElements;exports.config=config;exports.confirmModal=confirmModal;exports.createFFormProvideOptions=createFFormProvideOptions;exports.dispatchComponentUnmountEvent=dispatchComponentUnmountEvent;exports.dispatchComponentValidityEvent=dispatchComponentValidityEvent;exports.emptyTableRow=emptyTableRow;exports.findElementFromVueRef=findElementFromVueRef;exports.findHTMLElementFromVueRef=findHTMLElementFromVueRef;exports.findParentByName=findParentByName;exports.focus=focus;exports.formModal=formModal;exports.getDayEndOffset=getDayEndOffset;exports.getDayStartOffset=getDayStartOffset;exports.getElementFromVueRef=getElementFromVueRef;exports.getElementsFromVueRef=getElementsFromVueRef;exports.getHTMLElementFromVueRef=getHTMLElementFromVueRef;exports.getHTMLElementsFromVueRef=getHTMLElementsFromVueRef;exports.getInputElement=getInputElement;exports.getParentByName=getParentByName;exports.getRef=getRef;exports.getSortedHTMLElementsFromVueRef=getSortedHTMLElementsFromVueRef;exports.getTextFromScopedSlot=getTextFromScopedSlot;exports.handleKeyboardFocusNavigation=handleKeyboardFocusNavigation;exports.hasParentByName=hasParentByName;exports.hasSlot=hasSlot;exports.includeItem=includeItem;exports.isContextMenuSeparatorItem=isContextMenuSeparatorItem;exports.isContextMenuTextItem=isContextMenuTextItem;exports.isDialogueTreeEndQuestion=isDialogueTreeEndQuestion;exports.isFormStepReference=isFormStepReference;exports.itemEquals=itemEquals;exports.mountComponent=mountComponent;exports.openModal=openModal;exports.refIsElement=refIsElement;exports.refIsElementArray=refIsElementArray;exports.refIsHTMLElementArray=refIsHTMLElementArray;exports.refIsVue=refIsVue;exports.refIsVueArray=refIsVueArray;exports.renderSlotText=renderSlotText;exports.setIsOpen=setIsOpen;exports.setRef=setRef;exports.setRunningContext=setRunningContext;exports.sortComponentsWithErrorsOnDOMOrder=sortComponentsWithErrorsOnDOMOrder;exports.tableScrollClasses=tableScrollClasses;exports.updateCalendarValue=updateCalendarValue;exports.useTranslate=useTranslate;