@fkui/vue 6.1.0 → 6.3.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, 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, onUpdated, toRefs } from "vue";
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, onUpdated, toRefs, getCurrentScope, onScopeDispose, defineCustomElement } from "vue";
2
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
3
  import { groupByWeek, getWeekdayNamings, FDate, DateFormat } from "@fkui/date";
4
4
  const statuses = ["default", "warning", "error", "success", "info"];
5
- const _sfc_main$1b = /* @__PURE__ */ defineComponent({
5
+ const _sfc_main$1e = /* @__PURE__ */ defineComponent({
6
6
  __name: "FBadge",
7
7
  props: {
8
8
  /**
@@ -160,10 +160,10 @@ function requireClassofRaw() {
160
160
  if (hasRequiredClassofRaw) return classofRaw;
161
161
  hasRequiredClassofRaw = 1;
162
162
  var uncurryThis = requireFunctionUncurryThis();
163
- var toString = uncurryThis({}.toString);
163
+ var toString2 = uncurryThis({}.toString);
164
164
  var stringSlice = uncurryThis("".slice);
165
165
  classofRaw = function(it) {
166
- return stringSlice(toString(it), 8, -1);
166
+ return stringSlice(toString2(it), 8, -1);
167
167
  };
168
168
  return classofRaw;
169
169
  }
@@ -232,16 +232,16 @@ function requireIsCallable() {
232
232
  };
233
233
  return isCallable;
234
234
  }
235
- var isObject;
235
+ var isObject$1;
236
236
  var hasRequiredIsObject$1;
237
237
  function requireIsObject$1() {
238
- if (hasRequiredIsObject$1) return isObject;
238
+ if (hasRequiredIsObject$1) return isObject$1;
239
239
  hasRequiredIsObject$1 = 1;
240
240
  var isCallable2 = requireIsCallable();
241
- isObject = function(it) {
241
+ isObject$1 = function(it) {
242
242
  return typeof it == "object" ? it !== null : isCallable2(it);
243
243
  };
244
- return isObject;
244
+ return isObject$1;
245
245
  }
246
246
  var getBuiltIn;
247
247
  var hasRequiredGetBuiltIn;
@@ -449,10 +449,10 @@ function requireSharedStore() {
449
449
  var SHARED = "__core-js_shared__";
450
450
  var store = sharedStore.exports = globalThis2[SHARED] || defineGlobalProperty2(SHARED, {});
451
451
  (store.versions || (store.versions = [])).push({
452
- version: "3.40.0",
452
+ version: "3.41.0",
453
453
  mode: IS_PURE ? "pure" : "global",
454
454
  copyright: "© 2014-2025 Denis Pushkarev (zloirock.ru)",
455
- license: "https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE",
455
+ license: "https://github.com/zloirock/core-js/blob/v3.41.0/LICENSE",
456
456
  source: "https://github.com/zloirock/core-js"
457
457
  });
458
458
  return sharedStore.exports;
@@ -501,9 +501,9 @@ function requireUid() {
501
501
  var uncurryThis = requireFunctionUncurryThis();
502
502
  var id = 0;
503
503
  var postfix = Math.random();
504
- var toString = uncurryThis(1 .toString);
504
+ var toString2 = uncurryThis(1 .toString);
505
505
  uid = function(key) {
506
- return "Symbol(" + (key === void 0 ? "" : key) + ")_" + toString(++id + postfix, 36);
506
+ return "Symbol(" + (key === void 0 ? "" : key) + ")_" + toString2(++id + postfix, 36);
507
507
  };
508
508
  return uid;
509
509
  }
@@ -764,8 +764,8 @@ function requireWeakMapBasicDetection() {
764
764
  hasRequiredWeakMapBasicDetection = 1;
765
765
  var globalThis2 = requireGlobalThis();
766
766
  var isCallable2 = requireIsCallable();
767
- var WeakMap = globalThis2.WeakMap;
768
- weakMapBasicDetection = isCallable2(WeakMap) && /native code/.test(String(WeakMap));
767
+ var WeakMap2 = globalThis2.WeakMap;
768
+ weakMapBasicDetection = isCallable2(WeakMap2) && /native code/.test(String(WeakMap2));
769
769
  return weakMapBasicDetection;
770
770
  }
771
771
  var sharedKey;
@@ -804,7 +804,7 @@ function requireInternalState() {
804
804
  var hiddenKeys2 = requireHiddenKeys();
805
805
  var OBJECT_ALREADY_INITIALIZED = "Object already initialized";
806
806
  var TypeError2 = globalThis2.TypeError;
807
- var WeakMap = globalThis2.WeakMap;
807
+ var WeakMap2 = globalThis2.WeakMap;
808
808
  var set, get, has;
809
809
  var enforce = function(it) {
810
810
  return has(it) ? get(it) : set(it, {});
@@ -819,7 +819,7 @@ function requireInternalState() {
819
819
  };
820
820
  };
821
821
  if (NATIVE_WEAK_MAP || shared2.state) {
822
- var store = shared2.state || (shared2.state = new WeakMap());
822
+ var store = shared2.state || (shared2.state = new WeakMap2());
823
823
  store.get = store.get;
824
824
  store.has = store.has;
825
825
  store.set = store.set;
@@ -918,7 +918,7 @@ function requireMakeBuiltIn() {
918
918
  }
919
919
  return value;
920
920
  };
921
- Function.prototype.toString = makeBuiltIn$1(function toString() {
921
+ Function.prototype.toString = makeBuiltIn$1(function toString2() {
922
922
  return isCallable2(this) && getInternalState(this).source || inspectSource2(this);
923
923
  }, "toString");
924
924
  return makeBuiltIn.exports;
@@ -1881,7 +1881,7 @@ function requireEs_array_push() {
1881
1881
  requireEs_array_push();
1882
1882
  const Flip = ["horizontal", "vertical"];
1883
1883
  const Rotate = ["90", "180", "270"];
1884
- const _sfc_main$1a = defineComponent({
1884
+ const _sfc_main$1d = defineComponent({
1885
1885
  name: "FIcon",
1886
1886
  inheritAttrs: false,
1887
1887
  props: {
@@ -1969,8 +1969,8 @@ const _export_sfc = (sfc, props) => {
1969
1969
  }
1970
1970
  return target;
1971
1971
  };
1972
- const _hoisted_1$U = ["aria-hidden"];
1973
- const _hoisted_2$F = ["xlink:href"];
1972
+ const _hoisted_1$X = ["aria-hidden"];
1973
+ const _hoisted_2$G = ["xlink:href"];
1974
1974
  function _sfc_render$R(_ctx, _cache, $props, $setup, $data, $options) {
1975
1975
  return openBlock(), createElementBlock("svg", mergeProps(_ctx.$attrs, {
1976
1976
  focusable: "false",
@@ -1978,9 +1978,9 @@ function _sfc_render$R(_ctx, _cache, $props, $setup, $data, $options) {
1978
1978
  "aria-hidden": _ctx.ariaHidden
1979
1979
  }), [renderSlot(_ctx.$slots, "default"), _cache[0] || (_cache[0] = createTextVNode()), createElementVNode("use", {
1980
1980
  "xlink:href": _ctx.spriteId
1981
- }, null, 8, _hoisted_2$F)], 16, _hoisted_1$U);
1981
+ }, null, 8, _hoisted_2$G)], 16, _hoisted_1$X);
1982
1982
  }
1983
- const FIcon = /* @__PURE__ */ _export_sfc(_sfc_main$1a, [["render", _sfc_render$R]]);
1983
+ const FIcon = /* @__PURE__ */ _export_sfc(_sfc_main$1d, [["render", _sfc_render$R]]);
1984
1984
  const DATA_TEST_ATTRIBUTE_NAME = "data-test";
1985
1985
  function throwErrorIfEmpty(value) {
1986
1986
  if (!value) {
@@ -3871,8 +3871,8 @@ function require_WeakMap() {
3871
3871
  if (hasRequired_WeakMap) return _WeakMap;
3872
3872
  hasRequired_WeakMap = 1;
3873
3873
  var getNative = require_getNative(), root = require_root();
3874
- var WeakMap = getNative(root, "WeakMap");
3875
- _WeakMap = WeakMap;
3874
+ var WeakMap2 = getNative(root, "WeakMap");
3875
+ _WeakMap = WeakMap2;
3876
3876
  return _WeakMap;
3877
3877
  }
3878
3878
  var _getTag;
@@ -3880,12 +3880,12 @@ var hasRequired_getTag;
3880
3880
  function require_getTag() {
3881
3881
  if (hasRequired_getTag) return _getTag;
3882
3882
  hasRequired_getTag = 1;
3883
- var DataView2 = require_DataView(), Map2 = require_Map(), Promise2 = require_Promise(), Set = require_Set(), WeakMap = require_WeakMap(), baseGetTag = require_baseGetTag(), toSource = require_toSource();
3883
+ var DataView2 = require_DataView(), Map2 = require_Map(), Promise2 = require_Promise(), Set = require_Set(), WeakMap2 = require_WeakMap(), baseGetTag = require_baseGetTag(), toSource = require_toSource();
3884
3884
  var mapTag = "[object Map]", objectTag = "[object Object]", promiseTag = "[object Promise]", setTag = "[object Set]", weakMapTag = "[object WeakMap]";
3885
3885
  var dataViewTag = "[object DataView]";
3886
- var dataViewCtorString = toSource(DataView2), mapCtorString = toSource(Map2), promiseCtorString = toSource(Promise2), setCtorString = toSource(Set), weakMapCtorString = toSource(WeakMap);
3886
+ var dataViewCtorString = toSource(DataView2), mapCtorString = toSource(Map2), promiseCtorString = toSource(Promise2), setCtorString = toSource(Set), weakMapCtorString = toSource(WeakMap2);
3887
3887
  var getTag = baseGetTag;
3888
- if (DataView2 && getTag(new DataView2(new ArrayBuffer(1))) != dataViewTag || Map2 && getTag(new Map2()) != mapTag || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set && getTag(new Set()) != setTag || WeakMap && getTag(new WeakMap()) != weakMapTag) {
3888
+ if (DataView2 && getTag(new DataView2(new ArrayBuffer(1))) != dataViewTag || Map2 && getTag(new Map2()) != mapTag || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set && getTag(new Set()) != setTag || WeakMap2 && getTag(new WeakMap2()) != weakMapTag) {
3889
3889
  getTag = function(value) {
3890
3890
  var result = baseGetTag(value), Ctor = result == objectTag ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
3891
3891
  if (ctorString) {
@@ -4418,7 +4418,7 @@ function elementIsRadioButton(element) {
4418
4418
  function isHTMLInputElement(element) {
4419
4419
  return element instanceof HTMLInputElement;
4420
4420
  }
4421
- const _sfc_main$19 = defineComponent({
4421
+ const _sfc_main$1c = defineComponent({
4422
4422
  name: "FModal",
4423
4423
  components: {
4424
4424
  FIcon
@@ -4598,8 +4598,8 @@ const _sfc_main$19 = defineComponent({
4598
4598
  }
4599
4599
  }
4600
4600
  });
4601
- const _hoisted_1$T = ["id"];
4602
- const _hoisted_2$E = {
4601
+ const _hoisted_1$W = ["id"];
4602
+ const _hoisted_2$F = {
4603
4603
  class: "modal__backdrop"
4604
4604
  };
4605
4605
  const _hoisted_3$w = {
@@ -4628,7 +4628,7 @@ const _hoisted_8$8 = {
4628
4628
  const _hoisted_9$6 = {
4629
4629
  class: "modal__footer"
4630
4630
  };
4631
- const _hoisted_10$4 = {
4631
+ const _hoisted_10$3 = {
4632
4632
  class: "modal__shelf"
4633
4633
  };
4634
4634
  const _hoisted_11$3 = ["aria-label"];
@@ -4638,7 +4638,7 @@ function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
4638
4638
  key: 0,
4639
4639
  id: _ctx.id,
4640
4640
  class: normalizeClass(["modal", _ctx.modalClass])
4641
- }, [createElementVNode("div", _hoisted_2$E, [createElementVNode("div", {
4641
+ }, [createElementVNode("div", _hoisted_2$F, [createElementVNode("div", {
4642
4642
  class: "modal__outer-container scroll-target",
4643
4643
  tabindex: "-1",
4644
4644
  role: "dialog",
@@ -4650,7 +4650,7 @@ function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
4650
4650
  }, [createElementVNode("div", _hoisted_4$q, [createElementVNode("div", _hoisted_5$l, [createElementVNode("div", _hoisted_6$g, [createElementVNode("div", {
4651
4651
  tabindex: "0",
4652
4652
  onFocus: _cache[0] || (_cache[0] = (...args) => _ctx.onFocusFirst && _ctx.onFocusFirst(...args))
4653
- }, 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", {
4653
+ }, 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$3, [createElementVNode("button", {
4654
4654
  type: "button",
4655
4655
  class: "close-button",
4656
4656
  "aria-label": _ctx.ariaCloseText,
@@ -4660,9 +4660,9 @@ function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
4660
4660
  })], 8, _hoisted_11$3), _cache[8] || (_cache[8] = createTextVNode()), createElementVNode("div", {
4661
4661
  tabindex: "0",
4662
4662
  onFocus: _cache[2] || (_cache[2] = (...args) => _ctx.onFocusLast && _ctx.onFocusLast(...args))
4663
- }, null, 32)])])], 2)])], 32)])], 10, _hoisted_1$T)) : createCommentVNode("", true);
4663
+ }, null, 32)])])], 2)])], 32)])], 10, _hoisted_1$W)) : createCommentVNode("", true);
4664
4664
  }
