@fkui/vue 5.46.0 → 6.0.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.
@@ -1,8 +1,8 @@
1
- import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, renderSlot, mergeProps, createTextVNode, createElementVNode, isVNode, Comment, createApp, resolveComponent, withKeys, createCommentVNode, toDisplayString, createVNode, createBlock, withCtx, Fragment, renderList, withModifiers, getCurrentInstance, resolveDynamicComponent, onMounted, toValue, onUnmounted, useSlots, ref, normalizeProps, guardReactiveProps, unref, Transition, Teleport, normalizeStyle, useTemplateRef, watchEffect, watch, nextTick, withDirectives, vShow, readonly, inject, toRef, provide, createSlots, vModelSelect, vModelDynamic, toHandlers, shallowRef, toRefs } from "vue";
2
- import { TranslationService, isSet, configLogic, focus as focus$1, ElementIdService, pushFocus, findTabbableElements, popFocus, scrollTo, Reference, documentOrderComparator, ValidationService, isValidatableHTMLElement, alertScreenReader, debounce, handleTab, isEmpty, deepClone, formatNumber, parseNumber, parseBankAccountNumber, parseBankgiro, parseClearingNumber, formatPersonnummer, parsePersonnummer, parsePlusgiro, formatPostalCode, parsePercent, formatPercent, parseOrganisationsnummer, isInvalidDatesConfig, isInvalidWeekdaysConfig, parseDate, waitForScreenReader, focusFirst, saveFocus, addFocusListener, removeFocusListener, restoreFocus, DomUtils } from "@fkui/logic";
3
- import { getWeekdayNamings, groupByWeek, FDate, DateFormat } from "@fkui/date";
1
+ import { defineComponent, computed, createElementBlock, openBlock, normalizeClass, renderSlot, mergeProps, createTextVNode, createElementVNode, createApp, resolveComponent, createCommentVNode, withKeys, createVNode, toDisplayString, createBlock, withCtx, Fragment, renderList, withModifiers, isVNode, Comment, getCurrentInstance, resolveDynamicComponent, onMounted, toValue, onUnmounted, useSlots, ref, normalizeProps, guardReactiveProps, unref, Transition, Teleport, normalizeStyle, useTemplateRef, watchEffect, watch, nextTick, withDirectives, vShow, readonly, inject, toRef, provide, createSlots, vModelSelect, vModelDynamic, toHandlers, shallowRef, toRefs } from "vue";
2
+ import { TranslationService, isSet, configLogic, focus as focus$1, ElementIdService, findTabbableElements, popFocus, pushFocus, scrollTo, documentOrderComparator, ValidationService, isValidatableHTMLElement, alertScreenReader, debounce, handleTab, isEmpty, deepClone, parseNumber, formatNumber, parseBankAccountNumber, parseBankgiro, parseClearingNumber, parsePersonnummer, formatPersonnummer, parsePlusgiro, formatPostalCode, parsePercent, formatPercent, parseOrganisationsnummer, isInvalidDatesConfig, isInvalidWeekdaysConfig, parseDate, waitForScreenReader, focusFirst, removeFocusListener, restoreFocus, saveFocus, addFocusListener, DomUtils } from "@fkui/logic";
3
+ import { groupByWeek, getWeekdayNamings, FDate, DateFormat } from "@fkui/date";
4
4
  const statuses = ["default", "warning", "error", "success", "info"];
