@fkui/vue 6.2.0 → 6.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
- import { defineComponent, computed, createElementBlock, openBlock, normalizeClass, renderSlot, mergeProps, createTextVNode, createElementVNode, createApp, resolveComponent, createCommentVNode, withKeys, createVNode, toDisplayString, createBlock, withCtx, Fragment, renderList, withModifiers, isVNode, Comment, getCurrentInstance, resolveDynamicComponent, onMounted, toValue, onUnmounted, useSlots, ref, normalizeProps, guardReactiveProps, unref, Transition, Teleport, normalizeStyle, useTemplateRef, watchEffect, watch, nextTick, withDirectives, vShow, readonly, inject, toRef, provide, createSlots, vModelSelect, vModelDynamic, toHandlers, shallowRef, onUpdated, toRefs } from "vue";
1
+ import { defineComponent, computed, createElementBlock, openBlock, normalizeClass, renderSlot, mergeProps, createTextVNode, createElementVNode, createApp, resolveComponent, createCommentVNode, withKeys, createVNode, toDisplayString, createBlock, withCtx, Fragment, renderList, withModifiers, isVNode, Comment, getCurrentInstance, resolveDynamicComponent, onMounted, toValue, onUnmounted, useSlots, ref, normalizeProps, guardReactiveProps, unref, Transition, Teleport, normalizeStyle, useTemplateRef, watchEffect, watch, nextTick, withDirectives, vShow, readonly, inject, toRef, provide, createSlots, vModelSelect, vModelDynamic, toHandlers, shallowRef, onUpdated, toRefs, getCurrentScope, onScopeDispose, defineCustomElement } from "vue";
2
2
  import { TranslationService, isSet, configLogic, focus as focus$1, ElementIdService, findTabbableElements, popFocus, pushFocus, scrollTo, documentOrderComparator, ValidationService, isValidatableHTMLElement, alertScreenReader, debounce, handleTab, isEmpty, deepClone, parseNumber, formatNumber, parseBankAccountNumber, parseBankgiro, parseClearingNumber, parsePersonnummer, formatPersonnummer, parsePlusgiro, formatPostalCode, parsePercent, formatPercent, parseOrganisationsnummer, isInvalidDatesConfig, isInvalidWeekdaysConfig, parseDate, waitForScreenReader, focusFirst, removeFocusListener, restoreFocus, saveFocus, addFocusListener, DomUtils } from "@fkui/logic";
3
3
  import { groupByWeek, getWeekdayNamings, FDate, DateFormat } from "@fkui/date";
4
4
  const statuses = ["default", "warning", "error", "success", "info"];
5
- const _sfc_main$1c = /* @__PURE__ */ defineComponent({
5
+ const _sfc_main$1e = /* @__PURE__ */ defineComponent({
6
6
  __name: "FBadge",
7
7
  props: {
8
8
  /**
@@ -160,10 +160,10 @@ function requireClassofRaw() {
160
160
  if (hasRequiredClassofRaw) return classofRaw;
161
161
  hasRequiredClassofRaw = 1;
162
162
  var uncurryThis = requireFunctionUncurryThis();
163
- var toString = uncurryThis({}.toString);
163
+ var toString2 = uncurryThis({}.toString);
164
164
  var stringSlice = uncurryThis("".slice);
165
165
  classofRaw = function(it) {
166
- return stringSlice(toString(it), 8, -1);
166
+ return stringSlice(toString2(it), 8, -1);
167
167
  };
168
168
  return classofRaw;
169
169
  }
@@ -232,16 +232,16 @@ function requireIsCallable() {
232
232
  };
233
233
  return isCallable;
234
234
  }
235
- var isObject;
235
+ var isObject$1;
236
236
  var hasRequiredIsObject$1;
237
237
  function requireIsObject$1() {
238
- if (hasRequiredIsObject$1) return isObject;
238
+ if (hasRequiredIsObject$1) return isObject$1;
239
239
  hasRequiredIsObject$1 = 1;
240
240
  var isCallable2 = requireIsCallable();
241
- isObject = function(it) {
241
+ isObject$1 = function(it) {
242
242
  return typeof it == "object" ? it !== null : isCallable2(it);
243
243
  };
244
- return isObject;
244
+ return isObject$1;
245
245
  }
246
246
  var getBuiltIn;
247
247
  var hasRequiredGetBuiltIn;
@@ -449,10 +449,10 @@ function requireSharedStore() {
449
449
  var SHARED = "__core-js_shared__";
450
450
  var store = sharedStore.exports = globalThis2[SHARED] || defineGlobalProperty2(SHARED, {});
451
451
  (store.versions || (store.versions = [])).push({
452
- version: "3.40.0",
452
+ version: "3.41.0",
453
453
  mode: IS_PURE ? "pure" : "global",
454
454
  copyright: "© 2014-2025 Denis Pushkarev (zloirock.ru)",
455
- license: "https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE",
455
+ license: "https://github.com/zloirock/core-js/blob/v3.41.0/LICENSE",
456
456
  source: "https://github.com/zloirock/core-js"
457
457
  });
458
458
  return sharedStore.exports;
@@ -501,9 +501,9 @@ function requireUid() {
501
501
  var uncurryThis = requireFunctionUncurryThis();
502
502
  var id = 0;
503
503
  var postfix = Math.random();
504
- var toString = uncurryThis(1 .toString);
504
+ var toString2 = uncurryThis(1 .toString);
505
505
  uid = function(key) {
506
- return "Symbol(" + (key === void 0 ? "" : key) + ")_" + toString(++id + postfix, 36);
506
+ return "Symbol(" + (key === void 0 ? "" : key) + ")_" + toString2(++id + postfix, 36);
507
507
  };
508
508
  return uid;
509
509
  }
@@ -918,7 +918,7 @@ function requireMakeBuiltIn() {
918
918
  }
919
919
  return value;
920
920
  };
921
- Function.prototype.toString = makeBuiltIn$1(function toString() {
921
+ Function.prototype.toString = makeBuiltIn$1(function toString2() {
922
922
  return isCallable2(this) && getInternalState(this).source || inspectSource2(this);
923
923
  }, "toString");
924
924
  return makeBuiltIn.exports;
@@ -1881,7 +1881,7 @@ function requireEs_array_push() {
1881
1881
  requireEs_array_push();
1882
1882
  const Flip = ["horizontal", "vertical"];
1883
1883
  const Rotate = ["90", "180", "270"];
1884
- const _sfc_main$1b = defineComponent({
1884
+ const _sfc_main$1d = defineComponent({
1885
1885
  name: "FIcon",
1886
1886
  inheritAttrs: false,
1887
1887
  props: {
@@ -1969,8 +1969,8 @@ const _export_sfc = (sfc, props) => {
1969
1969
  }
1970
1970
  return target;
1971
1971
  };
1972
- const _hoisted_1$V = ["aria-hidden"];
1973
- const _hoisted_2$F = ["xlink:href"];
1972
+ const _hoisted_1$X = ["aria-hidden"];
1973
+ const _hoisted_2$G = ["xlink:href"];
1974
1974
  function _sfc_render$R(_ctx, _cache, $props, $setup, $data, $options) {
1975
1975
  return openBlock(), createElementBlock("svg", mergeProps(_ctx.$attrs, {
1976
1976
  focusable: "false",
@@ -1978,9 +1978,9 @@ function _sfc_render$R(_ctx, _cache, $props, $setup, $data, $options) {
1978
1978
  "aria-hidden": _ctx.ariaHidden
1979
1979
  }), [renderSlot(_ctx.$slots, "default"), _cache[0] || (_cache[0] = createTextVNode()), createElementVNode("use", {
1980
1980
  "xlink:href": _ctx.spriteId
1981
- }, null, 8, _hoisted_2$F)], 16, _hoisted_1$V);
1981
+ }, null, 8, _hoisted_2$G)], 16, _hoisted_1$X);
1982
1982
  }
1983
- const FIcon = /* @__PURE__ */ _export_sfc(_sfc_main$1b, [["render", _sfc_render$R]]);
1983
+ const FIcon = /* @__PURE__ */ _export_sfc(_sfc_main$1d, [["render", _sfc_render$R]]);
1984
1984
  const DATA_TEST_ATTRIBUTE_NAME = "data-test";
1985
1985
  function throwErrorIfEmpty(value) {
1986
1986
  if (!value) {
@@ -3861,8 +3861,8 @@ function require_Set() {
3861
3861
  if (hasRequired_Set) return _Set;
3862
3862
  hasRequired_Set = 1;
3863
3863
  var getNative = require_getNative(), root = require_root();
3864
- var Set = getNative(root, "Set");
3865
- _Set = Set;
3864
+ var Set2 = getNative(root, "Set");
3865
+ _Set = Set2;
3866
3866
  return _Set;
3867
3867
  }
3868
3868
  var _WeakMap;
@@ -3880,12 +3880,12 @@ var hasRequired_getTag;
3880
3880
  function require_getTag() {
3881
3881
  if (hasRequired_getTag) return _getTag;
3882
3882
  hasRequired_getTag = 1;
3883
- var DataView2 = require_DataView(), Map2 = require_Map(), Promise2 = require_Promise(), Set = require_Set(), WeakMap2 = require_WeakMap(), baseGetTag = require_baseGetTag(), toSource = require_toSource();
3883
+ var DataView2 = require_DataView(), Map2 = require_Map(), Promise2 = require_Promise(), Set2 = require_Set(), WeakMap2 = require_WeakMap(), baseGetTag = require_baseGetTag(), toSource = require_toSource();
3884
3884
  var mapTag = "[object Map]", objectTag = "[object Object]", promiseTag = "[object Promise]", setTag = "[object Set]", weakMapTag = "[object WeakMap]";
3885
3885
  var dataViewTag = "[object DataView]";
3886
- var dataViewCtorString = toSource(DataView2), mapCtorString = toSource(Map2), promiseCtorString = toSource(Promise2), setCtorString = toSource(Set), weakMapCtorString = toSource(WeakMap2);
3886
+ var dataViewCtorString = toSource(DataView2), mapCtorString = toSource(Map2), promiseCtorString = toSource(Promise2), setCtorString = toSource(Set2), weakMapCtorString = toSource(WeakMap2);
3887
3887
  var getTag = baseGetTag;
3888
- if (DataView2 && getTag(new DataView2(new ArrayBuffer(1))) != dataViewTag || Map2 && getTag(new Map2()) != mapTag || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set && getTag(new Set()) != setTag || WeakMap2 && getTag(new WeakMap2()) != weakMapTag) {
3888
+ if (DataView2 && getTag(new DataView2(new ArrayBuffer(1))) != dataViewTag || Map2 && getTag(new Map2()) != mapTag || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set2 && getTag(new Set2()) != setTag || WeakMap2 && getTag(new WeakMap2()) != weakMapTag) {
3889
3889
  getTag = function(value) {
3890
3890
  var result = baseGetTag(value), Ctor = result == objectTag ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
3891
3891
  if (ctorString) {
@@ -4418,7 +4418,7 @@ function elementIsRadioButton(element) {
4418
4418
  function isHTMLInputElement(element) {
4419
4419
  return element instanceof HTMLInputElement;
4420
4420
  }
4421
- const _sfc_main$1a = defineComponent({
4421
+ const _sfc_main$1c = defineComponent({
4422
4422
  name: "FModal",
4423
4423
  components: {
4424
4424
  FIcon
@@ -4598,8 +4598,8 @@ const _sfc_main$1a = defineComponent({
4598
4598
  }
4599
4599
  }
4600
4600
  });
4601
- const _hoisted_1$U = ["id"];
4602
- const _hoisted_2$E = {
4601
+ const _hoisted_1$W = ["id"];
4602
+ const _hoisted_2$F = {
4603
4603
  class: "modal__backdrop"
4604
4604
  };
4605
4605
  const _hoisted_3$w = {
@@ -4628,7 +4628,7 @@ const _hoisted_8$8 = {
4628
4628
  const _hoisted_9$6 = {
4629
4629
  class: "modal__footer"
4630
4630
  };
4631
- const _hoisted_10$4 = {
4631
+ const _hoisted_10$3 = {
4632
4632
  class: "modal__shelf"
4633
4633
  };
4634
4634
  const _hoisted_11$3 = ["aria-label"];
@@ -4638,7 +4638,7 @@ function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
4638
4638
  key: 0,
4639
4639
  id: _ctx.id,
4640
4640
  class: normalizeClass(["modal", _ctx.modalClass])
4641
- }, [createElementVNode("div", _hoisted_2$E, [createElementVNode("div", {
4641
+ }, [createElementVNode("div", _hoisted_2$F, [createElementVNode("div", {
4642
4642
  class: "modal__outer-container scroll-target",
4643
4643
  tabindex: "-1",
4644
4644
  role: "dialog",
@@ -4650,7 +4650,7 @@ function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
4650
4650
  }, [createElementVNode("div", _hoisted_4$q, [createElementVNode("div", _hoisted_5$l, [createElementVNode("div", _hoisted_6$g, [createElementVNode("div", {
4651
4651
  tabindex: "0",
4652
4652
  onFocus: _cache[0] || (_cache[0] = (...args) => _ctx.onFocusFirst && _ctx.onFocusFirst(...args))
4653
- }, null, 32), _cache[4] || (_cache[4] = createTextVNode()), _ctx.hasHeaderSlot ? (openBlock(), createElementBlock("h1", _hoisted_7$d, [renderSlot(_ctx.$slots, "header")], 512)) : createCommentVNode("", true)]), _cache[5] || (_cache[5] = createTextVNode()), createElementVNode("div", _hoisted_8$8, [renderSlot(_ctx.$slots, "content")], 512), _cache[6] || (_cache[6] = createTextVNode()), createElementVNode("div", _hoisted_9$6, [renderSlot(_ctx.$slots, "footer")])]), _cache[9] || (_cache[9] = createTextVNode()), createElementVNode("div", _hoisted_10$4, [createElementVNode("button", {
4653
+ }, null, 32), _cache[4] || (_cache[4] = createTextVNode()), _ctx.hasHeaderSlot ? (openBlock(), createElementBlock("h1", _hoisted_7$d, [renderSlot(_ctx.$slots, "header")], 512)) : createCommentVNode("", true)]), _cache[5] || (_cache[5] = createTextVNode()), createElementVNode("div", _hoisted_8$8, [renderSlot(_ctx.$slots, "content")], 512), _cache[6] || (_cache[6] = createTextVNode()), createElementVNode("div", _hoisted_9$6, [renderSlot(_ctx.$slots, "footer")])]), _cache[9] || (_cache[9] = createTextVNode()), createElementVNode("div", _hoisted_10$3, [createElementVNode("button", {
4654
4654
  type: "button",
4655
4655
  class: "close-button",
4656
4656
  "aria-label": _ctx.ariaCloseText,
@@ -4660,9 +4660,9 @@ function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
4660
4660
  })], 8, _hoisted_11$3), _cache[8] || (_cache[8] = createTextVNode()), createElementVNode("div", {
4661
4661
  tabindex: "0",
4662
4662
  onFocus: _cache[2] || (_cache[2] = (...args) => _ctx.onFocusLast && _ctx.onFocusLast(...args))
4663
- }, null, 32)])])], 2)])], 32)])], 10, _hoisted_1$U)) : createCommentVNode("", true);
4663
+ }, null, 32)])])], 2)])], 32)])], 10, _hoisted_1$W)) : createCommentVNode("", true);
4664
4664
  }