4665
- const FModal = /* @__PURE__ */ _export_sfc(_sfc_main$19, [["render", _sfc_render$Q]]);
4665
+ const FModal = /* @__PURE__ */ _export_sfc(_sfc_main$1c, [["render", _sfc_render$Q]]);
4666
4666
  function prepareButtonList(src, buttonOrder = config.buttonOrder) {
4667
4667
  const list = src.map((it) => {
4668
4668
  var _it$event, _ref, _it$reason, _it$type;
@@ -4691,7 +4691,7 @@ const defaultButtons = [{
4691
4691
  event: "dismiss",
4692
4692
  type: "secondary"
4693
4693
  }];
4694
- const _sfc_main$18 = defineComponent({
4694
+ const _sfc_main$1b = defineComponent({
4695
4695
  name: "FConfirmModal",
4696
4696
  components: {
4697
4697
  FModal
@@ -4795,10 +4795,10 @@ const _sfc_main$18 = defineComponent({
4795
4795
  }
4796
4796
  }
4797
4797
  });
4798
- const _hoisted_1$S = {
4798
+ const _hoisted_1$V = {
4799
4799
  class: "button-group"
4800
4800
  };
4801
- const _hoisted_2$D = ["onClick"];
4801
+ const _hoisted_2$E = ["onClick"];
4802
4802
  const _hoisted_3$v = {
4803
4803
  key: 0,
4804
4804
  class: "sr-only"
@@ -4816,22 +4816,22 @@ function _sfc_render$P(_ctx, _cache, $props, $setup, $data, $options) {
4816
4816
  }, {
4817
4817
  header: withCtx(() => [renderSlot(_ctx.$slots, "heading", {}, () => [createTextVNode(toDisplayString(_ctx.heading), 1)])]),
4818
4818
  content: withCtx(() => [renderSlot(_ctx.$slots, "content", {}, () => [createTextVNode(toDisplayString(_ctx.content), 1)])]),
4819
- footer: withCtx(() => [createElementVNode("div", _hoisted_1$S, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.preparedButtons, (button) => {
4819
+ footer: withCtx(() => [createElementVNode("div", _hoisted_1$V, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.preparedButtons, (button) => {
4820
4820
  return openBlock(), createElementBlock("button", {
4821
4821
  key: button.label,
4822
4822
  type: "button",
4823
4823
  class: normalizeClass([button.classlist, "button-group__item"]),
4824
4824
  onClick: ($event) => _ctx.onClick(button)
4825
- }, [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);
4825
+ }, [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$E);
4826
4826
  }), 128))])]),
4827
4827
  _: 3
4828
4828
  }, 8, ["fullscreen", "is-open", "aria-close-text", "size", "focus", "onClose"]);
4829
4829
  }
4830
- const FConfirmModal = /* @__PURE__ */ _export_sfc(_sfc_main$18, [["render", _sfc_render$P]]);
4830
+ const FConfirmModal = /* @__PURE__ */ _export_sfc(_sfc_main$1b, [["render", _sfc_render$P]]);
4831
4831
  const GAP = ["1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x"];
4832
4832
  const ALIGNMENT = ["top", "center", "bottom"];
4833
4833
  const FLOAT = ["left", "center", "right"];
4834
- const _sfc_main$17 = defineComponent({
4834
+ const _sfc_main$1a = defineComponent({
4835
4835
  name: "IFlex",
4836
4836
  inheritAttrs: true,
4837
4837
  props: {
@@ -4911,8 +4911,8 @@ function _sfc_render$O(_ctx, _cache, $props, $setup, $data, $options) {
4911
4911
  class: normalizeClass(["iflex", _ctx.classList])
4912
4912
  }, [renderSlot(_ctx.$slots, "default")], 2);
4913
4913
  }
4914
- const IFlex = /* @__PURE__ */ _export_sfc(_sfc_main$17, [["render", _sfc_render$O]]);
4915
- const _sfc_main$16 = defineComponent({
4914
+ const IFlex = /* @__PURE__ */ _export_sfc(_sfc_main$1a, [["render", _sfc_render$O]]);
4915
+ const _sfc_main$19 = defineComponent({
4916
4916
  name: "IFlexItem",
4917
4917
  inheritAttrs: true,
4918
4918
  props: {
@@ -4964,7 +4964,7 @@ function _sfc_render$N(_ctx, _cache, $props, $setup, $data, $options) {
4964
4964
  class: normalizeClass(["iflex__item", _ctx.classList])
4965
4965
  }, [renderSlot(_ctx.$slots, "default")], 2);
4966
4966
  }
4967
- const IFlexItem = /* @__PURE__ */ _export_sfc(_sfc_main$16, [["render", _sfc_render$N]]);
4967
+ const IFlexItem = /* @__PURE__ */ _export_sfc(_sfc_main$19, [["render", _sfc_render$N]]);
4968
4968
  function focusError(item) {
4969
4969
  const element = document.querySelector(`#${item.id}`);
4970
4970
  if (!element) {
@@ -4974,7 +4974,7 @@ function focusError(item) {
4974
4974
  scrollTo(element, window.innerHeight * 0.25);
4975
4975
  focus$1(focusElement2 ? focusElement2 : element);
4976
4976
  }
4977
- const _sfc_main$15 = defineComponent({
4977
+ const _sfc_main$18 = defineComponent({
4978
4978
  name: "FErrorList",
4979
4979
  components: {
4980
4980
  FIcon,
@@ -5030,10 +5030,10 @@ const _sfc_main$15 = defineComponent({
5030
5030
  }
5031
5031
  }
5032
5032
  });
5033
- const _hoisted_1$R = {
5033
+ const _hoisted_1$U = {
5034
5034
  class: "error-list"
5035
5035
  };
5036
- const _hoisted_2$C = {
5036
+ const _hoisted_2$D = {
5037
5037
  key: 0
5038
5038
  };
5039
5039
  const _hoisted_3$u = {
@@ -5047,7 +5047,7 @@ function _sfc_render$M(_ctx, _cache, $props, $setup, $data, $options) {
5047
5047
  const _component_f_icon = resolveComponent("f-icon");
5048
5048
  const _component_i_flex_item = resolveComponent("i-flex-item");
5049
5049
  const _component_i_flex = resolveComponent("i-flex");
5050
- return openBlock(), createElementBlock("div", _hoisted_1$R, [createVNode(_component_i_flex, null, {
5050
+ return openBlock(), createElementBlock("div", _hoisted_1$U, [createVNode(_component_i_flex, null, {
5051
5051
  default: withCtx(() => [_ctx.hasTitleSlot ? (openBlock(), createBlock(_component_i_flex_item, {
5052
5052
  key: 0,
5053
5053
  shrink: ""
@@ -5066,7 +5066,7 @@ function _sfc_render$M(_ctx, _cache, $props, $setup, $data, $options) {
5066
5066
  })) : createCommentVNode("", true), _cache[7] || (_cache[7] = createTextVNode()), createVNode(_component_i_flex_item, {
5067
5067
  grow: ""
5068
5068
  }, {
5069
- 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) => {
5069
+ default: withCtx(() => [_ctx.hasTitleSlot ? (openBlock(), createElementBlock("div", _hoisted_2$D, [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) => {
5070
5070
  return openBlock(), createElementBlock("li", {
5071
5071
  key: item.id,
5072
5072
  class: normalizeClass(_ctx.liClasses(item))
@@ -5097,7 +5097,7 @@ function _sfc_render$M(_ctx, _cache, $props, $setup, $data, $options) {
5097
5097
  _: 3
5098
5098
  })]);
5099
5099
  }
5100
- const FErrorList = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["render", _sfc_render$M]]);
5100
+ const FErrorList = /* @__PURE__ */ _export_sfc(_sfc_main$18, [["render", _sfc_render$M]]);
5101
5101
  var es_iterator_every = {};
5102
5102
  var hasRequiredEs_iterator_every;
5103
5103
  function requireEs_iterator_every() {
@@ -5185,7 +5185,7 @@ function cleanUpElements(vm) {
5185
5185
  }, 0);
5186
5186
  });
5187
5187
  }
5188
- const _sfc_main$14 = defineComponent({
5188
+ const _sfc_main$17 = defineComponent({
5189
5189
  name: "FValidationGroup",
5190
5190
  props: {
5191
5191
  /**
@@ -5261,13 +5261,13 @@ function _sfc_render$L(_ctx, _cache, $props, $setup, $data, $options) {
5261
5261
  onComponentUnmount: _cache[1] || (_cache[1] = (...args) => _ctx.onComponentUnmount && _ctx.onComponentUnmount(...args))
5262
5262
  }, [renderSlot(_ctx.$slots, "default")], 32);
5263
5263
  }
5264
- const FValidationGroup = /* @__PURE__ */ _export_sfc(_sfc_main$14, [["render", _sfc_render$L]]);
5264
+ const FValidationGroup = /* @__PURE__ */ _export_sfc(_sfc_main$17, [["render", _sfc_render$L]]);
5265
5265
  var FValidationFormAction = /* @__PURE__ */ ((FValidationFormAction2) => {
5266
5266
  FValidationFormAction2[FValidationFormAction2["CONTINUE"] = 0] = "CONTINUE";
5267
5267
  FValidationFormAction2[FValidationFormAction2["CANCEL"] = 1] = "CANCEL";
5268
5268
  return FValidationFormAction2;
5269
5269
  })(FValidationFormAction || {});
5270
- const _sfc_main$13 = defineComponent({
5270
+ const _sfc_main$16 = defineComponent({
5271
5271
  name: "FValidationForm",
5272
5272
  components: {
5273
5273
  FValidationGroup,
@@ -5406,8 +5406,8 @@ const _sfc_main$13 = defineComponent({
5406
5406
  }
5407
5407
  }
5408
5408
  });
5409
- const _hoisted_1$Q = ["id"];
5410
- const _hoisted_2$B = {
5409
+ const _hoisted_1$T = ["id"];
5410
+ const _hoisted_2$C = {
5411
5411
  key: 0,
5412
5412
  ref: "errors",
5413
5413
  tabindex: "-1",
@@ -5428,19 +5428,19 @@ function _sfc_render$K(_ctx, _cache, $props, $setup, $data, $options) {
5428
5428
  novalidate: "",
5429
5429
  autocomplete: "off",
5430
5430
  onSubmit: _cache[0] || (_cache[0] = withModifiers((...args) => _ctx.onSubmit && _ctx.onSubmit(...args), ["prevent"]))
5431
- }), [_ctx.displayErrors ? (openBlock(), createElementBlock("nav", _hoisted_2$B, [createVNode(_component_f_error_list, {
5431
+ }), [_ctx.displayErrors ? (openBlock(), createElementBlock("nav", _hoisted_2$C, [createVNode(_component_f_error_list, {
5432
5432
  items: _ctx.errors,
5433
5433
  bullets: _ctx.errorListBullets,
5434
5434
  "before-navigate": _ctx.errorListBeforeNavigate
5435
5435
  }, {
5436
5436
  title: withCtx(() => [renderSlot(_ctx.$slots, "error-message")]),
5437
5437
  _: 3
5438
- }, 8, ["items", "bullets", "before-navigate"])], 512)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$Q)]),
5438
+ }, 8, ["items", "bullets", "before-navigate"])], 512)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$T)]),
5439
5439
  _: 3
5440
5440
  }, 8, ["modelValue"]);
5441
5441
  }
5442
- const FValidationForm = /* @__PURE__ */ _export_sfc(_sfc_main$13, [["render", _sfc_render$K]]);
5443
- const _sfc_main$12 = defineComponent({
5442
+ const FValidationForm = /* @__PURE__ */ _export_sfc(_sfc_main$16, [["render", _sfc_render$K]]);
5443
+ const _sfc_main$15 = defineComponent({
5444
5444
  name: "FFormModal",
5445
5445
  components: {
5446
5446
  FModal,
@@ -5589,10 +5589,10 @@ const _sfc_main$12 = defineComponent({
5589
5589
  }
5590
5590
  }
5591
5591
  });
5592
- const _hoisted_1$P = {
5592
+ const _hoisted_1$S = {
5593
5593
  class: "button-group"
5594
5594
  };
5595
- const _hoisted_2$A = ["type", "form", "onClick"];
5595
+ const _hoisted_2$B = ["type", "form", "onClick"];
5596
5596
  const _hoisted_3$t = {
5597
5597
  key: 0,
5598
5598
  class: "sr-only"
@@ -5621,19 +5621,19 @@ function _sfc_render$J(_ctx, _cache, $props, $setup, $data, $options) {
5621
5621
  default: withCtx(() => [_cache[0] || (_cache[0] = createTextVNode()), renderSlot(_ctx.$slots, "input-text-fields")]),
5622
5622
  _: 3
5623
5623
  }, 8, ["id", "before-submit", "before-validation", "use-error-list", "onSubmit", "onCancel"])]),
5624
- footer: withCtx(() => [createElementVNode("div", _hoisted_1$P, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.preparedButtons, (button) => {
5624
+ footer: withCtx(() => [createElementVNode("div", _hoisted_1$S, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.preparedButtons, (button) => {
5625
5625
  return openBlock(), createElementBlock("button", {
5626
5626
  key: button.label,
5627
5627
  type: button.buttonType,
5628
5628
  class: normalizeClass([button.classlist, "button-group__item"]),
5629
5629
  form: button.buttonType === "submit" ? _ctx.formId : void 0,
5630
5630
  onClick: ($event) => button.buttonType === "button" ? _ctx.onCancel() : false
5631
- }, [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);
5631
+ }, [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$B);
5632
5632
  }), 128))])]),
5633
5633
  _: 3
5634
5634
  }, 8, ["data-test", "fullscreen", "is-open", "size", "aria-close-text", "onClose"]);
5635
5635
  }
5636
- const FFormModal = /* @__PURE__ */ _export_sfc(_sfc_main$12, [["render", _sfc_render$J]]);
5636
+ const FFormModal = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["render", _sfc_render$J]]);
5637
5637
  async function confirmModal(callingInstance, texts) {
5638
5638
  const buttons = [{
5639
5639
  label: texts.confirm,
@@ -5993,7 +5993,7 @@ const ErrorPlugin = {
5993
5993
  }
5994
5994
  }
5995
5995
  };
5996
- const _sfc_main$11 = defineComponent({
5996
+ const _sfc_main$14 = defineComponent({
5997
5997
  name: "FErrorPage",
5998
5998
  props: {
5999
5999
  payload: {
@@ -6003,16 +6003,16 @@ const _sfc_main$11 = defineComponent({
6003
6003
  }
6004
6004
  }
6005
6005
  });
6006
- const _hoisted_1$O = {
6006
+ const _hoisted_1$R = {
6007
6007
  "data-test": "f-error-page"
6008
6008
  };
6009
6009
  function _sfc_render$I(_ctx, _cache, $props, $setup, $data, $options) {
6010
- 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", {
6010
+ return openBlock(), createElementBlock("div", _hoisted_1$R, _cache[0] || (_cache[0] = [createElementVNode("h1", null, "Fel", -1), createTextVNode(), createElementVNode("p", null, "Ett fel har uppstått.", -1), createTextVNode(), createElementVNode("a", {
6011
6011
  href: "/"
6012
6012
  }, "Gå till startsidan", -1)]));
6013
6013
  }
6014
- const FErrorPage = /* @__PURE__ */ _export_sfc(_sfc_main$11, [["render", _sfc_render$I]]);
6015
- const _sfc_main$10 = defineComponent({
6014
+ const FErrorPage = /* @__PURE__ */ _export_sfc(_sfc_main$14, [["render", _sfc_render$I]]);
6015
+ const _sfc_main$13 = defineComponent({
6016
6016
  name: "FErrorHandlingApp",
6017
6017
  props: {
6018
6018
  defaultComponent: {
@@ -6051,7 +6051,7 @@ function _sfc_render$H(_ctx, _cache, $props, $setup, $data, $options) {
6051
6051
  key: 2
6052
6052
  })]);
6053
6053
  }
6054
- const FErrorHandlingApp = /* @__PURE__ */ _export_sfc(_sfc_main$10, [["render", _sfc_render$H]]);
6054
+ const FErrorHandlingApp = /* @__PURE__ */ _export_sfc(_sfc_main$13, [["render", _sfc_render$H]]);
6055
6055
  function isMonthBefore(date, minDate) {
6056
6056
  return Boolean(minDate && date.isBefore(minDate.startOfMonth()));
6057
6057
  }
@@ -6092,7 +6092,7 @@ function getMessage($t2, date, minDate, maxDate) {
6092
6092
  });
6093
6093
  }
6094
6094
  }
6095
- const _sfc_main$$ = defineComponent({
6095
+ const _sfc_main$12 = defineComponent({
6096
6096
  name: "ICalendarNavbar",
6097
6097
  components: {
6098
6098
  FIcon
@@ -6205,10 +6205,10 @@ const _sfc_main$$ = defineComponent({
6205
6205
  }
6206
6206
  }
6207
6207
  });
6208
- const _hoisted_1$N = {
6208
+ const _hoisted_1$Q = {
6209
6209
  class: "calendar-navbar"
6210
6210
  };
6211
- const _hoisted_2$z = {
6211
+ const _hoisted_2$A = {
6212
6212
  class: "calendar-navbar__month",
6213
6213
  tabindex: "-1"
6214
6214
  };
@@ -6222,7 +6222,7 @@ const _hoisted_6$f = {
6222
6222
  };
6223
6223
  function _sfc_render$G(_ctx, _cache, $props, $setup, $data, $options) {
6224
6224
  const _component_f_icon = resolveComponent("f-icon");
6225
- return openBlock(), createElementBlock("div", _hoisted_1$N, [createElementVNode("div", _hoisted_2$z, toDisplayString(_ctx.currentText), 1), _cache[4] || (_cache[4] = createTextVNode()), createElementVNode("button", {
6225
+ return openBlock(), createElementBlock("div", _hoisted_1$Q, [createElementVNode("div", _hoisted_2$A, toDisplayString(_ctx.currentText), 1), _cache[4] || (_cache[4] = createTextVNode()), createElementVNode("button", {
6226
6226
  ref: "previousButton",
6227
6227
  class: "calendar-navbar__arrow calendar-navbar__arrow--previous",
6228
6228
  type: "button",
@@ -6244,14 +6244,14 @@ function _sfc_render$G(_ctx, _cache, $props, $setup, $data, $options) {
6244
6244
  name: "arrow-right"
6245
6245
  }, null, 8, ["class"])], 8, _hoisted_5$j)]);
6246
6246
  }
6247
- const ICalendarNavbar = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["render", _sfc_render$G]]);
6247
+ const ICalendarNavbar = /* @__PURE__ */ _export_sfc(_sfc_main$12, [["render", _sfc_render$G]]);
6248
6248
  function getDayStartOffset(days) {
6249
6249
  return days[0].weekDay - 1;
6250
6250
  }
6251
6251
  function getDayEndOffset(days) {
6252
6252
  return 7 - days[days.length - 1].weekDay;
6253
6253
  }
6254
- const _sfc_main$_ = defineComponent({
6254
+ const _sfc_main$11 = defineComponent({
6255
6255
  name: "ICalendarMonthGrid",
6256
6256
  props: {
6257
6257
  /**
@@ -6325,8 +6325,8 @@ const _sfc_main$_ = defineComponent({
6325
6325
  }
6326
6326
  }
6327
6327
  });
6328
- const _hoisted_1$M = ["aria-label"];
6329
- const _hoisted_2$y = {
6328
+ const _hoisted_1$P = ["aria-label"];
6329
+ const _hoisted_2$z = {
6330
6330
  key: 0,
6331
6331
  class: "calendar-month__col--week"
6332
6332
  };
@@ -6351,7 +6351,7 @@ const _hoisted_9$5 = {
6351
6351
  key: 0,
6352
6352
  "aria-hidden": "true"
6353
6353
  };
6354
- const _hoisted_10$3 = ["colspan"];
6354
+ const _hoisted_10$2 = ["colspan"];
6355
6355
  const _hoisted_11$2 = {
6356
6356
  key: 1,
6357
6357
  "aria-hidden": "true"
@@ -6364,7 +6364,7 @@ function _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {
6364
6364
  "aria-label": _ctx.ariaLabel,
6365
6365
  onFocusin: _cache[0] || (_cache[0] = (...args) => _ctx.onFocusin && _ctx.onFocusin(...args)),
6366
6366
  onFocusout: _cache[1] || (_cache[1] = (...args) => _ctx.onFocusout && _ctx.onFocusout(...args))
6367
- }, [createElementVNode("colgroup", null, [!_ctx.internalHideWeekNumbers ? (openBlock(), createElementBlock("col", _hoisted_2$y)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), _cache[3] || (_cache[3] = createElementVNode("col", {
6367
+ }, [createElementVNode("colgroup", null, [!_ctx.internalHideWeekNumbers ? (openBlock(), createElementBlock("col", _hoisted_2$z)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), _cache[3] || (_cache[3] = createElementVNode("col", {
6368
6368
  class: "calendar-month__col--day"
6369
6369
  }, null, -1)), _cache[4] || (_cache[4] = createTextVNode()), _cache[5] || (_cache[5] = createElementVNode("col", {
6370
6370
  class: "calendar-month__col--day"
@@ -6414,13 +6414,13 @@ function _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {
6414
6414
  class: "calendar-month__cell",
6415
6415
  colspan: _ctx.totalCols,
6416
6416
  "aria-hidden": "true"
6417
- }, null, 8, _hoisted_10$3)])) : createCommentVNode("", true), _cache[21] || (_cache[21] = createTextVNode()), _ctx.weeks.length < 6 ? (openBlock(), createElementBlock("tr", _hoisted_11$2, [createElementVNode("td", {
6417
+ }, null, 8, _hoisted_10$2)])) : createCommentVNode("", true), _cache[21] || (_cache[21] = createTextVNode()), _ctx.weeks.length < 6 ? (openBlock(), createElementBlock("tr", _hoisted_11$2, [createElementVNode("td", {
6418
6418
  class: "calendar-month__cell",
6419
6419
  colspan: _ctx.totalCols,
6420
6420
  "aria-hidden": "true"
6421
- }, null, 8, _hoisted_12$2)])) : createCommentVNode("", true)])], 40, _hoisted_1$M);
6421
+ }, null, 8, _hoisted_12$2)])) : createCommentVNode("", true)])], 40, _hoisted_1$P);
6422
6422
  }
6423
- const ICalendarMonthGrid = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["render", _sfc_render$F]]);
6423
+ const ICalendarMonthGrid = /* @__PURE__ */ _export_sfc(_sfc_main$11, [["render", _sfc_render$F]]);
6424
6424
  const DayStep = {
6425
6425
  ArrowRight: 1,
6426
6426
  ArrowLeft: -1,
@@ -6444,7 +6444,7 @@ function getDayTabindex(date, active, entry) {
6444
6444
  return date.day === 1 ? 0 : -1;
6445
6445
  }
6446
6446
  }
6447
- const _sfc_main$Z = defineComponent({
6447
+ const _sfc_main$10 = defineComponent({
6448
6448
  name: "ICalendarMonth",
6449
6449
  components: {
6450
6450
  ICalendarMonthGrid
@@ -6534,7 +6534,7 @@ const _sfc_main$Z = defineComponent({
6534
6534
  }
6535
6535
  }
6536
6536
  });
6537
- const _hoisted_1$L = ["data-date", "tabindex", "onClick", "onKeydown"];
6537
+ const _hoisted_1$O = ["data-date", "tabindex", "onClick", "onKeydown"];
6538
6538
  function _sfc_render$E(_ctx, _cache, $props, $setup, $data, $options) {
6539
6539
  const _component_i_calendar_month_grid = resolveComponent("i-calendar-month-grid");
6540
6540
  return openBlock(), createBlock(_component_i_calendar_month_grid, {
@@ -6554,12 +6554,12 @@ function _sfc_render$E(_ctx, _cache, $props, $setup, $data, $options) {
6554
6554
  }, [renderSlot(_ctx.$slots, "default", {
6555
6555
  date,
6556
6556
  isFocused: _ctx.isDayFocused(date)
6557
- })], 40, _hoisted_1$L)]),
6557
+ })], 40, _hoisted_1$O)]),
6558
6558
  _: 3
6559
6559
  }, 8, ["value"]);
6560
6560
  }
6561
- const ICalendarMonth = /* @__PURE__ */ _export_sfc(_sfc_main$Z, [["render", _sfc_render$E]]);
6562
- const _sfc_main$Y = defineComponent({
6561
+ const ICalendarMonth = /* @__PURE__ */ _export_sfc(_sfc_main$10, [["render", _sfc_render$E]]);
6562
+ const _sfc_main$$ = defineComponent({
6563
6563
  name: "FCalendar",
6564
6564
  components: {
6565
6565
  ICalendarNavbar,
@@ -6610,13 +6610,13 @@ const _sfc_main$Y = defineComponent({
6610
6610
  }
6611
6611
  }
6612
6612
  });
6613
- const _hoisted_1$K = {
6613
+ const _hoisted_1$N = {
6614
6614
  class: "calendar__wrapper"
6615
6615
  };
6616
6616
  function _sfc_render$D(_ctx, _cache, $props, $setup, $data, $options) {
6617
6617
  const _component_i_calendar_navbar = resolveComponent("i-calendar-navbar");
6618
6618
  const _component_i_calendar_month = resolveComponent("i-calendar-month");
6619
- return openBlock(), createElementBlock("div", _hoisted_1$K, [createVNode(_component_i_calendar_navbar, {
6619
+ return openBlock(), createElementBlock("div", _hoisted_1$N, [createVNode(_component_i_calendar_navbar, {
6620
6620
  "model-value": _ctx.modelValue,
6621
6621
  "min-date": _ctx.minDate,
6622
6622
  "max-date": _ctx.maxDate,
@@ -6639,7 +6639,7 @@ function _sfc_render$D(_ctx, _cache, $props, $setup, $data, $options) {
6639
6639
  _: 3
6640
6640
  }, 8, ["model-value", "min-date", "max-date", "tab-date", "onClick", "onUpdate:modelValue"])]);
6641
6641
  }
6642
- const FCalendar = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["render", _sfc_render$D]]);
6642
+ const FCalendar = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["render", _sfc_render$D]]);
6643
6643
  function getCalendarDaySrText(day, enabled, selected, t) {
6644
6644
  const parts = [];
6645
6645
  if (!enabled) {
@@ -6658,7 +6658,7 @@ function getCalendarDaySrText(day, enabled, selected, t) {
6658
6658
  parts.push(day.toString(DateFormat.FULL));
6659
6659
  return parts.join(" ");
6660
6660
  }
6661
- const _sfc_main$X = defineComponent({
6661
+ const _sfc_main$_ = defineComponent({
6662
6662
  name: "FCalendarDay",
6663
6663
  mixins: [TranslationMixin],
6664
6664
  props: {
@@ -6723,19 +6723,19 @@ const _sfc_main$X = defineComponent({
6723
6723
  }
6724
6724
  }
6725
6725
  });
6726
- const _hoisted_1$J = {
6726
+ const _hoisted_1$M = {
6727
6727
  "aria-hidden": "true"
6728
6728
  };
6729
- const _hoisted_2$x = {
6729
+ const _hoisted_2$y = {
6730
6730
  class: "sr-only"
6731
6731
  };
6732
6732
  function _sfc_render$C(_ctx, _cache, $props, $setup, $data, $options) {
6733
6733
  return openBlock(), createElementBlock("span", {
6734
6734
  class: normalizeClass(_ctx.dayClasses)
6735
- }, [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);
6735
+ }, [createElementVNode("span", _hoisted_1$M, toDisplayString(_ctx.day.day), 1), _cache[0] || (_cache[0] = createTextVNode()), createElementVNode("span", _hoisted_2$y, toDisplayString(_ctx.srText), 1)], 2);
6736
6736
  }
6737
- const FCalendarDay = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["render", _sfc_render$C]]);
6738
- function useEventListener(target, event, callback) {
6737
+ const FCalendarDay = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["render", _sfc_render$C]]);
6738
+ function useEventListener$1(target, event, callback) {
6739
6739
  onMounted(() => {
6740
6740
  var _a;
6741
6741
  (_a = toValue(target)) == null ? void 0 : _a.addEventListener(event, callback);
@@ -6755,8 +6755,8 @@ function useSlotUtils() {
6755
6755
  }
6756
6756
  };
6757
6757
  }
6758
- const _hoisted_1$I = ["id"];
6759
- const _hoisted_2$w = {
6758
+ const _hoisted_1$L = ["id"];
6759
+ const _hoisted_2$x = {
6760
6760
  key: 0,
6761
6761
  class: "card__header"
6762
6762
  };
@@ -6767,7 +6767,7 @@ const _hoisted_4$m = {
6767
6767
  key: 1,
6768
6768
  class: "card__footer"
6769
6769
  };
6770
- const _sfc_main$W = /* @__PURE__ */ defineComponent({
6770
+ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
6771
6771
  __name: "FCard",
6772
6772
  props: {
6773
6773
  /**
@@ -6825,7 +6825,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
6825
6825
  id: __props.id,
6826
6826
  class: normalizeClass(cardClass.value),
6827
6827
  onValidity
6828
- }, [hasHeaderSlot.value ? (openBlock(), createElementBlock("div", _hoisted_2$w, [renderSlot(_ctx.$slots, "header", normalizeProps(guardReactiveProps({
6828
+ }, [hasHeaderSlot.value ? (openBlock(), createElementBlock("div", _hoisted_2$x, [renderSlot(_ctx.$slots, "header", normalizeProps(guardReactiveProps({
6829
6829
  headingSlotClass: "card__header-label"
6830
6830
  })))])) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), renderSlot(_ctx.$slots, "error-message", normalizeProps(guardReactiveProps({
6831
6831
  hasError: hasError.value,
@@ -6853,11 +6853,11 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
6853
6853
  })) : 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({
6854
6854
  hasError: hasError.value,
6855
6855
  validationMessage: validationMessage.value
6856
- })))])) : createCommentVNode("", true)], 42, _hoisted_1$I);
6856
+ })))])) : createCommentVNode("", true)], 42, _hoisted_1$L);
6857
6857
  };
6858
6858
  }
6859
6859
  });
6860
- const _sfc_main$V = defineComponent({
6860
+ const _sfc_main$Y = defineComponent({
6861
6861
  name: "FExpand",
6862
6862
  data() {
6863
6863
  return {
@@ -6923,7 +6923,7 @@ function _sfc_render$B(_ctx, _cache, $props, $setup, $data, $options) {
6923
6923
  _: 3
6924
6924
  }, 8, ["onEnter", "onAfterEnter", "onLeave"]);
6925
6925
  }
6926
- const FExpand = /* @__PURE__ */ _export_sfc(_sfc_main$V, [["render", _sfc_render$B]]);
6926
+ const FExpand = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["render", _sfc_render$B]]);
6927
6927
  function offset(page, el) {
6928
6928
  const rect = el.getBoundingClientRect();
6929
6929
  return {
@@ -7208,7 +7208,7 @@ function isTeleportDisabled(options) {
7208
7208
  }
7209
7209
  return disableTeleport;
7210
7210
  }
7211
- const _sfc_main$U = defineComponent({
7211
+ const _sfc_main$X = defineComponent({
7212
7212
  name: "IPopup",
7213
7213
  inheritAttrs: false,
7214
7214
  props: {
@@ -7510,7 +7510,7 @@ function _sfc_render$A(_ctx, _cache, $props, $setup, $data, $options) {
7510
7510
  placement: _ctx.placement
7511
7511
  })))], 544)], 16)], 8, ["to", "disabled"])) : createCommentVNode("", true);
7512
7512
  }
7513
- const IPopup = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["render", _sfc_render$A]]);
7513
+ const IPopup = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["render", _sfc_render$A]]);
7514
7514
  function computeArrowOffset(placement, inputIconRect, wrapperRect) {
7515
7515
  switch (placement) {
7516
7516
  case Placement.A: {
@@ -7574,7 +7574,7 @@ function computeArrowOffset(placement, inputIconRect, wrapperRect) {
7574
7574
  }
7575
7575
  }
7576
7576
  const POPUP_SPACING = 10;
7577
- const _sfc_main$T = defineComponent({
7577
+ const _sfc_main$W = defineComponent({
7578
7578
  name: "IPopupError",
7579
7579
  components: {
7580
7580
  FIcon
@@ -7712,7 +7712,7 @@ const _sfc_main$T = defineComponent({
7712
7712
  }
7713
7713
  }
7714
7714
  });
7715
- const _hoisted_1$H = {
7715
+ const _hoisted_1$K = {
7716
7716
  ref: "wrapper",
7717
7717
  class: "popup-error__wrapper"
7718
7718
  };
@@ -7726,7 +7726,7 @@ function _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {
7726
7726
  ref: "popup",
7727
7727
  class: normalizeClass(_ctx.popupClasses),
7728
7728
  "aria-hidden": "true"
7729
- }, [createElementVNode("div", _hoisted_1$H, [createElementVNode("div", {
7729
+ }, [createElementVNode("div", _hoisted_1$K, [createElementVNode("div", {
7730
7730
  class: normalizeClass(_ctx.arrowClass),
7731
7731
  style: normalizeStyle(_ctx.errorStyle)
7732
7732
  }, [createElementVNode("span", null, toDisplayString(_ctx.errorMessage), 1), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("button", {
@@ -7740,7 +7740,7 @@ function _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {
7740
7740
  class: "button__icon"
7741
7741
  })])], 6)], 512)], 2)], 8, ["to", "disabled"])) : createCommentVNode("", true);
7742
7742
  }
7743
- const IPopupError = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["render", _sfc_render$z]]);
7743
+ const IPopupError = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["render", _sfc_render$z]]);
7744
7744
  function numItems(itemHeight, availableHeight, verticalSpacing) {
7745
7745
  const itemsFit = Math.floor((availableHeight - verticalSpacing) / itemHeight);
7746
7746
  return Math.min(itemsFit, 7);
@@ -7807,12 +7807,12 @@ function computeListboxRect(anchor, options, root = document.documentElement, {
7807
7807
  }
7808
7808
  return void 0;
7809
7809
  }
7810
- const _hoisted_1$G = ["onKeyup"];
7811
- const _hoisted_2$v = {
7810
+ const _hoisted_1$J = ["onKeyup"];
7811
+ const _hoisted_2$w = {
7812
7812
  ref: "content"
7813
7813
  };
7814
7814
  const teleportDisabled = false;
7815
- const _sfc_main$S = /* @__PURE__ */ defineComponent({
7815
+ const _sfc_main$V = /* @__PURE__ */ defineComponent({
7816
7816
  __name: "IPopupListbox",
7817
7817
  props: {
7818
7818
  isOpen: {
@@ -7834,7 +7834,7 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
7834
7834
  const teleportTarget = computed(() => config.teleportTarget);
7835
7835
  let guessedItemHeight = void 0;
7836
7836
  let verticalSpacing = void 0;
7837
- useEventListener(__props.anchor, "keyup", onKeyEsc);
7837
+ useEventListener$1(__props.anchor, "keyup", onKeyEsc);
7838
7838
  watchEffect(() => {
7839
7839
  if (wrapperRef.value && __props.activeElement !== void 0) {
7840
7840
  const centerPosition = __props.activeElement.offsetTop - (wrapperRef.value.getBoundingClientRect().height - __props.activeElement.getBoundingClientRect().height) / 2;
@@ -7917,7 +7917,11 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
7917
7917
  }
7918
7918
  if (verticalSpacing === void 0) {
7919
7919
  const absWrapper = getAbsolutePosition(wrapperElement);
7920
- const marginTotal = absWrapper.y * 2;
7920
+ const {
7921
+ marginTop,
7922
+ marginBottom
7923
+ } = getComputedStyle(wrapperElement);
7924
+ const marginTotal = parseInt(marginTop, 10) + parseInt(marginBottom, 10);
7921
7925
  verticalSpacing = Math.ceil(absWrapper.height - contentItemHeigth * __props.numOfItems) + marginTotal;
7922
7926
  }
7923
7927
  wrapperElement.style.overflowY = "auto";
@@ -7929,7 +7933,7 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
7929
7933
  verticalSpacing
7930
7934
  });
7931
7935
  if (rect) {
7932
- var _offsetRect$x;
7936
+ var _offsetRect$x, _offsetRect$top;
7933
7937
  const {
7934
7938
  top,
7935
7939
  left,
@@ -7938,7 +7942,8 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
7938
7942
  } = rect;
7939
7943
  const offsetRect = (_a = wrapperElement == null ? void 0 : wrapperElement.offsetParent) == null ? void 0 : _a.getBoundingClientRect();
7940
7944
  const offsetLeft = (_offsetRect$x = offsetRect == null ? void 0 : offsetRect.x) !== null && _offsetRect$x !== void 0 ? _offsetRect$x : 0;
7941
- wrapperElement.style.top = `${top}px`;
7945
+ const offSetTop = Math.floor(((_offsetRect$top = offsetRect == null ? void 0 : offsetRect.top) !== null && _offsetRect$top !== void 0 ? _offsetRect$top : 0) + window.scrollY);
7946
+ wrapperElement.style.top = `${top - offSetTop}px`;
7942
7947
  wrapperElement.style.left = `${left - offsetLeft}px`;
7943
7948
  wrapperElement.style.width = `${width}px`;
7944
7949
  contentWrapper.style.maxHeight = `${height}px`;
@@ -7961,7 +7966,7 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
7961
7966
  onKeyup: withKeys(withModifiers(onKeyEsc, ["stop"]), ["esc"]),
7962
7967
  onClick: _cache[0] || (_cache[0] = withModifiers(() => {
7963
7968
  }, ["stop"]))
7964
- }), [createElementVNode("div", _hoisted_2$v, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1$G)], 512)], 8, ["to"])) : createCommentVNode("", true);
7969
+ }), [createElementVNode("div", _hoisted_2$w, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1$J)], 512)], 8, ["to"])) : createCommentVNode("", true);
7965
7970
  };
7966
7971
  }
7967
7972
  });
@@ -8005,7 +8010,7 @@ async function doMenuAction$2(action, target) {
8005
8010
  }
8006
8011
  }
8007
8012
  const preventKeys$2 = ["Tab", "Up", "Down", "ArrowUp", "ArrowDown", "Home", "End", " ", "Spacebar", "Enter"];
8008
- const _sfc_main$R = defineComponent({
8013
+ const _sfc_main$U = defineComponent({
8009
8014
  name: "IPopupMenu",
8010
8015
  components: {
8011
8016
  IPopup
@@ -8260,8 +8265,8 @@ const _sfc_main$R = defineComponent({
8260
8265
  }
8261
8266
  }
8262
8267
  });
8263
- const _hoisted_1$F = ["aria-label"];
8264
- const _hoisted_2$u = {
8268
+ const _hoisted_1$I = ["aria-label"];
8269
+ const _hoisted_2$v = {
8265
8270
  role: "menu",
8266
8271
  class: "ipopupmenu__list"
8267
8272
  };
@@ -8286,7 +8291,7 @@ function _sfc_render$y(_ctx, _cache, $props, $setup, $data, $options) {
8286
8291
  default: withCtx(() => [createElementVNode("nav", {
8287
8292
  class: "ipopupmenu ipopupmenu--vertical",
8288
8293
  "aria-label": _ctx.ariaLabel
8289
- }, [createElementVNode("ul", _hoisted_2$u, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item, index) => {
8294
+ }, [createElementVNode("ul", _hoisted_2$v, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item, index) => {
8290
8295
  return openBlock(), createElementBlock("li", {
8291
8296
  ref_for: true,
8292
8297
  ref: "items",
@@ -8303,17 +8308,17 @@ function _sfc_render$y(_ctx, _cache, $props, $setup, $data, $options) {
8303
8308
  target: item.target,
8304
8309
  tabindex: "0"
8305
8310
  }, [_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);
8306
- }), 128))])], 8, _hoisted_1$F)]),
8311
+ }), 128))])], 8, _hoisted_1$I)]),
8307
8312
  _: 1
8308
8313
  }, 8, ["is-open", "anchor", "focus-element", "onKeyup", "onKeydown"]);
8309
8314
  }
8310
- const IPopupMenu = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["render", _sfc_render$y]]);
8315
+ const IPopupMenu = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["render", _sfc_render$y]]);
8311
8316
  const ANIMATION_DURATION = 500;
8312
8317
  const NO_CSS_CLASSES = "";
8313
8318
  const CLOSED_CSS_CLASS_OPACITY = "animate-expand animate-expand--opacity";
8314
8319
  const CLOSED_CSS_CLASS = "animate-expand";
8315
8320
  const ANIMATION_CSS_CLASSES = "animate-expand animate-expand--expanded";
8316
- const _sfc_main$Q = defineComponent({
8321
+ const _sfc_main$T = defineComponent({
8317
8322
  name: "IAnimateExpand",
8318
8323
  props: {
8319
8324
  /**
@@ -8505,7 +8510,7 @@ const _sfc_main$Q = defineComponent({
8505
8510
  }
8506
8511
  }
8507
8512
  });
8508
- const _hoisted_1$E = {
8513
+ const _hoisted_1$H = {
8509
8514
  key: 0,
8510
8515
  ref: "content",
8511
8516
  "data-test": "animation-content"
@@ -8514,10 +8519,10 @@ function _sfc_render$x(_ctx, _cache, $props, $setup, $data, $options) {
8514
8519
  return openBlock(), createElementBlock("div", {
8515
8520
  class: normalizeClass(_ctx.animationClasses),
8516
8521
  style: normalizeStyle(_ctx.heightStyle)
8517
- }, [_ctx.shouldVIf ? withDirectives((openBlock(), createElementBlock("div", _hoisted_1$E, [renderSlot(_ctx.$slots, "default")], 512)), [[vShow, _ctx.shouldVShow]]) : createCommentVNode("", true)], 6);
8522
+ }, [_ctx.shouldVIf ? withDirectives((openBlock(), createElementBlock("div", _hoisted_1$H, [renderSlot(_ctx.$slots, "default")], 512)), [[vShow, _ctx.shouldVShow]]) : createCommentVNode("", true)], 6);
8518
8523
  }
8519
- const IAnimateExpand = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["render", _sfc_render$x]]);
8520
- const _sfc_main$P = defineComponent({
8524
+ const IAnimateExpand = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["render", _sfc_render$x]]);
8525
+ const _sfc_main$S = defineComponent({
8521
8526
  name: "ISkipLink",
8522
8527
  mixins: [TranslationMixin],
8523
8528
  props: {
@@ -8531,14 +8536,14 @@ const _sfc_main$P = defineComponent({
8531
8536
  }
8532
8537
  }
8533
8538
  });
8534
- const _hoisted_1$D = ["href"];
8539
+ const _hoisted_1$G = ["href"];
8535
8540
  function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
8536
8541
  return openBlock(), createElementBlock("a", {
8537
8542
  class: "iskiplink",
8538
8543
  href: _ctx.href
8539
- }, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.skip-link.text", "Gå direkt till innehåll")), 1)])], 8, _hoisted_1$D);
8544
+ }, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.skip-link.text", "Gå direkt till innehåll")), 1)])], 8, _hoisted_1$G);
8540
8545
  }
8541
- const ISkipLink = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["render", _sfc_render$w]]);
8546
+ const ISkipLink = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["render", _sfc_render$w]]);
8542
8547
  function filterOptions(options, filter2, selectMode) {
8543
8548
  if (isEmpty(filter2) || selectMode) {
8544
8549
  return options;
@@ -8563,10 +8568,10 @@ function useCombobox(inputRef, options, onOptionSelected) {
8563
8568
  }
8564
8569
  };
8565
8570
  }
8566
- useEventListener(inputRef, "click", onInputClick);
8567
- useEventListener(inputRef, "focus", onInputFocus);
8568
- useEventListener(inputRef, "keydown", onInputKeyDown);
8569
- useEventListener(inputRef, "keyup", onInputKeyUp);
8571
+ useEventListener$1(inputRef, "click", onInputClick);
8572
+ useEventListener$1(inputRef, "focus", onInputFocus);
8573
+ useEventListener$1(inputRef, "keydown", onInputKeyDown);
8574
+ useEventListener$1(inputRef, "keyup", onInputKeyUp);
8570
8575
  const dropdownId = ElementIdService.generateElementId();
8571
8576
  const dropdownIsOpen = ref(false);
8572
8577
  const activeOptionId = ElementIdService.generateElementId();
@@ -8784,12 +8789,12 @@ function useCombobox(inputRef, options, onOptionSelected) {
8784
8789
  }
8785
8790
  }
8786
8791
  }
8787
- const _hoisted_1$C = {
8792
+ const _hoisted_1$F = {
8788
8793
  class: "combobox"
8789
8794
  };
8790
- const _hoisted_2$t = ["id"];
8795
+ const _hoisted_2$u = ["id"];
8791
8796
  const _hoisted_3$o = ["id", "aria-selected", "onClick"];
8792
- const _sfc_main$O = /* @__PURE__ */ defineComponent({
8797
+ const _sfc_main$R = /* @__PURE__ */ defineComponent({
8793
8798
  __name: "IComboboxDropdown",
8794
8799
  props: {
8795
8800
  id: {},
@@ -8826,7 +8831,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
8826
8831
  }
8827
8832
  });
8828
8833
  return (_ctx, _cache) => {
8829
- return openBlock(), createElementBlock("div", _hoisted_1$C, [createVNode(unref(_sfc_main$S), {
8834
+ return openBlock(), createElementBlock("div", _hoisted_1$F, [createVNode(unref(_sfc_main$V), {
8830
8835
  "is-open": _ctx.isOpen,
8831
8836
  anchor: _ctx.inputNode,
8832
8837
  "num-of-items": _ctx.options.length,
@@ -8851,14 +8856,14 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
8851
8856
  }]),
8852
8857
  onClick: withModifiers(($event) => onOptionClick(item), ["stop", "prevent"])
8853
8858
  }, toDisplayString(item), 11, _hoisted_3$o);
8854
- }), 128))], 8, _hoisted_2$t)]),
8859
+ }), 128))], 8, _hoisted_2$u)]),
8855
8860
  _: 1
8856
8861
  }, 8, ["is-open", "anchor", "num-of-items", "active-element"])]);
8857
8862
  };
8858
8863
  }
8859
8864
  });
8860
- const _hoisted_1$B = ["aria-label"];
8861
- const _sfc_main$N = /* @__PURE__ */ defineComponent({
8865
+ const _hoisted_1$E = ["aria-label"];
8866
+ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
8862
8867
  __name: "IComboboxToggleButton",
8863
8868
  emits: ["toggle"],
8864
8869
  setup(__props, {
@@ -8877,7 +8882,7 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
8877
8882
  }, [createVNode(unref(FIcon), {
8878
8883
  name: "arrow-down",
8879
8884
  class: "text-field__icon"
8880
- })], 8, _hoisted_1$B);
8885
+ })], 8, _hoisted_1$E);
8881
8886
  };
8882
8887
  }
8883
8888
  });
@@ -8979,7 +8984,7 @@ function useHorizontalOffset(options) {
8979
8984
  }, 0);
8980
8985
  }