5
- const _sfc_main$1f = /* @__PURE__ */ defineComponent({
5
+ const _sfc_main$1b = /* @__PURE__ */ defineComponent({
6
6
  __name: "FBadge",
7
7
  props: {
8
8
  /**
@@ -1320,7 +1320,7 @@ function requireEs_array_push() {
1320
1320
  requireEs_array_push();
1321
1321
  const Flip = ["horizontal", "vertical"];
1322
1322
  const Rotate = ["90", "180", "270"];
1323
- const _sfc_main$1e = defineComponent({
1323
+ const _sfc_main$1a = defineComponent({
1324
1324
  name: "FIcon",
1325
1325
  inheritAttrs: false,
1326
1326
  props: {
@@ -1408,18 +1408,18 @@ const _export_sfc = (sfc, props) => {
1408
1408
  }
1409
1409
  return target;
1410
1410
  };
1411
- const _hoisted_1$W = ["aria-hidden"];
1412
- const _hoisted_2$H = ["xlink:href"];
1413
- function _sfc_render$10(_ctx, _cache, $props, $setup, $data, $options) {
1411
+ const _hoisted_1$U = ["aria-hidden"];
1412
+ const _hoisted_2$F = ["xlink:href"];
1413
+ function _sfc_render$W(_ctx, _cache, $props, $setup, $data, $options) {
1414
1414
  return openBlock(), createElementBlock("svg", mergeProps(_ctx.$attrs, {
1415
1415
  focusable: "false",
1416
1416
  class: ["icon", [_ctx.spriteKey, ..._ctx.modifiers]],
1417
1417
  "aria-hidden": _ctx.ariaHidden
1418
1418
  }), [renderSlot(_ctx.$slots, "default"), _cache[0] || (_cache[0] = createTextVNode()), createElementVNode("use", {
1419
1419
  "xlink:href": _ctx.spriteId
1420
- }, null, 8, _hoisted_2$H)], 16, _hoisted_1$W);
1420
+ }, null, 8, _hoisted_2$F)], 16, _hoisted_1$U);
1421
1421
  }
1422
- const FIcon = /* @__PURE__ */ _export_sfc(_sfc_main$1e, [["render", _sfc_render$10]]);
1422
+ const FIcon = /* @__PURE__ */ _export_sfc(_sfc_main$1a, [["render", _sfc_render$W]]);
1423
1423
  const DATA_TEST_ATTRIBUTE_NAME = "data-test";
1424
1424
  function throwErrorIfEmpty(value) {
1425
1425
  if (!value) {
@@ -3348,56 +3348,6 @@ const scrollClasses = {
3348
3348
  function tableScrollClasses(val) {
3349
3349
  return scrollClasses[val];
3350
3350
  }
3351
- const defaultOptions = {
3352
- stripClasses: ["sr-only"]
3353
- };
3354
- function collapseWhitespace(text) {
3355
- return text.replace(/\s+/gm, " ").replace(/(^ | $)/g, "");
3356
- }
3357
- function intersection(a, b) {
3358
- return a.filter((it) => b.includes(it));
3359
- }
3360
- function excludeClass(exclude) {
3361
- return (node) => {
3362
- var _a;
3363
- if (typeof ((_a = node.props) == null ? void 0 : _a.class) !== "string") {
3364
- return true;
3365
- }
3366
- const classes = node.props.class.split(/\s+/);
3367
- const matches = intersection(classes, exclude);
3368
- return matches.length === 0;
3369
- };
3370
- }
3371
- function excludeComment(node) {
3372
- return node.type !== Comment;
3373
- }
3374
- function getTextContent(children, options) {
3375
- return children.filter(isVNode).filter(excludeComment).filter(excludeClass(options.stripClasses)).map((child) => {
3376
- if (Array.isArray(child.children)) {
3377
- return getTextContent(child.children, options);
3378
- }
3379
- if (typeof child.children === "string") {
3380
- return child.children;
3381
- }
3382
- }).join("");
3383
- }
3384
- function renderSlotText(render, props = {}, options) {
3385
- if (!render) {
3386
- return void 0;
3387
- }
3388
- const nodes = render(props);
3389
- if (nodes.length === 0) {
3390
- return void 0;
3391
- }
3392
- return collapseWhitespace(getTextContent(nodes, {
3393
- ...defaultOptions,
3394
- ...options
3395
- }));
3396
- }
3397
- function getTextFromScopedSlot(slot) {
3398
- var _renderSlotText;
3399
- return (_renderSlotText = renderSlotText(slot)) !== null && _renderSlotText !== void 0 ? _renderSlotText : "";
3400
- }
3401
3351
  function dispatchComponentValidityEvent(element, detail) {
3402
3352
  element.dispatchEvent(new CustomEvent("component-validity", {
3403
3353
  detail,
@@ -3506,10 +3456,7 @@ function getHTMLElementFromVueRef(ref2) {
3506
3456
  }
3507
3457
  function lazyLoad(fn2) {
3508
3458
  let cache;
3509
- return () => {
3510
- var _cache;
3511
- return (_cache = cache) !== null && _cache !== void 0 ? _cache : cache = fn2();
3512
- };
3459
+ return () => cache !== null && cache !== void 0 ? cache : cache = fn2();
3513
3460
  }
3514
3461
  const eventTarget = lazyLoad(() => new EventTarget());
3515
3462
  const fn = /* @__PURE__ */ new Map();
@@ -3540,10 +3487,8 @@ var FKUIConfigButtonOrder = /* @__PURE__ */ ((FKUIConfigButtonOrder2) => {
3540
3487
  let popupContainer = document.body;
3541
3488
  let production = true;
3542
3489
  const config = {
3543
- buttonOrder: FKUIConfigButtonOrder.LEFT_TO_RIGHT,
3490
+ buttonOrder: FKUIConfigButtonOrder.RIGHT_TO_LEFT,
3544
3491
  teleportTarget: document.body,
3545
- modalTarget: null,
3546
- popupTarget: null,
3547
3492
  get popupContainer() {
3548
3493
  if (typeof popupContainer === "string") {
3549
3494
  const element = document.querySelector(popupContainer);
@@ -3646,7 +3591,6 @@ function unpackPayload(event, src) {
3646
3591
  };
3647
3592
  }
3648
3593
  function openModal(callingInstance, Component, options) {
3649
- var _config$modalTarget;
3650
3594
  if (typeof options === "string") {
3651
3595
  return openModal(callingInstance, Component, {
3652
3596
  props: {
@@ -3655,7 +3599,7 @@ function openModal(callingInstance, Component, options) {
3655
3599
  });
3656
3600
  }
3657
3601
  const defaultOptions2 = {
3658
- attachTo: (_config$modalTarget = config.modalTarget) !== null && _config$modalTarget !== void 0 ? _config$modalTarget : config.teleportTarget,
3602
+ attachTo: config.teleportTarget,
3659
3603
  props: {}
3660
3604
  };
3661
3605
  const {
@@ -3741,7 +3685,7 @@ function elementIsRadioButton(element) {
3741
3685
  function isHTMLInputElement(element) {
3742
3686
  return element instanceof HTMLInputElement;
3743
3687
  }
3744
- const _sfc_main$1d = defineComponent({
3688
+ const _sfc_main$19 = defineComponent({
3745
3689
  name: "FModal",
3746
3690
  components: {
3747
3691
  FIcon
@@ -3921,14 +3865,14 @@ const _sfc_main$1d = defineComponent({
3921
3865
  }
3922
3866
  }
3923
3867
  });
3924
- const _hoisted_1$V = ["id"];
3925
- const _hoisted_2$G = {
3868
+ const _hoisted_1$T = ["id"];
3869
+ const _hoisted_2$E = {
3926
3870
  class: "modal__backdrop"
3927
3871
  };
3928
- const _hoisted_3$x = {
3872
+ const _hoisted_3$w = {
3929
3873
  class: "modal__inner-container"
3930
3874
  };
3931
- const _hoisted_4$r = {
3875
+ const _hoisted_4$q = {
3932
3876
  class: "modal__dialog"
3933
3877
  };
3934
3878
  const _hoisted_5$l = {
@@ -3937,13 +3881,13 @@ const _hoisted_5$l = {
3937
3881
  const _hoisted_6$g = {
3938
3882
  class: "modal__header"
3939
3883
  };
3940
- const _hoisted_7$e = {
3884
+ const _hoisted_7$d = {
3941
3885
  key: 0,
3942
3886
  ref: "modalTitle",
3943
3887
  class: "modal__title",
3944
3888
  tabindex: "-1"
3945
3889
  };
3946
- const _hoisted_8$9 = {
3890
+ const _hoisted_8$8 = {
3947
3891
  ref: "modalContent",
3948
3892
  class: "modal__content",
3949
3893
  tabindex: "-1"
@@ -3955,25 +3899,25 @@ const _hoisted_10$4 = {
3955
3899
  class: "modal__shelf"
3956
3900
  };
3957
3901
  const _hoisted_11$3 = ["aria-label"];
3958
- function _sfc_render$$(_ctx, _cache, $props, $setup, $data, $options) {
3902
+ function _sfc_render$V(_ctx, _cache, $props, $setup, $data, $options) {
3959
3903
  const _component_f_icon = resolveComponent("f-icon");
3960
3904
  return _ctx.isOpen ? (openBlock(), createElementBlock("div", {
3961
3905
  key: 0,
3962
3906
  id: _ctx.id,
3963
3907
  class: normalizeClass(["modal", _ctx.modalClass])
3964
- }, [createElementVNode("div", _hoisted_2$G, [createElementVNode("div", {
3908
+ }, [createElementVNode("div", _hoisted_2$E, [createElementVNode("div", {
3965
3909
  class: "modal__outer-container scroll-target",
3966
3910
  tabindex: "-1",
3967
3911
  role: "dialog",
3968
3912
  "aria-modal": "true",
3969
3913
  onKeyup: _cache[3] || (_cache[3] = withKeys((...args) => _ctx.onClose && _ctx.onClose(...args), ["esc"]))
3970
- }, [createElementVNode("div", _hoisted_3$x, [createElementVNode("div", {
3914
+ }, [createElementVNode("div", _hoisted_3$w, [createElementVNode("div", {
3971
3915
  ref: "modalDialogContainer",
3972
3916
  class: normalizeClass(["modal__dialog-container", _ctx.containerClasses])
3973
- }, [createElementVNode("div", _hoisted_4$r, [createElementVNode("div", _hoisted_5$l, [createElementVNode("div", _hoisted_6$g, [createElementVNode("div", {
3917
+ }, [createElementVNode("div", _hoisted_4$q, [createElementVNode("div", _hoisted_5$l, [createElementVNode("div", _hoisted_6$g, [createElementVNode("div", {
3974
3918
  tabindex: "0",
3975
3919
  onFocus: _cache[0] || (_cache[0] = (...args) => _ctx.onFocusFirst && _ctx.onFocusFirst(...args))
3976
- }, null, 32), _cache[4] || (_cache[4] = createTextVNode()), _ctx.hasHeaderSlot ? (openBlock(), createElementBlock("h1", _hoisted_7$e, [renderSlot(_ctx.$slots, "header")], 512)) : createCommentVNode("", true)]), _cache[5] || (_cache[5] = createTextVNode()), createElementVNode("div", _hoisted_8$9, [renderSlot(_ctx.$slots, "content")], 512), _cache[6] || (_cache[6] = createTextVNode()), createElementVNode("div", _hoisted_9$6, [renderSlot(_ctx.$slots, "footer")])]), _cache[9] || (_cache[9] = createTextVNode()), createElementVNode("div", _hoisted_10$4, [createElementVNode("button", {
3920
+ }, null, 32), _cache[4] || (_cache[4] = createTextVNode()), _ctx.hasHeaderSlot ? (openBlock(), createElementBlock("h1", _hoisted_7$d, [renderSlot(_ctx.$slots, "header")], 512)) : createCommentVNode("", true)]), _cache[5] || (_cache[5] = createTextVNode()), createElementVNode("div", _hoisted_8$8, [renderSlot(_ctx.$slots, "content")], 512), _cache[6] || (_cache[6] = createTextVNode()), createElementVNode("div", _hoisted_9$6, [renderSlot(_ctx.$slots, "footer")])]), _cache[9] || (_cache[9] = createTextVNode()), createElementVNode("div", _hoisted_10$4, [createElementVNode("button", {
3977
3921
  type: "button",
3978
3922
  class: "close-button",
3979
3923
  "aria-label": _ctx.ariaCloseText,
@@ -3983,9 +3927,9 @@ function _sfc_render$$(_ctx, _cache, $props, $setup, $data, $options) {
3983
3927
  })], 8, _hoisted_11$3), _cache[8] || (_cache[8] = createTextVNode()), createElementVNode("div", {
3984
3928
  tabindex: "0",
3985
3929
  onFocus: _cache[2] || (_cache[2] = (...args) => _ctx.onFocusLast && _ctx.onFocusLast(...args))
3986
- }, null, 32)])])], 2)])], 32)])], 10, _hoisted_1$V)) : createCommentVNode("", true);
3930
+ }, null, 32)])])], 2)])], 32)])], 10, _hoisted_1$T)) : createCommentVNode("", true);
3987
3931
  }
3988
- const FModal = /* @__PURE__ */ _export_sfc(_sfc_main$1d, [["render", _sfc_render$$]]);
3932
+ const FModal = /* @__PURE__ */ _export_sfc(_sfc_main$19, [["render", _sfc_render$V]]);
3989
3933
  function prepareButtonList(src, buttonOrder = config.buttonOrder) {
3990
3934
  const list = src.map((it) => {
3991
3935
  var _it$event, _ref, _it$reason, _it$type;
@@ -4014,7 +3958,7 @@ const defaultButtons = [{
4014
3958
  event: "dismiss",
4015
3959
  type: "secondary"
4016
3960
  }];
4017
- const _sfc_main$1c = defineComponent({
3961
+ const _sfc_main$18 = defineComponent({
4018
3962
  name: "FConfirmModal",
4019
3963
  components: {
4020
3964
  FModal
@@ -4118,15 +4062,15 @@ const _sfc_main$1c = defineComponent({
4118
4062
  }
4119
4063
  }
4120
4064
  });
4121
- const _hoisted_1$U = {
4065
+ const _hoisted_1$S = {
4122
4066
  class: "button-group"
4123
4067
  };
4124
- const _hoisted_2$F = ["onClick"];
4125
- const _hoisted_3$w = {
4068
+ const _hoisted_2$D = ["onClick"];
4069
+ const _hoisted_3$v = {
4126
4070
  key: 0,
4127
4071
  class: "sr-only"
4128
4072
  };
4129
- function _sfc_render$_(_ctx, _cache, $props, $setup, $data, $options) {
4073
+ function _sfc_render$U(_ctx, _cache, $props, $setup, $data, $options) {
4130
4074
  const _component_f_modal = resolveComponent("f-modal");
4131
4075
  return openBlock(), createBlock(_component_f_modal, {
4132
4076
  fullscreen: _ctx.fullscreen,
@@ -4139,22 +4083,22 @@ function _sfc_render$_(_ctx, _cache, $props, $setup, $data, $options) {
4139
4083
  }, {
4140
4084
  header: withCtx(() => [renderSlot(_ctx.$slots, "heading", {}, () => [createTextVNode(toDisplayString(_ctx.heading), 1)])]),
4141
4085
  content: withCtx(() => [renderSlot(_ctx.$slots, "content", {}, () => [createTextVNode(toDisplayString(_ctx.content), 1)])]),
4142
- footer: withCtx(() => [createElementVNode("div", _hoisted_1$U, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.preparedButtons, (button) => {
4086
+ footer: withCtx(() => [createElementVNode("div", _hoisted_1$S, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.preparedButtons, (button) => {
4143
4087
  return openBlock(), createElementBlock("button", {
4144
4088
  key: button.label,
4145
4089
  type: "button",
4146
4090
  class: normalizeClass([button.classlist, "button-group__item"]),
4147
4091
  onClick: ($event) => _ctx.onClick(button)
4148
- }, [createElementVNode("span", null, toDisplayString(button.label), 1), _cache[0] || (_cache[0] = createTextVNode()), button.screenreader ? (openBlock(), createElementBlock("span", _hoisted_3$w, " " + toDisplayString(button.screenreader), 1)) : createCommentVNode("", true)], 10, _hoisted_2$F);
4092
+ }, [createElementVNode("span", null, toDisplayString(button.label), 1), _cache[0] || (_cache[0] = createTextVNode()), button.screenreader ? (openBlock(), createElementBlock("span", _hoisted_3$v, " " + toDisplayString(button.screenreader), 1)) : createCommentVNode("", true)], 10, _hoisted_2$D);
4149
4093
  }), 128))])]),
4150
4094
  _: 3
4151
4095
  }, 8, ["fullscreen", "is-open", "aria-close-text", "size", "focus", "onClose"]);
4152
4096
  }
4153
- const FConfirmModal = /* @__PURE__ */ _export_sfc(_sfc_main$1c, [["render", _sfc_render$_]]);
4097
+ const FConfirmModal = /* @__PURE__ */ _export_sfc(_sfc_main$18, [["render", _sfc_render$U]]);
4154
4098
  const GAP = ["1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x"];
4155
4099
  const ALIGNMENT = ["top", "center", "bottom"];
4156
4100
  const FLOAT = ["left", "center", "right"];
4157
- const _sfc_main$1b = defineComponent({
4101
+ const _sfc_main$17 = defineComponent({
4158
4102
  name: "IFlex",
4159
4103
  inheritAttrs: true,
4160
4104
  props: {
@@ -4229,13 +4173,13 @@ const _sfc_main$1b = defineComponent({
4229
4173
  }
4230
4174
  }
4231
4175
  });
4232
- function _sfc_render$Z(_ctx, _cache, $props, $setup, $data, $options) {
4176
+ function _sfc_render$T(_ctx, _cache, $props, $setup, $data, $options) {
4233
4177
  return openBlock(), createElementBlock("div", {
4234
4178
  class: normalizeClass(["iflex", _ctx.classList])
4235
4179
  }, [renderSlot(_ctx.$slots, "default")], 2);
4236
4180
  }
4237
- const IFlex = /* @__PURE__ */ _export_sfc(_sfc_main$1b, [["render", _sfc_render$Z]]);
4238
- const _sfc_main$1a = defineComponent({
4181
+ const IFlex = /* @__PURE__ */ _export_sfc(_sfc_main$17, [["render", _sfc_render$T]]);
4182
+ const _sfc_main$16 = defineComponent({
4239
4183
  name: "IFlexItem",
4240
4184
  inheritAttrs: true,
4241
4185
  props: {
@@ -4282,12 +4226,12 @@ const _sfc_main$1a = defineComponent({
4282
4226
  }
4283
4227
  }
4284
4228
  });
4285
- function _sfc_render$Y(_ctx, _cache, $props, $setup, $data, $options) {
4229
+ function _sfc_render$S(_ctx, _cache, $props, $setup, $data, $options) {
4286
4230
  return openBlock(), createElementBlock("div", {
4287
4231
  class: normalizeClass(["iflex__item", _ctx.classList])
4288
4232
  }, [renderSlot(_ctx.$slots, "default")], 2);
4289
4233
  }
4290
- const IFlexItem = /* @__PURE__ */ _export_sfc(_sfc_main$1a, [["render", _sfc_render$Y]]);
4234
+ const IFlexItem = /* @__PURE__ */ _export_sfc(_sfc_main$16, [["render", _sfc_render$S]]);
4291
4235
  function focusError(item) {
4292
4236
  const element = document.querySelector(`#${item.id}`);
4293
4237
  if (!element) {
@@ -4297,7 +4241,7 @@ function focusError(item) {
4297
4241
  scrollTo(element, window.innerHeight * 0.25);
4298
4242
  focus$1(focusElement2 ? focusElement2 : element);
4299
4243
  }
4300
- const _sfc_main$19 = defineComponent({
4244
+ const _sfc_main$15 = defineComponent({
4301
4245
  name: "FErrorList",
4302
4246
  components: {
4303
4247
  FIcon,
@@ -4353,24 +4297,24 @@ const _sfc_main$19 = defineComponent({
4353
4297
  }
4354
4298
  }
4355
4299
  });
4356
- const _hoisted_1$T = {
4300
+ const _hoisted_1$R = {
4357
4301
  class: "error-list"
4358
4302
  };
4359
- const _hoisted_2$E = {
4303
+ const _hoisted_2$C = {
4360
4304
  key: 0
4361
4305
  };
4362
- const _hoisted_3$v = {
4306
+ const _hoisted_3$u = {
4363
4307
  class: "error-list__list error-list--list-style-none"
4364
4308
  };
4365
- const _hoisted_4$q = ["onClick"];
4309
+ const _hoisted_4$p = ["onClick"];
4366
4310
  const _hoisted_5$k = {
4367
4311
  class: "error-list__link"
4368
4312
  };
4369
- function _sfc_render$X(_ctx, _cache, $props, $setup, $data, $options) {
4313
+ function _sfc_render$R(_ctx, _cache, $props, $setup, $data, $options) {
4370
4314
  const _component_f_icon = resolveComponent("f-icon");
4371
4315
  const _component_i_flex_item = resolveComponent("i-flex-item");
4372
4316
  const _component_i_flex = resolveComponent("i-flex");
4373
- return openBlock(), createElementBlock("div", _hoisted_1$T, [createVNode(_component_i_flex, null, {
4317
+ return openBlock(), createElementBlock("div", _hoisted_1$R, [createVNode(_component_i_flex, null, {
4374
4318
  default: withCtx(() => [_ctx.hasTitleSlot ? (openBlock(), createBlock(_component_i_flex_item, {
4375
4319
  key: 0,
4376
4320
  shrink: ""
@@ -4389,7 +4333,7 @@ function _sfc_render$X(_ctx, _cache, $props, $setup, $data, $options) {
4389
4333
  })) : createCommentVNode("", true), _cache[7] || (_cache[7] = createTextVNode()), createVNode(_component_i_flex_item, {
4390
4334
  grow: ""
4391
4335
  }, {
4392
- default: withCtx(() => [_ctx.hasTitleSlot ? (openBlock(), createElementBlock("div", _hoisted_2$E, [renderSlot(_ctx.$slots, "title")])) : createCommentVNode("", true), _cache[5] || (_cache[5] = createTextVNode()), createElementVNode("ul", _hoisted_3$v, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item) => {
4336
+ default: withCtx(() => [_ctx.hasTitleSlot ? (openBlock(), createElementBlock("div", _hoisted_2$C, [renderSlot(_ctx.$slots, "title")])) : createCommentVNode("", true), _cache[5] || (_cache[5] = createTextVNode()), createElementVNode("ul", _hoisted_3$u, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item) => {
4393
4337
  return openBlock(), createElementBlock("li", {
4394
4338
  key: item.id,
4395
4339
  class: normalizeClass(_ctx.liClasses(item))
@@ -4404,7 +4348,7 @@ function _sfc_render$X(_ctx, _cache, $props, $setup, $data, $options) {
4404
4348
  "aria-hidden": "true"
4405
4349
  }, null, -1)), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("span", _hoisted_5$k, toDisplayString(item.title), 1)], 64)) : (openBlock(), createElementBlock(Fragment, {
4406
4350
  key: 1
4407
- }, [createTextVNode(toDisplayString(item.title), 1)], 64))], 8, _hoisted_4$q)) : (openBlock(), createElementBlock(Fragment, {
4351
+ }, [createTextVNode(toDisplayString(item.title), 1)], 64))], 8, _hoisted_4$p)) : (openBlock(), createElementBlock(Fragment, {
4408
4352
  key: 1
4409
4353
  }, [_ctx.bullets ? (openBlock(), createElementBlock(Fragment, {
4410
4354
  key: 0
@@ -4420,7 +4364,7 @@ function _sfc_render$X(_ctx, _cache, $props, $setup, $data, $options) {
4420
4364
  _: 3
4421
4365
  })]);
4422
4366
  }
4423
- const FErrorList = /* @__PURE__ */ _export_sfc(_sfc_main$19, [["render", _sfc_render$X]]);
4367
+ const FErrorList = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["render", _sfc_render$R]]);
4424
4368
  function cleanUpElements(vm) {
4425
4369
  return new Promise((resolve) => {
4426
4370
  window.setTimeout(() => {
@@ -4434,22 +4378,7 @@ function cleanUpElements(vm) {
4434
4378
  }, 0);
4435
4379
  });
4436
4380
  }
4437
- function sortComponentsWithErrorsOnDOMOrder(componentList) {
4438
- const errorList = Object.values(componentList).filter((component) => {
4439
- const validity = component instanceof Reference ? component.ref.isValid : component.validityMode;
4440
- return typeof validity === "boolean" ? validity === false : validity === "ERROR";
4441
- });
4442
- errorList.sort((a, b) => {
4443
- const elementToCompareA = a instanceof Reference ? document.querySelector(`#${a.ref.id}`) : a.target;
4444
- const elementToCompareB = b instanceof Reference ? document.querySelector(`#${b.ref.id}`) : b.target;
4445
- return documentOrderComparator(elementToCompareA, elementToCompareB);
4446
- });
4447
- return errorList;
4448
- }
4449
- function isFormStepReference(reference) {
4450
- return "isOpen" in reference.ref;
4451
- }
4452
- const _sfc_main$18 = defineComponent({
4381
+ const _sfc_main$14 = defineComponent({
4453
4382
  name: "FValidationGroup",
4454
4383
  props: {
4455
4384
  /**
@@ -4519,19 +4448,19 @@ const _sfc_main$18 = defineComponent({
4519
4448
  }
4520
4449
  }
4521
4450
  });
4522
- function _sfc_render$W(_ctx, _cache, $props, $setup, $data, $options) {
4451
+ function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
4523
4452
  return openBlock(), createElementBlock("div", {
4524
4453
  onComponentValidity: _cache[0] || (_cache[0] = (...args) => _ctx.onComponentValidity && _ctx.onComponentValidity(...args)),
4525
4454
  onComponentUnmount: _cache[1] || (_cache[1] = (...args) => _ctx.onComponentUnmount && _ctx.onComponentUnmount(...args))
4526
4455
  }, [renderSlot(_ctx.$slots, "default")], 32);
4527
4456
  }
4528
- const FValidationGroup = /* @__PURE__ */ _export_sfc(_sfc_main$18, [["render", _sfc_render$W]]);
4457
+ const FValidationGroup = /* @__PURE__ */ _export_sfc(_sfc_main$14, [["render", _sfc_render$Q]]);
4529
4458
  var FValidationFormAction = /* @__PURE__ */ ((FValidationFormAction2) => {
4530
4459
  FValidationFormAction2[FValidationFormAction2["CONTINUE"] = 0] = "CONTINUE";
4531
4460
  FValidationFormAction2[FValidationFormAction2["CANCEL"] = 1] = "CANCEL";
4532
4461
  return FValidationFormAction2;
4533
4462
  })(FValidationFormAction || {});
4534
- const _sfc_main$17 = defineComponent({
4463
+ const _sfc_main$13 = defineComponent({
4535
4464
  name: "FValidationForm",
4536
4465
  components: {
4537
4466
  FValidationGroup,
@@ -4670,14 +4599,14 @@ const _sfc_main$17 = defineComponent({
4670
4599
  }
4671
4600
  }
4672
4601
  });
4673
- const _hoisted_1$S = ["id"];
4674
- const _hoisted_2$D = {
4602
+ const _hoisted_1$Q = ["id"];
4603
+ const _hoisted_2$B = {
4675
4604
  key: 0,
4676
4605
  ref: "errors",
4677
4606
  tabindex: "-1",
4678
4607
  role: "group"
4679
4608
  };
4680
- function _sfc_render$V(_ctx, _cache, $props, $setup, $data, $options) {
4609
+ function _sfc_render$P(_ctx, _cache, $props, $setup, $data, $options) {
4681
4610
  const _component_f_error_list = resolveComponent("f-error-list");
4682
4611
  const _component_f_validation_group = resolveComponent("f-validation-group");
4683
4612
  return openBlock(), createBlock(_component_f_validation_group, {
@@ -4692,19 +4621,19 @@ function _sfc_render$V(_ctx, _cache, $props, $setup, $data, $options) {
4692
4621
  novalidate: "",
4693
4622
  autocomplete: "off",
4694
4623
  onSubmit: _cache[0] || (_cache[0] = withModifiers((...args) => _ctx.onSubmit && _ctx.onSubmit(...args), ["prevent"]))
4695
- }), [_ctx.displayErrors ? (openBlock(), createElementBlock("nav", _hoisted_2$D, [createVNode(_component_f_error_list, {
4624
+ }), [_ctx.displayErrors ? (openBlock(), createElementBlock("nav", _hoisted_2$B, [createVNode(_component_f_error_list, {
4696
4625
  items: _ctx.errors,
4697
4626
  bullets: _ctx.errorListBullets,
4698
4627
  "before-navigate": _ctx.errorListBeforeNavigate
4699
4628
  }, {
4700
4629
  title: withCtx(() => [renderSlot(_ctx.$slots, "error-message")]),
4701
4630
  _: 3
4702
- }, 8, ["items", "bullets", "before-navigate"])], 512)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$S)]),
4631
+ }, 8, ["items", "bullets", "before-navigate"])], 512)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$Q)]),
4703
4632
  _: 3
4704
4633
  }, 8, ["modelValue"]);
4705
4634
  }
4706
- const FValidationForm = /* @__PURE__ */ _export_sfc(_sfc_main$17, [["render", _sfc_render$V]]);
4707
- const _sfc_main$16 = defineComponent({
4635
+ const FValidationForm = /* @__PURE__ */ _export_sfc(_sfc_main$13, [["render", _sfc_render$P]]);
4636
+ const _sfc_main$12 = defineComponent({
4708
4637
  name: "FFormModal",
4709
4638
  components: {
4710
4639
  FModal,
@@ -4823,10 +4752,7 @@ const _sfc_main$16 = defineComponent({
4823
4752
  },
4824
4753
  computed: {
4825
4754
  preparedButtons() {
4826
- return prepareButtonList(this.buttons, FKUIConfigButtonOrder.LEFT_TO_RIGHT);
4827
- },
4828
- hasDeprecatedSlots() {
4829
- return hasSlot(this, "cancel-button-text") || hasSlot(this, "submit-button-text");
4755
+ return prepareButtonList(this.buttons, FKUIConfigButtonOrder.RIGHT_TO_LEFT);
4830
4756
  }
4831
4757
  },
4832
4758
  methods: {
@@ -4856,16 +4782,15 @@ const _sfc_main$16 = defineComponent({
4856
4782
  }
4857
4783
  }
4858
4784
  });
4859
- const _hoisted_1$R = {
4785
+ const _hoisted_1$P = {
4860
4786
  class: "button-group"
4861
4787
  };
4862
- const _hoisted_2$C = ["type", "form", "onClick"];
4863
- const _hoisted_3$u = {
4788
+ const _hoisted_2$A = ["type", "form", "onClick"];
4789
+ const _hoisted_3$t = {
4864
4790
  key: 0,
4865
4791
  class: "sr-only"
4866
4792
  };
4867
- const _hoisted_4$p = ["form"];
4868
- function _sfc_render$U(_ctx, _cache, $props, $setup, $data, $options) {
4793
+ function _sfc_render$O(_ctx, _cache, $props, $setup, $data, $options) {
4869
4794
  const _component_f_validation_form = resolveComponent("f-validation-form");
4870
4795
  const _component_f_modal = resolveComponent("f-modal");
4871
4796
  return openBlock(), createBlock(_component_f_modal, {
@@ -4877,7 +4802,7 @@ function _sfc_render$U(_ctx, _cache, $props, $setup, $data, $options) {
4877
4802
  onClose: _ctx.onClose
4878
4803
  }, {
4879
4804
  header: withCtx(() => [renderSlot(_ctx.$slots, "header")]),
4880
- content: withCtx(() => [createElementVNode("div", null, [renderSlot(_ctx.$slots, "default")]), _cache[2] || (_cache[2] = createTextVNode()), createVNode(_component_f_validation_form, {
4805
+ content: withCtx(() => [createElementVNode("div", null, [renderSlot(_ctx.$slots, "default")]), _cache[1] || (_cache[1] = createTextVNode()), createVNode(_component_f_validation_form, {
4881
4806
  id: _ctx.formId,
4882
4807
  "before-submit": _ctx.beforeSubmit,
4883
4808
  "before-validation": _ctx.beforeValidation,
@@ -4886,36 +4811,22 @@ function _sfc_render$U(_ctx, _cache, $props, $setup, $data, $options) {
4886
4811
  onCancel: _ctx.onCancel
4887
4812
  }, {
4888
4813
  "error-message": withCtx(() => [renderSlot(_ctx.$slots, "error-message")]),
4889
- default: withCtx(() => [_cache[1] || (_cache[1] = createTextVNode()), renderSlot(_ctx.$slots, "input-text-fields")]),
4814
+ default: withCtx(() => [_cache[0] || (_cache[0] = createTextVNode()), renderSlot(_ctx.$slots, "input-text-fields")]),
4890
4815
  _: 3
4891
4816
  }, 8, ["id", "before-submit", "before-validation", "use-error-list", "onSubmit", "onCancel"])]),
4892
- footer: withCtx(() => [createElementVNode("div", _hoisted_1$R, [!_ctx.hasDeprecatedSlots ? (openBlock(true), createElementBlock(Fragment, {
4893
- key: 0
4894
- }, renderList(_ctx.preparedButtons, (button) => {
4817
+ footer: withCtx(() => [createElementVNode("div", _hoisted_1$P, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.preparedButtons, (button) => {
4895
4818
  return openBlock(), createElementBlock("button", {
4896
4819
  key: button.label,
4897
4820
  type: button.buttonType,
4898
4821
  class: normalizeClass([button.classlist, "button-group__item"]),
4899
4822
  form: button.buttonType === "submit" ? _ctx.formId : void 0,
4900
4823
  onClick: ($event) => button.buttonType === "button" ? _ctx.onCancel() : false
4901
- }, [createElementVNode("span", null, toDisplayString(button.label), 1), _cache[3] || (_cache[3] = createTextVNode()), button.screenreader ? (openBlock(), createElementBlock("span", _hoisted_3$u, " " + toDisplayString(button.screenreader), 1)) : createCommentVNode("", true)], 10, _hoisted_2$C);
4902
- }), 128)) : (openBlock(), createElementBlock(Fragment, {
4903
- key: 1
4904
- }, [createElementVNode("button", {
4905
- form: _ctx.formId,
4906
- "data-test": "submit-button",
4907
- type: "submit",
4908
- class: "button button--primary button-group__item button--large"
4909
- }, [renderSlot(_ctx.$slots, "submit-button-text", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.form-modal.button.submit.text", "Spara")), 1)])], 8, _hoisted_4$p), _cache[4] || (_cache[4] = createTextVNode()), createElementVNode("button", {
4910
- "data-test": "cancel-button",
4911
- type: "button",
4912
- class: "button button--secondary button-group__item button--large",
4913
- onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onCancel && _ctx.onCancel(...args))
4914
- }, [renderSlot(_ctx.$slots, "cancel-button-text", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.form-modal.button.cancel.text", "Avbryt")), 1)])])], 64))])]),
4824
+ }, [createElementVNode("span", null, toDisplayString(button.label), 1), _cache[2] || (_cache[2] = createTextVNode()), button.screenreader ? (openBlock(), createElementBlock("span", _hoisted_3$t, " " + toDisplayString(button.screenreader), 1)) : createCommentVNode("", true)], 10, _hoisted_2$A);
4825
+ }), 128))])]),
4915
4826
  _: 3
4916
4827
  }, 8, ["data-test", "fullscreen", "is-open", "size", "aria-close-text", "onClose"]);
4917
4828
  }
4918
- const FFormModal = /* @__PURE__ */ _export_sfc(_sfc_main$16, [["render", _sfc_render$U]]);
4829
+ const FFormModal = /* @__PURE__ */ _export_sfc(_sfc_main$12, [["render", _sfc_render$O]]);
4919
4830
  async function confirmModal(callingInstance, texts) {
4920
4831
  const buttons = [{
4921
4832
  label: texts.confirm,
@@ -4964,6 +4875,52 @@ function getInputElement(vm) {
4964
4875
  }
4965
4876
  return inputElement;
4966
4877
  }
4878
+ const defaultOptions = {
4879
+ stripClasses: ["sr-only"]
4880
+ };
4881
+ function collapseWhitespace(text) {
4882
+ return text.replace(/\s+/gm, " ").replace(/(^ | $)/g, "");
4883
+ }
4884
+ function intersection(a, b) {
4885
+ return a.filter((it) => b.includes(it));
4886
+ }
4887
+ function excludeClass(exclude) {
4888
+ return (node) => {
4889
+ var _a;
4890
+ if (typeof ((_a = node.props) == null ? void 0 : _a.class) !== "string") {
4891
+ return true;
4892
+ }
4893
+ const classes = node.props.class.split(/\s+/);
4894
+ const matches = intersection(classes, exclude);
4895
+ return matches.length === 0;
4896
+ };
4897
+ }
4898
+ function excludeComment(node) {
4899
+ return node.type !== Comment;
4900
+ }
4901
+ function getTextContent(children, options) {
4902
+ return children.filter(isVNode).filter(excludeComment).filter(excludeClass(options.stripClasses)).map((child) => {
4903
+ if (Array.isArray(child.children)) {
4904
+ return getTextContent(child.children, options);
4905
+ }
4906
+ if (typeof child.children === "string") {
4907
+ return child.children;
4908
+ }
4909
+ }).join("");
4910
+ }
4911
+ function renderSlotText(render, props = {}, options) {
4912
+ if (!render) {
4913
+ return void 0;
4914
+ }
4915
+ const nodes = render(props);
4916
+ if (nodes.length === 0) {
4917
+ return void 0;
4918
+ }
4919
+ return collapseWhitespace(getTextContent(nodes, {
4920
+ ...defaultOptions,
4921
+ ...options
4922
+ }));
4923
+ }
4967
4924
  function hasSlot(vm, name, props = {}, options = {}) {
4968
4925
  const slot = vm.$slots[name];
4969
4926
  return Boolean(renderSlotText(slot, props, options));
@@ -5020,7 +4977,7 @@ function toPrimitive(t, r) {
5020
4977
  if ("object" != _typeof(t) || !t) return t;
5021
4978
  var e = t[Symbol.toPrimitive];
5022
4979
  if (void 0 !== e) {
5023
- var i = e.call(t, r || "default");
4980
+ var i = e.call(t, r);
5024
4981
  if ("object" != _typeof(i)) return i;
5025
4982
  throw new TypeError("@@toPrimitive must return a primitive value.");
5026
4983
  }
@@ -5066,18 +5023,6 @@ class FormErrorList {
5066
5023
  Object.assign(this, fields);
5067
5024
  }
5068
5025
  }
5069
- class FormStep {
5070
- constructor(fields) {
5071
- _defineProperty(this, "isOpen", false);
5072
- _defineProperty(this, "isAnyFieldTouched", false);
5073
- _defineProperty(this, "focusElementId", "");
5074
- _defineProperty(this, "id", "");
5075
- _defineProperty(this, "isValid", false);
5076
- _defineProperty(this, "numberOfTimesSubmitted", 0);
5077
- _defineProperty(this, "title", "");
5078
- Object.assign(this, fields);
5079
- }
5080
- }
5081
5026
  var MenuAction = /* @__PURE__ */ ((MenuAction2) => {
5082
5027
  MenuAction2[MenuAction2["MOVE_NEXT"] = 0] = "MOVE_NEXT";
5083
5028
  MenuAction2[MenuAction2["MOVE_PREV"] = 1] = "MOVE_PREV";
@@ -5149,7 +5094,7 @@ function getValidatableElement(element) {
5149
5094
  throw new Error(`Couldn't find any validatable element`);
5150
5095
  }
5151
5096
  }
5152
- function triggerInitialValidationToSupportFFormStepValidation(el) {
5097
+ function triggerInitialValidation(el) {
5153
5098
  const target = getValidatableElement(el);
5154
5099
  ValidationService.validateElement(target);
5155
5100
  }
@@ -5185,7 +5130,7 @@ const ValidationDirective = {
5185
5130
  }
5186
5131
  },
5187
5132
  mounted(el) {
5188
- triggerInitialValidationToSupportFFormStepValidation(el);
5133
+ triggerInitialValidation(el);
5189
5134
  }
5190
5135
  };
5191
5136
  const ValidationPrefixDirective = {
@@ -5241,7 +5186,7 @@ const ErrorPlugin = {
5241
5186
  }
5242
5187
  }
5243
5188
  };
5244
- const _sfc_main$15 = defineComponent({
5189
+ const _sfc_main$11 = defineComponent({
5245
5190
  name: "FErrorPage",
5246
5191
  props: {
5247
5192
  payload: {
@@ -5251,16 +5196,16 @@ const _sfc_main$15 = defineComponent({
5251
5196
  }
5252
5197
  }
5253
5198
  });
5254
- const _hoisted_1$Q = {
5199
+ const _hoisted_1$O = {
5255
5200
  "data-test": "f-error-page"
5256
5201
  };
5257
- function _sfc_render$T(_ctx, _cache, $props, $setup, $data, $options) {
5258
- return openBlock(), createElementBlock("div", _hoisted_1$Q, _cache[0] || (_cache[0] = [createElementVNode("h1", null, "Fel", -1), createTextVNode(), createElementVNode("p", null, "Ett fel har uppstått.", -1), createTextVNode(), createElementVNode("a", {
5202
+ function _sfc_render$N(_ctx, _cache, $props, $setup, $data, $options) {
5203
+ return openBlock(), createElementBlock("div", _hoisted_1$O, _cache[0] || (_cache[0] = [createElementVNode("h1", null, "Fel", -1), createTextVNode(), createElementVNode("p", null, "Ett fel har uppstått.", -1), createTextVNode(), createElementVNode("a", {
5259
5204
  href: "/"
5260
5205
  }, "Gå till startsidan", -1)]));
5261
5206
  }
5262
- const FErrorPage = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["render", _sfc_render$T]]);
5263
- const _sfc_main$14 = defineComponent({
5207
+ const FErrorPage = /* @__PURE__ */ _export_sfc(_sfc_main$11, [["render", _sfc_render$N]]);
5208
+ const _sfc_main$10 = defineComponent({
5264
5209
  name: "FErrorHandlingApp",
5265
5210
  props: {
5266
5211
  defaultComponent: {
@@ -5289,7 +5234,7 @@ const _sfc_main$14 = defineComponent({
5289
5234
  });
5290
5235
  }
5291
5236
  });
5292
- function _sfc_render$S(_ctx, _cache, $props, $setup, $data, $options) {
5237
+ function _sfc_render$M(_ctx, _cache, $props, $setup, $data, $options) {
5293
5238
  return openBlock(), createElementBlock("div", null, [_ctx.hasError ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.errorComponent), {
5294
5239
  key: 0,
5295
5240
  payload: _ctx.payload
@@ -5299,7 +5244,7 @@ function _sfc_render$S(_ctx, _cache, $props, $setup, $data, $options) {
5299
5244
  key: 2
5300
5245
  })]);
5301
5246
  }
5302
- const FErrorHandlingApp = /* @__PURE__ */ _export_sfc(_sfc_main$14, [["render", _sfc_render$S]]);
5247
+ const FErrorHandlingApp = /* @__PURE__ */ _export_sfc(_sfc_main$10, [["render", _sfc_render$M]]);
5303
5248
  function isMonthBefore(date, minDate) {
5304
5249
  return Boolean(minDate && date.isBefore(minDate.startOfMonth()));
5305
5250
  }
@@ -5340,7 +5285,7 @@ function getMessage($t2, date, minDate, maxDate) {
5340
5285
  });
5341
5286
  }
5342
5287
  }
5343
- const _sfc_main$13 = defineComponent({
5288
+ const _sfc_main$$ = defineComponent({
5344
5289
  name: "ICalendarNavbar",
5345
5290
  components: {
5346
5291
  FIcon
@@ -5409,7 +5354,6 @@ const _sfc_main$13 = defineComponent({
5409
5354
  onClickPreviousButton() {
5410
5355
  if (!this.previousDisabled) {
5411
5356
  this.$emit("update:modelValue", this.previousValue);
5412
- this.$emit("change", this.previousValue);
5413
5357
  const previousMonth = this.getDateText(this.previousValue);
5414
5358
  const previousMonthText = this.$t("fkui.calendar-navbar.previous-month", "{{ previousMonth }} visas", {
5415
5359
  previousMonth
@@ -5454,14 +5398,14 @@ const _sfc_main$13 = defineComponent({
5454
5398
  }
5455
5399
  }
5456
5400
  });
5457
- const _hoisted_1$P = {
5401
+ const _hoisted_1$N = {
5458
5402
  class: "calendar-navbar"
5459
5403
  };
5460
- const _hoisted_2$B = {
5404
+ const _hoisted_2$z = {
5461
5405
  class: "calendar-navbar__month",
5462
5406
  tabindex: "-1"
5463
5407
  };
5464
- const _hoisted_3$t = ["aria-disabled", "aria-live"];
5408
+ const _hoisted_3$s = ["aria-disabled", "aria-live"];
5465
5409
  const _hoisted_4$o = {
5466
5410
  class: "sr-only"
5467
5411
  };
@@ -5469,9 +5413,9 @@ const _hoisted_5$j = ["aria-disabled", "aria-live"];
5469
5413
  const _hoisted_6$f = {
5470
5414
  class: "sr-only"
5471
5415
  };
5472
- function _sfc_render$R(_ctx, _cache, $props, $setup, $data, $options) {
5416
+ function _sfc_render$L(_ctx, _cache, $props, $setup, $data, $options) {
5473
5417
  const _component_f_icon = resolveComponent("f-icon");
5474
- return openBlock(), createElementBlock("div", _hoisted_1$P, [createElementVNode("div", _hoisted_2$B, toDisplayString(_ctx.currentText), 1), _cache[4] || (_cache[4] = createTextVNode()), createElementVNode("button", {
5418
+ return openBlock(), createElementBlock("div", _hoisted_1$N, [createElementVNode("div", _hoisted_2$z, toDisplayString(_ctx.currentText), 1), _cache[4] || (_cache[4] = createTextVNode()), createElementVNode("button", {
5475
5419
  ref: "previousButton",
5476
5420
  class: "calendar-navbar__arrow calendar-navbar__arrow--previous",
5477
5421
  type: "button",
@@ -5481,7 +5425,7 @@ function _sfc_render$R(_ctx, _cache, $props, $setup, $data, $options) {
5481
5425
  }, [createElementVNode("span", _hoisted_4$o, toDisplayString(_ctx.previousSrText), 1), _cache[2] || (_cache[2] = createTextVNode()), createVNode(_component_f_icon, {
5482
5426
  class: normalizeClass(_ctx.previousIconClasses),
5483
5427
  name: "arrow-right"
5484
- }, null, 8, ["class"])], 8, _hoisted_3$t), _cache[5] || (_cache[5] = createTextVNode()), createElementVNode("button", {
5428
+ }, null, 8, ["class"])], 8, _hoisted_3$s), _cache[5] || (_cache[5] = createTextVNode()), createElementVNode("button", {
5485
5429
  ref: "nextButton",
5486
5430
  class: "calendar-navbar__arrow calendar-navbar__arrow--next",
5487
5431
  type: "button",
@@ -5493,14 +5437,14 @@ function _sfc_render$R(_ctx, _cache, $props, $setup, $data, $options) {
5493
5437
  name: "arrow-right"
5494
5438
  }, null, 8, ["class"])], 8, _hoisted_5$j)]);
5495
5439
  }
5496
- const ICalendarNavbar = /* @__PURE__ */ _export_sfc(_sfc_main$13, [["render", _sfc_render$R]]);
5440
+ const ICalendarNavbar = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["render", _sfc_render$L]]);
5497
5441
  function getDayStartOffset(days) {
5498
5442
  return days[0].weekDay - 1;
5499
5443
  }
5500
5444
  function getDayEndOffset(days) {
5501
5445
  return 7 - days[days.length - 1].weekDay;
5502
5446
  }
5503
- const _sfc_main$12 = defineComponent({
5447
+ const _sfc_main$_ = defineComponent({
5504
5448
  name: "ICalendarMonthGrid",
5505
5449
  props: {
5506
5450
  /**
@@ -5574,12 +5518,12 @@ const _sfc_main$12 = defineComponent({
5574
5518
  }
5575
5519
  }
5576
5520
  });
5577
- const _hoisted_1$O = ["aria-label"];
5578
- const _hoisted_2$A = {
5521
+ const _hoisted_1$M = ["aria-label"];
5522
+ const _hoisted_2$y = {
5579
5523
  key: 0,
5580
5524
  class: "calendar-month__col--week"
5581
5525
  };
5582
- const _hoisted_3$s = {
5526
+ const _hoisted_3$r = {
5583
5527
  key: 0,
5584
5528
  scope: "col",
5585
5529
  "aria-hidden": "true",
@@ -5592,8 +5536,8 @@ const _hoisted_5$i = {
5592
5536
  "aria-hidden": "true"
5593
5537
  };
5594
5538
  const _hoisted_6$e = ["colspan"];
5595
- const _hoisted_7$d = ["colspan"];
5596
- const _hoisted_8$8 = {
5539
+ const _hoisted_7$c = ["colspan"];
5540
+ const _hoisted_8$7 = {
5597
5541
  key: 0,
5598
5542
  "aria-hidden": "true"
5599
5543
  };
@@ -5603,14 +5547,14 @@ const _hoisted_10$3 = {
5603
5547
  "aria-hidden": "true"
5604
5548
  };
5605
5549
  const _hoisted_11$2 = ["colspan"];
5606
- function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
5550
+ function _sfc_render$K(_ctx, _cache, $props, $setup, $data, $options) {
5607
5551
  return openBlock(), createElementBlock("table", {
5608
5552
  class: "calendar-month__table",
5609
5553
  role: "grid",
5610
5554
  "aria-label": _ctx.ariaLabel,
5611
5555
  onFocusin: _cache[0] || (_cache[0] = (...args) => _ctx.onFocusin && _ctx.onFocusin(...args)),
5612
5556
  onFocusout: _cache[1] || (_cache[1] = (...args) => _ctx.onFocusout && _ctx.onFocusout(...args))
5613
- }, [createElementVNode("colgroup", null, [!_ctx.internalHideWeekNumbers ? (openBlock(), createElementBlock("col", _hoisted_2$A)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), _cache[3] || (_cache[3] = createElementVNode("col", {
5557
+ }, [createElementVNode("colgroup", null, [!_ctx.internalHideWeekNumbers ? (openBlock(), createElementBlock("col", _hoisted_2$y)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), _cache[3] || (_cache[3] = createElementVNode("col", {
5614
5558
  class: "calendar-month__col--day"
5615
5559
  }, null, -1)), _cache[4] || (_cache[4] = createTextVNode()), _cache[5] || (_cache[5] = createElementVNode("col", {
5616
5560
  class: "calendar-month__col--day"
@@ -5624,7 +5568,7 @@ function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
5624
5568
  class: "calendar-month__col--day"
5625
5569
  }, null, -1)), _cache[14] || (_cache[14] = createTextVNode()), _cache[15] || (_cache[15] = createElementVNode("col", {
5626
5570
  class: "calendar-month__col--day"
5627
- }, null, -1))]), _cache[22] || (_cache[22] = createTextVNode()), createElementVNode("thead", null, [createElementVNode("tr", null, [!_ctx.internalHideWeekNumbers ? (openBlock(), createElementBlock("th", _hoisted_3$s)) : createCommentVNode("", true), _cache[16] || (_cache[16] = createTextVNode()), (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.weekdays, (weekday) => {
5571
+ }, null, -1))]), _cache[22] || (_cache[22] = createTextVNode()), createElementVNode("thead", null, [createElementVNode("tr", null, [!_ctx.internalHideWeekNumbers ? (openBlock(), createElementBlock("th", _hoisted_3$r)) : createCommentVNode("", true), _cache[16] || (_cache[16] = createTextVNode()), (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.weekdays, (weekday) => {
5628
5572
  return openBlock(), createElementBlock("th", {
5629
5573
  key: weekday.name,
5630
5574
  scope: "col",
@@ -5654,8 +5598,8 @@ function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
5654
5598
  class: "calendar-month__cell",
5655
5599
  colspan: _ctx.getDayEndOffset(week.days),
5656
5600
  "aria-hidden": "true"
5657
- }, null, 8, _hoisted_7$d)) : createCommentVNode("", true)]);
5658
- }), 128)), _cache[20] || (_cache[20] = createTextVNode()), _ctx.weeks.length < 5 ? (openBlock(), createElementBlock("tr", _hoisted_8$8, [createElementVNode("td", {
5601
+ }, null, 8, _hoisted_7$c)) : createCommentVNode("", true)]);
5602
+ }), 128)), _cache[20] || (_cache[20] = createTextVNode()), _ctx.weeks.length < 5 ? (openBlock(), createElementBlock("tr", _hoisted_8$7, [createElementVNode("td", {
5659
5603
  class: "calendar-month__cell",
5660
5604
  colspan: _ctx.totalCols,
5661
5605
  "aria-hidden": "true"
@@ -5663,9 +5607,9 @@ function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
5663
5607
  class: "calendar-month__cell",
5664
5608
  colspan: _ctx.totalCols,
5665
5609
  "aria-hidden": "true"
5666
- }, null, 8, _hoisted_11$2)])) : createCommentVNode("", true)])], 40, _hoisted_1$O);
5610
+ }, null, 8, _hoisted_11$2)])) : createCommentVNode("", true)])], 40, _hoisted_1$M);
5667
5611
  }
5668
- const ICalendarMonthGrid = /* @__PURE__ */ _export_sfc(_sfc_main$12, [["render", _sfc_render$Q]]);
5612
+ const ICalendarMonthGrid = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["render", _sfc_render$K]]);
5669
5613
  const DayStep = {
5670
5614
  ArrowRight: 1,
5671
5615
  ArrowLeft: -1,
@@ -5689,7 +5633,7 @@ function getDayTabindex(date, active, entry) {
5689
5633
  return date.day === 1 ? 0 : -1;
5690
5634
  }
5691
5635
  }
5692
- const _sfc_main$11 = defineComponent({
5636
+ const _sfc_main$Z = defineComponent({
5693
5637
  name: "ICalendarMonth",
5694
5638
  components: {
5695
5639
  ICalendarMonthGrid
@@ -5756,7 +5700,6 @@ const _sfc_main$11 = defineComponent({
5756
5700
  return;
5757
5701
  }
5758
5702
  this.$emit("update:modelValue", navigatedMonth);
5759
- this.$emit("change", navigatedMonth);
5760
5703
  if (navigatedDay.month !== date.month) {
5761
5704
  await this.$nextTick();
5762
5705
  }
@@ -5780,8 +5723,8 @@ const _sfc_main$11 = defineComponent({
5780
5723
  }
5781
5724
  }
5782
5725
  });
5783
- const _hoisted_1$N = ["data-date", "tabindex", "onClick", "onKeydown"];
5784
- function _sfc_render$P(_ctx, _cache, $props, $setup, $data, $options) {
5726
+ const _hoisted_1$L = ["data-date", "tabindex", "onClick", "onKeydown"];
5727
+ function _sfc_render$J(_ctx, _cache, $props, $setup, $data, $options) {
5785
5728
  const _component_i_calendar_month_grid = resolveComponent("i-calendar-month-grid");
5786
5729
  return openBlock(), createBlock(_component_i_calendar_month_grid, {
5787
5730
  value: _ctx.modelValue
@@ -5800,12 +5743,12 @@ function _sfc_render$P(_ctx, _cache, $props, $setup, $data, $options) {
5800
5743
  }, [renderSlot(_ctx.$slots, "default", {
5801
5744
  date,
5802
5745
  isFocused: _ctx.isDayFocused(date)
5803
- })], 40, _hoisted_1$N)]),
5746
+ })], 40, _hoisted_1$L)]),
5804
5747
  _: 3
5805
5748
  }, 8, ["value"]);
5806
5749
  }
5807
- const ICalendarMonth = /* @__PURE__ */ _export_sfc(_sfc_main$11, [["render", _sfc_render$P]]);
5808
- const _sfc_main$10 = defineComponent({
5750
+ const ICalendarMonth = /* @__PURE__ */ _export_sfc(_sfc_main$Z, [["render", _sfc_render$J]]);
5751
+ const _sfc_main$Y = defineComponent({
5809
5752
  name: "FCalendar",
5810
5753
  components: {
5811
5754
  ICalendarNavbar,
@@ -5846,24 +5789,23 @@ const _sfc_main$10 = defineComponent({
5846
5789
  required: true
5847
5790
  }
5848
5791
  },
5849
- emits: ["click", "change", "update:modelValue"],
5792
+ emits: ["click", "update:modelValue"],
5850
5793
  methods: {
5851
5794
  onClickDay(date) {
5852
5795
  this.$emit("click", date);
5853
5796
  },
5854
5797
  onChangeMonth(date) {
5855
5798
  this.$emit("update:modelValue", date);
5856
- this.$emit("change", date);
5857
5799
  }
5858
5800
  }
5859
5801
  });
5860
- const _hoisted_1$M = {
5802
+ const _hoisted_1$K = {
5861
5803
  class: "calendar__wrapper"
5862
5804
  };
5863
- function _sfc_render$O(_ctx, _cache, $props, $setup, $data, $options) {
5805
+ function _sfc_render$I(_ctx, _cache, $props, $setup, $data, $options) {
5864
5806
  const _component_i_calendar_navbar = resolveComponent("i-calendar-navbar");
5865
5807
  const _component_i_calendar_month = resolveComponent("i-calendar-month");
5866
- return openBlock(), createElementBlock("div", _hoisted_1$M, [createVNode(_component_i_calendar_navbar, {
5808
+ return openBlock(), createElementBlock("div", _hoisted_1$K, [createVNode(_component_i_calendar_navbar, {
5867
5809
  "model-value": _ctx.modelValue,
5868
5810
  "min-date": _ctx.minDate,
5869
5811
  "max-date": _ctx.maxDate,
@@ -5886,7 +5828,7 @@ function _sfc_render$O(_ctx, _cache, $props, $setup, $data, $options) {
5886
5828
  _: 3
5887
5829
  }, 8, ["model-value", "min-date", "max-date", "tab-date", "onClick", "onUpdate:modelValue"])]);
5888
5830
  }
5889
- const FCalendar = /* @__PURE__ */ _export_sfc(_sfc_main$10, [["render", _sfc_render$O]]);
5831
+ const FCalendar = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["render", _sfc_render$I]]);
5890
5832
  function getCalendarDaySrText(day, enabled, selected, t) {
5891
5833
  const parts = [];
5892
5834
  if (!enabled) {
@@ -5905,7 +5847,7 @@ function getCalendarDaySrText(day, enabled, selected, t) {
5905
5847
  parts.push(day.toString(DateFormat.FULL));
5906
5848
  return parts.join(" ");
5907
5849
  }
5908
- const _sfc_main$$ = defineComponent({
5850
+ const _sfc_main$X = defineComponent({
5909
5851
  name: "FCalendarDay",
5910
5852
  mixins: [TranslationMixin],
5911
5853
  props: {
@@ -5970,18 +5912,18 @@ const _sfc_main$$ = defineComponent({
5970
5912
  }
5971
5913
  }
5972
5914
  });
5973
- const _hoisted_1$L = {
5915
+ const _hoisted_1$J = {
5974
5916
  "aria-hidden": "true"
5975
5917
  };
5976
- const _hoisted_2$z = {
5918
+ const _hoisted_2$x = {
5977
5919
  class: "sr-only"
5978
5920
  };
5979
- function _sfc_render$N(_ctx, _cache, $props, $setup, $data, $options) {
5921
+ function _sfc_render$H(_ctx, _cache, $props, $setup, $data, $options) {
5980
5922
  return openBlock(), createElementBlock("span", {
5981
5923
  class: normalizeClass(_ctx.dayClasses)
5982
- }, [createElementVNode("span", _hoisted_1$L, toDisplayString(_ctx.day.day), 1), _cache[0] || (_cache[0] = createTextVNode()), createElementVNode("span", _hoisted_2$z, toDisplayString(_ctx.srText), 1)], 2);
5924
+ }, [createElementVNode("span", _hoisted_1$J, toDisplayString(_ctx.day.day), 1), _cache[0] || (_cache[0] = createTextVNode()), createElementVNode("span", _hoisted_2$x, toDisplayString(_ctx.srText), 1)], 2);
5983
5925
  }
5984
- const FCalendarDay = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["render", _sfc_render$N]]);
5926
+ const FCalendarDay = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["render", _sfc_render$H]]);
5985
5927
  function useEventListener(target, event, callback) {
5986
5928
  onMounted(() => {
5987
5929
  var _a;
@@ -6002,19 +5944,19 @@ function useSlotUtils() {
6002
5944
  }
6003
5945
  };
6004
5946
  }
6005
- const _hoisted_1$K = ["id"];
6006
- const _hoisted_2$y = {
5947
+ const _hoisted_1$I = ["id"];
5948
+ const _hoisted_2$w = {
6007
5949
  key: 0,
6008
5950
  class: "card__header"
6009
5951
  };
6010
- const _hoisted_3$r = {
5952
+ const _hoisted_3$q = {
6011
5953
  class: "card__content"
6012
5954
  };
6013
5955
  const _hoisted_4$m = {
6014
5956
  key: 1,
6015
5957
  class: "card__footer"
6016
5958
  };
6017
- const _sfc_main$_ = /* @__PURE__ */ defineComponent({
5959
+ const _sfc_main$W = /* @__PURE__ */ defineComponent({
6018
5960
  __name: "FCard",
6019
5961
  props: {
6020
5962
  /**
@@ -6072,7 +6014,7 @@ const _sfc_main$_ = /* @__PURE__ */ defineComponent({
6072
6014
  id: __props.id,
6073
6015
  class: normalizeClass(cardClass.value),
6074
6016
  onValidity
6075
- }, [hasHeaderSlot.value ? (openBlock(), createElementBlock("div", _hoisted_2$y, [renderSlot(_ctx.$slots, "header", normalizeProps(guardReactiveProps({
6017
+ }, [hasHeaderSlot.value ? (openBlock(), createElementBlock("div", _hoisted_2$w, [renderSlot(_ctx.$slots, "header", normalizeProps(guardReactiveProps({
6076
6018
  headingSlotClass: "card__header-label"
6077
6019
  })))])) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), renderSlot(_ctx.$slots, "error-message", normalizeProps(guardReactiveProps({
6078
6020
  hasError: hasError.value,
@@ -6097,14 +6039,14 @@ const _sfc_main$_ = /* @__PURE__ */ defineComponent({
6097
6039
  _: 1
6098
6040
  })]),
6099
6041
  _: 1
6100
- })) : createCommentVNode("", true)]), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("div", _hoisted_3$r, [renderSlot(_ctx.$slots, "default")]), _cache[3] || (_cache[3] = createTextVNode()), hasFooterSlot.value ? (openBlock(), createElementBlock("div", _hoisted_4$m, [renderSlot(_ctx.$slots, "footer", normalizeProps(guardReactiveProps({
6042
+ })) : createCommentVNode("", true)]), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("div", _hoisted_3$q, [renderSlot(_ctx.$slots, "default")]), _cache[3] || (_cache[3] = createTextVNode()), hasFooterSlot.value ? (openBlock(), createElementBlock("div", _hoisted_4$m, [renderSlot(_ctx.$slots, "footer", normalizeProps(guardReactiveProps({
6101
6043
  hasError: hasError.value,
6102
6044
  validationMessage: validationMessage.value
6103
- })))])) : createCommentVNode("", true)], 42, _hoisted_1$K);
6045
+ })))])) : createCommentVNode("", true)], 42, _hoisted_1$I);
6104
6046
  };
6105
6047
  }
6106
6048
  });
6107
- const _sfc_main$Z = defineComponent({
6049
+ const _sfc_main$V = defineComponent({
6108
6050
  name: "FExpand",
6109
6051
  data() {
6110
6052
  return {
@@ -6158,7 +6100,7 @@ const _sfc_main$Z = defineComponent({
6158
6100
  }
6159
6101
  }
6160
6102
  });
6161
- function _sfc_render$M(_ctx, _cache, $props, $setup, $data, $options) {
6103
+ function _sfc_render$G(_ctx, _cache, $props, $setup, $data, $options) {
6162
6104
  return openBlock(), createBlock(Transition, {
6163
6105
  onEnter: _ctx.enter,
6164
6106
  onAfterEnter: _ctx.afterEnter,
@@ -6170,7 +6112,7 @@ function _sfc_render$M(_ctx, _cache, $props, $setup, $data, $options) {
6170
6112
  _: 3
6171
6113
  }, 8, ["onEnter", "onAfterEnter", "onLeave"]);
6172
6114
  }
6173
- const FExpand = /* @__PURE__ */ _export_sfc(_sfc_main$Z, [["render", _sfc_render$M]]);
6115
+ const FExpand = /* @__PURE__ */ _export_sfc(_sfc_main$V, [["render", _sfc_render$G]]);
6174
6116
  function offset(page, el) {
6175
6117
  const rect = el.getBoundingClientRect();
6176
6118
  return {
@@ -6455,7 +6397,7 @@ function isTeleportDisabled(options) {
6455
6397
  }
6456
6398
  return disableTeleport;
6457
6399
  }
6458
- const _sfc_main$Y = defineComponent({
6400
+ const _sfc_main$U = defineComponent({
6459
6401
  name: "IPopup",
6460
6402
  inheritAttrs: false,
6461
6403
  props: {
@@ -6488,15 +6430,6 @@ const _sfc_main$Y = defineComponent({
6488
6430
  },
6489
6431
  default: "auto"
6490
6432
  },
6491
- /**
6492
- * Force popup to always display inline.
6493
- * @deprecated Use `inline="always"` instead.
6494
- */
6495
- alwaysInline: {
6496
- type: Boolean,
6497
- required: false,
6498
- default: false
6499
- },
6500
6433
  /**
6501
6434
  * Which element to use as container.
6502
6435
  */
@@ -6574,14 +6507,13 @@ const _sfc_main$Y = defineComponent({
6574
6507
  return isInline;
6575
6508
  },
6576
6509
  forceInline() {
6577
- return this.alwaysInline || this.inline === "always";
6510
+ return this.inline === "always";
6578
6511
  },
6579
6512
  forceOverlay() {
6580
6513
  return this.inline === "never";
6581
6514
  },
6582
6515
  teleportTarget() {
6583
- var _config$popupTarget;
6584
- return (_config$popupTarget = config.popupTarget) !== null && _config$popupTarget !== void 0 ? _config$popupTarget : config.teleportTarget;
6516
+ return config.teleportTarget;
6585
6517
  }
6586
6518
  },
6587
6519
  watch: {
@@ -6746,7 +6678,7 @@ const _sfc_main$Y = defineComponent({
6746
6678
  }
6747
6679
  }
6748
6680
  });
6749
- function _sfc_render$L(_ctx, _cache, $props, $setup, $data, $options) {
6681
+ function _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {
6750
6682
  return _ctx.isOpen ? (openBlock(), createBlock(Teleport, {
6751
6683
  key: 0,
6752
6684
  to: _ctx.teleportTarget,
@@ -6767,7 +6699,7 @@ function _sfc_render$L(_ctx, _cache, $props, $setup, $data, $options) {
6767
6699
  placement: _ctx.placement
6768
6700
  })))], 544)], 16)], 8, ["to", "disabled"])) : createCommentVNode("", true);
6769
6701
  }
6770
- const IPopup = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["render", _sfc_render$L]]);
6702
+ const IPopup = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["render", _sfc_render$F]]);
6771
6703
  function computeArrowOffset(placement, inputIconRect, wrapperRect) {
6772
6704
  switch (placement) {
6773
6705
  case Placement.A: {
@@ -6831,7 +6763,7 @@ function computeArrowOffset(placement, inputIconRect, wrapperRect) {
6831
6763
  }
6832
6764
  }
6833
6765
  const POPUP_SPACING = 10;
6834
- const _sfc_main$X = defineComponent({
6766
+ const _sfc_main$T = defineComponent({
6835
6767
  name: "IPopupError",
6836
6768
  components: {
6837
6769
  FIcon
@@ -6966,11 +6898,11 @@ const _sfc_main$X = defineComponent({
6966
6898
  }
6967
6899
  }
6968
6900
  });
6969
- const _hoisted_1$J = {
6901
+ const _hoisted_1$H = {
6970
6902
  ref: "wrapper",
6971
6903
  class: "popup-error__wrapper"
6972
6904
  };
6973
- function _sfc_render$K(_ctx, _cache, $props, $setup, $data, $options) {
6905
+ function _sfc_render$E(_ctx, _cache, $props, $setup, $data, $options) {
6974
6906
  const _component_f_icon = resolveComponent("f-icon");
6975
6907
  return _ctx.isOpen ? (openBlock(), createBlock(Teleport, {
6976
6908
  key: 0,
@@ -6980,7 +6912,7 @@ function _sfc_render$K(_ctx, _cache, $props, $setup, $data, $options) {
6980
6912
  ref: "popup",
6981
6913
  class: normalizeClass(_ctx.popupClasses),
6982
6914
  "aria-hidden": "true"
6983
- }, [createElementVNode("div", _hoisted_1$J, [createElementVNode("div", {
6915
+ }, [createElementVNode("div", _hoisted_1$H, [createElementVNode("div", {
6984
6916
  class: normalizeClass(_ctx.arrowClass),
6985
6917
  style: normalizeStyle(_ctx.errorStyle)
6986
6918
  }, [createElementVNode("span", null, toDisplayString(_ctx.errorMessage), 1), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("button", {
@@ -6994,7 +6926,7 @@ function _sfc_render$K(_ctx, _cache, $props, $setup, $data, $options) {
6994
6926
  class: "button__icon"
6995
6927
  })])], 6)], 512)], 2)], 8, ["disabled"])) : createCommentVNode("", true);
6996
6928
  }
6997
- const IPopupError = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["render", _sfc_render$K]]);
6929
+ const IPopupError = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["render", _sfc_render$E]]);
6998
6930
  function numItems(itemHeight, availableHeight, verticalSpacing) {
6999
6931
  const itemsFit = Math.floor((availableHeight - verticalSpacing) / itemHeight);
7000
6932
  return Math.min(itemsFit, 7);
@@ -7061,12 +6993,12 @@ function computeListboxRect(anchor, options, root = document.documentElement, {
7061
6993
  }
7062
6994
  return void 0;
7063
6995
  }
7064
- const _hoisted_1$I = ["onKeyup"];
7065
- const _hoisted_2$x = {
6996
+ const _hoisted_1$G = ["onKeyup"];
6997
+ const _hoisted_2$v = {
7066
6998
  ref: "content"
7067
6999
  };
7068
7000
  const teleportDisabled = false;
7069
- const _sfc_main$W = /* @__PURE__ */ defineComponent({
7001
+ const _sfc_main$S = /* @__PURE__ */ defineComponent({
7070
7002
  __name: "IPopupListbox",
7071
7003
  props: {
7072
7004
  isOpen: {
@@ -7085,10 +7017,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
7085
7017
  const wrapperRef = useTemplateRef("wrapper");
7086
7018
  const contentRef = useTemplateRef("content");
7087
7019
  const popupClasses = ["popup", "popup--overlay"];
7088
- const teleportTarget = computed(() => {
7089
- var _config$popupTarget;
7090
- return (_config$popupTarget = config.popupTarget) !== null && _config$popupTarget !== void 0 ? _config$popupTarget : config.teleportTarget;
7091
- });
7020
+ const teleportTarget = computed(() => config.teleportTarget);
7092
7021
  let guessedItemHeight = void 0;
7093
7022
  let verticalSpacing = void 0;
7094
7023
  useEventListener(__props.anchor, "keyup", onKeyEsc);
@@ -7218,7 +7147,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
7218
7147
  onKeyup: withKeys(withModifiers(onKeyEsc, ["stop"]), ["esc"]),
7219
7148
  onClick: _cache[0] || (_cache[0] = withModifiers(() => {
7220
7149
  }, ["stop"]))
7221
- }), [createElementVNode("div", _hoisted_2$x, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1$I)], 512)], 8, ["to"])) : createCommentVNode("", true);
7150
+ }), [createElementVNode("div", _hoisted_2$v, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1$G)], 512)], 8, ["to"])) : createCommentVNode("", true);
7222
7151
  };
7223
7152
  }
7224
7153
  });
@@ -7262,7 +7191,7 @@ async function doMenuAction$2(action, target) {
7262
7191
  }
7263
7192
  }
7264
7193
  const preventKeys$2 = ["Tab", "Up", "Down", "ArrowUp", "ArrowDown", "Home", "End", " ", "Spacebar", "Enter"];
7265
- const _sfc_main$V = defineComponent({
7194
+ const _sfc_main$R = defineComponent({
7266
7195
  name: "IPopupMenu",
7267
7196
  components: {
7268
7197
  IPopup
@@ -7343,10 +7272,9 @@ const _sfc_main$V = defineComponent({
7343
7272
  */
7344
7273
  "close",
7345
7274
  /**
7346
- * Vue 2 V-model event. Emitted when an item is selected.
7275
+ * Emitted when an item is selected.
7347
7276
  *
7348
7277
  * @event select
7349
- * @deprecated
7350
7278
  * @type {string} item key
7351
7279
  */
7352
7280
  "select",
@@ -7518,18 +7446,18 @@ const _sfc_main$V = defineComponent({
7518
7446
  }
7519
7447
  }
7520
7448
  });
7521
- const _hoisted_1$H = ["aria-label"];
7522
- const _hoisted_2$w = {
7449
+ const _hoisted_1$F = ["aria-label"];
7450
+ const _hoisted_2$u = {
7523
7451
  role: "menu",
7524
7452
  class: "ipopupmenu__list"
7525
7453
  };
7526
- const _hoisted_3$q = ["onClick"];
7454
+ const _hoisted_3$p = ["onClick"];
7527
7455
  const _hoisted_4$l = ["data-ref-index", "href", "target"];
7528
7456
  const _hoisted_5$h = {
7529
7457
  key: 0,
7530
7458
  class: "sr-only"
7531
7459
  };
7532
- function _sfc_render$J(_ctx, _cache, $props, $setup, $data, $options) {
7460
+ function _sfc_render$D(_ctx, _cache, $props, $setup, $data, $options) {
7533
7461
  const _component_i_popup = resolveComponent("i-popup");
7534
7462
  return openBlock(), createBlock(_component_i_popup, {
7535
7463
  class: "ipopupmenu",
@@ -7544,7 +7472,7 @@ function _sfc_render$J(_ctx, _cache, $props, $setup, $data, $options) {
7544
7472
  default: withCtx(() => [createElementVNode("nav", {
7545
7473
  class: "ipopupmenu ipopupmenu--vertical",
7546
7474
  "aria-label": _ctx.ariaLabel
7547
- }, [createElementVNode("ul", _hoisted_2$w, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item, index) => {
7475
+ }, [createElementVNode("ul", _hoisted_2$u, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item, index) => {
7548
7476
  return openBlock(), createElementBlock("li", {
7549
7477
  ref_for: true,
7550
7478
  ref: "items",
@@ -7560,18 +7488,18 @@ function _sfc_render$J(_ctx, _cache, $props, $setup, $data, $options) {
7560
7488
  role: "menuitem",
7561
7489
  target: item.target,
7562
7490
  tabindex: "0"
7563
- }, [_ctx.isSelected(index) ? (openBlock(), createElementBlock("span", _hoisted_5$h, [createElementVNode("span", null, toDisplayString(_ctx.selectedMenuItemScreenReaderText) + " ", 1)])) : createCommentVNode("", true), createTextVNode(" " + toDisplayString(item.label), 1)], 8, _hoisted_4$l)], 10, _hoisted_3$q);
7564
- }), 128))])], 8, _hoisted_1$H)]),
7491
+ }, [_ctx.isSelected(index) ? (openBlock(), createElementBlock("span", _hoisted_5$h, [createElementVNode("span", null, toDisplayString(_ctx.selectedMenuItemScreenReaderText) + " ", 1)])) : createCommentVNode("", true), createTextVNode(" " + toDisplayString(item.label), 1)], 8, _hoisted_4$l)], 10, _hoisted_3$p);
7492
+ }), 128))])], 8, _hoisted_1$F)]),
7565
7493
  _: 1
7566
7494
  }, 8, ["is-open", "anchor", "focus-element", "onKeyup", "onKeydown"]);
7567
7495
  }
7568
- const IPopupMenu = /* @__PURE__ */ _export_sfc(_sfc_main$V, [["render", _sfc_render$J]]);
7496
+ const IPopupMenu = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["render", _sfc_render$D]]);
7569
7497
  const ANIMATION_DURATION = 500;
7570
7498
  const NO_CSS_CLASSES = "";
7571
7499
  const CLOSED_CSS_CLASS_OPACITY = "animate-expand animate-expand--opacity";
7572
7500
  const CLOSED_CSS_CLASS = "animate-expand";
7573
7501
  const ANIMATION_CSS_CLASSES = "animate-expand animate-expand--expanded";
7574
- const _sfc_main$U = defineComponent({
7502
+ const _sfc_main$Q = defineComponent({
7575
7503
  name: "IAnimateExpand",
7576
7504
  props: {
7577
7505
  /**
@@ -7763,19 +7691,19 @@ const _sfc_main$U = defineComponent({
7763
7691
  }
7764
7692
  }
7765
7693
  });
7766
- const _hoisted_1$G = {
7694
+ const _hoisted_1$E = {
7767
7695
  key: 0,
7768
7696
  ref: "content",
7769
7697
  "data-test": "animation-content"
7770
7698
  };
7771
- function _sfc_render$I(_ctx, _cache, $props, $setup, $data, $options) {
7699
+ function _sfc_render$C(_ctx, _cache, $props, $setup, $data, $options) {
7772
7700
  return openBlock(), createElementBlock("div", {
7773
7701
  class: normalizeClass(_ctx.animationClasses),
7774
7702
  style: normalizeStyle(_ctx.heightStyle)
7775
- }, [_ctx.shouldVIf ? withDirectives((openBlock(), createElementBlock("div", _hoisted_1$G, [renderSlot(_ctx.$slots, "default")], 512)), [[vShow, _ctx.shouldVShow]]) : createCommentVNode("", true)], 6);
7703
+ }, [_ctx.shouldVIf ? withDirectives((openBlock(), createElementBlock("div", _hoisted_1$E, [renderSlot(_ctx.$slots, "default")], 512)), [[vShow, _ctx.shouldVShow]]) : createCommentVNode("", true)], 6);
7776
7704
  }
7777
- const IAnimateExpand = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["render", _sfc_render$I]]);
7778
- const _sfc_main$T = defineComponent({
7705
+ const IAnimateExpand = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["render", _sfc_render$C]]);
7706
+ const _sfc_main$P = defineComponent({
7779
7707
  name: "ISkipLink",
7780
7708
  mixins: [TranslationMixin],
7781
7709
  props: {
@@ -7789,14 +7717,14 @@ const _sfc_main$T = defineComponent({
7789
7717
  }
7790
7718
  }
7791
7719
  });
7792
- const _hoisted_1$F = ["href"];
7793
- function _sfc_render$H(_ctx, _cache, $props, $setup, $data, $options) {
7720
+ const _hoisted_1$D = ["href"];
7721
+ function _sfc_render$B(_ctx, _cache, $props, $setup, $data, $options) {
7794
7722
  return openBlock(), createElementBlock("a", {
7795
7723
  class: "iskiplink",
7796
7724
  href: _ctx.href
7797
- }, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.skip-link.text", "Gå direkt till innehåll")), 1)])], 8, _hoisted_1$F);
7725
+ }, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.skip-link.text", "Gå direkt till innehåll")), 1)])], 8, _hoisted_1$D);
7798
7726
  }
7799
- const ISkipLink = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["render", _sfc_render$H]]);
7727
+ const ISkipLink = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["render", _sfc_render$B]]);
7800
7728
  function filterOptions(options, filter2, selectMode) {
7801
7729
  if (isEmpty(filter2) || selectMode) {
7802
7730
  return options;
@@ -7806,7 +7734,7 @@ function filterOptions(options, filter2, selectMode) {
7806
7734
  }
7807
7735
  const $t = useTranslate();
7808
7736
  function useCombobox(inputRef, options, onOptionSelected) {
7809
- if (!options) {
7737
+ if (options.value === void 0) {
7810
7738
  return {
7811
7739
  dropdownId: "",
7812
7740
  dropdownIsOpen: ref(false),
@@ -7833,7 +7761,8 @@ function useCombobox(inputRef, options, onOptionSelected) {
7833
7761
  const selectMode = ref(false);
7834
7762
  const selectedOption = ref(null);
7835
7763
  const dropdownOptions = computed(() => {
7836
- return filterOptions(options, filter2.value, selectMode.value);
7764
+ var _options$value;
7765
+ return filterOptions((_options$value = options.value) !== null && _options$value !== void 0 ? _options$value : [], filter2.value, selectMode.value);
7837
7766
  });
7838
7767
  const hasOptions = computed(() => {
7839
7768
  return dropdownOptions.value.length > 0;
@@ -7869,7 +7798,7 @@ function useCombobox(inputRef, options, onOptionSelected) {
7869
7798
  let description = selectMode.value ? `${$t("fkui.combobox.selected", "Valt förslag")} ` : "";
7870
7799
  if (isEmpty(filter2.value) || selectMode.value) {
7871
7800
  description += $t("fkui.combobox.listDetails", `Det finns {{ count }} förslag. Använd uppåtpil och nedåtpil för att navigera bland förslagen.`, {
7872
- count: options.length
7801
+ count: options.value ? options.value.length : 0
7873
7802
  });
7874
7803
  } else if (hasOptions.value) {
7875
7804
  description += $t("fkui.combobox.matchesListDetails", `Det finns {{ count }} förslag som matchar. Använd uppåtpil och nedåtpil för att navigera bland förslagen.`, {
@@ -7966,10 +7895,10 @@ function useCombobox(inputRef, options, onOptionSelected) {
7966
7895
  }
7967
7896
  async function onInputFocus() {
7968
7897
  var _a;
7969
- var _inputRef$value$value, _options$includes;
7898
+ var _inputRef$value$value;
7970
7899
  await nextTick();
7971
7900
  filter2.value = (_inputRef$value$value = (_a = inputRef.value) == null ? void 0 : _a.value) !== null && _inputRef$value$value !== void 0 ? _inputRef$value$value : "";
7972
- selectMode.value = (_options$includes = options == null ? void 0 : options.includes(filter2.value)) !== null && _options$includes !== void 0 ? _options$includes : false;
7901
+ selectMode.value = options.value ? options.value.includes(filter2.value) : false;
7973
7902
  }
7974
7903
  async function onInputKeyDown(event) {
7975
7904
  let flag = false;
@@ -8041,12 +7970,12 @@ function useCombobox(inputRef, options, onOptionSelected) {
8041
7970
  }
8042
7971
  }
8043
7972
  }
8044
- const _hoisted_1$E = {
7973
+ const _hoisted_1$C = {
8045
7974
  class: "combobox"
8046
7975
  };
8047
- const _hoisted_2$v = ["id"];
8048
- const _hoisted_3$p = ["id", "aria-selected", "onClick"];
8049
- const _sfc_main$S = /* @__PURE__ */ defineComponent({
7976
+ const _hoisted_2$t = ["id"];
7977
+ const _hoisted_3$o = ["id", "aria-selected", "onClick"];
7978
+ const _sfc_main$O = /* @__PURE__ */ defineComponent({
8050
7979
  __name: "IComboboxDropdown",
8051
7980
  props: {
8052
7981
  id: {},
@@ -8083,7 +8012,7 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
8083
8012
  }
8084
8013
  });
8085
8014
  return (_ctx, _cache) => {
8086
- return openBlock(), createElementBlock("div", _hoisted_1$E, [createVNode(unref(_sfc_main$W), {
8015
+ return openBlock(), createElementBlock("div", _hoisted_1$C, [createVNode(unref(_sfc_main$S), {
8087
8016
  "is-open": _ctx.isOpen,
8088
8017
  anchor: _ctx.inputNode,
8089
8018
  "num-of-items": _ctx.options.length,
@@ -8107,15 +8036,15 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
8107
8036
  "combobox__listbox__option--highlight": isOptionActive(item)
8108
8037
  }]),
8109
8038
  onClick: withModifiers(($event) => onOptionClick(item), ["stop", "prevent"])
8110
- }, toDisplayString(item), 11, _hoisted_3$p);
8111
- }), 128))], 8, _hoisted_2$v)]),
8039
+ }, toDisplayString(item), 11, _hoisted_3$o);
8040
+ }), 128))], 8, _hoisted_2$t)]),
8112
8041
  _: 1
8113
8042
  }, 8, ["is-open", "anchor", "num-of-items", "active-element"])]);
8114
8043
  };
8115
8044
  }
8116
8045
  });
8117
- const _hoisted_1$D = ["aria-label"];
8118
- const _sfc_main$R = /* @__PURE__ */ defineComponent({
8046
+ const _hoisted_1$B = ["aria-label"];
8047
+ const _sfc_main$N = /* @__PURE__ */ defineComponent({
8119
8048
  __name: "IComboboxToggleButton",
8120
8049
  emits: ["toggle"],
8121
8050
  setup(__props, {
@@ -8134,7 +8063,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
8134
8063
  }, [createVNode(unref(FIcon), {
8135
8064
  name: "arrow-down",
8136
8065
  class: "text-field__icon"
8137
- })], 8, _hoisted_1$D);
8066
+ })], 8, _hoisted_1$B);
8138
8067
  };
8139
8068
  }
8140
8069
  });
@@ -8236,7 +8165,7 @@ function useHorizontalOffset(options) {
8236
8165
  }, 0);
8237
8166
  }
8238
8167
  }
8239
- const _sfc_main$Q = defineComponent({
8168
+ const _sfc_main$M = defineComponent({
8240
8169
  name: "FTooltip",
8241
8170
  components: {
8242
8171
  FExpand,
@@ -8285,9 +8214,6 @@ const _sfc_main$Q = defineComponent({
8285
8214
  * Element to render for the header element inside the tooltip.
8286
8215
  *
8287
8216
  * Must be set to one of:
8288
- *
8289
- * - `div` (default)
8290
- * - `span`
8291
8217
  * - `h1`
8292
8218
  * - `h2`
8293
8219
  * - `h3`
@@ -8296,10 +8222,11 @@ const _sfc_main$Q = defineComponent({
8296
8222
  * - `h6`
8297
8223
  */
8298
8224
  headerTag: {
8299
- default: "div",
8225
+ type: String,
8226
+ default: void 0,
8300
8227
  required: false,
8301
8228
  validator(value) {
8302
- return ["div", "span", "h1", "h2", "h3", "h4", "h5", "h6"].includes(value);
8229
+ return [void 0, "h1", "h2", "h3", "h4", "h5", "h6"].includes(value);
8303
8230
  }
8304
8231
  }
8305
8232
  },
@@ -8370,6 +8297,12 @@ const _sfc_main$Q = defineComponent({
8370
8297
  }
8371
8298
  }
8372
8299
  },
8300
+ created() {
8301
+ const slots = useSlots();
8302
+ if (slots.header && !this.headerTag) {
8303
+ throw new Error("Tooltip with header must define headerTag");
8304
+ }
8305
+ },
8373
8306
  methods: {
8374
8307
  /**
8375
8308
  * Gets called when the user interacts with the toggle button
@@ -8391,11 +8324,11 @@ const _sfc_main$Q = defineComponent({
8391
8324
  }
8392
8325
  }
8393
8326
  });
8394
- const _hoisted_1$C = ["aria-expanded"];
8395
- const _hoisted_2$u = {
8327
+ const _hoisted_1$A = ["aria-expanded"];
8328
+ const _hoisted_2$s = {
8396
8329
  class: "icon-stack icon-stack--tooltip"
8397
8330
  };
8398
- const _hoisted_3$o = {
8331
+ const _hoisted_3$n = {
8399
8332
  class: "sr-only"
8400
8333
  };
8401
8334
  const _hoisted_4$k = {
@@ -8409,7 +8342,7 @@ const _hoisted_5$g = {
8409
8342
  const _hoisted_6$d = {
8410
8343
  class: "tooltip__footer"
8411
8344
  };
8412
- function _sfc_render$G(_ctx, _cache, $props, $setup, $data, $options) {
8345
+ function _sfc_render$A(_ctx, _cache, $props, $setup, $data, $options) {
8413
8346
  const _component_f_icon = resolveComponent("f-icon");
8414
8347
  return openBlock(), createElementBlock(Fragment, null, [(openBlock(), createBlock(Teleport, {
8415
8348
  disabled: _ctx.iconTarget === null,
@@ -8420,11 +8353,11 @@ function _sfc_render$G(_ctx, _cache, $props, $setup, $data, $options) {
8420
8353
  type: "button",
8421
8354
  "aria-expanded": _ctx.isOpen,
8422
8355
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClickToggle && _ctx.onClickToggle(...args))
8423
- }, [createElementVNode("span", _hoisted_2$u, [createVNode(_component_f_icon, {
8356
+ }, [createElementVNode("span", _hoisted_2$s, [createVNode(_component_f_icon, {
8424
8357
  name: "circle"
8425
8358
  }), _cache[2] || (_cache[2] = createTextVNode()), createVNode(_component_f_icon, {
8426
8359
  name: "i"
8427
- }), _cache[3] || (_cache[3] = createTextVNode()), createElementVNode("span", _hoisted_3$o, toDisplayString(_ctx.screenReaderText), 1)])], 8, _hoisted_1$C)], 8, ["disabled", "to"])), _cache[7] || (_cache[7] = createTextVNode()), createElementVNode("div", mergeProps({
8360
+ }), _cache[3] || (_cache[3] = createTextVNode()), createElementVNode("span", _hoisted_3$n, toDisplayString(_ctx.screenReaderText), 1)])], 8, _hoisted_1$A)], 8, ["disabled", "to"])), _cache[7] || (_cache[7] = createTextVNode()), createElementVNode("div", mergeProps({
8428
8361
  ref: "wrapper",
8429
8362
  class: "tooltip"
8430
8363
  }, _ctx.$attrs), [_ctx.ready ? (openBlock(), createElementBlock("div", _hoisted_4$k, [_ctx.hasHeader ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.headerTag), {
@@ -8442,7 +8375,7 @@ function _sfc_render$G(_ctx, _cache, $props, $setup, $data, $options) {
8442
8375
  name: "close"
8443
8376
  })])])])) : createCommentVNode("", true)], 16)], 64);
8444
8377
  }
8445
- const FTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["render", _sfc_render$G]]);
8378
+ const FTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["render", _sfc_render$A]]);
8446
8379
  function* labelClasses(options) {
8447
8380
  const {
8448
8381
  labelClass
@@ -8483,7 +8416,7 @@ function isEqual(a, b) {
8483
8416
  }
8484
8417
  return a.every((_, i) => a[i] === b[i]);
8485
8418
  }
8486
- const _sfc_main$P = defineComponent({
8419
+ const _sfc_main$L = defineComponent({
8487
8420
  name: "FFieldset",
8488
8421
  components: {
8489
8422
  FIcon
@@ -8578,7 +8511,7 @@ const _sfc_main$P = defineComponent({
8578
8511
  validityMode: "INITIAL"
8579
8512
  },
8580
8513
  descriptionClass: ["label__description"],
8581
- discreteDescriptionClass: ["label__description", "label__description--discrete"],
8514
+ formatDescriptionClass: ["label__description", "label__description--format"],
8582
8515
  validityElement: null,
8583
8516
  dispatchObject: {},
8584
8517
  detail: {},
@@ -8711,12 +8644,12 @@ const _sfc_main$P = defineComponent({
8711
8644
  }
8712
8645
  }
8713
8646
  });
8714
- const _hoisted_1$B = ["id"];
8715
- const _hoisted_2$t = {
8647
+ const _hoisted_1$z = ["id"];
8648
+ const _hoisted_2$r = {
8716
8649
  key: 0,
8717
8650
  class: "sr-only"
8718
8651
  };
8719
- const _hoisted_3$n = {
8652
+ const _hoisted_3$m = {
8720
8653
  key: 0,
8721
8654
  class: "label__message label__message--error"
8722
8655
  };
@@ -8732,18 +8665,18 @@ const _hoisted_5$f = {
8732
8665
  const _hoisted_6$c = {
8733
8666
  key: 1
8734
8667
  };
8735
- const _hoisted_7$c = {
8668
+ const _hoisted_7$b = {
8736
8669
  ref: "tooltipAttachTo",
8737
8670
  class: "label"
8738
8671
  };
8739
- const _hoisted_8$7 = {
8672
+ const _hoisted_8$6 = {
8740
8673
  "aria-hidden": "true"
8741
8674
  };
8742
8675
  const _hoisted_9$4 = {
8743
8676
  key: 0,
8744
8677
  class: "label__message label__message--error"
8745
8678
  };
8746
- function _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {
8679
+ function _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {
8747
8680
  const _component_f_icon = resolveComponent("f-icon");
8748
8681
  return openBlock(), createElementBlock("fieldset", {
8749
8682
  id: _ctx.id,
@@ -8752,25 +8685,25 @@ function _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {
8752
8685
  }, [(openBlock(), createElementBlock("legend", {
8753
8686
  key: _ctx.legendKey,
8754
8687
  class: normalizeClass(["label", _ctx.legendClass])
8755
- }, [renderSlot(_ctx.$slots, "label"), _cache[1] || (_cache[1] = createTextVNode()), _ctx.hasCheckbox && _ctx.children.length > 1 ? (openBlock(), createElementBlock("span", _hoisted_2$t, [createElementVNode("span", null, toDisplayString(_ctx.numberOfCheckboxesScreenReaderText), 1)])) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "description", normalizeProps(guardReactiveProps({
8688
+ }, [renderSlot(_ctx.$slots, "label"), _cache[1] || (_cache[1] = createTextVNode()), _ctx.hasCheckbox && _ctx.children.length > 1 ? (openBlock(), createElementBlock("span", _hoisted_2$r, [createElementVNode("span", null, toDisplayString(_ctx.numberOfCheckboxesScreenReaderText), 1)])) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "description", {
8756
8689
  descriptionClass: _ctx.descriptionClass,
8757
- discreteDescriptionClass: _ctx.discreteDescriptionClass
8758
- }))), _cache[3] || (_cache[3] = createTextVNode()), renderSlot(_ctx.$slots, "error-message", normalizeProps(guardReactiveProps({
8690
+ formatDescriptionClass: _ctx.formatDescriptionClass
8691
+ }), _cache[3] || (_cache[3] = createTextVNode()), renderSlot(_ctx.$slots, "error-message", normalizeProps(guardReactiveProps({
8759
8692
  hasError: _ctx.hasError,
8760
8693
  validationMessage: _ctx.validity.validationMessage
8761
- })), () => [_ctx.hasError ? (openBlock(), createElementBlock("span", _hoisted_3$n, [createVNode(_component_f_icon, {
8694
+ })), () => [_ctx.hasError ? (openBlock(), createElementBlock("span", _hoisted_3$m, [createVNode(_component_f_icon, {
8762
8695
  class: "label__icon--left",
8763
8696
  name: "error"
8764
8697
  }), createTextVNode(" " + toDisplayString(_ctx.validity.validationMessage), 1)])) : createCommentVNode("", true)])], 2)), _cache[7] || (_cache[7] = createTextVNode()), _ctx.hasCheckbox ? (openBlock(), createElementBlock("span", _hoisted_4$j, [_ctx.children.length === 1 ? (openBlock(), createElementBlock("span", _hoisted_5$f, toDisplayString(_ctx.checkboxCheckedScreenReaderText), 1)) : (openBlock(), createElementBlock("span", _hoisted_6$c, toDisplayString(_ctx.numberOfCheckedCheckboxesScreenText), 1))])) : createCommentVNode("", true), _cache[8] || (_cache[8] = createTextVNode()), _ctx.hasTooltipSlot ? (openBlock(), createElementBlock(Fragment, {
8765
8698
  key: 1
8766
- }, [createElementVNode("div", _hoisted_7$c, [createElementVNode("span", _hoisted_8$7, [renderSlot(_ctx.$slots, "label")])], 512), _cache[5] || (_cache[5] = createTextVNode()), renderSlot(_ctx.$slots, "tooltip"), _cache[6] || (_cache[6] = createTextVNode()), _ctx.hasDescriptionSlot || _ctx.hasErrorMessageSlot || _ctx.hasError ? (openBlock(), createElementBlock("div", {
8699
+ }, [createElementVNode("div", _hoisted_7$b, [createElementVNode("span", _hoisted_8$6, [renderSlot(_ctx.$slots, "label")])], 512), _cache[5] || (_cache[5] = createTextVNode()), renderSlot(_ctx.$slots, "tooltip"), _cache[6] || (_cache[6] = createTextVNode()), _ctx.hasDescriptionSlot || _ctx.hasErrorMessageSlot || _ctx.hasError ? (openBlock(), createElementBlock("div", {
8767
8700
  key: 0,
8768
8701
  class: normalizeClass(["label", _ctx.groupLabelClass]),
8769
8702
  "aria-hidden": "true"
8770
- }, [renderSlot(_ctx.$slots, "description", normalizeProps(guardReactiveProps({
8703
+ }, [renderSlot(_ctx.$slots, "description", {
8771
8704
  descriptionClass: _ctx.descriptionClass,
8772
- discreteDescriptionClass: _ctx.discreteDescriptionClass
8773
- }))), _cache[4] || (_cache[4] = createTextVNode()), renderSlot(_ctx.$slots, "error-message", normalizeProps(guardReactiveProps({
8705
+ formatDescriptionClass: _ctx.formatDescriptionClass
8706
+ }), _cache[4] || (_cache[4] = createTextVNode()), renderSlot(_ctx.$slots, "error-message", normalizeProps(guardReactiveProps({
8774
8707
  hasError: _ctx.hasError,
8775
8708
  validationMessage: _ctx.validity.validationMessage
8776
8709
  })), () => [_ctx.hasError ? (openBlock(), createElementBlock("span", _hoisted_9$4, [createVNode(_component_f_icon, {
@@ -8778,11 +8711,11 @@ function _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {
8778
8711
  name: "error"
8779
8712
  }), createTextVNode(" " + toDisplayString(_ctx.validity.validationMessage), 1)])) : createCommentVNode("", true)])], 2)) : createCommentVNode("", true)], 64)) : createCommentVNode("", true), _cache[9] || (_cache[9] = createTextVNode()), createElementVNode("div", {
8780
8713
  class: normalizeClass(_ctx.groupContentClass)
8781
- }, [renderSlot(_ctx.$slots, "default")], 2)], 42, _hoisted_1$B);
8714
+ }, [renderSlot(_ctx.$slots, "default")], 2)], 42, _hoisted_1$z);
8782
8715
  }
8783
- const FFieldset = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["render", _sfc_render$F]]);
8716
+ const FFieldset = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["render", _sfc_render$z]]);
8784
8717
  const anyType$1 = [String, Object, Array, Number, Date, Boolean];
8785
- const _sfc_main$O = defineComponent({
8718
+ const _sfc_main$K = defineComponent({
8786
8719
  name: "FCheckboxField",
8787
8720
  inheritAttrs: false,
8788
8721
  props: {
@@ -8968,9 +8901,9 @@ const _sfc_main$O = defineComponent({
8968
8901
  }
8969
8902
  }
8970
8903
  });
8971
- const _hoisted_1$A = ["id", "disabled"];
8972
- const _hoisted_2$s = ["for"];
8973
- const _hoisted_3$m = {
8904
+ const _hoisted_1$y = ["id", "disabled"];
8905
+ const _hoisted_2$q = ["for"];
8906
+ const _hoisted_3$l = {
8974
8907
  key: 0,
8975
8908
  class: "checkbox__details"
8976
8909
  };
@@ -8978,7 +8911,7 @@ const _hoisted_4$i = {
8978
8911
  key: 0,
8979
8912
  class: "checkbox__details"
8980
8913
  };
8981
- function _sfc_render$E(_ctx, _cache, $props, $setup, $data, $options) {
8914
+ function _sfc_render$y(_ctx, _cache, $props, $setup, $data, $options) {
8982
8915
  return openBlock(), createElementBlock("div", {
8983
8916
  class: normalizeClass(["checkbox", _ctx.disabledClass]),
8984
8917
  onValidity: _cache[2] || (_cache[2] = (...args) => _ctx.onValidity && _ctx.onValidity(...args))
@@ -8991,12 +8924,12 @@ function _sfc_render$E(_ctx, _cache, $props, $setup, $data, $options) {
8991
8924
  disabled: _ctx.disabled,
8992
8925
  onKeydown: _cache[0] || (_cache[0] = withKeys((...args) => _ctx.onKeydown && _ctx.onKeydown(...args), ["space"])),
8993
8926
  onChange: _cache[1] || (_cache[1] = ($event) => _ctx.updateExpandedFlag())
8994
- }), null, 16, _hoisted_1$A), _cache[9] || (_cache[9] = createTextVNode()), createElementVNode("label", {
8927
+ }), null, 16, _hoisted_1$y), _cache[9] || (_cache[9] = createTextVNode()), createElementVNode("label", {
8995
8928
  class: normalizeClass(_ctx.$slots.details ? "checkbox__label checkbox__width" : "checkbox__label"),
8996
8929
  for: _ctx.id
8997
8930
  }, [renderSlot(_ctx.$slots, "default"), _cache[8] || (_cache[8] = createTextVNode()), _ctx.$slots.details ? (openBlock(), createElementBlock(Fragment, {
8998
8931
  key: 0
8999
- }, [_ctx.showDetails === "always" ? (openBlock(), createElementBlock("span", _hoisted_3$m, [_cache[3] || (_cache[3] = createElementVNode("br", null, null, -1)), _cache[4] || (_cache[4] = createTextVNode()), renderSlot(_ctx.$slots, "details")])) : createCommentVNode("", true), _cache[7] || (_cache[7] = createTextVNode()), _ctx.showDetails === "when-selected" ? (openBlock(), createBlock(Transition, {
8932
+ }, [_ctx.showDetails === "always" ? (openBlock(), createElementBlock("span", _hoisted_3$l, [_cache[3] || (_cache[3] = createElementVNode("br", null, null, -1)), _cache[4] || (_cache[4] = createTextVNode()), renderSlot(_ctx.$slots, "details")])) : createCommentVNode("", true), _cache[7] || (_cache[7] = createTextVNode()), _ctx.showDetails === "when-selected" ? (openBlock(), createBlock(Transition, {
9000
8933
  key: 1,
9001
8934
  onEnter: _ctx.enter,
9002
8935
  onAfterEnter: _ctx.afterEnter,
@@ -9006,59 +8939,9 @@ function _sfc_render$E(_ctx, _cache, $props, $setup, $data, $options) {
9006
8939
  height: _ctx.height
9007
8940
  })])) : createCommentVNode("", true)]),
9008
8941
  _: 3
9009
- }, 8, ["onEnter", "onAfterEnter", "onLeave"])) : createCommentVNode("", true)], 64)) : createCommentVNode("", true)], 10, _hoisted_2$s)], 34);
9010
- }
9011
- const FCheckboxField = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["render", _sfc_render$E]]);
9012
- const _sfc_main$N = defineComponent({
9013
- name: "FCheckboxGroup",
9014
- components: {
9015
- FFieldset
9016
- },
9017
- mixins: [TranslationMixin],
9018
- inheritAttrs: false,
9019
- props: {
9020
- /**
9021
- * The id for the fieldset id attribute.
9022
- * If the prop is not set the id will be generated.
9023
- */
9024
- id: {
9025
- type: String,
9026
- required: false,
9027
- default: () => ElementIdService.generateElementId()
9028
- },
9029
- /**
9030
- * The name of the checkbox group.
9031
- */
9032
- name: {
9033
- type: String,
9034
- required: true
9035
- }
9036
- }
9037
- });
9038
- function _sfc_render$D(_ctx, _cache, $props, $setup, $data, $options) {
9039
- const _component_f_fieldset = resolveComponent("f-fieldset");
9040
- return openBlock(), createBlock(_component_f_fieldset, mergeProps({
9041
- id: _ctx.id,
9042
- name: _ctx.name
9043
- }, _ctx.$attrs), createSlots({
9044
- label: withCtx(() => [renderSlot(_ctx.$slots, "label")]),
9045
- description: withCtx(({
9046
- descriptionClass,
9047
- discreteDescriptionClass
9048
- }) => [renderSlot(_ctx.$slots, "description", normalizeProps(guardReactiveProps({
9049
- descriptionClass,
9050
- discreteDescriptionClass
9051
- })))]),
9052
- "error-message": withCtx(() => [renderSlot(_ctx.$slots, "error-message")]),
9053
- default: withCtx(() => [_cache[0] || (_cache[0] = createTextVNode()), _cache[1] || (_cache[1] = createTextVNode()), _cache[2] || (_cache[2] = createTextVNode()), _cache[3] || (_cache[3] = createTextVNode()), renderSlot(_ctx.$slots, "default")]),
9054
- _: 2
9055
- }, [_ctx.$slots.tooltip ? {
9056
- name: "tooltip",
9057
- fn: withCtx(() => [renderSlot(_ctx.$slots, "tooltip")]),
9058
- key: "0"
9059
- } : void 0]), 1040, ["id", "name"]);
8942
+ }, 8, ["onEnter", "onAfterEnter", "onLeave"])) : createCommentVNode("", true)], 64)) : createCommentVNode("", true)], 10, _hoisted_2$q)], 34);
9060
8943
  }
9061
- const FCheckboxGroup = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["render", _sfc_render$D]]);
8944
+ const FCheckboxField = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["render", _sfc_render$y]]);
9062
8945
  function isContextMenuTextItem(value) {
9063
8946
  return typeof value.key === "string";
9064
8947
  }
@@ -9106,7 +8989,7 @@ async function doMenuAction$1(action, target) {
9106
8989
  }
9107
8990
  const preventKeys$1 = ["Tab", "Up", "Down", "ArrowUp", "ArrowDown", "Home", "End", " ", "Spacebar", "Enter", "Escape"];
9108
8991
  const keyUp = ["ArrowUp", "Up"];
9109
- const _sfc_main$M = defineComponent({
8992
+ const _sfc_main$J = defineComponent({
9110
8993
  name: "FContextMenu",
9111
8994
  components: {
9112
8995
  IPopup,
@@ -9270,20 +9153,20 @@ const _sfc_main$M = defineComponent({
9270
9153
  }
9271
9154
  }
9272
9155
  });
9273
- const _hoisted_1$z = ["aria-label"];
9274
- const _hoisted_2$r = {
9156
+ const _hoisted_1$x = ["aria-label"];
9157
+ const _hoisted_2$p = {
9275
9158
  ref: "contextmenu",
9276
9159
  role: "menu",
9277
9160
  tabindex: "-1",
9278
9161
  class: "contextmenu__list"
9279
9162
  };
9280
- const _hoisted_3$l = ["onClick"];
9163
+ const _hoisted_3$k = ["onClick"];
9281
9164
  const _hoisted_4$h = ["tabindex"];
9282
9165
  const _hoisted_5$e = {
9283
9166
  key: 0,
9284
9167
  class: "contextmenu__separator"
9285
9168
  };
9286
- function _sfc_render$C(_ctx, _cache, $props, $setup, $data, $options) {
9169
+ function _sfc_render$x(_ctx, _cache, $props, $setup, $data, $options) {
9287
9170
  const _component_f_icon = resolveComponent("f-icon");
9288
9171
  const _component_i_popup = resolveComponent("i-popup");
9289
9172
  return openBlock(), createBlock(_component_i_popup, {
@@ -9300,7 +9183,7 @@ function _sfc_render$C(_ctx, _cache, $props, $setup, $data, $options) {
9300
9183
  "aria-label": _ctx.ariaLabel,
9301
9184
  onKeyup: _cache[0] || (_cache[0] = (...args) => _ctx.onKeyUp && _ctx.onKeyUp(...args)),
9302
9185
  onKeydown: _cache[1] || (_cache[1] = (...args) => _ctx.onKeyDown && _ctx.onKeyDown(...args))
9303
- }, [createElementVNode("ul", _hoisted_2$r, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.popupItems, (item, index) => {
9186
+ }, [createElementVNode("ul", _hoisted_2$p, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.popupItems, (item, index) => {
9304
9187
  return openBlock(), createElementBlock("li", {
9305
9188
  key: item.key,
9306
9189
  role: "menuitem",
@@ -9318,12 +9201,12 @@ function _sfc_render$C(_ctx, _cache, $props, $setup, $data, $options) {
9318
9201
  }, null, 8, ["name", "library"])) : createCommentVNode("", true), _cache[3] || (_cache[3] = createTextVNode()), createElementVNode("a", {
9319
9202
  ref_for: true,
9320
9203
  ref: "anchors"
9321
- }, toDisplayString(item.label), 513)], 8, _hoisted_4$h), _cache[4] || (_cache[4] = createTextVNode()), _ctx.hasSeparatorAfterItemAt(index) ? (openBlock(), createElementBlock("hr", _hoisted_5$e)) : createCommentVNode("", true)], 8, _hoisted_3$l);
9322
- }), 128))], 512)], 40, _hoisted_1$z)]),
9204
+ }, toDisplayString(item.label), 513)], 8, _hoisted_4$h), _cache[4] || (_cache[4] = createTextVNode()), _ctx.hasSeparatorAfterItemAt(index) ? (openBlock(), createElementBlock("hr", _hoisted_5$e)) : createCommentVNode("", true)], 8, _hoisted_3$k);
9205
+ }), 128))], 512)], 40, _hoisted_1$x)]),
9323
9206
  _: 1
9324
9207
  }, 8, ["is-open", "anchor", "focus-element"]);
9325
9208
  }
9326
- const FContextMenu = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["render", _sfc_render$C]]);
9209
+ const FContextMenu = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["render", _sfc_render$x]]);
9327
9210
  var Operation = /* @__PURE__ */ ((Operation2) => {
9328
9211
  Operation2[Operation2["ADD"] = 0] = "ADD";
9329
9212
  Operation2[Operation2["DELETE"] = 1] = "DELETE";
@@ -9331,7 +9214,7 @@ var Operation = /* @__PURE__ */ ((Operation2) => {
9331
9214
  Operation2[Operation2["NONE"] = 3] = "NONE";
9332
9215
  return Operation2;
9333
9216
  })(Operation || {});
9334
- const _sfc_main$L = defineComponent({
9217
+ const _sfc_main$I = defineComponent({
9335
9218
  name: "FCrudDataset",
9336
9219
  components: {
9337
9220
  FFormModal,
@@ -9437,7 +9320,7 @@ const _sfc_main$L = defineComponent({
9437
9320
  default: TranslationService.provider.translate("fkui.crud-dataset.modal.header.delete", "Är du säker på att du vill ta bort raden?")
9438
9321
  }
9439
9322
  },
9440
- emits: ["change", "created", "deleted", "updated", "update:modelValue"],
9323
+ emits: ["created", "deleted", "updated", "update:modelValue"],
9441
9324
  data() {
9442
9325
  return {
9443
9326
  result: [],
@@ -9454,11 +9337,20 @@ const _sfc_main$L = defineComponent({
9454
9337
  };
9455
9338
  },
9456
9339
  computed: {
9457
- confirmButtonText() {
9458
- 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");
9459
- },
9460
- cancelButtonText() {
9461
- return this.operation === Operation.ADD ? this.$t("fkui.crud-dataset.modal.cancel.add", "Avbryt") : this.$t("fkui.crud-dataset.modal.cancel.modify", "Avbryt");
9340
+ formModalButtons() {
9341
+ const confirmButtonText = this.operation === Operation.ADD ? this.$t("fkui.crud-dataset.modal.confirm.add", "Lägg till") : this.$t("fkui.crud-dataset.modal.confirm.modify", "Spara");
9342
+ const cancelButtonText = this.operation === Operation.ADD ? this.$t("fkui.crud-dataset.modal.cancel.add", "Avbryt") : this.$t("fkui.crud-dataset.modal.cancel.modify", "Avbryt");
9343
+ return [{
9344
+ label: confirmButtonText,
9345
+ event: "confirm",
9346
+ type: "primary",
9347
+ submitButton: true
9348
+ }, {
9349
+ label: cancelButtonText,
9350
+ event: "dismiss",
9351
+ type: "secondary",
9352
+ submitButton: false
9353
+ }];
9462
9354
  },
9463
9355
  confirmDeleteButtons() {
9464
9356
  return [{
@@ -9522,7 +9414,6 @@ const _sfc_main$L = defineComponent({
9522
9414
  this.result = this.result.filter((item) => item !== this.item);
9523
9415
  this.$emit("deleted", this.item);
9524
9416
  this.$emit("update:modelValue", this.result);
9525
- this.$emit("change", this.result);
9526
9417
  alertScreenReader(this.$t("fkui.crud-dataset.aria-live.delete", "Raden har tagits bort"), {
9527
9418
  assertive: true
9528
9419
  });
@@ -9545,7 +9436,6 @@ const _sfc_main$L = defineComponent({
9545
9436
  this.result.push(this.item);
9546
9437
  this.$emit("created", this.item);
9547
9438
  this.$emit("update:modelValue", this.result);
9548
- this.$emit("change", this.result);
9549
9439
  this.callbackAfterItemAdd(this.item);
9550
9440
  alertScreenReader(this.$t("fkui.crud-dataset.aria-live.add", "En rad har lagts till"), {
9551
9441
  assertive: true
@@ -9558,7 +9448,6 @@ const _sfc_main$L = defineComponent({
9558
9448
  }
9559
9449
  this.$emit("updated", this.originalItemToUpdate);
9560
9450
  this.$emit("update:modelValue", this.result);
9561
- this.$emit("change", this.result);
9562
9451
  alertScreenReader(this.$t("fkui.crud-dataset.aria-live.modify", "Raden har ändrats"), {
9563
9452
  assertive: true
9564
9453
  });
@@ -9576,17 +9465,17 @@ const _sfc_main$L = defineComponent({
9576
9465
  }
9577
9466
  }
9578
9467
  });
9579
- const _hoisted_1$y = {
9468
+ const _hoisted_1$w = {
9580
9469
  class: "crud-dataset"
9581
9470
  };
9582
- const _hoisted_2$q = {
9471
+ const _hoisted_2$o = {
9583
9472
  key: 0
9584
9473
  };
9585
- function _sfc_render$B(_ctx, _cache, $props, $setup, $data, $options) {
9474
+ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
9586
9475
  const _component_f_icon = resolveComponent("f-icon");
9587
9476
  const _component_f_form_modal = resolveComponent("f-form-modal");
9588
9477
  const _component_f_confirm_modal = resolveComponent("f-confirm-modal");
9589
- return openBlock(), createElementBlock("div", _hoisted_1$y, [renderSlot(_ctx.$slots, "default"), _cache[7] || (_cache[7] = createTextVNode()), _ctx.hasAddSlot ? (openBlock(), createElementBlock("div", _hoisted_2$q, [createElementVNode("button", {
9478
+ return openBlock(), createElementBlock("div", _hoisted_1$w, [renderSlot(_ctx.$slots, "default"), _cache[5] || (_cache[5] = createTextVNode()), _ctx.hasAddSlot ? (openBlock(), createElementBlock("div", _hoisted_2$o, [createElementVNode("button", {
9590
9479
  "data-test": "f-crud-dataset-add-button",
9591
9480
  type: "button",
9592
9481
  class: "button button--tertiary crud-dataset__add-button",
@@ -9594,9 +9483,10 @@ function _sfc_render$B(_ctx, _cache, $props, $setup, $data, $options) {
9594
9483
  }, [createVNode(_component_f_icon, {
9595
9484
  class: "button__icon",
9596
9485
  name: "plus"
9597
- }), _cache[1] || (_cache[1] = createTextVNode()), renderSlot(_ctx.$slots, "add-button", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.crud-dataset.button.add", "Lägg till ny")), 1)])])])) : createCommentVNode("", true), _cache[8] || (_cache[8] = createTextVNode()), createVNode(_component_f_form_modal, {
9486
+ }), _cache[1] || (_cache[1] = createTextVNode()), renderSlot(_ctx.$slots, "add-button", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.crud-dataset.button.add", "Lägg till ny")), 1)])])])) : createCommentVNode("", true), _cache[6] || (_cache[6] = createTextVNode()), createVNode(_component_f_form_modal, {
9598
9487
  "is-open": _ctx.isFormModalOpen,
9599
9488
  "aria-close-text": _ctx.$t("fkui.crud-dataset.modal.close", "Stäng"),
9489
+ buttons: _ctx.formModalButtons,
9600
9490
  "use-error-list": false,
9601
9491
  "before-submit": _ctx.beforeSubmit,
9602
9492
  "before-validation": _ctx.beforeValidation,
@@ -9615,10 +9505,8 @@ function _sfc_render$B(_ctx, _cache, $props, $setup, $data, $options) {
9615
9505
  }, {
9616
9506
  item: _ctx.item
9617
9507
  }))) : createCommentVNode("", true)]),
9618
- "submit-button-text": withCtx(() => [createTextVNode(toDisplayString(_ctx.confirmButtonText), 1)]),
9619
- "cancel-button-text": withCtx(() => [createTextVNode(toDisplayString(_ctx.cancelButtonText), 1)]),
9620
9508
  _: 3
9621
- }, 8, ["is-open", "aria-close-text", "before-submit", "before-validation", "on-cancel", "onClose", "onCancel", "onSubmit"]), _cache[9] || (_cache[9] = createTextVNode()), createVNode(_component_f_confirm_modal, {
9509
+ }, 8, ["is-open", "aria-close-text", "buttons", "before-submit", "before-validation", "on-cancel", "onClose", "onCancel", "onSubmit"]), _cache[7] || (_cache[7] = createTextVNode()), createVNode(_component_f_confirm_modal, {
9622
9510
  "is-open": _ctx.isConfirmModalOpen,
9623
9511
  buttons: _ctx.confirmDeleteButtons,
9624
9512
  onConfirm: _ctx.onDeleteConfirm,
@@ -9631,14 +9519,14 @@ function _sfc_render$B(_ctx, _cache, $props, $setup, $data, $options) {
9631
9519
  _: 3
9632
9520
  }, 8, ["is-open", "buttons", "onConfirm", "onClose"])]);
9633
9521
  }
9634
- const FCrudDataset = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["render", _sfc_render$B]]);
9522
+ const FCrudDataset = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["render", _sfc_render$w]]);
9635
9523
  function FCrudDatasetInjected() {
9636
9524
  return {
9637
9525
  delete: inject("delete"),
9638
9526
  modify: inject("modify")
9639
9527
  };
9640
9528
  }
9641
- const _sfc_main$K = defineComponent({
9529
+ const _sfc_main$H = defineComponent({
9642
9530
  name: "FCrudButton",
9643
9531
  components: {
9644
9532
  FIcon
@@ -9694,11 +9582,11 @@ const _sfc_main$K = defineComponent({
9694
9582
  }
9695
9583
  }
9696
9584
  });
9697
- const _hoisted_1$x = {
9585
+ const _hoisted_1$v = {
9698
9586
  key: 1,
9699
9587
  class: "sr-only"
9700
9588
  };
9701
- function _sfc_render$A(_ctx, _cache, $props, $setup, $data, $options) {
9589
+ function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
9702
9590
  const _component_f_icon = resolveComponent("f-icon");
9703
9591
  return openBlock(), createElementBlock("button", {
9704
9592
  type: "button",
@@ -9708,11 +9596,11 @@ function _sfc_render$A(_ctx, _cache, $props, $setup, $data, $options) {
9708
9596
  key: 0,
9709
9597
  class: "button__icon",
9710
9598
  name: _ctx.iconName
9711
- }, null, 8, ["name"])) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), !_ctx.label ? (openBlock(), createElementBlock("span", _hoisted_1$x, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.buttonText), 1)])])) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), _ctx.label ? renderSlot(_ctx.$slots, "default", {
9599
+ }, null, 8, ["name"])) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), !_ctx.label ? (openBlock(), createElementBlock("span", _hoisted_1$v, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.buttonText), 1)])])) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), _ctx.label ? renderSlot(_ctx.$slots, "default", {
9712
9600
  key: 2
9713
9601
  }, () => [createTextVNode(toDisplayString(_ctx.buttonText), 1)]) : createCommentVNode("", true)]);
9714
9602
  }
9715
- const FCrudButton = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["render", _sfc_render$A]]);
9603
+ const FCrudButton = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["render", _sfc_render$v]]);
9716
9604
  function ActivateItemInjected() {
9717
9605
  return {
9718
9606
  registerCallbackAfterItemAdd: inject("registerCallbackAfterItemAdd", () => void 0),
@@ -9796,7 +9684,7 @@ function FTableInjected() {
9796
9684
  renderColumns: inject("renderColumns", false)
9797
9685
  };
9798
9686
  }
9799
- const _sfc_main$J = defineComponent({
9687
+ const _sfc_main$G = defineComponent({
9800
9688
  name: "FTableColumn",
9801
9689
  inheritAttrs: false,
9802
9690
  props: {
@@ -9937,7 +9825,7 @@ const _sfc_main$J = defineComponent({
9937
9825
  });
9938
9826
  }
9939
9827
  });
9940
- function _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {
9828
+ function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
9941
9829
  return _ctx.renderColumns && _ctx.visible ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.tagName), mergeProps({
9942
9830
  key: 0,
9943
9831
  class: _ctx.classes,
@@ -9949,7 +9837,7 @@ function _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {
9949
9837
  _: 3
9950
9838
  }, 16, ["class", "scope"])) : createCommentVNode("", true);
9951
9839
  }
9952
- const FTableColumn = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["render", _sfc_render$z]]);
9840
+ const FTableColumn = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["render", _sfc_render$u]]);
9953
9841
  function FSortFilterDatasetInjected() {
9954
9842
  return {
9955
9843
  sort: inject("sort", () => void 0),
@@ -9957,7 +9845,7 @@ function FSortFilterDatasetInjected() {
9957
9845
  registerCallbackOnMount: inject("registerCallbackOnMount", () => void 0)
9958
9846
  };
9959
9847
  }
9960
- const _sfc_main$I = defineComponent({
9848
+ const _sfc_main$F = defineComponent({
9961
9849
  name: "FLabel",
9962
9850
  components: {
9963
9851
  FIcon
@@ -9978,7 +9866,7 @@ const _sfc_main$I = defineComponent({
9978
9866
  data() {
9979
9867
  return {
9980
9868
  descriptionClass: ["label__description"],
9981
- discreteDescriptionClass: ["label__description", "label__description--discrete"]
9869
+ formatDescriptionClass: ["label__description", "label__description--format"]
9982
9870
  };
9983
9871
  },
9984
9872
  computed: {
@@ -9996,56 +9884,56 @@ const _sfc_main$I = defineComponent({
9996
9884
  }
9997
9885
  }
9998
9886
  });
9999
- const _hoisted_1$w = {
9887
+ const _hoisted_1$u = {
10000
9888
  key: 0
10001
9889
  };
10002
- const _hoisted_2$p = {
9890
+ const _hoisted_2$n = {
10003
9891
  key: 0,
10004
9892
  ref: "tooltipAttachTo"
10005
9893
  };
10006
- const _hoisted_3$k = ["for"];
9894
+ const _hoisted_3$j = ["for"];
10007
9895
  const _hoisted_4$g = ["for"];
10008
9896
  const _hoisted_5$d = {
10009
9897
  key: 0,
10010
9898
  class: "label__message label__message--error"
10011
9899
  };
10012
9900
  const _hoisted_6$b = ["for"];
10013
- const _hoisted_7$b = {
9901
+ const _hoisted_7$a = {
10014
9902
  key: 0,
10015
9903
  class: "label__message label__message--error"
10016
9904
  };
10017
- function _sfc_render$y(_ctx, _cache, $props, $setup, $data, $options) {
9905
+ function _sfc_render$t(_ctx, _cache, $props, $setup, $data, $options) {
10018
9906
  const _component_f_icon = resolveComponent("f-icon");
10019
- return _ctx.$slots.tooltip ? (openBlock(), createElementBlock("div", _hoisted_1$w, [_ctx.hasDefaultSlot ? (openBlock(), createElementBlock("div", _hoisted_2$p, [createElementVNode("label", {
9907
+ return _ctx.$slots.tooltip ? (openBlock(), createElementBlock("div", _hoisted_1$u, [_ctx.hasDefaultSlot ? (openBlock(), createElementBlock("div", _hoisted_2$n, [createElementVNode("label", {
10020
9908
  class: "label",
10021
9909
  for: _ctx.forProperty
10022
- }, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_3$k)], 512)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "tooltip"), _cache[3] || (_cache[3] = createTextVNode()), _ctx.hasDescriptionSlot || _ctx.hasErrorMessageSlot ? (openBlock(), createElementBlock("label", {
9910
+ }, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_3$j)], 512)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "tooltip"), _cache[3] || (_cache[3] = createTextVNode()), _ctx.hasDescriptionSlot || _ctx.hasErrorMessageSlot ? (openBlock(), createElementBlock("label", {
10023
9911
  key: 1,
10024
9912
  class: "label sr-separator",
10025
9913
  for: _ctx.forProperty
10026
- }, [renderSlot(_ctx.$slots, "description", normalizeProps(guardReactiveProps({
9914
+ }, [renderSlot(_ctx.$slots, "description", {
10027
9915
  descriptionClass: _ctx.descriptionClass,
10028
- discreteDescriptionClass: _ctx.discreteDescriptionClass
10029
- }))), _cache[1] || (_cache[1] = createTextVNode()), _ctx.hasErrorMessageSlot ? (openBlock(), createElementBlock("span", _hoisted_5$d, [createVNode(_component_f_icon, {
9916
+ formatDescriptionClass: _ctx.formatDescriptionClass
9917
+ }), _cache[1] || (_cache[1] = createTextVNode()), _ctx.hasErrorMessageSlot ? (openBlock(), createElementBlock("span", _hoisted_5$d, [createVNode(_component_f_icon, {
10030
9918
  class: "label__icon--left",
10031
9919
  name: "error"
10032
9920
  }), _cache[0] || (_cache[0] = createTextVNode()), renderSlot(_ctx.$slots, "error-message")])) : createCommentVNode("", true)], 8, _hoisted_4$g)) : createCommentVNode("", true)])) : (openBlock(), createElementBlock("label", {
10033
9921
  key: 1,
10034
9922
  class: "label",
10035
9923
  for: _ctx.forProperty
10036
- }, [renderSlot(_ctx.$slots, "default"), _cache[5] || (_cache[5] = createTextVNode()), renderSlot(_ctx.$slots, "description", normalizeProps(guardReactiveProps({
9924
+ }, [renderSlot(_ctx.$slots, "default"), _cache[5] || (_cache[5] = createTextVNode()), renderSlot(_ctx.$slots, "description", {
10037
9925
  descriptionClass: _ctx.descriptionClass,
10038
- discreteDescriptionClass: _ctx.discreteDescriptionClass
10039
- }))), _cache[6] || (_cache[6] = createTextVNode()), _ctx.hasErrorMessageSlot ? (openBlock(), createElementBlock("span", _hoisted_7$b, [createVNode(_component_f_icon, {
9926
+ formatDescriptionClass: _ctx.formatDescriptionClass
9927
+ }), _cache[6] || (_cache[6] = createTextVNode()), _ctx.hasErrorMessageSlot ? (openBlock(), createElementBlock("span", _hoisted_7$a, [createVNode(_component_f_icon, {
10040
9928
  class: "label__icon--left",
10041
9929
  name: "error"
10042
9930
  }), _cache[4] || (_cache[4] = createTextVNode()), renderSlot(_ctx.$slots, "error-message")])) : createCommentVNode("", true)], 8, _hoisted_6$b));
10043
9931
  }
10044
- const FLabel = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["render", _sfc_render$y]]);
9932
+ const FLabel = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["render", _sfc_render$t]]);
10045
9933
  function resolveWidthClass$1(words, inline) {
10046
9934
  return inline ? void 0 : words.split(" ").map((word) => `i-width-${word}`).join(" ");
10047
9935
  }
10048
- const _sfc_main$H = defineComponent({
9936
+ const _sfc_main$E = defineComponent({
10049
9937
  name: "FSelectField",
10050
9938
  components: {
10051
9939
  FIcon,
@@ -10176,8 +10064,8 @@ const _sfc_main$H = defineComponent({
10176
10064
  }
10177
10065
  }
10178
10066
  });
10179
- const _hoisted_1$v = ["id"];
10180
- function _sfc_render$x(_ctx, _cache, $props, $setup, $data, $options) {
10067
+ const _hoisted_1$t = ["id"];
10068
+ function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {
10181
10069
  const _component_f_label = resolveComponent("f-label");
10182
10070
  const _component_f_icon = resolveComponent("f-icon");
10183
10071
  return openBlock(), createElementBlock("div", {
@@ -10192,11 +10080,11 @@ function _sfc_render$x(_ctx, _cache, $props, $setup, $data, $options) {
10192
10080
  default: withCtx(() => [renderSlot(_ctx.$slots, "label")]),
10193
10081
  description: withCtx(({
10194
10082
  descriptionClass,
10195
- discreteDescriptionClass
10196
- }) => [renderSlot(_ctx.$slots, "description", normalizeProps(guardReactiveProps({
10083
+ formatDescriptionClass
10084
+ }) => [renderSlot(_ctx.$slots, "description", {
10197
10085
  descriptionClass,
10198
- discreteDescriptionClass
10199
- })))]),
10086
+ formatDescriptionClass
10087
+ })]),
10200
10088
  "error-message": withCtx(() => [renderSlot(_ctx.$slots, "error-message", normalizeProps(guardReactiveProps({
10201
10089
  hasError: _ctx.hasError,
10202
10090
  validationMessage: _ctx.validationMessage
@@ -10214,7 +10102,7 @@ function _sfc_render$x(_ctx, _cache, $props, $setup, $data, $options) {
10214
10102
  id: _ctx.id,
10215
10103
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.vModel = $event),
10216
10104
  class: "select-field__select"
10217
- }, _ctx.attrs), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$v), [[vModelSelect, _ctx.vModel]]), _cache[5] || (_cache[5] = createTextVNode()), _ctx.hasError && _ctx.textFieldTableMode ? (openBlock(), createBlock(_component_f_icon, {
10105
+ }, _ctx.attrs), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$t), [[vModelSelect, _ctx.vModel]]), _cache[5] || (_cache[5] = createTextVNode()), _ctx.hasError && _ctx.textFieldTableMode ? (openBlock(), createBlock(_component_f_icon, {
10218
10106
  key: 0,
10219
10107
  ref: "icon",
10220
10108
  class: "text-field__icon input-icon select-field__error-popup-icon",
@@ -10224,7 +10112,7 @@ function _sfc_render$x(_ctx, _cache, $props, $setup, $data, $options) {
10224
10112
  name: "arrow-down"
10225
10113
  })], 2)], 34);
10226
10114
  }
10227
- const FSelectField = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["render", _sfc_render$x]]);
10115
+ const FSelectField = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["render", _sfc_render$s]]);
10228
10116
  function resolveWidthClass(words, inline) {
10229
10117
  return inline ? void 0 : words.split(" ").map((word) => `i-width-${word}`).join(" ");
10230
10118
  }
@@ -10253,7 +10141,7 @@ function useTextFieldSetup(props) {
10253
10141
  toggleDropdown,
10254
10142
  selectOption,
10255
10143
  closeDropdown
10256
- } = useCombobox(inputNode, props.options, onOptionSelected);
10144
+ } = useCombobox(inputNode, toRef(props, "options"), onOptionSelected);
10257
10145
  return {
10258
10146
  textFieldTableMode,
10259
10147
  viewValue,
@@ -10268,14 +10156,14 @@ function useTextFieldSetup(props) {
10268
10156
  closeDropdown
10269
10157
  };
10270
10158
  }
10271
- const _sfc_main$G = defineComponent({
10159
+ const _sfc_main$D = defineComponent({
10272
10160
  name: "FTextField",
10273
10161
  components: {
10274
10162
  FLabel,
10275
10163
  FIcon,
10276
10164
  IPopupError,
10277
- IComboboxDropdown: _sfc_main$S,
10278
- IComboboxToggleButton: _sfc_main$R
10165
+ IComboboxDropdown: _sfc_main$O,
10166
+ IComboboxToggleButton: _sfc_main$N
10279
10167
  },
10280
10168
  inheritAttrs: false,
10281
10169
  props: {
@@ -10376,6 +10264,8 @@ const _sfc_main$G = defineComponent({
10376
10264
  *
10377
10265
  * When set, the user can select a value from the list of options and filter while typing.
10378
10266
  *
10267
+ * If options will be set at a later time, initially specify as an empty array.
10268
+ *
10379
10269
  * If a formatter is used by the component, make sure the options are formatted as well.
10380
10270
  */
10381
10271
  options: {
@@ -10392,7 +10282,7 @@ const _sfc_main$G = defineComponent({
10392
10282
  default: false
10393
10283
  }
10394
10284
  },
10395
- emits: ["blur", "change", "update", "update:modelValue"],
10285
+ emits: ["blur", "change", "update:modelValue"],
10396
10286
  setup(props) {
10397
10287
  const {
10398
10288
  textFieldTableMode,
@@ -10501,7 +10391,6 @@ const _sfc_main$G = defineComponent({
10501
10391
  async onChange() {
10502
10392
  if (!this.$refs.input.hasAttribute("data-validation")) {
10503
10393
  this.$emit("update:modelValue", this.viewValue);
10504
- this.$emit("update", this.viewValue);
10505
10394
  await this.$nextTick();
10506
10395
  this.$emit("change", this.viewValue);
10507
10396
  }
@@ -10516,7 +10405,6 @@ const _sfc_main$G = defineComponent({
10516
10405
  }
10517
10406
  if (!this.$refs.input.hasAttribute("data-validation")) {
10518
10407
  this.$emit("update:modelValue", this.viewValue);
10519
- this.$emit("update", this.viewValue);
10520
10408
  await this.$nextTick();
10521
10409
  this.$emit("blur", this.viewValue);
10522
10410
  }
@@ -10535,7 +10423,6 @@ const _sfc_main$G = defineComponent({
10535
10423
  }
10536
10424
  this.lastModelValue = newModelValue;
10537
10425
  this.$emit("update:modelValue", newModelValue);
10538
- this.$emit("update", newModelValue);
10539
10426
  await this.$nextTick();
10540
10427
  this.$emit(detail.nativeEvent, newModelValue);
10541
10428
  if (detail.isValid) {
@@ -10607,14 +10494,14 @@ const _sfc_main$G = defineComponent({
10607
10494
  }
10608
10495
  }
10609
10496
  });
10610
- const _hoisted_1$u = {
10497
+ const _hoisted_1$s = {
10611
10498
  key: 0
10612
10499
  };
10613
- const _hoisted_2$o = {
10500
+ const _hoisted_2$m = {
10614
10501
  key: 0,
10615
10502
  class: "sr-only"
10616
10503
  };
10617
- const _hoisted_3$j = {
10504
+ const _hoisted_3$i = {
10618
10505
  key: 0,
10619
10506
  class: "sr-only"
10620
10507
  };
@@ -10626,11 +10513,11 @@ const _hoisted_6$a = {
10626
10513
  key: 2,
10627
10514
  class: "text-field__append-inner"
10628
10515
  };
10629
- const _hoisted_7$a = {
10516
+ const _hoisted_7$9 = {
10630
10517
  key: 3,
10631
10518
  class: "text-field__append-inner"
10632
10519
  };
10633
- function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
10520
+ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
10634
10521
  const _component_f_label = resolveComponent("f-label");
10635
10522
  const _component_f_icon = resolveComponent("f-icon");
10636
10523
  const _component_i_popup_error = resolveComponent("i-popup-error");
@@ -10644,20 +10531,20 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
10644
10531
  for: _ctx.id,
10645
10532
  class: normalizeClass(_ctx.labelClass)
10646
10533
  }, createSlots({
10647
- default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [_ctx.defaultText !== "" ? (openBlock(), createElementBlock("span", _hoisted_1$u, toDisplayString(_ctx.defaultText), 1)) : createCommentVNode("", true)])]),
10534
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [_ctx.defaultText !== "" ? (openBlock(), createElementBlock("span", _hoisted_1$s, toDisplayString(_ctx.defaultText), 1)) : createCommentVNode("", true)])]),
10648
10535
  description: withCtx(({
10649
10536
  descriptionClass,
10650
- discreteDescriptionClass
10651
- }) => [renderSlot(_ctx.$slots, "description", normalizeProps(guardReactiveProps({
10537
+ formatDescriptionClass
10538
+ }) => [renderSlot(_ctx.$slots, "description", {
10652
10539
  descriptionClass,
10653
- discreteDescriptionClass
10654
- })), () => [_ctx.descriptionText ? (openBlock(), createElementBlock("span", {
10540
+ formatDescriptionClass
10541
+ }, () => [_ctx.descriptionText ? (openBlock(), createElementBlock("span", {
10655
10542
  key: 0,
10656
10543
  class: normalizeClass(descriptionClass)
10657
- }, [_ctx.descriptionScreenReaderText ? (openBlock(), createElementBlock("span", _hoisted_2$o, toDisplayString(_ctx.descriptionScreenReaderText), 1)) : createCommentVNode("", true), _cache[7] || (_cache[7] = createTextVNode()), createElementVNode("span", null, toDisplayString(_ctx.descriptionText), 1)], 2)) : createCommentVNode("", true), _cache[9] || (_cache[9] = createTextVNode()), _ctx.discreteDescriptionText ? (openBlock(), createElementBlock("span", {
10544
+ }, [_ctx.descriptionScreenReaderText ? (openBlock(), createElementBlock("span", _hoisted_2$m, toDisplayString(_ctx.descriptionScreenReaderText), 1)) : createCommentVNode("", true), _cache[7] || (_cache[7] = createTextVNode()), createElementVNode("span", null, toDisplayString(_ctx.descriptionText), 1)], 2)) : createCommentVNode("", true), _cache[9] || (_cache[9] = createTextVNode()), _ctx.discreteDescriptionText ? (openBlock(), createElementBlock("span", {
10658
10545
  key: 1,
10659
- class: normalizeClass(discreteDescriptionClass)
10660
- }, [_ctx.discreteDescriptionScreenReaderText ? (openBlock(), createElementBlock("span", _hoisted_3$j, toDisplayString(_ctx.discreteDescriptionScreenReaderText), 1)) : createCommentVNode("", true), _cache[8] || (_cache[8] = createTextVNode()), createElementVNode("span", null, toDisplayString(_ctx.discreteDescriptionText), 1)], 2)) : createCommentVNode("", true)])]),
10546
+ class: normalizeClass(formatDescriptionClass)
10547
+ }, [_ctx.discreteDescriptionScreenReaderText ? (openBlock(), createElementBlock("span", _hoisted_3$i, toDisplayString(_ctx.discreteDescriptionScreenReaderText), 1)) : createCommentVNode("", true), _cache[8] || (_cache[8] = createTextVNode()), createElementVNode("span", null, toDisplayString(_ctx.discreteDescriptionText), 1)], 2)) : createCommentVNode("", true)])]),
10661
10548
  "error-message": withCtx(() => [renderSlot(_ctx.$slots, "error-message", normalizeProps(guardReactiveProps({
10662
10549
  hasError: _ctx.hasError,
10663
10550
  validationMessage: _ctx.validationMessage
@@ -10696,7 +10583,7 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
10696
10583
  "is-open": _ctx.showPopupError,
10697
10584
  "error-message": _ctx.validationMessage,
10698
10585
  onClose: _ctx.closePopupError
10699
- }, null, 8, ["anchor", "is-open", "error-message", "onClose"])) : createCommentVNode("", true), _cache[15] || (_cache[15] = createTextVNode()), _ctx.$slots["append-inner"] ? (openBlock(), createElementBlock("div", _hoisted_6$a, [renderSlot(_ctx.$slots, "append-inner")])) : createCommentVNode("", true), _cache[16] || (_cache[16] = createTextVNode()), _ctx.options ? (openBlock(), createElementBlock("div", _hoisted_7$a, [createVNode(_component_i_combobox_toggle_button, {
10586
+ }, null, 8, ["anchor", "is-open", "error-message", "onClose"])) : createCommentVNode("", true), _cache[15] || (_cache[15] = createTextVNode()), _ctx.$slots["append-inner"] ? (openBlock(), createElementBlock("div", _hoisted_6$a, [renderSlot(_ctx.$slots, "append-inner")])) : createCommentVNode("", true), _cache[16] || (_cache[16] = createTextVNode()), _ctx.options ? (openBlock(), createElementBlock("div", _hoisted_7$9, [createVNode(_component_i_combobox_toggle_button, {
10700
10587
  disabled: _ctx.disabled,
10701
10588
  "aria-controls": _ctx.dropdownIsOpen ? _ctx.dropdownId : void 0,
10702
10589
  "aria-expanded": _ctx.dropdownIsOpen,
@@ -10713,8 +10600,8 @@ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
10713
10600
  onClose: _ctx.onDropdownClose
10714
10601
  }, null, 8, ["id", "is-open", "options", "active-option", "active-option-id", "input-node", "onSelect", "onClose"])) : createCommentVNode("", true)], 2);
10715
10602
  }
10716
- const FTextField = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["render", _sfc_render$w]]);
10717
- const _sfc_main$F = defineComponent({
10603
+ const FTextField = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["render", _sfc_render$r]]);
10604
+ const _sfc_main$C = defineComponent({
10718
10605
  name: "FEmailTextField",
10719
10606
  components: {
10720
10607
  FTextField
@@ -10760,7 +10647,7 @@ const _sfc_main$F = defineComponent({
10760
10647
  default: TranslationService.provider.translate("fkui.email-text-field.error.pasting", "Du kan inte kopiera mejladressen. Du måste skriva in den igen.")
10761
10648
  }
10762
10649
  },
10763
- emits: ["blur", "change", "update", "update:modelValue"],
10650
+ emits: ["blur", "change", "update:modelValue"],
10764
10651
  data() {
10765
10652
  return {
10766
10653
  validityMode: "INITIAL",
@@ -10781,7 +10668,6 @@ const _sfc_main$F = defineComponent({
10781
10668
  },
10782
10669
  onUpdate(event) {
10783
10670
  this.$emit("update:modelValue", event);
10784
- this.$emit("update", event);
10785
10671
  },
10786
10672
  onPaste(event) {
10787
10673
  this.showPasteErrorMessage = true;
@@ -10831,10 +10717,10 @@ const _sfc_main$F = defineComponent({
10831
10717
  }
10832
10718
  }
10833
10719
  });
10834
- const _hoisted_1$t = {
10720
+ const _hoisted_1$r = {
10835
10721
  key: 0
10836
10722
  };
10837
- function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
10723
+ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
10838
10724
  const _component_f_text_field = resolveComponent("f-text-field");
10839
10725
  return openBlock(), createElementBlock("div", null, [createVNode(_component_f_text_field, mergeProps({
10840
10726
  id: _ctx.id,
@@ -10844,14 +10730,14 @@ function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
10844
10730
  "model-value": _ctx.modelValue,
10845
10731
  onChange: _ctx.onChange,
10846
10732
  onBlur: _ctx.onBlur,
10847
- onUpdate: _ctx.onUpdate,
10733
+ "onUpdate:modelValue": _ctx.onUpdate,
10848
10734
  onValidity: _ctx.onValidity,
10849
10735
  onPendingValidity: _ctx.onPendingValidity
10850
10736
  }), {
10851
- "error-message": withCtx(() => [_ctx.showPasteErrorMessage ? (openBlock(), createElementBlock("span", _hoisted_1$t, toDisplayString(_ctx.pasteErrorText), 1)) : createCommentVNode("", true)]),
10737
+ "error-message": withCtx(() => [_ctx.showPasteErrorMessage ? (openBlock(), createElementBlock("span", _hoisted_1$r, toDisplayString(_ctx.pasteErrorText), 1)) : createCommentVNode("", true)]),
10852
10738
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.defaultText), 1)]), _cache[2] || (_cache[2] = createTextVNode())]),
10853
10739
  _: 3
10854
- }, 16, ["id", "maxlength", "model-value", "onChange", "onBlur", "onUpdate", "onValidity", "onPendingValidity"]), _cache[3] || (_cache[3] = createTextVNode()), _ctx.extendedValidation ? (openBlock(), createBlock(_component_f_text_field, {
10740
+ }, 16, ["id", "maxlength", "model-value", "onChange", "onBlur", "onUpdate:modelValue", "onValidity", "onPendingValidity"]), _cache[3] || (_cache[3] = createTextVNode()), _ctx.extendedValidation ? (openBlock(), createBlock(_component_f_text_field, {
10855
10741
  key: 0,
10856
10742
  modelValue: _ctx.secondEmail,
10857
10743
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.secondEmail = $event),
@@ -10864,8 +10750,8 @@ function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
10864
10750
  _: 3
10865
10751
  }, 8, ["modelValue", "maxlength", "onPaste"])) : createCommentVNode("", true)]);
10866
10752
  }
10867
- const FEmailTextField = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["render", _sfc_render$v]]);
10868
- const _sfc_main$E = defineComponent({
10753
+ const FEmailTextField = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["render", _sfc_render$q]]);
10754
+ const _sfc_main$B = defineComponent({
10869
10755
  name: "FPhoneTextField",
10870
10756
  components: {
10871
10757
  FTextField
@@ -10902,7 +10788,7 @@ const _sfc_main$E = defineComponent({
10902
10788
  default: false
10903
10789
  }
10904
10790
  },
10905
- emits: ["blur", "change", "update", "update:modelValue"],
10791
+ emits: ["blur", "change", "update:modelValue"],
10906
10792
  data() {
10907
10793
  return {
10908
10794
  validityMode: "INITIAL",
@@ -10922,7 +10808,6 @@ const _sfc_main$E = defineComponent({
10922
10808
  },
10923
10809
  onUpdate(event) {
10924
10810
  this.$emit("update:modelValue", event);
10925
- this.$emit("update", event);
10926
10811
  },
10927
10812
  onValidity({
10928
10813
  detail
@@ -10966,7 +10851,7 @@ const _sfc_main$E = defineComponent({
10966
10851
  }
10967
10852
  }
10968
10853
  });
10969
- function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
10854
+ function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
10970
10855
  const _component_f_text_field = resolveComponent("f-text-field");
10971
10856
  return openBlock(), createElementBlock("div", null, [createVNode(_component_f_text_field, mergeProps({
10972
10857
  id: _ctx.id,
@@ -10976,13 +10861,13 @@ function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
10976
10861
  "model-value": _ctx.modelValue,
10977
10862
  onChange: _ctx.onChange,
10978
10863
  onBlur: _ctx.onBlur,
10979
- onUpdate: _ctx.onUpdate,
10864
+ "onUpdate:modelValue": _ctx.onUpdate,
10980
10865
  onValidity: _ctx.onValidity,
10981
10866
  onPendingValidity: _ctx.onPendingValidity
10982
10867
  }), {
10983
10868
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.defaultText), 1)])]),
10984
10869
  _: 3
10985
- }, 16, ["id", "maxlength", "model-value", "onChange", "onBlur", "onUpdate", "onValidity", "onPendingValidity"]), _cache[1] || (_cache[1] = createTextVNode()), _ctx.extendedValidation ? (openBlock(), createBlock(_component_f_text_field, {
10870
+ }, 16, ["id", "maxlength", "model-value", "onChange", "onBlur", "onUpdate:modelValue", "onValidity", "onPendingValidity"]), _cache[1] || (_cache[1] = createTextVNode()), _ctx.extendedValidation ? (openBlock(), createBlock(_component_f_text_field, {
10986
10871
  key: 0,
10987
10872
  modelValue: _ctx.secondPhone,
10988
10873
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.secondPhone = $event),
@@ -10993,8 +10878,8 @@ function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
10993
10878
  _: 3
10994
10879
  }, 8, ["modelValue", "maxlength"])) : createCommentVNode("", true)]);
10995
10880
  }
10996
- const FPhoneTextField = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["render", _sfc_render$u]]);
10997
- const _sfc_main$D = defineComponent({
10881
+ const FPhoneTextField = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["render", _sfc_render$p]]);
10882
+ const _sfc_main$A = defineComponent({
10998
10883
  name: "FCurrencyTextField",
10999
10884
  extends: FTextField,
11000
10885
  mixins: [TranslationMixin],
@@ -11029,7 +10914,7 @@ const _sfc_main$D = defineComponent({
11029
10914
  ValidationService.validateElement(inputElement);
11030
10915
  }
11031
10916
  });
11032
- const _sfc_main$C = defineComponent({
10917
+ const _sfc_main$z = defineComponent({
11033
10918
  name: "FSearchTextField",
11034
10919
  components: {
11035
10920
  FTextField,
@@ -11089,10 +10974,10 @@ const _sfc_main$C = defineComponent({
11089
10974
  }
11090
10975
  }
11091
10976
  });
11092
- const _hoisted_1$s = {
10977
+ const _hoisted_1$q = {
11093
10978
  class: "sr-only"
11094
10979
  };
11095
- function _sfc_render$t(_ctx, _cache, $props, $setup, $data, $options) {
10980
+ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
11096
10981
  const _component_f_icon = resolveComponent("f-icon");
11097
10982
  const _component_f_text_field = resolveComponent("f-text-field");
11098
10983
  return openBlock(), createElementBlock("div", null, [createVNode(_component_f_text_field, mergeProps({
@@ -11118,11 +11003,11 @@ function _sfc_render$t(_ctx, _cache, $props, $setup, $data, $options) {
11118
11003
  })))]),
11119
11004
  description: withCtx(({
11120
11005
  descriptionClass,
11121
- discreteDescriptionClass
11122
- }) => [renderSlot(_ctx.$slots, "description", normalizeProps(guardReactiveProps({
11006
+ formatDescriptionClass
11007
+ }) => [renderSlot(_ctx.$slots, "description", {
11123
11008
  descriptionClass,
11124
- discreteDescriptionClass
11125
- })))]),
11009
+ formatDescriptionClass
11010
+ })]),
11126
11011
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.defaultText), 1)]), _cache[2] || (_cache[2] = createTextVNode()), _cache[3] || (_cache[3] = createTextVNode()), _cache[4] || (_cache[4] = createTextVNode()), _cache[5] || (_cache[5] = createTextVNode()), _cache[6] || (_cache[6] = createTextVNode()), _cache[7] || (_cache[7] = createTextVNode())]),
11127
11012
  _: 2
11128
11013
  }, [_ctx.$slots.tooltip ? {
@@ -11138,12 +11023,12 @@ function _sfc_render$t(_ctx, _cache, $props, $setup, $data, $options) {
11138
11023
  }, [createVNode(_component_f_icon, {
11139
11024
  name: "cross",
11140
11025
  class: "clear-button__icon"
11141
- }), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("span", _hoisted_1$s, toDisplayString(_ctx.clearableScreenReaderText), 1)])]),
11026
+ }), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("span", _hoisted_1$q, toDisplayString(_ctx.clearableScreenReaderText), 1)])]),
11142
11027
  key: "1"
11143
11028
  } : void 0]), 1040, ["id", "maxlength", "model-value", "onChange", "onInput", "onBlur", "onUpdate"])]);
11144
11029
  }
11145
- const FSearchTextField = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["render", _sfc_render$t]]);
11146
- const _sfc_main$B = defineComponent({
11030
+ const FSearchTextField = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["render", _sfc_render$o]]);
11031
+ const _sfc_main$y = defineComponent({
11147
11032
  name: "FBankAccountNumberTextField",
11148
11033
  extends: FTextField,
11149
11034
  mixins: [TranslationMixin],
@@ -11172,7 +11057,7 @@ const _sfc_main$B = defineComponent({
11172
11057
  ValidationService.validateElement(inputElement);
11173
11058
  }
11174
11059
  });
11175
- const _sfc_main$A = defineComponent({
11060
+ const _sfc_main$x = defineComponent({
11176
11061
  name: "FBankgiroTextField",
11177
11062
  extends: FTextField,
11178
11063
  mixins: [TranslationMixin],
@@ -11204,7 +11089,7 @@ const _sfc_main$A = defineComponent({
11204
11089
  ValidationService.validateElement(inputElement);
11205
11090
  }
11206
11091
  });
11207
- const _sfc_main$z = defineComponent({
11092
+ const _sfc_main$w = defineComponent({
11208
11093
  name: "FClearingnumberTextField",
11209
11094
  extends: FTextField,
11210
11095
  mixins: [TranslationMixin],
@@ -11236,7 +11121,7 @@ const _sfc_main$z = defineComponent({
11236
11121
  function defaultFormatter$1(modelValue) {
11237
11122
  return formatNumber(modelValue, this.decimals);
11238
11123
  }
11239
- const _sfc_main$y = defineComponent({
11124
+ const _sfc_main$v = defineComponent({
11240
11125
  name: "FNumericTextField",
11241
11126
  extends: FTextField,
11242
11127
  props: {
@@ -11273,7 +11158,7 @@ const _sfc_main$y = defineComponent({
11273
11158
  ValidationService.validateElement(inputElement);
11274
11159
  }
11275
11160
  });
11276
- const _sfc_main$x = defineComponent({
11161
+ const _sfc_main$u = defineComponent({
11277
11162
  name: "FPersonnummerTextField",
11278
11163
  extends: FTextField,
11279
11164
  mixins: [TranslationMixin],
@@ -11313,7 +11198,7 @@ const _sfc_main$x = defineComponent({
11313
11198
  ValidationService.validateElement(inputElement);
11314
11199
  }
11315
11200
  });
11316
- const _sfc_main$w = defineComponent({
11201
+ const _sfc_main$t = defineComponent({
11317
11202
  name: "FPlusgiroTextField",
11318
11203
  extends: FTextField,
11319
11204
  mixins: [TranslationMixin],
@@ -11345,7 +11230,7 @@ const _sfc_main$w = defineComponent({
11345
11230
  ValidationService.validateElement(inputElement);
11346
11231
  }
11347
11232
  });
11348
- const _sfc_main$v = defineComponent({
11233
+ const _sfc_main$s = defineComponent({
11349
11234
  name: "FPostalCodeTextField",
11350
11235
  extends: FTextField,
11351
11236
  mixins: [TranslationMixin],
@@ -11382,7 +11267,7 @@ const _sfc_main$v = defineComponent({
11382
11267
  function defaultFormatter(modelValue) {
11383
11268
  return formatPercent(modelValue, this.decimals);
11384
11269
  }
11385
- const _sfc_main$u = defineComponent({
11270
+ const _sfc_main$r = defineComponent({
11386
11271
  name: "FPercentTextField",
11387
11272
  extends: FTextField,
11388
11273
  mixins: [TranslationMixin],
@@ -11430,7 +11315,7 @@ const _sfc_main$u = defineComponent({
11430
11315
  ValidationService.validateElement(inputElement);
11431
11316
  }
11432
11317
  });
11433
- const _sfc_main$t = defineComponent({
11318
+ const _sfc_main$q = defineComponent({
11434
11319
  name: "FOrganisationsnummerTextField",
11435
11320
  extends: FTextField,
11436
11321
  mixins: [TranslationMixin],
@@ -11538,7 +11423,7 @@ function filter(list, filterAttributes, searchString) {
11538
11423
  const searchTerms = searchString.split(/\s+/).map((word) => word.toLocaleLowerCase());
11539
11424
  return list.filter((item) => includesAllSearchTerms(item, filterAttributes, searchTerms));
11540
11425
  }
11541
- const _sfc_main$s = defineComponent({
11426
+ const _sfc_main$p = defineComponent({
11542
11427
  name: "FSortFilterDataset",
11543
11428
  components: {
11544
11429
  FSelectField,
@@ -11740,13 +11625,13 @@ const _sfc_main$s = defineComponent({
11740
11625
  }
11741
11626
  }
11742
11627
  });
11743
- const _hoisted_1$r = {
11628
+ const _hoisted_1$p = {
11744
11629
  class: "sort-filter-dataset"
11745
11630
  };
11746
- const _hoisted_2$n = {
11631
+ const _hoisted_2$l = {
11747
11632
  class: "sort-filter-dataset__search"
11748
11633
  };
11749
- const _hoisted_3$i = {
11634
+ const _hoisted_3$h = {
11750
11635
  class: "sr-only"
11751
11636
  };
11752
11637
  const _hoisted_4$e = ["title"];
@@ -11759,14 +11644,14 @@ const _hoisted_6$9 = {
11759
11644
  ascending: false
11760
11645
  }
11761
11646
  };
11762
- const _hoisted_7$9 = ["value"];
11763
- function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {
11647
+ const _hoisted_7$8 = ["value"];
11648
+ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
11764
11649
  const _component_i_flex_item = resolveComponent("i-flex-item");
11765
11650
  const _component_f_icon = resolveComponent("f-icon");
11766
11651
  const _component_f_text_field = resolveComponent("f-text-field");
11767
11652
  const _component_f_select_field = resolveComponent("f-select-field");
11768
11653
  const _component_i_flex = resolveComponent("i-flex");
11769
- return openBlock(), createElementBlock("div", _hoisted_1$r, [createVNode(_component_i_flex, {
11654
+ return openBlock(), createElementBlock("div", _hoisted_1$p, [createVNode(_component_i_flex, {
11770
11655
  collapse: "",
11771
11656
  gap: "3x",
11772
11657
  wrap: ""
@@ -11791,7 +11676,7 @@ function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {
11791
11676
  shrink: "",
11792
11677
  align: "center"
11793
11678
  }, {
11794
- default: withCtx(() => [createElementVNode("div", _hoisted_2$n, [createVNode(_component_f_icon, {
11679
+ default: withCtx(() => [createElementVNode("div", _hoisted_2$l, [createVNode(_component_f_icon, {
11795
11680
  name: "search",
11796
11681
  class: "sort-filter-dataset__search__magnify-icon"
11797
11682
  }), _cache[4] || (_cache[4] = createTextVNode()), createVNode(_component_f_text_field, {
@@ -11802,7 +11687,7 @@ function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {
11802
11687
  maxlength: "64",
11803
11688
  onInput: _ctx.onSearchInput
11804
11689
  }, {
11805
- default: withCtx(() => [createElementVNode("span", _hoisted_3$i, toDisplayString(_ctx.placeholderFilter), 1)]),
11690
+ default: withCtx(() => [createElementVNode("span", _hoisted_3$h, toDisplayString(_ctx.placeholderFilter), 1)]),
11806
11691
  _: 1
11807
11692
  }, 8, ["modelValue", "placeholder", "onInput"]), _cache[5] || (_cache[5] = createTextVNode()), _ctx.showClearButton ? (openBlock(), createElementBlock("button", {
11808
11693
  key: 0,
@@ -11831,7 +11716,7 @@ function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {
11831
11716
  return openBlock(), createElementBlock("option", {
11832
11717
  key: sortOrder.id,
11833
11718
  value: sortOrder
11834
- }, toDisplayString(sortOrder.name) + " (" + toDisplayString(sortOrder.ascendingName) + ")\n ", 9, _hoisted_7$9);
11719
+ }, toDisplayString(sortOrder.name) + " (" + toDisplayString(sortOrder.ascendingName) + ")\n ", 9, _hoisted_7$8);
11835
11720
  }), 128))]),
11836
11721
  _: 1
11837
11722
  }, 8, ["modelValue", "onChange"])]),
@@ -11846,8 +11731,8 @@ function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {
11846
11731
  sortFilterResult: _ctx.sortFilterResult
11847
11732
  })))]);
11848
11733
  }
11849
- const FSortFilterDataset = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["render", _sfc_render$s]]);
11850
- const _sfc_main$r = defineComponent({
11734
+ const FSortFilterDataset = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render$n]]);
11735
+ const _sfc_main$o = defineComponent({
11851
11736
  name: "FDataTable",
11852
11737
  components: {
11853
11738
  FIcon
@@ -11992,11 +11877,11 @@ const _sfc_main$r = defineComponent({
11992
11877
  }
11993
11878
  }
11994
11879
  });
11995
- const _hoisted_1$q = ["tabindex"];
11996
- const _hoisted_2$m = {
11880
+ const _hoisted_1$o = ["tabindex"];
11881
+ const _hoisted_2$k = {
11997
11882
  key: 0
11998
11883
  };
11999
- const _hoisted_3$h = {
11884
+ const _hoisted_3$g = {
12000
11885
  class: "table__row"
12001
11886
  };
12002
11887
  const _hoisted_4$d = ["innerHTML"];
@@ -12007,23 +11892,23 @@ const _hoisted_5$a = {
12007
11892
  const _hoisted_6$8 = {
12008
11893
  key: 0
12009
11894
  };
12010
- const _hoisted_7$8 = {
11895
+ const _hoisted_7$7 = {
12011
11896
  key: 1
12012
11897
  };
12013
- const _hoisted_8$6 = ["colspan"];
12014
- function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
11898
+ const _hoisted_8$5 = ["colspan"];
11899
+ function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
12015
11900
  const _component_f_icon = resolveComponent("f-icon");
12016
11901
  return openBlock(), createElementBlock("div", {
12017
11902
  class: normalizeClass(_ctx.wrapperClasses)
12018
11903
  }, [createElementVNode("table", mergeProps({
12019
11904
  class: ["table", _ctx.tableClasses],
12020
11905
  tabindex: _ctx.tabindex
12021
- }, _ctx.$attrs), [_ctx.hasCaption ? (openBlock(), createElementBlock("caption", _hoisted_2$m, [renderSlot(_ctx.$slots, "caption")])) : createCommentVNode("", true), _cache[4] || (_cache[4] = createTextVNode()), createElementVNode("colgroup", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.columns, (column) => {
11906
+ }, _ctx.$attrs), [_ctx.hasCaption ? (openBlock(), createElementBlock("caption", _hoisted_2$k, [renderSlot(_ctx.$slots, "caption")])) : createCommentVNode("", true), _cache[4] || (_cache[4] = createTextVNode()), createElementVNode("colgroup", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.columns, (column) => {
12022
11907
  return openBlock(), createElementBlock("col", {
12023
11908
  key: column.id,
12024
11909
  class: normalizeClass(column.size)
12025
11910
  }, null, 2);
12026
- }), 128))]), _cache[5] || (_cache[5] = createTextVNode()), createElementVNode("thead", null, [createElementVNode("tr", _hoisted_3$h, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.visibleColumns, (column) => {
11911
+ }), 128))]), _cache[5] || (_cache[5] = createTextVNode()), createElementVNode("thead", null, [createElementVNode("tr", _hoisted_3$g, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.visibleColumns, (column) => {
12027
11912
  return openBlock(), createElementBlock("th", mergeProps({
12028
11913
  key: column.id,
12029
11914
  scope: "col",
@@ -12039,10 +11924,10 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
12039
11924
  }, null, 8, ["class", "name"])) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), column.description ? (openBlock(), createElementBlock("span", _hoisted_5$a, toDisplayString(column.description), 1)) : createCommentVNode("", true)], 16);
12040
11925
  }), 128))])]), _cache[6] || (_cache[6] = createTextVNode()), createElementVNode("tbody", null, [_ctx.isEmpty && _ctx.columns.length === 0 ? (openBlock(), createElementBlock("tr", _hoisted_6$8, [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({
12041
11926
  row: {}
12042
- })))])) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), _ctx.isEmpty ? (openBlock(), createElementBlock("tr", _hoisted_7$8, [createElementVNode("td", {
11927
+ })))])) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), _ctx.isEmpty ? (openBlock(), createElementBlock("tr", _hoisted_7$7, [createElementVNode("td", {
12043
11928
  class: "table__column table__column--action",
12044
11929
  colspan: _ctx.columns.length
12045
- }, [renderSlot(_ctx.$slots, "empty", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.data-table.empty", "Tabellen är tom")), 1)])], 8, _hoisted_8$6)])) : createCommentVNode("", true), _cache[3] || (_cache[3] = createTextVNode()), (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.rows, (row) => {
11930
+ }, [renderSlot(_ctx.$slots, "empty", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.data-table.empty", "Tabellen är tom")), 1)])], 8, _hoisted_8$5)])) : createCommentVNode("", true), _cache[3] || (_cache[3] = createTextVNode()), (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.rows, (row) => {
12046
11931
  return openBlock(), createElementBlock("tr", {
12047
11932
  key: _ctx.rowKey(row),
12048
11933
  class: "table__row"
@@ -12051,9 +11936,9 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
12051
11936
  }, {
12052
11937
  row
12053
11938
  }))]);
12054
- }), 128))])], 16, _hoisted_1$q)], 2);
11939
+ }), 128))])], 16, _hoisted_1$o)], 2);
12055
11940
  }
12056
- const FDataTable = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["render", _sfc_render$r]]);
11941
+ const FDataTable = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$m]]);
12057
11942
  function isDayEnabled(day, config2) {
12058
11943
  return passesMinDate(day, config2.minDate) && passesMaxDate(day, config2.maxDate) && passesInvalidDates(day, config2.invalidDates) && passesInvalidWeekdays(day, config2.invalidWeekdays);
12059
11944
  }
@@ -12129,7 +12014,7 @@ function getDisplayMonth(minDate, maxDate, selectedDate, initialMonth) {
12129
12014
  }
12130
12015
  return month || FDate.now().startOfMonth();
12131
12016
  }
12132
- const _sfc_main$q = defineComponent({
12017
+ const _sfc_main$n = defineComponent({
12133
12018
  name: "FDatepickerField",
12134
12019
  components: {
12135
12020
  FCalendar,
@@ -12387,24 +12272,24 @@ const _sfc_main$q = defineComponent({
12387
12272
  }
12388
12273
  }
12389
12274
  });
12390
- const _hoisted_1$p = {
12275
+ const _hoisted_1$n = {
12391
12276
  ref: "component",
12392
12277
  class: "datepicker-field"
12393
12278
  };
12394
- const _hoisted_2$l = ["disabled", "aria-expanded"];
12395
- const _hoisted_3$g = {
12279
+ const _hoisted_2$j = ["disabled", "aria-expanded"];
12280
+ const _hoisted_3$f = {
12396
12281
  class: "sr-only"
12397
12282
  };
12398
12283
  const _hoisted_4$c = {
12399
12284
  class: "datepicker-field__close"
12400
12285
  };
12401
- function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
12286
+ function _sfc_render$l(_ctx, _cache, $props, $setup, $data, $options) {
12402
12287
  const _component_f_icon = resolveComponent("f-icon");
12403
12288
  const _component_f_text_field = resolveComponent("f-text-field");
12404
12289
  const _component_f_calendar_day = resolveComponent("f-calendar-day");
12405
12290
  const _component_f_calendar = resolveComponent("f-calendar");
12406
12291
  const _component_i_popup = resolveComponent("i-popup");
12407
- return openBlock(), createElementBlock("div", _hoisted_1$p, [createElementVNode("div", {
12292
+ return openBlock(), createElementBlock("div", _hoisted_1$n, [createElementVNode("div", {
12408
12293
  ref: "calendarInputs",
12409
12294
  onFocusout: _cache[2] || (_cache[2] = (...args) => _ctx.onFocusoutTextFieldButton && _ctx.onFocusoutTextFieldButton(...args))
12410
12295
  }, [createVNode(_component_f_text_field, mergeProps(_ctx.$attrs, {
@@ -12421,11 +12306,11 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
12421
12306
  }), createSlots({
12422
12307
  description: withCtx(({
12423
12308
  descriptionClass,
12424
- discreteDescriptionClass
12425
- }) => [renderSlot(_ctx.$slots, "description", normalizeProps(guardReactiveProps({
12309
+ formatDescriptionClass
12310
+ }) => [renderSlot(_ctx.$slots, "description", {
12426
12311
  descriptionClass,
12427
- discreteDescriptionClass
12428
- })))]),
12312
+ formatDescriptionClass
12313
+ })]),
12429
12314
  "error-message": withCtx(({
12430
12315
  hasError,
12431
12316
  validationMessage
@@ -12443,7 +12328,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
12443
12328
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.onClickCalendarButton())
12444
12329
  }, [createVNode(_component_f_icon, {
12445
12330
  name: "calendar"
12446
- }), _cache[6] || (_cache[6] = createTextVNode()), createElementVNode("span", _hoisted_3$g, toDisplayString(_ctx.calendarButtonText), 1)], 8, _hoisted_2$l)]),
12331
+ }), _cache[6] || (_cache[6] = createTextVNode()), createElementVNode("span", _hoisted_3$f, toDisplayString(_ctx.calendarButtonText), 1)], 8, _hoisted_2$j)]),
12447
12332
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.datepicker-field.label", "Datum")), 1)]), _cache[7] || (_cache[7] = createTextVNode()), _cache[8] || (_cache[8] = createTextVNode()), _cache[9] || (_cache[9] = createTextVNode()), _cache[10] || (_cache[10] = createTextVNode())]),
12448
12333
  _: 2
12449
12334
  }, [_ctx.$slots.tooltip ? {
@@ -12494,11 +12379,11 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
12494
12379
  _: 1
12495
12380
  }, 8, ["is-open", "anchor", "inline", "onOpen", "onClose"])], 512);
12496
12381
  }
12497
- const FDatepickerField = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["render", _sfc_render$q]]);
12382
+ const FDatepickerField = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$l]]);
12498
12383
  function isDialogueTreeEndQuestion(value) {
12499
12384
  return Boolean(value.userData);
12500
12385
  }
12501
- const _sfc_main$p = defineComponent({
12386
+ const _sfc_main$m = defineComponent({
12502
12387
  name: "FDialogueTree",
12503
12388
  components: {
12504
12389
  FIcon
@@ -12520,7 +12405,7 @@ const _sfc_main$p = defineComponent({
12520
12405
  required: true
12521
12406
  }
12522
12407
  },
12523
- emits: ["change", "update:modelValue"],
12408
+ emits: ["update:modelValue"],
12524
12409
  data() {
12525
12410
  return {
12526
12411
  currentStep: this.dialogueTree,
@@ -12573,21 +12458,20 @@ const _sfc_main$p = defineComponent({
12573
12458
  steps: this.steps
12574
12459
  };
12575
12460
  this.$emit("update:modelValue", emit);
12576
- this.$emit("change", emit);
12577
12461
  }
12578
12462
  }
12579
12463
  });
12580
- const _hoisted_1$o = {
12464
+ const _hoisted_1$m = {
12581
12465
  class: "dialogue-tree"
12582
12466
  };
12583
- const _hoisted_2$k = {
12467
+ const _hoisted_2$i = {
12584
12468
  key: 0,
12585
12469
  class: "dialogue-tree__list"
12586
12470
  };
12587
- const _hoisted_3$f = ["onClick"];
12588
- function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
12471
+ const _hoisted_3$e = ["onClick"];
12472
+ function _sfc_render$k(_ctx, _cache, $props, $setup, $data, $options) {
12589
12473
  const _component_f_icon = resolveComponent("f-icon");
12590
- return openBlock(), createElementBlock("div", _hoisted_1$o, [_ctx.options.length > 0 ? (openBlock(), createElementBlock("ul", _hoisted_2$k, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.options, (option, index) => {
12474
+ return openBlock(), createElementBlock("div", _hoisted_1$m, [_ctx.options.length > 0 ? (openBlock(), createElementBlock("ul", _hoisted_2$i, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.options, (option, index) => {
12591
12475
  return openBlock(), createElementBlock("li", {
12592
12476
  key: option.label,
12593
12477
  class: "dialogue-tree__list-item"
@@ -12598,15 +12482,15 @@ function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
12598
12482
  onClick: ($event) => _ctx.onClickedOption(option, index)
12599
12483
  }, [createElementVNode("span", null, toDisplayString(option.label), 1), _cache[0] || (_cache[0] = createTextVNode()), createVNode(_component_f_icon, {
12600
12484
  name: "arrow-right"
12601
- })], 8, _hoisted_3$f)]);
12485
+ })], 8, _hoisted_3$e)]);
12602
12486
  }), 128))])) : renderSlot(_ctx.$slots, "default", normalizeProps(mergeProps({
12603
12487
  key: 1
12604
12488
  }, {
12605
12489
  userData: _ctx.userData
12606
12490
  })))]);
12607
12491
  }
12608
- const FDialogueTree = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render$p]]);
12609
- const _sfc_main$o = defineComponent({
12492
+ const FDialogueTree = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$k]]);
12493
+ const _sfc_main$l = defineComponent({
12610
12494
  name: "FExpandablePanel",
12611
12495
  components: {
12612
12496
  FIcon,
@@ -12680,11 +12564,11 @@ const _sfc_main$o = defineComponent({
12680
12564
  }
12681
12565
  }
12682
12566
  });
12683
- const _hoisted_1$n = ["aria-expanded", "aria-controls"];
12684
- const _hoisted_2$j = {
12567
+ const _hoisted_1$l = ["aria-expanded", "aria-controls"];
12568
+ const _hoisted_2$h = {
12685
12569
  class: "expandable-panel__icon"
12686
12570
  };
12687
- const _hoisted_3$e = {
12571
+ const _hoisted_3$d = {
12688
12572
  class: "icon-stack"
12689
12573
  };
12690
12574
  const _hoisted_4$b = ["title"];
@@ -12692,14 +12576,14 @@ const _hoisted_5$9 = {
12692
12576
  class: "sr-only"
12693
12577
  };
12694
12578
  const _hoisted_6$7 = ["id"];
12695
- const _hoisted_7$7 = {
12579
+ const _hoisted_7$6 = {
12696
12580
  class: "expandable-panel__body"
12697
12581
  };
12698
- const _hoisted_8$5 = {
12582
+ const _hoisted_8$4 = {
12699
12583
  key: 0,
12700
12584
  class: "expandable-panel__outside"
12701
12585
  };
12702
- function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
12586
+ function _sfc_render$j(_ctx, _cache, $props, $setup, $data, $options) {
12703
12587
  const _component_f_icon = resolveComponent("f-icon");
12704
12588
  const _component_f_expand = resolveComponent("f-expand");
12705
12589
  return openBlock(), createElementBlock("div", {
@@ -12713,7 +12597,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
12713
12597
  "aria-controls": _ctx.id
12714
12598
  }, _ctx.$attrs, {
12715
12599
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClickHeadingButton && _ctx.onClickHeadingButton(...args))
12716
- }), [createElementVNode("span", _hoisted_2$j, [createElementVNode("span", _hoisted_3$e, [createVNode(_component_f_icon, {
12600
+ }), [createElementVNode("span", _hoisted_2$h, [createElementVNode("span", _hoisted_3$d, [createVNode(_component_f_icon, {
12717
12601
  name: "dash"
12718
12602
  }), _cache[1] || (_cache[1] = createTextVNode()), createVNode(_component_f_icon, {
12719
12603
  name: "dash"
@@ -12726,18 +12610,18 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
12726
12610
  })
12727
12611
  }, [createElementVNode("span", _hoisted_5$9, toDisplayString(_ctx.screenReaderNotificationText), 1), _cache[2] || (_cache[2] = createTextVNode()), createVNode(_component_f_icon, {
12728
12612
  name: "bell"
12729
- })], 8, _hoisted_4$b)) : createCommentVNode("", true)], 16, _hoisted_1$n)]),
12613
+ })], 8, _hoisted_4$b)) : createCommentVNode("", true)], 16, _hoisted_1$l)]),
12730
12614
  _: 3
12731
12615
  })), _cache[6] || (_cache[6] = createTextVNode()), createVNode(_component_f_expand, null, {
12732
12616
  default: withCtx(() => [withDirectives(createElementVNode("div", {
12733
12617
  id: _ctx.id,
12734
12618
  class: "expandable-panel__content"
12735
- }, [createElementVNode("div", _hoisted_7$7, [renderSlot(_ctx.$slots, "default")]), _cache[5] || (_cache[5] = createTextVNode()), _ctx.hasOutsideSlot ? (openBlock(), createElementBlock("div", _hoisted_8$5, [renderSlot(_ctx.$slots, "outside")])) : createCommentVNode("", true)], 8, _hoisted_6$7), [[vShow, _ctx.expanded]])]),
12619
+ }, [createElementVNode("div", _hoisted_7$6, [renderSlot(_ctx.$slots, "default")]), _cache[5] || (_cache[5] = createTextVNode()), _ctx.hasOutsideSlot ? (openBlock(), createElementBlock("div", _hoisted_8$4, [renderSlot(_ctx.$slots, "outside")])) : createCommentVNode("", true)], 8, _hoisted_6$7), [[vShow, _ctx.expanded]])]),
12736
12620
  _: 3
12737
12621
  })], 2);
12738
12622
  }
12739
- const FExpandablePanel = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$o]]);
12740
- const _sfc_main$n = defineComponent({
12623
+ const FExpandablePanel = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$j]]);
12624
+ const _sfc_main$k = defineComponent({
12741
12625
  name: "FExpandableParagraph",
12742
12626
  components: {
12743
12627
  FIcon,
@@ -12819,11 +12703,11 @@ const _sfc_main$n = defineComponent({
12819
12703
  }
12820
12704
  }
12821
12705
  });
12822
- const _hoisted_1$m = ["aria-expanded", "aria-controls"];
12823
- const _hoisted_2$i = {
12706
+ const _hoisted_1$k = ["aria-expanded", "aria-controls"];
12707
+ const _hoisted_2$g = {
12824
12708
  class: "expandable-paragraph__icon"
12825
12709
  };
12826
- const _hoisted_3$d = {
12710
+ const _hoisted_3$c = {
12827
12711
  class: "icon-stack"
12828
12712
  };
12829
12713
  const _hoisted_4$a = {
@@ -12834,11 +12718,11 @@ const _hoisted_5$8 = ["id"];
12834
12718
  const _hoisted_6$6 = {
12835
12719
  class: "expandable-paragraph__content"
12836
12720
  };
12837
- const _hoisted_7$6 = {
12721
+ const _hoisted_7$5 = {
12838
12722
  key: 0,
12839
12723
  class: "expandable-paragraph__separator"
12840
12724
  };
12841
- function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
12725
+ function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {
12842
12726
  const _component_f_icon = resolveComponent("f-icon");
12843
12727
  const _component_f_expand = resolveComponent("f-expand");
12844
12728
  return openBlock(), createElementBlock("div", {
@@ -12855,21 +12739,21 @@ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
12855
12739
  "aria-controls": _ctx.id
12856
12740
  }, _ctx.$attrs, {
12857
12741
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClickMinimize && _ctx.onClickMinimize(...args))
12858
- }), [createElementVNode("span", _hoisted_2$i, [createElementVNode("span", _hoisted_3$d, [createVNode(_component_f_icon, {
12742
+ }), [createElementVNode("span", _hoisted_2$g, [createElementVNode("span", _hoisted_3$c, [createVNode(_component_f_icon, {
12859
12743
  name: "dash"
12860
12744
  }), _cache[1] || (_cache[1] = createTextVNode()), createVNode(_component_f_icon, {
12861
12745
  name: "dash"
12862
- })])]), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "title")], 16, _hoisted_1$m)]),
12746
+ })])]), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "title")], 16, _hoisted_1$k)]),
12863
12747
  _: 3
12864
12748
  }, 8, ["class"])), _cache[3] || (_cache[3] = createTextVNode()), _ctx.hasRelatedSlot ? (openBlock(), createElementBlock("div", _hoisted_4$a, [renderSlot(_ctx.$slots, "related")])) : createCommentVNode("", true)], 2), _cache[5] || (_cache[5] = createTextVNode()), createVNode(_component_f_expand, null, {
12865
12749
  default: withCtx(() => [withDirectives(createElementVNode("div", {
12866
12750
  id: _ctx.id,
12867
12751
  class: "expandable-paragraph__container"
12868
- }, [createElementVNode("div", _hoisted_6$6, [renderSlot(_ctx.$slots, "default")]), _cache[4] || (_cache[4] = createTextVNode()), !_ctx.list ? (openBlock(), createElementBlock("div", _hoisted_7$6)) : createCommentVNode("", true)], 8, _hoisted_5$8), [[vShow, _ctx.expanded]])]),
12752
+ }, [createElementVNode("div", _hoisted_6$6, [renderSlot(_ctx.$slots, "default")]), _cache[4] || (_cache[4] = createTextVNode()), !_ctx.list ? (openBlock(), createElementBlock("div", _hoisted_7$5)) : createCommentVNode("", true)], 8, _hoisted_5$8), [[vShow, _ctx.expanded]])]),
12869
12753
  _: 3
12870
12754
  })], 2);
12871
12755
  }
12872
- const FExpandableParagraph = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$n]]);
12756
+ const FExpandableParagraph = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["render", _sfc_render$i]]);
12873
12757
  const DEFAULT_ICON = "file";
12874
12758
  const iconMap = {
12875
12759
  "image/*": "pic",
@@ -12878,7 +12762,7 @@ const iconMap = {
12878
12762
  "application/vnd.openxmlformats-officedocument.wordprocessingml.document": "doc",
12879
12763
  "application/vnd.openxmlformats-officedocument.wordprocessingml.template": "doc"
12880
12764
  };
12881
- const _sfc_main$m = defineComponent({
12765
+ const _sfc_main$j = defineComponent({
12882
12766
  name: "FFileItem",
12883
12767
  components: {
12884
12768
  FIcon
@@ -12957,13 +12841,13 @@ const _sfc_main$m = defineComponent({
12957
12841
  }
12958
12842
  }
12959
12843
  });
12960
- const _hoisted_1$l = {
12844
+ const _hoisted_1$j = {
12961
12845
  class: "file-item"
12962
12846
  };
12963
- const _hoisted_2$h = {
12847
+ const _hoisted_2$f = {
12964
12848
  class: "file-item__row"
12965
12849
  };
12966
- const _hoisted_3$c = ["id"];
12850
+ const _hoisted_3$b = ["id"];
12967
12851
  const _hoisted_4$9 = {
12968
12852
  class: "icon-stack button__icon icon-stack--new-window"
12969
12853
  };
@@ -12973,25 +12857,25 @@ const _hoisted_5$7 = {
12973
12857
  const _hoisted_6$5 = {
12974
12858
  class: "sr-only"
12975
12859
  };
12976
- const _hoisted_7$5 = {
12860
+ const _hoisted_7$4 = {
12977
12861
  key: 0,
12978
12862
  class: "file-item__change-info"
12979
12863
  };
12980
- function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
12864
+ function _sfc_render$h(_ctx, _cache, $props, $setup, $data, $options) {
12981
12865
  const _component_f_icon = resolveComponent("f-icon");
12982
- return openBlock(), createElementBlock("div", _hoisted_1$l, [createElementVNode("div", _hoisted_2$h, [createElementVNode("a", mergeProps({
12866
+ return openBlock(), createElementBlock("div", _hoisted_1$j, [createElementVNode("div", _hoisted_2$f, [createElementVNode("a", mergeProps({
12983
12867
  id: _ctx.id,
12984
12868
  class: "file-item__file-open"
12985
12869
  }, _ctx.$attrs), [createElementVNode("div", _hoisted_4$9, [createVNode(_component_f_icon, {
12986
12870
  name: "new-window"
12987
12871
  }), _cache[0] || (_cache[0] = createTextVNode()), createVNode(_component_f_icon, {
12988
12872
  name: _ctx.iconName
12989
- }, null, 8, ["name"])]), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("span", _hoisted_5$7, toDisplayString(_ctx.fileName), 1), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("span", _hoisted_6$5, " " + toDisplayString(_ctx.$t("fkui.file-item.file-open", "öppnas i nytt fönster")), 1)], 16, _hoisted_3$c), _cache[3] || (_cache[3] = createTextVNode()), renderSlot(_ctx.$slots, "row")]), _cache[4] || (_cache[4] = createTextVNode()), renderSlot(_ctx.$slots, "default"), _cache[5] || (_cache[5] = createTextVNode()), _ctx.isMimeTypeChanged ? (openBlock(), createElementBlock("div", _hoisted_7$5, toDisplayString(_ctx.mimeTypeChangedText), 1)) : createCommentVNode("", true), _cache[6] || (_cache[6] = createTextVNode()), _cache[7] || (_cache[7] = createElementVNode("hr", {
12873
+ }, null, 8, ["name"])]), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("span", _hoisted_5$7, toDisplayString(_ctx.fileName), 1), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("span", _hoisted_6$5, " " + toDisplayString(_ctx.$t("fkui.file-item.file-open", "öppnas i nytt fönster")), 1)], 16, _hoisted_3$b), _cache[3] || (_cache[3] = createTextVNode()), renderSlot(_ctx.$slots, "row")]), _cache[4] || (_cache[4] = createTextVNode()), renderSlot(_ctx.$slots, "default"), _cache[5] || (_cache[5] = createTextVNode()), _ctx.isMimeTypeChanged ? (openBlock(), createElementBlock("div", _hoisted_7$4, toDisplayString(_ctx.mimeTypeChangedText), 1)) : createCommentVNode("", true), _cache[6] || (_cache[6] = createTextVNode()), _cache[7] || (_cache[7] = createElementVNode("hr", {
12990
12874
  class: "file-item__separator"
12991
12875
  }, null, -1))]);
12992
12876
  }
12993
- const FFileItem = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$m]]);
12994
- const _sfc_main$l = defineComponent({
12877
+ const FFileItem = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["render", _sfc_render$h]]);
12878
+ const _sfc_main$i = defineComponent({
12995
12879
  name: "FFileSelector",
12996
12880
  components: {
12997
12881
  FIcon
@@ -13052,14 +12936,14 @@ const _sfc_main$l = defineComponent({
13052
12936
  }
13053
12937
  }
13054
12938
  });
13055
- const _hoisted_1$k = {
12939
+ const _hoisted_1$i = {
13056
12940
  class: "file-selector"
13057
12941
  };
13058
- const _hoisted_2$g = ["id", "aria-labelledby", "aria-disabled"];
13059
- const _hoisted_3$b = ["id", "for"];
13060
- function _sfc_render$l(_ctx, _cache, $props, $setup, $data, $options) {
12942
+ const _hoisted_2$e = ["id", "aria-labelledby", "aria-disabled"];
12943
+ const _hoisted_3$a = ["id", "for"];
12944
+ function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {
13061
12945
  const _component_f_icon = resolveComponent("f-icon");
13062
- return openBlock(), createElementBlock("div", _hoisted_1$k, [createElementVNode("input", mergeProps({
12946
+ return openBlock(), createElementBlock("div", _hoisted_1$i, [createElementVNode("input", mergeProps({
13063
12947
  id: _ctx.id,
13064
12948
  ref: "file-selector",
13065
12949
  type: "file",
@@ -13067,7 +12951,7 @@ function _sfc_render$l(_ctx, _cache, $props, $setup, $data, $options) {
13067
12951
  "aria-disabled": _ctx.ariaDisabled ? "true" : void 0
13068
12952
  }, _ctx.attrs, {
13069
12953
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
13070
- }), null, 16, _hoisted_2$g), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("label", {
12954
+ }), null, 16, _hoisted_2$e), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("label", {
13071
12955
  id: _ctx.labelId,
13072
12956
  role: "button",
13073
12957
  class: normalizeClass([_ctx.labelClass, "button button--tertiary button--medium"]),
@@ -13076,673 +12960,15 @@ function _sfc_render$l(_ctx, _cache, $props, $setup, $data, $options) {
13076
12960
  }, [createVNode(_component_f_icon, {
13077
12961
  class: "button__icon",
13078
12962
  name: "paper-clip"
13079
- }), _cache[1] || (_cache[1] = createTextVNode()), renderSlot(_ctx.$slots, "default")], 10, _hoisted_3$b)]);
12963
+ }), _cache[1] || (_cache[1] = createTextVNode()), renderSlot(_ctx.$slots, "default")], 10, _hoisted_3$a)]);
13080
12964
  }
13081
- const FFileSelector = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$l]]);
13082
- const iconClasses = {
13083
- success: {
13084
- symbol: "circle",
13085
- sign: "success",
13086
- screenReaderContextKey: "fkui.message-box.sr-context.success",
13087
- screenReaderContextDefault: "Meddelande"
13088
- },
13089
- warning: {
13090
- symbol: "circle",
13091
- sign: "alert",
13092
- screenReaderContextKey: "fkui.message-box.sr-context.warning",
13093
- screenReaderContextDefault: "Varningsmeddelande"
13094
- },
13095
- error: {
13096
- symbol: "triangle",
13097
- sign: "alert",
13098
- screenReaderContextKey: "fkui.message-box.sr-context.error",
13099
- screenReaderContextDefault: "Felmeddelande"
13100
- },
13101
- info: {
13102
- symbol: "circle",
13103
- sign: "i",
13104
- screenReaderContextKey: "fkui.message-box.sr-context.info",
13105
- screenReaderContextDefault: "Informationsmeddelande"
13106
- }
13107
- };
13108
- const _sfc_main$k = defineComponent({
13109
- name: "FMessageBox",
13110
- components: {
13111
- FIcon,
13112
- IFlex,
13113
- IFlexItem
13114
- },
13115
- props: {
13116
- /**
13117
- * Type of message-box. 'success', 'error', 'warning' and 'info' is valid.
13118
- * */
13119
- type: {
13120
- type: String,
13121
- required: true,
13122
- validator(value) {
13123
- return ["success", "warning", "error", "info"].includes(value);
13124
- }
13125
- },
13126
- /**
13127
- * If message-box should be a banner.
13128
- * If prop is not used message-box will have default styling.
13129
- */
13130
- banner: {
13131
- type: Boolean,
13132
- required: false
13133
- },
13134
- /**
13135
- * It is important to provide a context for a screenreader, similar to a modal that initially outputs it is a dialog.
13136
- * Type-specific screenreader context is output by default in this component.
13137
- * By setting this property to false no context will be output.
13138
- * Note that by doing this, it is the applications responsiblity to provide a clear context.
13139
- */
13140
- provideScreenReaderContext: {
13141
- type: Boolean,
13142
- required: false,
13143
- default: true
13144
- },
13145
- /**
13146
- * Select standard or short layout.
13147
- *
13148
- * - 'normal' - Use normal layout when need for heading and/or longer text/multiple sentences
13149
- * - 'short' - Use short layout when only need for shorter text
13150
- */
13151
- layout: {
13152
- type: String,
13153
- required: false,
13154
- default: "standard",
13155
- validator(value) {
13156
- return ["standard", "short"].includes(value);
13157
- }
13158
- }
13159
- },
13160
- data() {
13161
- return {
13162
- headingClass: ["message-box__heading"]
13163
- };
13164
- },
13165
- computed: {
13166
- messageBoxType() {
13167
- if (this.layout === "short") {
13168
- return `message-box--${this.type}-short`;
13169
- } else {
13170
- return `message-box--${this.type}`;
13171
- }
13172
- },
13173
- bannerType() {
13174
- return this.banner ? `message-box--banner` : "";
13175
- },
13176
- classType() {
13177
- return `icon__${this.type}`;
13178
- },
13179
- classIcon() {
13180
- return iconClasses[this.type].symbol === "circle" && iconClasses[this.type].sign === "alert" ? `icon__exclamation` : "";
13181
- },
13182
- stackTypeClass() {
13183
- return `icon-stack--${this.type}`;
13184
- },
13185
- symbol() {
13186
- return iconClasses[this.type].symbol;
13187
- },
13188
- sign() {
13189
- return iconClasses[this.type].sign;
13190
- }
13191
- },
13192
- methods: {
13193
- screenReaderContext() {
13194
- return TranslationService.provider.translate(iconClasses[this.type].screenReaderContextKey, iconClasses[this.type].screenReaderContextDefault);
13195
- }
13196
- }
13197
- });
13198
- const _hoisted_1$j = {
13199
- key: 0,
13200
- class: "sr-only"
13201
- };
13202
- function _sfc_render$k(_ctx, _cache, $props, $setup, $data, $options) {
13203
- const _component_f_icon = resolveComponent("f-icon");
13204
- const _component_i_flex_item = resolveComponent("i-flex-item");
13205
- const _component_i_flex = resolveComponent("i-flex");
13206
- return openBlock(), createElementBlock("div", {
13207
- class: normalizeClass(["message-box", [_ctx.messageBoxType, _ctx.bannerType]])
13208
- }, [_ctx.provideScreenReaderContext ? (openBlock(), createElementBlock("span", _hoisted_1$j, toDisplayString(_ctx.screenReaderContext()), 1)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), createVNode(_component_i_flex, {
13209
- gap: "2x"
13210
- }, {
13211
- default: withCtx(() => [_ctx.layout === "short" ? (openBlock(), createBlock(_component_i_flex_item, {
13212
- key: 0,
13213
- class: "message-box__icon",
13214
- shrink: "",
13215
- align: "center"
13216
- }, {
13217
- default: withCtx(() => [createElementVNode("span", {
13218
- class: normalizeClass(["icon-stack", _ctx.stackTypeClass])
13219
- }, [createVNode(_component_f_icon, {
13220
- class: normalizeClass(_ctx.classType),
13221
- name: _ctx.symbol
13222
- }, null, 8, ["class", "name"]), _cache[0] || (_cache[0] = createTextVNode()), createVNode(_component_f_icon, {
13223
- class: normalizeClass(_ctx.classIcon),
13224
- name: _ctx.sign
13225
- }, null, 8, ["class", "name"])], 2)]),
13226
- _: 1
13227
- })) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), createVNode(_component_i_flex_item, {
13228
- class: "message-box__content",
13229
- grow: "",
13230
- align: "center"
13231
- }, {
13232
- default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(_ctx.layout === "short" ? {} : {
13233
- headingSlotClass: _ctx.headingClass
13234
- })))]),
13235
- _: 3
13236
- })]),
13237
- _: 3
13238
- })], 2);
13239
- }
13240
- const FMessageBox = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["render", _sfc_render$k]]);
13241
- const setRef = Symbol("setRef");
13242
- const getRef = Symbol("getRef");
13243
- const setIsOpen = Symbol("setIsOpen");
13244
- function createFFormProvideOptions(vm) {
13245
- const {
13246
- components
13247
- } = vm;
13248
- return {
13249
- [setRef](id, data) {
13250
- components[id] = new Reference(data);
13251
- },
13252
- [getRef](id) {
13253
- return components[id];
13254
- },
13255
- [setIsOpen](id, isOpen) {
13256
- const steps = Object.values(components).filter(isFormStepReference);
13257
- for (const step2 of steps) {
13258
- step2.ref.isOpen = false;
13259
- }
13260
- const step = components[id];
13261
- if (isFormStepReference(step)) {
13262
- step.ref.isOpen = isOpen;
13263
- }
13264
- }
13265
- };
13266
- }
13267
- const _sfc_main$j = defineComponent({
13268
- name: "FForm",
13269
- components: {
13270
- FMessageBox,
13271
- FErrorList
13272
- },
13273
- provide() {
13274
- return createFFormProvideOptions(this);
13275
- },
13276
- inheritAttrs: false,
13277
- props: {
13278
- /**
13279
- * The id for the form id attribute.
13280
- * If the prop is not set a random value will be generated.
13281
- */
13282
- id: {
13283
- type: String,
13284
- required: false,
13285
- default: () => ElementIdService.generateElementId()
13286
- },
13287
- /**
13288
- * If the error-message slot and the invalid elements list
13289
- * should be displayed.
13290
- */
13291
- displayError: {
13292
- type: Boolean,
13293
- default: true
13294
- },
13295
- /**
13296
- * If invalid fields at submit this tells how the scroll to the error
13297
- * field should occur. The default, "center", centres the error information
13298
- * vertically. Allowed value is also "top" which scrolls such that the error
13299
- * informations top is at the top of the viewport.
13300
- */
13301
- errorScroll: {
13302
- type: String,
13303
- default: "center",
13304
- validator(value) {
13305
- return ["center", "top"].includes(value);
13306
- }
13307
- }
13308
- },
13309
- data() {
13310
- return {
13311
- errorMessageSlotClass: ["message-box__heading"],
13312
- components: {}
13313
- };
13314
- },
13315
- computed: {
13316
- attrs() {
13317
- let onSubmit;
13318
- if (this.$attrs.onSubmit) {
13319
- const originalSubmit = this.$attrs.onSubmit;
13320
- onSubmit = async (event) => {
13321
- const isValid = await this.onSubmit(event);
13322
- if (isValid) {
13323
- if (Array.isArray(originalSubmit)) {
13324
- originalSubmit.forEach((submitFunction) => submitFunction(event));
13325
- } else {
13326
- originalSubmit(event);
13327
- }
13328
- }
13329
- };
13330
- } else {
13331
- onSubmit = this.onSubmit;
13332
- }
13333
- const attrs = {
13334
- ...this.$attrs,
13335
- id: this.id,
13336
- onSubmit
13337
- };
13338
- return attrs;
13339
- },
13340
- numberOfTimesSubmitted() {
13341
- const components = Object.values(this.components);
13342
- return Math.max(0, ...components.map((it) => it.ref.numberOfTimesSubmitted));
13343
- },
13344
- isSubmitted() {
13345
- return this.numberOfTimesSubmitted > 0;
13346
- },
13347
- hasError() {
13348
- if (Object.values(this.components).length === 0) {
13349
- return false;
13350
- } else {
13351
- const components = Object.values(this.components);
13352
- return components.some((component) => component.ref.isValid === false);
13353
- }
13354
- },
13355
- componentsWithErrors() {
13356
- const sortedComponents = sortComponentsWithErrorsOnDOMOrder(this.components);
13357
- return sortedComponents.map((c) => c.ref);
13358
- },
13359
- needsErrorScroll() {
13360
- return this.errorScroll !== "center";
13361
- }
13362
- },
13363
- methods: {
13364
- async focusDomElement() {
13365
- await this.$nextTick();
13366
- const messageBoxError = this.$el.querySelector(".message-box--error");
13367
- if (messageBoxError) {
13368
- focus$1(messageBoxError, {
13369
- scrollToTop: this.needsErrorScroll
13370
- });
13371
- }
13372
- },
13373
- async focusFallbackElement() {
13374
- await this.$nextTick();
13375
- const element = this.$el.querySelector(".form-step__header");
13376
- const invalidElement = this.$el.querySelector(":invalid");
13377
- if (element) {
13378
- focus$1(element, {
13379
- scrollToTop: this.needsErrorScroll
13380
- });
13381
- } else if (invalidElement) {
13382
- focus$1(invalidElement, {
13383
- force: true,
13384
- scrollToTop: this.needsErrorScroll
13385
- });
13386
- }
13387
- },
13388
- async onSubmit(event) {
13389
- event.preventDefault();
13390
- const components = Object.values(this.components);
13391
- components.forEach((component) => {
13392
- component.ref.numberOfTimesSubmitted++;
13393
- if (!isFormStepReference(component)) {
13394
- ValidationService.setTouched(component.ref.id);
13395
- ValidationService.setSubmitted(component.ref.id);
13396
- }
13397
- });
13398
- await cleanUpElements(this);
13399
- await ValidationService.validateAllElements(this.id);
13400
- if (this.displayError) {
13401
- this.focusDomElement();
13402
- } else {
13403
- this.focusFallbackElement();
13404
- }
13405
- return this.hasError === false;
13406
- },
13407
- async onComponentValidity(event) {
13408
- const reference = new Reference({
13409
- id: event.detail.elementId,
13410
- focusElementId: event.detail.focusElementId,
13411
- title: event.detail.errorMessage,
13412
- isValid: event.detail.isValid,
13413
- numberOfTimesSubmitted: this.numberOfTimesSubmitted
13414
- });
13415
- this.components[event.detail.elementId] = reference;
13416
- await cleanUpElements(this);
13417
- }
13418
- }
13419
- });
13420
- const _hoisted_1$i = ["id"];
13421
- function _sfc_render$j(_ctx, _cache, $props, $setup, $data, $options) {
13422
- const _component_f_error_list = resolveComponent("f-error-list");
13423
- const _component_f_message_box = resolveComponent("f-message-box");
13424
- return openBlock(), createElementBlock("form", mergeProps({
13425
- id: _ctx.id,
13426
- class: "form",
13427
- novalidate: ""
13428
- }, _ctx.attrs, {
13429
- onComponentValidity: _cache[0] || (_cache[0] = (...args) => _ctx.onComponentValidity && _ctx.onComponentValidity(...args))
13430
- }), [_ctx.displayError && _ctx.isSubmitted && _ctx.hasError ? (openBlock(), createBlock(_component_f_message_box, {
13431
- key: 0,
13432
- tabindex: "-1",
13433
- type: "error"
13434
- }, {
13435
- default: withCtx(() => [renderSlot(_ctx.$slots, "error-message", normalizeProps(guardReactiveProps({
13436
- slotClass: _ctx.errorMessageSlotClass
13437
- }))), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("nav", null, [createVNode(_component_f_error_list, {
13438
- items: _ctx.componentsWithErrors
13439
- }, null, 8, ["items"])])]),
13440
- _: 3
13441
- })) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$i);
13442
- }
13443
- const FForm = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["render", _sfc_render$j]]);
13444
- const _sfc_main$i = defineComponent({
13445
- name: "FFormStep",
13446
- components: {
13447
- FIcon,
13448
- FValidationGroup,
13449
- FErrorList
13450
- },
13451
- mixins: [TranslationMixin],
13452
- inheritAttrs: false,
13453
- props: {
13454
- /**
13455
- * The id for the root div id attribute.
13456
- * If the prop is not set a random value will be generated.
13457
- */
13458
- id: {
13459
- type: String,
13460
- required: true,
13461
- default: () => ElementIdService.generateElementId()
13462
- },
13463
- /**
13464
- * If the form step should have a bottom arrow.
13465
- * It is recommended to remove the arrow for the last step with `:has-arrow="false"`.
13466
- */
13467
- hasArrow: {
13468
- type: Boolean,
13469
- default: true
13470
- },
13471
- /**
13472
- * If the form step is the last step.
13473
- * If set to true the form step will have a bigger bottom margin.
13474
- */
13475
- isLastStep: {
13476
- type: Boolean,
13477
- default: false
13478
- },
13479
- /**
13480
- * If error links should be disabled, `:disable-error-links="true"`..
13481
- * If `true`, errors will be displayed as text instead.
13482
- */
13483
- disableErrorLinks: {
13484
- type: Boolean,
13485
- default: false
13486
- }
13487
- },
13488
- setup() {
13489
- return {
13490
- setRef: inject(setRef),
13491
- getRef: inject(getRef),
13492
- setIsOpen: inject(setIsOpen)
13493
- };
13494
- },
13495
- data() {
13496
- return {
13497
- self: new Reference({
13498
- isOpen: false,
13499
- numberOfTimesSubmitted: 0,
13500
- isAnyFieldTouched: false,
13501
- isValid: true,
13502
- id: this.id,
13503
- focusElementId: `${this.id}-error`,
13504
- title: ""
13505
- }),
13506
- hasBeenValid: false,
13507
- isOpenedClosed: false,
13508
- headerSlotClass: ["form-step__title"],
13509
- stepErrorId: `${this.id}-error`,
13510
- groupValidity: {
13511
- isValid: false,
13512
- componentsWithError: [],
13513
- componentCount: 0
13514
- }
13515
- };
13516
- },
13517
- computed: {
13518
- attrs() {
13519
- return {
13520
- ...this.$attrs,
13521
- class: {
13522
- "form-step--complete": this.self.ref.isValid,
13523
- "form-step--last-step": this.isLastStep
13524
- }
13525
- };
13526
- },
13527
- defaultErrorMessage() {
13528
- return this.$t("fkui.form-step.errorlist.title", "Oj, du har glömt att fylla i något. Gå till:");
13529
- },
13530
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- technical debt, not sure what is going on here
13531
- injected() {
13532
- return this;
13533
- },
13534
- isSubmitted() {
13535
- return this.self.ref.numberOfTimesSubmitted > 0;
13536
- },
13537
- componentsWithError() {
13538
- return this.groupValidity.componentsWithError.map((c) => ({
13539
- id: this.disableErrorLinks ? void 0 : c.elementId,
13540
- focusElementId: c.focusElementId,
13541
- title: c.errorMessage
13542
- }));
13543
- },
13544
- hasError() {
13545
- return this.groupValidity.componentsWithError.length > 0;
13546
- },
13547
- displayErrorList() {
13548
- return (this.isOpenedClosed || this.hasBeenValid || this.isSubmitted) && this.hasError;
13549
- },
13550
- validationGroupKey() {
13551
- return `${this.id}-group`;
13552
- }
13553
- },
13554
- watch: {
13555
- "self.ref.numberOfTimesSubmitted": {
13556
- handler() {
13557
- ValidationService.setSubmitted(this.$el);
13558
- ValidationService.validateAllElements(this.id);
13559
- }
13560
- },
13561
- groupValidity: {
13562
- immediate: true,
13563
- handler() {
13564
- this.self.ref.isValid = this.groupValidity.isValid;
13565
- if (this.hasBeenValid === false) {
13566
- this.hasBeenValid = this.groupValidity.isValid;
13567
- }
13568
- }
13569
- }
13570
- },
13571
- async mounted() {
13572
- await this.$nextTick();
13573
- this.loadSelf();
13574
- this.injected.setRef(this.id, this.self.ref);
13575
- this.loadSelf();
13576
- this.updateSelfRefTitle();
13577
- },
13578
- beforeUpdate() {
13579
- this.updateSelfRefTitle();
13580
- },
13581
- methods: {
13582
- updateSelfRefTitle() {
13583
- const [firstSlotClass] = this.headerSlotClass;
13584
- const headerElement = this.$el.querySelector(`.${firstSlotClass}`);
13585
- if (headerElement && headerElement.textContent) {
13586
- this.self.ref.title = headerElement.textContent;
13587
- }
13588
- },
13589
- loadSelf() {
13590
- const ref2 = this.injected.getRef(this.id);
13591
- Object.assign(this.self, ref2);
13592
- },
13593
- async focusDomElement() {
13594
- await this.$nextTick();
13595
- if (this.hasError && this.self.ref.isAnyFieldTouched) {
13596
- const formStepError = this.$el.querySelector(".form-step__error");
13597
- focus$1(formStepError);
13598
- } else {
13599
- const formStepHeader = this.$el.querySelector(".form-step__header");
13600
- focus$1(formStepHeader);
13601
- }
13602
- },
13603
- async beforeNavigateToError() {
13604
- this.injected.setIsOpen(this.id, true);
13605
- await this.$nextTick();
13606
- },
13607
- /**
13608
- * Toggle if open or closed.
13609
- * If another form step is open then it will be closed.
13610
- * @public
13611
- */
13612
- toggleIsOpen() {
13613
- this.injected.setIsOpen(this.id, !this.self.ref.isOpen);
13614
- if (this.self.ref.isAnyFieldTouched && this.self.ref.isOpen === false) {
13615
- if (this.isOpenedClosed === false) {
13616
- this.isOpenedClosed = true;
13617
- }
13618
- ValidationService.setTouched(this.$el);
13619
- ValidationService.validateAllElements(this.id);
13620
- }
13621
- this.focusDomElement();
13622
- },
13623
- onComponentValidity(event) {
13624
- const hasReceivedValidOrErrorEvent = event.detail.validityMode === "VALID" || event.detail.validityMode === "ERROR";
13625
- if (hasReceivedValidOrErrorEvent && this.self.ref.isOpen) {
13626
- this.self.ref.isAnyFieldTouched = true;
13627
- }
13628
- }
13629
- }
13630
- });
13631
- const _hoisted_1$h = {
13632
- class: "form-step__header",
13633
- tabindex: "-1",
13634
- role: "group"
13635
- };
13636
- const _hoisted_2$f = ["id"];
13637
- const _hoisted_3$a = {
13638
- key: 0,
13639
- class: "form-step__arrow"
13640
- };
13641
- function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {
13642
- const _component_f_icon = resolveComponent("f-icon");
13643
- const _component_f_error_list = resolveComponent("f-error-list");
13644
- const _component_f_validation_group = resolveComponent("f-validation-group");
13645
- return openBlock(), createBlock(_component_f_validation_group, mergeProps({
13646
- id: _ctx.id
13647
- }, _ctx.attrs, {
13648
- key: _ctx.validationGroupKey,
13649
- modelValue: _ctx.groupValidity,
13650
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.groupValidity = $event),
13651
- class: "form-step",
13652
- "stop-propagation": true
13653
- }), {
13654
- default: withCtx(() => [createElementVNode("div", _hoisted_1$h, [renderSlot(_ctx.$slots, "header", normalizeProps(guardReactiveProps({
13655
- slotClass: _ctx.headerSlotClass,
13656
- ..._ctx.self.ref,
13657
- toggleIsOpen: _ctx.toggleIsOpen
13658
- }))), _cache[2] || (_cache[2] = createTextVNode()), _ctx.self.ref.isValid ? (openBlock(), createBlock(_component_f_icon, {
13659
- key: 0,
13660
- class: "form-step__check",
13661
- name: "success"
13662
- })) : createCommentVNode("", true)]), _cache[4] || (_cache[4] = createTextVNode()), _ctx.displayErrorList ? (openBlock(), createElementBlock("div", {
13663
- key: 0,
13664
- id: _ctx.stepErrorId,
13665
- class: "form-step__error",
13666
- tabindex: "-1",
13667
- role: "group"
13668
- }, [createElementVNode("nav", null, [createVNode(_component_f_error_list, {
13669
- bullets: true,
13670
- items: _ctx.componentsWithError,
13671
- "before-navigate": _ctx.beforeNavigateToError
13672
- }, {
13673
- title: withCtx(() => [renderSlot(_ctx.$slots, "error-message", {}, () => [createTextVNode(toDisplayString(_ctx.defaultErrorMessage), 1)])]),
13674
- _: 3
13675
- }, 8, ["items", "before-navigate"])])], 8, _hoisted_2$f)) : createCommentVNode("", true), _cache[5] || (_cache[5] = createTextVNode()), createElementVNode("div", {
13676
- onComponentValidity: _cache[0] || (_cache[0] = (...args) => _ctx.onComponentValidity && _ctx.onComponentValidity(...args))
13677
- }, [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({
13678
- ..._ctx.self.ref,
13679
- isSubmitted: _ctx.isSubmitted,
13680
- toggleIsOpen: _ctx.toggleIsOpen
13681
- }))), _cache[3] || (_cache[3] = createTextVNode()), _ctx.hasArrow ? (openBlock(), createElementBlock("span", _hoisted_3$a)) : createCommentVNode("", true)], 32)]),
13682
- _: 3
13683
- }, 16, ["id", "modelValue"]);
13684
- }
13685
- const FFormStep = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["render", _sfc_render$i]]);
13686
- const _sfc_main$h = defineComponent({
13687
- name: "FFormStepButton",
13688
- components: {
13689
- FIcon
13690
- },
13691
- mixins: [TranslationMixin],
13692
- inheritAttrs: false,
13693
- model: {
13694
- prop: "sr-only"
13695
- },
13696
- props: {
13697
- /**
13698
- * If the id is not set a random value will be generated.
13699
- */
13700
- id: {
13701
- type: String,
13702
- required: false,
13703
- default: () => ElementIdService.generateElementId()
13704
- },
13705
- isOpen: Boolean,
13706
- isAnyFieldTouched: Boolean,
13707
- additionalScreenreaderText: {
13708
- type: String,
13709
- required: false,
13710
- default: ""
13711
- }
13712
- }
13713
- });
13714
- const _hoisted_1$g = ["id", "aria-expanded"];
13715
- const _hoisted_2$e = {
13716
- class: "sr-only"
13717
- };
13718
- function _sfc_render$h(_ctx, _cache, $props, $setup, $data, $options) {
13719
- const _component_f_icon = resolveComponent("f-icon");
13720
- return openBlock(), createElementBlock("button", mergeProps({
13721
- id: _ctx.id,
13722
- class: "button button--margin-bottom-0 button--large",
13723
- type: "button"
13724
- }, _ctx.$attrs, {
13725
- "aria-expanded": _ctx.isOpen ? "true" : "false",
13726
- "data-form-step-button": ""
13727
- }), [_ctx.isOpen ? (openBlock(), createElementBlock(Fragment, {
13728
- key: 0
13729
- }, [createVNode(_component_f_icon, {
13730
- name: "success",
13731
- class: "button__icon"
13732
- }), createTextVNode(" " + toDisplayString(_ctx.$t("fkui.form-step-button.close", "OK")), 1)], 64)) : (openBlock(), createElementBlock(Fragment, {
13733
- key: 1
13734
- }, [createVNode(_component_f_icon, {
13735
- name: "pen",
13736
- class: "button__icon"
13737
- }), createTextVNode(" " + toDisplayString(_ctx.isAnyFieldTouched ? _ctx.$t("fkui.form-step-button.edit", "Ändra") : _ctx.$t("fkui.form-step-button.open", "Fyll i")), 1)], 64)), _cache[0] || (_cache[0] = createTextVNode()), createElementVNode("span", _hoisted_2$e, toDisplayString(_ctx.additionalScreenreaderText), 1)], 16, _hoisted_1$g);
13738
- }
13739
- const FFormStepButton = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", _sfc_render$h]]);
13740
- const keybindings = Object.fromEntries([["Up", focusTrAbove], ["Down", focusTrBelow], ["ArrowUp", focusTrAbove], ["ArrowDown", focusTrBelow], [" ", activateRow], ["Spacebar", activateRow]]);
13741
- function focusTrAbove(current) {
13742
- if (current > 0) {
13743
- this.tr[current - 1].focus();
13744
- } else {
13745
- this.tr[this.tr.length - 1].focus();
12965
+ const FFileSelector = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["render", _sfc_render$g]]);
12966
+ const keybindings = Object.fromEntries([["Up", focusTrAbove], ["Down", focusTrBelow], ["ArrowUp", focusTrAbove], ["ArrowDown", focusTrBelow], [" ", activateRow], ["Spacebar", activateRow]]);
12967
+ function focusTrAbove(current) {
12968
+ if (current > 0) {
12969
+ this.tr[current - 1].focus();
12970
+ } else {
12971
+ this.tr[this.tr.length - 1].focus();
13746
12972
  }
13747
12973
  }
13748
12974
  function focusTrBelow(current) {
@@ -13844,7 +13070,7 @@ function forceRepaintIE11(target) {
13844
13070
  target.style.removeProperty("display");
13845
13071
  }
13846
13072
  }
13847
- const _sfc_main$g = defineComponent({
13073
+ const _sfc_main$h = defineComponent({
13848
13074
  name: "FInteractiveTable",
13849
13075
  components: {
13850
13076
  FCheckboxField,
@@ -13962,7 +13188,6 @@ const _sfc_main$g = defineComponent({
13962
13188
  emits: [
13963
13189
  "change",
13964
13190
  "click",
13965
- "update",
13966
13191
  "unselect",
13967
13192
  "update:modelValue",
13968
13193
  "update:active",
@@ -14155,7 +13380,6 @@ const _sfc_main$g = defineComponent({
14155
13380
  updateVModelWithSelectedRows() {
14156
13381
  if (this.modelValue) {
14157
13382
  this.$emit("update:modelValue", this.selectedRows);
14158
- this.$emit("update", this.selectedRows);
14159
13383
  }
14160
13384
  },
14161
13385
  rowClasses(row, index) {
@@ -14232,7 +13456,7 @@ const _sfc_main$g = defineComponent({
14232
13456
  }
14233
13457
  }
14234
13458
  });
14235
- const _hoisted_1$f = ["role"];
13459
+ const _hoisted_1$h = ["role"];
14236
13460
  const _hoisted_2$d = {
14237
13461
  key: 0
14238
13462
  };
@@ -14251,10 +13475,10 @@ const _hoisted_6$4 = {
14251
13475
  key: 0,
14252
13476
  scope: "col"
14253
13477
  };
14254
- const _hoisted_7$4 = {
13478
+ const _hoisted_7$3 = {
14255
13479
  class: "sr-only"
14256
13480
  };
14257
- const _hoisted_8$4 = {
13481
+ const _hoisted_8$3 = {
14258
13482
  key: 1,
14259
13483
  scope: "col"
14260
13484
  };
@@ -14297,7 +13521,7 @@ const _hoisted_21 = {
14297
13521
  key: 1
14298
13522
  };
14299
13523
  const _hoisted_22 = ["colspan"];
14300
- function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {
13524
+ function _sfc_render$f(_ctx, _cache, $props, $setup, $data, $options) {
14301
13525
  const _component_f_icon = resolveComponent("f-icon");
14302
13526
  const _component_f_checkbox_field = resolveComponent("f-checkbox-field");
14303
13527
  return openBlock(), createElementBlock("div", {
@@ -14310,7 +13534,7 @@ function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {
14310
13534
  key: column.id,
14311
13535
  class: normalizeClass(column.size)
14312
13536
  }, null, 2);
14313
- }), 128))]), _cache[16] || (_cache[16] = createTextVNode()), createElementVNode("thead", null, [createElementVNode("tr", _hoisted_5$6, [_ctx.isExpandableTable ? (openBlock(), createElementBlock("th", _hoisted_6$4, [createElementVNode("span", _hoisted_7$4, toDisplayString(_ctx.$t("fkui.interactive-table.select", "Expandera")), 1)])) : createCommentVNode("", true), _cache[4] || (_cache[4] = createTextVNode()), _ctx.selectable ? (openBlock(), createElementBlock("th", _hoisted_8$4, [createElementVNode("span", _hoisted_9$3, toDisplayString(_ctx.$t("fkui.interactive-table.select", "Markera")), 1)])) : createCommentVNode("", true), _cache[5] || (_cache[5] = createTextVNode()), (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.visibleColumns, (column) => {
13537
+ }), 128))]), _cache[16] || (_cache[16] = createTextVNode()), createElementVNode("thead", null, [createElementVNode("tr", _hoisted_5$6, [_ctx.isExpandableTable ? (openBlock(), createElementBlock("th", _hoisted_6$4, [createElementVNode("span", _hoisted_7$3, toDisplayString(_ctx.$t("fkui.interactive-table.select", "Expandera")), 1)])) : createCommentVNode("", true), _cache[4] || (_cache[4] = createTextVNode()), _ctx.selectable ? (openBlock(), createElementBlock("th", _hoisted_8$3, [createElementVNode("span", _hoisted_9$3, toDisplayString(_ctx.$t("fkui.interactive-table.select", "Markera")), 1)])) : createCommentVNode("", true), _cache[5] || (_cache[5] = createTextVNode()), (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.visibleColumns, (column) => {
14314
13538
  return openBlock(), createElementBlock("th", mergeProps({
14315
13539
  key: column.id,
14316
13540
  scope: "col",
@@ -14389,10 +13613,10 @@ function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {
14389
13613
  colspan: _ctx.nbOfColumns
14390
13614
  }, [renderSlot(_ctx.$slots, "empty", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.interactive-table.empty", "Tabellen är tom")), 1)])], 8, _hoisted_22), _cache[12] || (_cache[12] = createTextVNode()), renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({
14391
13615
  row: {}
14392
- })))])) : createCommentVNode("", true)]))], 16, _hoisted_1$f)], 2);
13616
+ })))])) : createCommentVNode("", true)]))], 16, _hoisted_1$h)], 2);
14393
13617
  }
14394
- const FInteractiveTable = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["render", _sfc_render$g]]);
14395
- const _sfc_main$f = defineComponent({
13618
+ const FInteractiveTable = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", _sfc_render$f]]);
13619
+ const _sfc_main$g = defineComponent({
14396
13620
  name: "FLayoutApplicationTemplate",
14397
13621
  computed: {
14398
13622
  showHeader() {
@@ -14417,7 +13641,7 @@ const _sfc_main$f = defineComponent({
14417
13641
  }
14418
13642
  }
14419
13643
  });
14420
- const _hoisted_1$e = {
13644
+ const _hoisted_1$g = {
14421
13645
  class: "layout-application-template"
14422
13646
  };
14423
13647
  const _hoisted_2$c = {
@@ -14436,12 +13660,12 @@ const _hoisted_5$5 = {
14436
13660
  key: 0,
14437
13661
  class: "layout-application-template__footer"
14438
13662
  };
14439
- function _sfc_render$f(_ctx, _cache, $props, $setup, $data, $options) {
14440
- return openBlock(), createElementBlock("div", _hoisted_1$e, [_ctx.showHeader || _ctx.showTopNavigation ? (openBlock(), createElementBlock("header", _hoisted_2$c, [_ctx.showHeader ? renderSlot(_ctx.$slots, "header", {
13663
+ function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {
13664
+ return openBlock(), createElementBlock("div", _hoisted_1$g, [_ctx.showHeader || _ctx.showTopNavigation ? (openBlock(), createElementBlock("header", _hoisted_2$c, [_ctx.showHeader ? renderSlot(_ctx.$slots, "header", {
14441
13665
  key: 0
14442
13666
  }) : createCommentVNode("", true), _cache[0] || (_cache[0] = createTextVNode()), _ctx.showTopNavigation ? (openBlock(), createElementBlock("nav", _hoisted_3$8, [renderSlot(_ctx.$slots, "top-navigation")])) : createCommentVNode("", true)], 512)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("main", _hoisted_4$7, [renderSlot(_ctx.$slots, "default"), _cache[1] || (_cache[1] = createTextVNode()), _ctx.showFooter ? (openBlock(), createElementBlock("footer", _hoisted_5$5, [renderSlot(_ctx.$slots, "footer")])) : createCommentVNode("", true)], 512)]);
14443
13667
  }
14444
- const FLayoutApplicationTemplate = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["render", _sfc_render$f]]);
13668
+ const FLayoutApplicationTemplate = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["render", _sfc_render$e]]);
14445
13669
  function getGridClasses(target) {
14446
13670
  if (target === null) {
14447
13671
  return {};
@@ -14542,7 +13766,7 @@ function useLayoutPanel(options) {
14542
13766
  rightPrimaryClasses
14543
13767
  };
14544
13768
  }
14545
- const _sfc_main$e = defineComponent({
13769
+ const _sfc_main$f = defineComponent({
14546
13770
  name: "FLayoutLeftPanel",
14547
13771
  components: {
14548
13772
  FIcon
@@ -14627,7 +13851,7 @@ const _sfc_main$e = defineComponent({
14627
13851
  }
14628
13852
  }
14629
13853
  });
14630
- const _hoisted_1$d = {
13854
+ const _hoisted_1$f = {
14631
13855
  class: "layout-navigation"
14632
13856
  };
14633
13857
  const _hoisted_2$b = ["aria-expanded"];
@@ -14638,9 +13862,9 @@ const _hoisted_4$6 = {
14638
13862
  key: 1,
14639
13863
  class: "layout-navigation__navigation__inner--minimized"
14640
13864
  };
14641
- function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {
13865
+ function _sfc_render$d(_ctx, _cache, $props, $setup, $data, $options) {
14642
13866
  const _component_f_icon = resolveComponent("f-icon");
14643
- return openBlock(), createElementBlock("div", _hoisted_1$d, [createElementVNode("nav", {
13867
+ return openBlock(), createElementBlock("div", _hoisted_1$f, [createElementVNode("nav", {
14644
13868
  id: "layout-navigation__navigation",
14645
13869
  class: "layout-navigation__navigation",
14646
13870
  style: normalizeStyle(_ctx.navigationStyle),
@@ -14689,7 +13913,7 @@ function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {
14689
13913
  style: normalizeStyle(_ctx.primaryStyle)
14690
13914
  }, [renderSlot(_ctx.$slots, "default")], 6)]);
14691
13915
  }
14692
- const FLayoutLeftPanel = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["render", _sfc_render$e]]);
13916
+ const FLayoutLeftPanel = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["render", _sfc_render$d]]);
14693
13917
  class FRightPanelServiceImpl {
14694
13918
  constructor() {
14695
13919
  _defineProperty(this, "focusedElementBeforeOpenining", null);
@@ -14719,7 +13943,7 @@ class FRightPanelServiceImpl {
14719
13943
  }
14720
13944
  }
14721
13945
  const FLayoutRightPanelService = new FRightPanelServiceImpl();
14722
- const _sfc_main$d = defineComponent({
13946
+ const _sfc_main$e = defineComponent({
14723
13947
  name: "FLayoutRightPanel",
14724
13948
  components: {
14725
13949
  FIcon
@@ -14836,15 +14060,15 @@ const _sfc_main$d = defineComponent({
14836
14060
  }
14837
14061
  }
14838
14062
  });
14839
- const _hoisted_1$c = {
14063
+ const _hoisted_1$e = {
14840
14064
  class: "layout-secondary"
14841
14065
  };
14842
14066
  const _hoisted_2$a = {
14843
14067
  class: "layout-secondary__secondary__inner"
14844
14068
  };
14845
- function _sfc_render$d(_ctx, _cache, $props, $setup, $data, $options) {
14069
+ function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
14846
14070
  const _component_f_icon = resolveComponent("f-icon");
14847
- return openBlock(), createElementBlock("div", _hoisted_1$c, [createElementVNode("div", {
14071
+ return openBlock(), createElementBlock("div", _hoisted_1$e, [createElementVNode("div", {
14848
14072
  id: "layout-secondary__primary",
14849
14073
  class: normalizeClass(["layout-secondary__primary", _ctx.rightPrimaryClasses]),
14850
14074
  style: normalizeStyle(_ctx.primaryStyle)
@@ -14881,8 +14105,8 @@ function _sfc_render$d(_ctx, _cache, $props, $setup, $data, $options) {
14881
14105
  name: "close"
14882
14106
  })])], 6)])], 4)) : createCommentVNode("", true)]);
14883
14107
  }
14884
- const FLayoutRightPanel = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["render", _sfc_render$d]]);
14885
- const _sfc_main$c = defineComponent({
14108
+ const FLayoutRightPanel = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["render", _sfc_render$c]]);
14109
+ const _sfc_main$d = defineComponent({
14886
14110
  name: "FList",
14887
14111
  components: {
14888
14112
  FCheckboxField
@@ -14947,7 +14171,7 @@ const _sfc_main$c = defineComponent({
14947
14171
  default: () => ElementIdService.generateElementId()
14948
14172
  }
14949
14173
  },
14950
- emits: ["change", "click", "update", "unselect", "update:modelValue", "select", "update:active"],
14174
+ emits: ["change", "click", "unselect", "update:modelValue", "select", "update:active"],
14951
14175
  setup() {
14952
14176
  return ActivateItemInjected();
14953
14177
  },
@@ -15045,7 +14269,6 @@ const _sfc_main$c = defineComponent({
15045
14269
  updateVModelWithSelectedItems() {
15046
14270
  if (this.modelValue) {
15047
14271
  this.$emit("update:modelValue", this.selectedItems);
15048
- this.$emit("update", this.selectedItems);
15049
14272
  }
15050
14273
  },
15051
14274
  updateSelectedItemsFromVModel() {
@@ -15125,7 +14348,7 @@ const _sfc_main$c = defineComponent({
15125
14348
  }
15126
14349
  }
15127
14350
  });
15128
- const _hoisted_1$b = {
14351
+ const _hoisted_1$d = {
15129
14352
  key: 0,
15130
14353
  class: "list"
15131
14354
  };
@@ -15139,10 +14362,10 @@ const _hoisted_3$6 = {
15139
14362
  const _hoisted_4$5 = ["tabindex"];
15140
14363
  const _hoisted_5$4 = ["id", "aria-labelledby", "tabindex", "onKeydown"];
15141
14364
  const _hoisted_6$3 = ["onClick"];
15142
- const _hoisted_7$3 = {
14365
+ const _hoisted_7$2 = {
15143
14366
  class: "list__item__selectpane__input"
15144
14367
  };
15145
- const _hoisted_8$3 = ["id"];
14368
+ const _hoisted_8$2 = ["id"];
15146
14369
  const _hoisted_9$2 = {
15147
14370
  key: 0,
15148
14371
  class: "list__item"
@@ -15150,9 +14373,9 @@ const _hoisted_9$2 = {
15150
14373
  const _hoisted_10$1 = {
15151
14374
  class: "list__item__itempane"
15152
14375
  };
15153
- function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
14376
+ function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
15154
14377
  const _component_f_checkbox_field = resolveComponent("f-checkbox-field");
15155
- return !_ctx.selectable ? (openBlock(), createElementBlock("ul", _hoisted_1$b, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item) => {
14378
+ return !_ctx.selectable ? (openBlock(), createElementBlock("ul", _hoisted_1$d, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item) => {
15156
14379
  return openBlock(), createElementBlock("li", {
15157
14380
  key: _ctx.itemKey(item),
15158
14381
  class: "list__item"
@@ -15184,7 +14407,7 @@ function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
15184
14407
  key: 0,
15185
14408
  class: "list__item__selectpane",
15186
14409
  onClick: withModifiers(($event) => _ctx.onSelect(item), ["self"])
15187
- }, [createElementVNode("div", _hoisted_7$3, [createVNode(_component_f_checkbox_field, {
14410
+ }, [createElementVNode("div", _hoisted_7$2, [createVNode(_component_f_checkbox_field, {
15188
14411
  value: true,
15189
14412
  "model-value": _ctx.isSelected(item),
15190
14413
  onClick: withModifiers(($event) => _ctx.onSelect(item), ["self"])
@@ -15196,7 +14419,7 @@ function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
15196
14419
  ref_for: true
15197
14420
  }, {
15198
14421
  item
15199
- }))], 8, _hoisted_8$3)]),
14422
+ }))], 8, _hoisted_8$2)]),
15200
14423
  _: 2
15201
14424
  }, 1032, ["model-value", "onClick"])])], 8, _hoisted_6$3)) : createCommentVNode("", true), _cache[3] || (_cache[3] = createTextVNode()), (openBlock(), createBlock(resolveDynamicComponent(_ctx.checkbox ? "div" : "a"), {
15202
14425
  ref_for: true,
@@ -15214,8 +14437,8 @@ function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
15214
14437
  }, 1032, ["href", "onClick"]))], 42, _hoisted_5$4);
15215
14438
  }), 128)), _cache[4] || (_cache[4] = createTextVNode()), _ctx.isEmpty ? (openBlock(), createElementBlock("li", _hoisted_9$2, [createElementVNode("div", _hoisted_10$1, [renderSlot(_ctx.$slots, "empty", {}, () => [createElementVNode("em", null, toDisplayString(_ctx.$t("fkui.list.empty", "Listan är tom")), 1)])])])) : createCommentVNode("", true)], 8, _hoisted_4$5));
15216
14439
  }
15217
- const FList = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["render", _sfc_render$c]]);
15218
- const _sfc_main$b = defineComponent({
14440
+ const FList = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["render", _sfc_render$b]]);
14441
+ const _sfc_main$c = defineComponent({
15219
14442
  name: "FLoader",
15220
14443
  mixins: [TranslationMixin],
15221
14444
  inheritAttrs: false,
@@ -15327,59 +14550,258 @@ const _sfc_main$b = defineComponent({
15327
14550
  }
15328
14551
  }
15329
14552
  });
14553
+ const _hoisted_1$c = {
14554
+ class: "loader__backdrop"
14555
+ };
14556
+ const _hoisted_2$8 = {
14557
+ role: "alert"
14558
+ };
14559
+ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
14560
+ return openBlock(), createBlock(Teleport, {
14561
+ to: _ctx.teleportTarget,
14562
+ disabled: _ctx.teleportDisabled
14563
+ }, [withDirectives(createElementVNode("div", mergeProps(_ctx.$attrs, {
14564
+ class: ["loader", _ctx.classes]
14565
+ }), [createElementVNode("div", _hoisted_1$c, [_cache[0] || (_cache[0] = createElementVNode("div", {
14566
+ class: "loader__wrapper"
14567
+ }, [createElementVNode("div", {
14568
+ class: "loader__spinner-1 loader__spinner"
14569
+ }, [createElementVNode("div", {
14570
+ class: "loader__spinner-1-circle1 loader__circle loader__circle--1"
14571
+ }), createTextVNode(), createElementVNode("div", {
14572
+ class: "loader__spinner-1-circle2 loader__circle loader__circle--2"
14573
+ }), createTextVNode(), createElementVNode("div", {
14574
+ class: "loader__spinner-1-circle3 loader__circle loader__circle--3"
14575
+ }), createTextVNode(), createElementVNode("div", {
14576
+ class: "loader__spinner-1-circle4 loader__circle loader__circle--4"
14577
+ })]), createTextVNode(), createElementVNode("div", {
14578
+ class: "loader__spinner-2 loader__spinner"
14579
+ }, [createElementVNode("div", {
14580
+ class: "loader__spinner-2-circle1 loader__circle loader__circle--1"
14581
+ }), createTextVNode(), createElementVNode("div", {
14582
+ class: "loader__spinner-2-circle2 loader__circle loader__circle--2"
14583
+ }), createTextVNode(), createElementVNode("div", {
14584
+ class: "loader__spinner-2-circle3 loader__circle loader__circle--3"
14585
+ }), createTextVNode(), createElementVNode("div", {
14586
+ class: "loader__spinner-2-circle4 loader__circle loader__circle--4"
14587
+ })]), createTextVNode(), createElementVNode("div", {
14588
+ class: "loader__spinner-3 loader__spinner"
14589
+ }, [createElementVNode("div", {
14590
+ class: "loader__spinner-3-circle1 loader__circle loader__circle--1"
14591
+ }), createTextVNode(), createElementVNode("div", {
14592
+ class: "loader__spinner-3-circle2 loader__circle loader__circle--2"
14593
+ }), createTextVNode(), createElementVNode("div", {
14594
+ class: "loader__spinner-3-circle3 loader__circle loader__circle--3"
14595
+ }), createTextVNode(), createElementVNode("div", {
14596
+ class: "loader__spinner-3-circle4 loader__circle loader__circle--4"
14597
+ })])], -1)), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("div", {
14598
+ ref: "loader-text",
14599
+ class: normalizeClass(["loader__wait-text", {
14600
+ "loader--delay": _ctx.delay
14601
+ }]),
14602
+ tabindex: "-1"
14603
+ }, [createElementVNode("span", _hoisted_2$8, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.loader.wait.text", _ctx.defaultLoadingText)), 1)])])], 2)])], 16), [[vShow, _ctx.show]])], 8, ["to", "disabled"]);
14604
+ }
14605
+ const FLoader = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["render", _sfc_render$a]]);
14606
+ const _hoisted_1$b = ["aria-label"];
14607
+ const __default__ = defineComponent({
14608
+ computed: {
14609
+ ariaLabel() {
14610
+ const content = renderSlotText(this.$slots.default);
14611
+ if (!content) {
14612
+ throw new Error("`f-logo` requires text content.");
14613
+ }
14614
+ return content;
14615
+ }
14616
+ }
14617
+ });
14618
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
14619
+ ...__default__,
14620
+ __name: "FLogo",
14621
+ props: {
14622
+ /**
14623
+ * Size of the logo: `"small"`, `"large"`, or `"responsive"`.
14624
+ * Requires matching CSS variable to be set (`--f-logo-image-{small/large}`), or both if "responsive".
14625
+ */
14626
+ size: {
14627
+ type: String,
14628
+ default: "responsive",
14629
+ required: false,
14630
+ validator(value) {
14631
+ return ["small", "large", "responsive"].includes(value);
14632
+ }
14633
+ }
14634
+ },
14635
+ setup(__props) {
14636
+ const props = __props;
14637
+ return (_ctx, _cache) => {
14638
+ return openBlock(), createElementBlock("span", {
14639
+ class: normalizeClass(`logo logo--${props.size}`),
14640
+ "aria-label": _ctx.ariaLabel,
14641
+ role: "img"
14642
+ }, null, 10, _hoisted_1$b);
14643
+ };
14644
+ }
14645
+ });
14646
+ const iconClasses = {
14647
+ success: {
14648
+ symbol: "circle",
14649
+ sign: "success",
14650
+ screenReaderContextKey: "fkui.message-box.sr-context.success",
14651
+ screenReaderContextDefault: "Meddelande"
14652
+ },
14653
+ warning: {
14654
+ symbol: "circle",
14655
+ sign: "alert",
14656
+ screenReaderContextKey: "fkui.message-box.sr-context.warning",
14657
+ screenReaderContextDefault: "Varningsmeddelande"
14658
+ },
14659
+ error: {
14660
+ symbol: "triangle",
14661
+ sign: "alert",
14662
+ screenReaderContextKey: "fkui.message-box.sr-context.error",
14663
+ screenReaderContextDefault: "Felmeddelande"
14664
+ },
14665
+ info: {
14666
+ symbol: "circle",
14667
+ sign: "i",
14668
+ screenReaderContextKey: "fkui.message-box.sr-context.info",
14669
+ screenReaderContextDefault: "Informationsmeddelande"
14670
+ }
14671
+ };
14672
+ const _sfc_main$a = defineComponent({
14673
+ name: "FMessageBox",
14674
+ components: {
14675
+ FIcon,
14676
+ IFlex,
14677
+ IFlexItem
14678
+ },
14679
+ props: {
14680
+ /**
14681
+ * Type of message-box. 'success', 'error', 'warning' and 'info' is valid.
14682
+ * */
14683
+ type: {
14684
+ type: String,
14685
+ required: true,
14686
+ validator(value) {
14687
+ return ["success", "warning", "error", "info"].includes(value);
14688
+ }
14689
+ },
14690
+ /**
14691
+ * If message-box should be a banner.
14692
+ * If prop is not used message-box will have default styling.
14693
+ */
14694
+ banner: {
14695
+ type: Boolean,
14696
+ required: false
14697
+ },
14698
+ /**
14699
+ * It is important to provide a context for a screenreader, similar to a modal that initially outputs it is a dialog.
14700
+ * Type-specific screenreader context is output by default in this component.
14701
+ * By setting this property to false no context will be output.
14702
+ * Note that by doing this, it is the applications responsiblity to provide a clear context.
14703
+ */
14704
+ provideScreenReaderContext: {
14705
+ type: Boolean,
14706
+ required: false,
14707
+ default: true
14708
+ },
14709
+ /**
14710
+ * Select standard or short layout.
14711
+ *
14712
+ * - 'normal' - Use normal layout when need for heading and/or longer text/multiple sentences
14713
+ * - 'short' - Use short layout when only need for shorter text
14714
+ */
14715
+ layout: {
14716
+ type: String,
14717
+ required: false,
14718
+ default: "standard",
14719
+ validator(value) {
14720
+ return ["standard", "short"].includes(value);
14721
+ }
14722
+ }
14723
+ },
14724
+ data() {
14725
+ return {
14726
+ headingClass: ["message-box__heading"]
14727
+ };
14728
+ },
14729
+ computed: {
14730
+ messageBoxType() {
14731
+ if (this.layout === "short") {
14732
+ return `message-box--${this.type}-short`;
14733
+ } else {
14734
+ return `message-box--${this.type}`;
14735
+ }
14736
+ },
14737
+ bannerType() {
14738
+ return this.banner ? `message-box--banner` : "";
14739
+ },
14740
+ classType() {
14741
+ return `icon__${this.type}`;
14742
+ },
14743
+ classIcon() {
14744
+ return iconClasses[this.type].symbol === "circle" && iconClasses[this.type].sign === "alert" ? `icon__exclamation` : "";
14745
+ },
14746
+ stackTypeClass() {
14747
+ return `icon-stack--${this.type}`;
14748
+ },
14749
+ symbol() {
14750
+ return iconClasses[this.type].symbol;
14751
+ },
14752
+ sign() {
14753
+ return iconClasses[this.type].sign;
14754
+ }
14755
+ },
14756
+ methods: {
14757
+ screenReaderContext() {
14758
+ return TranslationService.provider.translate(iconClasses[this.type].screenReaderContextKey, iconClasses[this.type].screenReaderContextDefault);
14759
+ }
14760
+ }
14761
+ });
15330
14762
  const _hoisted_1$a = {
15331
- class: "loader__backdrop"
15332
- };
15333
- const _hoisted_2$8 = {
15334
- role: "alert"
14763
+ key: 0,
14764
+ class: "sr-only"
15335
14765
  };
15336
- function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
15337
- return openBlock(), createBlock(Teleport, {
15338
- to: _ctx.teleportTarget,
15339
- disabled: _ctx.teleportDisabled
15340
- }, [withDirectives(createElementVNode("div", mergeProps(_ctx.$attrs, {
15341
- class: ["loader", _ctx.classes]
15342
- }), [createElementVNode("div", _hoisted_1$a, [_cache[0] || (_cache[0] = createElementVNode("div", {
15343
- class: "loader__wrapper"
15344
- }, [createElementVNode("div", {
15345
- class: "loader__spinner-1 loader__spinner"
15346
- }, [createElementVNode("div", {
15347
- class: "loader__spinner-1-circle1 loader__circle loader__circle--1"
15348
- }), createTextVNode(), createElementVNode("div", {
15349
- class: "loader__spinner-1-circle2 loader__circle loader__circle--2"
15350
- }), createTextVNode(), createElementVNode("div", {
15351
- class: "loader__spinner-1-circle3 loader__circle loader__circle--3"
15352
- }), createTextVNode(), createElementVNode("div", {
15353
- class: "loader__spinner-1-circle4 loader__circle loader__circle--4"
15354
- })]), createTextVNode(), createElementVNode("div", {
15355
- class: "loader__spinner-2 loader__spinner"
15356
- }, [createElementVNode("div", {
15357
- class: "loader__spinner-2-circle1 loader__circle loader__circle--1"
15358
- }), createTextVNode(), createElementVNode("div", {
15359
- class: "loader__spinner-2-circle2 loader__circle loader__circle--2"
15360
- }), createTextVNode(), createElementVNode("div", {
15361
- class: "loader__spinner-2-circle3 loader__circle loader__circle--3"
15362
- }), createTextVNode(), createElementVNode("div", {
15363
- class: "loader__spinner-2-circle4 loader__circle loader__circle--4"
15364
- })]), createTextVNode(), createElementVNode("div", {
15365
- class: "loader__spinner-3 loader__spinner"
15366
- }, [createElementVNode("div", {
15367
- class: "loader__spinner-3-circle1 loader__circle loader__circle--1"
15368
- }), createTextVNode(), createElementVNode("div", {
15369
- class: "loader__spinner-3-circle2 loader__circle loader__circle--2"
15370
- }), createTextVNode(), createElementVNode("div", {
15371
- class: "loader__spinner-3-circle3 loader__circle loader__circle--3"
15372
- }), createTextVNode(), createElementVNode("div", {
15373
- class: "loader__spinner-3-circle4 loader__circle loader__circle--4"
15374
- })])], -1)), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("div", {
15375
- ref: "loader-text",
15376
- class: normalizeClass(["loader__wait-text", {
15377
- "loader--delay": _ctx.delay
15378
- }]),
15379
- tabindex: "-1"
15380
- }, [createElementVNode("span", _hoisted_2$8, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.loader.wait.text", _ctx.defaultLoadingText)), 1)])])], 2)])], 16), [[vShow, _ctx.show]])], 8, ["to", "disabled"]);
14766
+ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
14767
+ const _component_f_icon = resolveComponent("f-icon");
14768
+ const _component_i_flex_item = resolveComponent("i-flex-item");
14769
+ const _component_i_flex = resolveComponent("i-flex");
14770
+ return openBlock(), createElementBlock("div", {
14771
+ class: normalizeClass(["message-box", [_ctx.messageBoxType, _ctx.bannerType]])
14772
+ }, [_ctx.provideScreenReaderContext ? (openBlock(), createElementBlock("span", _hoisted_1$a, toDisplayString(_ctx.screenReaderContext()), 1)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), createVNode(_component_i_flex, {
14773
+ gap: "2x"
14774
+ }, {
14775
+ default: withCtx(() => [_ctx.layout === "short" ? (openBlock(), createBlock(_component_i_flex_item, {
14776
+ key: 0,
14777
+ class: "message-box__icon",
14778
+ shrink: "",
14779
+ align: "center"
14780
+ }, {
14781
+ default: withCtx(() => [createElementVNode("span", {
14782
+ class: normalizeClass(["icon-stack", _ctx.stackTypeClass])
14783
+ }, [createVNode(_component_f_icon, {
14784
+ class: normalizeClass(_ctx.classType),
14785
+ name: _ctx.symbol
14786
+ }, null, 8, ["class", "name"]), _cache[0] || (_cache[0] = createTextVNode()), createVNode(_component_f_icon, {
14787
+ class: normalizeClass(_ctx.classIcon),
14788
+ name: _ctx.sign
14789
+ }, null, 8, ["class", "name"])], 2)]),
14790
+ _: 1
14791
+ })) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), createVNode(_component_i_flex_item, {
14792
+ class: "message-box__content",
14793
+ grow: "",
14794
+ align: "center"
14795
+ }, {
14796
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(_ctx.layout === "short" ? {} : {
14797
+ headingSlotClass: _ctx.headingClass
14798
+ })))]),
14799
+ _: 3
14800
+ })]),
14801
+ _: 3
14802
+ })], 2);
15381
14803
  }
15382
- const FLoader = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$b]]);
14804
+ const FMessageBox = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["render", _sfc_render$9]]);
15383
14805
  function findOverflowIndex(totalWidth, elements) {
15384
14806
  let sum = 0;
15385
14807
  const index = elements.findIndex((element) => {
@@ -15429,7 +14851,7 @@ const upKeys = ["Up", "ArrowUp"];
15429
14851
  const downKeys = ["Down", "ArrowDown"];
15430
14852
  const verticalKeys = [...upKeys, ...downKeys];
15431
14853
  const preventKeys = ["Tab", "Left", "Right", "ArrowLeft", "ArrowRight", "Home", "End", " ", "Spacebar", "Enter", ...verticalKeys];
15432
- const _sfc_main$a = defineComponent({
14854
+ const _sfc_main$9 = defineComponent({
15433
14855
  name: "FNavigationMenu",
15434
14856
  components: {
15435
14857
  FIcon,
@@ -15777,14 +15199,14 @@ const _hoisted_6$2 = {
15777
15199
  class: "imenu__popup-item",
15778
15200
  role: "none"
15779
15201
  };
15780
- const _hoisted_7$2 = {
15202
+ const _hoisted_7$1 = {
15781
15203
  class: "imenu__list__anchor-container"
15782
15204
  };
15783
- const _hoisted_8$2 = ["aria-expanded"];
15205
+ const _hoisted_8$1 = ["aria-expanded"];
15784
15206
  const _hoisted_9$1 = {
15785
15207
  class: "sr-only"
15786
15208
  };
15787
- function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
15209
+ function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
15788
15210
  const _component_f_icon = resolveComponent("f-icon");
15789
15211
  const _component_i_popup_menu = resolveComponent("i-popup-menu");
15790
15212
  return openBlock(), createElementBlock("nav", {
@@ -15819,7 +15241,7 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
15819
15241
  ref: "popup-item",
15820
15242
  class: normalizeClass(_ctx.popupItemClasses),
15821
15243
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.togglePopup(true))
15822
- }, [createElementVNode("div", _hoisted_7$2, [createElementVNode("a", {
15244
+ }, [createElementVNode("div", _hoisted_7$1, [createElementVNode("a", {
15823
15245
  ref: "popup-anchor",
15824
15246
  tabindex: "0",
15825
15247
  class: "imenu__list__anchor",
@@ -15829,7 +15251,7 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
15829
15251
  }, [createElementVNode("span", _hoisted_9$1, [createElementVNode("span", null, toDisplayString(_ctx.popupMenuSrText) + " ", 1)]), createTextVNode(" " + toDisplayString(_ctx.popupLabel) + " ", 1), createVNode(_component_f_icon, {
15830
15252
  name: "arrow-down",
15831
15253
  class: "imenu__list__anchor-icon-right"
15832
- })], 8, _hoisted_8$2)])], 2)])) : createCommentVNode("", true)], 32), _cache[7] || (_cache[7] = createTextVNode()), createVNode(_component_i_popup_menu, {
15254
+ })], 8, _hoisted_8$1)])], 2)])) : createCommentVNode("", true)], 32), _cache[7] || (_cache[7] = createTextVNode()), createVNode(_component_i_popup_menu, {
15833
15255
  ref: "popup-menu",
15834
15256
  modelValue: _ctx.selectedItem,
15835
15257
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => _ctx.selectedItem = $event),
@@ -15845,9 +15267,9 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
15845
15267
  onClose: _cache[5] || (_cache[5] = ($event) => _ctx.togglePopup(false))
15846
15268
  }, null, 8, ["modelValue", "focused-item", "items", "is-open", "anchor", "selected-menu-item-screen-reader-text", "aria-label", "onSelect"])], 10, _hoisted_1$9);
15847
15269
  }
15848
- const FNavigationMenu = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["render", _sfc_render$a]]);
15270
+ const FNavigationMenu = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["render", _sfc_render$8]]);
15849
15271
  const EVENTS = ["online", "offline"];
15850
- const _sfc_main$9 = defineComponent({
15272
+ const _sfc_main$8 = defineComponent({
15851
15273
  name: "FOffline",
15852
15274
  components: {
15853
15275
  FIcon,
@@ -15907,7 +15329,7 @@ const _hoisted_4$3 = {
15907
15329
  class: "offline__content"
15908
15330
  };
15909
15331
  const _hoisted_5$2 = ["aria-hidden"];
15910
- function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
15332
+ function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
15911
15333
  const _component_f_icon = resolveComponent("f-icon");
15912
15334
  const _component_i_flex_item = resolveComponent("i-flex-item");
15913
15335
  const _component_i_flex = resolveComponent("i-flex");
@@ -15943,8 +15365,8 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
15943
15365
  "aria-hidden": _ctx.shouldNotRead ? "true" : void 0
15944
15366
  }, "\n Din internetuppkoppling fungerar igen\n ", 8, _hoisted_5$2), [[vShow, _ctx.isOnline]])], 8, _hoisted_1$8);
15945
15367
  }
15946
- const FOffline = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["render", _sfc_render$9]]);
15947
- const _sfc_main$8 = defineComponent({
15368
+ const FOffline = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render$7]]);
15369
+ const _sfc_main$7 = defineComponent({
15948
15370
  name: "FOutputField",
15949
15371
  components: {
15950
15372
  FLabel
@@ -15981,7 +15403,7 @@ const _hoisted_1$7 = {
15981
15403
  class: "output-field"
15982
15404
  };
15983
15405
  const _hoisted_2$5 = ["id", "for"];
15984
- function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
15406
+ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
15985
15407
  const _component_f_label = resolveComponent("f-label");
15986
15408
  return openBlock(), createElementBlock("div", _hoisted_1$7, [createVNode(_component_f_label, {
15987
15409
  for: _ctx.id
@@ -15998,62 +15420,26 @@ function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
15998
15420
  class: "output-field__output"
15999
15421
  }, _ctx.$attrs), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_2$5)]);
16000
15422
  }
16001
- const FOutputField = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render$8]]);
16002
- function getAltLogoText(hasRouterLink, routerLinkLabel, t) {
16003
- const srStdLogoAltText = t("fkui.page-header.logo.alt-text", "Försäkringskassan");
16004
- const srStdRouterLinkLabel = t("fkui.page-header.router.link.label", "gå till startsidan");
16005
- if (hasRouterLink && routerLinkLabel !== "") {
16006
- return `${srStdLogoAltText} ${routerLinkLabel}`;
16007
- } else if (hasRouterLink) {
16008
- return `${srStdLogoAltText}, ${srStdRouterLinkLabel}`;
16009
- } else {
16010
- return srStdLogoAltText;
16011
- }
16012
- }
16013
- const _sfc_main$7 = defineComponent({
15423
+ const FOutputField = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render$6]]);
15424
+ const _sfc_main$6 = defineComponent({
16014
15425
  name: "FPageHeader",
16015
15426
  components: {
16016
15427
  ISkipLink
16017
15428
  },
16018
- mixins: [TranslationMixin],
16019
15429
  inheritAttrs: true,
16020
15430
  props: {
16021
- /** Setting the logo sizes small, large or responsive. */
16022
- logoSize: {
16023
- type: String,
16024
- default: "responsive",
16025
- required: false,
16026
- validator(value) {
16027
- return ["small", "large", "responsive"].includes(value);
16028
- }
16029
- },
16030
15431
  /**
16031
15432
  * Render skiplink.
16032
15433
  *
16033
- * When set to a non-empty string thethe skiplink feature is enabled.
15434
+ * When set to a non-empty string the skiplink feature is enabled.
16034
15435
  * The string is the id of the element to move focus to.
16035
15436
  *
16036
- * When set to `true` the deprecated `skipLinkHref` prop is used to
16037
- * set the element id to move focus to.
16038
- *
16039
- * When set to `false` or empty string the skiplink feature is disabled.
16040
- *
16041
- * Using a boolean is deprecated. Leave unset or a non-empty string.
15437
+ * When set to empty string (default) the skiplink feature is disabled.
16042
15438
  */
16043
15439
  skipLink: {
16044
- type: [String, Boolean],
16045
- required: false,
16046
- default: ""
16047
- },
16048
- /**
16049
- * Target for skiplink.
16050
- *
16051
- * @deprecated Use `skipLink` prop with a non-empty string instead.
16052
- */
16053
- skipLinkHref: {
16054
15440
  type: String,
16055
15441
  required: false,
16056
- default: "#applicationlayout-main-content"
15442
+ default: ""
16057
15443
  },
16058
15444
  /**
16059
15445
  * HTML element type for header.
@@ -16064,73 +15450,21 @@ const _sfc_main$7 = defineComponent({
16064
15450
  validator(value) {
16065
15451
  return ["span", "h1"].includes(value);
16066
15452
  }
16067
- },
16068
- /**
16069
- * Target for router-link via path.
16070
- * (Behaviour from using both name and path in combination is undefined.)
16071
- */
16072
- routerLinkPath: {
16073
- type: String,
16074
- required: false,
16075
- default: ""
16076
- },
16077
- /**
16078
- * Target for router-link via name.
16079
- * (Behaviour from using both name and path in combination is undefined.)
16080
- */
16081
- routerLinkName: {
16082
- type: String,
16083
- required: false,
16084
- default: ""
16085
- },
16086
- /**
16087
- * Label to override the router-link label when router-link is present.
16088
- */
16089
- routerLinkLabel: {
16090
- type: String,
16091
- required: false,
16092
- default: ""
16093
15453
  }
16094
15454
  },
16095
15455
  computed: {
16096
- logoClass() {
16097
- return `page-header__logo--${this.logoSize}`;
16098
- },
16099
- hasRouterLink() {
16100
- return Boolean(this.routerLinkName || this.routerLinkPath);
16101
- },
16102
- routerLinkTo() {
16103
- const {
16104
- routerLinkName,
16105
- routerLinkPath
16106
- } = this;
16107
- if (routerLinkName) {
16108
- return {
16109
- name: routerLinkName
16110
- };
16111
- }
16112
- if (routerLinkPath) {
16113
- return {
16114
- path: routerLinkPath
16115
- };
16116
- }
16117
- return null;
16118
- },
16119
15456
  skipLinkAnchor() {
16120
15457
  const {
16121
- skipLink,
16122
- skipLinkHref
15458
+ skipLink
16123
15459
  } = this;
16124
- if (skipLink === false || skipLink === "") {
15460
+ if (skipLink === "") {
16125
15461
  return null;
16126
- } else if (skipLink === true) {
16127
- return skipLinkHref;
16128
15462
  } else {
16129
15463
  return `#${skipLink}`;
16130
15464
  }
16131
15465
  },
16132
- altLogoText() {
16133
- return getAltLogoText(this.hasRouterLink, this.routerLinkLabel, this.$t);
15466
+ hasLogo() {
15467
+ return Boolean(this.$slots.logo);
16134
15468
  }
16135
15469
  }
16136
15470
  });
@@ -16145,124 +15479,111 @@ const _hoisted_3$3 = {
16145
15479
  class: "page-header"
16146
15480
  };
16147
15481
  const _hoisted_4$2 = {
15482
+ key: 0,
16148
15483
  class: "page-header__logo"
16149
15484
  };
16150
- const _hoisted_5$1 = ["aria-label"];
16151
- const _hoisted_6$1 = ["aria-label"];
16152
- const _hoisted_7$1 = {
15485
+ const _hoisted_5$1 = {
16153
15486
  class: "page-header__right"
16154
15487
  };
16155
- const _hoisted_8$1 = {
15488
+ const _hoisted_6$1 = {
16156
15489
  class: "page-header__right-slot"
16157
15490
  };
16158
- function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
15491
+ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
16159
15492
  const _component_i_skip_link = resolveComponent("i-skip-link");
16160
- const _component_router_link = resolveComponent("router-link");
16161
15493
  return openBlock(), createElementBlock("div", _hoisted_1$6, [_ctx.skipLinkAnchor ? (openBlock(), createElementBlock("nav", _hoisted_2$4, [createVNode(_component_i_skip_link, {
16162
15494
  href: _ctx.skipLinkAnchor
16163
15495
  }, {
16164
15496
  default: withCtx(() => [renderSlot(_ctx.$slots, "skip-link-text")]),
16165
15497
  _: 3
16166
- }, 8, ["href"])])) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("div", _hoisted_3$3, [createElementVNode("div", _hoisted_4$2, [renderSlot(_ctx.$slots, "logo", {}, () => [_ctx.routerLinkTo ? (openBlock(), createBlock(_component_router_link, {
16167
- key: 0,
16168
- to: _ctx.routerLinkTo
16169
- }, {
16170
- default: withCtx(() => [createElementVNode("span", {
16171
- class: normalizeClass(_ctx.logoClass),
16172
- "aria-label": _ctx.altLogoText,
16173
- role: "img"
16174
- }, null, 10, _hoisted_5$1)]),
16175
- _: 1
16176
- }, 8, ["to"])) : (openBlock(), createElementBlock("span", {
16177
- key: 1,
16178
- class: normalizeClass(_ctx.logoClass),
16179
- "aria-label": _ctx.altLogoText,
16180
- role: "img"
16181
- }, null, 10, _hoisted_6$1))])]), _cache[0] || (_cache[0] = createTextVNode()), (openBlock(), createBlock(resolveDynamicComponent(_ctx.headerTag), {
15498
+ }, 8, ["href"])])) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("div", _hoisted_3$3, [_ctx.hasLogo ? (openBlock(), createElementBlock("div", _hoisted_4$2, [renderSlot(_ctx.$slots, "logo")])) : createCommentVNode("", true), _cache[0] || (_cache[0] = createTextVNode()), (openBlock(), createBlock(resolveDynamicComponent(_ctx.headerTag), {
16182
15499
  class: "page-header__app-name"
16183
15500
  }, {
16184
15501
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
16185
15502
  _: 3
16186
- })), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("div", _hoisted_7$1, [createElementVNode("div", _hoisted_8$1, [renderSlot(_ctx.$slots, "right")])])], 512)]);
15503
+ })), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("div", _hoisted_5$1, [createElementVNode("div", _hoisted_6$1, [renderSlot(_ctx.$slots, "right")])])], 512)]);
16187
15504
  }