4665
- const FModal = /* @__PURE__ */ _export_sfc(_sfc_main$1a, [["render", _sfc_render$Q]]);
4665
+ const FModal = /* @__PURE__ */ _export_sfc(_sfc_main$1c, [["render", _sfc_render$Q]]);
4666
4666
  function prepareButtonList(src, buttonOrder = config.buttonOrder) {
4667
4667
  const list = src.map((it) => {
4668
4668
  var _it$event, _ref, _it$reason, _it$type;
@@ -4691,7 +4691,7 @@ const defaultButtons = [{
4691
4691
  event: "dismiss",
4692
4692
  type: "secondary"
4693
4693
  }];
4694
- const _sfc_main$19 = defineComponent({
4694
+ const _sfc_main$1b = defineComponent({
4695
4695
  name: "FConfirmModal",
4696
4696
  components: {
4697
4697
  FModal
@@ -4795,10 +4795,10 @@ const _sfc_main$19 = defineComponent({
4795
4795
  }
4796
4796
  }
4797
4797
  });
4798
- const _hoisted_1$T = {
4798
+ const _hoisted_1$V = {
4799
4799
  class: "button-group"
4800
4800
  };
4801
- const _hoisted_2$D = ["onClick"];
4801
+ const _hoisted_2$E = ["onClick"];
4802
4802
  const _hoisted_3$v = {
4803
4803
  key: 0,
4804
4804
  class: "sr-only"
@@ -4816,22 +4816,22 @@ function _sfc_render$P(_ctx, _cache, $props, $setup, $data, $options) {
4816
4816
  }, {
4817
4817
  header: withCtx(() => [renderSlot(_ctx.$slots, "heading", {}, () => [createTextVNode(toDisplayString(_ctx.heading), 1)])]),
4818
4818
  content: withCtx(() => [renderSlot(_ctx.$slots, "content", {}, () => [createTextVNode(toDisplayString(_ctx.content), 1)])]),
4819
- footer: withCtx(() => [createElementVNode("div", _hoisted_1$T, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.preparedButtons, (button) => {
4819
+ footer: withCtx(() => [createElementVNode("div", _hoisted_1$V, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.preparedButtons, (button) => {
4820
4820
  return openBlock(), createElementBlock("button", {
4821
4821
  key: button.label,
4822
4822
  type: "button",
4823
4823
  class: normalizeClass([button.classlist, "button-group__item"]),
4824
4824
  onClick: ($event) => _ctx.onClick(button)
4825
- }, [createElementVNode("span", null, toDisplayString(button.label), 1), _cache[0] || (_cache[0] = createTextVNode()), button.screenreader ? (openBlock(), createElementBlock("span", _hoisted_3$v, " " + toDisplayString(button.screenreader), 1)) : createCommentVNode("", true)], 10, _hoisted_2$D);
4825
+ }, [createElementVNode("span", null, toDisplayString(button.label), 1), _cache[0] || (_cache[0] = createTextVNode()), button.screenreader ? (openBlock(), createElementBlock("span", _hoisted_3$v, " " + toDisplayString(button.screenreader), 1)) : createCommentVNode("", true)], 10, _hoisted_2$E);
4826
4826
  }), 128))])]),
4827
4827
  _: 3
4828
4828
  }, 8, ["fullscreen", "is-open", "aria-close-text", "size", "focus", "onClose"]);
4829
4829
  }
4830
- const FConfirmModal = /* @__PURE__ */ _export_sfc(_sfc_main$19, [["render", _sfc_render$P]]);
4830
+ const FConfirmModal = /* @__PURE__ */ _export_sfc(_sfc_main$1b, [["render", _sfc_render$P]]);
4831
4831
  const GAP = ["1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x"];
4832
4832
  const ALIGNMENT = ["top", "center", "bottom"];
4833
4833
  const FLOAT = ["left", "center", "right"];
4834
- const _sfc_main$18 = defineComponent({
4834
+ const _sfc_main$1a = defineComponent({
4835
4835
  name: "IFlex",
4836
4836
  inheritAttrs: true,
4837
4837
  props: {
@@ -4911,8 +4911,8 @@ function _sfc_render$O(_ctx, _cache, $props, $setup, $data, $options) {
4911
4911
  class: normalizeClass(["iflex", _ctx.classList])
4912
4912
  }, [renderSlot(_ctx.$slots, "default")], 2);
4913
4913
  }
4914
- const IFlex = /* @__PURE__ */ _export_sfc(_sfc_main$18, [["render", _sfc_render$O]]);
4915
- const _sfc_main$17 = defineComponent({
4914
+ const IFlex = /* @__PURE__ */ _export_sfc(_sfc_main$1a, [["render", _sfc_render$O]]);
4915
+ const _sfc_main$19 = defineComponent({
4916
4916
  name: "IFlexItem",
4917
4917
  inheritAttrs: true,
4918
4918
  props: {
@@ -4964,7 +4964,7 @@ function _sfc_render$N(_ctx, _cache, $props, $setup, $data, $options) {
4964
4964
  class: normalizeClass(["iflex__item", _ctx.classList])
4965
4965
  }, [renderSlot(_ctx.$slots, "default")], 2);
4966
4966
  }
4967
- const IFlexItem = /* @__PURE__ */ _export_sfc(_sfc_main$17, [["render", _sfc_render$N]]);
4967
+ const IFlexItem = /* @__PURE__ */ _export_sfc(_sfc_main$19, [["render", _sfc_render$N]]);
4968
4968
  function focusError(item) {
4969
4969
  const element = document.querySelector(`#${item.id}`);
4970
4970
  if (!element) {
@@ -4974,7 +4974,7 @@ function focusError(item) {
4974
4974
  scrollTo(element, window.innerHeight * 0.25);
4975
4975
  focus$1(focusElement2 ? focusElement2 : element);
4976
4976
  }
4977
- const _sfc_main$16 = defineComponent({
4977
+ const _sfc_main$18 = defineComponent({
4978
4978
  name: "FErrorList",
4979
4979
  components: {
4980
4980
  FIcon,
@@ -5030,10 +5030,10 @@ const _sfc_main$16 = defineComponent({
5030
5030
  }
5031
5031
  }
5032
5032
  });
5033
- const _hoisted_1$S = {
5033
+ const _hoisted_1$U = {
5034
5034
  class: "error-list"
5035
5035
  };
5036
- const _hoisted_2$C = {
5036
+ const _hoisted_2$D = {
5037
5037
  key: 0
5038
5038
  };
5039
5039
  const _hoisted_3$u = {
@@ -5047,7 +5047,7 @@ function _sfc_render$M(_ctx, _cache, $props, $setup, $data, $options) {
5047
5047
  const _component_f_icon = resolveComponent("f-icon");
5048
5048
  const _component_i_flex_item = resolveComponent("i-flex-item");
5049
5049
  const _component_i_flex = resolveComponent("i-flex");
5050
- return openBlock(), createElementBlock("div", _hoisted_1$S, [createVNode(_component_i_flex, null, {
5050
+ return openBlock(), createElementBlock("div", _hoisted_1$U, [createVNode(_component_i_flex, null, {
5051
5051
  default: withCtx(() => [_ctx.hasTitleSlot ? (openBlock(), createBlock(_component_i_flex_item, {
5052
5052
  key: 0,
5053
5053
  shrink: ""
@@ -5066,7 +5066,7 @@ function _sfc_render$M(_ctx, _cache, $props, $setup, $data, $options) {
5066
5066
  })) : createCommentVNode("", true), _cache[7] || (_cache[7] = createTextVNode()), createVNode(_component_i_flex_item, {
5067
5067
  grow: ""
5068
5068
  }, {
5069
- default: withCtx(() => [_ctx.hasTitleSlot ? (openBlock(), createElementBlock("div", _hoisted_2$C, [renderSlot(_ctx.$slots, "title")])) : createCommentVNode("", true), _cache[5] || (_cache[5] = createTextVNode()), createElementVNode("ul", _hoisted_3$u, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item) => {
5069
+ default: withCtx(() => [_ctx.hasTitleSlot ? (openBlock(), createElementBlock("div", _hoisted_2$D, [renderSlot(_ctx.$slots, "title")])) : createCommentVNode("", true), _cache[5] || (_cache[5] = createTextVNode()), createElementVNode("ul", _hoisted_3$u, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item) => {
5070
5070
  return openBlock(), createElementBlock("li", {
5071
5071
  key: item.id,
5072
5072
  class: normalizeClass(_ctx.liClasses(item))
@@ -5097,7 +5097,7 @@ function _sfc_render$M(_ctx, _cache, $props, $setup, $data, $options) {
5097
5097
  _: 3
5098
5098
  })]);
5099
5099
  }
5100
- const FErrorList = /* @__PURE__ */ _export_sfc(_sfc_main$16, [["render", _sfc_render$M]]);
5100
+ const FErrorList = /* @__PURE__ */ _export_sfc(_sfc_main$18, [["render", _sfc_render$M]]);
5101
5101
  var es_iterator_every = {};
5102
5102
  var hasRequiredEs_iterator_every;
5103
5103
  function requireEs_iterator_every() {
@@ -5185,7 +5185,7 @@ function cleanUpElements(vm) {
5185
5185
  }, 0);
5186
5186
  });
5187
5187
  }
5188
- const _sfc_main$15 = defineComponent({
5188
+ const _sfc_main$17 = defineComponent({
5189
5189
  name: "FValidationGroup",
5190
5190
  props: {
5191
5191
  /**
@@ -5261,13 +5261,13 @@ function _sfc_render$L(_ctx, _cache, $props, $setup, $data, $options) {
5261
5261
  onComponentUnmount: _cache[1] || (_cache[1] = (...args) => _ctx.onComponentUnmount && _ctx.onComponentUnmount(...args))
5262
5262
  }, [renderSlot(_ctx.$slots, "default")], 32);
5263
5263
  }
5264
- const FValidationGroup = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["render", _sfc_render$L]]);
5264
+ const FValidationGroup = /* @__PURE__ */ _export_sfc(_sfc_main$17, [["render", _sfc_render$L]]);
5265
5265
  var FValidationFormAction = /* @__PURE__ */ ((FValidationFormAction2) => {
5266
5266
  FValidationFormAction2[FValidationFormAction2["CONTINUE"] = 0] = "CONTINUE";
5267
5267
  FValidationFormAction2[FValidationFormAction2["CANCEL"] = 1] = "CANCEL";
5268
5268
  return FValidationFormAction2;
5269
5269
  })(FValidationFormAction || {});
5270
- const _sfc_main$14 = defineComponent({
5270
+ const _sfc_main$16 = defineComponent({
5271
5271
  name: "FValidationForm",
5272
5272
  components: {
5273
5273
  FValidationGroup,
@@ -5406,8 +5406,8 @@ const _sfc_main$14 = defineComponent({
5406
5406
  }
5407
5407
  }
5408
5408
  });
5409
- const _hoisted_1$R = ["id"];
5410
- const _hoisted_2$B = {
5409
+ const _hoisted_1$T = ["id"];
5410
+ const _hoisted_2$C = {
5411
5411
  key: 0,
5412
5412
  ref: "errors",
5413
5413
  tabindex: "-1",
@@ -5428,19 +5428,19 @@ function _sfc_render$K(_ctx, _cache, $props, $setup, $data, $options) {
5428
5428
  novalidate: "",
5429
5429
  autocomplete: "off",
5430
5430
  onSubmit: _cache[0] || (_cache[0] = withModifiers((...args) => _ctx.onSubmit && _ctx.onSubmit(...args), ["prevent"]))
5431
- }), [_ctx.displayErrors ? (openBlock(), createElementBlock("nav", _hoisted_2$B, [createVNode(_component_f_error_list, {
5431
+ }), [_ctx.displayErrors ? (openBlock(), createElementBlock("nav", _hoisted_2$C, [createVNode(_component_f_error_list, {
5432
5432
  items: _ctx.errors,
5433
5433
  bullets: _ctx.errorListBullets,
5434
5434
  "before-navigate": _ctx.errorListBeforeNavigate
5435
5435
  }, {
5436
5436
  title: withCtx(() => [renderSlot(_ctx.$slots, "error-message")]),
5437
5437
  _: 3
5438
- }, 8, ["items", "bullets", "before-navigate"])], 512)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$R)]),
5438
+ }, 8, ["items", "bullets", "before-navigate"])], 512)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$T)]),
5439
5439
  _: 3
5440
5440
  }, 8, ["modelValue"]);
5441
5441
  }
5442
- const FValidationForm = /* @__PURE__ */ _export_sfc(_sfc_main$14, [["render", _sfc_render$K]]);
5443
- const _sfc_main$13 = defineComponent({
5442
+ const FValidationForm = /* @__PURE__ */ _export_sfc(_sfc_main$16, [["render", _sfc_render$K]]);
5443
+ const _sfc_main$15 = defineComponent({
5444
5444
  name: "FFormModal",
5445
5445
  components: {
5446
5446
  FModal,
@@ -5589,10 +5589,10 @@ const _sfc_main$13 = defineComponent({
5589
5589
  }
5590
5590
  }
5591
5591
  });
5592
- const _hoisted_1$Q = {
5592
+ const _hoisted_1$S = {
5593
5593
  class: "button-group"
5594
5594
  };
5595
- const _hoisted_2$A = ["type", "form", "onClick"];
5595
+ const _hoisted_2$B = ["type", "form", "onClick"];
5596
5596
  const _hoisted_3$t = {
5597
5597
  key: 0,
5598
5598
  class: "sr-only"
@@ -5621,19 +5621,19 @@ function _sfc_render$J(_ctx, _cache, $props, $setup, $data, $options) {
5621
5621
  default: withCtx(() => [_cache[0] || (_cache[0] = createTextVNode()), renderSlot(_ctx.$slots, "input-text-fields")]),
5622
5622
  _: 3
5623
5623
  }, 8, ["id", "before-submit", "before-validation", "use-error-list", "onSubmit", "onCancel"])]),
5624
- footer: withCtx(() => [createElementVNode("div", _hoisted_1$Q, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.preparedButtons, (button) => {
5624
+ footer: withCtx(() => [createElementVNode("div", _hoisted_1$S, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.preparedButtons, (button) => {
5625
5625
  return openBlock(), createElementBlock("button", {
5626
5626
  key: button.label,
5627
5627
  type: button.buttonType,
5628
5628
  class: normalizeClass([button.classlist, "button-group__item"]),
5629
5629
  form: button.buttonType === "submit" ? _ctx.formId : void 0,
5630
5630
  onClick: ($event) => button.buttonType === "button" ? _ctx.onCancel() : false
5631
- }, [createElementVNode("span", null, toDisplayString(button.label), 1), _cache[2] || (_cache[2] = createTextVNode()), button.screenreader ? (openBlock(), createElementBlock("span", _hoisted_3$t, " " + toDisplayString(button.screenreader), 1)) : createCommentVNode("", true)], 10, _hoisted_2$A);
5631
+ }, [createElementVNode("span", null, toDisplayString(button.label), 1), _cache[2] || (_cache[2] = createTextVNode()), button.screenreader ? (openBlock(), createElementBlock("span", _hoisted_3$t, " " + toDisplayString(button.screenreader), 1)) : createCommentVNode("", true)], 10, _hoisted_2$B);
5632
5632
  }), 128))])]),
5633
5633
  _: 3
5634
5634
  }, 8, ["data-test", "fullscreen", "is-open", "size", "aria-close-text", "onClose"]);
5635
5635
  }
5636
- const FFormModal = /* @__PURE__ */ _export_sfc(_sfc_main$13, [["render", _sfc_render$J]]);
5636
+ const FFormModal = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["render", _sfc_render$J]]);
5637
5637
  async function confirmModal(callingInstance, texts) {
5638
5638
  const buttons = [{
5639
5639
  label: texts.confirm,
@@ -5993,7 +5993,7 @@ const ErrorPlugin = {
5993
5993
  }
5994
5994
  }
5995
5995
  };
5996
- const _sfc_main$12 = defineComponent({
5996
+ const _sfc_main$14 = defineComponent({
5997
5997
  name: "FErrorPage",
5998
5998
  props: {
5999
5999
  payload: {
@@ -6003,16 +6003,16 @@ const _sfc_main$12 = defineComponent({
6003
6003
  }
6004
6004
  }
6005
6005
  });
6006
- const _hoisted_1$P = {
6006
+ const _hoisted_1$R = {
6007
6007
  "data-test": "f-error-page"
6008
6008
  };
6009
6009
  function _sfc_render$I(_ctx, _cache, $props, $setup, $data, $options) {
6010
- return openBlock(), createElementBlock("div", _hoisted_1$P, _cache[0] || (_cache[0] = [createElementVNode("h1", null, "Fel", -1), createTextVNode(), createElementVNode("p", null, "Ett fel har uppstått.", -1), createTextVNode(), createElementVNode("a", {
6010
+ return openBlock(), createElementBlock("div", _hoisted_1$R, _cache[0] || (_cache[0] = [createElementVNode("h1", null, "Fel", -1), createTextVNode(), createElementVNode("p", null, "Ett fel har uppstått.", -1), createTextVNode(), createElementVNode("a", {
6011
6011
  href: "/"
6012
6012
  }, "Gå till startsidan", -1)]));
6013
6013
  }
6014
- const FErrorPage = /* @__PURE__ */ _export_sfc(_sfc_main$12, [["render", _sfc_render$I]]);
6015
- const _sfc_main$11 = defineComponent({
6014
+ const FErrorPage = /* @__PURE__ */ _export_sfc(_sfc_main$14, [["render", _sfc_render$I]]);
6015
+ const _sfc_main$13 = defineComponent({
6016
6016
  name: "FErrorHandlingApp",
6017
6017
  props: {
6018
6018
  defaultComponent: {
@@ -6051,7 +6051,7 @@ function _sfc_render$H(_ctx, _cache, $props, $setup, $data, $options) {
6051
6051
  key: 2
6052
6052
  })]);
6053
6053
  }
6054
- const FErrorHandlingApp = /* @__PURE__ */ _export_sfc(_sfc_main$11, [["render", _sfc_render$H]]);
6054
+ const FErrorHandlingApp = /* @__PURE__ */ _export_sfc(_sfc_main$13, [["render", _sfc_render$H]]);
6055
6055
  function isMonthBefore(date, minDate) {
6056
6056
  return Boolean(minDate && date.isBefore(minDate.startOfMonth()));
6057
6057
  }
@@ -6092,7 +6092,7 @@ function getMessage($t2, date, minDate, maxDate) {
6092
6092
  });
6093
6093
  }
6094
6094
  }
6095
- const _sfc_main$10 = defineComponent({
6095
+ const _sfc_main$12 = defineComponent({
6096
6096
  name: "ICalendarNavbar",
6097
6097
  components: {
6098
6098
  FIcon
@@ -6205,10 +6205,10 @@ const _sfc_main$10 = defineComponent({
6205
6205
  }
6206
6206
  }
6207
6207
  });
6208
- const _hoisted_1$O = {
6208
+ const _hoisted_1$Q = {
6209
6209
  class: "calendar-navbar"
6210
6210
  };
6211
- const _hoisted_2$z = {
6211
+ const _hoisted_2$A = {
6212
6212
  class: "calendar-navbar__month",
6213
6213
  tabindex: "-1"
6214
6214
  };
@@ -6222,7 +6222,7 @@ const _hoisted_6$f = {
6222
6222
  };
6223
6223
  function _sfc_render$G(_ctx, _cache, $props, $setup, $data, $options) {
6224
6224
  const _component_f_icon = resolveComponent("f-icon");
6225
- return openBlock(), createElementBlock("div", _hoisted_1$O, [createElementVNode("div", _hoisted_2$z, toDisplayString(_ctx.currentText), 1), _cache[4] || (_cache[4] = createTextVNode()), createElementVNode("button", {
6225
+ return openBlock(), createElementBlock("div", _hoisted_1$Q, [createElementVNode("div", _hoisted_2$A, toDisplayString(_ctx.currentText), 1), _cache[4] || (_cache[4] = createTextVNode()), createElementVNode("button", {
6226
6226
  ref: "previousButton",
6227
6227
  class: "calendar-navbar__arrow calendar-navbar__arrow--previous",
6228
6228
  type: "button",
@@ -6244,14 +6244,14 @@ function _sfc_render$G(_ctx, _cache, $props, $setup, $data, $options) {
6244
6244
  name: "arrow-right"
6245
6245
  }, null, 8, ["class"])], 8, _hoisted_5$j)]);
6246
6246
  }
6247
- const ICalendarNavbar = /* @__PURE__ */ _export_sfc(_sfc_main$10, [["render", _sfc_render$G]]);
6247
+ const ICalendarNavbar = /* @__PURE__ */ _export_sfc(_sfc_main$12, [["render", _sfc_render$G]]);
6248
6248
  function getDayStartOffset(days) {
6249
6249
  return days[0].weekDay - 1;
6250
6250
  }
6251
6251
  function getDayEndOffset(days) {
6252
6252
  return 7 - days[days.length - 1].weekDay;
6253
6253
  }
6254
- const _sfc_main$$ = defineComponent({
6254
+ const _sfc_main$11 = defineComponent({
6255
6255
  name: "ICalendarMonthGrid",
6256
6256
  props: {
6257
6257
  /**
@@ -6325,8 +6325,8 @@ const _sfc_main$$ = defineComponent({
6325
6325
  }
6326
6326
  }
6327
6327
  });
6328
- const _hoisted_1$N = ["aria-label"];
6329
- const _hoisted_2$y = {
6328
+ const _hoisted_1$P = ["aria-label"];
6329
+ const _hoisted_2$z = {
6330
6330
  key: 0,
6331
6331
  class: "calendar-month__col--week"
6332
6332
  };
@@ -6351,7 +6351,7 @@ const _hoisted_9$5 = {
6351
6351
  key: 0,
6352
6352
  "aria-hidden": "true"
6353
6353
  };
6354
- const _hoisted_10$3 = ["colspan"];
6354
+ const _hoisted_10$2 = ["colspan"];
6355
6355
  const _hoisted_11$2 = {
6356
6356
  key: 1,
6357
6357
  "aria-hidden": "true"
@@ -6364,7 +6364,7 @@ function _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {
6364
6364
  "aria-label": _ctx.ariaLabel,
6365
6365
  onFocusin: _cache[0] || (_cache[0] = (...args) => _ctx.onFocusin && _ctx.onFocusin(...args)),
6366
6366
  onFocusout: _cache[1] || (_cache[1] = (...args) => _ctx.onFocusout && _ctx.onFocusout(...args))
6367
- }, [createElementVNode("colgroup", null, [!_ctx.internalHideWeekNumbers ? (openBlock(), createElementBlock("col", _hoisted_2$y)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), _cache[3] || (_cache[3] = createElementVNode("col", {
6367
+ }, [createElementVNode("colgroup", null, [!_ctx.internalHideWeekNumbers ? (openBlock(), createElementBlock("col", _hoisted_2$z)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), _cache[3] || (_cache[3] = createElementVNode("col", {
6368
6368
  class: "calendar-month__col--day"
6369
6369
  }, null, -1)), _cache[4] || (_cache[4] = createTextVNode()), _cache[5] || (_cache[5] = createElementVNode("col", {
6370
6370
  class: "calendar-month__col--day"
@@ -6414,13 +6414,13 @@ function _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {
6414
6414
  class: "calendar-month__cell",
6415
6415
  colspan: _ctx.totalCols,
6416
6416
  "aria-hidden": "true"
6417
- }, null, 8, _hoisted_10$3)])) : createCommentVNode("", true), _cache[21] || (_cache[21] = createTextVNode()), _ctx.weeks.length < 6 ? (openBlock(), createElementBlock("tr", _hoisted_11$2, [createElementVNode("td", {
6417
+ }, null, 8, _hoisted_10$2)])) : createCommentVNode("", true), _cache[21] || (_cache[21] = createTextVNode()), _ctx.weeks.length < 6 ? (openBlock(), createElementBlock("tr", _hoisted_11$2, [createElementVNode("td", {
6418
6418
  class: "calendar-month__cell",
6419
6419
  colspan: _ctx.totalCols,
6420
6420
  "aria-hidden": "true"
6421
- }, null, 8, _hoisted_12$2)])) : createCommentVNode("", true)])], 40, _hoisted_1$N);
6421
+ }, null, 8, _hoisted_12$2)])) : createCommentVNode("", true)])], 40, _hoisted_1$P);
6422
6422
  }
6423
- const ICalendarMonthGrid = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["render", _sfc_render$F]]);
6423
+ const ICalendarMonthGrid = /* @__PURE__ */ _export_sfc(_sfc_main$11, [["render", _sfc_render$F]]);
6424
6424
  const DayStep = {
6425
6425
  ArrowRight: 1,
6426
6426
  ArrowLeft: -1,
@@ -6444,7 +6444,7 @@ function getDayTabindex(date, active, entry) {
6444
6444
  return date.day === 1 ? 0 : -1;
6445
6445
  }
6446
6446
  }
6447
- const _sfc_main$_ = defineComponent({
6447
+ const _sfc_main$10 = defineComponent({
6448
6448
  name: "ICalendarMonth",
6449
6449
  components: {
6450
6450
  ICalendarMonthGrid
@@ -6534,7 +6534,7 @@ const _sfc_main$_ = defineComponent({
6534
6534
  }
6535
6535
  }
6536
6536
  });
6537
- const _hoisted_1$M = ["data-date", "tabindex", "onClick", "onKeydown"];
6537
+ const _hoisted_1$O = ["data-date", "tabindex", "onClick", "onKeydown"];
6538
6538
  function _sfc_render$E(_ctx, _cache, $props, $setup, $data, $options) {
6539
6539
  const _component_i_calendar_month_grid = resolveComponent("i-calendar-month-grid");
6540
6540
  return openBlock(), createBlock(_component_i_calendar_month_grid, {
@@ -6554,12 +6554,12 @@ function _sfc_render$E(_ctx, _cache, $props, $setup, $data, $options) {
6554
6554
  }, [renderSlot(_ctx.$slots, "default", {
6555
6555
  date,
6556
6556
  isFocused: _ctx.isDayFocused(date)
6557
- })], 40, _hoisted_1$M)]),
6557
+ })], 40, _hoisted_1$O)]),
6558
6558
  _: 3
6559
6559
  }, 8, ["value"]);
6560
6560
  }
6561
- const ICalendarMonth = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["render", _sfc_render$E]]);
6562
- const _sfc_main$Z = defineComponent({
6561
+ const ICalendarMonth = /* @__PURE__ */ _export_sfc(_sfc_main$10, [["render", _sfc_render$E]]);
6562
+ const _sfc_main$$ = defineComponent({
6563
6563
  name: "FCalendar",
6564
6564
  components: {
6565
6565
  ICalendarNavbar,
@@ -6610,13 +6610,13 @@ const _sfc_main$Z = defineComponent({
6610
6610
  }
6611
6611
  }
6612
6612
  });
6613
- const _hoisted_1$L = {
6613
+ const _hoisted_1$N = {
6614
6614
  class: "calendar__wrapper"
6615
6615
  };
6616
6616
  function _sfc_render$D(_ctx, _cache, $props, $setup, $data, $options) {
6617
6617
  const _component_i_calendar_navbar = resolveComponent("i-calendar-navbar");
6618
6618
  const _component_i_calendar_month = resolveComponent("i-calendar-month");
6619
- return openBlock(), createElementBlock("div", _hoisted_1$L, [createVNode(_component_i_calendar_navbar, {
6619
+ return openBlock(), createElementBlock("div", _hoisted_1$N, [createVNode(_component_i_calendar_navbar, {
6620
6620
  "model-value": _ctx.modelValue,
6621
6621
  "min-date": _ctx.minDate,
6622
6622
  "max-date": _ctx.maxDate,
@@ -6639,7 +6639,7 @@ function _sfc_render$D(_ctx, _cache, $props, $setup, $data, $options) {
6639
6639
  _: 3
6640
6640
  }, 8, ["model-value", "min-date", "max-date", "tab-date", "onClick", "onUpdate:modelValue"])]);
6641
6641
  }
6642
- const FCalendar = /* @__PURE__ */ _export_sfc(_sfc_main$Z, [["render", _sfc_render$D]]);
6642
+ const FCalendar = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["render", _sfc_render$D]]);
6643
6643
  function getCalendarDaySrText(day, enabled, selected, t) {
6644
6644
  const parts = [];
6645
6645
  if (!enabled) {
@@ -6658,7 +6658,7 @@ function getCalendarDaySrText(day, enabled, selected, t) {
6658
6658
  parts.push(day.toString(DateFormat.FULL));
6659
6659
  return parts.join(" ");
6660
6660
  }
6661
- const _sfc_main$Y = defineComponent({
6661
+ const _sfc_main$_ = defineComponent({
6662
6662
  name: "FCalendarDay",
6663
6663
  mixins: [TranslationMixin],
6664
6664
  props: {
@@ -6723,19 +6723,19 @@ const _sfc_main$Y = defineComponent({
6723
6723
  }
6724
6724
  }
6725
6725
  });
6726
- const _hoisted_1$K = {
6726
+ const _hoisted_1$M = {
6727
6727
  "aria-hidden": "true"
6728
6728
  };
6729
- const _hoisted_2$x = {
6729
+ const _hoisted_2$y = {
6730
6730
  class: "sr-only"
6731
6731
  };
6732
6732
  function _sfc_render$C(_ctx, _cache, $props, $setup, $data, $options) {
6733
6733
  return openBlock(), createElementBlock("span", {
6734
6734
  class: normalizeClass(_ctx.dayClasses)
6735
- }, [createElementVNode("span", _hoisted_1$K, toDisplayString(_ctx.day.day), 1), _cache[0] || (_cache[0] = createTextVNode()), createElementVNode("span", _hoisted_2$x, toDisplayString(_ctx.srText), 1)], 2);
6735
+ }, [createElementVNode("span", _hoisted_1$M, toDisplayString(_ctx.day.day), 1), _cache[0] || (_cache[0] = createTextVNode()), createElementVNode("span", _hoisted_2$y, toDisplayString(_ctx.srText), 1)], 2);
6736
6736
  }
6737
- const FCalendarDay = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["render", _sfc_render$C]]);
6738
- function useEventListener(target, event, callback) {
6737
+ const FCalendarDay = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["render", _sfc_render$C]]);
6738
+ function useEventListener$1(target, event, callback) {
6739
6739
  onMounted(() => {
6740
6740
  var _a;
6741
6741
  (_a = toValue(target)) == null ? void 0 : _a.addEventListener(event, callback);
@@ -6755,8 +6755,8 @@ function useSlotUtils() {
6755
6755
  }
6756
6756
  };
6757
6757
  }
6758
- const _hoisted_1$J = ["id"];
6759
- const _hoisted_2$w = {
6758
+ const _hoisted_1$L = ["id"];
6759
+ const _hoisted_2$x = {
6760
6760
  key: 0,
6761
6761
  class: "card__header"
6762
6762
  };
@@ -6767,7 +6767,7 @@ const _hoisted_4$m = {
6767
6767
  key: 1,
6768
6768
  class: "card__footer"
6769
6769
  };
6770
- const _sfc_main$X = /* @__PURE__ */ defineComponent({
6770
+ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
6771
6771
  __name: "FCard",
6772
6772
  props: {
6773
6773
  /**
@@ -6825,7 +6825,7 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
6825
6825
  id: __props.id,
6826
6826
  class: normalizeClass(cardClass.value),
6827
6827
  onValidity
6828
- }, [hasHeaderSlot.value ? (openBlock(), createElementBlock("div", _hoisted_2$w, [renderSlot(_ctx.$slots, "header", normalizeProps(guardReactiveProps({
6828
+ }, [hasHeaderSlot.value ? (openBlock(), createElementBlock("div", _hoisted_2$x, [renderSlot(_ctx.$slots, "header", normalizeProps(guardReactiveProps({
6829
6829
  headingSlotClass: "card__header-label"
6830
6830
  })))])) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), renderSlot(_ctx.$slots, "error-message", normalizeProps(guardReactiveProps({
6831
6831
  hasError: hasError.value,
@@ -6853,11 +6853,11 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
6853
6853
  })) : createCommentVNode("", true)]), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("div", _hoisted_3$q, [renderSlot(_ctx.$slots, "default")]), _cache[3] || (_cache[3] = createTextVNode()), hasFooterSlot.value ? (openBlock(), createElementBlock("div", _hoisted_4$m, [renderSlot(_ctx.$slots, "footer", normalizeProps(guardReactiveProps({
6854
6854
  hasError: hasError.value,
6855
6855
  validationMessage: validationMessage.value
6856
- })))])) : createCommentVNode("", true)], 42, _hoisted_1$J);
6856
+ })))])) : createCommentVNode("", true)], 42, _hoisted_1$L);
6857
6857
  };
6858
6858
  }
6859
6859
  });
6860
- const _sfc_main$W = defineComponent({
6860
+ const _sfc_main$Y = defineComponent({
6861
6861
  name: "FExpand",
6862
6862
  data() {
6863
6863
  return {
@@ -6923,7 +6923,7 @@ function _sfc_render$B(_ctx, _cache, $props, $setup, $data, $options) {
6923
6923
  _: 3
6924
6924
  }, 8, ["onEnter", "onAfterEnter", "onLeave"]);
6925
6925
  }
6926
- const FExpand = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["render", _sfc_render$B]]);
6926
+ const FExpand = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["render", _sfc_render$B]]);
6927
6927
  function offset(page, el) {
6928
6928
  const rect = el.getBoundingClientRect();
6929
6929
  return {
@@ -7208,7 +7208,7 @@ function isTeleportDisabled(options) {
7208
7208
  }
7209
7209
  return disableTeleport;
7210
7210
  }
7211
- const _sfc_main$V = defineComponent({
7211
+ const _sfc_main$X = defineComponent({
7212
7212
  name: "IPopup",
7213
7213
  inheritAttrs: false,
7214
7214
  props: {
@@ -7510,7 +7510,7 @@ function _sfc_render$A(_ctx, _cache, $props, $setup, $data, $options) {
7510
7510
  placement: _ctx.placement
7511
7511
  })))], 544)], 16)], 8, ["to", "disabled"])) : createCommentVNode("", true);
7512
7512
  }
7513
- const IPopup = /* @__PURE__ */ _export_sfc(_sfc_main$V, [["render", _sfc_render$A]]);
7513
+ const IPopup = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["render", _sfc_render$A]]);
7514
7514
  function computeArrowOffset(placement, inputIconRect, wrapperRect) {
7515
7515
  switch (placement) {
7516
7516
  case Placement.A: {
@@ -7574,7 +7574,7 @@ function computeArrowOffset(placement, inputIconRect, wrapperRect) {
7574
7574
  }
7575
7575
  }
7576
7576
  const POPUP_SPACING = 10;
7577
- const _sfc_main$U = defineComponent({
7577
+ const _sfc_main$W = defineComponent({
7578
7578
  name: "IPopupError",
7579
7579
  components: {
7580
7580
  FIcon
@@ -7712,7 +7712,7 @@ const _sfc_main$U = defineComponent({
7712
7712
  }
7713
7713
  }
7714
7714
  });
7715
- const _hoisted_1$I = {
7715
+ const _hoisted_1$K = {
7716
7716
  ref: "wrapper",
7717
7717
  class: "popup-error__wrapper"
7718
7718
  };
@@ -7726,7 +7726,7 @@ function _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {
7726
7726
  ref: "popup",
7727
7727
  class: normalizeClass(_ctx.popupClasses),
7728
7728
  "aria-hidden": "true"
7729
- }, [createElementVNode("div", _hoisted_1$I, [createElementVNode("div", {
7729
+ }, [createElementVNode("div", _hoisted_1$K, [createElementVNode("div", {
7730
7730
  class: normalizeClass(_ctx.arrowClass),
7731
7731
  style: normalizeStyle(_ctx.errorStyle)
7732
7732
  }, [createElementVNode("span", null, toDisplayString(_ctx.errorMessage), 1), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("button", {
@@ -7740,7 +7740,7 @@ function _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {
7740
7740
  class: "button__icon"
7741
7741
  })])], 6)], 512)], 2)], 8, ["to", "disabled"])) : createCommentVNode("", true);
7742
7742
  }
7743
- const IPopupError = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["render", _sfc_render$z]]);
7743
+ const IPopupError = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["render", _sfc_render$z]]);
7744
7744
  function numItems(itemHeight, availableHeight, verticalSpacing) {
7745
7745
  const itemsFit = Math.floor((availableHeight - verticalSpacing) / itemHeight);
7746
7746
  return Math.min(itemsFit, 7);
@@ -7807,12 +7807,12 @@ function computeListboxRect(anchor, options, root = document.documentElement, {
7807
7807
  }
7808
7808
  return void 0;
7809
7809
  }
7810
- const _hoisted_1$H = ["onKeyup"];
7811
- const _hoisted_2$v = {
7810
+ const _hoisted_1$J = ["onKeyup"];
7811
+ const _hoisted_2$w = {
7812
7812
  ref: "content"
7813
7813
  };
7814
7814
  const teleportDisabled = false;
7815
- const _sfc_main$T = /* @__PURE__ */ defineComponent({
7815
+ const _sfc_main$V = /* @__PURE__ */ defineComponent({
7816
7816
  __name: "IPopupListbox",
7817
7817
  props: {
7818
7818
  isOpen: {
@@ -7834,7 +7834,7 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
7834
7834
  const teleportTarget = computed(() => config.teleportTarget);
7835
7835
  let guessedItemHeight = void 0;
7836
7836
  let verticalSpacing = void 0;
7837
- useEventListener(__props.anchor, "keyup", onKeyEsc);
7837
+ useEventListener$1(__props.anchor, "keyup", onKeyEsc);
7838
7838
  watchEffect(() => {
7839
7839
  if (wrapperRef.value && __props.activeElement !== void 0) {
7840
7840
  const centerPosition = __props.activeElement.offsetTop - (wrapperRef.value.getBoundingClientRect().height - __props.activeElement.getBoundingClientRect().height) / 2;
@@ -7966,7 +7966,7 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
7966
7966
  onKeyup: withKeys(withModifiers(onKeyEsc, ["stop"]), ["esc"]),
7967
7967
  onClick: _cache[0] || (_cache[0] = withModifiers(() => {
7968
7968
  }, ["stop"]))
7969
- }), [createElementVNode("div", _hoisted_2$v, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1$H)], 512)], 8, ["to"])) : createCommentVNode("", true);
7969
+ }), [createElementVNode("div", _hoisted_2$w, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1$J)], 512)], 8, ["to"])) : createCommentVNode("", true);
7970
7970
  };
7971
7971
  }
7972
7972
  });
@@ -8010,7 +8010,7 @@ async function doMenuAction$2(action, target) {
8010
8010
  }
8011
8011
  }
8012
8012
  const preventKeys$2 = ["Tab", "Up", "Down", "ArrowUp", "ArrowDown", "Home", "End", " ", "Spacebar", "Enter"];
8013
- const _sfc_main$S = defineComponent({
8013
+ const _sfc_main$U = defineComponent({
8014
8014
  name: "IPopupMenu",
8015
8015
  components: {
8016
8016
  IPopup
@@ -8265,8 +8265,8 @@ const _sfc_main$S = defineComponent({
8265
8265
  }
8266
8266
  }
8267
8267
  });
8268
- const _hoisted_1$G = ["aria-label"];
8269
- const _hoisted_2$u = {
8268
+ const _hoisted_1$I = ["aria-label"];
8269
+ const _hoisted_2$v = {
8270
8270
  role: "menu",
8271
8271
  class: "ipopupmenu__list"
8272
8272
  };
@@ -8291,7 +8291,7 @@ function _sfc_render$y(_ctx, _cache, $props, $setup, $data, $options) {
8291
8291
  default: withCtx(() => [createElementVNode("nav", {
8292
8292
  class: "ipopupmenu ipopupmenu--vertical",
8293
8293
  "aria-label": _ctx.ariaLabel
8294
- }, [createElementVNode("ul", _hoisted_2$u, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item, index) => {
8294
+ }, [createElementVNode("ul", _hoisted_2$v, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item, index) => {
8295
8295
  return openBlock(), createElementBlock("li", {
8296
8296
  ref_for: true,
8297
8297
  ref: "items",
@@ -8308,17 +8308,17 @@ function _sfc_render$y(_ctx, _cache, $props, $setup, $data, $options) {
8308
8308
  target: item.target,
8309
8309
  tabindex: "0"
8310
8310
  }, [_ctx.isSelected(index) ? (openBlock(), createElementBlock("span", _hoisted_5$h, [createElementVNode("span", null, toDisplayString(_ctx.selectedMenuItemScreenReaderText) + " ", 1)])) : createCommentVNode("", true), createTextVNode(" " + toDisplayString(item.label), 1)], 8, _hoisted_4$l)], 10, _hoisted_3$p);
8311
- }), 128))])], 8, _hoisted_1$G)]),
8311
+ }), 128))])], 8, _hoisted_1$I)]),
8312
8312
  _: 1
8313
8313
  }, 8, ["is-open", "anchor", "focus-element", "onKeyup", "onKeydown"]);
8314
8314
  }
8315
- const IPopupMenu = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["render", _sfc_render$y]]);
8315
+ const IPopupMenu = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["render", _sfc_render$y]]);
8316
8316
  const ANIMATION_DURATION = 500;
8317
8317
  const NO_CSS_CLASSES = "";
8318
8318
  const CLOSED_CSS_CLASS_OPACITY = "animate-expand animate-expand--opacity";
8319
8319
  const CLOSED_CSS_CLASS = "animate-expand";
8320
8320
  const ANIMATION_CSS_CLASSES = "animate-expand animate-expand--expanded";
8321
- const _sfc_main$R = defineComponent({
8321
+ const _sfc_main$T = defineComponent({
8322
8322
  name: "IAnimateExpand",
8323
8323
  props: {
8324
8324
  /**
@@ -8510,7 +8510,7 @@ const _sfc_main$R = defineComponent({
8510
8510
  }
8511
8511
  }
8512
8512
  });
8513
- const _hoisted_1$F = {
8513
+ const _hoisted_1$H = {
8514
8514
  key: 0,
8515
8515
  ref: "content",
8516
8516
  "data-test": "animation-content"
@@ -8519,10 +8519,10 @@ function _sfc_render$x(_ctx, _cache, $props, $setup, $data, $options) {
8519
8519
  return openBlock(), createElementBlock("div", {
8520
8520
  class: normalizeClass(_ctx.animationClasses),
8521
8521
  style: normalizeStyle(_ctx.heightStyle)
8522
- }, [_ctx.shouldVIf ? withDirectives((openBlock(), createElementBlock("div", _hoisted_1$F, [renderSlot(_ctx.$slots, "default")], 512)), [[vShow, _ctx.shouldVShow]]) : createCommentVNode("", true)], 6);
8522
+ }, [_ctx.shouldVIf ? withDirectives((openBlock(), createElementBlock("div", _hoisted_1$H, [renderSlot(_ctx.$slots, "default")], 512)), [[vShow, _ctx.shouldVShow]]) : createCommentVNode("", true)], 6);
8523
8523
  }
8524
- const IAnimateExpand = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["render", _sfc_render$x]]);
8525
- const _sfc_main$Q = defineComponent({
8524
+ const IAnimateExpand = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["render", _sfc_render$x]]);
8525
+ const _sfc_main$S = defineComponent({
8526
8526
  name: "ISkipLink",
8527
8527
  mixins: [TranslationMixin],
8528
8528
  props: {
@@ -8536,14 +8536,14 @@ const _sfc_main$Q = defineComponent({
8536
8536
  }
8537
8537
  }
8538
8538
  });
8539
- const _hoisted_1$E = ["href"];
8539
+ const _hoisted_1$G = ["href"];
8540
8540
  function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
8541
8541
  return openBlock(), createElementBlock("a", {
8542
8542
  class: "iskiplink",
8543
8543
  href: _ctx.href
8544
- }, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.skip-link.text", "Gå direkt till innehåll")), 1)])], 8, _hoisted_1$E);
8544
+ }, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.skip-link.text", "Gå direkt till innehåll")), 1)])], 8, _hoisted_1$G);
8545
8545
  }
8546
- const ISkipLink = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["render", _sfc_render$w]]);
8546
+ const ISkipLink = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["render", _sfc_render$w]]);
8547
8547
  function filterOptions(options, filter2, selectMode) {
8548
8548
  if (isEmpty(filter2) || selectMode) {
8549
8549
  return options;
@@ -8568,10 +8568,10 @@ function useCombobox(inputRef, options, onOptionSelected) {
8568
8568
  }
8569
8569
  };
8570
8570
  }
8571
- useEventListener(inputRef, "click", onInputClick);
8572
- useEventListener(inputRef, "focus", onInputFocus);
8573
- useEventListener(inputRef, "keydown", onInputKeyDown);
8574
- useEventListener(inputRef, "keyup", onInputKeyUp);
8571
+ useEventListener$1(inputRef, "click", onInputClick);
8572
+ useEventListener$1(inputRef, "focus", onInputFocus);
8573
+ useEventListener$1(inputRef, "keydown", onInputKeyDown);
8574
+ useEventListener$1(inputRef, "keyup", onInputKeyUp);
8575
8575
  const dropdownId = ElementIdService.generateElementId();
8576
8576
  const dropdownIsOpen = ref(false);
8577
8577
  const activeOptionId = ElementIdService.generateElementId();
@@ -8789,12 +8789,12 @@ function useCombobox(inputRef, options, onOptionSelected) {
8789
8789
  }
8790
8790
  }
8791
8791
  }
8792
- const _hoisted_1$D = {
8792
+ const _hoisted_1$F = {
8793
8793
  class: "combobox"
8794
8794
  };
8795
- const _hoisted_2$t = ["id"];
8795
+ const _hoisted_2$u = ["id"];
8796
8796
  const _hoisted_3$o = ["id", "aria-selected", "onClick"];
8797
- const _sfc_main$P = /* @__PURE__ */ defineComponent({
8797
+ const _sfc_main$R = /* @__PURE__ */ defineComponent({
8798
8798
  __name: "IComboboxDropdown",
8799
8799
  props: {
8800
8800
  id: {},
@@ -8831,7 +8831,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
8831
8831
  }
8832
8832
  });
8833
8833
  return (_ctx, _cache) => {
8834
- return openBlock(), createElementBlock("div", _hoisted_1$D, [createVNode(unref(_sfc_main$T), {
8834
+ return openBlock(), createElementBlock("div", _hoisted_1$F, [createVNode(unref(_sfc_main$V), {
8835
8835
  "is-open": _ctx.isOpen,
8836
8836
  anchor: _ctx.inputNode,
8837
8837
  "num-of-items": _ctx.options.length,
@@ -8856,14 +8856,14 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
8856
8856
  }]),
8857
8857
  onClick: withModifiers(($event) => onOptionClick(item), ["stop", "prevent"])
8858
8858
  }, toDisplayString(item), 11, _hoisted_3$o);
8859
- }), 128))], 8, _hoisted_2$t)]),
8859
+ }), 128))], 8, _hoisted_2$u)]),
8860
8860
  _: 1
8861
8861
  }, 8, ["is-open", "anchor", "num-of-items", "active-element"])]);
8862
8862
  };
8863
8863
  }
8864
8864
  });
8865
- const _hoisted_1$C = ["aria-label"];
8866
- const _sfc_main$O = /* @__PURE__ */ defineComponent({
8865
+ const _hoisted_1$E = ["aria-label"];
8866
+ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
8867
8867
  __name: "IComboboxToggleButton",
8868
8868
  emits: ["toggle"],
8869
8869
  setup(__props, {
@@ -8882,7 +8882,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
8882
8882
  }, [createVNode(unref(FIcon), {
8883
8883
  name: "arrow-down",
8884
8884
  class: "text-field__icon"
8885
- })], 8, _hoisted_1$C);
8885
+ })], 8, _hoisted_1$E);
8886
8886
  };
8887
8887
  }
8888
8888
  });
@@ -8984,7 +8984,7 @@ function useHorizontalOffset(options) {
8984
8984
  }, 0);
8985
8985
  }
8986
8986
  }
8987
- const _sfc_main$N = defineComponent({
8987
+ const _sfc_main$P = defineComponent({
8988
8988
  name: "FTooltip",
8989
8989
  components: {
8990
8990
  FExpand,
@@ -9143,8 +9143,8 @@ const _sfc_main$N = defineComponent({
9143
9143
  }
9144
9144
  }
9145
9145
  });
9146
- const _hoisted_1$B = ["aria-expanded"];
9147
- const _hoisted_2$s = {
9146
+ const _hoisted_1$D = ["aria-expanded"];
9147
+ const _hoisted_2$t = {
9148
9148
  class: "icon-stack icon-stack--tooltip"
9149
9149
  };
9150
9150
  const _hoisted_3$n = {
@@ -9172,11 +9172,11 @@ function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
9172
9172
  type: "button",
9173
9173
  "aria-expanded": _ctx.isOpen,
9174
9174
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClickToggle && _ctx.onClickToggle(...args))
9175
- }, [createElementVNode("span", _hoisted_2$s, [createVNode(_component_f_icon, {
9175
+ }, [createElementVNode("span", _hoisted_2$t, [createVNode(_component_f_icon, {
9176
9176
  name: "circle"
9177
9177
  }), _cache[2] || (_cache[2] = createTextVNode()), createVNode(_component_f_icon, {
9178
9178
  name: "i"
9179
- }), _cache[3] || (_cache[3] = createTextVNode()), createElementVNode("span", _hoisted_3$n, toDisplayString(_ctx.screenReaderText), 1)])], 8, _hoisted_1$B)], 8, ["disabled", "to"])), _cache[7] || (_cache[7] = createTextVNode()), createElementVNode("div", mergeProps({
9179
+ }), _cache[3] || (_cache[3] = createTextVNode()), createElementVNode("span", _hoisted_3$n, toDisplayString(_ctx.screenReaderText), 1)])], 8, _hoisted_1$D)], 8, ["disabled", "to"])), _cache[7] || (_cache[7] = createTextVNode()), createElementVNode("div", mergeProps({
9180
9180
  ref: "wrapper",
9181
9181
  class: "tooltip"
9182
9182
  }, _ctx.$attrs), [_ctx.ready ? (openBlock(), createElementBlock("div", _hoisted_4$k, [_ctx.hasHeader ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.headerTag), {
@@ -9194,7 +9194,7 @@ function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
9194
9194
  name: "close"
9195
9195
  })])])])) : createCommentVNode("", true)], 16)], 64);
9196
9196
  }