8981
8986
  }
8982
- const _sfc_main$M = defineComponent({
8987
+ const _sfc_main$P = defineComponent({
8983
8988
  name: "FTooltip",
8984
8989
  components: {
8985
8990
  FExpand,
@@ -9138,8 +9143,8 @@ const _sfc_main$M = defineComponent({
9138
9143
  }
9139
9144
  }
9140
9145
  });
9141
- const _hoisted_1$A = ["aria-expanded"];
9142
- const _hoisted_2$s = {
9146
+ const _hoisted_1$D = ["aria-expanded"];
9147
+ const _hoisted_2$t = {
9143
9148
  class: "icon-stack icon-stack--tooltip"
9144
9149
  };
9145
9150
  const _hoisted_3$n = {
@@ -9167,11 +9172,11 @@ function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
9167
9172
  type: "button",
9168
9173
  "aria-expanded": _ctx.isOpen,
9169
9174
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClickToggle && _ctx.onClickToggle(...args))
9170
- }, [createElementVNode("span", _hoisted_2$s, [createVNode(_component_f_icon, {
9175
+ }, [createElementVNode("span", _hoisted_2$t, [createVNode(_component_f_icon, {
9171
9176
  name: "circle"
9172
9177
  }), _cache[2] || (_cache[2] = createTextVNode()), createVNode(_component_f_icon, {
9173
9178
  name: "i"
9174
- }), _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({
9179
+ }), _cache[3] || (_cache[3] = createTextVNode()), createElementVNode("span", _hoisted_3$n, toDisplayString(_ctx.screenReaderText), 1)])], 8, _hoisted_1$D)], 8, ["disabled", "to"])), _cache[7] || (_cache[7] = createTextVNode()), createElementVNode("div", mergeProps({
9175
9180
  ref: "wrapper",
9176
9181
  class: "tooltip"
9177
9182
  }, _ctx.$attrs), [_ctx.ready ? (openBlock(), createElementBlock("div", _hoisted_4$k, [_ctx.hasHeader ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.headerTag), {
@@ -9189,7 +9194,7 @@ function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
9189
9194
  name: "close"
9190
9195
  })])])])) : createCommentVNode("", true)], 16)], 64);
9191
9196
  }
9192
- const FTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["render", _sfc_render$v]]);
9197
+ const FTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["render", _sfc_render$v]]);
9193
9198
  function* labelClasses(options) {
9194
9199
  const {
9195
9200
  labelClass
@@ -9230,7 +9235,7 @@ function isEqual(a, b) {
9230
9235
  }
9231
9236
  return a.every((_, i) => a[i] === b[i]);
9232
9237
  }
9233
- const _sfc_main$L = defineComponent({
9238
+ const _sfc_main$O = defineComponent({
9234
9239
  name: "FFieldset",
9235
9240
  components: {
9236
9241
  FIcon
@@ -9458,8 +9463,8 @@ const _sfc_main$L = defineComponent({
9458
9463
  }
9459
9464
  }
9460
9465
  });
9461
- const _hoisted_1$z = ["id"];
9462
- const _hoisted_2$r = {
9466
+ const _hoisted_1$C = ["id"];
9467
+ const _hoisted_2$s = {
9463
9468
  key: 0,
9464
9469
  class: "sr-only"
9465
9470
  };
@@ -9499,7 +9504,7 @@ function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
9499
9504
  }, [(openBlock(), createElementBlock("legend", {
9500
9505
  key: _ctx.legendKey,
9501
9506
  class: normalizeClass(["label", _ctx.legendClass])
9502
- }, [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", {
9507
+ }, [renderSlot(_ctx.$slots, "label"), _cache[1] || (_cache[1] = createTextVNode()), _ctx.hasCheckbox && _ctx.children.length > 1 ? (openBlock(), createElementBlock("span", _hoisted_2$s, [createElementVNode("span", null, toDisplayString(_ctx.numberOfCheckboxesScreenReaderText), 1)])) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "description", {
9503
9508
  descriptionClass: _ctx.descriptionClass,
9504
9509
  formatDescriptionClass: _ctx.formatDescriptionClass
9505
9510
  }), _cache[3] || (_cache[3] = createTextVNode()), renderSlot(_ctx.$slots, "error-message", normalizeProps(guardReactiveProps({
@@ -9525,11 +9530,11 @@ function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
9525
9530
  name: "error"
9526
9531
  }), createTextVNode(" " + toDisplayString(_ctx.validity.validationMessage), 1)])) : createCommentVNode("", true)])], 2)) : createCommentVNode("", true)], 64)) : createCommentVNode("", true), _cache[9] || (_cache[9] = createTextVNode()), createElementVNode("div", {
9527
9532
  class: normalizeClass(_ctx.groupContentClass)
9528
- }, [renderSlot(_ctx.$slots, "default")], 2)], 42, _hoisted_1$z);
9533
+ }, [renderSlot(_ctx.$slots, "default")], 2)], 42, _hoisted_1$C);
9529
9534
  }
9530
- const FFieldset = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["render", _sfc_render$u]]);
9535
+ const FFieldset = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["render", _sfc_render$u]]);
9531
9536
  const anyType$1 = [String, Object, Array, Number, Date, Boolean];
9532
- const _sfc_main$K = defineComponent({
9537
+ const _sfc_main$N = defineComponent({
9533
9538
  name: "FCheckboxField",
9534
9539
  inheritAttrs: false,
9535
9540
  props: {
@@ -9715,8 +9720,8 @@ const _sfc_main$K = defineComponent({
9715
9720
  }
9716
9721
  }
9717
9722
  });
9718
- const _hoisted_1$y = ["id", "disabled"];
9719
- const _hoisted_2$q = ["for"];
9723
+ const _hoisted_1$B = ["id", "disabled"];
9724
+ const _hoisted_2$r = ["for"];
9720
9725
  const _hoisted_3$l = {
9721
9726
  key: 0,
9722
9727
  class: "checkbox__details"
@@ -9738,7 +9743,7 @@ function _sfc_render$t(_ctx, _cache, $props, $setup, $data, $options) {
9738
9743
  disabled: _ctx.disabled,
9739
9744
  onKeydown: _cache[0] || (_cache[0] = withKeys((...args) => _ctx.onKeydown && _ctx.onKeydown(...args), ["space"])),
9740
9745
  onChange: _cache[1] || (_cache[1] = ($event) => _ctx.updateExpandedFlag())
9741
- }), null, 16, _hoisted_1$y), _cache[9] || (_cache[9] = createTextVNode()), createElementVNode("label", {
9746
+ }), null, 16, _hoisted_1$B), _cache[9] || (_cache[9] = createTextVNode()), createElementVNode("label", {
9742
9747
  class: normalizeClass(_ctx.$slots.details ? "checkbox__label checkbox__width" : "checkbox__label"),
9743
9748
  for: _ctx.id
9744
9749
  }, [renderSlot(_ctx.$slots, "default"), _cache[8] || (_cache[8] = createTextVNode()), _ctx.$slots.details ? (openBlock(), createElementBlock(Fragment, {
@@ -9753,9 +9758,9 @@ function _sfc_render$t(_ctx, _cache, $props, $setup, $data, $options) {
9753
9758
  height: _ctx.height
9754
9759
  })])) : createCommentVNode("", true)]),
9755
9760
  _: 3
9756
- }, 8, ["onEnter", "onAfterEnter", "onLeave"])) : createCommentVNode("", true)], 64)) : createCommentVNode("", true)], 10, _hoisted_2$q)], 34);
9761
+ }, 8, ["onEnter", "onAfterEnter", "onLeave"])) : createCommentVNode("", true)], 64)) : createCommentVNode("", true)], 10, _hoisted_2$r)], 34);
9757
9762
  }
9758
- const FCheckboxField = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["render", _sfc_render$t]]);
9763
+ const FCheckboxField = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["render", _sfc_render$t]]);
9759
9764
  var es_iterator_some = {};
9760
9765
  var hasRequiredEs_iterator_some;
9761
9766
  function requireEs_iterator_some() {
@@ -9834,7 +9839,7 @@ async function doMenuAction$1(action, target) {
9834
9839
  }
9835
9840
  const preventKeys$1 = ["Tab", "Up", "Down", "ArrowUp", "ArrowDown", "Home", "End", " ", "Spacebar", "Enter", "Escape"];
9836
9841
  const keyUp = ["ArrowUp", "Up"];
9837
- const _sfc_main$J = defineComponent({
9842
+ const _sfc_main$M = defineComponent({
9838
9843
  name: "FContextMenu",
9839
9844
  components: {
9840
9845
  IPopup,
@@ -9998,8 +10003,8 @@ const _sfc_main$J = defineComponent({
9998
10003
  }
9999
10004
  }
10000
10005
  });
10001
- const _hoisted_1$x = ["aria-label"];
10002
- const _hoisted_2$p = {
10006
+ const _hoisted_1$A = ["aria-label"];
10007
+ const _hoisted_2$q = {
10003
10008
  ref: "contextmenu",
10004
10009
  role: "menu",
10005
10010
  tabindex: "-1",
@@ -10028,7 +10033,7 @@ function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {
10028
10033
  "aria-label": _ctx.ariaLabel,
10029
10034
  onKeyup: _cache[0] || (_cache[0] = (...args) => _ctx.onKeyUp && _ctx.onKeyUp(...args)),
10030
10035
  onKeydown: _cache[1] || (_cache[1] = (...args) => _ctx.onKeyDown && _ctx.onKeyDown(...args))
10031
- }, [createElementVNode("ul", _hoisted_2$p, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.popupItems, (item, index) => {
10036
+ }, [createElementVNode("ul", _hoisted_2$q, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.popupItems, (item, index) => {
10032
10037
  return openBlock(), createElementBlock("li", {
10033
10038
  key: item.key,
10034
10039
  role: "menuitem",
@@ -10047,11 +10052,11 @@ function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {
10047
10052
  ref_for: true,
10048
10053
  ref: "anchors"
10049
10054
  }, 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);
10050
- }), 128))], 512)], 40, _hoisted_1$x)]),
10055
+ }), 128))], 512)], 40, _hoisted_1$A)]),
10051
10056
  _: 1
10052
10057
  }, 8, ["is-open", "anchor", "focus-element"]);
10053
10058
  }