16188
- const FPageHeader = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render$7]]);
15505
+ const FPageHeader = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render$5]]);
15506
+ const _hoisted_1$5 = {
15507
+ class: "progress"
15508
+ };
15509
+ const _hoisted_2$3 = ["aria-label", "aria-valuenow", "aria-valuetext"];
15510
+ const _hoisted_3$2 = {
15511
+ class: "sr-only"
15512
+ };
16189
15513
  const MIN_VALUE = 0;
16190
15514
  const MAX_VALUE = 100;
16191
- function clamp(val) {
16192
- return Math.round(Math.min(Math.max(val || 0, MIN_VALUE), MAX_VALUE));
16193
- }
16194
- const _sfc_main$6 = defineComponent({
16195
- name: "FProgressbar",
15515
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
15516
+ __name: "FProgressbar",
16196
15517
  props: {
16197
15518
  /**
16198
- * Sets the progress. Higher value indicates further progress. Value must be in range 0-100.
15519
+ * Sets the progress. Higher value indicates further progress.
15520
+ *
15521
+ * Value must be in range 0-100.
16199
15522
  */
16200
15523
  value: {
16201
15524
  type: Number,
16202
15525
  required: true,
16203
15526
  validator(value) {
16204
- return value >= MIN_VALUE && value <= MAX_VALUE;
15527
+ return value >= 0 && value <= 100;
16205
15528
  }
16206
15529
  },
16207
15530
  /**
16208
- * Text that the screenreader will read, the actual value will be replaced with %VALUE% e.g You have uploaded %VALUE% percent
15531
+ * Text that the screenreader will read.
15532
+ *
15533
+ * `%VALUE%` can be used as a placeholder for the actual value e.g
15534
+ * `"You have uploaded %VALUE% percent"`.
16209
15535
  */
16210
15536
  valueText: {
16211
15537
  type: String,
16212
15538
  required: false,
16213
15539
  default: "Du har slutfört %VALUE% %."
16214
15540
  },
16215
- ariaLabel: {
15541
+ /**
15542
+ * Accessible name for this progressbar. Should describe the purpose of this
15543
+ * progressbar.
15544
+ */
15545
+ /* eslint-disable-next-line vue/prop-name-casing -- vue does not allow ariaLabel as a prop as it collides with internal types */
15546
+ "aria-label": {
16216
15547
  type: String,
16217
15548
  required: true
16218
15549
  }
16219
15550
  },
16220
- computed: {
16221
- progressValueNow() {
16222
- return clamp(this.value);
16223
- },
16224
- isFinished() {
16225
- return this.progressValueNow === MAX_VALUE;
16226
- },
16227
- isInProgress() {
16228
- return this.progressValueNow > MIN_VALUE && this.progressValueNow < MAX_VALUE;
16229
- },
16230
- isPending() {
16231
- return this.progressValueNow === MIN_VALUE;
16232
- },
16233
- cssWidth() {
16234
- return `width: ${this.progressValueNow}%`;
16235
- },
16236
- progressBarClass() {
16237
- return `${this.isInProgress ? "progress__meter--inprogress" : ""} ${this.isPending ? "progress__meter--pending" : ""} ${this.isFinished ? "progress__meter--finished" : ""}`;
16238
- },
16239
- progressText() {
16240
- return `${this.valueText.replace("%VALUE%", this.progressValueNow.toString())}`;
16241
- }
15551
+ setup(__props) {
15552
+ const props = __props;
15553
+ const ariaLabel = props.ariaLabel;
15554
+ function clamp(val) {
15555
+ return Math.round(Math.min(Math.max(val || 0, MIN_VALUE), MAX_VALUE));
15556
+ }
15557
+ const progressValueNow = computed(() => clamp(props.value));
15558
+ const cssWidth = computed(() => `width: ${progressValueNow.value}%`);
15559
+ const progressBarClass = computed(() => {
15560
+ if (progressValueNow.value === MIN_VALUE) {
15561
+ return "progress__meter--pending";
15562
+ } else if (progressValueNow.value === MAX_VALUE) {
15563
+ return "progress__meter--finished";
15564
+ } else {
15565
+ return "progress__meter--inprogress";
15566
+ }
15567
+ });
15568
+ const progressText = computed(() => {
15569
+ return `${props.valueText.replace("%VALUE%", progressValueNow.value.toString())}`;
15570
+ });
15571
+ return (_ctx, _cache) => {
15572
+ return openBlock(), createElementBlock("div", _hoisted_1$5, [createElementVNode("span", {
15573
+ class: normalizeClass(["progress__meter", progressBarClass.value]),
15574
+ role: "progressbar",
15575
+ "aria-label": unref(ariaLabel),
15576
+ "aria-valuemin": "0",
15577
+ "aria-valuemax": "100",
15578
+ "aria-valuenow": progressValueNow.value,
15579
+ "aria-valuetext": progressText.value,
15580
+ style: normalizeStyle(cssWidth.value)
15581
+ }, [createElementVNode("span", _hoisted_3$2, toDisplayString(progressText.value), 1)], 14, _hoisted_2$3)]);
15582
+ };
16242
15583
  }
16243
15584
  });
16244
- const _hoisted_1$5 = {
16245
- class: "progress"
16246
- };
16247
- const _hoisted_2$3 = ["aria-label", "aria-valuenow", "aria-valuetext"];
16248
- const _hoisted_3$2 = {
16249
- class: "sr-only"
16250
- };
16251
- function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
16252
- return openBlock(), createElementBlock("div", _hoisted_1$5, [createElementVNode("span", {
16253
- class: normalizeClass(["progress__meter", _ctx.progressBarClass]),
16254
- role: "progressbar",
16255
- "aria-label": _ctx.ariaLabel,
16256
- "aria-valuemin": "0",
16257
- "aria-valuemax": "100",
16258
- "aria-valuenow": _ctx.progressValueNow,
16259
- "aria-valuetext": _ctx.progressText,
16260
- style: normalizeStyle(_ctx.cssWidth)
16261
- }, [createElementVNode("span", _hoisted_3$2, toDisplayString(_ctx.progressText), 1)], 14, _hoisted_2$3)]);
16262
- }
16263
- const FProgressbar = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render$6]]);
16264
15585
  const anyType = [String, Object, Array, Number, Date, Boolean];