9197
- const FTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["render", _sfc_render$v]]);
9197
+ const FTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["render", _sfc_render$v]]);
9198
9198
  function* labelClasses(options) {
9199
9199
  const {
9200
9200
  labelClass
@@ -9235,7 +9235,7 @@ function isEqual(a, b) {
9235
9235
  }
9236
9236
  return a.every((_, i) => a[i] === b[i]);
9237
9237
  }
9238
- const _sfc_main$M = defineComponent({
9238
+ const _sfc_main$O = defineComponent({
9239
9239
  name: "FFieldset",
9240
9240
  components: {
9241
9241
  FIcon
@@ -9463,8 +9463,8 @@ const _sfc_main$M = defineComponent({
9463
9463
  }
9464
9464
  }
9465
9465
  });
9466
- const _hoisted_1$A = ["id"];
9467
- const _hoisted_2$r = {
9466
+ const _hoisted_1$C = ["id"];
9467
+ const _hoisted_2$s = {
9468
9468
  key: 0,
9469
9469
  class: "sr-only"
9470
9470
  };
@@ -9504,7 +9504,7 @@ function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
9504
9504
  }, [(openBlock(), createElementBlock("legend", {
9505
9505
  key: _ctx.legendKey,
9506
9506
  class: normalizeClass(["label", _ctx.legendClass])
9507
- }, [renderSlot(_ctx.$slots, "label"), _cache[1] || (_cache[1] = createTextVNode()), _ctx.hasCheckbox && _ctx.children.length > 1 ? (openBlock(), createElementBlock("span", _hoisted_2$r, [createElementVNode("span", null, toDisplayString(_ctx.numberOfCheckboxesScreenReaderText), 1)])) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "description", {
9507
+ }, [renderSlot(_ctx.$slots, "label"), _cache[1] || (_cache[1] = createTextVNode()), _ctx.hasCheckbox && _ctx.children.length > 1 ? (openBlock(), createElementBlock("span", _hoisted_2$s, [createElementVNode("span", null, toDisplayString(_ctx.numberOfCheckboxesScreenReaderText), 1)])) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "description", {
9508
9508
  descriptionClass: _ctx.descriptionClass,
9509
9509
  formatDescriptionClass: _ctx.formatDescriptionClass
9510
9510
  }), _cache[3] || (_cache[3] = createTextVNode()), renderSlot(_ctx.$slots, "error-message", normalizeProps(guardReactiveProps({
@@ -9530,11 +9530,11 @@ function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
9530
9530
  name: "error"
9531
9531
  }), createTextVNode(" " + toDisplayString(_ctx.validity.validationMessage), 1)])) : createCommentVNode("", true)])], 2)) : createCommentVNode("", true)], 64)) : createCommentVNode("", true), _cache[9] || (_cache[9] = createTextVNode()), createElementVNode("div", {
9532
9532
  class: normalizeClass(_ctx.groupContentClass)
9533
- }, [renderSlot(_ctx.$slots, "default")], 2)], 42, _hoisted_1$A);
9533
+ }, [renderSlot(_ctx.$slots, "default")], 2)], 42, _hoisted_1$C);
9534
9534
  }
9535
- const FFieldset = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["render", _sfc_render$u]]);
9535
+ const FFieldset = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["render", _sfc_render$u]]);
9536
9536
  const anyType$1 = [String, Object, Array, Number, Date, Boolean];
9537
- const _sfc_main$L = defineComponent({
9537
+ const _sfc_main$N = defineComponent({
9538
9538
  name: "FCheckboxField",
9539
9539
  inheritAttrs: false,
9540
9540
  props: {
@@ -9720,8 +9720,8 @@ const _sfc_main$L = defineComponent({
9720
9720
  }
9721
9721
  }
9722
9722
  });
9723
- const _hoisted_1$z = ["id", "disabled"];
9724
- const _hoisted_2$q = ["for"];
9723
+ const _hoisted_1$B = ["id", "disabled"];
9724
+ const _hoisted_2$r = ["for"];
9725
9725
  const _hoisted_3$l = {
9726
9726
  key: 0,
9727
9727
  class: "checkbox__details"
@@ -9743,7 +9743,7 @@ function _sfc_render$t(_ctx, _cache, $props, $setup, $data, $options) {
9743
9743
  disabled: _ctx.disabled,
9744
9744
  onKeydown: _cache[0] || (_cache[0] = withKeys((...args) => _ctx.onKeydown && _ctx.onKeydown(...args), ["space"])),
9745
9745
  onChange: _cache[1] || (_cache[1] = ($event) => _ctx.updateExpandedFlag())
9746
- }), null, 16, _hoisted_1$z), _cache[9] || (_cache[9] = createTextVNode()), createElementVNode("label", {
9746
+ }), null, 16, _hoisted_1$B), _cache[9] || (_cache[9] = createTextVNode()), createElementVNode("label", {
9747
9747
  class: normalizeClass(_ctx.$slots.details ? "checkbox__label checkbox__width" : "checkbox__label"),
9748
9748
  for: _ctx.id
9749
9749
  }, [renderSlot(_ctx.$slots, "default"), _cache[8] || (_cache[8] = createTextVNode()), _ctx.$slots.details ? (openBlock(), createElementBlock(Fragment, {
@@ -9758,9 +9758,9 @@ function _sfc_render$t(_ctx, _cache, $props, $setup, $data, $options) {
9758
9758
  height: _ctx.height
9759
9759
  })])) : createCommentVNode("", true)]),
9760
9760
  _: 3
9761
- }, 8, ["onEnter", "onAfterEnter", "onLeave"])) : createCommentVNode("", true)], 64)) : createCommentVNode("", true)], 10, _hoisted_2$q)], 34);
9761
+ }, 8, ["onEnter", "onAfterEnter", "onLeave"])) : createCommentVNode("", true)], 64)) : createCommentVNode("", true)], 10, _hoisted_2$r)], 34);
9762
9762
  }
9763
- const FCheckboxField = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["render", _sfc_render$t]]);
9763
+ const FCheckboxField = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["render", _sfc_render$t]]);
9764
9764
  var es_iterator_some = {};
9765
9765
  var hasRequiredEs_iterator_some;
9766
9766
  function requireEs_iterator_some() {
@@ -9839,7 +9839,7 @@ async function doMenuAction$1(action, target) {
9839
9839
  }
9840
9840
  const preventKeys$1 = ["Tab", "Up", "Down", "ArrowUp", "ArrowDown", "Home", "End", " ", "Spacebar", "Enter", "Escape"];
9841
9841
  const keyUp = ["ArrowUp", "Up"];
9842
- const _sfc_main$K = defineComponent({
9842
+ const _sfc_main$M = defineComponent({
9843
9843
  name: "FContextMenu",
9844
9844
  components: {
9845
9845
  IPopup,
@@ -10003,8 +10003,8 @@ const _sfc_main$K = defineComponent({
10003
10003
  }
10004
10004
  }
10005
10005
  });
10006
- const _hoisted_1$y = ["aria-label"];
10007
- const _hoisted_2$p = {
10006
+ const _hoisted_1$A = ["aria-label"];
10007
+ const _hoisted_2$q = {
10008
10008
  ref: "contextmenu",
10009
10009
  role: "menu",
10010
10010
  tabindex: "-1",
@@ -10033,7 +10033,7 @@ function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {
10033
10033
  "aria-label": _ctx.ariaLabel,
10034
10034
  onKeyup: _cache[0] || (_cache[0] = (...args) => _ctx.onKeyUp && _ctx.onKeyUp(...args)),
10035
10035
  onKeydown: _cache[1] || (_cache[1] = (...args) => _ctx.onKeyDown && _ctx.onKeyDown(...args))
10036
- }, [createElementVNode("ul", _hoisted_2$p, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.popupItems, (item, index) => {
10036
+ }, [createElementVNode("ul", _hoisted_2$q, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.popupItems, (item, index) => {
10037
10037
  return openBlock(), createElementBlock("li", {
10038
10038
  key: item.key,
10039
10039
  role: "menuitem",
@@ -10052,11 +10052,11 @@ function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {
10052
10052
  ref_for: true,
10053
10053
  ref: "anchors"
10054
10054
  }, toDisplayString(item.label), 513)], 8, _hoisted_4$h), _cache[4] || (_cache[4] = createTextVNode()), _ctx.hasSeparatorAfterItemAt(index) ? (openBlock(), createElementBlock("hr", _hoisted_5$e)) : createCommentVNode("", true)], 8, _hoisted_3$k);
10055
- }), 128))], 512)], 40, _hoisted_1$y)]),
10055
+ }), 128))], 512)], 40, _hoisted_1$A)]),
10056
10056
  _: 1
10057
10057
  }, 8, ["is-open", "anchor", "focus-element"]);
10058
10058
  }