10054
- const FContextMenu = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["render", _sfc_render$s]]);
10059
+ const FContextMenu = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["render", _sfc_render$s]]);
10055
10060
  var Operation = /* @__PURE__ */ ((Operation2) => {
10056
10061
  Operation2[Operation2["ADD"] = 0] = "ADD";
10057
10062
  Operation2[Operation2["DELETE"] = 1] = "DELETE";
@@ -10059,13 +10064,13 @@ var Operation = /* @__PURE__ */ ((Operation2) => {
10059
10064
  Operation2[Operation2["NONE"] = 3] = "NONE";
10060
10065
  return Operation2;
10061
10066
  })(Operation || {});
10062
- const _hoisted_1$w = {
10067
+ const _hoisted_1$z = {
10063
10068
  class: "crud-dataset"
10064
10069
  };
10065
- const _hoisted_2$o = {
10070
+ const _hoisted_2$p = {
10066
10071
  key: 0
10067
10072
  };
10068
- const _sfc_main$I = /* @__PURE__ */ defineComponent({
10073
+ const _sfc_main$L = /* @__PURE__ */ defineComponent({
10069
10074
  __name: "FCrudDataset",
10070
10075
  props: {
10071
10076
  /**
@@ -10295,7 +10300,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
10295
10300
  isFormModalOpen.value = true;
10296
10301
  }
10297
10302
  return (_ctx, _cache) => {
10298
- return openBlock(), createElementBlock("div", _hoisted_1$w, [renderSlot(_ctx.$slots, "default"), _cache[5] || (_cache[5] = createTextVNode()), hasAddSlot.value ? (openBlock(), createElementBlock("div", _hoisted_2$o, [createElementVNode("button", {
10303
+ return openBlock(), createElementBlock("div", _hoisted_1$z, [renderSlot(_ctx.$slots, "default"), _cache[5] || (_cache[5] = createTextVNode()), hasAddSlot.value ? (openBlock(), createElementBlock("div", _hoisted_2$p, [createElementVNode("button", {
10299
10304
  "data-test": "f-crud-dataset-add-button",
10300
10305
  type: "button",
10301
10306
  class: "button button--tertiary crud-dataset__add-button",
@@ -10347,7 +10352,7 @@ function FCrudDatasetInjected() {
10347
10352
  modify: inject("modify")
10348
10353
  };
10349
10354
  }
10350
- const _sfc_main$H = defineComponent({
10355
+ const _sfc_main$K = defineComponent({
10351
10356
  name: "FCrudButton",
10352
10357
  components: {
10353
10358
  FIcon
@@ -10403,7 +10408,7 @@ const _sfc_main$H = defineComponent({
10403
10408
  }
10404
10409
  }
10405
10410
  });
10406
- const _hoisted_1$v = {
10411
+ const _hoisted_1$y = {
10407
10412
  key: 1,
10408
10413
  class: "sr-only"
10409
10414
  };
@@ -10417,11 +10422,11 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
10417
10422
  key: 0,
10418
10423
  class: "button__icon",
10419
10424
  name: _ctx.iconName
10420
- }, 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", {
10425
+ }, null, 8, ["name"])) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), !_ctx.label ? (openBlock(), createElementBlock("span", _hoisted_1$y, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.buttonText), 1)])])) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), _ctx.label ? renderSlot(_ctx.$slots, "default", {
10421
10426
  key: 2
10422
10427
  }, () => [createTextVNode(toDisplayString(_ctx.buttonText), 1)]) : createCommentVNode("", true)]);
10423
10428
  }
10424
- const FCrudButton = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["render", _sfc_render$r]]);
10429
+ const FCrudButton = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["render", _sfc_render$r]]);
10425
10430
  function ActivateItemInjected() {
10426
10431
  return {
10427
10432
  registerCallbackAfterItemAdd: inject("registerCallbackAfterItemAdd", () => void 0),
@@ -10505,7 +10510,7 @@ function FTableInjected() {
10505
10510
  renderColumns: inject("renderColumns", false)
10506
10511
  };
10507
10512
  }
10508
- const _sfc_main$G = defineComponent({
10513
+ const _sfc_main$J = defineComponent({
10509
10514
  name: "FTableColumn",
10510
10515
  inheritAttrs: false,
10511
10516
  props: {
@@ -10658,7 +10663,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
10658
10663
  _: 3
10659
10664
  }, 16, ["class", "scope"])) : createCommentVNode("", true);
10660
10665
  }
10661
- const FTableColumn = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["render", _sfc_render$q]]);
10666
+ const FTableColumn = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["render", _sfc_render$q]]);
10662
10667
  function FSortFilterDatasetInjected() {
10663
10668
  return {
10664
10669
  sort: inject("sort", () => void 0),
@@ -10666,7 +10671,7 @@ function FSortFilterDatasetInjected() {
10666
10671
  registerCallbackOnMount: inject("registerCallbackOnMount", () => void 0)
10667
10672
  };
10668
10673
  }
10669
- const _sfc_main$F = defineComponent({
10674
+ const _sfc_main$I = defineComponent({
10670
10675
  name: "FLabel",
10671
10676
  components: {
10672
10677
  FIcon
@@ -10705,10 +10710,10 @@ const _sfc_main$F = defineComponent({
10705
10710
  }
10706
10711
  }
10707
10712
  });
10708
- const _hoisted_1$u = {
10713
+ const _hoisted_1$x = {
10709
10714
  key: 0
10710
10715
  };
10711
- const _hoisted_2$n = {
10716
+ const _hoisted_2$o = {
10712
10717
  key: 0,
10713
10718
  ref: "tooltipAttachTo"
10714
10719
  };
@@ -10725,7 +10730,7 @@ const _hoisted_7$a = {
10725
10730
  };
10726
10731
  function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
10727
10732
  const _component_f_icon = resolveComponent("f-icon");
10728
- return _ctx.$slots.tooltip ? (openBlock(), createElementBlock("div", _hoisted_1$u, [_ctx.hasDefaultSlot ? (openBlock(), createElementBlock("div", _hoisted_2$n, [createElementVNode("label", {
10733
+ return _ctx.$slots.tooltip ? (openBlock(), createElementBlock("div", _hoisted_1$x, [_ctx.hasDefaultSlot ? (openBlock(), createElementBlock("div", _hoisted_2$o, [createElementVNode("label", {
10729
10734
  class: "label",
10730
10735
  for: _ctx.forProperty
10731
10736
  }, [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", {
@@ -10750,11 +10755,11 @@ function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
10750
10755
  name: "error"
10751
10756
  }), _cache[4] || (_cache[4] = createTextVNode()), renderSlot(_ctx.$slots, "error-message")])) : createCommentVNode("", true)], 8, _hoisted_6$b));
10752
10757
  }
10753
- const FLabel = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["render", _sfc_render$p]]);
10758
+ const FLabel = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["render", _sfc_render$p]]);
10754
10759
  function resolveWidthClass$1(words, inline) {
10755
10760
  return inline ? void 0 : words.split(" ").map((word) => `i-width-${word}`).join(" ");
10756
10761
  }
10757
- const _sfc_main$E = defineComponent({
10762
+ const _sfc_main$H = defineComponent({
10758
10763
  name: "FSelectField",
10759
10764
  components: {
10760
10765
  FIcon,
@@ -10885,7 +10890,7 @@ const _sfc_main$E = defineComponent({
10885
10890
  }
10886
10891
  }
10887
10892
  });
10888
- const _hoisted_1$t = ["id"];
10893
+ const _hoisted_1$w = ["id"];
10889
10894
  function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
10890
10895
  const _component_f_label = resolveComponent("f-label");
10891
10896
  const _component_f_icon = resolveComponent("f-icon");
@@ -10923,7 +10928,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
10923
10928
  id: _ctx.id,
10924
10929
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.vModel = $event),
10925
10930
  class: "select-field__select"
10926
- }, _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, {
10931
+ }, _ctx.attrs), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$w), [[vModelSelect, _ctx.vModel]]), _cache[5] || (_cache[5] = createTextVNode()), _ctx.hasError && _ctx.textFieldTableMode ? (openBlock(), createBlock(_component_f_icon, {
10927
10932
  key: 0,
10928
10933
  ref: "icon",
10929
10934
  class: "text-field__icon input-icon select-field__error-popup-icon",
@@ -10933,7 +10938,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
10933
10938
  name: "arrow-down"
10934
10939
  })], 2)], 34);
10935
10940
  }
10936
- const FSelectField = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["render", _sfc_render$o]]);
10941
+ const FSelectField = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["render", _sfc_render$o]]);
10937
10942
  function resolveWidthClass(words, inline) {
10938
10943
  return inline ? void 0 : words.split(" ").map((word) => `i-width-${word}`).join(" ");
10939
10944
  }
@@ -10977,14 +10982,14 @@ function useTextFieldSetup(props) {
10977
10982
  closeDropdown
10978
10983
  };
10979
10984
  }
10980
- const _sfc_main$D = defineComponent({
10985
+ const _sfc_main$G = defineComponent({
10981
10986
  name: "FTextField",
10982
10987
  components: {
10983
10988
  FLabel,
10984
10989
  FIcon,
10985
10990
  IPopupError,
10986
- IComboboxDropdown: _sfc_main$O,
10987
- IComboboxToggleButton: _sfc_main$N
10991
+ IComboboxDropdown: _sfc_main$R,
10992
+ IComboboxToggleButton: _sfc_main$Q
10988
10993
  },
10989
10994
  inheritAttrs: false,
10990
10995
  props: {
@@ -11008,11 +11013,12 @@ const _sfc_main$D = defineComponent({
11008
11013
  },
11009
11014
  /**
11010
11015
  * The value for the input.
11011
- * If the prop is not set undefined will be used.
11016
+ * If the prop is not used or set to undefined
11017
+ * or null then the default value will be used.
11012
11018
  * @model
11013
11019
  */
11014
11020
  modelValue: {
11015
- type: [String, Number],
11021
+ type: [String, Number, null],
11016
11022
  required: false,
11017
11023
  default: ""
11018
11024
  },
@@ -11315,10 +11321,10 @@ const _sfc_main$D = defineComponent({
11315
11321
  }
11316
11322
  }
11317
11323
  });
11318
- const _hoisted_1$s = {
11324
+ const _hoisted_1$v = {
11319
11325
  key: 0
11320
11326
  };
11321
- const _hoisted_2$m = {
11327
+ const _hoisted_2$n = {
11322
11328
  key: 0,
11323
11329
  class: "sr-only"
11324
11330
  };
@@ -11352,7 +11358,7 @@ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
11352
11358
  for: _ctx.id,
11353
11359
  class: normalizeClass(_ctx.labelClass)
11354
11360
  }, createSlots({
11355
- default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [_ctx.defaultText !== "" ? (openBlock(), createElementBlock("span", _hoisted_1$s, toDisplayString(_ctx.defaultText), 1)) : createCommentVNode("", true)])]),
11361
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [_ctx.defaultText !== "" ? (openBlock(), createElementBlock("span", _hoisted_1$v, toDisplayString(_ctx.defaultText), 1)) : createCommentVNode("", true)])]),
11356
11362
  description: withCtx(({
11357
11363
  descriptionClass,
11358
11364
  formatDescriptionClass
@@ -11362,7 +11368,7 @@ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
11362
11368
  }, () => [_ctx.descriptionText ? (openBlock(), createElementBlock("span", {
11363
11369
  key: 0,
11364
11370
  class: normalizeClass(descriptionClass)
11365
- }, [_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", {
11371
+ }, [_ctx.descriptionScreenReaderText ? (openBlock(), createElementBlock("span", _hoisted_2$n, 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", {
11366
11372
  key: 1,
11367
11373
  class: normalizeClass(formatDescriptionClass)
11368
11374
  }, [_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)])]),
@@ -11421,8 +11427,8 @@ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
11421
11427
  onClose: _ctx.onDropdownClose
11422
11428
  }, null, 8, ["id", "is-open", "options", "active-option", "active-option-id", "input-node", "onSelect", "onClose"])) : createCommentVNode("", true)], 2);
11423
11429
  }
11424
- const FTextField = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["render", _sfc_render$n]]);
11425
- const _sfc_main$C = defineComponent({
11430
+ const FTextField = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["render", _sfc_render$n]]);
11431
+ const _sfc_main$F = defineComponent({
11426
11432
  name: "FEmailTextField",
11427
11433
  components: {
11428
11434
  FTextField
@@ -11446,7 +11452,7 @@ const _sfc_main$C = defineComponent({
11446
11452
  * @model
11447
11453
  */
11448
11454
  modelValue: {
11449
- type: String,
11455
+ type: [String, null],
11450
11456
  required: false,
11451
11457
  default: void 0
11452
11458
  },
@@ -11538,7 +11544,7 @@ const _sfc_main$C = defineComponent({
11538
11544
  }
11539
11545
  }
11540
11546
  });
11541
- const _hoisted_1$r = {
11547
+ const _hoisted_1$u = {
11542
11548
  key: 0
11543
11549
  };
11544
11550
  function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
@@ -11555,7 +11561,7 @@ function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
11555
11561
  onValidity: _ctx.onValidity,
11556
11562
  onPendingValidity: _ctx.onPendingValidity
11557
11563
  }), {
11558
- "error-message": withCtx(() => [_ctx.showPasteErrorMessage ? (openBlock(), createElementBlock("span", _hoisted_1$r, toDisplayString(_ctx.pasteErrorText), 1)) : createCommentVNode("", true)]),
11564
+ "error-message": withCtx(() => [_ctx.showPasteErrorMessage ? (openBlock(), createElementBlock("span", _hoisted_1$u, toDisplayString(_ctx.pasteErrorText), 1)) : createCommentVNode("", true)]),
11559
11565
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.defaultText), 1)]), _cache[2] || (_cache[2] = createTextVNode())]),
11560
11566
  _: 3
11561
11567
  }, 16, ["id", "maxlength", "model-value", "onChange", "onBlur", "onUpdate:modelValue", "onValidity", "onPendingValidity"]), _cache[3] || (_cache[3] = createTextVNode()), _ctx.extendedValidation ? (openBlock(), createBlock(_component_f_text_field, {
@@ -11571,8 +11577,8 @@ function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
11571
11577
  _: 3
11572
11578
  }, 8, ["modelValue", "maxlength", "onPaste"])) : createCommentVNode("", true)]);
11573
11579
  }
11574
- const FEmailTextField = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["render", _sfc_render$m]]);
11575
- const _sfc_main$B = defineComponent({
11580
+ const FEmailTextField = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["render", _sfc_render$m]]);
11581
+ const _sfc_main$E = defineComponent({
11576
11582
  name: "FPhoneTextField",
11577
11583
  components: {
11578
11584
  FTextField
@@ -11592,11 +11598,12 @@ const _sfc_main$B = defineComponent({
11592
11598
  },
11593
11599
  /**
11594
11600
  * The value for the input.
11595
- * If the prop is not set undefined will be used.
11601
+ * If the prop is not used or set to undefined
11602
+ * or null then the default value will be used.
11596
11603
  * @model
11597
11604
  */
11598
11605
  modelValue: {
11599
- type: String,
11606
+ type: [String, null],
11600
11607
  required: false,
11601
11608
  default: void 0
11602
11609
  },
@@ -11699,8 +11706,8 @@ function _sfc_render$l(_ctx, _cache, $props, $setup, $data, $options) {
11699
11706
  _: 3
11700
11707
  }, 8, ["modelValue", "maxlength"])) : createCommentVNode("", true)]);
11701
11708
  }
11702
- const FPhoneTextField = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["render", _sfc_render$l]]);
11703
- const _sfc_main$A = defineComponent({
11709
+ const FPhoneTextField = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["render", _sfc_render$l]]);
11710
+ const _sfc_main$D = defineComponent({
11704
11711
  name: "FCurrencyTextField",
11705
11712
  extends: FTextField,
11706
11713
  mixins: [TranslationMixin],
@@ -11735,7 +11742,7 @@ const _sfc_main$A = defineComponent({
11735
11742
  ValidationService.validateElement(inputElement);
11736
11743
  }
11737
11744
  });
11738
- const _sfc_main$z = defineComponent({
11745
+ const _sfc_main$C = defineComponent({
11739
11746
  name: "FSearchTextField",
11740
11747
  components: {
11741
11748
  FTextField,
@@ -11748,7 +11755,7 @@ const _sfc_main$z = defineComponent({
11748
11755
  default: () => ElementIdService.generateElementId()
11749
11756
  },
11750
11757
  modelValue: {
11751
- type: String,
11758
+ type: [String, null],
11752
11759
  required: false,
11753
11760
  default: ""
11754
11761
  },
@@ -11770,7 +11777,8 @@ const _sfc_main$z = defineComponent({
11770
11777
  },
11771
11778
  computed: {
11772
11779
  canClear() {
11773
- return this.modelValue !== "";
11780
+ const isEmpty2 = this.modelValue === void 0 || this.modelValue === null || this.modelValue === "";
11781
+ return !isEmpty2;
11774
11782
  }
11775
11783
  },
11776
11784
  methods: {
@@ -11795,7 +11803,7 @@ const _sfc_main$z = defineComponent({
11795
11803
  }
11796
11804
  }
11797
11805
  });
11798
- const _hoisted_1$q = {
11806
+ const _hoisted_1$t = {
11799
11807
  class: "sr-only"
11800
11808
  };
11801
11809
  function _sfc_render$k(_ctx, _cache, $props, $setup, $data, $options) {
@@ -11844,12 +11852,12 @@ function _sfc_render$k(_ctx, _cache, $props, $setup, $data, $options) {
11844
11852
  }, [createVNode(_component_f_icon, {
11845
11853
  name: "cross",
11846
11854
  class: "clear-button__icon"
11847
- }), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("span", _hoisted_1$q, toDisplayString(_ctx.clearableScreenReaderText), 1)])]),
11855
+ }), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("span", _hoisted_1$t, toDisplayString(_ctx.clearableScreenReaderText), 1)])]),
11848
11856
  key: "1"
11849
11857
  } : void 0]), 1040, ["id", "maxlength", "model-value", "onChange", "onInput", "onBlur", "onUpdate"])]);
11850
11858
  }