16265
- const _sfc_main$5 = defineComponent({
15586
+ const _sfc_main$4 = defineComponent({
16266
15587
  name: "FRadioField",
16267
15588
  inheritAttrs: false,
16268
15589
  props: {
@@ -16428,7 +15749,7 @@ const _hoisted_4$1 = {
16428
15749
  key: 0,
16429
15750
  class: "radio-button__details"
16430
15751
  };
16431
- function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
15752
+ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
16432
15753
  return openBlock(), createElementBlock("div", {
16433
15754
  class: normalizeClass(["radio-button", _ctx.disabledClass]),
16434
15755
  onValidity: _cache[0] || (_cache[0] = (...args) => _ctx.onValidity && _ctx.onValidity(...args))
@@ -16454,70 +15775,7 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
16454
15775
  _: 3
16455
15776
  }, 8, ["onEnter", "onAfterEnter", "onLeave"])) : createCommentVNode("", true)], 64)) : createCommentVNode("", true)], 10, _hoisted_2$2)], 34);
16456
15777
  }
16457
- const FRadioField = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["render", _sfc_render$5]]);
16458
- const _sfc_main$4 = defineComponent({
16459
- name: "FRadioGroup",
16460
- components: {
16461
- FFieldset
16462
- },
16463
- inheritAttrs: false,
16464
- props: {
16465
- /**
16466
- * The id for the fieldset id attribute.
16467
- * If the prop is not set the id will be generated.
16468
- */
16469
- id: {
16470
- type: String,
16471
- required: false,
16472
- default: () => ElementIdService.generateElementId()
16473
- },
16474
- /**
16475
- * The name of the radio group.
16476
- * The radio group fields in the group will use the same name.
16477
- */
16478
- name: {
16479
- type: String,
16480
- required: true
16481
- },
16482
- /**
16483
- * If radio buttons should be aligned horizontally.
16484
- * If the prop is not set the radio buttons will be aligned vertically.
16485
- * Default: `false`
16486
- */
16487
- isHorizontal: {
16488
- type: Boolean,
16489
- required: false
16490
- }
16491
- }
16492
- });
16493
- function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
16494
- const _component_f_fieldset = resolveComponent("f-fieldset");
16495
- return openBlock(), createBlock(_component_f_fieldset, mergeProps({
16496
- id: _ctx.id,
16497
- name: _ctx.name
16498
- }, _ctx.$attrs, {
16499
- horizontal: _ctx.isHorizontal
16500
- }), createSlots({
16501
- label: withCtx(() => [renderSlot(_ctx.$slots, "label")]),
16502
- description: withCtx(({
16503
- descriptionClass,
16504
- discreteDescriptionClass
16505
- }) => [renderSlot(_ctx.$slots, "description", normalizeProps(guardReactiveProps({
16506
- descriptionClass,
16507
- discreteDescriptionClass
16508
- })))]),
16509
- "error-message": withCtx(() => [renderSlot(_ctx.$slots, "error-message")]),
16510
- default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({
16511
- indentClass: "indent"
16512
- })))]),
16513
- _: 2
16514
- }, [_ctx.$slots.tooltip ? {
16515
- name: "tooltip",
16516
- fn: withCtx(() => [renderSlot(_ctx.$slots, "tooltip")]),
16517
- key: "0"
16518
- } : void 0]), 1040, ["id", "name", "horizontal"]);
16519
- }
16520
- const FRadioGroup = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4]]);
15778
+ const FRadioField = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4]]);
16521
15779
  const _sfc_main$3 = defineComponent({
16522
15780
  name: "FStaticField",
16523
15781
  components: {
@@ -16536,11 +15794,11 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
16536
15794
  default: withCtx(() => [renderSlot(_ctx.$slots, "label")]),
16537
15795
  description: withCtx(({
16538
15796
  descriptionClass,
16539
- discreteDescriptionClass
16540
- }) => [renderSlot(_ctx.$slots, "description", normalizeProps(guardReactiveProps({
15797
+ formatDescriptionClass
15798
+ }) => [renderSlot(_ctx.$slots, "description", {
16541
15799
  descriptionClass,
16542
- discreteDescriptionClass
16543
- })))]),
15800
+ formatDescriptionClass
15801
+ })]),
16544
15802
  _: 2