10059
- const FContextMenu = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["render", _sfc_render$s]]);
10059
+ const FContextMenu = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["render", _sfc_render$s]]);
10060
10060
  var Operation = /* @__PURE__ */ ((Operation2) => {
10061
10061
  Operation2[Operation2["ADD"] = 0] = "ADD";
10062
10062
  Operation2[Operation2["DELETE"] = 1] = "DELETE";
@@ -10064,13 +10064,13 @@ var Operation = /* @__PURE__ */ ((Operation2) => {
10064
10064
  Operation2[Operation2["NONE"] = 3] = "NONE";
10065
10065
  return Operation2;
10066
10066
  })(Operation || {});
10067
- const _hoisted_1$x = {
10067
+ const _hoisted_1$z = {
10068
10068
  class: "crud-dataset"
10069
10069
  };
10070
- const _hoisted_2$o = {
10070
+ const _hoisted_2$p = {
10071
10071
  key: 0
10072
10072
  };
10073
- const _sfc_main$J = /* @__PURE__ */ defineComponent({
10073
+ const _sfc_main$L = /* @__PURE__ */ defineComponent({
10074
10074
  __name: "FCrudDataset",
10075
10075
  props: {
10076
10076
  /**
@@ -10300,7 +10300,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
10300
10300
  isFormModalOpen.value = true;
10301
10301
  }
10302
10302
  return (_ctx, _cache) => {
10303
- return openBlock(), createElementBlock("div", _hoisted_1$x, [renderSlot(_ctx.$slots, "default"), _cache[5] || (_cache[5] = createTextVNode()), hasAddSlot.value ? (openBlock(), createElementBlock("div", _hoisted_2$o, [createElementVNode("button", {
10303
+ return openBlock(), createElementBlock("div", _hoisted_1$z, [renderSlot(_ctx.$slots, "default"), _cache[5] || (_cache[5] = createTextVNode()), hasAddSlot.value ? (openBlock(), createElementBlock("div", _hoisted_2$p, [createElementVNode("button", {
10304
10304
  "data-test": "f-crud-dataset-add-button",
10305
10305
  type: "button",
10306
10306
  class: "button button--tertiary crud-dataset__add-button",
@@ -10352,7 +10352,7 @@ function FCrudDatasetInjected() {
10352
10352
  modify: inject("modify")
10353
10353
  };
10354
10354
  }
10355
- const _sfc_main$I = defineComponent({
10355
+ const _sfc_main$K = defineComponent({
10356
10356
  name: "FCrudButton",
10357
10357
  components: {
10358
10358
  FIcon
@@ -10408,7 +10408,7 @@ const _sfc_main$I = defineComponent({
10408
10408
  }
10409
10409
  }
10410
10410
  });
10411
- const _hoisted_1$w = {
10411
+ const _hoisted_1$y = {
10412
10412
  key: 1,
10413
10413
  class: "sr-only"
10414
10414
  };
@@ -10422,17 +10422,582 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
10422
10422
  key: 0,
10423
10423
  class: "button__icon",
10424
10424
  name: _ctx.iconName
10425
- }, null, 8, ["name"])) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), !_ctx.label ? (openBlock(), createElementBlock("span", _hoisted_1$w, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.buttonText), 1)])])) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), _ctx.label ? renderSlot(_ctx.$slots, "default", {
10425
+ }, null, 8, ["name"])) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), !_ctx.label ? (openBlock(), createElementBlock("span", _hoisted_1$y, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.buttonText), 1)])])) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), _ctx.label ? renderSlot(_ctx.$slots, "default", {
10426
10426
  key: 2
10427
10427
  }, () => [createTextVNode(toDisplayString(_ctx.buttonText), 1)]) : createCommentVNode("", true)]);
10428
10428
  }
10429
- const FCrudButton = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["render", _sfc_render$r]]);
10429
+ const FCrudButton = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["render", _sfc_render$r]]);
10430
10430
  function ActivateItemInjected() {
10431
10431
  return {
10432
10432
  registerCallbackAfterItemAdd: inject("registerCallbackAfterItemAdd", () => void 0),
10433
10433
  registerCallbackBeforeItemDelete: inject("registerCallbackBeforeItemDelete", () => void 0)
10434
10434
  };
10435
10435
  }
10436
+ var es_set_difference_v2 = {};
10437
+ var setHelpers;
10438
+ var hasRequiredSetHelpers;
10439
+ function requireSetHelpers() {
10440
+ if (hasRequiredSetHelpers) return setHelpers;
10441
+ hasRequiredSetHelpers = 1;
10442
+ var uncurryThis = requireFunctionUncurryThis();
10443
+ var SetPrototype = Set.prototype;
10444
+ setHelpers = {
10445
+ // eslint-disable-next-line es/no-set -- safe
10446
+ Set,
10447
+ add: uncurryThis(SetPrototype.add),
10448
+ has: uncurryThis(SetPrototype.has),
10449
+ remove: uncurryThis(SetPrototype["delete"]),
10450
+ proto: SetPrototype
10451
+ };
10452
+ return setHelpers;
10453
+ }
10454
+ var aSet;
10455
+ var hasRequiredASet;
10456
+ function requireASet() {
10457
+ if (hasRequiredASet) return aSet;
10458
+ hasRequiredASet = 1;
10459
+ var has = requireSetHelpers().has;
10460
+ aSet = function(it) {
10461
+ has(it);
10462
+ return it;
10463
+ };
10464
+ return aSet;
10465
+ }
10466
+ var iterateSimple;
10467
+ var hasRequiredIterateSimple;
10468
+ function requireIterateSimple() {
10469
+ if (hasRequiredIterateSimple) return iterateSimple;
10470
+ hasRequiredIterateSimple = 1;
10471
+ var call = requireFunctionCall();
10472
+ iterateSimple = function(record, fn2, ITERATOR_INSTEAD_OF_RECORD) {
10473
+ var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator;
10474
+ var next = record.next;
10475
+ var step, result;
10476
+ while (!(step = call(next, iterator)).done) {
10477
+ result = fn2(step.value);
10478
+ if (result !== void 0) return result;
10479
+ }
10480
+ };
10481
+ return iterateSimple;
10482
+ }
10483
+ var setIterate;
10484
+ var hasRequiredSetIterate;
10485
+ function requireSetIterate() {
10486
+ if (hasRequiredSetIterate) return setIterate;
10487
+ hasRequiredSetIterate = 1;
10488
+ var uncurryThis = requireFunctionUncurryThis();
10489
+ var iterateSimple2 = requireIterateSimple();
10490
+ var SetHelpers = requireSetHelpers();
10491
+ var Set2 = SetHelpers.Set;
10492
+ var SetPrototype = SetHelpers.proto;
10493
+ var forEach = uncurryThis(SetPrototype.forEach);
10494
+ var keys = uncurryThis(SetPrototype.keys);
10495
+ var next = keys(new Set2()).next;
10496
+ setIterate = function(set, fn2, interruptible) {
10497
+ return interruptible ? iterateSimple2({
10498
+ iterator: keys(set),
10499
+ next
10500
+ }, fn2) : forEach(set, fn2);
10501
+ };
10502
+ return setIterate;
10503
+ }
10504
+ var setClone;
10505
+ var hasRequiredSetClone;
10506
+ function requireSetClone() {
10507
+ if (hasRequiredSetClone) return setClone;
10508
+ hasRequiredSetClone = 1;
10509
+ var SetHelpers = requireSetHelpers();
10510
+ var iterate2 = requireSetIterate();
10511
+ var Set2 = SetHelpers.Set;
10512
+ var add = SetHelpers.add;
10513
+ setClone = function(set) {
10514
+ var result = new Set2();
10515
+ iterate2(set, function(it) {
10516
+ add(result, it);
10517
+ });
10518
+ return result;
10519
+ };
10520
+ return setClone;
10521
+ }
10522
+ var setSize;
10523
+ var hasRequiredSetSize;
10524
+ function requireSetSize() {
10525
+ if (hasRequiredSetSize) return setSize;
10526
+ hasRequiredSetSize = 1;
10527
+ var uncurryThisAccessor = requireFunctionUncurryThisAccessor();
10528
+ var SetHelpers = requireSetHelpers();
10529
+ setSize = uncurryThisAccessor(SetHelpers.proto, "size", "get") || function(set) {
10530
+ return set.size;
10531
+ };
10532
+ return setSize;
10533
+ }
10534
+ var getSetRecord;
10535
+ var hasRequiredGetSetRecord;
10536
+ function requireGetSetRecord() {
10537
+ if (hasRequiredGetSetRecord) return getSetRecord;
10538
+ hasRequiredGetSetRecord = 1;
10539
+ var aCallable2 = requireACallable();
10540
+ var anObject2 = requireAnObject();
10541
+ var call = requireFunctionCall();
10542
+ var toIntegerOrInfinity2 = requireToIntegerOrInfinity();
10543
+ var getIteratorDirect2 = requireGetIteratorDirect();
10544
+ var INVALID_SIZE = "Invalid size";
10545
+ var $RangeError = RangeError;
10546
+ var $TypeError = TypeError;
10547
+ var max = Math.max;
10548
+ var SetRecord = function(set, intSize) {
10549
+ this.set = set;
10550
+ this.size = max(intSize, 0);
10551
+ this.has = aCallable2(set.has);
10552
+ this.keys = aCallable2(set.keys);
10553
+ };
10554
+ SetRecord.prototype = {
10555
+ getIterator: function() {
10556
+ return getIteratorDirect2(anObject2(call(this.keys, this.set)));
10557
+ },
10558
+ includes: function(it) {
10559
+ return call(this.has, this.set, it);
10560
+ }
10561
+ };
10562
+ getSetRecord = function(obj) {
10563
+ anObject2(obj);
10564
+ var numSize = +obj.size;
10565
+ if (numSize !== numSize) throw new $TypeError(INVALID_SIZE);
10566
+ var intSize = toIntegerOrInfinity2(numSize);
10567
+ if (intSize < 0) throw new $RangeError(INVALID_SIZE);
10568
+ return new SetRecord(obj, intSize);
10569
+ };
10570
+ return getSetRecord;
10571
+ }
10572
+ var setDifference;
10573
+ var hasRequiredSetDifference;
10574
+ function requireSetDifference() {
10575
+ if (hasRequiredSetDifference) return setDifference;
10576
+ hasRequiredSetDifference = 1;
10577
+ var aSet2 = requireASet();
10578
+ var SetHelpers = requireSetHelpers();
10579
+ var clone = requireSetClone();
10580
+ var size = requireSetSize();
10581
+ var getSetRecord2 = requireGetSetRecord();
10582
+ var iterateSet = requireSetIterate();
10583
+ var iterateSimple2 = requireIterateSimple();
10584
+ var has = SetHelpers.has;
10585
+ var remove = SetHelpers.remove;
10586
+ setDifference = function difference(other) {
10587
+ var O = aSet2(this);
10588
+ var otherRec = getSetRecord2(other);
10589
+ var result = clone(O);
10590
+ if (size(O) <= otherRec.size) iterateSet(O, function(e) {
10591
+ if (otherRec.includes(e)) remove(result, e);
10592
+ });
10593
+ else iterateSimple2(otherRec.getIterator(), function(e) {
10594
+ if (has(O, e)) remove(result, e);
10595
+ });
10596
+ return result;
10597
+ };
10598
+ return setDifference;
10599
+ }
10600
+ var setMethodAcceptSetLike;
10601
+ var hasRequiredSetMethodAcceptSetLike;
10602
+ function requireSetMethodAcceptSetLike() {
10603
+ if (hasRequiredSetMethodAcceptSetLike) return setMethodAcceptSetLike;
10604
+ hasRequiredSetMethodAcceptSetLike = 1;
10605
+ var getBuiltIn2 = requireGetBuiltIn();
10606
+ var createSetLike = function(size) {
10607
+ return {
10608
+ size,
10609
+ has: function() {
10610
+ return false;
10611
+ },
10612
+ keys: function() {
10613
+ return {
10614
+ next: function() {
10615
+ return {
10616
+ done: true
10617
+ };
10618
+ }
10619
+ };
10620
+ }
10621
+ };
10622
+ };
10623
+ var createSetLikeWithInfinitySize = function(size) {
10624
+ return {
10625
+ size,
10626
+ has: function() {
10627
+ return true;
10628
+ },
10629
+ keys: function() {
10630
+ throw new Error("e");
10631
+ }
10632
+ };
10633
+ };
10634
+ setMethodAcceptSetLike = function(name, callback) {
10635
+ var Set2 = getBuiltIn2("Set");
10636
+ try {
10637
+ new Set2()[name](createSetLike(0));
10638
+ try {
10639
+ new Set2()[name](createSetLike(-1));
10640
+ return false;
10641
+ } catch (error2) {
10642
+ if (!callback) return true;
10643
+ try {
10644
+ new Set2()[name](createSetLikeWithInfinitySize(-Infinity));
10645
+ return false;
10646
+ } catch (error) {
10647
+ var set = new Set2();
10648
+ set.add(1);
10649
+ set.add(2);
10650
+ return callback(set[name](createSetLikeWithInfinitySize(Infinity)));
10651
+ }
10652
+ }
10653
+ } catch (error) {
10654
+ return false;
10655
+ }
10656
+ };
10657
+ return setMethodAcceptSetLike;
10658
+ }
10659
+ var hasRequiredEs_set_difference_v2;
10660
+ function requireEs_set_difference_v2() {
10661
+ if (hasRequiredEs_set_difference_v2) return es_set_difference_v2;
10662
+ hasRequiredEs_set_difference_v2 = 1;
10663
+ var $ = require_export();
10664
+ var difference = requireSetDifference();
10665
+ var setMethodAcceptSetLike2 = requireSetMethodAcceptSetLike();
10666
+ var INCORRECT = !setMethodAcceptSetLike2("difference", function(result) {
10667
+ return result.size === 0;
10668
+ });
10669
+ $({
10670
+ target: "Set",
10671
+ proto: true,
10672
+ real: true,
10673
+ forced: INCORRECT
10674
+ }, {
10675
+ difference
10676
+ });
10677
+ return es_set_difference_v2;
10678
+ }
10679
+ requireEs_set_difference_v2();
10680
+ var es_set_intersection_v2 = {};
10681
+ var setIntersection;
10682
+ var hasRequiredSetIntersection;
10683
+ function requireSetIntersection() {
10684
+ if (hasRequiredSetIntersection) return setIntersection;
10685
+ hasRequiredSetIntersection = 1;
10686
+ var aSet2 = requireASet();
10687
+ var SetHelpers = requireSetHelpers();
10688
+ var size = requireSetSize();
10689
+ var getSetRecord2 = requireGetSetRecord();
10690
+ var iterateSet = requireSetIterate();
10691
+ var iterateSimple2 = requireIterateSimple();
10692
+ var Set2 = SetHelpers.Set;
10693
+ var add = SetHelpers.add;
10694
+ var has = SetHelpers.has;
10695
+ setIntersection = function intersection2(other) {
10696
+ var O = aSet2(this);
10697
+ var otherRec = getSetRecord2(other);
10698
+ var result = new Set2();
10699
+ if (size(O) > otherRec.size) {
10700
+ iterateSimple2(otherRec.getIterator(), function(e) {
10701
+ if (has(O, e)) add(result, e);
10702
+ });
10703
+ } else {
10704
+ iterateSet(O, function(e) {
10705
+ if (otherRec.includes(e)) add(result, e);
10706
+ });
10707
+ }
10708
+ return result;
10709
+ };
10710
+ return setIntersection;
10711
+ }
10712
+ var hasRequiredEs_set_intersection_v2;
10713
+ function requireEs_set_intersection_v2() {
10714
+ if (hasRequiredEs_set_intersection_v2) return es_set_intersection_v2;
10715
+ hasRequiredEs_set_intersection_v2 = 1;
10716
+ var $ = require_export();
10717
+ var fails2 = requireFails();
10718
+ var intersection2 = requireSetIntersection();
10719
+ var setMethodAcceptSetLike2 = requireSetMethodAcceptSetLike();
10720
+ var INCORRECT = !setMethodAcceptSetLike2("intersection", function(result) {
10721
+ return result.size === 2 && result.has(1) && result.has(2);
10722
+ }) || fails2(function() {
10723
+ return String(Array.from((/* @__PURE__ */ new Set([1, 2, 3])).intersection(/* @__PURE__ */ new Set([3, 2])))) !== "3,2";
10724
+ });
10725
+ $({
10726
+ target: "Set",
10727
+ proto: true,
10728
+ real: true,
10729
+ forced: INCORRECT
10730
+ }, {
10731
+ intersection: intersection2
10732
+ });
10733
+ return es_set_intersection_v2;
10734
+ }
10735
+ requireEs_set_intersection_v2();
10736
+ var es_set_isDisjointFrom_v2 = {};
10737
+ var setIsDisjointFrom;
10738
+ var hasRequiredSetIsDisjointFrom;
10739
+ function requireSetIsDisjointFrom() {
10740
+ if (hasRequiredSetIsDisjointFrom) return setIsDisjointFrom;
10741
+ hasRequiredSetIsDisjointFrom = 1;
10742
+ var aSet2 = requireASet();
10743
+ var has = requireSetHelpers().has;
10744
+ var size = requireSetSize();
10745
+ var getSetRecord2 = requireGetSetRecord();
10746
+ var iterateSet = requireSetIterate();
10747
+ var iterateSimple2 = requireIterateSimple();
10748
+ var iteratorClose2 = requireIteratorClose();
10749
+ setIsDisjointFrom = function isDisjointFrom(other) {
10750
+ var O = aSet2(this);
10751
+ var otherRec = getSetRecord2(other);
10752
+ if (size(O) <= otherRec.size) return iterateSet(O, function(e) {
10753
+ if (otherRec.includes(e)) return false;
10754
+ }, true) !== false;
10755
+ var iterator = otherRec.getIterator();
10756
+ return iterateSimple2(iterator, function(e) {
10757
+ if (has(O, e)) return iteratorClose2(iterator, "normal", false);
10758
+ }) !== false;
10759
+ };
10760
+ return setIsDisjointFrom;
10761
+ }
10762
+ var hasRequiredEs_set_isDisjointFrom_v2;
10763
+ function requireEs_set_isDisjointFrom_v2() {
10764
+ if (hasRequiredEs_set_isDisjointFrom_v2) return es_set_isDisjointFrom_v2;
10765
+ hasRequiredEs_set_isDisjointFrom_v2 = 1;
10766
+ var $ = require_export();
10767
+ var isDisjointFrom = requireSetIsDisjointFrom();
10768
+ var setMethodAcceptSetLike2 = requireSetMethodAcceptSetLike();
10769
+ var INCORRECT = !setMethodAcceptSetLike2("isDisjointFrom", function(result) {
10770
+ return !result;
10771
+ });
10772
+ $({
10773
+ target: "Set",
10774
+ proto: true,
10775
+ real: true,
10776
+ forced: INCORRECT
10777
+ }, {
10778
+ isDisjointFrom
10779
+ });
10780
+ return es_set_isDisjointFrom_v2;
10781
+ }
10782
+ requireEs_set_isDisjointFrom_v2();
10783
+ var es_set_isSubsetOf_v2 = {};
10784
+ var setIsSubsetOf;
10785
+ var hasRequiredSetIsSubsetOf;
10786
+ function requireSetIsSubsetOf() {
10787
+ if (hasRequiredSetIsSubsetOf) return setIsSubsetOf;
10788
+ hasRequiredSetIsSubsetOf = 1;
10789
+ var aSet2 = requireASet();
10790
+ var size = requireSetSize();
10791
+ var iterate2 = requireSetIterate();
10792
+ var getSetRecord2 = requireGetSetRecord();
10793
+ setIsSubsetOf = function isSubsetOf(other) {
10794
+ var O = aSet2(this);
10795
+ var otherRec = getSetRecord2(other);
10796
+ if (size(O) > otherRec.size) return false;
10797
+ return iterate2(O, function(e) {
10798
+ if (!otherRec.includes(e)) return false;
10799
+ }, true) !== false;
10800
+ };
10801
+ return setIsSubsetOf;
10802
+ }
10803
+ var hasRequiredEs_set_isSubsetOf_v2;
10804
+ function requireEs_set_isSubsetOf_v2() {
10805
+ if (hasRequiredEs_set_isSubsetOf_v2) return es_set_isSubsetOf_v2;
10806
+ hasRequiredEs_set_isSubsetOf_v2 = 1;
10807
+ var $ = require_export();
10808
+ var isSubsetOf = requireSetIsSubsetOf();
10809
+ var setMethodAcceptSetLike2 = requireSetMethodAcceptSetLike();
10810
+ var INCORRECT = !setMethodAcceptSetLike2("isSubsetOf", function(result) {
10811
+ return result;
10812
+ });
10813
+ $({
10814
+ target: "Set",
10815
+ proto: true,
10816
+ real: true,
10817
+ forced: INCORRECT
10818
+ }, {
10819
+ isSubsetOf
10820
+ });
10821
+ return es_set_isSubsetOf_v2;
10822
+ }
10823
+ requireEs_set_isSubsetOf_v2();
10824
+ var es_set_isSupersetOf_v2 = {};
10825
+ var setIsSupersetOf;
10826
+ var hasRequiredSetIsSupersetOf;
10827
+ function requireSetIsSupersetOf() {
10828
+ if (hasRequiredSetIsSupersetOf) return setIsSupersetOf;
10829
+ hasRequiredSetIsSupersetOf = 1;
10830
+ var aSet2 = requireASet();
10831
+ var has = requireSetHelpers().has;
10832
+ var size = requireSetSize();
10833
+ var getSetRecord2 = requireGetSetRecord();
10834
+ var iterateSimple2 = requireIterateSimple();
10835
+ var iteratorClose2 = requireIteratorClose();
10836
+ setIsSupersetOf = function isSupersetOf(other) {
10837
+ var O = aSet2(this);
10838
+ var otherRec = getSetRecord2(other);
10839
+ if (size(O) < otherRec.size) return false;
10840
+ var iterator = otherRec.getIterator();
10841
+ return iterateSimple2(iterator, function(e) {
10842
+ if (!has(O, e)) return iteratorClose2(iterator, "normal", false);
10843
+ }) !== false;
10844
+ };
10845
+ return setIsSupersetOf;
10846
+ }
10847
+ var hasRequiredEs_set_isSupersetOf_v2;
10848
+ function requireEs_set_isSupersetOf_v2() {
10849
+ if (hasRequiredEs_set_isSupersetOf_v2) return es_set_isSupersetOf_v2;
10850
+ hasRequiredEs_set_isSupersetOf_v2 = 1;
10851
+ var $ = require_export();
10852
+ var isSupersetOf = requireSetIsSupersetOf();
10853
+ var setMethodAcceptSetLike2 = requireSetMethodAcceptSetLike();
10854
+ var INCORRECT = !setMethodAcceptSetLike2("isSupersetOf", function(result) {
10855
+ return !result;
10856
+ });
10857
+ $({
10858
+ target: "Set",
10859
+ proto: true,
10860
+ real: true,
10861
+ forced: INCORRECT
10862
+ }, {
10863
+ isSupersetOf
10864
+ });
10865
+ return es_set_isSupersetOf_v2;
10866
+ }
10867
+ requireEs_set_isSupersetOf_v2();
10868
+ var es_set_symmetricDifference_v2 = {};
10869
+ var setSymmetricDifference;
10870
+ var hasRequiredSetSymmetricDifference;
10871
+ function requireSetSymmetricDifference() {
10872
+ if (hasRequiredSetSymmetricDifference) return setSymmetricDifference;
10873
+ hasRequiredSetSymmetricDifference = 1;
10874
+ var aSet2 = requireASet();
10875
+ var SetHelpers = requireSetHelpers();
10876
+ var clone = requireSetClone();
10877
+ var getSetRecord2 = requireGetSetRecord();
10878
+ var iterateSimple2 = requireIterateSimple();
10879
+ var add = SetHelpers.add;
10880
+ var has = SetHelpers.has;
10881
+ var remove = SetHelpers.remove;
10882
+ setSymmetricDifference = function symmetricDifference(other) {
10883
+ var O = aSet2(this);
10884
+ var keysIter = getSetRecord2(other).getIterator();
10885
+ var result = clone(O);
10886
+ iterateSimple2(keysIter, function(e) {
10887
+ if (has(O, e)) remove(result, e);
10888
+ else add(result, e);
10889
+ });
10890
+ return result;
10891
+ };
10892
+ return setSymmetricDifference;
10893
+ }
10894
+ var hasRequiredEs_set_symmetricDifference_v2;
10895
+ function requireEs_set_symmetricDifference_v2() {
10896
+ if (hasRequiredEs_set_symmetricDifference_v2) return es_set_symmetricDifference_v2;
10897
+ hasRequiredEs_set_symmetricDifference_v2 = 1;
10898
+ var $ = require_export();
10899
+ var symmetricDifference = requireSetSymmetricDifference();
10900
+ var setMethodAcceptSetLike2 = requireSetMethodAcceptSetLike();
10901
+ $({
10902
+ target: "Set",
10903
+ proto: true,
10904
+ real: true,
10905
+ forced: !setMethodAcceptSetLike2("symmetricDifference")
10906
+ }, {
10907
+ symmetricDifference
10908
+ });
10909
+ return es_set_symmetricDifference_v2;
10910
+ }
10911
+ requireEs_set_symmetricDifference_v2();
10912
+ var es_set_union_v2 = {};
10913
+ var setUnion;
10914
+ var hasRequiredSetUnion;
10915
+ function requireSetUnion() {
10916
+ if (hasRequiredSetUnion) return setUnion;
10917
+ hasRequiredSetUnion = 1;
10918
+ var aSet2 = requireASet();
10919
+ var add = requireSetHelpers().add;
10920
+ var clone = requireSetClone();
10921
+ var getSetRecord2 = requireGetSetRecord();
10922
+ var iterateSimple2 = requireIterateSimple();
10923
+ setUnion = function union(other) {
10924
+ var O = aSet2(this);
10925
+ var keysIter = getSetRecord2(other).getIterator();
10926
+ var result = clone(O);
10927
+ iterateSimple2(keysIter, function(it) {
10928
+ add(result, it);
10929
+ });
10930
+ return result;
10931
+ };
10932
+ return setUnion;
10933
+ }
10934
+ var hasRequiredEs_set_union_v2;
10935
+ function requireEs_set_union_v2() {
10936
+ if (hasRequiredEs_set_union_v2) return es_set_union_v2;
10937
+ hasRequiredEs_set_union_v2 = 1;
10938
+ var $ = require_export();
10939
+ var union = requireSetUnion();
10940
+ var setMethodAcceptSetLike2 = requireSetMethodAcceptSetLike();
10941
+ $({
10942
+ target: "Set",
10943
+ proto: true,
10944
+ real: true,
10945
+ forced: !setMethodAcceptSetLike2("union")
10946
+ }, {
10947
+ union
10948
+ });
10949
+ return es_set_union_v2;
10950
+ }
10951
+ requireEs_set_union_v2();
10952
+ const internalKey = Symbol("internal-key");
10953
+ let internalIndex = 0;
10954
+ function getInternalKey() {
10955
+ return internalKey;
10956
+ }
10957
+ function setInternalKey(item, value) {
10958
+ if (item[internalKey]) {
10959
+ return;
10960
+ }
10961
+ Object.defineProperty(item, internalKey, {
10962
+ value: value !== null && value !== void 0 ? value : String(internalIndex++),
10963
+ enumerable: false,
10964
+ writable: true
10965
+ });
10966
+ }
10967
+ function setInternalKeys(items, key, nestedKey, seenValues = /* @__PURE__ */ new Set()) {
10968
+ if (key === void 0) {
10969
+ return items.map((item) => {
10970
+ setInternalKey(item);
10971
+ if (nestedKey !== void 0) {
10972
+ const nestedItem = item[nestedKey];
10973
+ if (Array.isArray(nestedItem)) {
10974
+ setInternalKeys(nestedItem);
10975
+ }
10976
+ }
10977
+ return item;
10978
+ });
10979
+ }
10980
+ return items.map((item, index) => {
10981
+ const value = item[key];
10982
+ const keyString = String(key);
10983
+ const invalidValue = value === void 0 || value === null || String(value).length === 0;
10984
+ if (invalidValue) {
10985
+ throw new Error(`Key [${keyString}] is missing or has invalid value in item index ${index}`);
10986
+ }
10987
+ if (seenValues.has(value)) {
10988
+ throw new Error(`Expected each item to have key [${keyString}] with unique value but encountered duplicate of "${value}" in item index ${index}.`);
10989
+ }
10990
+ setInternalKey(item, String(value));
10991
+ seenValues.add(value);
10992
+ if (nestedKey !== void 0) {
10993
+ const nestedItem = item[nestedKey];
10994
+ if (Array.isArray(nestedItem)) {
10995
+ setInternalKeys(nestedItem, key, void 0, seenValues);
10996
+ }
10997
+ }
10998
+ return item;
10999
+ });
11000
+ }
10436
11001
  var FTableColumnType = /* @__PURE__ */ ((FTableColumnType2) => {
10437
11002
  FTableColumnType2["TEXT"] = "text";
10438
11003
  FTableColumnType2["DATE"] = "date";
@@ -10510,7 +11075,7 @@ function FTableInjected() {
10510
11075
  renderColumns: inject("renderColumns", false)
10511
11076
  };
10512
11077
  }
10513
- const _sfc_main$H = defineComponent({
11078
+ const _sfc_main$J = defineComponent({
10514
11079
  name: "FTableColumn",
10515
11080
  inheritAttrs: false,
10516
11081
  props: {
@@ -10663,7 +11228,7 @@ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
10663
11228
  _: 3
10664
11229
  }, 16, ["class", "scope"])) : createCommentVNode("", true);
10665
11230
  }
10666
- const FTableColumn = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["render", _sfc_render$q]]);
11231
+ const FTableColumn = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["render", _sfc_render$q]]);
10667
11232
  function FSortFilterDatasetInjected() {
10668
11233
  return {
10669
11234
  sort: inject("sort", () => void 0),
@@ -10671,7 +11236,7 @@ function FSortFilterDatasetInjected() {
10671
11236
  registerCallbackOnMount: inject("registerCallbackOnMount", () => void 0)
10672
11237
  };
10673
11238
  }
10674
- const _sfc_main$G = defineComponent({
11239
+ const _sfc_main$I = defineComponent({
10675
11240
  name: "FLabel",
10676
11241
  components: {
10677
11242
  FIcon
@@ -10710,10 +11275,10 @@ const _sfc_main$G = defineComponent({
10710
11275
  }
10711
11276
  }
10712
11277
  });
10713
- const _hoisted_1$v = {
11278
+ const _hoisted_1$x = {
10714
11279
  key: 0
10715
11280
  };
10716
- const _hoisted_2$n = {
11281
+ const _hoisted_2$o = {
10717
11282
  key: 0,
10718
11283
  ref: "tooltipAttachTo"
10719
11284
  };
@@ -10730,7 +11295,7 @@ const _hoisted_7$a = {
10730
11295
  };
10731
11296
  function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
10732
11297
  const _component_f_icon = resolveComponent("f-icon");
10733
- return _ctx.$slots.tooltip ? (openBlock(), createElementBlock("div", _hoisted_1$v, [_ctx.hasDefaultSlot ? (openBlock(), createElementBlock("div", _hoisted_2$n, [createElementVNode("label", {
11298
+ return _ctx.$slots.tooltip ? (openBlock(), createElementBlock("div", _hoisted_1$x, [_ctx.hasDefaultSlot ? (openBlock(), createElementBlock("div", _hoisted_2$o, [createElementVNode("label", {
10734
11299
  class: "label",
10735
11300
  for: _ctx.forProperty
10736
11301
  }, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_3$j)], 512)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "tooltip"), _cache[3] || (_cache[3] = createTextVNode()), _ctx.hasDescriptionSlot || _ctx.hasErrorMessageSlot ? (openBlock(), createElementBlock("label", {
@@ -10755,11 +11320,11 @@ function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
10755
11320
  name: "error"
10756
11321
  }), _cache[4] || (_cache[4] = createTextVNode()), renderSlot(_ctx.$slots, "error-message")])) : createCommentVNode("", true)], 8, _hoisted_6$b));
10757
11322
  }
10758
- const FLabel = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["render", _sfc_render$p]]);
11323
+ const FLabel = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["render", _sfc_render$p]]);
10759
11324
  function resolveWidthClass$1(words, inline) {
10760
11325
  return inline ? void 0 : words.split(" ").map((word) => `i-width-${word}`).join(" ");
10761
11326
  }
10762
- const _sfc_main$F = defineComponent({
11327
+ const _sfc_main$H = defineComponent({
10763
11328
  name: "FSelectField",
10764
11329
  components: {
10765
11330
  FIcon,
@@ -10890,7 +11455,7 @@ const _sfc_main$F = defineComponent({
10890
11455
  }
10891
11456
  }
10892
11457
  });
10893
- const _hoisted_1$u = ["id"];
11458
+ const _hoisted_1$w = ["id"];
10894
11459
  function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
10895
11460
  const _component_f_label = resolveComponent("f-label");
10896
11461
  const _component_f_icon = resolveComponent("f-icon");
@@ -10928,7 +11493,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
10928
11493
  id: _ctx.id,
10929
11494
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.vModel = $event),
10930
11495
  class: "select-field__select"
10931
- }, _ctx.attrs), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$u), [[vModelSelect, _ctx.vModel]]), _cache[5] || (_cache[5] = createTextVNode()), _ctx.hasError && _ctx.textFieldTableMode ? (openBlock(), createBlock(_component_f_icon, {
11496
+ }, _ctx.attrs), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$w), [[vModelSelect, _ctx.vModel]]), _cache[5] || (_cache[5] = createTextVNode()), _ctx.hasError && _ctx.textFieldTableMode ? (openBlock(), createBlock(_component_f_icon, {
10932
11497
  key: 0,
10933
11498
  ref: "icon",
10934
11499
  class: "text-field__icon input-icon select-field__error-popup-icon",
@@ -10938,7 +11503,7 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
10938
11503
  name: "arrow-down"
10939
11504
  })], 2)], 34);
10940
11505
  }
10941
- const FSelectField = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["render", _sfc_render$o]]);
11506
+ const FSelectField = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["render", _sfc_render$o]]);
10942
11507
  function resolveWidthClass(words, inline) {
10943
11508
  return inline ? void 0 : words.split(" ").map((word) => `i-width-${word}`).join(" ");
10944
11509
  }
@@ -10982,14 +11547,14 @@ function useTextFieldSetup(props) {
10982
11547
  closeDropdown
10983
11548
  };
10984
11549
  }
10985
- const _sfc_main$E = defineComponent({
11550
+ const _sfc_main$G = defineComponent({
10986
11551
  name: "FTextField",
10987
11552
  components: {
10988
11553
  FLabel,
10989
11554
  FIcon,
10990
11555
  IPopupError,
10991
- IComboboxDropdown: _sfc_main$P,
10992
- IComboboxToggleButton: _sfc_main$O
11556
+ IComboboxDropdown: _sfc_main$R,
11557
+ IComboboxToggleButton: _sfc_main$Q
10993
11558
  },
10994
11559
  inheritAttrs: false,
10995
11560
  props: {
@@ -11013,11 +11578,12 @@ const _sfc_main$E = defineComponent({
11013
11578
  },
11014
11579
  /**
11015
11580
  * The value for the input.
11016
- * If the prop is not set undefined will be used.
11581
+ * If the prop is not used or set to undefined
11582
+ * or null then the default value will be used.
11017
11583
  * @model
11018
11584
  */
11019
11585
  modelValue: {
11020
- type: [String, Number],
11586
+ type: [String, Number, null],
11021
11587
  required: false,
11022
11588
  default: ""
11023
11589
  },
@@ -11320,10 +11886,10 @@ const _sfc_main$E = defineComponent({
11320
11886
  }
11321
11887
  }
11322
11888
  });
11323
- const _hoisted_1$t = {
11889
+ const _hoisted_1$v = {
11324
11890
  key: 0
11325
11891
  };
11326
- const _hoisted_2$m = {
11892
+ const _hoisted_2$n = {
11327
11893
  key: 0,
11328
11894
  class: "sr-only"
11329
11895
  };
@@ -11357,7 +11923,7 @@ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
11357
11923
  for: _ctx.id,
11358
11924
  class: normalizeClass(_ctx.labelClass)
11359
11925
  }, createSlots({
11360
- default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [_ctx.defaultText !== "" ? (openBlock(), createElementBlock("span", _hoisted_1$t, toDisplayString(_ctx.defaultText), 1)) : createCommentVNode("", true)])]),
11926
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [_ctx.defaultText !== "" ? (openBlock(), createElementBlock("span", _hoisted_1$v, toDisplayString(_ctx.defaultText), 1)) : createCommentVNode("", true)])]),
11361
11927
  description: withCtx(({
11362
11928
  descriptionClass,
11363
11929
  formatDescriptionClass
@@ -11367,7 +11933,7 @@ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
11367
11933
  }, () => [_ctx.descriptionText ? (openBlock(), createElementBlock("span", {
11368
11934
  key: 0,
11369
11935
  class: normalizeClass(descriptionClass)
11370
- }, [_ctx.descriptionScreenReaderText ? (openBlock(), createElementBlock("span", _hoisted_2$m, toDisplayString(_ctx.descriptionScreenReaderText), 1)) : createCommentVNode("", true), _cache[7] || (_cache[7] = createTextVNode()), createElementVNode("span", null, toDisplayString(_ctx.descriptionText), 1)], 2)) : createCommentVNode("", true), _cache[9] || (_cache[9] = createTextVNode()), _ctx.discreteDescriptionText ? (openBlock(), createElementBlock("span", {
11936
+ }, [_ctx.descriptionScreenReaderText ? (openBlock(), createElementBlock("span", _hoisted_2$n, toDisplayString(_ctx.descriptionScreenReaderText), 1)) : createCommentVNode("", true), _cache[7] || (_cache[7] = createTextVNode()), createElementVNode("span", null, toDisplayString(_ctx.descriptionText), 1)], 2)) : createCommentVNode("", true), _cache[9] || (_cache[9] = createTextVNode()), _ctx.discreteDescriptionText ? (openBlock(), createElementBlock("span", {
11371
11937
  key: 1,
11372
11938
  class: normalizeClass(formatDescriptionClass)
11373
11939
  }, [_ctx.discreteDescriptionScreenReaderText ? (openBlock(), createElementBlock("span", _hoisted_3$i, toDisplayString(_ctx.discreteDescriptionScreenReaderText), 1)) : createCommentVNode("", true), _cache[8] || (_cache[8] = createTextVNode()), createElementVNode("span", null, toDisplayString(_ctx.discreteDescriptionText), 1)], 2)) : createCommentVNode("", true)])]),
@@ -11426,8 +11992,8 @@ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
11426
11992
  onClose: _ctx.onDropdownClose
11427
11993
  }, null, 8, ["id", "is-open", "options", "active-option", "active-option-id", "input-node", "onSelect", "onClose"])) : createCommentVNode("", true)], 2);
11428
11994
  }
