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