16545
15803
  }, [_ctx.$slots.tooltip ? {
16546
15804
  name: "tooltip",
@@ -16716,11 +15974,11 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
16716
15974
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
16717
15975
  description: withCtx(({
16718
15976
  descriptionClass,
16719
- discreteDescriptionClass
16720
- }) => [renderSlot(_ctx.$slots, "description", normalizeProps(guardReactiveProps({
15977
+ formatDescriptionClass
15978
+ }) => [renderSlot(_ctx.$slots, "description", {
16721
15979
  descriptionClass,
16722
- discreteDescriptionClass
16723
- })))]),
15980
+ formatDescriptionClass
15981
+ })]),
16724
15982
  "error-message": withCtx(() => [renderSlot(_ctx.$slots, "error-message", normalizeProps(guardReactiveProps({
16725
15983
  hasError: _ctx.hasError,
16726
15984
  validationMessage: _ctx.validationMessage
@@ -16843,7 +16101,7 @@ const _sfc_main$1 = defineComponent({
16843
16101
  default: false
16844
16102
  }
16845
16103
  },
16846
- emits: ["cancel", "change", "completed", "update:modelValue"],
16104
+ emits: ["cancel", "completed", "update:modelValue"],
16847
16105
  data() {
16848
16106
  return {
16849
16107
  steps: []
@@ -16922,10 +16180,8 @@ const _sfc_main$1 = defineComponent({
16922
16180
  if (open >= 0) {
16923
16181
  const step = this.steps[open - 1];
16924
16182
  this.$emit("update:modelValue", step.key);
16925
- this.$emit("change", step.key);
16926
16183
  } else {
16927
16184
  this.$emit("update:modelValue", null);
16928
- this.$emit("change", null);
16929
16185
  }
16930
16186
  },
16931
16187
  cancel(isFinalStep) {
@@ -17292,21 +16548,19 @@ export {
17292
16548
  ErrorPlugin,
17293
16549
  ErrorViewData,
17294
16550
  EventBus,
17295
- _sfc_main$1f as FBadge,
17296
- _sfc_main$B as FBankAccountNumberTextField,
17297
- _sfc_main$A as FBankgiroTextField,
16551
+ _sfc_main$1b as FBadge,
16552
+ _sfc_main$y as FBankAccountNumberTextField,
16553
+ _sfc_main$x as FBankgiroTextField,
17298
16554
  FCalendar,
17299
16555
  FCalendarDay,
17300
- _sfc_main$_ as FCard,
16556
+ _sfc_main$W as FCard,
17301
16557
  FCheckboxField,
17302
- FCheckboxGroup,
17303
- FCheckboxField as FCheckboxGroupField,
17304
- _sfc_main$z as FClearingnumberTextField,
16558
+ _sfc_main$w as FClearingnumberTextField,
17305
16559
  FConfirmModal,
17306
16560
  FContextMenu,
17307
16561
  FCrudButton,
17308
16562
  FCrudDataset,
17309
- _sfc_main$D as FCurrencyTextField,
16563
+ _sfc_main$A as FCurrencyTextField,
17310
16564
  FDataTable,
17311
16565
  FDatepickerField,
17312
16566
  FDialogueTree,
@@ -17319,11 +16573,8 @@ export {
17319
16573
  FFieldset,
17320
16574
  FFileItem,
17321
16575
  FFileSelector,
17322
- FForm,
17323
16576
  FFormModal,
17324
16577
  FValidationFormAction as FFormModalAction,
17325
- FFormStep,
17326
- FFormStepButton,
17327
16578
  FIcon,
17328
16579
  FInteractiveTable,
17329
16580
  FKUIConfigButtonOrder,
@@ -17334,23 +16585,22 @@ export {
17334
16585
  FLayoutRightPanelService,
17335
16586
  FList,
17336
16587
  FLoader,
16588
+ _sfc_main$b as FLogo,
17337
16589
  FMessageBox,
17338
16590
  FModal,
17339
16591
  FNavigationMenu,
17340
- _sfc_main$y as FNumericTextField,
16592
+ _sfc_main$v as FNumericTextField,
17341
16593
  FOffline,
17342
- _sfc_main$t as FOrganisationsnummerTextField,
16594
+ _sfc_main$q as FOrganisationsnummerTextField,
17343
16595
  FOutputField,
17344
16596
  FPageHeader,
17345
- _sfc_main$u as FPercentTextField,
17346
- _sfc_main$x as FPersonnummerTextField,
16597
+ _sfc_main$r as FPercentTextField,
16598
+ _sfc_main$u as FPersonnummerTextField,
17347
16599
  FPhoneTextField,
17348
- _sfc_main$w as FPlusgiroTextField,
17349
- _sfc_main$v as FPostalCodeTextField,
17350
- FProgressbar,
16600
+ _sfc_main$t as FPlusgiroTextField,
16601
+ _sfc_main$s as FPostalCodeTextField,
16602
+ _sfc_main$5 as FProgressbar,
17351
16603
  FRadioField,
17352
- FRadioGroup,
17353
- FRadioField as FRadioGroupField,
17354
16604
  FSearchTextField,
17355
16605
  FSelectField,
17356
16606
  FSortFilterDataset,
@@ -17370,18 +16620,17 @@ export {
17370
16620
  FWizardStep,
17371
16621
  FValidationFormAction as FWizardStepAction,
17372
16622
  FormErrorList,
17373
- FormStep,
17374
16623
  IAnimateExpand,
17375
16624
  ICalendarMonth,
17376
16625
  ICalendarMonthGrid,
17377
16626
  ICalendarNavbar,
17378
- _sfc_main$S as IComboboxDropdown,
17379
- _sfc_main$R as IComboboxToggleButton,
16627
+ _sfc_main$O as IComboboxDropdown,
16628
+ _sfc_main$N as IComboboxToggleButton,
17380
16629
  IFlex,
17381
16630
  IFlexItem,
17382
16631
  IPopup,
17383
16632
  IPopupError,
17384
- _sfc_main$W as IPopupListbox,
16633
+ _sfc_main$S as IPopupListbox,
17385
16634
  IPopupMenu,
17386
16635
  ISkipLink,
17387
16636
  FValidationForm as IValidationForm,
@@ -17396,10 +16645,8 @@ export {
17396
16645
  UNHANDLED_ERROR_EVENT,
17397
16646
  ValidationPlugin,
17398
16647
  actionFromKeyboardEvent,
17399
- cleanUpElements,
17400
16648
  config,
17401
16649
  confirmModal,
17402
- createFFormProvideOptions,
17403
16650
  dispatchComponentUnmountEvent,
17404
16651
  dispatchComponentValidityEvent,
17405
16652
  findElementFromVueRef,
@@ -17416,9 +16663,7 @@ export {
17416
16663
  getHTMLElementsFromVueRef,
17417
16664
  getInputElement,
17418
16665
  getParentByName,
17419
- getRef,
17420
16666
  getSortedHTMLElementsFromVueRef,
17421
- getTextFromScopedSlot,
17422
16667
  handleKeyboardFocusNavigation,
17423
16668
  hasParentByName,
17424
16669
  hasSlot,
@@ -17426,7 +16671,6 @@ export {
17426
16671
  isContextMenuSeparatorItem,
17427
16672
  isContextMenuTextItem,
17428
16673
  isDialogueTreeEndQuestion,
17429
- isFormStepReference,
17430
16674
  itemEquals,
17431
16675
  mountComponent,
17432
16676
  openModal,
@@ -17436,10 +16680,7 @@ export {
17436
16680
  refIsVue,
17437
16681
  refIsVueArray,
17438
16682
  renderSlotText,
17439
- setIsOpen,
17440
- setRef,
17441
16683
  setRunningContext,
17442
- sortComponentsWithErrorsOnDOMOrder,
17443
16684
  tableScrollClasses,
17444
16685
  tooltipAttachTo,
17445
16686
  useCombobox,