11851
- const FSearchTextField = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["render", _sfc_render$k]]);
11852
- const _sfc_main$y = defineComponent({
11859
+ const FSearchTextField = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["render", _sfc_render$k]]);
11860
+ const _sfc_main$B = defineComponent({
11853
11861
  name: "FBankAccountNumberTextField",
11854
11862
  extends: FTextField,
11855
11863
  mixins: [TranslationMixin],
@@ -11878,7 +11886,7 @@ const _sfc_main$y = defineComponent({
11878
11886
  ValidationService.validateElement(inputElement);
11879
11887
  }
11880
11888
  });
11881
- const _sfc_main$x = defineComponent({
11889
+ const _sfc_main$A = defineComponent({
11882
11890
  name: "FBankgiroTextField",
11883
11891
  extends: FTextField,
11884
11892
  mixins: [TranslationMixin],
@@ -11910,7 +11918,7 @@ const _sfc_main$x = defineComponent({
11910
11918
  ValidationService.validateElement(inputElement);
11911
11919
  }
11912
11920
  });
11913
- const _sfc_main$w = defineComponent({
11921
+ const _sfc_main$z = defineComponent({
11914
11922
  name: "FClearingnumberTextField",
11915
11923
  extends: FTextField,
11916
11924
  mixins: [TranslationMixin],
@@ -11942,7 +11950,7 @@ const _sfc_main$w = defineComponent({
11942
11950
  function defaultFormatter$1(modelValue) {
11943
11951
  return formatNumber(modelValue, this.decimals);
11944
11952
  }
11945
- const _sfc_main$v = defineComponent({
11953
+ const _sfc_main$y = defineComponent({
11946
11954
  name: "FNumericTextField",
11947
11955
  extends: FTextField,
11948
11956
  props: {
@@ -11979,7 +11987,7 @@ const _sfc_main$v = defineComponent({
11979
11987
  ValidationService.validateElement(inputElement);
11980
11988
  }
11981
11989
  });
11982
- const _sfc_main$u = defineComponent({
11990
+ const _sfc_main$x = defineComponent({
11983
11991
  name: "FPersonnummerTextField",
11984
11992
  extends: FTextField,
11985
11993
  mixins: [TranslationMixin],
@@ -12019,7 +12027,7 @@ const _sfc_main$u = defineComponent({
12019
12027
  ValidationService.validateElement(inputElement);
12020
12028
  }
12021
12029
  });
12022
- const _sfc_main$t = defineComponent({
12030
+ const _sfc_main$w = defineComponent({
12023
12031
  name: "FPlusgiroTextField",
12024
12032
  extends: FTextField,
12025
12033
  mixins: [TranslationMixin],
@@ -12051,7 +12059,7 @@ const _sfc_main$t = defineComponent({
12051
12059
  ValidationService.validateElement(inputElement);
12052
12060
  }
12053
12061
  });
12054
- const _sfc_main$s = defineComponent({
12062
+ const _sfc_main$v = defineComponent({
12055
12063
  name: "FPostalCodeTextField",
12056
12064
  extends: FTextField,
12057
12065
  mixins: [TranslationMixin],
@@ -12088,7 +12096,7 @@ const _sfc_main$s = defineComponent({
12088
12096
  function defaultFormatter(modelValue) {
12089
12097
  return formatPercent(modelValue, this.decimals);
12090
12098
  }
12091
- const _sfc_main$r = defineComponent({
12099
+ const _sfc_main$u = defineComponent({
12092
12100
  name: "FPercentTextField",
12093
12101
  extends: FTextField,
12094
12102
  mixins: [TranslationMixin],
@@ -12136,7 +12144,7 @@ const _sfc_main$r = defineComponent({
12136
12144
  ValidationService.validateElement(inputElement);
12137
12145
  }
12138
12146
  });
12139
- const _sfc_main$q = defineComponent({
12147
+ const _sfc_main$t = defineComponent({
12140
12148
  name: "FOrganisationsnummerTextField",
12141
12149
  extends: FTextField,
12142
12150
  mixins: [TranslationMixin],
@@ -12244,10 +12252,10 @@ function filter(list, filterAttributes, searchString) {
12244
12252
  const searchTerms = searchString.split(/\s+/).map((word) => word.toLocaleLowerCase());
12245
12253
  return list.filter((item) => includesAllSearchTerms(item, filterAttributes, searchTerms));
12246
12254
  }
12247
- const _hoisted_1$p = {
12255
+ const _hoisted_1$s = {
12248
12256
  class: "sort-filter-dataset"
12249
12257
  };
12250
- const _hoisted_2$l = {
12258
+ const _hoisted_2$m = {
12251
12259
  class: "sort-filter-dataset__search"
12252
12260
  };
12253
12261
  const _hoisted_3$h = {
@@ -12264,7 +12272,7 @@ const _hoisted_6$9 = {
12264
12272
  }
12265
12273
  };
12266
12274
  const _hoisted_7$8 = ["value"];
12267
- const _sfc_main$p = /* @__PURE__ */ defineComponent({
12275
+ const _sfc_main$s = /* @__PURE__ */ defineComponent({
12268
12276
  __name: "FSortFilterDataset",
12269
12277
  props: {
12270
12278
  /**
@@ -12450,7 +12458,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
12450
12458
  }
12451
12459
  }
12452
12460
  return (_ctx, _cache) => {
12453
- return openBlock(), createElementBlock("div", _hoisted_1$p, [createVNode(unref(IFlex), {
12461
+ return openBlock(), createElementBlock("div", _hoisted_1$s, [createVNode(unref(IFlex), {
12454
12462
  collapse: "",
12455
12463
  gap: "3x",
12456
12464
  wrap: ""
@@ -12475,7 +12483,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
12475
12483
  shrink: "",
12476
12484
  align: "center"
12477
12485
  }, {
12478
- default: withCtx(() => [createElementVNode("div", _hoisted_2$l, [createVNode(unref(FIcon), {
12486
+ default: withCtx(() => [createElementVNode("div", _hoisted_2$m, [createVNode(unref(FIcon), {
12479
12487
  name: "search",
12480
12488
  class: "sort-filter-dataset__search__magnify-icon"
12481
12489
  }), _cache[3] || (_cache[3] = createTextVNode()), createVNode(unref(FTextField), {
@@ -12533,8 +12541,8 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
12533
12541
  };
12534
12542
  }
12535
12543
  });
12536
- const _hoisted_1$o = ["tabindex"];
12537
- const _hoisted_2$k = {
12544
+ const _hoisted_1$r = ["tabindex"];
12545
+ const _hoisted_2$l = {
12538
12546
  key: 0
12539
12547
  };
12540
12548
  const _hoisted_3$g = {
@@ -12552,7 +12560,7 @@ const _hoisted_7$7 = {
12552
12560
  key: 1
12553
12561
  };
12554
12562
  const _hoisted_8$5 = ["colspan"];
12555
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
12563
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
12556
12564
  ...{
12557
12565
  inheritAttrs: false
12558
12566
  },
@@ -12698,7 +12706,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
12698
12706
  }, [createElementVNode("table", mergeProps({
12699
12707
  class: ["table", tableClasses.value],
12700
12708
  tabindex: tabindex.value
12701
- }, _ctx.$attrs), [hasCaption.value ? (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(columns.value, (column) => {
12709
+ }, _ctx.$attrs), [hasCaption.value ? (openBlock(), createElementBlock("caption", _hoisted_2$l, [renderSlot(_ctx.$slots, "caption")])) : createCommentVNode("", true), _cache[4] || (_cache[4] = createTextVNode()), createElementVNode("colgroup", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(columns.value, (column) => {
12702
12710
  return openBlock(), createElementBlock("col", {
12703
12711
  key: column.id,
12704
12712
  class: normalizeClass(column.size)
@@ -12731,7 +12739,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
12731
12739
  }, {
12732
12740
  row
12733
12741
  }))]);
12734
- }), 128))])], 16, _hoisted_1$o)], 2);
12742
+ }), 128))])], 16, _hoisted_1$r)], 2);
12735
12743
  };
12736
12744
  }
12737
12745
  });
@@ -12810,7 +12818,7 @@ function getDisplayMonth(minDate, maxDate, selectedDate, initialMonth) {
12810
12818
  }
12811
12819
  return month || FDate.now().startOfMonth();
12812
12820
  }
12813
- const _sfc_main$n = defineComponent({
12821
+ const _sfc_main$q = defineComponent({
12814
12822
  name: "FDatepickerField",
12815
12823
  components: {
12816
12824
  FCalendar,
@@ -13068,11 +13076,11 @@ const _sfc_main$n = defineComponent({
13068
13076
  }
13069
13077
  }
13070
13078
  });
13071
- const _hoisted_1$n = {
13079
+ const _hoisted_1$q = {
13072
13080
  ref: "component",
13073
13081
  class: "datepicker-field"
13074
13082
  };
13075
- const _hoisted_2$j = ["disabled", "aria-expanded"];
13083
+ const _hoisted_2$k = ["disabled", "aria-expanded"];
13076
13084
  const _hoisted_3$f = {
13077
13085
  class: "sr-only"
13078
13086
  };
@@ -13085,7 +13093,7 @@ function _sfc_render$j(_ctx, _cache, $props, $setup, $data, $options) {
13085
13093
  const _component_f_calendar_day = resolveComponent("f-calendar-day");
13086
13094
  const _component_f_calendar = resolveComponent("f-calendar");
13087
13095
  const _component_i_popup = resolveComponent("i-popup");
13088
- return openBlock(), createElementBlock("div", _hoisted_1$n, [createElementVNode("div", {
13096
+ return openBlock(), createElementBlock("div", _hoisted_1$q, [createElementVNode("div", {
13089
13097
  ref: "calendarInputs",
13090
13098
  onFocusout: _cache[2] || (_cache[2] = (...args) => _ctx.onFocusoutTextFieldButton && _ctx.onFocusoutTextFieldButton(...args))
13091
13099
  }, [createVNode(_component_f_text_field, mergeProps(_ctx.$attrs, {
@@ -13124,7 +13132,7 @@ function _sfc_render$j(_ctx, _cache, $props, $setup, $data, $options) {
13124
13132
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.onClickCalendarButton())
13125
13133
  }, [createVNode(_component_f_icon, {
13126
13134
  name: "calendar"
13127
- }), _cache[6] || (_cache[6] = createTextVNode()), createElementVNode("span", _hoisted_3$f, toDisplayString(_ctx.calendarButtonText), 1)], 8, _hoisted_2$j)]),
13135
+ }), _cache[6] || (_cache[6] = createTextVNode()), createElementVNode("span", _hoisted_3$f, toDisplayString(_ctx.calendarButtonText), 1)], 8, _hoisted_2$k)]),
13128
13136
  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())]),
13129
13137
  _: 2
13130
13138
  }, [_ctx.$slots.tooltip ? {
@@ -13175,11 +13183,11 @@ function _sfc_render$j(_ctx, _cache, $props, $setup, $data, $options) {
13175
13183
  _: 1
13176
13184
  }, 8, ["is-open", "anchor", "inline", "onOpen", "onClose"])], 512);
13177
13185
  }
13178
- const FDatepickerField = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$j]]);
13186
+ const FDatepickerField = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["render", _sfc_render$j]]);
13179
13187
  function isDialogueTreeEndQuestion(value) {
13180
13188
  return Boolean(value.userData);
13181
13189
  }
13182
- const _sfc_main$m = defineComponent({
13190
+ const _sfc_main$p = defineComponent({
13183
13191
  name: "FDialogueTree",
13184
13192
  components: {
13185
13193
  FIcon
@@ -13257,17 +13265,17 @@ const _sfc_main$m = defineComponent({
13257
13265
  }
13258
13266
  }
13259
13267
  });
13260
- const _hoisted_1$m = {
13268
+ const _hoisted_1$p = {
13261
13269
  class: "dialogue-tree"
13262
13270
  };
13263
- const _hoisted_2$i = {
13271
+ const _hoisted_2$j = {
13264
13272
  key: 0,
13265
13273
  class: "dialogue-tree__list"
13266
13274
  };
13267
13275
  const _hoisted_3$e = ["onClick"];
13268
13276
  function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {
13269
13277
  const _component_f_icon = resolveComponent("f-icon");
13270
- 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) => {
13278
+ return openBlock(), createElementBlock("div", _hoisted_1$p, [_ctx.options.length > 0 ? (openBlock(), createElementBlock("ul", _hoisted_2$j, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.options, (option, index) => {
13271
13279
  return openBlock(), createElementBlock("li", {
13272
13280
  key: option.label,
13273
13281
  class: "dialogue-tree__list-item"
@@ -13285,8 +13293,8 @@ function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {
13285
13293
  userData: _ctx.userData
13286
13294
  })))]);
13287
13295
  }
13288
- const FDialogueTree = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$i]]);
13289
- const _sfc_main$l = defineComponent({
13296
+ const FDialogueTree = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render$i]]);
13297
+ const _sfc_main$o = defineComponent({
13290
13298
  name: "FExpandablePanel",
13291
13299
  components: {
13292
13300
  FIcon,
@@ -13360,8 +13368,8 @@ const _sfc_main$l = defineComponent({
13360
13368
  }
13361
13369
  }
13362
13370
  });
13363
- const _hoisted_1$l = ["aria-expanded", "aria-controls"];
13364
- const _hoisted_2$h = {
13371
+ const _hoisted_1$o = ["aria-expanded", "aria-controls"];
13372
+ const _hoisted_2$i = {
13365
13373
  class: "expandable-panel__icon"
13366
13374
  };
13367
13375
  const _hoisted_3$d = {
@@ -13393,7 +13401,7 @@ function _sfc_render$h(_ctx, _cache, $props, $setup, $data, $options) {
13393
13401
  "aria-controls": _ctx.id
13394
13402
  }, _ctx.$attrs, {
13395
13403
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClickHeadingButton && _ctx.onClickHeadingButton(...args))
13396
- }), [createElementVNode("span", _hoisted_2$h, [createElementVNode("span", _hoisted_3$d, [createVNode(_component_f_icon, {
13404
+ }), [createElementVNode("span", _hoisted_2$i, [createElementVNode("span", _hoisted_3$d, [createVNode(_component_f_icon, {
13397
13405
  name: "dash"
13398
13406
  }), _cache[1] || (_cache[1] = createTextVNode()), createVNode(_component_f_icon, {
13399
13407
  name: "dash"
@@ -13406,7 +13414,7 @@ function _sfc_render$h(_ctx, _cache, $props, $setup, $data, $options) {
13406
13414
  })
13407
13415
  }, [createElementVNode("span", _hoisted_5$9, toDisplayString(_ctx.screenReaderNotificationText), 1), _cache[2] || (_cache[2] = createTextVNode()), createVNode(_component_f_icon, {
13408
13416
  name: "bell"
13409
- })], 8, _hoisted_4$b)) : createCommentVNode("", true)], 16, _hoisted_1$l)]),
13417
+ })], 8, _hoisted_4$b)) : createCommentVNode("", true)], 16, _hoisted_1$o)]),
13410
13418
  _: 3
13411
13419
  })), _cache[6] || (_cache[6] = createTextVNode()), createVNode(_component_f_expand, null, {
13412
13420
  default: withCtx(() => [withDirectives(createElementVNode("div", {
@@ -13416,8 +13424,8 @@ function _sfc_render$h(_ctx, _cache, $props, $setup, $data, $options) {
13416
13424
  _: 3
13417
13425
  })], 2);
13418
13426
  }
13419
- const FExpandablePanel = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$h]]);
13420
- const _sfc_main$k = defineComponent({
13427
+ const FExpandablePanel = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$h]]);
13428
+ const _sfc_main$n = defineComponent({
13421
13429
  name: "FExpandableParagraph",
13422
13430
  components: {
13423
13431
  FIcon,
@@ -13499,8 +13507,8 @@ const _sfc_main$k = defineComponent({
13499
13507
  }
13500
13508
  }
13501
13509
  });
13502
- const _hoisted_1$k = ["aria-expanded", "aria-controls"];
13503
- const _hoisted_2$g = {
13510
+ const _hoisted_1$n = ["aria-expanded", "aria-controls"];
13511
+ const _hoisted_2$h = {
13504
13512
  class: "expandable-paragraph__icon"
13505
13513
  };
13506
13514
  const _hoisted_3$c = {
@@ -13535,11 +13543,11 @@ function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {
13535
13543
  "aria-controls": _ctx.id
13536
13544
  }, _ctx.$attrs, {
13537
13545
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClickMinimize && _ctx.onClickMinimize(...args))
13538
- }), [createElementVNode("span", _hoisted_2$g, [createElementVNode("span", _hoisted_3$c, [createVNode(_component_f_icon, {
13546
+ }), [createElementVNode("span", _hoisted_2$h, [createElementVNode("span", _hoisted_3$c, [createVNode(_component_f_icon, {
13539
13547
  name: "dash"
13540
13548
  }), _cache[1] || (_cache[1] = createTextVNode()), createVNode(_component_f_icon, {
13541
13549
  name: "dash"
13542
- })])]), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "title")], 16, _hoisted_1$k)]),
13550
+ })])]), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "title")], 16, _hoisted_1$n)]),
13543
13551
  _: 3
13544
13552
  }, 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, {
13545
13553
  default: withCtx(() => [withDirectives(createElementVNode("div", {
@@ -13549,7 +13557,7 @@ function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {
13549
13557
  _: 3
13550
13558
  })], 2);
13551
13559
  }
13552
- const FExpandableParagraph = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["render", _sfc_render$g]]);
13560
+ const FExpandableParagraph = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$g]]);
13553
13561
  const DEFAULT_ICON = "file";
13554
13562
  const iconMap = {
13555
13563
  "image/*": "pic",
@@ -13558,7 +13566,7 @@ const iconMap = {
13558
13566
  "application/vnd.openxmlformats-officedocument.wordprocessingml.document": "doc",
13559
13567
  "application/vnd.openxmlformats-officedocument.wordprocessingml.template": "doc"
13560
13568
  };
13561
- const _sfc_main$j = defineComponent({
13569
+ const _sfc_main$m = defineComponent({
13562
13570
  name: "FFileItem",
13563
13571
  components: {
13564
13572
  FIcon
@@ -13637,10 +13645,10 @@ const _sfc_main$j = defineComponent({
13637
13645
  }
13638
13646
  }
13639
13647
  });
13640
- const _hoisted_1$j = {
13648
+ const _hoisted_1$m = {
13641
13649
  class: "file-item"
13642
13650
  };
13643
- const _hoisted_2$f = {
13651
+ const _hoisted_2$g = {
13644
13652
  class: "file-item__row"
13645
13653
  };
13646
13654
  const _hoisted_3$b = ["id"];
@@ -13659,7 +13667,7 @@ const _hoisted_7$4 = {
13659
13667
  };
13660
13668
  function _sfc_render$f(_ctx, _cache, $props, $setup, $data, $options) {
13661
13669
  const _component_f_icon = resolveComponent("f-icon");
13662
- return openBlock(), createElementBlock("div", _hoisted_1$j, [createElementVNode("div", _hoisted_2$f, [createElementVNode("a", mergeProps({
13670
+ return openBlock(), createElementBlock("div", _hoisted_1$m, [createElementVNode("div", _hoisted_2$g, [createElementVNode("a", mergeProps({
13663
13671
  id: _ctx.id,
13664
13672
  class: "file-item__file-open"
13665
13673
  }, _ctx.$attrs), [createElementVNode("div", _hoisted_4$9, [createVNode(_component_f_icon, {
@@ -13670,8 +13678,8 @@ function _sfc_render$f(_ctx, _cache, $props, $setup, $data, $options) {
13670
13678
  class: "file-item__separator"
13671
13679
  }, null, -1))]);
13672
13680
  }
13673
- const FFileItem = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["render", _sfc_render$f]]);
13674
- const _sfc_main$i = defineComponent({
13681
+ const FFileItem = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$f]]);
13682
+ const _sfc_main$l = defineComponent({
13675
13683
  name: "FFileSelector",
13676
13684
  components: {
13677
13685
  FIcon
@@ -13732,14 +13740,14 @@ const _sfc_main$i = defineComponent({
13732
13740
  }
13733
13741
  }
13734
13742
  });
13735
- const _hoisted_1$i = {
13743
+ const _hoisted_1$l = {
13736
13744
  class: "file-selector"
13737
13745
  };
13738
- const _hoisted_2$e = ["id", "aria-labelledby", "aria-disabled"];
13746
+ const _hoisted_2$f = ["id", "aria-labelledby", "aria-disabled"];
13739
13747
  const _hoisted_3$a = ["id", "for"];
13740
13748
  function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {
13741
13749
  const _component_f_icon = resolveComponent("f-icon");
13742
- return openBlock(), createElementBlock("div", _hoisted_1$i, [createElementVNode("input", mergeProps({
13750
+ return openBlock(), createElementBlock("div", _hoisted_1$l, [createElementVNode("input", mergeProps({
13743
13751
  id: _ctx.id,
13744
13752
  ref: "file-selector",
13745
13753
  type: "file",
@@ -13747,7 +13755,7 @@ function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {
13747
13755
  "aria-disabled": _ctx.ariaDisabled ? "true" : void 0
13748
13756
  }, _ctx.attrs, {
13749
13757
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
13750
- }), null, 16, _hoisted_2$e), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("label", {
13758
+ }), null, 16, _hoisted_2$f), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("label", {
13751
13759
  id: _ctx.labelId,
13752
13760
  role: "button",
13753
13761
  class: normalizeClass([_ctx.labelClass, "button button--tertiary button--medium"]),
@@ -13758,7 +13766,7 @@ function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {
13758
13766
  name: "paper-clip"
13759
13767
  }), _cache[1] || (_cache[1] = createTextVNode()), renderSlot(_ctx.$slots, "default")], 10, _hoisted_3$a)]);
13760
13768
  }
13761
- const FFileSelector = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["render", _sfc_render$e]]);
13769
+ const FFileSelector = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$e]]);
13762
13770
  const keybindings = {
13763
13771
  Up: focusTrAbove,
13764
13772
  Down: focusTrBelow,
@@ -13844,11 +13852,14 @@ function useExpandableTable(expandableAttribute, keyAttribute, describedby, emit
13844
13852
  }
13845
13853
  function expandableRows(row) {
13846
13854
  const expandableRows2 = row[expandableAttribute];
13847
- if (typeof expandableRows2 === "undefined") {
13855
+ if (expandableRows2 === void 0 || expandableRows2 === null) {
13848
13856
  return void 0;
13849
13857
  }
13850
13858
  if (!Array.isArray(expandableRows2)) {
13851
- throw new Error(`Expandable rows must be a ListArray`);
13859
+ throw new Error(`Expandable rows must be an array`);
13860
+ }
13861
+ if (expandableRows2.length === 0) {
13862
+ return void 0;
13852
13863
  }
13853
13864
  return expandableRows2;
13854
13865
  }
@@ -13867,8 +13878,8 @@ function useExpandableTable(expandableAttribute, keyAttribute, describedby, emit
13867
13878
  hasExpandableContent
13868
13879
  };
13869
13880
  }
13870
- const _hoisted_1$h = ["role"];
13871
- const _hoisted_2$d = {
13881
+ const _hoisted_1$k = ["role"];
13882
+ const _hoisted_2$e = {
13872
13883
  key: 0
13873
13884
  };
13874
13885
  const _hoisted_3$9 = {
@@ -13896,7 +13907,7 @@ const _hoisted_8$3 = {
13896
13907
  const _hoisted_9$3 = {
13897
13908
  class: "sr-only"
13898
13909
  };
13899
- const _hoisted_10$2 = ["innerHTML"];
13910
+ const _hoisted_10$1 = ["innerHTML"];
13900
13911
  const _hoisted_11$1 = {
13901
13912
  key: 1,
13902
13913
  class: "table__column__description"
@@ -13932,7 +13943,7 @@ const _hoisted_21 = {
13932
13943
  key: 1
13933
13944
  };
13934
13945
  const _hoisted_22 = ["colspan"];
13935
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
13946
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
13936
13947
  ...{
13937
13948
  inheritAttrs: false
13938
13949
  },
@@ -14121,13 +14132,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
14121
14132
  });
14122
14133
  provide("textFieldTableMode", true);
14123
14134
  provide("renderColumns", computed(() => props.rows.length > 0));
14124
- watch(() => props.rows, () => {
14125
- if (props.modelValue) {
14126
- selectedRows.value = props.modelValue.filter((row) => {
14127
- return includeItem(row, props.rows, props.keyAttribute);
14128
- });
14129
- }
14130
- }, {
14135
+ watch(() => props.rows, () => setSelectedRows(), {
14131
14136
  immediate: true,
14132
14137
  deep: true
14133
14138
  });
@@ -14143,6 +14148,10 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
14143
14148
  }, {
14144
14149
  immediate: true
14145
14150
  });
14151
+ watch(() => props.modelValue, () => setSelectedRows(), {
14152
+ immediate: true,
14153
+ deep: true
14154
+ });
14146
14155
  function updateTr(tbodyElement) {
14147
14156
  const trElements = [].slice.call(tbodyElement.children);
14148
14157
  const trInteractableElements = trElements.filter((tr2) => {
@@ -14232,6 +14241,15 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
14232
14241
  updateVModelWithSelectedRows();
14233
14242
  (_b = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy) == null ? void 0 : _b.$forceUpdate();
14234
14243
  }
14244
+ function setSelectedRows() {
14245
+ if (!props.modelValue || !props.modelValue.length) {
14246
+ selectedRows.value = [];
14247
+ return;
14248
+ }
14249
+ selectedRows.value = props.modelValue.filter((row) => {
14250
+ return includeItem(row, props.rows, props.keyAttribute);
14251
+ });
14252
+ }
14235
14253
  function updateVModelWithSelectedRows() {
14236
14254
  if (props.modelValue) {
14237
14255
  emit("update:modelValue", selectedRows.value);
@@ -14315,7 +14333,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
14315
14333
  }, [createCommentVNode("", true), _cache[18] || (_cache[18] = createTextVNode()), createElementVNode("table", mergeProps({
14316
14334
  class: ["table", tableClasses.value],
14317
14335
  role: tableRole.value
14318
- }, _ctx.$attrs), [hasCaption.value ? (openBlock(), createElementBlock("caption", _hoisted_2$d, [renderSlot(_ctx.$slots, "caption")])) : createCommentVNode("", true), _cache[15] || (_cache[15] = createTextVNode()), createElementVNode("colgroup", null, [unref(isExpandableTable) ? (openBlock(), createElementBlock("col", _hoisted_3$9)) : createCommentVNode("", true), _cache[0] || (_cache[0] = createTextVNode()), __props.selectable ? (openBlock(), createElementBlock("col", _hoisted_4$8)) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), (openBlock(true), createElementBlock(Fragment, null, renderList(columns.value, (column) => {
14336
+ }, _ctx.$attrs), [hasCaption.value ? (openBlock(), createElementBlock("caption", _hoisted_2$e, [renderSlot(_ctx.$slots, "caption")])) : createCommentVNode("", true), _cache[15] || (_cache[15] = createTextVNode()), createElementVNode("colgroup", null, [unref(isExpandableTable) ? (openBlock(), createElementBlock("col", _hoisted_3$9)) : createCommentVNode("", true), _cache[0] || (_cache[0] = createTextVNode()), __props.selectable ? (openBlock(), createElementBlock("col", _hoisted_4$8)) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), (openBlock(true), createElementBlock(Fragment, null, renderList(columns.value, (column) => {
14319
14337
  return openBlock(), createElementBlock("col", {
14320
14338
  key: column.id,
14321
14339
  class: normalizeClass(column.size)
@@ -14329,7 +14347,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
14329
14347
  click: () => onClickColumnHeader(column)
14330
14348
  } : {}, true)), [createElementVNode("span", {
14331
14349
  innerHTML: escapeNewlines(column.title)
14332
- }, null, 8, _hoisted_10$2), _cache[2] || (_cache[2] = createTextVNode()), column.sortable ? (openBlock(), createBlock(unref(FIcon), {
14350
+ }, null, 8, _hoisted_10$1), _cache[2] || (_cache[2] = createTextVNode()), column.sortable ? (openBlock(), createBlock(unref(FIcon), {
14333
14351
  key: 0,
14334
14352
  class: normalizeClass(iconClasses2(column)),
14335
14353
  name: iconName(column)
@@ -14399,11 +14417,11 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
14399
14417
  colspan: nbOfColumns.value
14400
14418
  }, [renderSlot(_ctx.$slots, "empty", {}, () => [createTextVNode(toDisplayString(unref($t2)("fkui.interactive-table.empty", "Tabellen är tom")), 1)])], 8, _hoisted_22), _cache[12] || (_cache[12] = createTextVNode()), renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({
14401
14419
  row: {}
14402
- })))])) : createCommentVNode("", true)]))], 16, _hoisted_1$h)], 2);
14420
+ })))])) : createCommentVNode("", true)]))], 16, _hoisted_1$k)], 2);
14403
14421
  };
14404
14422
  }
14405
14423
  });
14406
- const _sfc_main$g = defineComponent({
14424
+ const _sfc_main$j = defineComponent({
14407
14425
  name: "FLayoutApplicationTemplate",
14408
14426
  computed: {
14409
14427
  showHeader() {
@@ -14428,10 +14446,10 @@ const _sfc_main$g = defineComponent({
14428
14446
  }
14429
14447
  }
14430
14448
  });
14431
- const _hoisted_1$g = {
14449
+ const _hoisted_1$j = {
14432
14450
  class: "layout-application-template"
14433
14451
  };
14434
- const _hoisted_2$c = {
14452
+ const _hoisted_2$d = {
14435
14453
  key: 0,
14436
14454
  ref: "header",
14437
14455
  class: "layout-application-template__header"
@@ -14448,11 +14466,11 @@ const _hoisted_5$5 = {
14448
14466
  class: "layout-application-template__footer"
14449
14467
  };
14450
14468
  function _sfc_render$d(_ctx, _cache, $props, $setup, $data, $options) {
14451
- return openBlock(), createElementBlock("div", _hoisted_1$g, [_ctx.showHeader || _ctx.showTopNavigation ? (openBlock(), createElementBlock("header", _hoisted_2$c, [_ctx.showHeader ? renderSlot(_ctx.$slots, "header", {
14469
+ return openBlock(), createElementBlock("div", _hoisted_1$j, [_ctx.showHeader || _ctx.showTopNavigation ? (openBlock(), createElementBlock("header", _hoisted_2$d, [_ctx.showHeader ? renderSlot(_ctx.$slots, "header", {
14452
14470
  key: 0
14453
14471
  }) : 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)]);
14454
14472
  }
14455
- const FLayoutApplicationTemplate = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["render", _sfc_render$d]]);
14473
+ const FLayoutApplicationTemplate = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["render", _sfc_render$d]]);
14456
14474
  function getGridClasses(target) {
14457
14475
  if (target === null) {
14458
14476
  return {};
@@ -14553,7 +14571,7 @@ function useLayoutPanel(options) {
14553
14571
  rightPrimaryClasses
14554
14572
  };
14555
14573
  }
14556
- const _sfc_main$f = defineComponent({
14574
+ const _sfc_main$i = defineComponent({
14557
14575
  name: "FLayoutLeftPanel",
14558
14576
  components: {
14559
14577
  FIcon
@@ -14638,10 +14656,10 @@ const _sfc_main$f = defineComponent({
14638
14656
  }
14639
14657
  }
14640
14658
  });
14641
- const _hoisted_1$f = {
14659
+ const _hoisted_1$i = {
14642
14660
  class: "layout-navigation"
14643
14661
  };
14644
- const _hoisted_2$b = ["aria-expanded"];
14662
+ const _hoisted_2$c = ["aria-expanded"];
14645
14663
  const _hoisted_3$7 = {
14646
14664
  class: "layout-navigation__navigation__inner"
14647
14665
  };
@@ -14651,7 +14669,7 @@ const _hoisted_4$6 = {
14651
14669
  };
14652
14670
  function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
14653
14671
  const _component_f_icon = resolveComponent("f-icon");
14654
- return openBlock(), createElementBlock("div", _hoisted_1$f, [createElementVNode("nav", {
14672
+ return openBlock(), createElementBlock("div", _hoisted_1$i, [createElementVNode("nav", {
14655
14673
  id: "layout-navigation__navigation",
14656
14674
  class: "layout-navigation__navigation",
14657
14675
  style: normalizeStyle(_ctx.navigationStyle),
@@ -14694,13 +14712,13 @@ function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
14694
14712
  class: "layout-navigation__navigation__border__dot"
14695
14713
  }, null, -1), createTextVNode(), createElementVNode("div", {
14696
14714
  class: "layout-navigation__navigation__border__dot"
14697
- }, null, -1)]), 32)) : createCommentVNode("", true)], 12, _hoisted_2$b), _cache[14] || (_cache[14] = createTextVNode()), createElementVNode("div", {
14715
+ }, null, -1)]), 32)) : createCommentVNode("", true)], 12, _hoisted_2$c), _cache[14] || (_cache[14] = createTextVNode()), createElementVNode("div", {
14698
14716
  id: "layout-navigation__primary",
14699
14717
  class: normalizeClass(["layout-navigation__primary", _ctx.leftPrimaryClasses]),
14700
14718
  style: normalizeStyle(_ctx.primaryStyle)
14701
14719
  }, [renderSlot(_ctx.$slots, "default")], 6)]);
14702
14720
  }
14703
- const FLayoutLeftPanel = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["render", _sfc_render$c]]);
14721
+ const FLayoutLeftPanel = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["render", _sfc_render$c]]);
14704
14722
  class FRightPanelServiceImpl {
14705
14723
  constructor() {
14706
14724
  _defineProperty(this, "focusedElementBeforeOpenining", null);
@@ -14730,7 +14748,7 @@ class FRightPanelServiceImpl {
14730
14748
  }
14731
14749
  }
14732
14750
  const FLayoutRightPanelService = new FRightPanelServiceImpl();
14733
- const _sfc_main$e = defineComponent({
14751
+ const _sfc_main$h = defineComponent({
14734
14752
  name: "FLayoutRightPanel",
14735
14753
  components: {
14736
14754
  FIcon
@@ -14847,15 +14865,15 @@ const _sfc_main$e = defineComponent({
14847
14865
  }
14848
14866
  }
14849
14867
  });
14850
- const _hoisted_1$e = {
14868
+ const _hoisted_1$h = {
14851
14869
  class: "layout-secondary"
14852
14870
  };
14853
- const _hoisted_2$a = {
14871
+ const _hoisted_2$b = {
14854
14872
  class: "layout-secondary__secondary__inner"
14855
14873
  };
14856
14874
  function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
14857
14875
  const _component_f_icon = resolveComponent("f-icon");
14858
- return openBlock(), createElementBlock("div", _hoisted_1$e, [createElementVNode("div", {
14876
+ return openBlock(), createElementBlock("div", _hoisted_1$h, [createElementVNode("div", {
14859
14877
  id: "layout-secondary__primary",
14860
14878
  class: normalizeClass(["layout-secondary__primary", _ctx.rightPrimaryClasses]),
14861
14879
  style: normalizeStyle(_ctx.primaryStyle)
@@ -14872,7 +14890,7 @@ function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
14872
14890
  class: "layout-secondary__secondary__border__dot"
14873
14891
  }, null, -1), createTextVNode(), createElementVNode("div", {
14874
14892
  class: "layout-secondary__secondary__border__dot"
14875
- }, null, -1)]), 32), _cache[9] || (_cache[9] = createTextVNode()), createElementVNode("div", _hoisted_2$a, [createElementVNode("div", {
14893
+ }, null, -1)]), 32), _cache[9] || (_cache[9] = createTextVNode()), createElementVNode("div", _hoisted_2$b, [createElementVNode("div", {
14876
14894
  ref: "title",
14877
14895
  class: "layout-secondary__secondary__inner__title",
14878
14896
  style: normalizeStyle(_ctx.contentStyle)
@@ -14892,33 +14910,32 @@ function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
14892
14910
  name: "close"
14893
14911
  })])], 6)])], 4)) : createCommentVNode("", true)]);
14894
14912
  }
14895
- const FLayoutRightPanel = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["render", _sfc_render$b]]);
14896
- const _hoisted_1$d = {
14913
+ const FLayoutRightPanel = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", _sfc_render$b]]);
14914
+ const _hoisted_1$g = {
14897
14915
  key: 0,
14898
14916
  class: "list"
14899
14917
  };
14900
- const _hoisted_2$9 = {
14918
+ const _hoisted_2$a = {
14901
14919
  key: 0,
14902
14920
  class: "list__item"
14903
14921
  };
14904
14922
  const _hoisted_3$6 = {
14905
14923
  class: "list__item__itempane"
14906
14924
  };
14907
- const _hoisted_4$5 = ["tabindex"];
14908
- const _hoisted_5$4 = ["id", "aria-labelledby", "tabindex", "onKeydown"];
14909
- const _hoisted_6$3 = ["onClick"];
14910
- const _hoisted_7$2 = {
14925
+ const _hoisted_4$5 = ["id", "aria-labelledby", "tabindex", "onKeydown"];
14926
+ const _hoisted_5$4 = ["onClick"];
14927
+ const _hoisted_6$3 = {
14911
14928
  class: "list__item__selectpane__input"
14912
14929
  };
14913
- const _hoisted_8$2 = ["id"];
14914
- const _hoisted_9$2 = {
14930
+ const _hoisted_7$2 = ["id"];
14931
+ const _hoisted_8$2 = {
14915
14932
  key: 0,
14916
14933
  class: "list__item"
14917
14934
  };
14918
- const _hoisted_10$1 = {
14935
+ const _hoisted_9$2 = {
14919
14936
  class: "list__item__itempane"
14920
14937
  };
14921
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
14938
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
14922
14939
  __name: "FList",
14923
14940
  props: {
14924
14941
  /**
@@ -15142,7 +15159,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
15142
15159
  return props.checkbox && itemEquals(activeItem.value, item, props.keyAttribute);
15143
15160
  }
15144
15161
  return (_ctx, _cache) => {
15145
- return !__props.selectable ? (openBlock(), createElementBlock("ul", _hoisted_1$d, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
15162
+ return !__props.selectable ? (openBlock(), createElementBlock("ul", _hoisted_1$g, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
15146
15163
  return openBlock(), createElementBlock("li", {
15147
15164
  key: itemKey(item),
15148
15165
  class: "list__item"
@@ -15155,12 +15172,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
15155
15172
  }, {
15156
15173
  item
15157
15174
  }))], 512)]);
15158
- }), 128)), _cache[0] || (_cache[0] = createTextVNode()), isEmpty2.value ? (openBlock(), createElementBlock("li", _hoisted_2$9, [createElementVNode("div", _hoisted_3$6, [renderSlot(_ctx.$slots, "empty", {}, () => [createElementVNode("em", null, toDisplayString(unref($t2)("fkui.list.empty", "Listan är tom")), 1)])])])) : createCommentVNode("", true)])) : (openBlock(), createElementBlock("ul", {
15175
+ }), 128)), _cache[0] || (_cache[0] = createTextVNode()), isEmpty2.value ? (openBlock(), createElementBlock("li", _hoisted_2$a, [createElementVNode("div", _hoisted_3$6, [renderSlot(_ctx.$slots, "empty", {}, () => [createElementVNode("em", null, toDisplayString(unref($t2)("fkui.list.empty", "Listan är tom")), 1)])])])) : createCommentVNode("", true)])) : (openBlock(), createElementBlock("ul", {
15159
15176
  key: 1,
15160
15177
  ref_key: "ulElement",
15161
15178
  ref: ulElement,
15162
- class: "list list--hover",
15163
- tabindex: __props.checkbox ? 0 : void 0
15179
+ class: "list list--hover"
15164
15180
  }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
15165
15181
  return openBlock(), createElementBlock("li", {
15166
15182
  id: getItemId(item),
@@ -15175,7 +15191,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
15175
15191
  key: 0,
15176
15192
  class: "list__item__selectpane",
15177
15193
  onClick: withModifiers(($event) => onSelect(item), ["self"])
15178
- }, [createElementVNode("div", _hoisted_7$2, [createVNode(unref(FCheckboxField), {
15194
+ }, [createElementVNode("div", _hoisted_6$3, [createVNode(unref(FCheckboxField), {
15179
15195
  value: true,
15180
15196
  "model-value": isSelected(item),
15181
15197
  onClick: withModifiers(($event) => onSelect(item), ["self"])
@@ -15187,9 +15203,9 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
15187
15203
  ref_for: true
15188
15204
  }, {
15189
15205
  item
15190
- }))], 8, _hoisted_8$2)]),
15206
+ }))], 8, _hoisted_7$2)]),
15191
15207
  _: 2
15192
- }, 1032, ["model-value", "onClick"])])], 8, _hoisted_6$3)) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), (openBlock(), createBlock(resolveDynamicComponent(__props.checkbox ? "div" : "a"), {
15208
+ }, 1032, ["model-value", "onClick"])])], 8, _hoisted_5$4)) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), (openBlock(), createBlock(resolveDynamicComponent(__props.checkbox ? "div" : "a"), {
15193
15209
  ref_for: true,
15194
15210
  ref: "listItemPanes",
15195
15211
  href: !__props.checkbox ? "javascript:" : void 0,
@@ -15202,12 +15218,12 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
15202
15218
  item
15203
15219
  }))]),
15204
15220
  _: 2
15205
- }, 1032, ["href", "onClick"]))], 42, _hoisted_5$4);
15206
- }), 128)), _cache[2] || (_cache[2] = createTextVNode()), isEmpty2.value ? (openBlock(), createElementBlock("li", _hoisted_9$2, [createElementVNode("div", _hoisted_10$1, [renderSlot(_ctx.$slots, "empty", {}, () => [createElementVNode("em", null, toDisplayString(unref($t2)("fkui.list.empty", "Listan är tom")), 1)])])])) : createCommentVNode("", true)], 8, _hoisted_4$5));
15221
+ }, 1032, ["href", "onClick"]))], 42, _hoisted_4$5);
15222
+ }), 128)), _cache[2] || (_cache[2] = createTextVNode()), isEmpty2.value ? (openBlock(), createElementBlock("li", _hoisted_8$2, [createElementVNode("div", _hoisted_9$2, [renderSlot(_ctx.$slots, "empty", {}, () => [createElementVNode("em", null, toDisplayString(unref($t2)("fkui.list.empty", "Listan är tom")), 1)])])])) : createCommentVNode("", true)], 512));
15207
15223
  };
15208
15224
  }
15209
15225
  });
15210
- const _sfc_main$c = defineComponent({
15226
+ const _sfc_main$f = defineComponent({
15211
15227
  name: "FLoader",
15212
15228
  mixins: [TranslationMixin],
15213
15229
  inheritAttrs: false,
@@ -15319,10 +15335,10 @@ const _sfc_main$c = defineComponent({
15319
15335
  }
15320
15336
  }
15321
15337
  });
15322
- const _hoisted_1$c = {
15338
+ const _hoisted_1$f = {
15323
15339
  class: "loader__backdrop"
15324
15340
  };
15325
- const _hoisted_2$8 = {
15341
+ const _hoisted_2$9 = {
15326
15342
  role: "alert"
15327
15343
  };
15328
15344
  function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
@@ -15331,7 +15347,7 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
15331
15347
  disabled: _ctx.teleportDisabled
15332
15348
  }, [withDirectives(createElementVNode("div", mergeProps(_ctx.$attrs, {
15333
15349
  class: ["loader", _ctx.classes]
15334
- }), [createElementVNode("div", _hoisted_1$c, [_cache[0] || (_cache[0] = createElementVNode("div", {
15350
+ }), [createElementVNode("div", _hoisted_1$f, [_cache[0] || (_cache[0] = createElementVNode("div", {
15335
15351
  class: "loader__wrapper"
15336
15352
  }, [createElementVNode("div", {
15337
15353
  class: "loader__spinner-1 loader__spinner"
@@ -15369,10 +15385,10 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
15369
15385
  "loader--delay": _ctx.delay
15370
15386
  }]),
15371
15387
  tabindex: "-1"
15372
- }, [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"]);
15388
+ }, [createElementVNode("span", _hoisted_2$9, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.loader.wait.text", _ctx.defaultLoadingText)), 1)])])], 2)])], 16), [[vShow, _ctx.show]])], 8, ["to", "disabled"]);
15373
15389
  }
15374
- const FLoader = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["render", _sfc_render$a]]);
15375
- const _hoisted_1$b = ["aria-label"];
15390
+ const FLoader = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["render", _sfc_render$a]]);
15391
+ const _hoisted_1$e = ["aria-label"];
15376
15392
  const __default__ = defineComponent({
15377
15393
  computed: {
15378
15394
  ariaLabel() {
@@ -15384,7 +15400,7 @@ const __default__ = defineComponent({
15384
15400
  }
15385
15401
  }
15386
15402
  });
15387
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
15403
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
15388
15404
  ...__default__,
15389
15405
  __name: "FLogo",
15390
15406
  props: {
@@ -15408,7 +15424,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
15408
15424
  class: normalizeClass(`logo logo--${props.size}`),
15409
15425
  "aria-label": _ctx.ariaLabel,
15410
15426
  role: "img"
15411
- }, null, 10, _hoisted_1$b);
15427
+ }, null, 10, _hoisted_1$e);
15412
15428
  };
15413
15429
  }
15414
15430
  });
@@ -15438,7 +15454,7 @@ const iconClasses = {
15438
15454
  screenReaderContextDefault: "Informationsmeddelande"
15439
15455
  }
15440
15456
  };
15441
- const _sfc_main$a = defineComponent({
15457
+ const _sfc_main$d = defineComponent({
15442
15458
  name: "FMessageBox",
15443
15459
  components: {
15444
15460
  FIcon,
@@ -15528,7 +15544,7 @@ const _sfc_main$a = defineComponent({
15528
15544
  }
15529
15545
  }
15530
15546
  });
15531
- const _hoisted_1$a = {
15547
+ const _hoisted_1$d = {
15532
15548
  key: 0,
15533
15549
  class: "sr-only"
15534
15550
  };
@@ -15538,7 +15554,7 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
15538
15554
  const _component_i_flex = resolveComponent("i-flex");
15539
15555
  return openBlock(), createElementBlock("div", {
15540
15556
  class: normalizeClass(["message-box", [_ctx.messageBoxType, _ctx.bannerType]])
15541
- }, [_ctx.provideScreenReaderContext ? (openBlock(), createElementBlock("span", _hoisted_1$a, toDisplayString(_ctx.screenReaderContext()), 1)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), createVNode(_component_i_flex, {
15557
+ }, [_ctx.provideScreenReaderContext ? (openBlock(), createElementBlock("span", _hoisted_1$d, toDisplayString(_ctx.screenReaderContext()), 1)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), createVNode(_component_i_flex, {
15542
15558
  gap: "2x"
15543
15559
  }, {
15544
15560
  default: withCtx(() => [_ctx.layout === "short" ? (openBlock(), createBlock(_component_i_flex_item, {
@@ -15570,7 +15586,7 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
15570
15586
  _: 3
15571
15587
  })], 2);
15572
15588
  }
15573
- const FMessageBox = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["render", _sfc_render$9]]);
15589
+ const FMessageBox = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["render", _sfc_render$9]]);
15574
15590
  function findOverflowIndex(totalWidth, elements) {
15575
15591
  let sum = 0;
15576
15592
  const index = elements.findIndex((element) => {
@@ -15620,7 +15636,7 @@ const upKeys = ["Up", "ArrowUp"];
15620
15636
  const downKeys = ["Down", "ArrowDown"];
15621
15637
  const verticalKeys = [...upKeys, ...downKeys];
15622
15638
  const preventKeys = ["Tab", "Left", "Right", "ArrowLeft", "ArrowRight", "Home", "End", " ", "Spacebar", "Enter", ...verticalKeys];
15623
- const _sfc_main$9 = defineComponent({
15639
+ const _sfc_main$c = defineComponent({
15624
15640
  name: "FNavigationMenu",
15625
15641
  components: {
15626
15642
  FIcon,
@@ -15953,8 +15969,8 @@ const _sfc_main$9 = defineComponent({
15953
15969
  }
15954
15970
  }
15955
15971
  });
15956
- const _hoisted_1$9 = ["aria-label"];
15957
- const _hoisted_2$7 = ["data-ref-index", "onClick"];
15972
+ const _hoisted_1$c = ["aria-label"];
15973
+ const _hoisted_2$8 = ["data-ref-index", "onClick"];
15958
15974
  const _hoisted_3$5 = {
15959
15975
  class: "imenu__list__anchor-container"
15960
15976
  };
@@ -16005,7 +16021,7 @@ function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
16005
16021
  target: item.target,
16006
16022
  class: "imenu__list__anchor",
16007
16023
  role: "menuitem"
16008
- }, [_ctx.showItemSrText(index) ? (openBlock(), createElementBlock("span", _hoisted_5$3, [createElementVNode("span", null, toDisplayString(_ctx.selectedItemSrText) + " ", 1)])) : createCommentVNode("", true), createTextVNode(" " + toDisplayString(item.label), 1)], 8, _hoisted_4$4)])], 10, _hoisted_2$7);
16024
+ }, [_ctx.showItemSrText(index) ? (openBlock(), createElementBlock("span", _hoisted_5$3, [createElementVNode("span", null, toDisplayString(_ctx.selectedItemSrText) + " ", 1)])) : createCommentVNode("", true), createTextVNode(" " + toDisplayString(item.label), 1)], 8, _hoisted_4$4)])], 10, _hoisted_2$8);
16009
16025
  }), 128)), _cache[6] || (_cache[6] = createTextVNode()), _ctx.hasOverflow ? (openBlock(), createElementBlock("li", _hoisted_6$2, [createElementVNode("div", {
16010
16026
  ref: "popup-item",
16011
16027
  class: normalizeClass(_ctx.popupItemClasses),
@@ -16034,11 +16050,11 @@ function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
16034
16050
  "enable-keyboard-navigation": "",
16035
16051
  onSelect: _ctx.onPopupMenuItemSelected,
16036
16052
  onClose: _cache[5] || (_cache[5] = ($event) => _ctx.togglePopup(false))
16037
- }, null, 8, ["modelValue", "focused-item", "items", "is-open", "anchor", "selected-menu-item-screen-reader-text", "aria-label", "onSelect"])], 10, _hoisted_1$9);
16053
+ }, null, 8, ["modelValue", "focused-item", "items", "is-open", "anchor", "selected-menu-item-screen-reader-text", "aria-label", "onSelect"])], 10, _hoisted_1$c);
16038
16054
  }
16039
- const FNavigationMenu = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["render", _sfc_render$8]]);
16055
+ const FNavigationMenu = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["render", _sfc_render$8]]);
16040
16056
  const EVENTS = ["online", "offline"];
16041
- const _sfc_main$8 = defineComponent({
16057
+ const _sfc_main$b = defineComponent({
16042
16058
  name: "FOffline",
16043
16059
  components: {
16044
16060
  FIcon,
@@ -16086,8 +16102,8 @@ const _sfc_main$8 = defineComponent({
16086
16102
  }
16087
16103
  }
16088
16104
  });
16089
- const _hoisted_1$8 = ["role"];
16090
- const _hoisted_2$6 = {
16105
+ const _hoisted_1$b = ["role"];
16106
+ const _hoisted_2$7 = {
16091
16107
  key: 0,
16092
16108
  class: "offline"
16093
16109
  };
@@ -16106,7 +16122,7 @@ function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
16106
16122
  ref: "offline",
16107
16123
  class: "offline__wrapper",
16108
16124
  role: _ctx.role
16109
- }, [!_ctx.isOnline ? (openBlock(), createElementBlock("div", _hoisted_2$6, [createVNode(_component_i_flex, {
16125
+ }, [!_ctx.isOnline ? (openBlock(), createElementBlock("div", _hoisted_2$7, [createVNode(_component_i_flex, {
16110
16126
  gap: "2x"
16111
16127
  }, {
16112
16128
  default: withCtx(() => [createVNode(_component_i_flex_item, {
@@ -16132,10 +16148,10 @@ function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
16132
16148
  })])) : createCommentVNode("", true), _cache[3] || (_cache[3] = createTextVNode()), withDirectives(createElementVNode("span", {
16133
16149
  class: "sr-only",
16134
16150
  "aria-hidden": _ctx.shouldNotRead ? "true" : void 0
16135
- }, "\n Din internetuppkoppling fungerar igen\n ", 8, _hoisted_5$2), [[vShow, _ctx.isOnline]])], 8, _hoisted_1$8);
16151
+ }, "\n Din internetuppkoppling fungerar igen\n ", 8, _hoisted_5$2), [[vShow, _ctx.isOnline]])], 8, _hoisted_1$b);
16136
16152
  }
16137
- const FOffline = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render$7]]);
16138
- const _sfc_main$7 = defineComponent({
16153
+ const FOffline = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$7]]);
16154
+ const _sfc_main$a = defineComponent({
16139
16155
  name: "FOutputField",
16140
16156
  components: {
16141
16157
  FLabel
@@ -16168,13 +16184,13 @@ const _sfc_main$7 = defineComponent({
16168
16184
  }
16169
16185
  }
16170
16186
  });
16171
- const _hoisted_1$7 = {
16187
+ const _hoisted_1$a = {
16172
16188
  class: "output-field"
16173
16189
  };
16174
- const _hoisted_2$5 = ["id", "for"];
16190
+ const _hoisted_2$6 = ["id", "for"];
16175
16191
  function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
16176
16192
  const _component_f_label = resolveComponent("f-label");
16177
- return openBlock(), createElementBlock("div", _hoisted_1$7, [createVNode(_component_f_label, {
16193
+ return openBlock(), createElementBlock("div", _hoisted_1$a, [createVNode(_component_f_label, {
16178
16194
  for: _ctx.id
16179
16195
  }, createSlots({
16180
16196
  default: withCtx(() => [renderSlot(_ctx.$slots, "label")]),
@@ -16187,10 +16203,10 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
16187
16203
  id: _ctx.id,
16188
16204
  for: _ctx.htmlFor,
16189
16205
  class: "output-field__output"
16190
- }, _ctx.$attrs), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_2$5)]);
16206
+ }, _ctx.$attrs), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_2$6)]);
16191
16207
  }
16192
- const FOutputField = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render$6]]);
16193
- const _sfc_main$6 = defineComponent({
16208
+ const FOutputField = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["render", _sfc_render$6]]);
16209
+ const _sfc_main$9 = defineComponent({
16194
16210
  name: "FPageHeader",
16195
16211
  components: {
16196
16212
  ISkipLink
@@ -16237,10 +16253,10 @@ const _sfc_main$6 = defineComponent({
16237
16253
  }
16238
16254
  }
16239
16255
  });
16240
- const _hoisted_1$6 = {
16256
+ const _hoisted_1$9 = {
16241
16257
  class: "page-header__root"
16242
16258
  };
16243
- const _hoisted_2$4 = {
16259
+ const _hoisted_2$5 = {
16244
16260
  key: 0
16245
16261
  };
16246
16262
  const _hoisted_3$3 = {
@@ -16259,7 +16275,7 @@ const _hoisted_6$1 = {
16259
16275
  };
16260
16276
  function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
16261
16277
  const _component_i_skip_link = resolveComponent("i-skip-link");
16262
- return openBlock(), createElementBlock("div", _hoisted_1$6, [_ctx.skipLinkAnchor ? (openBlock(), createElementBlock("nav", _hoisted_2$4, [createVNode(_component_i_skip_link, {
16278
+ return openBlock(), createElementBlock("div", _hoisted_1$9, [_ctx.skipLinkAnchor ? (openBlock(), createElementBlock("nav", _hoisted_2$5, [createVNode(_component_i_skip_link, {
16263
16279
  href: _ctx.skipLinkAnchor
16264
16280
  }, {
16265
16281
  default: withCtx(() => [renderSlot(_ctx.$slots, "skip-link-text")]),
@@ -16271,17 +16287,316 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
16271
16287
  _: 3
16272
16288
  })), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("div", _hoisted_5$1, [createElementVNode("div", _hoisted_6$1, [renderSlot(_ctx.$slots, "right")])])], 512)]);
16273
16289
  }
16274
- const FPageHeader = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render$5]]);
16275
- const _hoisted_1$5 = {
16290
+ const FPageHeader = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["render", _sfc_render$5]]);
16291
+ const layoutRegister = {};
16292
+ function getLayout(name) {
16293
+ var _layoutRegister$name;
16294
+ return (_layoutRegister$name = layoutRegister[name]) !== null && _layoutRegister$name !== void 0 ? _layoutRegister$name : null;
16295
+ }
16296
+ function setLayout(name, layout) {
16297
+ layoutRegister[name] = layout;
16298
+ }
16299
+ function defineLayout(definition) {
16300
+ return normalizeDefinition(definition);
16301
+ }
16302
+ function registerLayout(definition) {
16303
+ setLayout(definition.name, normalizeDefinition(definition));
16304
+ }
16305
+ function normalizeDefinition(definition) {
16306
+ return {
16307
+ name: definition.name,
16308
+ areas: normalizeAreasDefinition(definition.areas)
16309
+ };
16310
+ }
16311
+ function normalizeAreasDefinition(areas) {
16312
+ return Object.fromEntries(Object.entries(areas).map(([key, area]) => {
16313
+ var _area$scroll;
16314
+ return [key, {
16315
+ attachPanel: area.attachPanel,
16316
+ direction: area.direction,
16317
+ scroll: (_area$scroll = area.scroll) !== null && _area$scroll !== void 0 ? _area$scroll : false
16318
+ }];
16319
+ }));
16320
+ }
16321
+ function _checkPrivateRedeclaration(e, t) {
16322
+ if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object");
16323
+ }
16324
+ function _classPrivateFieldInitSpec(e, t, a) {
16325
+ _checkPrivateRedeclaration(e, t), t.set(e, a);
16326
+ }
16327
+ function _assertClassBrand(e, t, n) {
16328
+ if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
16329
+ throw new TypeError("Private element is not present on this object");
16330
+ }
16331
+ function _classPrivateFieldGet2(s, a) {
16332
+ return s.get(_assertClassBrand(s, a));
16333
+ }
16334
+ function _classPrivateFieldSet2(s, a, r) {
16335
+ return s.set(_assertClassBrand(s, a), r), r;
16336
+ }
16337
+ const VAR_NAME_AREA = "--f-layout-area";
16338
+ const VAR_NAME_ATTACH_PANEL = "--f-layout-panel";
16339
+ const VAR_NAME_DIRECTION = "--f-layout-direction";
16340
+ registerLayout({
16341
+ name: "simple",
16342
+ areas: {
16343
+ header: {
16344
+ attachPanel: "none",
16345
+ direction: "column"
16346
+ },
16347
+ content: {
16348
+ attachPanel: "none",
16349
+ direction: "column",
16350
+ scroll: true
16351
+ },
16352
+ footer: {
16353
+ attachPanel: "none",
16354
+ direction: "column"
16355
+ }
16356
+ }
16357
+ });
16358
+ registerLayout({
16359
+ name: "left-panel",
16360
+ areas: {
16361
+ header: {
16362
+ attachPanel: "none",
16363
+ direction: "column"
16364
+ },
16365
+ left: {
16366
+ attachPanel: "left",
16367
+ direction: "column"
16368
+ },
16369
+ content: {
16370
+ attachPanel: "none",
16371
+ direction: "column",
16372
+ scroll: true
16373
+ },
16374
+ footer: {
16375
+ attachPanel: "none",
16376
+ direction: "column"
16377
+ }
16378
+ }
16379
+ });
16380
+ registerLayout({
16381
+ name: "right-panel",
16382
+ areas: {
16383
+ header: {
16384
+ attachPanel: "none",
16385
+ direction: "column"
16386
+ },
16387
+ right: {
16388
+ attachPanel: "right",
16389
+ direction: "column"
16390
+ },
16391
+ content: {
16392
+ attachPanel: "none",
16393
+ direction: "column",
16394
+ scroll: true
16395
+ },
16396
+ footer: {
16397
+ attachPanel: "none",
16398
+ direction: "column"
16399
+ }
16400
+ }
16401
+ });
16402
+ registerLayout({
16403
+ name: "three-column",
16404
+ areas: {
16405
+ header: {
16406
+ attachPanel: "top",
16407
+ direction: "column"
16408
+ },
16409
+ left: {
16410
+ attachPanel: "left",
16411
+ direction: "column"
16412
+ },
16413
+ right: {
16414
+ attachPanel: "right",
16415
+ direction: "column"
16416
+ },
16417
+ content: {
16418
+ attachPanel: "none",
16419
+ direction: "column",
16420
+ scroll: true
16421
+ },
16422
+ footer: {
16423
+ attachPanel: "bottom",
16424
+ direction: "column"
16425
+ }
16426
+ }
16427
+ });
16428
+ const styleContent = ':host {\n display: block;\n}\n\n.page-layout {\n display: grid;\n height: 100cqh;\n width: min(100%, 100cqw);\n\n &[part~="simple"] {\n grid-template:\n "header" min-content\n "content" 1fr\n "footer" min-content\n / 1fr;\n\n [part="area header"],\n [part="area footer"] {\n background: var(--f-background-pageheader-primary);\n color: var(--fkds-color-text-inverted);\n }\n\n [part="area content"] {\n background: var(--fkds-color-background-primary);\n color: var(--fkds-color-text-primary);\n }\n }\n\n &[part~="left-panel"] {\n grid-template:\n "header header" min-content\n "left content" 1fr\n "footer footer" min-content\n / min-content 1fr;\n\n [part="area header"],\n [part="area footer"] {\n background: var(--f-background-pageheader-primary);\n color: var(--fkds-color-text-inverted);\n }\n\n [part="area left"] {\n background: var(--fkds-color-background-secondary);\n }\n\n [part="area content"] {\n background: var(--fkds-color-background-primary);\n color: var(--fkds-color-text-primary);\n }\n }\n\n &[part~="right-panel"] {\n grid-template:\n "header header" min-content\n "content right" 1fr\n "footer footer" min-content\n / 1fr min-content;\n\n [part="area header"],\n [part="area footer"] {\n background: var(--f-background-pageheader-primary);\n color: var(--fkds-color-text-inverted);\n }\n\n [part="area right"] {\n background: var(--fkds-color-background-secondary);\n color: var(--fkds-color-text-primary);\n }\n\n [part="area content"] {\n background: var(--fkds-color-background-primary);\n color: var(--fkds-color-text-primary);\n }\n }\n\n &[part~="three-column"] {\n grid-template:\n "header header header" min-content\n "left content right" 1fr\n "footer footer footer" min-content\n / min-content 1fr min-content;\n\n [part="area header"],\n [part="area footer"] {\n background: var(--f-background-pageheader-primary);\n color: var(--fkds-color-text-inverted);\n }\n\n [part="area left"],\n [part="area right"] {\n background: var(--fkds-color-background-secondary);\n color: var(--fkds-color-text-primary);\n }\n\n [part="area content"] {\n background: var(--fkds-color-background-primary);\n color: var(--fkds-color-text-primary);\n }\n }\n}\n\n.page-layout__area {\n display: flex;\n position: relative;\n\n &[data-direction="column"] {\n flex-direction: column;\n }\n\n &[data-direction="row"] {\n flex-direction: row;\n }\n\n &[data-scroll] {\n overflow-y: auto;\n }\n\n &:empty {\n display: none;\n }\n}\n\n:host ::slotted(*) {\n display: contents;\n}\n';
16429
+ const stubLayout = defineLayout({
16430
+ name: "",
16431
+ areas: {}
16432
+ });
16433
+ function getSlotNames(element) {
16434
+ return Array.from(element.querySelectorAll(":scope > [slot]"), (it) => it.slot);
16435
+ }
16436
+ var _wrapper = /* @__PURE__ */ new WeakMap();
16437
+ var _elements = /* @__PURE__ */ new WeakMap();
16438
+ var _layout = /* @__PURE__ */ new WeakMap();
16439
+ var _observer = /* @__PURE__ */ new WeakMap();
16440
+ var _slotNames = /* @__PURE__ */ new WeakMap();
16441
+ class PageLayout extends HTMLElement {
16442
+ constructor() {
16443
+ super();
16444
+ _classPrivateFieldInitSpec(this, _wrapper, void 0);
16445
+ _classPrivateFieldInitSpec(this, _elements, {});
16446
+ _classPrivateFieldInitSpec(this, _layout, stubLayout);
16447
+ _classPrivateFieldInitSpec(this, _observer, void 0);
16448
+ _classPrivateFieldInitSpec(this, _slotNames, []);
16449
+ _classPrivateFieldSet2(_wrapper, this, document.createElement("div"));
16450
+ _classPrivateFieldSet2(_observer, this, new MutationObserver(() => {
16451
+ this.slotNames = getSlotNames(this);
16452
+ }));
16453
+ }
16454
+ /* eslint-disable-next-line @typescript-eslint/explicit-function-return-type -- this one is better to infer or each attribute would have to be duplicated */
16455
+ static get observedAttributes() {
16456
+ return ["layout"];
16457
+ }
16458
+ connectedCallback() {
16459
+ this.slotNames = getSlotNames(this);
16460
+ _classPrivateFieldGet2(_observer, this).observe(this, {
16461
+ childList: true
16462
+ });
16463
+ const shadow = this.attachShadow({
16464
+ mode: "open"
16465
+ });
16466
+ const style = document.createElement("style");
16467
+ style.textContent = styleContent;
16468
+ shadow.append(style);
16469
+ shadow.append(_classPrivateFieldGet2(_wrapper, this));
16470
+ }
16471
+ disconnectedCallback() {
16472
+ _classPrivateFieldGet2(_observer, this).disconnect();
16473
+ }
16474
+ attributeChangedCallback(name, _oldValue, value) {
16475
+ switch (name) {
16476
+ case "layout": {
16477
+ var _getLayout;
16478
+ const part = ["grid", value].filter(Boolean).join(" ");
16479
+ _classPrivateFieldGet2(_wrapper, this).className = "page-layout";
16480
+ _classPrivateFieldGet2(_wrapper, this).setAttribute("part", part);
16481
+ _classPrivateFieldSet2(_layout, this, (_getLayout = getLayout(value)) !== null && _getLayout !== void 0 ? _getLayout : stubLayout);
16482
+ this.updateSlotElements();
16483
+ break;
16484
+ }
16485
+ }
16486
+ }
16487
+ get slotNames() {
16488
+ return _classPrivateFieldGet2(_slotNames, this);
16489
+ }
16490
+ set slotNames(slots) {
16491
+ _classPrivateFieldSet2(_slotNames, this, slots);
16492
+ this.updateSlotElements();
16493
+ }
16494
+ updateSlotElements() {
16495
+ const wrapper = _classPrivateFieldGet2(_wrapper, this);
16496
+ const layout = _classPrivateFieldGet2(_layout, this);
16497
+ for (const slot of _classPrivateFieldGet2(_slotNames, this)) {
16498
+ const existing = _classPrivateFieldGet2(_elements, this)[slot];
16499
+ const element = existing !== null && existing !== void 0 ? existing : document.createElement("div");
16500
+ const area = layout.areas[slot];
16501
+ if (!area) {
16502
+ continue;
16503
+ }
16504
+ const {
16505
+ attachPanel: attach,
16506
+ direction,
16507
+ scroll
16508
+ } = area;
16509
+ element.className = "";
16510
+ element.classList.add("page-layout__area");
16511
+ element.setAttribute("part", ["area", slot].join(" "));
16512
+ element.setAttribute("data-direction", direction);
16513
+ if (scroll) {
16514
+ element.setAttribute("data-scroll", "true");
16515
+ } else {
16516
+ element.removeAttribute("data-scroll");
16517
+ }
16518
+ element.style.setProperty("grid-area", slot);
16519
+ element.style.setProperty(VAR_NAME_AREA, `"${slot}"`);
16520
+ element.style.setProperty(VAR_NAME_ATTACH_PANEL, `"${attach}"`);
16521
+ element.style.setProperty(VAR_NAME_DIRECTION, `"${direction}"`);
16522
+ if (!existing) {
16523
+ const slotElement = document.createElement("slot");
16524
+ slotElement.name = slot;
16525
+ element.append(slotElement);
16526
+ wrapper.append(element);
16527
+ _classPrivateFieldGet2(_elements, this)[slot] = element;
16528
+ }
16529
+ }
16530
+ }
16531
+ }
16532
+ const _hoisted_1$8 = ["slot"];
16533
+ const tagName$1 = `ce-page-layout`;
16534
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
16535
+ __name: "FPageLayout",
16536
+ props: {
16537
+ layout: {}
16538
+ },
16539
+ setup(__props) {
16540
+ const slots = useSlots();
16541
+ const slotNames = computed(() => {
16542
+ return Object.keys(slots);
16543
+ });
16544
+ onMounted(() => {
16545
+ if (!customElements.get(tagName$1)) {
16546
+ customElements.define(tagName$1, PageLayout);
16547
+ }
16548
+ });
16549
+ return (_ctx, _cache) => {
16550
+ return openBlock(), createBlock(resolveDynamicComponent(tagName$1), {
16551
+ layout: _ctx.layout
16552
+ }, {
16553
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(slotNames.value, (slot) => {
16554
+ return openBlock(), createElementBlock("div", {
16555
+ key: slot,
16556
+ slot
16557
+ }, [renderSlot(_ctx.$slots, slot)], 8, _hoisted_1$8);
16558
+ }), 128))]),
16559
+ _: 3
16560
+ }, 8, ["layout"]);
16561
+ };
16562
+ }
16563
+ });
16564
+ function getProperty(style, key) {
16565
+ const value = style.getPropertyValue(key);
16566
+ if (value === "") {
16567
+ return null;
16568
+ } else {
16569
+ return JSON.parse(value);
16570
+ }
16571
+ }
16572
+ function useAreaData(element) {
16573
+ const area = ref(null);
16574
+ const attachPanel = ref(null);
16575
+ const direction = ref(null);
16576
+ watchEffect(() => {
16577
+ if (element.value) {
16578
+ const style = getComputedStyle(element.value);
16579
+ area.value = getProperty(style, VAR_NAME_AREA);
16580
+ attachPanel.value = getProperty(style, VAR_NAME_ATTACH_PANEL);
16581
+ direction.value = getProperty(style, VAR_NAME_DIRECTION);
16582
+ }
16583
+ });
16584
+ return {
16585
+ area,
16586
+ attachPanel,
16587
+ direction
16588
+ };
16589
+ }
16590
+ const _hoisted_1$7 = {
16276
16591
  class: "progress"
16277
16592
  };
16278
- const _hoisted_2$3 = ["aria-label", "aria-valuenow", "aria-valuetext"];
16593
+ const _hoisted_2$4 = ["aria-label", "aria-valuenow", "aria-valuetext"];
16279
16594
  const _hoisted_3$2 = {
16280
16595
  class: "sr-only"
16281
16596
  };
16282
16597
  const MIN_VALUE = 0;
16283
16598
  const MAX_VALUE = 100;
16284
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
16599
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
16285
16600
  __name: "FProgressbar",
16286
16601
  props: {
16287
16602
  /**
@@ -16320,10 +16635,10 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
16320
16635
  setup(__props) {
16321
16636
  const props = __props;
16322
16637
  const ariaLabel = props.ariaLabel;
16323
- function clamp(val) {
16638
+ function clamp2(val) {
16324
16639
  return Math.round(Math.min(Math.max(val || 0, MIN_VALUE), MAX_VALUE));
16325
16640
  }
16326
- const progressValueNow = computed(() => clamp(props.value));
16641
+ const progressValueNow = computed(() => clamp2(props.value));
16327
16642
  const cssWidth = computed(() => `width: ${progressValueNow.value}%`);
16328
16643
  const progressBarClass = computed(() => {
16329
16644
  if (progressValueNow.value === MIN_VALUE) {
@@ -16338,7 +16653,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
16338
16653
  return `${props.valueText.replace("%VALUE%", progressValueNow.value.toString())}`;
16339
16654
  });
16340
16655
  return (_ctx, _cache) => {
16341
- return openBlock(), createElementBlock("div", _hoisted_1$5, [createElementVNode("span", {
16656
+ return openBlock(), createElementBlock("div", _hoisted_1$7, [createElementVNode("span", {
16342
16657
  class: normalizeClass(["progress__meter", progressBarClass.value]),
16343
16658
  role: "progressbar",
16344
16659
  "aria-label": unref(ariaLabel),
@@ -16347,12 +16662,12 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
16347
16662
  "aria-valuenow": progressValueNow.value,
16348
16663
  "aria-valuetext": progressText.value,
16349
16664
  style: normalizeStyle(cssWidth.value)
16350
- }, [createElementVNode("span", _hoisted_3$2, toDisplayString(progressText.value), 1)], 14, _hoisted_2$3)]);
16665
+ }, [createElementVNode("span", _hoisted_3$2, toDisplayString(progressText.value), 1)], 14, _hoisted_2$4)]);
16351
16666
  };
16352
16667
  }
16353
16668
  });
16354
16669
  const anyType = [String, Object, Array, Number, Date, Boolean];
16355
- const _sfc_main$4 = defineComponent({
16670
+ const _sfc_main$6 = defineComponent({
16356
16671
  name: "FRadioField",
16357
16672
  inheritAttrs: false,
16358
16673
  props: {
@@ -16508,8 +16823,8 @@ const _sfc_main$4 = defineComponent({
16508
16823
  }
16509
16824
  }
16510
16825
  });
16511
- const _hoisted_1$4 = ["id", "disabled"];
16512
- const _hoisted_2$2 = ["for"];
16826
+ const _hoisted_1$6 = ["id", "disabled"];
16827
+ const _hoisted_2$3 = ["for"];
16513
16828
  const _hoisted_3$1 = {
16514
16829
  key: 0,
16515
16830
  class: "radio-button__details"
@@ -16527,7 +16842,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
16527
16842
  type: "radio",
16528
16843
  class: "radio-button__input",
16529
16844
  disabled: _ctx.disabled
16530
- }, _ctx.attrs), null, 16, _hoisted_1$4), _cache[7] || (_cache[7] = createTextVNode()), createElementVNode("label", {
16845
+ }, _ctx.attrs), null, 16, _hoisted_1$6), _cache[7] || (_cache[7] = createTextVNode()), createElementVNode("label", {
16531
16846
  class: normalizeClass(_ctx.$slots.details ? "radio-button__label radio-button__width" : "radio-button__label"),
16532
16847
  for: _ctx.id
16533
16848
  }, [renderSlot(_ctx.$slots, "default"), _cache[6] || (_cache[6] = createTextVNode()), _ctx.$slots.details ? (openBlock(), createElementBlock(Fragment, {
@@ -16542,9 +16857,463 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
16542
16857
  height: _ctx.height
16543
16858
  })])) : createCommentVNode("", true)]),
16544
16859
  _: 3
16545
- }, 8, ["onEnter", "onAfterEnter", "onLeave"])) : createCommentVNode("", true)], 64)) : createCommentVNode("", true)], 10, _hoisted_2$2)], 34);
16860
+ }, 8, ["onEnter", "onAfterEnter", "onLeave"])) : createCommentVNode("", true)], 64)) : createCommentVNode("", true)], 10, _hoisted_2$3)], 34);
16546
16861
  }
16547
- const FRadioField = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4]]);
16862
+ const FRadioField = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render$4]]);
16863
+ function tryOnScopeDispose(fn2) {
16864
+ if (getCurrentScope()) {
16865
+ onScopeDispose(fn2);
16866
+ return true;
16867
+ }
16868
+ return false;
16869
+ }
16870
+ const isClient = typeof window !== "undefined" && typeof document !== "undefined";
16871
+ typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
16872
+ const toString = Object.prototype.toString;
16873
+ const isObject = (val) => toString.call(val) === "[object Object]";
16874
+ function toArray(value) {
16875
+ return Array.isArray(value) ? value : [value];
16876
+ }
16877
+ function watchImmediate(source, cb, options) {
16878
+ return watch(
16879
+ source,
16880
+ cb,
16881
+ {
16882
+ ...options,
16883
+ immediate: true
16884
+ }
16885
+ );
16886
+ }
16887
+ const defaultWindow = isClient ? window : void 0;
16888
+ function unrefElement(elRef) {
16889
+ var _a;
16890
+ const plain = toValue(elRef);
16891
+ return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;
16892
+ }
16893
+ function useEventListener(...args) {
16894
+ const cleanups = [];
16895
+ const cleanup = () => {
16896
+ cleanups.forEach((fn2) => fn2());
16897
+ cleanups.length = 0;
16898
+ };
16899
+ const register = (el, event, listener, options) => {
16900
+ el.addEventListener(event, listener, options);
16901
+ return () => el.removeEventListener(event, listener, options);
16902
+ };
16903
+ const firstParamTargets = computed(() => {
16904
+ const test = toArray(toValue(args[0])).filter((e) => e != null);
16905
+ return test.every((e) => typeof e !== "string") ? test : void 0;
16906
+ });
16907
+ const stopWatch = watchImmediate(
16908
+ () => {
16909
+ var _a, _b;
16910
+ return [
16911
+ (_b = (_a = firstParamTargets.value) == null ? void 0 : _a.map((e) => unrefElement(e))) != null ? _b : [defaultWindow].filter((e) => e != null),
16912
+ toArray(toValue(firstParamTargets.value ? args[1] : args[0])),
16913
+ toArray(unref(firstParamTargets.value ? args[2] : args[1])),
16914
+ // @ts-expect-error - TypeScript gets the correct types, but somehow still complains
16915
+ toValue(firstParamTargets.value ? args[3] : args[2])
16916
+ ];
16917
+ },
16918
+ ([raw_targets, raw_events, raw_listeners, raw_options]) => {
16919
+ cleanup();
16920
+ if (!(raw_targets == null ? void 0 : raw_targets.length) || !(raw_events == null ? void 0 : raw_events.length) || !(raw_listeners == null ? void 0 : raw_listeners.length))
16921
+ return;
16922
+ const optionsClone = isObject(raw_options) ? { ...raw_options } : raw_options;
16923
+ cleanups.push(
16924
+ ...raw_targets.flatMap(
16925
+ (el) => raw_events.flatMap(
16926
+ (event) => raw_listeners.map((listener) => register(el, event, listener, optionsClone))
16927
+ )
16928
+ )
16929
+ );
16930
+ },
16931
+ { flush: "post" }
16932
+ );
16933
+ const stop = () => {
16934
+ stopWatch();
16935
+ cleanup();
16936
+ };
16937
+ tryOnScopeDispose(cleanup);
16938
+ return stop;
16939
+ }
16940
+ const keymap = {
16941
+ left: {
16942
+ ArrowLeft: "decrease",
16943
+ ArrowRight: "increase",
16944
+ Home: "minimize",
16945
+ End: "maximize"
16946
+ },
16947
+ right: {
16948
+ ArrowLeft: "increase",
16949
+ ArrowRight: "decrease",
16950
+ Home: "minimize",
16951
+ End: "maximize"
16952
+ },
16953
+ top: {
16954
+ ArrowUp: "decrease",
16955
+ ArrowDown: "increase",
16956
+ Home: "minimize",
16957
+ End: "maximize"
16958
+ },
16959
+ bottom: {
16960
+ ArrowUp: "increase",
16961
+ ArrowDown: "decrease",
16962
+ Home: "minimize",
16963
+ End: "maximize"
16964
+ },
16965
+ none: {}
16966
+ };
16967
+ function useKeyboardHandler(options) {
16968
+ const {
16969
+ attachment,
16970
+ separator
16971
+ } = options;
16972
+ useEventListener(separator, "keydown", (event) => {
16973
+ if (!attachment.value) {
16974
+ return;
16975
+ }
16976
+ const action = keymap[attachment.value][event.key];
16977
+ if (action) {
16978
+ event.preventDefault();
16979
+ options[action]();
16980
+ }
16981
+ });
16982
+ }
16983
+ function clamp(value, min, max) {
16984
+ return Math.min(Math.max(value, min), max);
16985
+ }
16986
+ function usePointerHandler(options) {
16987
+ const {
16988
+ separator,
16989
+ attachment
16990
+ } = options;
16991
+ const invert = computed(() => {
16992
+ if (attachment.value === "right" || attachment.value === "bottom") {
16993
+ return -1;
16994
+ }
16995
+ return 1;
16996
+ });
16997
+ const orientation = computed(() => {
16998
+ if (attachment.value === "top" || attachment.value === "bottom") {
16999
+ return "horizontal";
17000
+ } else {
17001
+ return "vertical";
17002
+ }
17003
+ });
17004
+ useEventListener(separator, "pointerdown", (event) => {
17005
+ const {
17006
+ isPrimary,
17007
+ button,
17008
+ target,
17009
+ pointerId
17010
+ } = event;
17011
+ if (!separator.value) {
17012
+ return;
17013
+ }
17014
+ if (!isPrimary || button !== 0 || target !== separator.value) {
17015
+ return;
17016
+ }
17017
+ const separatorElement = separator.value;
17018
+ const property = orientation.value === "horizontal" ? "clientY" : "clientX";
17019
+ const reference = event[property];
17020
+ const resize = createResizer();
17021
+ function onPointerMove(event2) {
17022
+ if (event2.pointerId === pointerId) {
17023
+ resize(event2[property] - reference);
17024
+ }
17025
+ }
17026
+ function onLostPointerCapture(event2) {
17027
+ if (event2.pointerId === pointerId) {
17028
+ separatorElement.removeEventListener("pointermove", onPointerMove);
17029
+ separatorElement.removeEventListener("lostpointercapture", onLostPointerCapture);
17030
+ }
17031
+ }
17032
+ onPointerMove(event);
17033
+ separatorElement.addEventListener("lostpointercapture", onLostPointerCapture);
17034
+ separatorElement.addEventListener("pointermove", onPointerMove);
17035
+ separatorElement.setPointerCapture(pointerId);
17036
+ event.preventDefault();
17037
+ });
17038
+ function createResizer() {
17039
+ const {
17040
+ min,
17041
+ max,
17042
+ current: value
17043
+ } = options.state.value;
17044
+ return (amount) => {
17045
+ options.movement(clamp(value + amount * invert.value, min, max));
17046
+ };
17047
+ }
17048
+ }
17049
+ function computeCssValue(raw, total, auto) {
17050
+ if (raw.endsWith("px")) {
17051
+ return parseInt(raw.slice(0, -2), 10);
17052
+ } else if (raw.endsWith("%")) {
17053
+ const value = parseInt(raw.slice(0, -1), 10);
17054
+ const percent = value / 100;
17055
+ return percent * total;
17056
+ } else if (raw === "0") {
17057
+ return 0;
17058
+ } else if (raw === "auto") {
17059
+ return auto;
17060
+ } else {
17061
+ throw new Error(`Cant parse size from "${raw}"`);
17062
+ }
17063
+ }
17064
+ function aggregateCssValue(raw, total, auto, take) {
17065
+ if (raw === "auto") {
17066
+ return auto;
17067
+ }
17068
+ const parts = raw.split(/\s+/).map((it) => it.trim());
17069
+ const parsed = parts.map((it) => computeCssValue(it, total, auto));
17070
+ return take(...parsed);
17071
+ }
17072
+ function useStorage(options) {
17073
+ const {
17074
+ state,
17075
+ storageKey
17076
+ } = options;
17077
+ const loaded = ref(false);
17078
+ let last = -1;
17079
+ watchEffect(() => {
17080
+ if (!loaded.value) {
17081
+ return;
17082
+ }
17083
+ if (!storageKey.value) {
17084
+ return;
17085
+ }
17086
+ if (state.value.current < 0 || state.value.current === last) {
17087
+ return;
17088
+ }
17089
+ const json = JSON.stringify(state.value.current);
17090
+ window.localStorage.setItem(storageKey.value, json);
17091
+ last = state.value.current;
17092
+ });
17093
+ watchEffect(() => {
17094
+ if (!storageKey.value) {
17095
+ return;
17096
+ }
17097
+ const json = window.localStorage.getItem(storageKey.value);
17098
+ if (json) {
17099
+ const value = JSON.parse(json);
17100
+ state.value.current = clamp(value, state.value.min, state.value.max);
17101
+ last = value;
17102
+ }
17103
+ loaded.value = true;
17104
+ });
17105
+ }
17106
+ const _hoisted_1$5 = ["aria-orientation"];
17107
+ const _hoisted_2$2 = ["aria-orientation"];
17108
+ const STEP_SIZE = 10;
17109
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
17110
+ __name: "FResizePane.ce",
17111
+ props: {
17112
+ disabled: {
17113
+ type: Boolean,
17114
+ default: false
17115
+ },
17116
+ min: {
17117
+ default: "0",
17118
+ type: String
17119
+ },
17120
+ max: {
17121
+ default: "100%",
17122
+ type: String
17123
+ },
17124
+ initial: {
17125
+ default: "50%",
17126
+ type: String
17127
+ }
17128
+ },
17129
+ setup(__props) {
17130
+ const props = __props;
17131
+ const root = shallowRef();
17132
+ const content = ref();
17133
+ const separator = ref();
17134
+ const state = ref({
17135
+ min: -1,
17136
+ max: -1,
17137
+ current: -1
17138
+ });
17139
+ const separatorSize = ref(0);
17140
+ const layoutSize = ref(0);
17141
+ const storageKey = computed(() => area.value ? `layout/${area.value}/size` : null);
17142
+ const {
17143
+ attachPanel: attachment,
17144
+ area
17145
+ } = useAreaData(root);
17146
+ useKeyboardHandler({
17147
+ increase() {
17148
+ state.value.current = Math.min(state.value.current + STEP_SIZE, state.value.max);
17149
+ },
17150
+ decrease() {
17151
+ state.value.current = Math.max(state.value.current - STEP_SIZE, state.value.min);
17152
+ },
17153
+ maximize() {
17154
+ state.value.current = state.value.max;
17155
+ },
17156
+ minimize() {
17157
+ state.value.current = state.value.min;
17158
+ },
17159
+ attachment,
17160
+ separator
17161
+ });
17162
+ useStorage({
17163
+ state,
17164
+ storageKey
17165
+ });
17166
+ usePointerHandler({
17167
+ movement(value) {
17168
+ state.value.current = value;
17169
+ },
17170
+ separator,
17171
+ state,
17172
+ attachment
17173
+ });
17174
+ const minSize = computed(() => {
17175
+ const total = layoutSize.value;
17176
+ return Math.floor(aggregateCssValue(props.min, total, 0, Math.max) + separatorSize.value);
17177
+ });
17178
+ const maxSize = computed(() => {
17179
+ const total = layoutSize.value;
17180
+ return Math.floor(aggregateCssValue(props.max, total, total, Math.min) + separatorSize.value);
17181
+ });
17182
+ const initialSize = computed(() => {
17183
+ const total = layoutSize.value;
17184
+ return Math.floor(computeCssValue(props.initial, total, total * 0.5));
17185
+ });
17186
+ const orientation = computed(() => {
17187
+ if (attachment.value === "top" || attachment.value === "bottom") {
17188
+ return "horizontal";
17189
+ } else {
17190
+ return "vertical";
17191
+ }
17192
+ });
17193
+ const layoutElement = computed(() => {
17194
+ var _host$closest;
17195
+ if (!root.value) {
17196
+ return void 0;
17197
+ }
17198
+ const shadow = root.value.getRootNode();
17199
+ const host = shadow.host;
17200
+ return (_host$closest = host.closest("ce-page-layout")) !== null && _host$closest !== void 0 ? _host$closest : void 0;
17201
+ });
17202
+ watchEffect(() => {
17203
+ const {
17204
+ min,
17205
+ max,
17206
+ current: value
17207
+ } = state.value;
17208
+ if (root.value) {
17209
+ root.value.style.setProperty("--size", `${String(value)}px`);
17210
+ root.value.style.setProperty("--min", `${min}px`);
17211
+ root.value.style.setProperty("--max", `${max}px`);
17212
+ }
17213
+ if (separator.value) {
17214
+ separator.value.setAttribute("aria-valuemin", String(Math.floor(min)));
17215
+ separator.value.setAttribute("aria-valuemax", String(Math.floor(max)));
17216
+ separator.value.setAttribute("aria-valuenow", String(Math.floor(value)));
17217
+ }
17218
+ });
17219
+ onMounted(() => {
17220
+ if (separator.value) {
17221
+ const {
17222
+ flexBasis
17223
+ } = getComputedStyle(separator.value);
17224
+ separatorSize.value = computeCssValue(flexBasis, 0, 0);
17225
+ }
17226
+ layoutSize.value = getLayoutSize();
17227
+ state.value = {
17228
+ min: minSize.value,
17229
+ max: maxSize.value,
17230
+ current: clamp(initialSize.value, minSize.value, maxSize.value)
17231
+ };
17232
+ });
17233
+ useEventListener$1(window, "resize", debounce(onResize, 20));
17234
+ function onResize() {
17235
+ layoutSize.value = getLayoutSize();
17236
+ state.value = {
17237
+ min: minSize.value,
17238
+ max: maxSize.value,
17239
+ current: initialSize.value
17240
+ };
17241
+ }
17242
+ function getLayoutSize() {
17243
+ if (!layoutElement.value) {
17244
+ return 0;
17245
+ }
17246
+ switch (orientation.value) {
17247
+ case "horizontal": {
17248
+ return layoutElement.value.offsetHeight;
17249
+ }
17250
+ case "vertical": {
17251
+ return layoutElement.value.offsetWidth;
17252
+ }
17253
+ }
17254
+ }
17255
+ return (_ctx, _cache) => {
17256
+ return openBlock(), createElementBlock("div", {
17257
+ ref_key: "root",
17258
+ ref: root,
17259
+ class: normalizeClass(["resize", `resize--${unref(attachment)}`])
17260
+ }, [createElementVNode("div", {
17261
+ ref_key: "content",
17262
+ ref: content,
17263
+ class: "resize__content"
17264
+ }, [renderSlot(_ctx.$slots, "content")], 512), _cache[0] || (_cache[0] = createTextVNode()), !props.disabled ? (openBlock(), createElementBlock("div", {
17265
+ key: 0,
17266
+ ref_key: "separator",
17267
+ ref: separator,
17268
+ role: "separator",
17269
+ class: "resize__handle",
17270
+ tabindex: "0",
17271
+ "aria-orientation": orientation.value
17272
+ }, null, 8, _hoisted_1$5)) : (openBlock(), createElementBlock("div", {
17273
+ key: 1,
17274
+ role: "separator",
17275
+ class: "resize__handle disabled",
17276
+ "aria-orientation": orientation.value
17277
+ }, null, 8, _hoisted_2$2))], 2);
17278
+ };
17279
+ }
17280
+ });
17281
+ const _style_0 = '/* background color */\n/* highlight color */\n/* the width of the visible handle */\n/* how much extra click/hover area the handle has */\n/* how much extra space the handle occupies when hovering (not counting the click area) */\n/* how long before visually indicating the hover state */\n/* how long the animation for the visual indicator is */\n:host {\n display: contents;\n}\n.resize {\n flex-grow: 1;\n display: flex;\n align-items: stretch;\n}\n.resize--left {\n flex-direction: row;\n width: var(--size);\n}\n.resize--right {\n flex-direction: row-reverse;\n width: var(--size);\n}\n.resize--top {\n flex-direction: column;\n height: var(--size);\n}\n.resize--bottom {\n flex-direction: column-reverse;\n height: var(--size);\n}\n.resize__content {\n flex: 1 1 auto;\n overflow: auto;\n box-sizing: border-box;\n display: flex;\n}\n.resize--left .resize__content, .resize--right .resize__content {\n min-width: calc(var(--min) - 2px);\n max-width: calc(var(--max) - 2px);\n}\n.resize--top .resize__content, .resize--bottom .resize__content {\n min-height: calc(var(--min) - 2px);\n max-height: calc(var(--max) - 2px);\n}\n.resize__handle {\n flex: 0 0 2px;\n background: var(--fkds-color-border-primary);\n touch-action: none;\n user-select: none;\n z-index: 1;\n position: relative;\n transition: z-index 0s 200ms;\n /* disable regular focus indicator as this component has its own */\n /* when focus by keyboard we dont want the delay or transition */\n /* as the handle area expand we increase z-index for the handle to make sure it covers other separators */\n}\n@media (forced-colors: active) {\n.resize__handle {\n background: CanvasText;\n}\n}\n.resize__handle[aria-orientation=horizontal] {\n cursor: row-resize;\n height: 2px;\n}\n.resize__handle[aria-orientation=horizontal]::before {\n inset: -2px 0;\n}\n.resize__handle[aria-orientation=horizontal]::after {\n inset: -4px 0;\n}\n.resize__handle[aria-orientation=vertical] {\n cursor: col-resize;\n width: 2px;\n}\n.resize__handle[aria-orientation=vertical]::before {\n inset: 0 -2px;\n}\n.resize__handle[aria-orientation=vertical]::after {\n inset: 0 -4px;\n}\n.resize__handle::before {\n content: "";\n pointer-events: none;\n position: absolute;\n background-color: transparent;\n transition: background-color 200ms ease-in;\n}\n.resize__handle::after {\n content: "";\n position: absolute;\n}\n.resize__handle:focus::before, .resize__handle:hover::before, .resize__handle.drag::before {\n background-color: var(--fkds-color-action-border-primary-hover);\n transition-delay: 200ms;\n}\n@media (forced-colors: active) {\n.resize__handle:focus::before, .resize__handle:hover::before, .resize__handle.drag::before {\n background-color: Highlight;\n}\n}\n.resize__handle:focus {\n outline: none;\n box-shadow: none;\n}\n.resize__handle:focus::before {\n transition: none;\n}\n.resize__handle:hover, .resize__handle:focus, .resize__handle.drag {\n z-index: 2;\n transition: z-index 0s 0s;\n}\n.resize__handle.disabled {\n cursor: auto;\n}\n.resize__handle.disabled::before {\n display: none;\n}\n.resize--left .resize__handle {\n left: 2px;\n}\n.resize--right .resize__handle {\n right: 2px;\n}\n.resize--top .resize__handle {\n top: 2px;\n}\n.resize--bottom .resize__handle {\n bottom: 2px;\n}';
17282
+ const FResizePane = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["styles", [_style_0]]]);
17283
+ const _hoisted_1$4 = {
17284
+ slot: "content"
17285
+ };
17286
+ const tagName = "ce-resize-pane";
17287
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
17288
+ __name: "FResizePane",
17289
+ props: {
17290
+ disabled: {
17291
+ type: Boolean,
17292
+ default: false
17293
+ },
17294
+ min: {
17295
+ default: "0"
17296
+ },
17297
+ max: {
17298
+ default: "100%"
17299
+ },
17300
+ initial: {
17301
+ default: "50%"
17302
+ }
17303
+ },
17304
+ setup(__props) {
17305
+ if (!customElements.get(tagName)) {
17306
+ customElements.define(tagName, defineCustomElement(FResizePane));
17307
+ }
17308
+ const props = __props;
17309
+ return (_ctx, _cache) => {
17310
+ return openBlock(), createBlock(resolveDynamicComponent(tagName), normalizeProps(guardReactiveProps(props)), {
17311
+ default: withCtx(() => [createElementVNode("div", _hoisted_1$4, [renderSlot(_ctx.$slots, "default")])]),
17312
+ _: 3
17313
+ }, 16);
17314
+ };
17315
+ }
17316
+ });
16548
17317
  const _sfc_main$3 = defineComponent({
16549
17318
  name: "FStaticField",
16550
17319
  components: {
@@ -17317,20 +18086,20 @@ export {
17317
18086
  ErrorPlugin,
17318
18087
  ErrorViewData,
17319
18088
  EventBus,
17320
- _sfc_main$1b as FBadge,
17321
- _sfc_main$y as FBankAccountNumberTextField,
17322
- _sfc_main$x as FBankgiroTextField,
18089
+ _sfc_main$1e as FBadge,
18090
+ _sfc_main$B as FBankAccountNumberTextField,
18091
+ _sfc_main$A as FBankgiroTextField,
17323
18092
  FCalendar,
17324
18093
  FCalendarDay,
17325
- _sfc_main$W as FCard,
18094
+ _sfc_main$Z as FCard,
17326
18095
  FCheckboxField,
17327
- _sfc_main$w as FClearingnumberTextField,
18096
+ _sfc_main$z as FClearingnumberTextField,
17328
18097
  FConfirmModal,
17329
18098
  FContextMenu,
17330
18099
  FCrudButton,
17331
- _sfc_main$I as FCrudDataset,
17332
- _sfc_main$A as FCurrencyTextField,
17333
- _sfc_main$o as FDataTable,
18100
+ _sfc_main$L as FCrudDataset,
18101
+ _sfc_main$D as FCurrencyTextField,
18102
+ _sfc_main$r as FDataTable,
17334
18103
  FDatepickerField,
17335
18104
  FDialogueTree,
17336
18105
  FEmailTextField,
@@ -17345,34 +18114,36 @@ export {
17345
18114
  FFormModal,
17346
18115
  FValidationFormAction as FFormModalAction,
17347
18116
  FIcon,
17348
- _sfc_main$h as FInteractiveTable,
18117
+ _sfc_main$k as FInteractiveTable,
17349
18118
  FKUIConfigButtonOrder,
17350
18119
  FLabel,
17351
18120
  FLayoutApplicationTemplate,
17352
18121
  FLayoutLeftPanel,
17353
18122
  FLayoutRightPanel,
17354
18123
  FLayoutRightPanelService,
17355
- _sfc_main$d as FList,
18124
+ _sfc_main$g as FList,
17356
18125
  FLoader,
17357
- _sfc_main$b as FLogo,
18126
+ _sfc_main$e as FLogo,
17358
18127
  FMessageBox,
17359
18128
  FModal,
17360
18129
  FNavigationMenu,
17361
- _sfc_main$v as FNumericTextField,
18130
+ _sfc_main$y as FNumericTextField,
17362
18131
  FOffline,
17363
- _sfc_main$q as FOrganisationsnummerTextField,
18132
+ _sfc_main$t as FOrganisationsnummerTextField,
17364
18133
  FOutputField,
17365
18134
  FPageHeader,
17366
- _sfc_main$r as FPercentTextField,
17367
- _sfc_main$u as FPersonnummerTextField,
18135
+ _sfc_main$8 as FPageLayout,
18136
+ _sfc_main$u as FPercentTextField,
18137
+ _sfc_main$x as FPersonnummerTextField,
17368
18138
  FPhoneTextField,
17369
- _sfc_main$t as FPlusgiroTextField,
17370
- _sfc_main$s as FPostalCodeTextField,
17371
- _sfc_main$5 as FProgressbar,
18139
+ _sfc_main$w as FPlusgiroTextField,
18140
+ _sfc_main$v as FPostalCodeTextField,
18141
+ _sfc_main$7 as FProgressbar,
17372
18142
  FRadioField,
18143
+ _sfc_main$4 as FResizePane,
17373
18144
  FSearchTextField,
17374
18145
  FSelectField,
17375
- _sfc_main$p as FSortFilterDataset,
18146
+ _sfc_main$s as FSortFilterDataset,
17376
18147
  FSortFilterDatasetInjected,
17377
18148
  FStaticField,
17378
18149
  FTableColumn,
@@ -17393,13 +18164,13 @@ export {
17393
18164
  ICalendarMonth,
17394
18165
  ICalendarMonthGrid,
17395
18166
  ICalendarNavbar,
17396
- _sfc_main$O as IComboboxDropdown,
17397
- _sfc_main$N as IComboboxToggleButton,
18167
+ _sfc_main$R as IComboboxDropdown,
18168
+ _sfc_main$Q as IComboboxToggleButton,
17398
18169
  IFlex,
17399
18170
  IFlexItem,
17400
18171
  IPopup,
17401
18172
  IPopupError,
17402
- _sfc_main$S as IPopupListbox,
18173
+ _sfc_main$V as IPopupListbox,
17403
18174
  IPopupMenu,
17404
18175
  ISkipLink,
17405
18176
  FValidationForm as IValidationForm,
@@ -17448,10 +18219,12 @@ export {
17448
18219
  refIsHTMLElementArray,
17449
18220
  refIsVue,
17450
18221
  refIsVueArray,
18222
+ registerLayout,
17451
18223
  renderSlotText,
17452
18224
  setRunningContext,
17453
18225
  tableScrollClasses,
17454
18226
  tooltipAttachTo,
18227
+ useAreaData,
17455
18228
  useCombobox,
17456
18229
  useModal,
17457
18230
  useSlotUtils,