11429
- const FTextField = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["render", _sfc_render$n]]);
11430
- const _sfc_main$D = defineComponent({
11995
+ const FTextField = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["render", _sfc_render$n]]);
11996
+ const _sfc_main$F = defineComponent({
11431
11997
  name: "FEmailTextField",
11432
11998
  components: {
11433
11999
  FTextField
@@ -11451,7 +12017,7 @@ const _sfc_main$D = defineComponent({
11451
12017
  * @model
11452
12018
  */
11453
12019
  modelValue: {
11454
- type: String,
12020
+ type: [String, null],
11455
12021
  required: false,
11456
12022
  default: void 0
11457
12023
  },
@@ -11543,7 +12109,7 @@ const _sfc_main$D = defineComponent({
11543
12109
  }
11544
12110
  }
11545
12111
  });
11546
- const _hoisted_1$s = {
12112
+ const _hoisted_1$u = {
11547
12113
  key: 0
11548
12114
  };
11549
12115
  function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
@@ -11560,7 +12126,7 @@ function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
11560
12126
  onValidity: _ctx.onValidity,
11561
12127
  onPendingValidity: _ctx.onPendingValidity
11562
12128
  }), {
11563
- "error-message": withCtx(() => [_ctx.showPasteErrorMessage ? (openBlock(), createElementBlock("span", _hoisted_1$s, toDisplayString(_ctx.pasteErrorText), 1)) : createCommentVNode("", true)]),
12129
+ "error-message": withCtx(() => [_ctx.showPasteErrorMessage ? (openBlock(), createElementBlock("span", _hoisted_1$u, toDisplayString(_ctx.pasteErrorText), 1)) : createCommentVNode("", true)]),
11564
12130
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.defaultText), 1)]), _cache[2] || (_cache[2] = createTextVNode())]),
11565
12131
  _: 3
11566
12132
  }, 16, ["id", "maxlength", "model-value", "onChange", "onBlur", "onUpdate:modelValue", "onValidity", "onPendingValidity"]), _cache[3] || (_cache[3] = createTextVNode()), _ctx.extendedValidation ? (openBlock(), createBlock(_component_f_text_field, {
@@ -11576,8 +12142,8 @@ function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
11576
12142
  _: 3
11577
12143
  }, 8, ["modelValue", "maxlength", "onPaste"])) : createCommentVNode("", true)]);
11578
12144
  }
11579
- const FEmailTextField = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["render", _sfc_render$m]]);
11580
- const _sfc_main$C = defineComponent({
12145
+ const FEmailTextField = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["render", _sfc_render$m]]);
12146
+ const _sfc_main$E = defineComponent({
11581
12147
  name: "FPhoneTextField",
11582
12148
  components: {
11583
12149
  FTextField
@@ -11597,11 +12163,12 @@ const _sfc_main$C = defineComponent({
11597
12163
  },
11598
12164
  /**
11599
12165
  * The value for the input.
11600
- * If the prop is not set undefined will be used.
12166
+ * If the prop is not used or set to undefined
12167
+ * or null then the default value will be used.
11601
12168
  * @model
11602
12169
  */
11603
12170
  modelValue: {
11604
- type: String,
12171
+ type: [String, null],
11605
12172
  required: false,
11606
12173
  default: void 0
11607
12174
  },
@@ -11704,8 +12271,8 @@ function _sfc_render$l(_ctx, _cache, $props, $setup, $data, $options) {
11704
12271
  _: 3
11705
12272
  }, 8, ["modelValue", "maxlength"])) : createCommentVNode("", true)]);
11706
12273
  }
11707
- const FPhoneTextField = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["render", _sfc_render$l]]);
11708
- const _sfc_main$B = defineComponent({
12274
+ const FPhoneTextField = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["render", _sfc_render$l]]);
12275
+ const _sfc_main$D = defineComponent({
11709
12276
  name: "FCurrencyTextField",
11710
12277
  extends: FTextField,
11711
12278
  mixins: [TranslationMixin],
@@ -11740,7 +12307,7 @@ const _sfc_main$B = defineComponent({
11740
12307
  ValidationService.validateElement(inputElement);
11741
12308
  }
11742
12309
  });
11743
- const _sfc_main$A = defineComponent({
12310
+ const _sfc_main$C = defineComponent({
11744
12311
  name: "FSearchTextField",
11745
12312
  components: {
11746
12313
  FTextField,
@@ -11753,7 +12320,7 @@ const _sfc_main$A = defineComponent({
11753
12320
  default: () => ElementIdService.generateElementId()
11754
12321
  },
11755
12322
  modelValue: {
11756
- type: String,
12323
+ type: [String, null],
11757
12324
  required: false,
11758
12325
  default: ""
11759
12326
  },
@@ -11775,7 +12342,8 @@ const _sfc_main$A = defineComponent({
11775
12342
  },
11776
12343
  computed: {
11777
12344
  canClear() {
11778
- return this.modelValue !== "";
12345
+ const isEmpty2 = this.modelValue === void 0 || this.modelValue === null || this.modelValue === "";
12346
+ return !isEmpty2;
11779
12347
  }
11780
12348
  },
11781
12349
  methods: {
@@ -11800,7 +12368,7 @@ const _sfc_main$A = defineComponent({
11800
12368
  }
11801
12369
  }
11802
12370
  });
11803
- const _hoisted_1$r = {
12371
+ const _hoisted_1$t = {
11804
12372
  class: "sr-only"
11805
12373
  };
11806
12374
  function _sfc_render$k(_ctx, _cache, $props, $setup, $data, $options) {
@@ -11849,12 +12417,12 @@ function _sfc_render$k(_ctx, _cache, $props, $setup, $data, $options) {
11849
12417
  }, [createVNode(_component_f_icon, {
11850
12418
  name: "cross",
11851
12419
  class: "clear-button__icon"
11852
- }), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("span", _hoisted_1$r, toDisplayString(_ctx.clearableScreenReaderText), 1)])]),
12420
+ }), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("span", _hoisted_1$t, toDisplayString(_ctx.clearableScreenReaderText), 1)])]),
11853
12421
  key: "1"
11854
12422
  } : void 0]), 1040, ["id", "maxlength", "model-value", "onChange", "onInput", "onBlur", "onUpdate"])]);
11855
12423
  }
11856
- const FSearchTextField = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["render", _sfc_render$k]]);
11857
- const _sfc_main$z = defineComponent({
12424
+ const FSearchTextField = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["render", _sfc_render$k]]);
12425
+ const _sfc_main$B = defineComponent({
11858
12426
  name: "FBankAccountNumberTextField",
11859
12427
  extends: FTextField,
11860
12428
  mixins: [TranslationMixin],
@@ -11883,7 +12451,7 @@ const _sfc_main$z = defineComponent({
11883
12451
  ValidationService.validateElement(inputElement);
11884
12452
  }
11885
12453
  });
11886
- const _sfc_main$y = defineComponent({
12454
+ const _sfc_main$A = defineComponent({
11887
12455
  name: "FBankgiroTextField",
11888
12456
  extends: FTextField,
11889
12457
  mixins: [TranslationMixin],
@@ -11915,7 +12483,7 @@ const _sfc_main$y = defineComponent({
11915
12483
  ValidationService.validateElement(inputElement);
11916
12484
  }
11917
12485
  });
11918
- const _sfc_main$x = defineComponent({
12486
+ const _sfc_main$z = defineComponent({
11919
12487
  name: "FClearingnumberTextField",
11920
12488
  extends: FTextField,
11921
12489
  mixins: [TranslationMixin],
@@ -11947,7 +12515,7 @@ const _sfc_main$x = defineComponent({
11947
12515
  function defaultFormatter$1(modelValue) {
11948
12516
  return formatNumber(modelValue, this.decimals);
11949
12517
  }
11950
- const _sfc_main$w = defineComponent({
12518
+ const _sfc_main$y = defineComponent({
11951
12519
  name: "FNumericTextField",
11952
12520
  extends: FTextField,
11953
12521
  props: {
@@ -11984,7 +12552,7 @@ const _sfc_main$w = defineComponent({
11984
12552
  ValidationService.validateElement(inputElement);
11985
12553
  }
11986
12554
  });
11987
- const _sfc_main$v = defineComponent({
12555
+ const _sfc_main$x = defineComponent({
11988
12556
  name: "FPersonnummerTextField",
11989
12557
  extends: FTextField,
11990
12558
  mixins: [TranslationMixin],
@@ -12024,7 +12592,7 @@ const _sfc_main$v = defineComponent({
12024
12592
  ValidationService.validateElement(inputElement);
12025
12593
  }
12026
12594
  });
12027
- const _sfc_main$u = defineComponent({
12595
+ const _sfc_main$w = defineComponent({
12028
12596
  name: "FPlusgiroTextField",
12029
12597
  extends: FTextField,
12030
12598
  mixins: [TranslationMixin],
@@ -12056,7 +12624,7 @@ const _sfc_main$u = defineComponent({
12056
12624
  ValidationService.validateElement(inputElement);
12057
12625
  }
12058
12626
  });
12059
- const _sfc_main$t = defineComponent({
12627
+ const _sfc_main$v = defineComponent({
12060
12628
  name: "FPostalCodeTextField",
12061
12629
  extends: FTextField,
12062
12630
  mixins: [TranslationMixin],
@@ -12093,7 +12661,7 @@ const _sfc_main$t = defineComponent({
12093
12661
  function defaultFormatter(modelValue) {
12094
12662
  return formatPercent(modelValue, this.decimals);
12095
12663
  }
12096
- const _sfc_main$s = defineComponent({
12664
+ const _sfc_main$u = defineComponent({
12097
12665
  name: "FPercentTextField",
12098
12666
  extends: FTextField,
12099
12667
  mixins: [TranslationMixin],
@@ -12141,7 +12709,7 @@ const _sfc_main$s = defineComponent({
12141
12709
  ValidationService.validateElement(inputElement);
12142
12710
  }
12143
12711
  });
12144
- const _sfc_main$r = defineComponent({
12712
+ const _sfc_main$t = defineComponent({
12145
12713
  name: "FOrganisationsnummerTextField",
12146
12714
  extends: FTextField,
12147
12715
  mixins: [TranslationMixin],
@@ -12249,10 +12817,10 @@ function filter(list, filterAttributes, searchString) {
12249
12817
  const searchTerms = searchString.split(/\s+/).map((word) => word.toLocaleLowerCase());
12250
12818
  return list.filter((item) => includesAllSearchTerms(item, filterAttributes, searchTerms));
12251
12819
  }
12252
- const _hoisted_1$q = {
12820
+ const _hoisted_1$s = {
12253
12821
  class: "sort-filter-dataset"
12254
12822
  };
12255
- const _hoisted_2$l = {
12823
+ const _hoisted_2$m = {
12256
12824
  class: "sort-filter-dataset__search"
12257
12825
  };
12258
12826
  const _hoisted_3$h = {
@@ -12269,7 +12837,7 @@ const _hoisted_6$9 = {
12269
12837
  }
12270
12838
  };
12271
12839
  const _hoisted_7$8 = ["value"];
12272
- const _sfc_main$q = /* @__PURE__ */ defineComponent({
12840
+ const _sfc_main$s = /* @__PURE__ */ defineComponent({
12273
12841
  __name: "FSortFilterDataset",
12274
12842
  props: {
12275
12843
  /**
@@ -12455,7 +13023,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
12455
13023
  }
12456
13024
  }
12457
13025
  return (_ctx, _cache) => {
12458
- return openBlock(), createElementBlock("div", _hoisted_1$q, [createVNode(unref(IFlex), {
13026
+ return openBlock(), createElementBlock("div", _hoisted_1$s, [createVNode(unref(IFlex), {
12459
13027
  collapse: "",
12460
13028
  gap: "3x",
12461
13029
  wrap: ""
@@ -12480,7 +13048,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
12480
13048
  shrink: "",
12481
13049
  align: "center"
12482
13050
  }, {
12483
- default: withCtx(() => [createElementVNode("div", _hoisted_2$l, [createVNode(unref(FIcon), {
13051
+ default: withCtx(() => [createElementVNode("div", _hoisted_2$m, [createVNode(unref(FIcon), {
12484
13052
  name: "search",
12485
13053
  class: "sort-filter-dataset__search__magnify-icon"
12486
13054
  }), _cache[3] || (_cache[3] = createTextVNode()), createVNode(unref(FTextField), {
@@ -12538,8 +13106,8 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
12538
13106
  };
12539
13107
  }
12540
13108
  });
12541
- const _hoisted_1$p = ["tabindex"];
12542
- const _hoisted_2$k = {
13109
+ const _hoisted_1$r = ["tabindex"];
13110
+ const _hoisted_2$l = {
12543
13111
  key: 0
12544
13112
  };
12545
13113
  const _hoisted_3$g = {
@@ -12557,7 +13125,7 @@ const _hoisted_7$7 = {
12557
13125
  key: 1
12558
13126
  };
12559
13127
  const _hoisted_8$5 = ["colspan"];
12560
- const _sfc_main$p = /* @__PURE__ */ defineComponent({
13128
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
12561
13129
  ...{
12562
13130
  inheritAttrs: false
12563
13131
  },
@@ -12576,7 +13144,8 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
12576
13144
  */
12577
13145
  keyAttribute: {
12578
13146
  type: String,
12579
- required: true
13147
+ required: false,
13148
+ default: void 0
12580
13149
  },
12581
13150
  /**
12582
13151
  * If `true` alternating rows will use a different background color.
@@ -12614,6 +13183,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
12614
13183
  registerCallbackOnSort,
12615
13184
  registerCallbackOnMount
12616
13185
  } = FSortFilterDatasetInjected();
13186
+ const internalKey2 = getInternalKey();
12617
13187
  const columns = ref([]);
12618
13188
  const props = __props;
12619
13189
  const hasCaption = computed(() => {
@@ -12629,7 +13199,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
12629
13199
  return classes;
12630
13200
  });
12631
13201
  const isEmpty2 = computed(() => {
12632
- return props.rows.length === 0;
13202
+ return internalRows.value.length === 0;
12633
13203
  });
12634
13204
  const visibleColumns = computed(() => {
12635
13205
  return columns.value.filter((col) => col.visible);
@@ -12640,6 +13210,15 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
12640
13210
  const tabindex = computed(() => {
12641
13211
  return props.scroll !== TableScroll.NONE ? 0 : void 0;
12642
13212
  });
13213
+ const internalRows = computed(() => {
13214
+ const {
13215
+ keyAttribute
13216
+ } = props;
13217
+ if (keyAttribute) {
13218
+ return setInternalKeys(props.rows, keyAttribute);
13219
+ }
13220
+ return setInternalKeys(props.rows);
13221
+ });
12643
13222
  provide("addColumn", (column) => {
12644
13223
  if (column.type === FTableColumnType.ACTION) {
12645
13224
  throw new Error("Cannot use action column in FDataTable component");
@@ -12651,18 +13230,14 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
12651
13230
  });
12652
13231
  provide("textFieldTableMode", true);
12653
13232
  provide("renderColumns", computed(() => {
12654
- return props.rows.length > 0;
13233
+ return internalRows.value.length > 0;
12655
13234
  }));
12656
13235
  onMounted(() => {
12657
13236
  registerCallbackOnSort(callbackOnSort);
12658
13237
  registerCallbackOnMount(callbackSortableColumns);
12659
13238
  });
12660
13239
  function rowKey(item) {
12661
- const key = item[props.keyAttribute];
12662
- if (typeof key === "undefined") {
12663
- throw new Error(`Key attribute [${props.keyAttribute}]' is missing in row`);
12664
- }
12665
- return String(key);
13240
+ return String(item[internalKey2]);
12666
13241
  }
12667
13242
  function columnClasses(column) {
12668
13243
  const classes = ["table__column", `table__column--${column.type}`, column.size];
@@ -12703,7 +13278,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
12703
13278
  }, [createElementVNode("table", mergeProps({
12704
13279
  class: ["table", tableClasses.value],
12705
13280
  tabindex: tabindex.value
12706
- }, _ctx.$attrs), [hasCaption.value ? (openBlock(), createElementBlock("caption", _hoisted_2$k, [renderSlot(_ctx.$slots, "caption")])) : createCommentVNode("", true), _cache[4] || (_cache[4] = createTextVNode()), createElementVNode("colgroup", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(columns.value, (column) => {
13281
+ }, _ctx.$attrs), [hasCaption.value ? (openBlock(), createElementBlock("caption", _hoisted_2$l, [renderSlot(_ctx.$slots, "caption")])) : createCommentVNode("", true), _cache[4] || (_cache[4] = createTextVNode()), createElementVNode("colgroup", null, [(openBlock(true), createElementBlock(Fragment, null, renderList(columns.value, (column) => {
12707
13282
  return openBlock(), createElementBlock("col", {
12708
13283
  key: column.id,
12709
13284
  class: normalizeClass(column.size)
@@ -12727,7 +13302,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
12727
13302
  })))])) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), isEmpty2.value ? (openBlock(), createElementBlock("tr", _hoisted_7$7, [createElementVNode("td", {
12728
13303
  class: "table__column table__column--action",
12729
13304
  colspan: columns.value.length
12730
- }, [renderSlot(_ctx.$slots, "empty", {}, () => [createTextVNode(toDisplayString(unref($t2)("fkui.data-table.empty", "Tabellen är tom")), 1)])], 8, _hoisted_8$5)])) : createCommentVNode("", true), _cache[3] || (_cache[3] = createTextVNode()), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.rows, (row) => {
13305
+ }, [renderSlot(_ctx.$slots, "empty", {}, () => [createTextVNode(toDisplayString(unref($t2)("fkui.data-table.empty", "Tabellen är tom")), 1)])], 8, _hoisted_8$5)])) : createCommentVNode("", true), _cache[3] || (_cache[3] = createTextVNode()), (openBlock(true), createElementBlock(Fragment, null, renderList(internalRows.value, (row) => {
12731
13306
  return openBlock(), createElementBlock("tr", {
12732
13307
  key: rowKey(row),
12733
13308
  class: "table__row"
@@ -12736,7 +13311,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
12736
13311
  }, {
12737
13312
  row
12738
13313
  }))]);
12739
- }), 128))])], 16, _hoisted_1$p)], 2);
13314
+ }), 128))])], 16, _hoisted_1$r)], 2);
12740
13315
  };
12741
13316
  }
12742
13317
  });
@@ -12815,7 +13390,7 @@ function getDisplayMonth(minDate, maxDate, selectedDate, initialMonth) {
12815
13390
  }
12816
13391
  return month || FDate.now().startOfMonth();
12817
13392
  }
12818
- const _sfc_main$o = defineComponent({
13393
+ const _sfc_main$q = defineComponent({
12819
13394
  name: "FDatepickerField",
12820
13395
  components: {
12821
13396
  FCalendar,
@@ -13073,11 +13648,11 @@ const _sfc_main$o = defineComponent({
13073
13648
  }
13074
13649
  }
13075
13650
  });
13076
- const _hoisted_1$o = {
13651
+ const _hoisted_1$q = {
13077
13652
  ref: "component",
13078
13653
  class: "datepicker-field"
13079
13654
  };
13080
- const _hoisted_2$j = ["disabled", "aria-expanded"];
13655
+ const _hoisted_2$k = ["disabled", "aria-expanded"];
13081
13656
  const _hoisted_3$f = {
13082
13657
  class: "sr-only"
13083
13658
  };
@@ -13090,7 +13665,7 @@ function _sfc_render$j(_ctx, _cache, $props, $setup, $data, $options) {
13090
13665
  const _component_f_calendar_day = resolveComponent("f-calendar-day");
13091
13666
  const _component_f_calendar = resolveComponent("f-calendar");
13092
13667
  const _component_i_popup = resolveComponent("i-popup");
13093
- return openBlock(), createElementBlock("div", _hoisted_1$o, [createElementVNode("div", {
13668
+ return openBlock(), createElementBlock("div", _hoisted_1$q, [createElementVNode("div", {
13094
13669
  ref: "calendarInputs",
13095
13670
  onFocusout: _cache[2] || (_cache[2] = (...args) => _ctx.onFocusoutTextFieldButton && _ctx.onFocusoutTextFieldButton(...args))
13096
13671
  }, [createVNode(_component_f_text_field, mergeProps(_ctx.$attrs, {
@@ -13129,7 +13704,7 @@ function _sfc_render$j(_ctx, _cache, $props, $setup, $data, $options) {
13129
13704
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.onClickCalendarButton())
13130
13705
  }, [createVNode(_component_f_icon, {
13131
13706
  name: "calendar"
13132
- }), _cache[6] || (_cache[6] = createTextVNode()), createElementVNode("span", _hoisted_3$f, toDisplayString(_ctx.calendarButtonText), 1)], 8, _hoisted_2$j)]),
13707
+ }), _cache[6] || (_cache[6] = createTextVNode()), createElementVNode("span", _hoisted_3$f, toDisplayString(_ctx.calendarButtonText), 1)], 8, _hoisted_2$k)]),
13133
13708
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.datepicker-field.label", "Datum")), 1)]), _cache[7] || (_cache[7] = createTextVNode()), _cache[8] || (_cache[8] = createTextVNode()), _cache[9] || (_cache[9] = createTextVNode()), _cache[10] || (_cache[10] = createTextVNode())]),
13134
13709
  _: 2
13135
13710
  }, [_ctx.$slots.tooltip ? {
@@ -13180,11 +13755,11 @@ function _sfc_render$j(_ctx, _cache, $props, $setup, $data, $options) {
13180
13755
  _: 1
13181
13756
  }, 8, ["is-open", "anchor", "inline", "onOpen", "onClose"])], 512);
13182
13757
  }
13183
- const FDatepickerField = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$j]]);
13758
+ const FDatepickerField = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["render", _sfc_render$j]]);
13184
13759
  function isDialogueTreeEndQuestion(value) {
13185
13760
  return Boolean(value.userData);
13186
13761
  }
13187
- const _sfc_main$n = defineComponent({
13762
+ const _sfc_main$p = defineComponent({
13188
13763
  name: "FDialogueTree",
13189
13764
  components: {
13190
13765
  FIcon
@@ -13262,17 +13837,17 @@ const _sfc_main$n = defineComponent({
13262
13837
  }
13263
13838
  }
13264
13839
  });
13265
- const _hoisted_1$n = {
13840
+ const _hoisted_1$p = {
13266
13841
  class: "dialogue-tree"
13267
13842
  };
13268
- const _hoisted_2$i = {
13843
+ const _hoisted_2$j = {
13269
13844
  key: 0,
13270
13845
  class: "dialogue-tree__list"
13271
13846
  };
13272
13847
  const _hoisted_3$e = ["onClick"];
13273
13848
  function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {
13274
13849
  const _component_f_icon = resolveComponent("f-icon");
13275
- return openBlock(), createElementBlock("div", _hoisted_1$n, [_ctx.options.length > 0 ? (openBlock(), createElementBlock("ul", _hoisted_2$i, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.options, (option, index) => {
13850
+ return openBlock(), createElementBlock("div", _hoisted_1$p, [_ctx.options.length > 0 ? (openBlock(), createElementBlock("ul", _hoisted_2$j, [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.options, (option, index) => {
13276
13851
  return openBlock(), createElementBlock("li", {
13277
13852
  key: option.label,
13278
13853
  class: "dialogue-tree__list-item"
@@ -13290,8 +13865,8 @@ function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {
13290
13865
  userData: _ctx.userData
13291
13866
  })))]);
13292
13867
  }
13293
- const FDialogueTree = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$i]]);
13294
- const _sfc_main$m = defineComponent({
13868
+ const FDialogueTree = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render$i]]);
13869
+ const _sfc_main$o = defineComponent({
13295
13870
  name: "FExpandablePanel",
13296
13871
  components: {
13297
13872
  FIcon,
@@ -13365,8 +13940,8 @@ const _sfc_main$m = defineComponent({
13365
13940
  }
13366
13941
  }
13367
13942
  });
13368
- const _hoisted_1$m = ["aria-expanded", "aria-controls"];
13369
- const _hoisted_2$h = {
13943
+ const _hoisted_1$o = ["aria-expanded", "aria-controls"];
13944
+ const _hoisted_2$i = {
13370
13945
  class: "expandable-panel__icon"
13371
13946
  };
13372
13947
  const _hoisted_3$d = {
@@ -13398,7 +13973,7 @@ function _sfc_render$h(_ctx, _cache, $props, $setup, $data, $options) {
13398
13973
  "aria-controls": _ctx.id
13399
13974
  }, _ctx.$attrs, {
13400
13975
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClickHeadingButton && _ctx.onClickHeadingButton(...args))
13401
- }), [createElementVNode("span", _hoisted_2$h, [createElementVNode("span", _hoisted_3$d, [createVNode(_component_f_icon, {
13976
+ }), [createElementVNode("span", _hoisted_2$i, [createElementVNode("span", _hoisted_3$d, [createVNode(_component_f_icon, {
13402
13977
  name: "dash"
13403
13978
  }), _cache[1] || (_cache[1] = createTextVNode()), createVNode(_component_f_icon, {
13404
13979
  name: "dash"
@@ -13411,7 +13986,7 @@ function _sfc_render$h(_ctx, _cache, $props, $setup, $data, $options) {
13411
13986
  })
13412
13987
  }, [createElementVNode("span", _hoisted_5$9, toDisplayString(_ctx.screenReaderNotificationText), 1), _cache[2] || (_cache[2] = createTextVNode()), createVNode(_component_f_icon, {
13413
13988
  name: "bell"
13414
- })], 8, _hoisted_4$b)) : createCommentVNode("", true)], 16, _hoisted_1$m)]),
13989
+ })], 8, _hoisted_4$b)) : createCommentVNode("", true)], 16, _hoisted_1$o)]),
13415
13990
  _: 3
13416
13991
  })), _cache[6] || (_cache[6] = createTextVNode()), createVNode(_component_f_expand, null, {
13417
13992
  default: withCtx(() => [withDirectives(createElementVNode("div", {
@@ -13421,8 +13996,8 @@ function _sfc_render$h(_ctx, _cache, $props, $setup, $data, $options) {
13421
13996
  _: 3
13422
13997
  })], 2);
13423
13998
  }
13424
- const FExpandablePanel = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$h]]);
13425
- const _sfc_main$l = defineComponent({
13999
+ const FExpandablePanel = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$h]]);
14000
+ const _sfc_main$n = defineComponent({
13426
14001
  name: "FExpandableParagraph",
13427
14002
  components: {
13428
14003
  FIcon,
@@ -13504,8 +14079,8 @@ const _sfc_main$l = defineComponent({
13504
14079
  }
13505
14080
  }
13506
14081
  });
13507
- const _hoisted_1$l = ["aria-expanded", "aria-controls"];
13508
- const _hoisted_2$g = {
14082
+ const _hoisted_1$n = ["aria-expanded", "aria-controls"];
14083
+ const _hoisted_2$h = {
13509
14084
  class: "expandable-paragraph__icon"
13510
14085
  };
13511
14086
  const _hoisted_3$c = {
@@ -13540,11 +14115,11 @@ function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {
13540
14115
  "aria-controls": _ctx.id
13541
14116
  }, _ctx.$attrs, {
13542
14117
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClickMinimize && _ctx.onClickMinimize(...args))
13543
- }), [createElementVNode("span", _hoisted_2$g, [createElementVNode("span", _hoisted_3$c, [createVNode(_component_f_icon, {
14118
+ }), [createElementVNode("span", _hoisted_2$h, [createElementVNode("span", _hoisted_3$c, [createVNode(_component_f_icon, {
13544
14119
  name: "dash"
13545
14120
  }), _cache[1] || (_cache[1] = createTextVNode()), createVNode(_component_f_icon, {
13546
14121
  name: "dash"
13547
- })])]), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "title")], 16, _hoisted_1$l)]),
14122
+ })])]), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "title")], 16, _hoisted_1$n)]),
13548
14123
  _: 3
13549
14124
  }, 8, ["class"])), _cache[3] || (_cache[3] = createTextVNode()), _ctx.hasRelatedSlot ? (openBlock(), createElementBlock("div", _hoisted_4$a, [renderSlot(_ctx.$slots, "related")])) : createCommentVNode("", true)], 2), _cache[5] || (_cache[5] = createTextVNode()), createVNode(_component_f_expand, null, {
13550
14125
  default: withCtx(() => [withDirectives(createElementVNode("div", {
@@ -13554,7 +14129,7 @@ function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {
13554
14129
  _: 3
13555
14130
  })], 2);
13556
14131
  }
13557
- const FExpandableParagraph = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$g]]);
14132
+ const FExpandableParagraph = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$g]]);
13558
14133
  const DEFAULT_ICON = "file";
13559
14134
  const iconMap = {
13560
14135
  "image/*": "pic",
@@ -13563,7 +14138,7 @@ const iconMap = {
13563
14138
  "application/vnd.openxmlformats-officedocument.wordprocessingml.document": "doc",
13564
14139
  "application/vnd.openxmlformats-officedocument.wordprocessingml.template": "doc"
13565
14140
  };
13566
- const _sfc_main$k = defineComponent({
14141
+ const _sfc_main$m = defineComponent({
13567
14142
  name: "FFileItem",
13568
14143
  components: {
13569
14144
  FIcon
@@ -13642,10 +14217,10 @@ const _sfc_main$k = defineComponent({
13642
14217
  }
13643
14218
  }
13644
14219
  });
13645
- const _hoisted_1$k = {
14220
+ const _hoisted_1$m = {
13646
14221
  class: "file-item"
13647
14222
  };
13648
- const _hoisted_2$f = {
14223
+ const _hoisted_2$g = {
13649
14224
  class: "file-item__row"
13650
14225
  };
13651
14226
  const _hoisted_3$b = ["id"];
@@ -13664,7 +14239,7 @@ const _hoisted_7$4 = {
13664
14239
  };
13665
14240
  function _sfc_render$f(_ctx, _cache, $props, $setup, $data, $options) {
13666
14241
  const _component_f_icon = resolveComponent("f-icon");
13667
- return openBlock(), createElementBlock("div", _hoisted_1$k, [createElementVNode("div", _hoisted_2$f, [createElementVNode("a", mergeProps({
14242
+ return openBlock(), createElementBlock("div", _hoisted_1$m, [createElementVNode("div", _hoisted_2$g, [createElementVNode("a", mergeProps({
13668
14243
  id: _ctx.id,
13669
14244
  class: "file-item__file-open"
13670
14245
  }, _ctx.$attrs), [createElementVNode("div", _hoisted_4$9, [createVNode(_component_f_icon, {
@@ -13675,8 +14250,8 @@ function _sfc_render$f(_ctx, _cache, $props, $setup, $data, $options) {
13675
14250
  class: "file-item__separator"
13676
14251
  }, null, -1))]);
13677
14252
  }
13678
- const FFileItem = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["render", _sfc_render$f]]);
13679
- const _sfc_main$j = defineComponent({
14253
+ const FFileItem = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$f]]);
14254
+ const _sfc_main$l = defineComponent({
13680
14255
  name: "FFileSelector",
13681
14256
  components: {
13682
14257
  FIcon
@@ -13737,14 +14312,14 @@ const _sfc_main$j = defineComponent({
13737
14312
  }
13738
14313
  }
13739
14314
  });
13740
- const _hoisted_1$j = {
14315
+ const _hoisted_1$l = {
13741
14316
  class: "file-selector"
13742
14317
  };
13743
- const _hoisted_2$e = ["id", "aria-labelledby", "aria-disabled"];
14318
+ const _hoisted_2$f = ["id", "aria-labelledby", "aria-disabled"];
13744
14319
  const _hoisted_3$a = ["id", "for"];
13745
14320
  function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {
13746
14321
  const _component_f_icon = resolveComponent("f-icon");
13747
- return openBlock(), createElementBlock("div", _hoisted_1$j, [createElementVNode("input", mergeProps({
14322
+ return openBlock(), createElementBlock("div", _hoisted_1$l, [createElementVNode("input", mergeProps({
13748
14323
  id: _ctx.id,
13749
14324
  ref: "file-selector",
13750
14325
  type: "file",
@@ -13752,7 +14327,7 @@ function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {
13752
14327
  "aria-disabled": _ctx.ariaDisabled ? "true" : void 0
13753
14328
  }, _ctx.attrs, {
13754
14329
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
13755
- }), null, 16, _hoisted_2$e), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("label", {
14330
+ }), null, 16, _hoisted_2$f), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("label", {
13756
14331
  id: _ctx.labelId,
13757
14332
  role: "button",
13758
14333
  class: normalizeClass([_ctx.labelClass, "button button--tertiary button--medium"]),
@@ -13763,7 +14338,7 @@ function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {
13763
14338
  name: "paper-clip"
13764
14339
  }), _cache[1] || (_cache[1] = createTextVNode()), renderSlot(_ctx.$slots, "default")], 10, _hoisted_3$a)]);
13765
14340
  }
13766
- const FFileSelector = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["render", _sfc_render$e]]);
14341
+ const FFileSelector = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$e]]);
13767
14342
  const keybindings = {
13768
14343
  Up: focusTrAbove,
13769
14344
  Down: focusTrBelow,
@@ -13849,11 +14424,14 @@ function useExpandableTable(expandableAttribute, keyAttribute, describedby, emit
13849
14424
  }
13850
14425
  function expandableRows(row) {
13851
14426
  const expandableRows2 = row[expandableAttribute];
13852
- if (typeof expandableRows2 === "undefined") {
14427
+ if (expandableRows2 === void 0 || expandableRows2 === null) {
13853
14428
  return void 0;
13854
14429
  }
13855
14430
  if (!Array.isArray(expandableRows2)) {
13856
- throw new Error(`Expandable rows must be a ListArray`);
14431
+ throw new Error(`Expandable rows must be an array`);
14432
+ }
14433
+ if (expandableRows2.length === 0) {
14434
+ return void 0;
13857
14435
  }
13858
14436
  return expandableRows2;
13859
14437
  }
@@ -13872,8 +14450,8 @@ function useExpandableTable(expandableAttribute, keyAttribute, describedby, emit
13872
14450
  hasExpandableContent
13873
14451
  };
13874
14452
  }
13875
- const _hoisted_1$i = ["role"];
13876
- const _hoisted_2$d = {
14453
+ const _hoisted_1$k = ["role"];
14454
+ const _hoisted_2$e = {
13877
14455
  key: 0
13878
14456
  };
13879
14457
  const _hoisted_3$9 = {
@@ -13901,7 +14479,7 @@ const _hoisted_8$3 = {
13901
14479
  const _hoisted_9$3 = {
13902
14480
  class: "sr-only"
13903
14481
  };
13904
- const _hoisted_10$2 = ["innerHTML"];
14482
+ const _hoisted_10$1 = ["innerHTML"];
13905
14483
  const _hoisted_11$1 = {
13906
14484
  key: 1,
13907
14485
  class: "table__column__description"
@@ -13937,7 +14515,7 @@ const _hoisted_21 = {
13937
14515
  key: 1
13938
14516
  };
13939
14517
  const _hoisted_22 = ["colspan"];
13940
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
14518
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
13941
14519
  ...{
13942
14520
  inheritAttrs: false
13943
14521
  },
@@ -13963,7 +14541,8 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
13963
14541
  */
13964
14542
  keyAttribute: {
13965
14543
  type: String,
13966
- required: true
14544
+ required: false,
14545
+ default: void 0
13967
14546
  },
13968
14547
  /**
13969
14548
  * Attribute of expandable content in rows.
@@ -14014,7 +14593,8 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
14014
14593
  }
14015
14594
  },
14016
14595
  /**
14017
- * V-model will bind to value containing selected rows.
14596
+ * Currently selected rows.
14597
+ * Requires `selectable` to be set.
14018
14598
  */
14019
14599
  modelValue: {
14020
14600
  type: Array,
@@ -14056,6 +14636,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
14056
14636
  registerCallbackAfterItemAdd,
14057
14637
  registerCallbackBeforeItemDelete
14058
14638
  } = ActivateItemInjected();
14639
+ const internalKey2 = getInternalKey();
14059
14640
  const activeRow = ref(void 0);
14060
14641
  const columns = ref([]);
14061
14642
  const selectedRows = ref([]);
@@ -14063,7 +14644,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
14063
14644
  const tbodyKey = ref(0);
14064
14645
  const props = __props;
14065
14646
  const emit = __emit;
14066
- const expandableTable = useExpandableTable(props.expandableAttribute, props.keyAttribute, props.expandableDescribedby, emit, slots);
14647
+ const expandableTable = useExpandableTable(props.expandableAttribute, internalKey2, props.expandableDescribedby, emit, slots);
14067
14648
  const {
14068
14649
  isExpandableTable,
14069
14650
  hasExpandableSlot,
@@ -14075,19 +14656,20 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
14075
14656
  expandableRows,
14076
14657
  hasExpandableContent
14077
14658
  } = expandableTable;
14659
+ const tbodyElement = useTemplateRef("tbodyElement");
14078
14660
  const hasCaption = computed(() => {
14079
14661
  return hasSlot2("caption", {}, {
14080
14662
  stripClasses: []
14081
14663
  });
14082
14664
  });
14083
14665
  const hasCheckboxDescription = computed(() => {
14084
- const firstRow = props.rows[0];
14666
+ const firstRow = internalRows.value[0];
14085
14667
  return hasSlot2("checkbox-description", {
14086
14668
  row: firstRow
14087
14669
  });
14088
14670
  });
14089
14671
  const isEmpty2 = computed(() => {
14090
- return props.rows.length === 0;
14672
+ return internalRows.value.length === 0;
14091
14673
  });
14092
14674
  const visibleColumns = computed(() => {
14093
14675
  return columns.value.filter((col) => col.visible);
@@ -14118,6 +14700,16 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
14118
14700
  }
14119
14701
  return columnCount;
14120
14702
  });
14703
+ const internalRows = computed(() => {
14704
+ const {
14705
+ keyAttribute,
14706
+ expandableAttribute
14707
+ } = props;
14708
+ if (isExpandableTable) {
14709
+ return setInternalKeys(props.rows, keyAttribute, expandableAttribute);
14710
+ }
14711
+ return setInternalKeys(props.rows, keyAttribute);
14712
+ });
14121
14713
  provide("addColumn", (column) => {
14122
14714
  columns.value = addColumn(columns.value, column);
14123
14715
  });
@@ -14125,14 +14717,8 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
14125
14717
  setVisibilityColumn(columns.value, id, visible);
14126
14718
  });
14127
14719
  provide("textFieldTableMode", true);
14128
- provide("renderColumns", computed(() => props.rows.length > 0));
14129
- watch(() => props.rows, () => {
14130
- if (props.modelValue) {
14131
- selectedRows.value = props.modelValue.filter((row) => {
14132
- return includeItem(row, props.rows, props.keyAttribute);
14133
- });
14134
- }
14135
- }, {
14720
+ provide("renderColumns", computed(() => internalRows.value.length > 0));
14721
+ watch(() => props.rows, () => setSelectedRows(), {
14136
14722
  immediate: true,
14137
14723
  deep: true
14138
14724
  });
@@ -14148,21 +14734,23 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
14148
14734
  }, {
14149
14735
  immediate: true
14150
14736
  });
14151
- function updateTr(tbodyElement) {
14152
- const trElements = [].slice.call(tbodyElement.children);
14737
+ watch(() => props.modelValue, () => setSelectedRows(), {
14738
+ immediate: true,
14739
+ deep: true
14740
+ });
14741
+ function updateTr(tbodyElement2) {
14742
+ const trElements = [].slice.call(tbodyElement2.children);
14153
14743
  const trInteractableElements = trElements.filter((tr2) => {
14154
14744
  return tr2.tabIndex === 0;
14155
14745
  });
14156
14746
  tr.value = trInteractableElements;
14157
14747
  }
14158
14748
  onUpdated(() => {
14159
- const tbodyElement = useTemplateRef("tbodyElement");
14160
14749
  if (tbodyElement.value) {
14161
14750
  updateTr(tbodyElement.value);
14162
14751
  }
14163
14752
  });
14164
14753
  onMounted(() => {
14165
- const tbodyElement = useTemplateRef("tbodyElement");
14166
14754
  if (tbodyElement.value) {
14167
14755
  updateTr(tbodyElement.value);
14168
14756
  }
@@ -14182,14 +14770,14 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
14182
14770
  if (!props.showActive) {
14183
14771
  return false;
14184
14772
  }
14185
- return itemEquals(row, activeRow.value, props.keyAttribute);
14773
+ return itemEquals(row, activeRow.value, internalKey2);
14186
14774
  }
14187
14775
  function isSelected(row) {
14188
- return includeItem(row, selectedRows.value, props.keyAttribute);
14776
+ return includeItem(row, selectedRows.value, internalKey2);
14189
14777
  }
14190
14778
  function onKeydown$1(event, index) {
14191
14779
  onKeydown({
14192
- rows: props.rows,
14780
+ rows: internalRows.value,
14193
14781
  tr,
14194
14782
  activate
14195
14783
  }, event, index);
@@ -14209,7 +14797,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
14209
14797
  if (isExpandableTable.value && hasExpandableContent(row)) {
14210
14798
  toggleExpanded(row);
14211
14799
  }
14212
- if (!itemEquals(row, activeRow.value, props.keyAttribute)) {
14800
+ if (!itemEquals(row, activeRow.value, internalKey2)) {
14213
14801
  emit("change", row);
14214
14802
  setActiveRow(row);
14215
14803
  if (tr2) {
@@ -14227,8 +14815,8 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
14227
14815
  }
14228
14816
  function onSelect(row) {
14229
14817
  var _a, _b;
14230
- if (includeItem(row, selectedRows.value, props.keyAttribute)) {
14231
- selectedRows.value = selectedRows.value.filter((i) => !itemEquals(i, row, props.keyAttribute));
14818
+ if (includeItem(row, selectedRows.value, internalKey2)) {
14819
+ selectedRows.value = selectedRows.value.filter((i) => !itemEquals(i, row, internalKey2));
14232
14820
  emit("unselect", row);
14233
14821
  } else {
14234
14822
  selectedRows.value.push(row);
@@ -14237,6 +14825,15 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
14237
14825
  updateVModelWithSelectedRows();
14238
14826
  (_b = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy) == null ? void 0 : _b.$forceUpdate();
14239
14827
  }
14828
+ function setSelectedRows() {
14829
+ if (!props.modelValue || !props.modelValue.length) {
14830
+ selectedRows.value = [];
14831
+ return;
14832
+ }
14833
+ selectedRows.value = props.modelValue.filter((row) => {
14834
+ return includeItem(row, internalRows.value, internalKey2);
14835
+ });
14836
+ }
14240
14837
  function updateVModelWithSelectedRows() {
14241
14838
  if (props.modelValue) {
14242
14839
  emit("update:modelValue", selectedRows.value);
@@ -14252,11 +14849,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
14252
14849
  return ["table__row", ...active, ...selected, ...striped, ...expandable, ...expanded];
14253
14850
  }
14254
14851
  function rowKey(row) {
14255
- const key = row[props.keyAttribute];
14256
- if (typeof key === "undefined") {
14257
- throw new Error(`Key attribute [${props.keyAttribute}]' is missing in row`);
14258
- }
14259
- return String(key);
14852
+ return String(row[internalKey2]);
14260
14853
  }
14261
14854
  function columnClasses(column) {
14262
14855
  const sortable = column.sortable ? ["table__column--sortable"] : [];
@@ -14289,16 +14882,16 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
14289
14882
  activate(item, null);
14290
14883
  }
14291
14884
  function callbackBeforeItemDelete(item) {
14292
- if (props.rows.length === 0) {
14885
+ if (internalRows.value.length === 0) {
14293
14886
  return;
14294
14887
  }
14295
- let targetIndex = props.rows.indexOf(item) - 1;
14296
- if (targetIndex < 0 && props.rows.length > 1) {
14888
+ let targetIndex = internalRows.value.indexOf(item) - 1;
14889
+ if (targetIndex < 0 && internalRows.value.length > 1) {
14297
14890
  targetIndex = 1;
14298
14891
  } else if (targetIndex < 0) {
14299
14892
  targetIndex = 0;
14300
14893
  }
14301
- activate(props.rows[targetIndex], tr.value[targetIndex]);
14894
+ activate(internalRows.value[targetIndex], tr.value[targetIndex]);
14302
14895
  }
14303
14896
  function escapeNewlines(value) {
14304
14897
  return value.replace(/\n/g, "<br/>");
@@ -14306,7 +14899,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
14306
14899
  function updateActiveRowFromVModel() {
14307
14900
  if (props.active === void 0) {
14308
14901
  setActiveRow(void 0);
14309
- } else if (!itemEquals(props.active, activeRow.value, props.keyAttribute)) {
14902
+ } else if (!itemEquals(props.active, activeRow.value, internalKey2)) {
14310
14903
  setActiveRow(props.active);
14311
14904
  }
14312
14905
  }
@@ -14320,7 +14913,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
14320
14913
  }, [createCommentVNode("", true), _cache[18] || (_cache[18] = createTextVNode()), createElementVNode("table", mergeProps({
14321
14914
  class: ["table", tableClasses.value],
14322
14915
  role: tableRole.value
14323
- }, _ctx.$attrs), [hasCaption.value ? (openBlock(), createElementBlock("caption", _hoisted_2$d, [renderSlot(_ctx.$slots, "caption")])) : createCommentVNode("", true), _cache[15] || (_cache[15] = createTextVNode()), createElementVNode("colgroup", null, [unref(isExpandableTable) ? (openBlock(), createElementBlock("col", _hoisted_3$9)) : createCommentVNode("", true), _cache[0] || (_cache[0] = createTextVNode()), __props.selectable ? (openBlock(), createElementBlock("col", _hoisted_4$8)) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), (openBlock(true), createElementBlock(Fragment, null, renderList(columns.value, (column) => {
14916
+ }, _ctx.$attrs), [hasCaption.value ? (openBlock(), createElementBlock("caption", _hoisted_2$e, [renderSlot(_ctx.$slots, "caption")])) : createCommentVNode("", true), _cache[15] || (_cache[15] = createTextVNode()), createElementVNode("colgroup", null, [unref(isExpandableTable) ? (openBlock(), createElementBlock("col", _hoisted_3$9)) : createCommentVNode("", true), _cache[0] || (_cache[0] = createTextVNode()), __props.selectable ? (openBlock(), createElementBlock("col", _hoisted_4$8)) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), (openBlock(true), createElementBlock(Fragment, null, renderList(columns.value, (column) => {
14324
14917
  return openBlock(), createElementBlock("col", {
14325
14918
  key: column.id,
14326
14919
  class: normalizeClass(column.size)
@@ -14334,15 +14927,16 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
14334
14927
  click: () => onClickColumnHeader(column)
14335
14928
  } : {}, true)), [createElementVNode("span", {
14336
14929
  innerHTML: escapeNewlines(column.title)
14337
- }, null, 8, _hoisted_10$2), _cache[2] || (_cache[2] = createTextVNode()), column.sortable ? (openBlock(), createBlock(unref(FIcon), {
14930
+ }, null, 8, _hoisted_10$1), _cache[2] || (_cache[2] = createTextVNode()), column.sortable ? (openBlock(), createBlock(unref(FIcon), {
14338
14931
  key: 0,
14339
14932
  class: normalizeClass(iconClasses2(column)),
14340
14933
  name: iconName(column)
14341
14934
  }, null, 8, ["class", "name"])) : createCommentVNode("", true), _cache[3] || (_cache[3] = createTextVNode()), column.description ? (openBlock(), createElementBlock("span", _hoisted_11$1, toDisplayString(column.description), 1)) : createCommentVNode("", true)], 16);
14342
14935
  }), 128))])]), _cache[17] || (_cache[17] = createTextVNode()), (openBlock(), createElementBlock("tbody", {
14343
- ref: "tbodyElement",
14936
+ ref_key: "tbodyElement",
14937
+ ref: tbodyElement,
14344
14938
  key: tbodyKey.value
14345
- }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.rows, (row, index) => {
14939
+ }, [(openBlock(true), createElementBlock(Fragment, null, renderList(internalRows.value, (row, index) => {
14346
14940
  return openBlock(), createElementBlock(Fragment, {
14347
14941
  key: rowKey(row)
14348
14942
  }, [createElementVNode("tr", {
@@ -14404,11 +14998,11 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
14404
14998
  colspan: nbOfColumns.value
14405
14999
  }, [renderSlot(_ctx.$slots, "empty", {}, () => [createTextVNode(toDisplayString(unref($t2)("fkui.interactive-table.empty", "Tabellen är tom")), 1)])], 8, _hoisted_22), _cache[12] || (_cache[12] = createTextVNode()), renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({
14406
15000
  row: {}
14407
- })))])) : createCommentVNode("", true)]))], 16, _hoisted_1$i)], 2);
15001
+ })))])) : createCommentVNode("", true)]))], 16, _hoisted_1$k)], 2);
14408
15002
  };
14409
15003
  }
14410
15004
  });
14411
- const _sfc_main$h = defineComponent({
15005
+ const _sfc_main$j = defineComponent({
14412
15006
  name: "FLayoutApplicationTemplate",
14413
15007
  computed: {
14414
15008
  showHeader() {
@@ -14433,10 +15027,10 @@ const _sfc_main$h = defineComponent({
14433
15027
  }
14434
15028
  }
14435
15029
  });
14436
- const _hoisted_1$h = {
15030
+ const _hoisted_1$j = {
14437
15031
  class: "layout-application-template"
14438
15032
  };
14439
- const _hoisted_2$c = {
15033
+ const _hoisted_2$d = {
14440
15034
  key: 0,
14441
15035
  ref: "header",
14442
15036
  class: "layout-application-template__header"
@@ -14453,11 +15047,11 @@ const _hoisted_5$5 = {
14453
15047
  class: "layout-application-template__footer"
14454
15048
  };
14455
15049
  function _sfc_render$d(_ctx, _cache, $props, $setup, $data, $options) {
14456
- return openBlock(), createElementBlock("div", _hoisted_1$h, [_ctx.showHeader || _ctx.showTopNavigation ? (openBlock(), createElementBlock("header", _hoisted_2$c, [_ctx.showHeader ? renderSlot(_ctx.$slots, "header", {
15050
+ return openBlock(), createElementBlock("div", _hoisted_1$j, [_ctx.showHeader || _ctx.showTopNavigation ? (openBlock(), createElementBlock("header", _hoisted_2$d, [_ctx.showHeader ? renderSlot(_ctx.$slots, "header", {
14457
15051
  key: 0
14458
15052
  }) : createCommentVNode("", true), _cache[0] || (_cache[0] = createTextVNode()), _ctx.showTopNavigation ? (openBlock(), createElementBlock("nav", _hoisted_3$8, [renderSlot(_ctx.$slots, "top-navigation")])) : createCommentVNode("", true)], 512)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("main", _hoisted_4$7, [renderSlot(_ctx.$slots, "default"), _cache[1] || (_cache[1] = createTextVNode()), _ctx.showFooter ? (openBlock(), createElementBlock("footer", _hoisted_5$5, [renderSlot(_ctx.$slots, "footer")])) : createCommentVNode("", true)], 512)]);
14459
15053
  }
14460
- const FLayoutApplicationTemplate = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", _sfc_render$d]]);
15054
+ const FLayoutApplicationTemplate = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["render", _sfc_render$d]]);
14461
15055
  function getGridClasses(target) {
14462
15056
  if (target === null) {
14463
15057
  return {};
@@ -14558,7 +15152,7 @@ function useLayoutPanel(options) {
14558
15152
  rightPrimaryClasses
14559
15153
  };
14560
15154
  }
14561
- const _sfc_main$g = defineComponent({
15155
+ const _sfc_main$i = defineComponent({
14562
15156
  name: "FLayoutLeftPanel",
14563
15157
  components: {
14564
15158
  FIcon
@@ -14643,10 +15237,10 @@ const _sfc_main$g = defineComponent({
14643
15237
  }
14644
15238
  }
14645
15239
  });
14646
- const _hoisted_1$g = {
15240
+ const _hoisted_1$i = {
14647
15241
  class: "layout-navigation"
14648
15242
  };
14649
- const _hoisted_2$b = ["aria-expanded"];
15243
+ const _hoisted_2$c = ["aria-expanded"];
14650
15244
  const _hoisted_3$7 = {
14651
15245
  class: "layout-navigation__navigation__inner"
14652
15246
  };
@@ -14656,7 +15250,7 @@ const _hoisted_4$6 = {
14656
15250
  };
14657
15251
  function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
14658
15252
  const _component_f_icon = resolveComponent("f-icon");
14659
- return openBlock(), createElementBlock("div", _hoisted_1$g, [createElementVNode("nav", {
15253
+ return openBlock(), createElementBlock("div", _hoisted_1$i, [createElementVNode("nav", {
14660
15254
  id: "layout-navigation__navigation",
14661
15255
  class: "layout-navigation__navigation",
14662
15256
  style: normalizeStyle(_ctx.navigationStyle),
@@ -14699,13 +15293,13 @@ function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
14699
15293
  class: "layout-navigation__navigation__border__dot"
14700
15294
  }, null, -1), createTextVNode(), createElementVNode("div", {
14701
15295
  class: "layout-navigation__navigation__border__dot"
14702
- }, null, -1)]), 32)) : createCommentVNode("", true)], 12, _hoisted_2$b), _cache[14] || (_cache[14] = createTextVNode()), createElementVNode("div", {
15296
+ }, null, -1)]), 32)) : createCommentVNode("", true)], 12, _hoisted_2$c), _cache[14] || (_cache[14] = createTextVNode()), createElementVNode("div", {
14703
15297
  id: "layout-navigation__primary",
14704
15298
  class: normalizeClass(["layout-navigation__primary", _ctx.leftPrimaryClasses]),
14705
15299
  style: normalizeStyle(_ctx.primaryStyle)
14706
15300
  }, [renderSlot(_ctx.$slots, "default")], 6)]);
14707
15301
  }
14708
- const FLayoutLeftPanel = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["render", _sfc_render$c]]);
15302
+ const FLayoutLeftPanel = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["render", _sfc_render$c]]);
14709
15303
  class FRightPanelServiceImpl {
14710
15304
  constructor() {
14711
15305
  _defineProperty(this, "focusedElementBeforeOpenining", null);
@@ -14735,7 +15329,7 @@ class FRightPanelServiceImpl {
14735
15329
  }
14736
15330
  }
14737
15331
  const FLayoutRightPanelService = new FRightPanelServiceImpl();
14738
- const _sfc_main$f = defineComponent({
15332
+ const _sfc_main$h = defineComponent({
14739
15333
  name: "FLayoutRightPanel",
14740
15334
  components: {
14741
15335
  FIcon
@@ -14852,15 +15446,15 @@ const _sfc_main$f = defineComponent({
14852
15446
  }
14853
15447
  }
14854
15448
  });
14855
- const _hoisted_1$f = {
15449
+ const _hoisted_1$h = {
14856
15450
  class: "layout-secondary"
14857
15451
  };
14858
- const _hoisted_2$a = {
15452
+ const _hoisted_2$b = {
14859
15453
  class: "layout-secondary__secondary__inner"
14860
15454
  };
14861
15455
  function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
14862
15456
  const _component_f_icon = resolveComponent("f-icon");
14863
- return openBlock(), createElementBlock("div", _hoisted_1$f, [createElementVNode("div", {
15457
+ return openBlock(), createElementBlock("div", _hoisted_1$h, [createElementVNode("div", {
14864
15458
  id: "layout-secondary__primary",
14865
15459
  class: normalizeClass(["layout-secondary__primary", _ctx.rightPrimaryClasses]),
14866
15460
  style: normalizeStyle(_ctx.primaryStyle)
@@ -14877,7 +15471,7 @@ function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
14877
15471
  class: "layout-secondary__secondary__border__dot"
14878
15472
  }, null, -1), createTextVNode(), createElementVNode("div", {
14879
15473
  class: "layout-secondary__secondary__border__dot"
14880
- }, null, -1)]), 32), _cache[9] || (_cache[9] = createTextVNode()), createElementVNode("div", _hoisted_2$a, [createElementVNode("div", {
15474
+ }, null, -1)]), 32), _cache[9] || (_cache[9] = createTextVNode()), createElementVNode("div", _hoisted_2$b, [createElementVNode("div", {
14881
15475
  ref: "title",
14882
15476
  class: "layout-secondary__secondary__inner__title",
14883
15477
  style: normalizeStyle(_ctx.contentStyle)
@@ -14897,33 +15491,32 @@ function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
14897
15491
  name: "close"
14898
15492
  })])], 6)])], 4)) : createCommentVNode("", true)]);
14899
15493
  }
14900
- const FLayoutRightPanel = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["render", _sfc_render$b]]);
14901
- const _hoisted_1$e = {
15494
+ const FLayoutRightPanel = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", _sfc_render$b]]);
15495
+ const _hoisted_1$g = {
14902
15496
  key: 0,
14903
15497
  class: "list"
14904
15498
  };
14905
- const _hoisted_2$9 = {
15499
+ const _hoisted_2$a = {
14906
15500
  key: 0,
14907
15501
  class: "list__item"
14908
15502
  };
14909
15503
  const _hoisted_3$6 = {
14910
15504
  class: "list__item__itempane"
14911
15505
  };
14912
- const _hoisted_4$5 = ["tabindex"];
14913
- const _hoisted_5$4 = ["id", "aria-labelledby", "tabindex", "onKeydown"];
14914
- const _hoisted_6$3 = ["onClick"];
14915
- const _hoisted_7$2 = {
15506
+ const _hoisted_4$5 = ["id", "aria-labelledby", "tabindex", "onKeydown"];
15507
+ const _hoisted_5$4 = ["onClick"];
15508
+ const _hoisted_6$3 = {
14916
15509
  class: "list__item__selectpane__input"
14917
15510
  };
14918
- const _hoisted_8$2 = ["id"];
14919
- const _hoisted_9$2 = {
15511
+ const _hoisted_7$2 = ["id"];
15512
+ const _hoisted_8$2 = {
14920
15513
  key: 0,
14921
15514
  class: "list__item"
14922
15515
  };
14923
- const _hoisted_10$1 = {
15516
+ const _hoisted_9$2 = {
14924
15517
  class: "list__item__itempane"
14925
15518
  };
14926
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
15519
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
14927
15520
  __name: "FList",
14928
15521
  props: {
14929
15522
  /**
@@ -14941,7 +15534,8 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
14941
15534
  */
14942
15535
  keyAttribute: {
14943
15536
  type: String,
14944
- required: true
15537
+ required: false,
15538
+ default: void 0
14945
15539
  },
14946
15540
  /**
14947
15541
  * If `true` the list will be selectable.
@@ -14994,13 +15588,23 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
14994
15588
  registerCallbackAfterItemAdd,
14995
15589
  registerCallbackBeforeItemDelete
14996
15590
  } = ActivateItemInjected();
15591
+ const internalKey2 = getInternalKey();
14997
15592
  const selectedItems = ref([]);
14998
15593
  const activeItem = ref(void 0);
14999
15594
  const ulElement = ref();
15000
15595
  const props = __props;
15001
15596
  const emit = __emit;
15002
15597
  const isEmpty2 = computed(() => {
15003
- return props.items.length === 0;
15598
+ return internalItems.value.length === 0;
15599
+ });
15600
+ const internalItems = computed(() => {
15601
+ const {
15602
+ keyAttribute
15603
+ } = props;
15604
+ if (keyAttribute) {
15605
+ return setInternalKeys(props.items, keyAttribute);
15606
+ }
15607
+ return setInternalKeys(props.items);
15004
15608
  });
15005
15609
  watch(() => props.items, () => {
15006
15610
  updateSelectedItemsFromVModel();
@@ -15033,14 +15637,10 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
15033
15637
  return Array.from(element.children);
15034
15638
  }
15035
15639
  function itemKey(item) {
15036
- const key = item[props.keyAttribute];
15037
- if (typeof key === "undefined") {
15038
- throw new Error(`Key attribute [${props.keyAttribute}]' is missing in item`);
15039
- }
15040
- return String(key);
15640
+ return String(item[internalKey2]);
15041
15641
  }
15042
15642
  function isSelected(item) {
15043
- return includeItem(item, selectedItems.value, props.keyAttribute);
15643
+ return includeItem(item, selectedItems.value, internalKey2);
15044
15644
  }
15045
15645
  function itemClasses(item) {
15046
15646
  return {
@@ -15050,8 +15650,8 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
15050
15650
  }
15051
15651
  function onSelect(item) {
15052
15652
  var _a, _b;
15053
- if (includeItem(item, selectedItems.value, props.keyAttribute)) {
15054
- selectedItems.value = selectedItems.value.filter((i) => !itemEquals(i, item, props.keyAttribute));
15653
+ if (includeItem(item, selectedItems.value, internalKey2)) {
15654
+ selectedItems.value = selectedItems.value.filter((i) => !itemEquals(i, item, internalKey2));
15055
15655
  emit("unselect", item);
15056
15656
  } else {
15057
15657
  selectedItems.value.push(item);
@@ -15062,7 +15662,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
15062
15662
  }
15063
15663
  function setActiveItem(item) {
15064
15664
  emit("click", item);
15065
- if (!itemEquals(item, activeItem.value, props.keyAttribute)) {
15665
+ if (!itemEquals(item, activeItem.value, internalKey2)) {
15066
15666
  emit("change", item);
15067
15667
  activeItem.value = item;
15068
15668
  emit("update:active", activeItem.value);
@@ -15079,7 +15679,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
15079
15679
  function updateSelectedItemsFromVModel() {
15080
15680
  if (Array.isArray(props.modelValue)) {
15081
15681
  selectedItems.value = props.modelValue.filter((item) => {
15082
- return includeItem(item, props.items, props.keyAttribute);
15682
+ return includeItem(item, internalItems.value, internalKey2);
15083
15683
  });
15084
15684
  } else {
15085
15685
  selectedItems.value = [];
@@ -15088,7 +15688,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
15088
15688
  function updateActiveItemFromVModel() {
15089
15689
  if (props.active === void 0) {
15090
15690
  activeItem.value = void 0;
15091
- } else if (!itemEquals(props.active, activeItem.value, props.keyAttribute)) {
15691
+ } else if (!itemEquals(props.active, activeItem.value, internalKey2)) {
15092
15692
  activeItem.value = props.active;
15093
15693
  }
15094
15694
  }
@@ -15128,26 +15728,26 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
15128
15728
  setActiveItem(item);
15129
15729
  }
15130
15730
  function callbackBeforeItemDelete(item) {
15131
- if (props.items.length === 0) {
15731
+ if (internalItems.value.length === 0) {
15132
15732
  return;
15133
15733
  }
15134
- let targetIndex = props.items.indexOf(item) - 1;
15135
- if (targetIndex < 0 && props.items.length > 1) {
15734
+ let targetIndex = internalItems.value.indexOf(item) - 1;
15735
+ if (targetIndex < 0 && internalItems.value.length > 1) {
15136
15736
  targetIndex = 1;
15137
15737
  } else if (targetIndex < 0) {
15138
15738
  targetIndex = 0;
15139
15739
  }
15140
- setActiveItem(props.items[targetIndex]);
15740
+ setActiveItem(internalItems.value[targetIndex]);
15141
15741
  const targetElement = getLiElements()[targetIndex];
15142
15742
  if (targetElement) {
15143
15743
  targetElement.focus();
15144
15744
  }
15145
15745
  }
15146
15746
  function isActive(item) {
15147
- return props.checkbox && itemEquals(activeItem.value, item, props.keyAttribute);
15747
+ return props.checkbox && itemEquals(activeItem.value, item, internalKey2);
15148
15748
  }
15149
15749
  return (_ctx, _cache) => {
15150
- return !__props.selectable ? (openBlock(), createElementBlock("ul", _hoisted_1$e, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
15750
+ return !__props.selectable ? (openBlock(), createElementBlock("ul", _hoisted_1$g, [(openBlock(true), createElementBlock(Fragment, null, renderList(internalItems.value, (item) => {
15151
15751
  return openBlock(), createElementBlock("li", {
15152
15752
  key: itemKey(item),
15153
15753
  class: "list__item"
@@ -15160,13 +15760,12 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
15160
15760
  }, {
15161
15761
  item
15162
15762
  }))], 512)]);
15163
- }), 128)), _cache[0] || (_cache[0] = createTextVNode()), isEmpty2.value ? (openBlock(), createElementBlock("li", _hoisted_2$9, [createElementVNode("div", _hoisted_3$6, [renderSlot(_ctx.$slots, "empty", {}, () => [createElementVNode("em", null, toDisplayString(unref($t2)("fkui.list.empty", "Listan är tom")), 1)])])])) : createCommentVNode("", true)])) : (openBlock(), createElementBlock("ul", {
15763
+ }), 128)), _cache[0] || (_cache[0] = createTextVNode()), isEmpty2.value ? (openBlock(), createElementBlock("li", _hoisted_2$a, [createElementVNode("div", _hoisted_3$6, [renderSlot(_ctx.$slots, "empty", {}, () => [createElementVNode("em", null, toDisplayString(unref($t2)("fkui.list.empty", "Listan är tom")), 1)])])])) : createCommentVNode("", true)])) : (openBlock(), createElementBlock("ul", {
15164
15764
  key: 1,
15165
15765
  ref_key: "ulElement",
15166
15766
  ref: ulElement,
15167
- class: "list list--hover",
15168
- tabindex: __props.checkbox ? 0 : void 0
15169
- }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
15767
+ class: "list list--hover"
15768
+ }, [(openBlock(true), createElementBlock(Fragment, null, renderList(internalItems.value, (item, index) => {
15170
15769
  return openBlock(), createElementBlock("li", {
15171
15770
  id: getItemId(item),
15172
15771
  key: itemKey(item),
@@ -15180,7 +15779,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
15180
15779
  key: 0,
15181
15780
  class: "list__item__selectpane",
15182
15781
  onClick: withModifiers(($event) => onSelect(item), ["self"])
15183
- }, [createElementVNode("div", _hoisted_7$2, [createVNode(unref(FCheckboxField), {
15782
+ }, [createElementVNode("div", _hoisted_6$3, [createVNode(unref(FCheckboxField), {
15184
15783
  value: true,
15185
15784
  "model-value": isSelected(item),
15186
15785
  onClick: withModifiers(($event) => onSelect(item), ["self"])
@@ -15192,9 +15791,9 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
15192
15791
  ref_for: true
15193
15792
  }, {
15194
15793
  item
15195
- }))], 8, _hoisted_8$2)]),
15794
+ }))], 8, _hoisted_7$2)]),
15196
15795
  _: 2
15197
- }, 1032, ["model-value", "onClick"])])], 8, _hoisted_6$3)) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), (openBlock(), createBlock(resolveDynamicComponent(__props.checkbox ? "div" : "a"), {
15796
+ }, 1032, ["model-value", "onClick"])])], 8, _hoisted_5$4)) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), (openBlock(), createBlock(resolveDynamicComponent(__props.checkbox ? "div" : "a"), {
15198
15797
  ref_for: true,
15199
15798
  ref: "listItemPanes",
15200
15799
  href: !__props.checkbox ? "javascript:" : void 0,
@@ -15207,12 +15806,12 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
15207
15806
  item
15208
15807
  }))]),
15209
15808
  _: 2
15210
- }, 1032, ["href", "onClick"]))], 42, _hoisted_5$4);
15211
- }), 128)), _cache[2] || (_cache[2] = createTextVNode()), isEmpty2.value ? (openBlock(), createElementBlock("li", _hoisted_9$2, [createElementVNode("div", _hoisted_10$1, [renderSlot(_ctx.$slots, "empty", {}, () => [createElementVNode("em", null, toDisplayString(unref($t2)("fkui.list.empty", "Listan är tom")), 1)])])])) : createCommentVNode("", true)], 8, _hoisted_4$5));
15809
+ }, 1032, ["href", "onClick"]))], 42, _hoisted_4$5);
15810
+ }), 128)), _cache[2] || (_cache[2] = createTextVNode()), isEmpty2.value ? (openBlock(), createElementBlock("li", _hoisted_8$2, [createElementVNode("div", _hoisted_9$2, [renderSlot(_ctx.$slots, "empty", {}, () => [createElementVNode("em", null, toDisplayString(unref($t2)("fkui.list.empty", "Listan är tom")), 1)])])])) : createCommentVNode("", true)], 512));
15212
15811
  };
15213
15812
  }
15214
15813
  });
15215
- const _sfc_main$d = defineComponent({
15814
+ const _sfc_main$f = defineComponent({
15216
15815
  name: "FLoader",
15217
15816
  mixins: [TranslationMixin],
15218
15817
  inheritAttrs: false,
@@ -15324,10 +15923,10 @@ const _sfc_main$d = defineComponent({
15324
15923
  }
15325
15924
  }
15326
15925
  });
15327
- const _hoisted_1$d = {
15926
+ const _hoisted_1$f = {
15328
15927
  class: "loader__backdrop"
15329
15928
  };
15330
- const _hoisted_2$8 = {
15929
+ const _hoisted_2$9 = {
15331
15930
  role: "alert"
15332
15931
  };
15333
15932
  function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
@@ -15336,7 +15935,7 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
15336
15935
  disabled: _ctx.teleportDisabled
15337
15936
  }, [withDirectives(createElementVNode("div", mergeProps(_ctx.$attrs, {
15338
15937
  class: ["loader", _ctx.classes]
15339
- }), [createElementVNode("div", _hoisted_1$d, [_cache[0] || (_cache[0] = createElementVNode("div", {
15938
+ }), [createElementVNode("div", _hoisted_1$f, [_cache[0] || (_cache[0] = createElementVNode("div", {
15340
15939
  class: "loader__wrapper"
15341
15940
  }, [createElementVNode("div", {
15342
15941
  class: "loader__spinner-1 loader__spinner"
@@ -15374,10 +15973,10 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
15374
15973
  "loader--delay": _ctx.delay
15375
15974
  }]),
15376
15975
  tabindex: "-1"
15377
- }, [createElementVNode("span", _hoisted_2$8, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.loader.wait.text", _ctx.defaultLoadingText)), 1)])])], 2)])], 16), [[vShow, _ctx.show]])], 8, ["to", "disabled"]);
15976
+ }, [createElementVNode("span", _hoisted_2$9, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.loader.wait.text", _ctx.defaultLoadingText)), 1)])])], 2)])], 16), [[vShow, _ctx.show]])], 8, ["to", "disabled"]);
15378
15977
  }
15379
- const FLoader = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["render", _sfc_render$a]]);
15380
- const _hoisted_1$c = ["aria-label"];
15978
+ const FLoader = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["render", _sfc_render$a]]);
15979
+ const _hoisted_1$e = ["aria-label"];
15381
15980
  const __default__ = defineComponent({
15382
15981
  computed: {
15383
15982
  ariaLabel() {
@@ -15389,7 +15988,7 @@ const __default__ = defineComponent({
15389
15988
  }
15390
15989
  }
15391
15990
  });
15392
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
15991
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
15393
15992
  ...__default__,
15394
15993
  __name: "FLogo",
15395
15994
  props: {
@@ -15413,7 +16012,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
15413
16012
  class: normalizeClass(`logo logo--${props.size}`),
15414
16013
  "aria-label": _ctx.ariaLabel,
15415
16014
  role: "img"
15416
- }, null, 10, _hoisted_1$c);
16015
+ }, null, 10, _hoisted_1$e);
15417
16016
  };
15418
16017
  }
15419
16018
  });
@@ -15443,7 +16042,7 @@ const iconClasses = {
15443
16042
  screenReaderContextDefault: "Informationsmeddelande"
15444
16043
  }
15445
16044
  };
15446
- const _sfc_main$b = defineComponent({
16045
+ const _sfc_main$d = defineComponent({
15447
16046
  name: "FMessageBox",
15448
16047
  components: {
15449
16048
  FIcon,
@@ -15533,7 +16132,7 @@ const _sfc_main$b = defineComponent({
15533
16132
  }
15534
16133
  }
15535
16134
  });
15536
- const _hoisted_1$b = {
16135
+ const _hoisted_1$d = {
15537
16136
  key: 0,
15538
16137
  class: "sr-only"
15539
16138
  };
@@ -15543,7 +16142,7 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
15543
16142
  const _component_i_flex = resolveComponent("i-flex");
15544
16143
  return openBlock(), createElementBlock("div", {
15545
16144
  class: normalizeClass(["message-box", [_ctx.messageBoxType, _ctx.bannerType]])
15546
- }, [_ctx.provideScreenReaderContext ? (openBlock(), createElementBlock("span", _hoisted_1$b, toDisplayString(_ctx.screenReaderContext()), 1)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), createVNode(_component_i_flex, {
16145
+ }, [_ctx.provideScreenReaderContext ? (openBlock(), createElementBlock("span", _hoisted_1$d, toDisplayString(_ctx.screenReaderContext()), 1)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), createVNode(_component_i_flex, {
15547
16146
  gap: "2x"
15548
16147
  }, {
15549
16148
  default: withCtx(() => [_ctx.layout === "short" ? (openBlock(), createBlock(_component_i_flex_item, {
@@ -15575,7 +16174,7 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
15575
16174
  _: 3
15576
16175
  })], 2);
15577
16176
  }
15578
- const FMessageBox = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$9]]);
16177
+ const FMessageBox = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["render", _sfc_render$9]]);
15579
16178
  function findOverflowIndex(totalWidth, elements) {
15580
16179
  let sum = 0;
15581
16180
  const index = elements.findIndex((element) => {
@@ -15625,7 +16224,7 @@ const upKeys = ["Up", "ArrowUp"];
15625
16224
  const downKeys = ["Down", "ArrowDown"];
15626
16225
  const verticalKeys = [...upKeys, ...downKeys];
15627
16226
  const preventKeys = ["Tab", "Left", "Right", "ArrowLeft", "ArrowRight", "Home", "End", " ", "Spacebar", "Enter", ...verticalKeys];
15628
- const _sfc_main$a = defineComponent({
16227
+ const _sfc_main$c = defineComponent({
15629
16228
  name: "FNavigationMenu",
15630
16229
  components: {
15631
16230
  FIcon,
@@ -15958,8 +16557,8 @@ const _sfc_main$a = defineComponent({
15958
16557
  }
15959
16558
  }
15960
16559
  });
15961
- const _hoisted_1$a = ["aria-label"];
15962
- const _hoisted_2$7 = ["data-ref-index", "onClick"];
16560
+ const _hoisted_1$c = ["aria-label"];
16561
+ const _hoisted_2$8 = ["data-ref-index", "onClick"];
15963
16562
  const _hoisted_3$5 = {
15964
16563
  class: "imenu__list__anchor-container"
15965
16564
  };
@@ -16010,7 +16609,7 @@ function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
16010
16609
  target: item.target,
16011
16610
  class: "imenu__list__anchor",
16012
16611
  role: "menuitem"
16013
- }, [_ctx.showItemSrText(index) ? (openBlock(), createElementBlock("span", _hoisted_5$3, [createElementVNode("span", null, toDisplayString(_ctx.selectedItemSrText) + " ", 1)])) : createCommentVNode("", true), createTextVNode(" " + toDisplayString(item.label), 1)], 8, _hoisted_4$4)])], 10, _hoisted_2$7);
16612
+ }, [_ctx.showItemSrText(index) ? (openBlock(), createElementBlock("span", _hoisted_5$3, [createElementVNode("span", null, toDisplayString(_ctx.selectedItemSrText) + " ", 1)])) : createCommentVNode("", true), createTextVNode(" " + toDisplayString(item.label), 1)], 8, _hoisted_4$4)])], 10, _hoisted_2$8);
16014
16613
  }), 128)), _cache[6] || (_cache[6] = createTextVNode()), _ctx.hasOverflow ? (openBlock(), createElementBlock("li", _hoisted_6$2, [createElementVNode("div", {
16015
16614
  ref: "popup-item",
16016
16615
  class: normalizeClass(_ctx.popupItemClasses),
@@ -16039,11 +16638,11 @@ function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
16039
16638
  "enable-keyboard-navigation": "",
16040
16639
  onSelect: _ctx.onPopupMenuItemSelected,
16041
16640
  onClose: _cache[5] || (_cache[5] = ($event) => _ctx.togglePopup(false))
16042
- }, null, 8, ["modelValue", "focused-item", "items", "is-open", "anchor", "selected-menu-item-screen-reader-text", "aria-label", "onSelect"])], 10, _hoisted_1$a);
16641
+ }, null, 8, ["modelValue", "focused-item", "items", "is-open", "anchor", "selected-menu-item-screen-reader-text", "aria-label", "onSelect"])], 10, _hoisted_1$c);
16043
16642
  }
16044
- const FNavigationMenu = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["render", _sfc_render$8]]);
16643
+ const FNavigationMenu = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["render", _sfc_render$8]]);
16045
16644
  const EVENTS = ["online", "offline"];
16046
- const _sfc_main$9 = defineComponent({
16645
+ const _sfc_main$b = defineComponent({
16047
16646
  name: "FOffline",
16048
16647
  components: {
16049
16648
  FIcon,
@@ -16091,8 +16690,8 @@ const _sfc_main$9 = defineComponent({
16091
16690
  }
16092
16691
  }
16093
16692
  });
16094
- const _hoisted_1$9 = ["role"];
16095
- const _hoisted_2$6 = {
16693
+ const _hoisted_1$b = ["role"];
16694
+ const _hoisted_2$7 = {
16096
16695
  key: 0,
16097
16696
  class: "offline"
16098
16697
  };
@@ -16111,7 +16710,7 @@ function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
16111
16710
  ref: "offline",
16112
16711
  class: "offline__wrapper",
16113
16712
  role: _ctx.role
16114
- }, [!_ctx.isOnline ? (openBlock(), createElementBlock("div", _hoisted_2$6, [createVNode(_component_i_flex, {
16713
+ }, [!_ctx.isOnline ? (openBlock(), createElementBlock("div", _hoisted_2$7, [createVNode(_component_i_flex, {
16115
16714
  gap: "2x"
16116
16715
  }, {
16117
16716
  default: withCtx(() => [createVNode(_component_i_flex_item, {
@@ -16137,10 +16736,10 @@ function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
16137
16736
  })])) : createCommentVNode("", true), _cache[3] || (_cache[3] = createTextVNode()), withDirectives(createElementVNode("span", {
16138
16737
  class: "sr-only",
16139
16738
  "aria-hidden": _ctx.shouldNotRead ? "true" : void 0
16140
- }, "\n Din internetuppkoppling fungerar igen\n ", 8, _hoisted_5$2), [[vShow, _ctx.isOnline]])], 8, _hoisted_1$9);
16739
+ }, "\n Din internetuppkoppling fungerar igen\n ", 8, _hoisted_5$2), [[vShow, _ctx.isOnline]])], 8, _hoisted_1$b);
16141
16740
  }
16142
- const FOffline = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["render", _sfc_render$7]]);
16143
- const _sfc_main$8 = defineComponent({
16741
+ const FOffline = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$7]]);
16742
+ const _sfc_main$a = defineComponent({
16144
16743
  name: "FOutputField",
16145
16744
  components: {
16146
16745
  FLabel
@@ -16173,13 +16772,13 @@ const _sfc_main$8 = defineComponent({
16173
16772
  }
16174
16773
  }
16175
16774
  });
16176
- const _hoisted_1$8 = {
16775
+ const _hoisted_1$a = {
16177
16776
  class: "output-field"
16178
16777
  };
16179
- const _hoisted_2$5 = ["id", "for"];
16778
+ const _hoisted_2$6 = ["id", "for"];
16180
16779
  function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
16181
16780
  const _component_f_label = resolveComponent("f-label");
16182
- return openBlock(), createElementBlock("div", _hoisted_1$8, [createVNode(_component_f_label, {
16781
+ return openBlock(), createElementBlock("div", _hoisted_1$a, [createVNode(_component_f_label, {
16183
16782
  for: _ctx.id
16184
16783
  }, createSlots({
16185
16784
  default: withCtx(() => [renderSlot(_ctx.$slots, "label")]),
@@ -16192,10 +16791,10 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
16192
16791
  id: _ctx.id,
16193
16792
  for: _ctx.htmlFor,
16194
16793
  class: "output-field__output"
16195
- }, _ctx.$attrs), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_2$5)]);
16794
+ }, _ctx.$attrs), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_2$6)]);
16196
16795
  }
16197
- const FOutputField = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render$6]]);
16198
- const _sfc_main$7 = defineComponent({
16796
+ const FOutputField = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["render", _sfc_render$6]]);
16797
+ const _sfc_main$9 = defineComponent({
16199
16798
  name: "FPageHeader",
16200
16799
  components: {
16201
16800
  ISkipLink
@@ -16242,10 +16841,10 @@ const _sfc_main$7 = defineComponent({
16242
16841
  }
16243
16842
  }
16244
16843
  });
16245
- const _hoisted_1$7 = {
16844
+ const _hoisted_1$9 = {
16246
16845
  class: "page-header__root"
16247
16846
  };
16248
- const _hoisted_2$4 = {
16847
+ const _hoisted_2$5 = {
16249
16848
  key: 0
16250
16849
  };
16251
16850
  const _hoisted_3$3 = {
@@ -16264,7 +16863,7 @@ const _hoisted_6$1 = {
16264
16863
  };
16265
16864
  function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
16266
16865
  const _component_i_skip_link = resolveComponent("i-skip-link");
16267
- return openBlock(), createElementBlock("div", _hoisted_1$7, [_ctx.skipLinkAnchor ? (openBlock(), createElementBlock("nav", _hoisted_2$4, [createVNode(_component_i_skip_link, {
16866
+ return openBlock(), createElementBlock("div", _hoisted_1$9, [_ctx.skipLinkAnchor ? (openBlock(), createElementBlock("nav", _hoisted_2$5, [createVNode(_component_i_skip_link, {
16268
16867
  href: _ctx.skipLinkAnchor
16269
16868
  }, {
16270
16869
  default: withCtx(() => [renderSlot(_ctx.$slots, "skip-link-text")]),
@@ -16276,7 +16875,7 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
16276
16875
  _: 3
16277
16876
  })), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("div", _hoisted_5$1, [createElementVNode("div", _hoisted_6$1, [renderSlot(_ctx.$slots, "right")])])], 512)]);
16278
16877
  }
16279
- const FPageHeader = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render$5]]);
16878
+ const FPageHeader = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["render", _sfc_render$5]]);
16280
16879
  const layoutRegister = {};
16281
16880
  function getLayout(name) {
16282
16881
  var _layoutRegister$name;
@@ -16414,7 +17013,7 @@ registerLayout({
16414
17013
  }
16415
17014
  }
16416
17015
  });
16417
- const styleContent = '.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\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\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\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}\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';
17016
+ 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';
16418
17017
  const stubLayout = defineLayout({
16419
17018
  name: "",
16420
17019
  areas: {}
@@ -16516,40 +17115,128 @@ class PageLayout extends HTMLElement {
16516
17115
  _classPrivateFieldGet2(_elements, this)[slot] = element;
16517
17116
  }
16518
17117
  }
17118
+ setTimeout(() => {
17119
+ this.dispatchEvent(new CustomEvent("update"));
17120
+ }, 0);
16519
17121
  }
16520
17122
  }
16521
- const _hoisted_1$6 = ["slot"];
16522
- const tagName = `ce-page-layout`;
16523
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
17123
+ const _hoisted_1$8 = ["slot"];
17124
+ const tagName$1 = `ce-page-layout`;
17125
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
16524
17126
  __name: "FPageLayout",
16525
17127
  props: {
16526
17128
  layout: {}
16527
17129
  },
16528
- setup(__props) {
17130
+ emits: ["update"],
17131
+ setup(__props, {
17132
+ emit: __emit
17133
+ }) {
17134
+ const emit = __emit;
16529
17135
  const slots = useSlots();
16530
17136
  const slotNames = computed(() => {
16531
17137
  return Object.keys(slots);
16532
17138
  });
16533
17139
  onMounted(() => {
16534
- if (!customElements.get(tagName)) {
16535
- customElements.define(tagName, PageLayout);
17140
+ if (!customElements.get(tagName$1)) {
17141
+ customElements.define(tagName$1, PageLayout);
16536
17142
  }
16537
17143
  });
17144
+ function onUpdate() {
17145
+ emit("update");
17146
+ }
16538
17147
  return (_ctx, _cache) => {
16539
- return openBlock(), createBlock(resolveDynamicComponent(tagName), {
16540
- layout: _ctx.layout
17148
+ return openBlock(), createBlock(resolveDynamicComponent(tagName$1), {
17149
+ layout: _ctx.layout,
17150
+ onUpdate
16541
17151
  }, {
16542
17152
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(slotNames.value, (slot) => {
16543
17153
  return openBlock(), createElementBlock("div", {
16544
17154
  key: slot,
16545
17155
  slot
16546
- }, [renderSlot(_ctx.$slots, slot)], 8, _hoisted_1$6);
17156
+ }, [renderSlot(_ctx.$slots, slot)], 8, _hoisted_1$8);
16547
17157
  }), 128))]),
16548
17158
  _: 3
16549
- }, 8, ["layout"]);
17159
+ }, 40, ["layout"]);
16550
17160
  };
16551
17161
  }
16552
17162
  });
17163
+ function tryOnScopeDispose(fn2) {
17164
+ if (getCurrentScope()) {
17165
+ onScopeDispose(fn2);
17166
+ return true;
17167
+ }
17168
+ return false;
17169
+ }
17170
+ const isClient = typeof window !== "undefined" && typeof document !== "undefined";
17171
+ typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
17172
+ const toString = Object.prototype.toString;
17173
+ const isObject = (val) => toString.call(val) === "[object Object]";
17174
+ function toArray(value) {
17175
+ return Array.isArray(value) ? value : [value];
17176
+ }
17177
+ function watchImmediate(source, cb, options) {
17178
+ return watch(
17179
+ source,
17180
+ cb,
17181
+ {
17182
+ ...options,
17183
+ immediate: true
17184
+ }
17185
+ );
17186
+ }
17187
+ const defaultWindow = isClient ? window : void 0;
17188
+ function unrefElement(elRef) {
17189
+ var _a;
17190
+ const plain = toValue(elRef);
17191
+ return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;
17192
+ }
17193
+ function useEventListener(...args) {
17194
+ const cleanups = [];
17195
+ const cleanup = () => {
17196
+ cleanups.forEach((fn2) => fn2());
17197
+ cleanups.length = 0;
17198
+ };
17199
+ const register = (el, event, listener, options) => {
17200
+ el.addEventListener(event, listener, options);
17201
+ return () => el.removeEventListener(event, listener, options);
17202
+ };
17203
+ const firstParamTargets = computed(() => {
17204
+ const test = toArray(toValue(args[0])).filter((e) => e != null);
17205
+ return test.every((e) => typeof e !== "string") ? test : void 0;
17206
+ });
17207
+ const stopWatch = watchImmediate(
17208
+ () => {
17209
+ var _a, _b;
17210
+ return [
17211
+ (_b = (_a = firstParamTargets.value) == null ? void 0 : _a.map((e) => unrefElement(e))) != null ? _b : [defaultWindow].filter((e) => e != null),
17212
+ toArray(toValue(firstParamTargets.value ? args[1] : args[0])),
17213
+ toArray(unref(firstParamTargets.value ? args[2] : args[1])),
17214
+ // @ts-expect-error - TypeScript gets the correct types, but somehow still complains
17215
+ toValue(firstParamTargets.value ? args[3] : args[2])
17216
+ ];
17217
+ },
17218
+ ([raw_targets, raw_events, raw_listeners, raw_options]) => {
17219
+ cleanup();
17220
+ 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))
17221
+ return;
17222
+ const optionsClone = isObject(raw_options) ? { ...raw_options } : raw_options;
17223
+ cleanups.push(
17224
+ ...raw_targets.flatMap(
17225
+ (el) => raw_events.flatMap(
17226
+ (event) => raw_listeners.map((listener) => register(el, event, listener, optionsClone))
17227
+ )
17228
+ )
17229
+ );
17230
+ },
17231
+ { flush: "post" }
17232
+ );
17233
+ const stop = () => {
17234
+ stopWatch();
17235
+ cleanup();
17236
+ };
17237
+ tryOnScopeDispose(cleanup);
17238
+ return stop;
17239
+ }
16553
17240
  function getProperty(style, key) {
16554
17241
  const value = style.getPropertyValue(key);
16555
17242
  if (value === "") {
@@ -16558,16 +17245,33 @@ function getProperty(style, key) {
16558
17245
  return JSON.parse(value);
16559
17246
  }
16560
17247
  }
17248
+ function findLayoutElement(element) {
17249
+ if (!element) {
17250
+ return null;
17251
+ }
17252
+ const parent = element.closest("ce-page-layout");
17253
+ if (parent) {
17254
+ return parent;
17255
+ }
17256
+ const root = element.getRootNode();
17257
+ if (root instanceof ShadowRoot) {
17258
+ return findLayoutElement(root.host);
17259
+ }
17260
+ return null;
17261
+ }
16561
17262
  function useAreaData(element) {
16562
17263
  const area = ref(null);
16563
17264
  const attachPanel = ref(null);
16564
17265
  const direction = ref(null);
17266
+ const layoutElement = computed(() => findLayoutElement(toValue(element)));
17267
+ useEventListener(layoutElement, "update", () => {
17268
+ if (element.value) {
17269
+ update(element.value);
17270
+ }
17271
+ });
16565
17272
  watchEffect(() => {
16566
17273
  if (element.value) {
16567
- const style = getComputedStyle(element.value);
16568
- area.value = getProperty(style, VAR_NAME_AREA);
16569
- attachPanel.value = getProperty(style, VAR_NAME_ATTACH_PANEL);
16570
- direction.value = getProperty(style, VAR_NAME_DIRECTION);
17274
+ update(element.value);
16571
17275
  }
16572
17276
  });
16573
17277
  return {
@@ -16575,17 +17279,23 @@ function useAreaData(element) {
16575
17279
  attachPanel,
16576
17280
  direction
16577
17281
  };
17282
+ function update(element2) {
17283
+ const style = getComputedStyle(element2);
17284
+ area.value = getProperty(style, VAR_NAME_AREA);
17285
+ attachPanel.value = getProperty(style, VAR_NAME_ATTACH_PANEL);
17286
+ direction.value = getProperty(style, VAR_NAME_DIRECTION);
17287
+ }
16578
17288
  }
16579
- const _hoisted_1$5 = {
17289
+ const _hoisted_1$7 = {
16580
17290
  class: "progress"
16581
17291
  };
16582
- const _hoisted_2$3 = ["aria-label", "aria-valuenow", "aria-valuetext"];
17292
+ const _hoisted_2$4 = ["aria-label", "aria-valuenow", "aria-valuetext"];
16583
17293
  const _hoisted_3$2 = {
16584
17294
  class: "sr-only"
16585
17295
  };
16586
17296
  const MIN_VALUE = 0;
16587
17297
  const MAX_VALUE = 100;
16588
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
17298
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
16589
17299
  __name: "FProgressbar",
16590
17300
  props: {
16591
17301
  /**
@@ -16624,10 +17334,10 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
16624
17334
  setup(__props) {
16625
17335
  const props = __props;
16626
17336
  const ariaLabel = props.ariaLabel;
16627
- function clamp(val) {
17337
+ function clamp2(val) {
16628
17338
  return Math.round(Math.min(Math.max(val || 0, MIN_VALUE), MAX_VALUE));
16629
17339
  }
16630
- const progressValueNow = computed(() => clamp(props.value));
17340
+ const progressValueNow = computed(() => clamp2(props.value));
16631
17341
  const cssWidth = computed(() => `width: ${progressValueNow.value}%`);
16632
17342
  const progressBarClass = computed(() => {
16633
17343
  if (progressValueNow.value === MIN_VALUE) {
@@ -16642,7 +17352,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
16642
17352
  return `${props.valueText.replace("%VALUE%", progressValueNow.value.toString())}`;
16643
17353
  });
16644
17354
  return (_ctx, _cache) => {
16645
- return openBlock(), createElementBlock("div", _hoisted_1$5, [createElementVNode("span", {
17355
+ return openBlock(), createElementBlock("div", _hoisted_1$7, [createElementVNode("span", {
16646
17356
  class: normalizeClass(["progress__meter", progressBarClass.value]),
16647
17357
  role: "progressbar",
16648
17358
  "aria-label": unref(ariaLabel),
@@ -16651,12 +17361,12 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
16651
17361
  "aria-valuenow": progressValueNow.value,
16652
17362
  "aria-valuetext": progressText.value,
16653
17363
  style: normalizeStyle(cssWidth.value)
16654
- }, [createElementVNode("span", _hoisted_3$2, toDisplayString(progressText.value), 1)], 14, _hoisted_2$3)]);
17364
+ }, [createElementVNode("span", _hoisted_3$2, toDisplayString(progressText.value), 1)], 14, _hoisted_2$4)]);
16655
17365
  };
16656
17366
  }
16657
17367
  });
16658
17368
  const anyType = [String, Object, Array, Number, Date, Boolean];
16659
- const _sfc_main$4 = defineComponent({
17369
+ const _sfc_main$6 = defineComponent({
16660
17370
  name: "FRadioField",
16661
17371
  inheritAttrs: false,
16662
17372
  props: {
@@ -16812,8 +17522,8 @@ const _sfc_main$4 = defineComponent({
16812
17522
  }
16813
17523
  }
16814
17524
  });
16815
- const _hoisted_1$4 = ["id", "disabled"];
16816
- const _hoisted_2$2 = ["for"];
17525
+ const _hoisted_1$6 = ["id", "disabled"];
17526
+ const _hoisted_2$3 = ["for"];
16817
17527
  const _hoisted_3$1 = {
16818
17528
  key: 0,
16819
17529
  class: "radio-button__details"
@@ -16831,7 +17541,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
16831
17541
  type: "radio",
16832
17542
  class: "radio-button__input",
16833
17543
  disabled: _ctx.disabled
16834
- }, _ctx.attrs), null, 16, _hoisted_1$4), _cache[7] || (_cache[7] = createTextVNode()), createElementVNode("label", {
17544
+ }, _ctx.attrs), null, 16, _hoisted_1$6), _cache[7] || (_cache[7] = createTextVNode()), createElementVNode("label", {
16835
17545
  class: normalizeClass(_ctx.$slots.details ? "radio-button__label radio-button__width" : "radio-button__label"),
16836
17546
  for: _ctx.id
16837
17547
  }, [renderSlot(_ctx.$slots, "default"), _cache[6] || (_cache[6] = createTextVNode()), _ctx.$slots.details ? (openBlock(), createElementBlock(Fragment, {
@@ -16846,9 +17556,386 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
16846
17556
  height: _ctx.height
16847
17557
  })])) : createCommentVNode("", true)]),
16848
17558
  _: 3
16849
- }, 8, ["onEnter", "onAfterEnter", "onLeave"])) : createCommentVNode("", true)], 64)) : createCommentVNode("", true)], 10, _hoisted_2$2)], 34);
17559
+ }, 8, ["onEnter", "onAfterEnter", "onLeave"])) : createCommentVNode("", true)], 64)) : createCommentVNode("", true)], 10, _hoisted_2$3)], 34);
17560
+ }
17561
+ const FRadioField = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render$4]]);
17562
+ const keymap = {
17563
+ left: {
17564
+ ArrowLeft: "decrease",
17565
+ ArrowRight: "increase",
17566
+ Home: "minimize",
17567
+ End: "maximize"
17568
+ },
17569
+ right: {
17570
+ ArrowLeft: "increase",
17571
+ ArrowRight: "decrease",
17572
+ Home: "minimize",
17573
+ End: "maximize"
17574
+ },
17575
+ top: {
17576
+ ArrowUp: "decrease",
17577
+ ArrowDown: "increase",
17578
+ Home: "minimize",
17579
+ End: "maximize"
17580
+ },
17581
+ bottom: {
17582
+ ArrowUp: "increase",
17583
+ ArrowDown: "decrease",
17584
+ Home: "minimize",
17585
+ End: "maximize"
17586
+ },
17587
+ none: {}
17588
+ };
17589
+ function useKeyboardHandler(options) {
17590
+ const {
17591
+ attachment,
17592
+ separator
17593
+ } = options;
17594
+ useEventListener(separator, "keydown", (event) => {
17595
+ if (!attachment.value) {
17596
+ return;
17597
+ }
17598
+ const action = keymap[attachment.value][event.key];
17599
+ if (action) {
17600
+ event.preventDefault();
17601
+ options[action]();
17602
+ }
17603
+ });
17604
+ }
17605
+ function clamp(value, min, max) {
17606
+ return Math.min(Math.max(value, min), max);
17607
+ }
17608
+ function usePointerHandler(options) {
17609
+ const {
17610
+ separator,
17611
+ attachment
17612
+ } = options;
17613
+ const invert = computed(() => {
17614
+ if (attachment.value === "right" || attachment.value === "bottom") {
17615
+ return -1;
17616
+ }
17617
+ return 1;
17618
+ });
17619
+ const orientation = computed(() => {
17620
+ if (attachment.value === "top" || attachment.value === "bottom") {
17621
+ return "horizontal";
17622
+ } else {
17623
+ return "vertical";
17624
+ }
17625
+ });
17626
+ useEventListener(separator, "pointerdown", (event) => {
17627
+ const {
17628
+ isPrimary,
17629
+ button,
17630
+ target,
17631
+ pointerId
17632
+ } = event;
17633
+ if (!separator.value) {
17634
+ return;
17635
+ }
17636
+ if (!isPrimary || button !== 0 || target !== separator.value) {
17637
+ return;
17638
+ }
17639
+ const separatorElement = separator.value;
17640
+ const property = orientation.value === "horizontal" ? "clientY" : "clientX";
17641
+ const reference = event[property];
17642
+ const resize = createResizer();
17643
+ function onPointerMove(event2) {
17644
+ if (event2.pointerId === pointerId) {
17645
+ resize(event2[property] - reference);
17646
+ }
17647
+ }
17648
+ function onLostPointerCapture(event2) {
17649
+ if (event2.pointerId === pointerId) {
17650
+ separatorElement.removeEventListener("pointermove", onPointerMove);
17651
+ separatorElement.removeEventListener("lostpointercapture", onLostPointerCapture);
17652
+ }
17653
+ }
17654
+ onPointerMove(event);
17655
+ separatorElement.addEventListener("lostpointercapture", onLostPointerCapture);
17656
+ separatorElement.addEventListener("pointermove", onPointerMove);
17657
+ separatorElement.setPointerCapture(pointerId);
17658
+ event.preventDefault();
17659
+ });
17660
+ function createResizer() {
17661
+ const {
17662
+ min,
17663
+ max,
17664
+ current: value
17665
+ } = options.state.value;
17666
+ return (amount) => {
17667
+ options.movement(clamp(value + amount * invert.value, min, max));
17668
+ };
17669
+ }
17670
+ }
17671
+ function computeCssValue(raw, total, auto) {
17672
+ if (raw.endsWith("px")) {
17673
+ return parseInt(raw.slice(0, -2), 10);
17674
+ } else if (raw.endsWith("%")) {
17675
+ const value = parseInt(raw.slice(0, -1), 10);
17676
+ const percent = value / 100;
17677
+ return percent * total;
17678
+ } else if (raw === "0") {
17679
+ return 0;
17680
+ } else if (raw === "auto") {
17681
+ return auto;
17682
+ } else {
17683
+ throw new Error(`Cant parse size from "${raw}"`);
17684
+ }
17685
+ }
17686
+ function aggregateCssValue(raw, total, auto, take) {
17687
+ if (raw === "auto") {
17688
+ return auto;
17689
+ }
17690
+ const parts = raw.split(/\s+/).map((it) => it.trim());
17691
+ const parsed = parts.map((it) => computeCssValue(it, total, auto));
17692
+ return take(...parsed);
17693
+ }
17694
+ function useStorage(options) {
17695
+ const {
17696
+ state,
17697
+ storageKey
17698
+ } = options;
17699
+ const loaded = ref(false);
17700
+ let last = -1;
17701
+ watchEffect(() => {
17702
+ if (!loaded.value) {
17703
+ return;
17704
+ }
17705
+ if (!storageKey.value) {
17706
+ return;
17707
+ }
17708
+ if (state.value.current < 0 || state.value.current === last) {
17709
+ return;
17710
+ }
17711
+ const json = JSON.stringify(state.value.current);
17712
+ window.localStorage.setItem(storageKey.value, json);
17713
+ last = state.value.current;
17714
+ });
17715
+ watchEffect(() => {
17716
+ if (!storageKey.value) {
17717
+ return;
17718
+ }
17719
+ const json = window.localStorage.getItem(storageKey.value);
17720
+ if (json) {
17721
+ const value = JSON.parse(json);
17722
+ state.value.current = clamp(value, state.value.min, state.value.max);
17723
+ last = value;
17724
+ }
17725
+ loaded.value = true;
17726
+ });
16850
17727
  }
16851
- const FRadioField = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4]]);
17728
+ const _hoisted_1$5 = ["aria-orientation"];
17729
+ const _hoisted_2$2 = ["aria-orientation"];
17730
+ const STEP_SIZE = 10;
17731
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
17732
+ __name: "FResizePane.ce",
17733
+ props: {
17734
+ disabled: {
17735
+ type: Boolean,
17736
+ default: false
17737
+ },
17738
+ min: {
17739
+ default: "0",
17740
+ type: String
17741
+ },
17742
+ max: {
17743
+ default: "100%",
17744
+ type: String
17745
+ },
17746
+ initial: {
17747
+ default: "50%",
17748
+ type: String
17749
+ }
17750
+ },
17751
+ setup(__props) {
17752
+ const props = __props;
17753
+ const root = shallowRef();
17754
+ const content = ref();
17755
+ const separator = ref();
17756
+ const state = ref({
17757
+ min: -1,
17758
+ max: -1,
17759
+ current: -1
17760
+ });
17761
+ const separatorSize = ref(0);
17762
+ const layoutSize = ref(0);
17763
+ const storageKey = computed(() => area.value ? `layout/${area.value}/size` : null);
17764
+ const {
17765
+ attachPanel: attachment,
17766
+ area
17767
+ } = useAreaData(root);
17768
+ useKeyboardHandler({
17769
+ increase() {
17770
+ state.value.current = Math.min(state.value.current + STEP_SIZE, state.value.max);
17771
+ },
17772
+ decrease() {
17773
+ state.value.current = Math.max(state.value.current - STEP_SIZE, state.value.min);
17774
+ },
17775
+ maximize() {
17776
+ state.value.current = state.value.max;
17777
+ },
17778
+ minimize() {
17779
+ state.value.current = state.value.min;
17780
+ },
17781
+ attachment,
17782
+ separator
17783
+ });
17784
+ useStorage({
17785
+ state,
17786
+ storageKey
17787
+ });
17788
+ usePointerHandler({
17789
+ movement(value) {
17790
+ state.value.current = value;
17791
+ },
17792
+ separator,
17793
+ state,
17794
+ attachment
17795
+ });
17796
+ const minSize = computed(() => {
17797
+ const total = layoutSize.value;
17798
+ return Math.floor(aggregateCssValue(props.min, total, 0, Math.max) + separatorSize.value);
17799
+ });
17800
+ const maxSize = computed(() => {
17801
+ const total = layoutSize.value;
17802
+ return Math.floor(aggregateCssValue(props.max, total, total, Math.min) + separatorSize.value);
17803
+ });
17804
+ const initialSize = computed(() => {
17805
+ const total = layoutSize.value;
17806
+ return Math.floor(computeCssValue(props.initial, total, total * 0.5));
17807
+ });
17808
+ const orientation = computed(() => {
17809
+ if (attachment.value === "top" || attachment.value === "bottom") {
17810
+ return "horizontal";
17811
+ } else {
17812
+ return "vertical";
17813
+ }
17814
+ });
17815
+ const layoutElement = computed(() => {
17816
+ var _host$closest;
17817
+ if (!root.value) {
17818
+ return void 0;
17819
+ }
17820
+ const shadow = root.value.getRootNode();
17821
+ const host = shadow.host;
17822
+ return (_host$closest = host.closest("ce-page-layout")) !== null && _host$closest !== void 0 ? _host$closest : void 0;
17823
+ });
17824
+ watchEffect(() => {
17825
+ const {
17826
+ min,
17827
+ max,
17828
+ current: value
17829
+ } = state.value;
17830
+ if (root.value) {
17831
+ root.value.style.setProperty("--size", `${String(value)}px`);
17832
+ root.value.style.setProperty("--min", `${min}px`);
17833
+ root.value.style.setProperty("--max", `${max}px`);
17834
+ }
17835
+ if (separator.value) {
17836
+ separator.value.setAttribute("aria-valuemin", String(Math.floor(min)));
17837
+ separator.value.setAttribute("aria-valuemax", String(Math.floor(max)));
17838
+ separator.value.setAttribute("aria-valuenow", String(Math.floor(value)));
17839
+ }
17840
+ });
17841
+ onMounted(() => {
17842
+ if (separator.value) {
17843
+ const {
17844
+ flexBasis
17845
+ } = getComputedStyle(separator.value);
17846
+ separatorSize.value = computeCssValue(flexBasis, 0, 0);
17847
+ }
17848
+ layoutSize.value = getLayoutSize();
17849
+ state.value = {
17850
+ min: minSize.value,
17851
+ max: maxSize.value,
17852
+ current: clamp(initialSize.value, minSize.value, maxSize.value)
17853
+ };
17854
+ });
17855
+ useEventListener$1(window, "resize", debounce(onResize, 20));
17856
+ function onResize() {
17857
+ layoutSize.value = getLayoutSize();
17858
+ state.value = {
17859
+ min: minSize.value,
17860
+ max: maxSize.value,
17861
+ current: initialSize.value
17862
+ };
17863
+ }
17864
+ function getLayoutSize() {
17865
+ if (!layoutElement.value) {
17866
+ return 0;
17867
+ }
17868
+ switch (orientation.value) {
17869
+ case "horizontal": {
17870
+ return layoutElement.value.offsetHeight;
17871
+ }
17872
+ case "vertical": {
17873
+ return layoutElement.value.offsetWidth;
17874
+ }
17875
+ }
17876
+ }
17877
+ return (_ctx, _cache) => {
17878
+ return openBlock(), createElementBlock("div", {
17879
+ ref_key: "root",
17880
+ ref: root,
17881
+ class: normalizeClass(["resize", `resize--${unref(attachment)}`])
17882
+ }, [createElementVNode("div", {
17883
+ ref_key: "content",
17884
+ ref: content,
17885
+ class: "resize__content"
17886
+ }, [renderSlot(_ctx.$slots, "content")], 512), _cache[0] || (_cache[0] = createTextVNode()), !props.disabled ? (openBlock(), createElementBlock("div", {
17887
+ key: 0,
17888
+ ref_key: "separator",
17889
+ ref: separator,
17890
+ role: "separator",
17891
+ class: "resize__handle",
17892
+ tabindex: "0",
17893
+ "aria-orientation": orientation.value
17894
+ }, null, 8, _hoisted_1$5)) : (openBlock(), createElementBlock("div", {
17895
+ key: 1,
17896
+ role: "separator",
17897
+ class: "resize__handle disabled",
17898
+ "aria-orientation": orientation.value
17899
+ }, null, 8, _hoisted_2$2))], 2);
17900
+ };
17901
+ }
17902
+ });
17903
+ 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}';
17904
+ const FResizePane = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["styles", [_style_0]]]);
17905
+ const _hoisted_1$4 = {
17906
+ slot: "content"
17907
+ };
17908
+ const tagName = "ce-resize-pane";
17909
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
17910
+ __name: "FResizePane",
17911
+ props: {
17912
+ disabled: {
17913
+ type: Boolean,
17914
+ default: false
17915
+ },
17916
+ min: {
17917
+ default: "0"
17918
+ },
17919
+ max: {
17920
+ default: "100%"
17921
+ },
17922
+ initial: {
17923
+ default: "50%"
17924
+ }
17925
+ },
17926
+ setup(__props) {
17927
+ if (!customElements.get(tagName)) {
17928
+ customElements.define(tagName, defineCustomElement(FResizePane));
17929
+ }
17930
+ const props = __props;
17931
+ return (_ctx, _cache) => {
17932
+ return openBlock(), createBlock(resolveDynamicComponent(tagName), normalizeProps(guardReactiveProps(props)), {
17933
+ default: withCtx(() => [createElementVNode("div", _hoisted_1$4, [renderSlot(_ctx.$slots, "default")])]),
17934
+ _: 3
17935
+ }, 16);
17936
+ };
17937
+ }
17938
+ });
16852
17939
  const _sfc_main$3 = defineComponent({
16853
17940
  name: "FStaticField",
16854
17941
  components: {
@@ -17621,20 +18708,20 @@ export {
17621
18708
  ErrorPlugin,
17622
18709
  ErrorViewData,
17623
18710
  EventBus,
17624
- _sfc_main$1c as FBadge,
17625
- _sfc_main$z as FBankAccountNumberTextField,
17626
- _sfc_main$y as FBankgiroTextField,
18711
+ _sfc_main$1e as FBadge,
18712
+ _sfc_main$B as FBankAccountNumberTextField,
18713
+ _sfc_main$A as FBankgiroTextField,
17627
18714
  FCalendar,
17628
18715
  FCalendarDay,
17629
- _sfc_main$X as FCard,
18716
+ _sfc_main$Z as FCard,
17630
18717
  FCheckboxField,
17631
- _sfc_main$x as FClearingnumberTextField,
18718
+ _sfc_main$z as FClearingnumberTextField,
17632
18719
  FConfirmModal,
17633
18720
  FContextMenu,
17634
18721
  FCrudButton,
17635
- _sfc_main$J as FCrudDataset,
17636
- _sfc_main$B as FCurrencyTextField,
17637
- _sfc_main$p as FDataTable,
18722
+ _sfc_main$L as FCrudDataset,
18723
+ _sfc_main$D as FCurrencyTextField,
18724
+ _sfc_main$r as FDataTable,
17638
18725
  FDatepickerField,
17639
18726
  FDialogueTree,
17640
18727
  FEmailTextField,
@@ -17649,35 +18736,36 @@ export {
17649
18736
  FFormModal,
17650
18737
  FValidationFormAction as FFormModalAction,
17651
18738
  FIcon,
17652
- _sfc_main$i as FInteractiveTable,
18739
+ _sfc_main$k as FInteractiveTable,
17653
18740
  FKUIConfigButtonOrder,
17654
18741
  FLabel,
17655
18742
  FLayoutApplicationTemplate,
17656
18743
  FLayoutLeftPanel,
17657
18744
  FLayoutRightPanel,
17658
18745
  FLayoutRightPanelService,
17659
- _sfc_main$e as FList,
18746
+ _sfc_main$g as FList,
17660
18747
  FLoader,
17661
- _sfc_main$c as FLogo,
18748
+ _sfc_main$e as FLogo,
17662
18749
  FMessageBox,
17663
18750
  FModal,
17664
18751
  FNavigationMenu,
17665
- _sfc_main$w as FNumericTextField,
18752
+ _sfc_main$y as FNumericTextField,
17666
18753
  FOffline,
17667
- _sfc_main$r as FOrganisationsnummerTextField,
18754
+ _sfc_main$t as FOrganisationsnummerTextField,
17668
18755
  FOutputField,
17669
18756
  FPageHeader,
17670
- _sfc_main$6 as FPageLayout,
17671
- _sfc_main$s as FPercentTextField,
17672
- _sfc_main$v as FPersonnummerTextField,
18757
+ _sfc_main$8 as FPageLayout,
18758
+ _sfc_main$u as FPercentTextField,
18759
+ _sfc_main$x as FPersonnummerTextField,
17673
18760
  FPhoneTextField,
17674
- _sfc_main$u as FPlusgiroTextField,
17675
- _sfc_main$t as FPostalCodeTextField,
17676
- _sfc_main$5 as FProgressbar,
18761
+ _sfc_main$w as FPlusgiroTextField,
18762
+ _sfc_main$v as FPostalCodeTextField,
18763
+ _sfc_main$7 as FProgressbar,
17677
18764
  FRadioField,
18765
+ _sfc_main$4 as FResizePane,
17678
18766
  FSearchTextField,
17679
18767
  FSelectField,
17680
- _sfc_main$q as FSortFilterDataset,
18768
+ _sfc_main$s as FSortFilterDataset,
17681
18769
  FSortFilterDatasetInjected,
17682
18770
  FStaticField,
17683
18771
  FTableColumn,
@@ -17698,13 +18786,13 @@ export {
17698
18786
  ICalendarMonth,
17699
18787
  ICalendarMonthGrid,
17700
18788
  ICalendarNavbar,
17701
- _sfc_main$P as IComboboxDropdown,
17702
- _sfc_main$O as IComboboxToggleButton,
18789
+ _sfc_main$R as IComboboxDropdown,
18790
+ _sfc_main$Q as IComboboxToggleButton,
17703
18791
  IFlex,
17704
18792
  IFlexItem,
17705
18793
  IPopup,
17706
18794
  IPopupError,
17707
- _sfc_main$T as IPopupListbox,
18795
+ _sfc_main$V as IPopupListbox,
17708
18796
  IPopupMenu,
17709
18797
  ISkipLink,
17710
18798
  FValidationForm as IValidationForm,