@fkui/vue 6.3.1 → 6.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
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
- 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";
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, effectScope } from "vue";
2
+ import { TranslationService, isSet, configLogic, focus as focus$1, ElementIdService, findTabbableElements, popFocus, pushFocus, scrollTo, documentOrderComparator, ValidationService, availableValidators, 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
5
  const _sfc_main$1e = /* @__PURE__ */ defineComponent({
@@ -1970,17 +1970,17 @@ const _export_sfc = (sfc, props) => {
1970
1970
  return target;
1971
1971
  };
1972
1972
  const _hoisted_1$X = ["aria-hidden"];
1973
- const _hoisted_2$G = ["xlink:href"];
1974
- function _sfc_render$R(_ctx, _cache, $props, $setup, $data, $options) {
1973
+ const _hoisted_2$G = ["href"];
1974
+ function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
1975
1975
  return openBlock(), createElementBlock("svg", mergeProps(_ctx.$attrs, {
1976
1976
  focusable: "false",
1977
1977
  class: ["icon", [_ctx.spriteKey, ..._ctx.modifiers]],
1978
1978
  "aria-hidden": _ctx.ariaHidden
1979
1979
  }), [renderSlot(_ctx.$slots, "default"), _cache[0] || (_cache[0] = createTextVNode()), createElementVNode("use", {
1980
- "xlink:href": _ctx.spriteId
1980
+ href: _ctx.spriteId
1981
1981
  }, null, 8, _hoisted_2$G)], 16, _hoisted_1$X);
1982
1982
  }
1983
- const FIcon = /* @__PURE__ */ _export_sfc(_sfc_main$1d, [["render", _sfc_render$R]]);
1983
+ const FIcon = /* @__PURE__ */ _export_sfc(_sfc_main$1d, [["render", _sfc_render$Q]]);
1984
1984
  const DATA_TEST_ATTRIBUTE_NAME = "data-test";
1985
1985
  function throwErrorIfEmpty(value) {
1986
1986
  if (!value) {
@@ -4602,7 +4602,7 @@ const _hoisted_1$W = ["id"];
4602
4602
  const _hoisted_2$F = {
4603
4603
  class: "modal__backdrop"
4604
4604
  };
4605
- const _hoisted_3$w = {
4605
+ const _hoisted_3$x = {
4606
4606
  class: "modal__inner-container"
4607
4607
  };
4608
4608
  const _hoisted_4$q = {
@@ -4632,7 +4632,7 @@ const _hoisted_10$3 = {
4632
4632
  class: "modal__shelf"
4633
4633
  };
4634
4634
  const _hoisted_11$3 = ["aria-label"];
4635
- function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
4635
+ function _sfc_render$P(_ctx, _cache, $props, $setup, $data, $options) {
4636
4636
  const _component_f_icon = resolveComponent("f-icon");
4637
4637
  return _ctx.isOpen ? (openBlock(), createElementBlock("div", {
4638
4638
  key: 0,
@@ -4644,7 +4644,7 @@ function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
4644
4644
  role: "dialog",
4645
4645
  "aria-modal": "true",
4646
4646
  onKeyup: _cache[3] || (_cache[3] = withKeys((...args) => _ctx.onClose && _ctx.onClose(...args), ["esc"]))
4647
- }, [createElementVNode("div", _hoisted_3$w, [createElementVNode("div", {
4647
+ }, [createElementVNode("div", _hoisted_3$x, [createElementVNode("div", {
4648
4648
  ref: "modalDialogContainer",
4649
4649
  class: normalizeClass(["modal__dialog-container", _ctx.containerClasses])
4650
4650
  }, [createElementVNode("div", _hoisted_4$q, [createElementVNode("div", _hoisted_5$l, [createElementVNode("div", _hoisted_6$g, [createElementVNode("div", {
@@ -4662,7 +4662,7 @@ function _sfc_render$Q(_ctx, _cache, $props, $setup, $data, $options) {
4662
4662
  onFocus: _cache[2] || (_cache[2] = (...args) => _ctx.onFocusLast && _ctx.onFocusLast(...args))
4663
4663
  }, null, 32)])])], 2)])], 32)])], 10, _hoisted_1$W)) : createCommentVNode("", true);
4664
4664
  }
4665
- const FModal = /* @__PURE__ */ _export_sfc(_sfc_main$1c, [["render", _sfc_render$Q]]);
4665
+ const FModal = /* @__PURE__ */ _export_sfc(_sfc_main$1c, [["render", _sfc_render$P]]);
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;
@@ -4799,11 +4799,11 @@ const _hoisted_1$V = {
4799
4799
  class: "button-group"
4800
4800
  };
4801
4801
  const _hoisted_2$E = ["onClick"];
4802
- const _hoisted_3$v = {
4802
+ const _hoisted_3$w = {
4803
4803
  key: 0,
4804
4804
  class: "sr-only"
4805
4805
  };
4806
- function _sfc_render$P(_ctx, _cache, $props, $setup, $data, $options) {
4806
+ function _sfc_render$O(_ctx, _cache, $props, $setup, $data, $options) {
4807
4807
  const _component_f_modal = resolveComponent("f-modal");
4808
4808
  return openBlock(), createBlock(_component_f_modal, {
4809
4809
  fullscreen: _ctx.fullscreen,
@@ -4822,12 +4822,12 @@ function _sfc_render$P(_ctx, _cache, $props, $setup, $data, $options) {
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$E);
4825
+ }, [createElementVNode("span", null, toDisplayString(button.label), 1), _cache[0] || (_cache[0] = createTextVNode()), button.screenreader ? (openBlock(), createElementBlock("span", _hoisted_3$w, " " + toDisplayString(button.screenreader), 1)) : createCommentVNode("", true)], 10, _hoisted_2$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$1b, [["render", _sfc_render$P]]);
4830
+ const FConfirmModal = /* @__PURE__ */ _export_sfc(_sfc_main$1b, [["render", _sfc_render$O]]);
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"];
@@ -4906,12 +4906,12 @@ const _sfc_main$1a = defineComponent({
4906
4906
  }
4907
4907
  }
4908
4908
  });
4909
- function _sfc_render$O(_ctx, _cache, $props, $setup, $data, $options) {
4909
+ function _sfc_render$N(_ctx, _cache, $props, $setup, $data, $options) {
4910
4910
  return openBlock(), createElementBlock("div", {
4911
4911
  class: normalizeClass(["iflex", _ctx.classList])
4912
4912
  }, [renderSlot(_ctx.$slots, "default")], 2);
4913
4913
  }
4914
- const IFlex = /* @__PURE__ */ _export_sfc(_sfc_main$1a, [["render", _sfc_render$O]]);
4914
+ const IFlex = /* @__PURE__ */ _export_sfc(_sfc_main$1a, [["render", _sfc_render$N]]);
4915
4915
  const _sfc_main$19 = defineComponent({
4916
4916
  name: "IFlexItem",
4917
4917
  inheritAttrs: true,
@@ -4959,12 +4959,12 @@ const _sfc_main$19 = defineComponent({
4959
4959
  }
4960
4960
  }
4961
4961
  });
4962
- function _sfc_render$N(_ctx, _cache, $props, $setup, $data, $options) {
4962
+ function _sfc_render$M(_ctx, _cache, $props, $setup, $data, $options) {
4963
4963
  return openBlock(), createElementBlock("div", {
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$19, [["render", _sfc_render$N]]);
4967
+ const IFlexItem = /* @__PURE__ */ _export_sfc(_sfc_main$19, [["render", _sfc_render$M]]);
4968
4968
  function focusError(item) {
4969
4969
  const element = document.querySelector(`#${item.id}`);
4970
4970
  if (!element) {
@@ -5036,14 +5036,14 @@ const _hoisted_1$U = {
5036
5036
  const _hoisted_2$D = {
5037
5037
  key: 0
5038
5038
  };
5039
- const _hoisted_3$u = {
5039
+ const _hoisted_3$v = {
5040
5040
  class: "error-list__list error-list--list-style-none"
5041
5041
  };
5042
5042
  const _hoisted_4$p = ["onClick"];
5043
5043
  const _hoisted_5$k = {
5044
5044
  class: "error-list__link"
5045
5045
  };
5046
- function _sfc_render$M(_ctx, _cache, $props, $setup, $data, $options) {
5046
+ function _sfc_render$L(_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");
@@ -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$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) => {
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$v, [(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$18, [["render", _sfc_render$M]]);
5100
+ const FErrorList = /* @__PURE__ */ _export_sfc(_sfc_main$18, [["render", _sfc_render$L]]);
5101
5101
  var es_iterator_every = {};
5102
5102
  var hasRequiredEs_iterator_every;
5103
5103
  function requireEs_iterator_every() {
@@ -5255,13 +5255,13 @@ const _sfc_main$17 = defineComponent({
5255
5255
  }
5256
5256
  }
5257
5257
  });
5258
- function _sfc_render$L(_ctx, _cache, $props, $setup, $data, $options) {
5258
+ function _sfc_render$K(_ctx, _cache, $props, $setup, $data, $options) {
5259
5259
  return openBlock(), createElementBlock("div", {
5260
5260
  onComponentValidity: _cache[0] || (_cache[0] = (...args) => _ctx.onComponentValidity && _ctx.onComponentValidity(...args)),
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$17, [["render", _sfc_render$L]]);
5264
+ const FValidationGroup = /* @__PURE__ */ _export_sfc(_sfc_main$17, [["render", _sfc_render$K]]);
5265
5265
  var FValidationFormAction = /* @__PURE__ */ ((FValidationFormAction2) => {
5266
5266
  FValidationFormAction2[FValidationFormAction2["CONTINUE"] = 0] = "CONTINUE";
5267
5267
  FValidationFormAction2[FValidationFormAction2["CANCEL"] = 1] = "CANCEL";
@@ -5413,7 +5413,7 @@ const _hoisted_2$C = {
5413
5413
  tabindex: "-1",
5414
5414
  role: "group"
5415
5415
  };
5416
- function _sfc_render$K(_ctx, _cache, $props, $setup, $data, $options) {
5416
+ function _sfc_render$J(_ctx, _cache, $props, $setup, $data, $options) {
5417
5417
  const _component_f_error_list = resolveComponent("f-error-list");
5418
5418
  const _component_f_validation_group = resolveComponent("f-validation-group");
5419
5419
  return openBlock(), createBlock(_component_f_validation_group, {
@@ -5439,7 +5439,7 @@ function _sfc_render$K(_ctx, _cache, $props, $setup, $data, $options) {
5439
5439
  _: 3
5440
5440
  }, 8, ["modelValue"]);
5441
5441
  }
5442
- const FValidationForm = /* @__PURE__ */ _export_sfc(_sfc_main$16, [["render", _sfc_render$K]]);
5442
+ const FValidationForm = /* @__PURE__ */ _export_sfc(_sfc_main$16, [["render", _sfc_render$J]]);
5443
5443
  const _sfc_main$15 = defineComponent({
5444
5444
  name: "FFormModal",
5445
5445
  components: {
@@ -5538,6 +5538,14 @@ const _sfc_main$15 = defineComponent({
5538
5538
  default() {
5539
5539
  }
5540
5540
  },
5541
+ /**
5542
+ * List of buttons to display in the modal.
5543
+ * Each button is defined as an FModalButtonDescriptor with the following properties:
5544
+ * - `label` (String): The text displayed on the button.
5545
+ * - `event` (String): The event emitted when the button is clicked.
5546
+ * - `type` (String): The button type. Valid values are: "primary" or "secondary".
5547
+ * - `submitButton` (Boolean): Whether the button is a submit button.
5548
+ */
5541
5549
  buttons: {
5542
5550
  type: Array,
5543
5551
  required: false,
@@ -5593,11 +5601,11 @@ const _hoisted_1$S = {
5593
5601
  class: "button-group"
5594
5602
  };
5595
5603
  const _hoisted_2$B = ["type", "form", "onClick"];
5596
- const _hoisted_3$t = {
5604
+ const _hoisted_3$u = {
5597
5605
  key: 0,
5598
5606
  class: "sr-only"
5599
5607
  };
5600
- function _sfc_render$J(_ctx, _cache, $props, $setup, $data, $options) {
5608
+ function _sfc_render$I(_ctx, _cache, $props, $setup, $data, $options) {
5601
5609
  const _component_f_validation_form = resolveComponent("f-validation-form");
5602
5610
  const _component_f_modal = resolveComponent("f-modal");
5603
5611
  return openBlock(), createBlock(_component_f_modal, {
@@ -5628,12 +5636,12 @@ function _sfc_render$J(_ctx, _cache, $props, $setup, $data, $options) {
5628
5636
  class: normalizeClass([button.classlist, "button-group__item"]),
5629
5637
  form: button.buttonType === "submit" ? _ctx.formId : void 0,
5630
5638
  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$B);
5639
+ }, [createElementVNode("span", null, toDisplayString(button.label), 1), _cache[2] || (_cache[2] = createTextVNode()), button.screenreader ? (openBlock(), createElementBlock("span", _hoisted_3$u, " " + toDisplayString(button.screenreader), 1)) : createCommentVNode("", true)], 10, _hoisted_2$B);
5632
5640
  }), 128))])]),
5633
5641
  _: 3
5634
5642
  }, 8, ["data-test", "fullscreen", "is-open", "size", "aria-close-text", "onClose"]);
5635
5643
  }
5636
- const FFormModal = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["render", _sfc_render$J]]);
5644
+ const FFormModal = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["render", _sfc_render$I]]);
5637
5645
  async function confirmModal(callingInstance, texts) {
5638
5646
  const buttons = [{
5639
5647
  label: texts.confirm,
@@ -5950,6 +5958,9 @@ const ValidationPrefixDirective = {
5950
5958
  };
5951
5959
  const ValidationPlugin = {
5952
5960
  install(app) {
5961
+ for (const validator of availableValidators) {
5962
+ ValidationService.registerValidator(validator);
5963
+ }
5953
5964
  app.directive("validation", ValidationDirective);
5954
5965
  app.directive("validationPrefix", ValidationPrefixDirective);
5955
5966
  }
@@ -6006,12 +6017,12 @@ const _sfc_main$14 = defineComponent({
6006
6017
  const _hoisted_1$R = {
6007
6018
  "data-test": "f-error-page"
6008
6019
  };
6009
- function _sfc_render$I(_ctx, _cache, $props, $setup, $data, $options) {
6020
+ function _sfc_render$H(_ctx, _cache, $props, $setup, $data, $options) {
6010
6021
  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
6022
  href: "/"
6012
6023
  }, "Gå till startsidan", -1)]));
6013
6024
  }
6014
- const FErrorPage = /* @__PURE__ */ _export_sfc(_sfc_main$14, [["render", _sfc_render$I]]);
6025
+ const FErrorPage = /* @__PURE__ */ _export_sfc(_sfc_main$14, [["render", _sfc_render$H]]);
6015
6026
  const _sfc_main$13 = defineComponent({
6016
6027
  name: "FErrorHandlingApp",
6017
6028
  props: {
@@ -6041,7 +6052,7 @@ const _sfc_main$13 = defineComponent({
6041
6052
  });
6042
6053
  }
6043
6054
  });
6044
- function _sfc_render$H(_ctx, _cache, $props, $setup, $data, $options) {
6055
+ function _sfc_render$G(_ctx, _cache, $props, $setup, $data, $options) {
6045
6056
  return openBlock(), createElementBlock("div", null, [_ctx.hasError ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.errorComponent), {
6046
6057
  key: 0,
6047
6058
  payload: _ctx.payload
@@ -6051,7 +6062,7 @@ function _sfc_render$H(_ctx, _cache, $props, $setup, $data, $options) {
6051
6062
  key: 2
6052
6063
  })]);
6053
6064
  }
6054
- const FErrorHandlingApp = /* @__PURE__ */ _export_sfc(_sfc_main$13, [["render", _sfc_render$H]]);
6065
+ const FErrorHandlingApp = /* @__PURE__ */ _export_sfc(_sfc_main$13, [["render", _sfc_render$G]]);
6055
6066
  function isMonthBefore(date, minDate) {
6056
6067
  return Boolean(minDate && date.isBefore(minDate.startOfMonth()));
6057
6068
  }
@@ -6212,7 +6223,7 @@ const _hoisted_2$A = {
6212
6223
  class: "calendar-navbar__month",
6213
6224
  tabindex: "-1"
6214
6225
  };
6215
- const _hoisted_3$s = ["aria-disabled", "aria-live"];
6226
+ const _hoisted_3$t = ["aria-disabled", "aria-live"];
6216
6227
  const _hoisted_4$o = {
6217
6228
  class: "sr-only"
6218
6229
  };
@@ -6220,7 +6231,7 @@ const _hoisted_5$j = ["aria-disabled", "aria-live"];
6220
6231
  const _hoisted_6$f = {
6221
6232
  class: "sr-only"
6222
6233
  };
6223
- function _sfc_render$G(_ctx, _cache, $props, $setup, $data, $options) {
6234
+ function _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {
6224
6235
  const _component_f_icon = resolveComponent("f-icon");
6225
6236
  return openBlock(), createElementBlock("div", _hoisted_1$Q, [createElementVNode("div", _hoisted_2$A, toDisplayString(_ctx.currentText), 1), _cache[4] || (_cache[4] = createTextVNode()), createElementVNode("button", {
6226
6237
  ref: "previousButton",
@@ -6232,7 +6243,7 @@ function _sfc_render$G(_ctx, _cache, $props, $setup, $data, $options) {
6232
6243
  }, [createElementVNode("span", _hoisted_4$o, toDisplayString(_ctx.previousSrText), 1), _cache[2] || (_cache[2] = createTextVNode()), createVNode(_component_f_icon, {
6233
6244
  class: normalizeClass(_ctx.previousIconClasses),
6234
6245
  name: "arrow-right"
6235
- }, null, 8, ["class"])], 8, _hoisted_3$s), _cache[5] || (_cache[5] = createTextVNode()), createElementVNode("button", {
6246
+ }, null, 8, ["class"])], 8, _hoisted_3$t), _cache[5] || (_cache[5] = createTextVNode()), createElementVNode("button", {
6236
6247
  ref: "nextButton",
6237
6248
  class: "calendar-navbar__arrow calendar-navbar__arrow--next",
6238
6249
  type: "button",
@@ -6244,7 +6255,7 @@ function _sfc_render$G(_ctx, _cache, $props, $setup, $data, $options) {
6244
6255
  name: "arrow-right"
6245
6256
  }, null, 8, ["class"])], 8, _hoisted_5$j)]);
6246
6257
  }
6247
- const ICalendarNavbar = /* @__PURE__ */ _export_sfc(_sfc_main$12, [["render", _sfc_render$G]]);
6258
+ const ICalendarNavbar = /* @__PURE__ */ _export_sfc(_sfc_main$12, [["render", _sfc_render$F]]);
6248
6259
  function getDayStartOffset(days) {
6249
6260
  return days[0].weekDay - 1;
6250
6261
  }
@@ -6330,7 +6341,7 @@ const _hoisted_2$z = {
6330
6341
  key: 0,
6331
6342
  class: "calendar-month__col--week"
6332
6343
  };
6333
- const _hoisted_3$r = {
6344
+ const _hoisted_3$s = {
6334
6345
  key: 0,
6335
6346
  scope: "col",
6336
6347
  "aria-hidden": "true",
@@ -6357,7 +6368,7 @@ const _hoisted_11$2 = {
6357
6368
  "aria-hidden": "true"
6358
6369
  };
6359
6370
  const _hoisted_12$2 = ["colspan"];
6360
- function _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {
6371
+ function _sfc_render$E(_ctx, _cache, $props, $setup, $data, $options) {
6361
6372
  return openBlock(), createElementBlock("table", {
6362
6373
  class: "calendar-month__table",
6363
6374
  role: "grid",
@@ -6378,7 +6389,7 @@ function _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {
6378
6389
  class: "calendar-month__col--day"
6379
6390
  }, null, -1)), _cache[14] || (_cache[14] = createTextVNode()), _cache[15] || (_cache[15] = createElementVNode("col", {
6380
6391
  class: "calendar-month__col--day"
6381
- }, null, -1))]), _cache[22] || (_cache[22] = createTextVNode()), createElementVNode("thead", null, [createElementVNode("tr", null, [!_ctx.internalHideWeekNumbers ? (openBlock(), createElementBlock("th", _hoisted_3$r)) : createCommentVNode("", true), _cache[16] || (_cache[16] = createTextVNode()), (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.weekdays, (weekday) => {
6392
+ }, null, -1))]), _cache[22] || (_cache[22] = createTextVNode()), createElementVNode("thead", null, [createElementVNode("tr", null, [!_ctx.internalHideWeekNumbers ? (openBlock(), createElementBlock("th", _hoisted_3$s)) : createCommentVNode("", true), _cache[16] || (_cache[16] = createTextVNode()), (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.weekdays, (weekday) => {
6382
6393
  return openBlock(), createElementBlock("th", {
6383
6394
  key: weekday.name,
6384
6395
  scope: "col",
@@ -6420,7 +6431,7 @@ function _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {
6420
6431
  "aria-hidden": "true"
6421
6432
  }, null, 8, _hoisted_12$2)])) : createCommentVNode("", true)])], 40, _hoisted_1$P);
6422
6433
  }
6423
- const ICalendarMonthGrid = /* @__PURE__ */ _export_sfc(_sfc_main$11, [["render", _sfc_render$F]]);
6434
+ const ICalendarMonthGrid = /* @__PURE__ */ _export_sfc(_sfc_main$11, [["render", _sfc_render$E]]);
6424
6435
  const DayStep = {
6425
6436
  ArrowRight: 1,
6426
6437
  ArrowLeft: -1,
@@ -6535,7 +6546,7 @@ const _sfc_main$10 = defineComponent({
6535
6546
  }
6536
6547
  });
6537
6548
  const _hoisted_1$O = ["data-date", "tabindex", "onClick", "onKeydown"];
6538
- function _sfc_render$E(_ctx, _cache, $props, $setup, $data, $options) {
6549
+ function _sfc_render$D(_ctx, _cache, $props, $setup, $data, $options) {
6539
6550
  const _component_i_calendar_month_grid = resolveComponent("i-calendar-month-grid");
6540
6551
  return openBlock(), createBlock(_component_i_calendar_month_grid, {
6541
6552
  value: _ctx.modelValue
@@ -6558,7 +6569,7 @@ function _sfc_render$E(_ctx, _cache, $props, $setup, $data, $options) {
6558
6569
  _: 3
6559
6570
  }, 8, ["value"]);
6560
6571
  }
6561
- const ICalendarMonth = /* @__PURE__ */ _export_sfc(_sfc_main$10, [["render", _sfc_render$E]]);
6572
+ const ICalendarMonth = /* @__PURE__ */ _export_sfc(_sfc_main$10, [["render", _sfc_render$D]]);
6562
6573
  const _sfc_main$$ = defineComponent({
6563
6574
  name: "FCalendar",
6564
6575
  components: {
@@ -6613,7 +6624,7 @@ const _sfc_main$$ = defineComponent({
6613
6624
  const _hoisted_1$N = {
6614
6625
  class: "calendar__wrapper"
6615
6626
  };
6616
- function _sfc_render$D(_ctx, _cache, $props, $setup, $data, $options) {
6627
+ function _sfc_render$C(_ctx, _cache, $props, $setup, $data, $options) {
6617
6628
  const _component_i_calendar_navbar = resolveComponent("i-calendar-navbar");
6618
6629
  const _component_i_calendar_month = resolveComponent("i-calendar-month");
6619
6630
  return openBlock(), createElementBlock("div", _hoisted_1$N, [createVNode(_component_i_calendar_navbar, {
@@ -6639,7 +6650,7 @@ function _sfc_render$D(_ctx, _cache, $props, $setup, $data, $options) {
6639
6650
  _: 3
6640
6651
  }, 8, ["model-value", "min-date", "max-date", "tab-date", "onClick", "onUpdate:modelValue"])]);
6641
6652
  }
6642
- const FCalendar = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["render", _sfc_render$D]]);
6653
+ const FCalendar = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["render", _sfc_render$C]]);
6643
6654
  function getCalendarDaySrText(day, enabled, selected, t) {
6644
6655
  const parts = [];
6645
6656
  if (!enabled) {
@@ -6729,12 +6740,12 @@ const _hoisted_1$M = {
6729
6740
  const _hoisted_2$y = {
6730
6741
  class: "sr-only"
6731
6742
  };
6732
- function _sfc_render$C(_ctx, _cache, $props, $setup, $data, $options) {
6743
+ function _sfc_render$B(_ctx, _cache, $props, $setup, $data, $options) {
6733
6744
  return openBlock(), createElementBlock("span", {
6734
6745
  class: normalizeClass(_ctx.dayClasses)
6735
6746
  }, [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
6747
  }
6737
- const FCalendarDay = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["render", _sfc_render$C]]);
6748
+ const FCalendarDay = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["render", _sfc_render$B]]);
6738
6749
  function useEventListener$1(target, event, callback) {
6739
6750
  onMounted(() => {
6740
6751
  var _a;
@@ -6760,7 +6771,7 @@ const _hoisted_2$x = {
6760
6771
  key: 0,
6761
6772
  class: "card__header"
6762
6773
  };
6763
- const _hoisted_3$q = {
6774
+ const _hoisted_3$r = {
6764
6775
  class: "card__content"
6765
6776
  };
6766
6777
  const _hoisted_4$m = {
@@ -6805,6 +6816,9 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
6805
6816
  if (!isMounted.value) {
6806
6817
  return;
6807
6818
  }
6819
+ if (detail.elementId !== props.id) {
6820
+ return;
6821
+ }
6808
6822
  if (!props.focusRef) {
6809
6823
  throw new Error("Element to focus on when card is invalid (`focusRef`) is required when using card validation.");
6810
6824
  }
@@ -6850,7 +6864,7 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
6850
6864
  _: 1
6851
6865
  })]),
6852
6866
  _: 1
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({
6867
+ })) : createCommentVNode("", true)]), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("div", _hoisted_3$r, [renderSlot(_ctx.$slots, "default")]), _cache[3] || (_cache[3] = createTextVNode()), hasFooterSlot.value ? (openBlock(), createElementBlock("div", _hoisted_4$m, [renderSlot(_ctx.$slots, "footer", normalizeProps(guardReactiveProps({
6854
6868
  hasError: hasError.value,
6855
6869
  validationMessage: validationMessage.value
6856
6870
  })))])) : createCommentVNode("", true)], 42, _hoisted_1$L);
@@ -6911,7 +6925,7 @@ const _sfc_main$Y = defineComponent({
6911
6925
  }
6912
6926
  }
6913
6927
  });
6914
- function _sfc_render$B(_ctx, _cache, $props, $setup, $data, $options) {
6928
+ function _sfc_render$A(_ctx, _cache, $props, $setup, $data, $options) {
6915
6929
  return openBlock(), createBlock(Transition, {
6916
6930
  onEnter: _ctx.enter,
6917
6931
  onAfterEnter: _ctx.afterEnter,
@@ -6923,7 +6937,7 @@ function _sfc_render$B(_ctx, _cache, $props, $setup, $data, $options) {
6923
6937
  _: 3
6924
6938
  }, 8, ["onEnter", "onAfterEnter", "onLeave"]);
6925
6939
  }
6926
- const FExpand = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["render", _sfc_render$B]]);
6940
+ const FExpand = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["render", _sfc_render$A]]);
6927
6941
  function offset(page, el) {
6928
6942
  const rect = el.getBoundingClientRect();
6929
6943
  return {
@@ -7489,7 +7503,7 @@ const _sfc_main$X = defineComponent({
7489
7503
  }
7490
7504
  }
7491
7505
  });
7492
- function _sfc_render$A(_ctx, _cache, $props, $setup, $data, $options) {
7506
+ function _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {
7493
7507
  return _ctx.isOpen ? (openBlock(), createBlock(Teleport, {
7494
7508
  key: 0,
7495
7509
  to: _ctx.teleportTarget,
@@ -7510,7 +7524,7 @@ function _sfc_render$A(_ctx, _cache, $props, $setup, $data, $options) {
7510
7524
  placement: _ctx.placement
7511
7525
  })))], 544)], 16)], 8, ["to", "disabled"])) : createCommentVNode("", true);
7512
7526
  }
7513
- const IPopup = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["render", _sfc_render$A]]);
7527
+ const IPopup = /* @__PURE__ */ _export_sfc(_sfc_main$X, [["render", _sfc_render$z]]);
7514
7528
  function computeArrowOffset(placement, inputIconRect, wrapperRect) {
7515
7529
  switch (placement) {
7516
7530
  case Placement.A: {
@@ -7716,7 +7730,7 @@ const _hoisted_1$K = {
7716
7730
  ref: "wrapper",
7717
7731
  class: "popup-error__wrapper"
7718
7732
  };
7719
- function _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {
7733
+ function _sfc_render$y(_ctx, _cache, $props, $setup, $data, $options) {
7720
7734
  const _component_f_icon = resolveComponent("f-icon");
7721
7735
  return _ctx.isOpen ? (openBlock(), createBlock(Teleport, {
7722
7736
  key: 0,
@@ -7740,7 +7754,7 @@ function _sfc_render$z(_ctx, _cache, $props, $setup, $data, $options) {
7740
7754
  class: "button__icon"
7741
7755
  })])], 6)], 512)], 2)], 8, ["to", "disabled"])) : createCommentVNode("", true);
7742
7756
  }
7743
- const IPopupError = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["render", _sfc_render$z]]);
7757
+ const IPopupError = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["render", _sfc_render$y]]);
7744
7758
  function numItems(itemHeight, availableHeight, verticalSpacing) {
7745
7759
  const itemsFit = Math.floor((availableHeight - verticalSpacing) / itemHeight);
7746
7760
  return Math.min(itemsFit, 7);
@@ -8270,13 +8284,13 @@ const _hoisted_2$v = {
8270
8284
  role: "menu",
8271
8285
  class: "ipopupmenu__list"
8272
8286
  };
8273
- const _hoisted_3$p = ["onClick"];
8287
+ const _hoisted_3$q = ["onClick"];
8274
8288
  const _hoisted_4$l = ["data-ref-index", "href", "target"];
8275
8289
  const _hoisted_5$h = {
8276
8290
  key: 0,
8277
8291
  class: "sr-only"
8278
8292
  };
8279
- function _sfc_render$y(_ctx, _cache, $props, $setup, $data, $options) {
8293
+ function _sfc_render$x(_ctx, _cache, $props, $setup, $data, $options) {
8280
8294
  const _component_i_popup = resolveComponent("i-popup");
8281
8295
  return openBlock(), createBlock(_component_i_popup, {
8282
8296
  class: "ipopupmenu",
@@ -8307,12 +8321,12 @@ function _sfc_render$y(_ctx, _cache, $props, $setup, $data, $options) {
8307
8321
  role: "menuitem",
8308
8322
  target: item.target,
8309
8323
  tabindex: "0"
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);
8324
+ }, [_ctx.isSelected(index) ? (openBlock(), createElementBlock("span", _hoisted_5$h, [createElementVNode("span", null, toDisplayString(_ctx.selectedMenuItemScreenReaderText) + " ", 1)])) : createCommentVNode("", true), createTextVNode(" " + toDisplayString(item.label), 1)], 8, _hoisted_4$l)], 10, _hoisted_3$q);
8311
8325
  }), 128))])], 8, _hoisted_1$I)]),
8312
8326
  _: 1
8313
8327
  }, 8, ["is-open", "anchor", "focus-element", "onKeyup", "onKeydown"]);
8314
8328
  }
8315
- const IPopupMenu = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["render", _sfc_render$y]]);
8329
+ const IPopupMenu = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["render", _sfc_render$x]]);
8316
8330
  const ANIMATION_DURATION = 500;
8317
8331
  const NO_CSS_CLASSES = "";
8318
8332
  const CLOSED_CSS_CLASS_OPACITY = "animate-expand animate-expand--opacity";
@@ -8515,13 +8529,13 @@ const _hoisted_1$H = {
8515
8529
  ref: "content",
8516
8530
  "data-test": "animation-content"
8517
8531
  };
8518
- function _sfc_render$x(_ctx, _cache, $props, $setup, $data, $options) {
8532
+ function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
8519
8533
  return openBlock(), createElementBlock("div", {
8520
8534
  class: normalizeClass(_ctx.animationClasses),
8521
8535
  style: normalizeStyle(_ctx.heightStyle)
8522
8536
  }, [_ctx.shouldVIf ? withDirectives((openBlock(), createElementBlock("div", _hoisted_1$H, [renderSlot(_ctx.$slots, "default")], 512)), [[vShow, _ctx.shouldVShow]]) : createCommentVNode("", true)], 6);
8523
8537
  }
8524
- const IAnimateExpand = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["render", _sfc_render$x]]);
8538
+ const IAnimateExpand = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["render", _sfc_render$w]]);
8525
8539
  const _sfc_main$S = defineComponent({
8526
8540
  name: "ISkipLink",
8527
8541
  mixins: [TranslationMixin],
@@ -8537,13 +8551,13 @@ const _sfc_main$S = defineComponent({
8537
8551
  }
8538
8552
  });
8539
8553
  const _hoisted_1$G = ["href"];
8540
- function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
8554
+ function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
8541
8555
  return openBlock(), createElementBlock("a", {
8542
8556
  class: "iskiplink",
8543
8557
  href: _ctx.href
8544
8558
  }, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(_ctx.$t("fkui.skip-link.text", "Gå direkt till innehåll")), 1)])], 8, _hoisted_1$G);
8545
8559
  }
8546
- const ISkipLink = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["render", _sfc_render$w]]);
8560
+ const ISkipLink = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["render", _sfc_render$v]]);
8547
8561
  function filterOptions(options, filter2, selectMode) {
8548
8562
  if (isEmpty(filter2) || selectMode) {
8549
8563
  return options;
@@ -8793,7 +8807,7 @@ const _hoisted_1$F = {
8793
8807
  class: "combobox"
8794
8808
  };
8795
8809
  const _hoisted_2$u = ["id"];
8796
- const _hoisted_3$o = ["id", "aria-selected", "onClick"];
8810
+ const _hoisted_3$p = ["id", "aria-selected", "onClick"];
8797
8811
  const _sfc_main$R = /* @__PURE__ */ defineComponent({
8798
8812
  __name: "IComboboxDropdown",
8799
8813
  props: {
@@ -8855,7 +8869,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
8855
8869
  "combobox__listbox__option--highlight": isOptionActive(item)
8856
8870
  }]),
8857
8871
  onClick: withModifiers(($event) => onOptionClick(item), ["stop", "prevent"])
8858
- }, toDisplayString(item), 11, _hoisted_3$o);
8872
+ }, toDisplayString(item), 11, _hoisted_3$p);
8859
8873
  }), 128))], 8, _hoisted_2$u)]),
8860
8874
  _: 1
8861
8875
  }, 8, ["is-open", "anchor", "num-of-items", "active-element"])]);
@@ -9147,7 +9161,7 @@ const _hoisted_1$D = ["aria-expanded"];
9147
9161
  const _hoisted_2$t = {
9148
9162
  class: "icon-stack icon-stack--tooltip"
9149
9163
  };
9150
- const _hoisted_3$n = {
9164
+ const _hoisted_3$o = {
9151
9165
  class: "sr-only"
9152
9166
  };
9153
9167
  const _hoisted_4$k = {
@@ -9161,7 +9175,7 @@ const _hoisted_5$g = {
9161
9175
  const _hoisted_6$d = {
9162
9176
  class: "tooltip__footer"
9163
9177
  };
9164
- function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
9178
+ function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
9165
9179
  const _component_f_icon = resolveComponent("f-icon");
9166
9180
  return openBlock(), createElementBlock(Fragment, null, [(openBlock(), createBlock(Teleport, {
9167
9181
  disabled: _ctx.iconTarget === null,
@@ -9176,7 +9190,7 @@ function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
9176
9190
  name: "circle"
9177
9191
  }), _cache[2] || (_cache[2] = createTextVNode()), createVNode(_component_f_icon, {
9178
9192
  name: "i"
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({
9193
+ }), _cache[3] || (_cache[3] = createTextVNode()), createElementVNode("span", _hoisted_3$o, toDisplayString(_ctx.screenReaderText), 1)])], 8, _hoisted_1$D)], 8, ["disabled", "to"])), _cache[7] || (_cache[7] = createTextVNode()), createElementVNode("div", mergeProps({
9180
9194
  ref: "wrapper",
9181
9195
  class: "tooltip"
9182
9196
  }, _ctx.$attrs), [_ctx.ready ? (openBlock(), createElementBlock("div", _hoisted_4$k, [_ctx.hasHeader ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.headerTag), {
@@ -9194,7 +9208,7 @@ function _sfc_render$v(_ctx, _cache, $props, $setup, $data, $options) {
9194
9208
  name: "close"
9195
9209
  })])])])) : createCommentVNode("", true)], 16)], 64);
9196
9210
  }
9197
- const FTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["render", _sfc_render$v]]);
9211
+ const FTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["render", _sfc_render$u]]);
9198
9212
  function* labelClasses(options) {
9199
9213
  const {
9200
9214
  labelClass
@@ -9468,7 +9482,7 @@ const _hoisted_2$s = {
9468
9482
  key: 0,
9469
9483
  class: "sr-only"
9470
9484
  };
9471
- const _hoisted_3$m = {
9485
+ const _hoisted_3$n = {
9472
9486
  key: 0,
9473
9487
  class: "label__message label__message--error"
9474
9488
  };
@@ -9495,7 +9509,7 @@ const _hoisted_9$4 = {
9495
9509
  key: 0,
9496
9510
  class: "label__message label__message--error"
9497
9511
  };
9498
- function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
9512
+ function _sfc_render$t(_ctx, _cache, $props, $setup, $data, $options) {
9499
9513
  const _component_f_icon = resolveComponent("f-icon");
9500
9514
  return openBlock(), createElementBlock("fieldset", {
9501
9515
  id: _ctx.id,
@@ -9510,7 +9524,7 @@ function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
9510
9524
  }), _cache[3] || (_cache[3] = createTextVNode()), renderSlot(_ctx.$slots, "error-message", normalizeProps(guardReactiveProps({
9511
9525
  hasError: _ctx.hasError,
9512
9526
  validationMessage: _ctx.validity.validationMessage
9513
- })), () => [_ctx.hasError ? (openBlock(), createElementBlock("span", _hoisted_3$m, [createVNode(_component_f_icon, {
9527
+ })), () => [_ctx.hasError ? (openBlock(), createElementBlock("span", _hoisted_3$n, [createVNode(_component_f_icon, {
9514
9528
  class: "label__icon--left",
9515
9529
  name: "error"
9516
9530
  }), createTextVNode(" " + toDisplayString(_ctx.validity.validationMessage), 1)])) : createCommentVNode("", true)])], 2)), _cache[7] || (_cache[7] = createTextVNode()), _ctx.hasCheckbox ? (openBlock(), createElementBlock("span", _hoisted_4$j, [_ctx.children.length === 1 ? (openBlock(), createElementBlock("span", _hoisted_5$f, toDisplayString(_ctx.checkboxCheckedScreenReaderText), 1)) : (openBlock(), createElementBlock("span", _hoisted_6$c, toDisplayString(_ctx.numberOfCheckedCheckboxesScreenText), 1))])) : createCommentVNode("", true), _cache[8] || (_cache[8] = createTextVNode()), _ctx.hasTooltipSlot ? (openBlock(), createElementBlock(Fragment, {
@@ -9532,7 +9546,7 @@ function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
9532
9546
  class: normalizeClass(_ctx.groupContentClass)
9533
9547
  }, [renderSlot(_ctx.$slots, "default")], 2)], 42, _hoisted_1$C);
9534
9548
  }
9535
- const FFieldset = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["render", _sfc_render$u]]);
9549
+ const FFieldset = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["render", _sfc_render$t]]);
9536
9550
  const anyType$1 = [String, Object, Array, Number, Date, Boolean];
9537
9551
  const _sfc_main$N = defineComponent({
9538
9552
  name: "FCheckboxField",
@@ -9722,7 +9736,7 @@ const _sfc_main$N = defineComponent({
9722
9736
  });
9723
9737
  const _hoisted_1$B = ["id", "disabled"];
9724
9738
  const _hoisted_2$r = ["for"];
9725
- const _hoisted_3$l = {
9739
+ const _hoisted_3$m = {
9726
9740
  key: 0,
9727
9741
  class: "checkbox__details"
9728
9742
  };
@@ -9730,7 +9744,7 @@ const _hoisted_4$i = {
9730
9744
  key: 0,
9731
9745
  class: "checkbox__details"
9732
9746
  };
9733
- function _sfc_render$t(_ctx, _cache, $props, $setup, $data, $options) {
9747
+ function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {
9734
9748
  return openBlock(), createElementBlock("div", {
9735
9749
  class: normalizeClass(["checkbox", _ctx.disabledClass]),
9736
9750
  onValidity: _cache[2] || (_cache[2] = (...args) => _ctx.onValidity && _ctx.onValidity(...args))
@@ -9748,7 +9762,7 @@ function _sfc_render$t(_ctx, _cache, $props, $setup, $data, $options) {
9748
9762
  for: _ctx.id
9749
9763
  }, [renderSlot(_ctx.$slots, "default"), _cache[8] || (_cache[8] = createTextVNode()), _ctx.$slots.details ? (openBlock(), createElementBlock(Fragment, {
9750
9764
  key: 0
9751
- }, [_ctx.showDetails === "always" ? (openBlock(), createElementBlock("span", _hoisted_3$l, [_cache[3] || (_cache[3] = createElementVNode("br", null, null, -1)), _cache[4] || (_cache[4] = createTextVNode()), renderSlot(_ctx.$slots, "details")])) : createCommentVNode("", true), _cache[7] || (_cache[7] = createTextVNode()), _ctx.showDetails === "when-selected" ? (openBlock(), createBlock(Transition, {
9765
+ }, [_ctx.showDetails === "always" ? (openBlock(), createElementBlock("span", _hoisted_3$m, [_cache[3] || (_cache[3] = createElementVNode("br", null, null, -1)), _cache[4] || (_cache[4] = createTextVNode()), renderSlot(_ctx.$slots, "details")])) : createCommentVNode("", true), _cache[7] || (_cache[7] = createTextVNode()), _ctx.showDetails === "when-selected" ? (openBlock(), createBlock(Transition, {
9752
9766
  key: 1,
9753
9767
  onEnter: _ctx.enter,
9754
9768
  onAfterEnter: _ctx.afterEnter,
@@ -9760,7 +9774,7 @@ function _sfc_render$t(_ctx, _cache, $props, $setup, $data, $options) {
9760
9774
  _: 3
9761
9775
  }, 8, ["onEnter", "onAfterEnter", "onLeave"])) : createCommentVNode("", true)], 64)) : createCommentVNode("", true)], 10, _hoisted_2$r)], 34);
9762
9776
  }
9763
- const FCheckboxField = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["render", _sfc_render$t]]);
9777
+ const FCheckboxField = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["render", _sfc_render$s]]);
9764
9778
  var es_iterator_some = {};
9765
9779
  var hasRequiredEs_iterator_some;
9766
9780
  function requireEs_iterator_some() {
@@ -10010,13 +10024,13 @@ const _hoisted_2$q = {
10010
10024
  tabindex: "-1",
10011
10025
  class: "contextmenu__list"
10012
10026
  };
10013
- const _hoisted_3$k = ["onClick"];
10027
+ const _hoisted_3$l = ["onClick"];
10014
10028
  const _hoisted_4$h = ["tabindex"];
10015
10029
  const _hoisted_5$e = {
10016
10030
  key: 0,
10017
10031
  class: "contextmenu__separator"
10018
10032
  };
10019
- function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {
10033
+ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
10020
10034
  const _component_f_icon = resolveComponent("f-icon");
10021
10035
  const _component_i_popup = resolveComponent("i-popup");
10022
10036
  return openBlock(), createBlock(_component_i_popup, {
@@ -10051,12 +10065,12 @@ function _sfc_render$s(_ctx, _cache, $props, $setup, $data, $options) {
10051
10065
  }, null, 8, ["name", "library"])) : createCommentVNode("", true), _cache[3] || (_cache[3] = createTextVNode()), createElementVNode("a", {
10052
10066
  ref_for: true,
10053
10067
  ref: "anchors"
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);
10068
+ }, toDisplayString(item.label), 513)], 8, _hoisted_4$h), _cache[4] || (_cache[4] = createTextVNode()), _ctx.hasSeparatorAfterItemAt(index) ? (openBlock(), createElementBlock("hr", _hoisted_5$e)) : createCommentVNode("", true)], 8, _hoisted_3$l);
10055
10069
  }), 128))], 512)], 40, _hoisted_1$A)]),
10056
10070
  _: 1
10057
10071
  }, 8, ["is-open", "anchor", "focus-element"]);
10058
10072
  }
10059
- const FContextMenu = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["render", _sfc_render$s]]);
10073
+ const FContextMenu = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["render", _sfc_render$r]]);
10060
10074
  var Operation = /* @__PURE__ */ ((Operation2) => {
10061
10075
  Operation2[Operation2["ADD"] = 0] = "ADD";
10062
10076
  Operation2[Operation2["DELETE"] = 1] = "DELETE";
@@ -10300,7 +10314,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
10300
10314
  isFormModalOpen.value = true;
10301
10315
  }
10302
10316
  return (_ctx, _cache) => {
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", {
10317
+ return openBlock(), createElementBlock("div", _hoisted_1$z, [renderSlot(_ctx.$slots, "default"), _cache[6] || (_cache[6] = createTextVNode()), hasAddSlot.value ? (openBlock(), createElementBlock("div", _hoisted_2$p, [createElementVNode("button", {
10304
10318
  "data-test": "f-crud-dataset-add-button",
10305
10319
  type: "button",
10306
10320
  class: "button button--tertiary crud-dataset__add-button",
@@ -10308,7 +10322,9 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
10308
10322
  }, [createVNode(unref(FIcon), {
10309
10323
  class: "button__icon",
10310
10324
  name: "plus"
10311
- }), _cache[1] || (_cache[1] = createTextVNode()), renderSlot(_ctx.$slots, "add-button", {}, () => [createTextVNode(toDisplayString(unref($t2)("fkui.crud-dataset.button.add", "Lägg till ny")), 1)])])])) : createCommentVNode("", true), _cache[6] || (_cache[6] = createTextVNode()), createVNode(unref(FFormModal), {
10325
+ }), _cache[1] || (_cache[1] = createTextVNode()), renderSlot(_ctx.$slots, "add-button", {}, () => [createTextVNode(toDisplayString(unref($t2)("fkui.crud-dataset.button.add", "Lägg till ny")), 1)])]), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "buttons", normalizeProps(guardReactiveProps({
10326
+ buttonClasses: ["button", "button--tertiary", "crud-dataset__add-button"]
10327
+ })))])) : createCommentVNode("", true), _cache[7] || (_cache[7] = createTextVNode()), createVNode(unref(FFormModal), {
10312
10328
  "is-open": isFormModalOpen.value,
10313
10329
  "aria-close-text": unref($t2)("fkui.crud-dataset.modal.close", "Stäng"),
10314
10330
  buttons: formModalButtons.value,
@@ -10325,13 +10341,13 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
10325
10341
  key: 0
10326
10342
  }, {
10327
10343
  item: item.value
10328
- }))) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), operation.value === unref(Operation).MODIFY ? renderSlot(_ctx.$slots, "modify", normalizeProps(mergeProps({
10344
+ }))) : createCommentVNode("", true), _cache[3] || (_cache[3] = createTextVNode()), operation.value === unref(Operation).MODIFY ? renderSlot(_ctx.$slots, "modify", normalizeProps(mergeProps({
10329
10345
  key: 1
10330
10346
  }, {
10331
10347
  item: item.value
10332
10348
  }))) : createCommentVNode("", true)]),
10333
10349
  _: 3
10334
- }, 8, ["is-open", "aria-close-text", "buttons", "before-submit", "before-validation", "on-cancel", "onCancel"]), _cache[7] || (_cache[7] = createTextVNode()), createVNode(unref(FConfirmModal), {
10350
+ }, 8, ["is-open", "aria-close-text", "buttons", "before-submit", "before-validation", "on-cancel", "onCancel"]), _cache[8] || (_cache[8] = createTextVNode()), createVNode(unref(FConfirmModal), {
10335
10351
  "is-open": isConfirmModalOpen.value,
10336
10352
  buttons: confirmDeleteButtons.value,
10337
10353
  onConfirm: onDeleteConfirm,
@@ -10359,6 +10375,10 @@ const _sfc_main$K = defineComponent({
10359
10375
  },
10360
10376
  mixins: [TranslationMixin],
10361
10377
  props: {
10378
+ /**
10379
+ * The action to be performed by the button.
10380
+ * Must be one of the following values: "delete" or "modify".
10381
+ */
10362
10382
  action: {
10363
10383
  type: String,
10364
10384
  required: true,
@@ -10366,14 +10386,24 @@ const _sfc_main$K = defineComponent({
10366
10386
  return ["delete", "modify"].includes(value);
10367
10387
  }
10368
10388
  },
10389
+ /**
10390
+ * Determines if an icon should be displayed on the button.
10391
+ */
10369
10392
  icon: {
10370
10393
  type: Boolean,
10371
10394
  default: false
10372
10395
  },
10396
+ /**
10397
+ * The item that the action will be performed on.
10398
+ */
10373
10399
  item: {
10374
10400
  type: Object,
10375
10401
  required: true
10376
10402
  },
10403
+ /**
10404
+ * Determines if the button should display a label.
10405
+ * If false, the button will use a visually hidden text for accessibility.
10406
+ */
10377
10407
  label: {
10378
10408
  type: Boolean,
10379
10409
  default: false
@@ -10412,7 +10442,7 @@ const _hoisted_1$y = {
10412
10442
  key: 1,
10413
10443
  class: "sr-only"
10414
10444
  };
10415
- function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
10445
+ function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
10416
10446
  const _component_f_icon = resolveComponent("f-icon");
10417
10447
  return openBlock(), createElementBlock("button", {
10418
10448
  type: "button",
@@ -10426,7 +10456,7 @@ function _sfc_render$r(_ctx, _cache, $props, $setup, $data, $options) {
10426
10456
  key: 2
10427
10457
  }, () => [createTextVNode(toDisplayString(_ctx.buttonText), 1)]) : createCommentVNode("", true)]);
10428
10458
  }
10429
- const FCrudButton = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["render", _sfc_render$r]]);
10459
+ const FCrudButton = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["render", _sfc_render$q]]);
10430
10460
  function ActivateItemInjected() {
10431
10461
  return {
10432
10462
  registerCallbackAfterItemAdd: inject("registerCallbackAfterItemAdd", () => void 0),
@@ -11075,9 +11105,11 @@ function FTableInjected() {
11075
11105
  renderColumns: inject("renderColumns", false)
11076
11106
  };
11077
11107
  }
11078
- const _sfc_main$J = defineComponent({
11079
- name: "FTableColumn",
11080
- inheritAttrs: false,
11108
+ const _sfc_main$J = /* @__PURE__ */ defineComponent({
11109
+ ...{
11110
+ inheritAttrs: false
11111
+ },
11112
+ __name: "FTableColumn",
11081
11113
  props: {
11082
11114
  /**
11083
11115
  * Unique (per-table) identifier.
@@ -11164,71 +11196,58 @@ const _sfc_main$J = defineComponent({
11164
11196
  }
11165
11197
  }
11166
11198
  },
11167
- setup() {
11199
+ setup(__props) {
11168
11200
  const {
11169
11201
  renderColumns,
11170
11202
  setVisibilityColumn: setVisibilityColumn2,
11171
11203
  addColumn: addColumn2
11172
11204
  } = FTableInjected();
11173
- return {
11174
- renderColumns,
11175
- setVisibilityColumn: setVisibilityColumn2,
11176
- addColumn: addColumn2
11177
- };
11178
- },
11179
- computed: {
11180
- classes() {
11181
- return ["table__column", `table__column--${this.type}`];
11182
- },
11183
- scope() {
11184
- return this.rowHeader ? "row" : null;
11185
- },
11186
- tagName() {
11187
- if (this.rowHeader) {
11205
+ const props = __props;
11206
+ const classes = computed(() => {
11207
+ return ["table__column", `table__column--${props.type}`];
11208
+ });
11209
+ const scope = computed(() => {
11210
+ return props.rowHeader ? "row" : null;
11211
+ });
11212
+ const tagName2 = computed(() => {
11213
+ if (props.rowHeader) {
11188
11214
  return "th";
11189
11215
  } else {
11190
11216
  return "td";
11191
11217
  }
11192
- }
11193
- },
11194
- watch: {
11195
- visible: {
11196
- handler: function() {
11197
- this.setVisibilityColumn(this.name, this.visible);
11198
- }
11199
- }
11200
- },
11201
- created() {
11202
- if (this.shrink && this.expand) {
11203
- throw new Error("Table cannot have both shrink and expand enabled at the same time");
11204
- }
11205
- const size = this.shrink ? FTableColumnSize.SHRINK : FTableColumnSize.EXPAND;
11206
- this.addColumn({
11207
- name: this.name,
11208
- title: this.title,
11209
- description: this.description || void 0,
11210
- id: ElementIdService.generateElementId("column"),
11211
- size,
11212
- type: this.type,
11213
- visible: this.visible,
11214
- sortable: false,
11215
- sort: FTableColumnSort.UNSORTED
11216
11218
  });
11219
+ watch(() => props.visible, () => setVisibilityColumn2(props.name, props.visible));
11220
+ onMounted(() => {
11221
+ if (props.shrink && props.expand) {
11222
+ throw new Error("Table cannot have both shrink and expand enabled at the same time");
11223
+ }
11224
+ const size = props.shrink ? FTableColumnSize.SHRINK : FTableColumnSize.EXPAND;
11225
+ addColumn2({
11226
+ name: props.name,
11227
+ title: props.title,
11228
+ description: props.description || void 0,
11229
+ id: ElementIdService.generateElementId("column"),
11230
+ size,
11231
+ type: props.type,
11232
+ visible: props.visible,
11233
+ sortable: false,
11234
+ sort: FTableColumnSort.UNSORTED
11235
+ });
11236
+ });
11237
+ return (_ctx, _cache) => {
11238
+ return unref(renderColumns) && __props.visible ? (openBlock(), createBlock(resolveDynamicComponent(tagName2.value), mergeProps({
11239
+ key: 0,
11240
+ class: classes.value,
11241
+ scope: scope.value
11242
+ }, _ctx.$attrs), {
11243
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default"), _cache[0] || (_cache[0] = createTextVNode()), _cache[1] || (_cache[1] = createElementVNode("span", {
11244
+ class: "sr-only"
11245
+ }, " ", -1))]),
11246
+ _: 3
11247
+ }, 16, ["class", "scope"])) : createCommentVNode("", true);
11248
+ };
11217
11249
  }
11218
11250
  });
11219
- function _sfc_render$q(_ctx, _cache, $props, $setup, $data, $options) {
11220
- return _ctx.renderColumns && _ctx.visible ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.tagName), mergeProps({
11221
- key: 0,
11222
- class: _ctx.classes,
11223
- scope: _ctx.scope
11224
- }, _ctx.$attrs), {
11225
- default: withCtx(() => [renderSlot(_ctx.$slots, "default"), _cache[0] || (_cache[0] = createTextVNode()), _cache[1] || (_cache[1] = createElementVNode("span", {
11226
- class: "sr-only"
11227
- }, " ", -1))]),
11228
- _: 3
11229
- }, 16, ["class", "scope"])) : createCommentVNode("", true);
11230
- }
11231
- const FTableColumn = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["render", _sfc_render$q]]);
11232
11251
  function FSortFilterDatasetInjected() {
11233
11252
  return {
11234
11253
  sort: inject("sort", () => void 0),
@@ -11282,7 +11301,7 @@ const _hoisted_2$o = {
11282
11301
  key: 0,
11283
11302
  ref: "tooltipAttachTo"
11284
11303
  };
11285
- const _hoisted_3$j = ["for"];
11304
+ const _hoisted_3$k = ["for"];
11286
11305
  const _hoisted_4$g = ["for"];
11287
11306
  const _hoisted_5$d = {
11288
11307
  key: 0,
@@ -11298,7 +11317,7 @@ function _sfc_render$p(_ctx, _cache, $props, $setup, $data, $options) {
11298
11317
  return _ctx.$slots.tooltip ? (openBlock(), createElementBlock("div", _hoisted_1$x, [_ctx.hasDefaultSlot ? (openBlock(), createElementBlock("div", _hoisted_2$o, [createElementVNode("label", {
11299
11318
  class: "label",
11300
11319
  for: _ctx.forProperty
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", {
11320
+ }, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_3$k)], 512)) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "tooltip"), _cache[3] || (_cache[3] = createTextVNode()), _ctx.hasDescriptionSlot || _ctx.hasErrorMessageSlot ? (openBlock(), createElementBlock("label", {
11302
11321
  key: 1,
11303
11322
  class: "label sr-separator",
11304
11323
  for: _ctx.forProperty
@@ -11893,7 +11912,7 @@ const _hoisted_2$n = {
11893
11912
  key: 0,
11894
11913
  class: "sr-only"
11895
11914
  };
11896
- const _hoisted_3$i = {
11915
+ const _hoisted_3$j = {
11897
11916
  key: 0,
11898
11917
  class: "sr-only"
11899
11918
  };
@@ -11936,7 +11955,7 @@ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
11936
11955
  }, [_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", {
11937
11956
  key: 1,
11938
11957
  class: normalizeClass(formatDescriptionClass)
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)])]),
11958
+ }, [_ctx.discreteDescriptionScreenReaderText ? (openBlock(), createElementBlock("span", _hoisted_3$j, toDisplayString(_ctx.discreteDescriptionScreenReaderText), 1)) : createCommentVNode("", true), _cache[8] || (_cache[8] = createTextVNode()), createElementVNode("span", null, toDisplayString(_ctx.discreteDescriptionText), 1)], 2)) : createCommentVNode("", true)])]),
11940
11959
  "error-message": withCtx(() => [renderSlot(_ctx.$slots, "error-message", normalizeProps(guardReactiveProps({
11941
11960
  hasError: _ctx.hasError,
11942
11961
  validationMessage: _ctx.validationMessage
@@ -12823,7 +12842,7 @@ const _hoisted_1$s = {
12823
12842
  const _hoisted_2$m = {
12824
12843
  class: "sort-filter-dataset__search"
12825
12844
  };
12826
- const _hoisted_3$h = {
12845
+ const _hoisted_3$i = {
12827
12846
  class: "sr-only"
12828
12847
  };
12829
12848
  const _hoisted_4$e = ["title"];
@@ -13060,7 +13079,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
13060
13079
  maxlength: "64",
13061
13080
  onInput: onSearchInput
13062
13081
  }, {
13063
- default: withCtx(() => [createElementVNode("span", _hoisted_3$h, toDisplayString(__props.placeholderFilter), 1)]),
13082
+ default: withCtx(() => [createElementVNode("span", _hoisted_3$i, toDisplayString(__props.placeholderFilter), 1)]),
13064
13083
  _: 1
13065
13084
  }, 8, ["modelValue", "placeholder"]), _cache[4] || (_cache[4] = createTextVNode()), showClearButton.value ? (openBlock(), createElementBlock("button", {
13066
13085
  key: 0,
@@ -13110,7 +13129,7 @@ const _hoisted_1$r = ["tabindex"];
13110
13129
  const _hoisted_2$l = {
13111
13130
  key: 0
13112
13131
  };
13113
- const _hoisted_3$g = {
13132
+ const _hoisted_3$h = {
13114
13133
  class: "table__row"
13115
13134
  };
13116
13135
  const _hoisted_4$d = ["innerHTML"];
@@ -13283,7 +13302,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
13283
13302
  key: column.id,
13284
13303
  class: normalizeClass(column.size)
13285
13304
  }, null, 2);
13286
- }), 128))]), _cache[5] || (_cache[5] = createTextVNode()), createElementVNode("thead", null, [createElementVNode("tr", _hoisted_3$g, [(openBlock(true), createElementBlock(Fragment, null, renderList(visibleColumns.value, (column) => {
13305
+ }), 128))]), _cache[5] || (_cache[5] = createTextVNode()), createElementVNode("thead", null, [createElementVNode("tr", _hoisted_3$h, [(openBlock(true), createElementBlock(Fragment, null, renderList(visibleColumns.value, (column) => {
13287
13306
  return openBlock(), createElementBlock("th", mergeProps({
13288
13307
  key: column.id,
13289
13308
  scope: "col",
@@ -13653,7 +13672,7 @@ const _hoisted_1$q = {
13653
13672
  class: "datepicker-field"
13654
13673
  };
13655
13674
  const _hoisted_2$k = ["disabled", "aria-expanded"];
13656
- const _hoisted_3$f = {
13675
+ const _hoisted_3$g = {
13657
13676
  class: "sr-only"
13658
13677
  };
13659
13678
  const _hoisted_4$c = {
@@ -13704,7 +13723,7 @@ function _sfc_render$j(_ctx, _cache, $props, $setup, $data, $options) {
13704
13723
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.onClickCalendarButton())
13705
13724
  }, [createVNode(_component_f_icon, {
13706
13725
  name: "calendar"
13707
- }), _cache[6] || (_cache[6] = createTextVNode()), createElementVNode("span", _hoisted_3$f, toDisplayString(_ctx.calendarButtonText), 1)], 8, _hoisted_2$k)]),
13726
+ }), _cache[6] || (_cache[6] = createTextVNode()), createElementVNode("span", _hoisted_3$g, toDisplayString(_ctx.calendarButtonText), 1)], 8, _hoisted_2$k)]),
13708
13727
  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())]),
13709
13728
  _: 2
13710
13729
  }, [_ctx.$slots.tooltip ? {
@@ -13844,7 +13863,7 @@ const _hoisted_2$j = {
13844
13863
  key: 0,
13845
13864
  class: "dialogue-tree__list"
13846
13865
  };
13847
- const _hoisted_3$e = ["onClick"];
13866
+ const _hoisted_3$f = ["onClick"];
13848
13867
  function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {
13849
13868
  const _component_f_icon = resolveComponent("f-icon");
13850
13869
  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) => {
@@ -13858,7 +13877,7 @@ function _sfc_render$i(_ctx, _cache, $props, $setup, $data, $options) {
13858
13877
  onClick: ($event) => _ctx.onClickedOption(option, index)
13859
13878
  }, [createElementVNode("span", null, toDisplayString(option.label), 1), _cache[0] || (_cache[0] = createTextVNode()), createVNode(_component_f_icon, {
13860
13879
  name: "arrow-right"
13861
- })], 8, _hoisted_3$e)]);
13880
+ })], 8, _hoisted_3$f)]);
13862
13881
  }), 128))])) : renderSlot(_ctx.$slots, "default", normalizeProps(mergeProps({
13863
13882
  key: 1
13864
13883
  }, {
@@ -13913,6 +13932,10 @@ const _sfc_main$o = defineComponent({
13913
13932
  required: false,
13914
13933
  default: 0
13915
13934
  },
13935
+ /**
13936
+ * Text template for the screen reader notification text.
13937
+ * Use `%VALUE%` as a placeholder for the number of notifications.
13938
+ */
13916
13939
  screenReaderNotificationTemplate: {
13917
13940
  type: String,
13918
13941
  required: false,
@@ -13944,7 +13967,7 @@ const _hoisted_1$o = ["aria-expanded", "aria-controls"];
13944
13967
  const _hoisted_2$i = {
13945
13968
  class: "expandable-panel__icon"
13946
13969
  };
13947
- const _hoisted_3$d = {
13970
+ const _hoisted_3$e = {
13948
13971
  class: "icon-stack"
13949
13972
  };
13950
13973
  const _hoisted_4$b = ["title"];
@@ -13973,7 +13996,7 @@ function _sfc_render$h(_ctx, _cache, $props, $setup, $data, $options) {
13973
13996
  "aria-controls": _ctx.id
13974
13997
  }, _ctx.$attrs, {
13975
13998
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClickHeadingButton && _ctx.onClickHeadingButton(...args))
13976
- }), [createElementVNode("span", _hoisted_2$i, [createElementVNode("span", _hoisted_3$d, [createVNode(_component_f_icon, {
13999
+ }), [createElementVNode("span", _hoisted_2$i, [createElementVNode("span", _hoisted_3$e, [createVNode(_component_f_icon, {
13977
14000
  name: "dash"
13978
14001
  }), _cache[1] || (_cache[1] = createTextVNode()), createVNode(_component_f_icon, {
13979
14002
  name: "dash"
@@ -14083,7 +14106,7 @@ const _hoisted_1$n = ["aria-expanded", "aria-controls"];
14083
14106
  const _hoisted_2$h = {
14084
14107
  class: "expandable-paragraph__icon"
14085
14108
  };
14086
- const _hoisted_3$c = {
14109
+ const _hoisted_3$d = {
14087
14110
  class: "icon-stack"
14088
14111
  };
14089
14112
  const _hoisted_4$a = {
@@ -14115,7 +14138,7 @@ function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {
14115
14138
  "aria-controls": _ctx.id
14116
14139
  }, _ctx.$attrs, {
14117
14140
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClickMinimize && _ctx.onClickMinimize(...args))
14118
- }), [createElementVNode("span", _hoisted_2$h, [createElementVNode("span", _hoisted_3$c, [createVNode(_component_f_icon, {
14141
+ }), [createElementVNode("span", _hoisted_2$h, [createElementVNode("span", _hoisted_3$d, [createVNode(_component_f_icon, {
14119
14142
  name: "dash"
14120
14143
  }), _cache[1] || (_cache[1] = createTextVNode()), createVNode(_component_f_icon, {
14121
14144
  name: "dash"
@@ -14223,7 +14246,7 @@ const _hoisted_1$m = {
14223
14246
  const _hoisted_2$g = {
14224
14247
  class: "file-item__row"
14225
14248
  };
14226
- const _hoisted_3$b = ["id"];
14249
+ const _hoisted_3$c = ["id"];
14227
14250
  const _hoisted_4$9 = {
14228
14251
  class: "icon-stack button__icon icon-stack--new-window"
14229
14252
  };
@@ -14246,7 +14269,7 @@ function _sfc_render$f(_ctx, _cache, $props, $setup, $data, $options) {
14246
14269
  name: "new-window"
14247
14270
  }), _cache[0] || (_cache[0] = createTextVNode()), createVNode(_component_f_icon, {
14248
14271
  name: _ctx.iconName
14249
- }, null, 8, ["name"])]), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("span", _hoisted_5$7, toDisplayString(_ctx.fileName), 1), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("span", _hoisted_6$5, " " + toDisplayString(_ctx.$t("fkui.file-item.file-open", "öppnas i nytt fönster")), 1)], 16, _hoisted_3$b), _cache[3] || (_cache[3] = createTextVNode()), renderSlot(_ctx.$slots, "row")]), _cache[4] || (_cache[4] = createTextVNode()), renderSlot(_ctx.$slots, "default"), _cache[5] || (_cache[5] = createTextVNode()), _ctx.isMimeTypeChanged ? (openBlock(), createElementBlock("div", _hoisted_7$4, toDisplayString(_ctx.mimeTypeChangedText), 1)) : createCommentVNode("", true), _cache[6] || (_cache[6] = createTextVNode()), _cache[7] || (_cache[7] = createElementVNode("hr", {
14272
+ }, null, 8, ["name"])]), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("span", _hoisted_5$7, toDisplayString(_ctx.fileName), 1), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("span", _hoisted_6$5, " " + toDisplayString(_ctx.$t("fkui.file-item.file-open", "öppnas i nytt fönster")), 1)], 16, _hoisted_3$c), _cache[3] || (_cache[3] = createTextVNode()), renderSlot(_ctx.$slots, "row")]), _cache[4] || (_cache[4] = createTextVNode()), renderSlot(_ctx.$slots, "default"), _cache[5] || (_cache[5] = createTextVNode()), _ctx.isMimeTypeChanged ? (openBlock(), createElementBlock("div", _hoisted_7$4, toDisplayString(_ctx.mimeTypeChangedText), 1)) : createCommentVNode("", true), _cache[6] || (_cache[6] = createTextVNode()), _cache[7] || (_cache[7] = createElementVNode("hr", {
14250
14273
  class: "file-item__separator"
14251
14274
  }, null, -1))]);
14252
14275
  }
@@ -14272,6 +14295,9 @@ const _sfc_main$l = defineComponent({
14272
14295
  required: false,
14273
14296
  default: () => ElementIdService.generateElementId()
14274
14297
  },
14298
+ /**
14299
+ * Disables the file selector.
14300
+ */
14275
14301
  disabled: {
14276
14302
  type: Boolean,
14277
14303
  required: false,
@@ -14316,7 +14342,7 @@ const _hoisted_1$l = {
14316
14342
  class: "file-selector"
14317
14343
  };
14318
14344
  const _hoisted_2$f = ["id", "aria-labelledby", "aria-disabled"];
14319
- const _hoisted_3$a = ["id", "for"];
14345
+ const _hoisted_3$b = ["id", "for"];
14320
14346
  function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {
14321
14347
  const _component_f_icon = resolveComponent("f-icon");
14322
14348
  return openBlock(), createElementBlock("div", _hoisted_1$l, [createElementVNode("input", mergeProps({
@@ -14336,7 +14362,7 @@ function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {
14336
14362
  }, [createVNode(_component_f_icon, {
14337
14363
  class: "button__icon",
14338
14364
  name: "paper-clip"
14339
- }), _cache[1] || (_cache[1] = createTextVNode()), renderSlot(_ctx.$slots, "default")], 10, _hoisted_3$a)]);
14365
+ }), _cache[1] || (_cache[1] = createTextVNode()), renderSlot(_ctx.$slots, "default")], 10, _hoisted_3$b)]);
14340
14366
  }
14341
14367
  const FFileSelector = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["render", _sfc_render$e]]);
14342
14368
  const keybindings = {
@@ -14454,7 +14480,7 @@ const _hoisted_1$k = ["role"];
14454
14480
  const _hoisted_2$e = {
14455
14481
  key: 0
14456
14482
  };
14457
- const _hoisted_3$9 = {
14483
+ const _hoisted_3$a = {
14458
14484
  key: 0,
14459
14485
  class: "table__column--shrink"
14460
14486
  };
@@ -14913,7 +14939,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
14913
14939
  }, [createCommentVNode("", true), _cache[18] || (_cache[18] = createTextVNode()), createElementVNode("table", mergeProps({
14914
14940
  class: ["table", tableClasses.value],
14915
14941
  role: tableRole.value
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) => {
14942
+ }, _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$a)) : 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) => {
14917
14943
  return openBlock(), createElementBlock("col", {
14918
14944
  key: column.id,
14919
14945
  class: normalizeClass(column.size)
@@ -15035,7 +15061,7 @@ const _hoisted_2$d = {
15035
15061
  ref: "header",
15036
15062
  class: "layout-application-template__header"
15037
15063
  };
15038
- const _hoisted_3$8 = {
15064
+ const _hoisted_3$9 = {
15039
15065
  key: 1
15040
15066
  };
15041
15067
  const _hoisted_4$7 = {
@@ -15049,7 +15075,7 @@ const _hoisted_5$5 = {
15049
15075
  function _sfc_render$d(_ctx, _cache, $props, $setup, $data, $options) {
15050
15076
  return openBlock(), createElementBlock("div", _hoisted_1$j, [_ctx.showHeader || _ctx.showTopNavigation ? (openBlock(), createElementBlock("header", _hoisted_2$d, [_ctx.showHeader ? renderSlot(_ctx.$slots, "header", {
15051
15077
  key: 0
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)]);
15078
+ }) : createCommentVNode("", true), _cache[0] || (_cache[0] = createTextVNode()), _ctx.showTopNavigation ? (openBlock(), createElementBlock("nav", _hoisted_3$9, [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)]);
15053
15079
  }
15054
15080
  const FLayoutApplicationTemplate = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["render", _sfc_render$d]]);
15055
15081
  function getGridClasses(target) {
@@ -15241,7 +15267,7 @@ const _hoisted_1$i = {
15241
15267
  class: "layout-navigation"
15242
15268
  };
15243
15269
  const _hoisted_2$c = ["aria-expanded"];
15244
- const _hoisted_3$7 = {
15270
+ const _hoisted_3$8 = {
15245
15271
  class: "layout-navigation__navigation__inner"
15246
15272
  };
15247
15273
  const _hoisted_4$6 = {
@@ -15255,7 +15281,7 @@ function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
15255
15281
  class: "layout-navigation__navigation",
15256
15282
  style: normalizeStyle(_ctx.navigationStyle),
15257
15283
  "aria-expanded": _ctx.isOpen
15258
- }, [createElementVNode("div", _hoisted_3$7, [_ctx.isOpen ? (openBlock(), createElementBlock(Fragment, {
15284
+ }, [createElementVNode("div", _hoisted_3$8, [_ctx.isOpen ? (openBlock(), createElementBlock(Fragment, {
15259
15285
  key: 0
15260
15286
  }, [createElementVNode("div", {
15261
15287
  class: "layout-navigation__navigation__inner__title",
@@ -15500,7 +15526,7 @@ const _hoisted_2$a = {
15500
15526
  key: 0,
15501
15527
  class: "list__item"
15502
15528
  };
15503
- const _hoisted_3$6 = {
15529
+ const _hoisted_3$7 = {
15504
15530
  class: "list__item__itempane"
15505
15531
  };
15506
15532
  const _hoisted_4$5 = ["id", "aria-labelledby", "tabindex", "onKeydown"];
@@ -15760,7 +15786,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
15760
15786
  }, {
15761
15787
  item
15762
15788
  }))], 512)]);
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", {
15789
+ }), 128)), _cache[0] || (_cache[0] = createTextVNode()), isEmpty2.value ? (openBlock(), createElementBlock("li", _hoisted_2$a, [createElementVNode("div", _hoisted_3$7, [renderSlot(_ctx.$slots, "empty", {}, () => [createElementVNode("em", null, toDisplayString(unref($t2)("fkui.list.empty", "Listan är tom")), 1)])])])) : createCommentVNode("", true)])) : (openBlock(), createElementBlock("ul", {
15764
15790
  key: 1,
15765
15791
  ref_key: "ulElement",
15766
15792
  ref: ulElement,
@@ -16559,7 +16585,7 @@ const _sfc_main$c = defineComponent({
16559
16585
  });
16560
16586
  const _hoisted_1$c = ["aria-label"];
16561
16587
  const _hoisted_2$8 = ["data-ref-index", "onClick"];
16562
- const _hoisted_3$5 = {
16588
+ const _hoisted_3$6 = {
16563
16589
  class: "imenu__list__anchor-container"
16564
16590
  };
16565
16591
  const _hoisted_4$4 = ["data-ref-index", "href", "target"];
@@ -16600,7 +16626,7 @@ function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
16600
16626
  class: normalizeClass(_ctx.itemClasses(item, index)),
16601
16627
  role: "none",
16602
16628
  onClick: (event) => _ctx.onClickItem(event, item)
16603
- }, [createElementVNode("div", _hoisted_3$5, [createElementVNode("a", {
16629
+ }, [createElementVNode("div", _hoisted_3$6, [createElementVNode("a", {
16604
16630
  ref_for: true,
16605
16631
  ref: "anchors",
16606
16632
  "data-ref-index": index,
@@ -16695,7 +16721,7 @@ const _hoisted_2$7 = {
16695
16721
  key: 0,
16696
16722
  class: "offline"
16697
16723
  };
16698
- const _hoisted_3$4 = {
16724
+ const _hoisted_3$5 = {
16699
16725
  class: "icon-stack icon-stack--error"
16700
16726
  };
16701
16727
  const _hoisted_4$3 = {
@@ -16718,7 +16744,7 @@ function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
16718
16744
  shrink: "",
16719
16745
  align: "center"
16720
16746
  }, {
16721
- default: withCtx(() => [createElementVNode("span", _hoisted_3$4, [createVNode(_component_f_icon, {
16747
+ default: withCtx(() => [createElementVNode("span", _hoisted_3$5, [createVNode(_component_f_icon, {
16722
16748
  name: "triangle"
16723
16749
  }), _cache[0] || (_cache[0] = createTextVNode()), createVNode(_component_f_icon, {
16724
16750
  name: "alert"
@@ -16847,7 +16873,7 @@ const _hoisted_1$9 = {
16847
16873
  const _hoisted_2$5 = {
16848
16874
  key: 0
16849
16875
  };
16850
- const _hoisted_3$3 = {
16876
+ const _hoisted_3$4 = {
16851
16877
  ref: "header",
16852
16878
  class: "page-header"
16853
16879
  };
@@ -16868,7 +16894,7 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
16868
16894
  }, {
16869
16895
  default: withCtx(() => [renderSlot(_ctx.$slots, "skip-link-text")]),
16870
16896
  _: 3
16871
- }, 8, ["href"])])) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("div", _hoisted_3$3, [_ctx.hasLogo ? (openBlock(), createElementBlock("div", _hoisted_4$2, [renderSlot(_ctx.$slots, "logo")])) : createCommentVNode("", true), _cache[0] || (_cache[0] = createTextVNode()), (openBlock(), createBlock(resolveDynamicComponent(_ctx.headerTag), {
16897
+ }, 8, ["href"])])) : createCommentVNode("", true), _cache[2] || (_cache[2] = createTextVNode()), createElementVNode("div", _hoisted_3$4, [_ctx.hasLogo ? (openBlock(), createElementBlock("div", _hoisted_4$2, [renderSlot(_ctx.$slots, "logo")])) : createCommentVNode("", true), _cache[0] || (_cache[0] = createTextVNode()), (openBlock(), createBlock(resolveDynamicComponent(_ctx.headerTag), {
16872
16898
  class: "page-header__app-name"
16873
16899
  }, {
16874
16900
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
@@ -17013,7 +17039,7 @@ registerLayout({
17013
17039
  }
17014
17040
  }
17015
17041
  });
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';
17042
+ 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 --f-page-layout-background: var(--f-background-pageheader-primary);\n --f-page-layout-color: var(--fkds-color-text-inverted);\n }\n\n [part="area content"] {\n --f-page-layout-background: var(--fkds-color-background-primary);\n --f-page-layout-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 --f-page-layout-background: var(--f-background-pageheader-primary);\n --f-page-layout-color: var(--fkds-color-text-inverted);\n }\n\n [part="area left"] {\n --f-page-layout-background: var(--fkds-color-background-secondary);\n }\n\n [part="area content"] {\n --f-page-layout-background: var(--fkds-color-background-primary);\n --f-page-layout-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 --f-page-layout-background: var(--f-background-pageheader-primary);\n --f-page-layout-color: var(--fkds-color-text-inverted);\n }\n\n [part="area right"] {\n --f-page-layout-background: var(--fkds-color-background-secondary);\n --f-page-layout-color: var(--fkds-color-text-primary);\n }\n\n [part="area content"] {\n --f-page-layout-background: var(--fkds-color-background-primary);\n --f-page-layout-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 --f-page-layout-background: var(--f-background-pageheader-primary);\n --f-page-layout-color: var(--fkds-color-text-inverted);\n }\n\n [part="area left"],\n [part="area right"] {\n --f-page-layout-background: var(--fkds-color-background-secondary);\n --f-page-layout-color: var(--fkds-color-text-primary);\n }\n\n [part="area content"] {\n --f-page-layout-background: var(--fkds-color-background-primary);\n --f-page-layout-color: var(--fkds-color-text-primary);\n }\n }\n}\n\n.page-layout__area {\n display: flex;\n position: relative;\n background: var(--f-page-layout-background);\n color: var(--f-page-layout-color);\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';
17017
17043
  const stubLayout = defineLayout({
17018
17044
  name: "",
17019
17045
  areas: {}
@@ -17290,7 +17316,7 @@ const _hoisted_1$7 = {
17290
17316
  class: "progress"
17291
17317
  };
17292
17318
  const _hoisted_2$4 = ["aria-label", "aria-valuenow", "aria-valuetext"];
17293
- const _hoisted_3$2 = {
17319
+ const _hoisted_3$3 = {
17294
17320
  class: "sr-only"
17295
17321
  };
17296
17322
  const MIN_VALUE = 0;
@@ -17361,7 +17387,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
17361
17387
  "aria-valuenow": progressValueNow.value,
17362
17388
  "aria-valuetext": progressText.value,
17363
17389
  style: normalizeStyle(cssWidth.value)
17364
- }, [createElementVNode("span", _hoisted_3$2, toDisplayString(progressText.value), 1)], 14, _hoisted_2$4)]);
17390
+ }, [createElementVNode("span", _hoisted_3$3, toDisplayString(progressText.value), 1)], 14, _hoisted_2$4)]);
17365
17391
  };
17366
17392
  }
17367
17393
  });
@@ -17524,7 +17550,7 @@ const _sfc_main$6 = defineComponent({
17524
17550
  });
17525
17551
  const _hoisted_1$6 = ["id", "disabled"];
17526
17552
  const _hoisted_2$3 = ["for"];
17527
- const _hoisted_3$1 = {
17553
+ const _hoisted_3$2 = {
17528
17554
  key: 0,
17529
17555
  class: "radio-button__details"
17530
17556
  };
@@ -17546,7 +17572,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
17546
17572
  for: _ctx.id
17547
17573
  }, [renderSlot(_ctx.$slots, "default"), _cache[6] || (_cache[6] = createTextVNode()), _ctx.$slots.details ? (openBlock(), createElementBlock(Fragment, {
17548
17574
  key: 0
17549
- }, [_ctx.showDetails === "always" ? (openBlock(), createElementBlock("span", _hoisted_3$1, [_cache[1] || (_cache[1] = createElementVNode("br", null, null, -1)), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "details")])) : createCommentVNode("", true), _cache[5] || (_cache[5] = createTextVNode()), _ctx.showDetails === "when-selected" ? (openBlock(), createBlock(Transition, {
17575
+ }, [_ctx.showDetails === "always" ? (openBlock(), createElementBlock("span", _hoisted_3$2, [_cache[1] || (_cache[1] = createElementVNode("br", null, null, -1)), _cache[2] || (_cache[2] = createTextVNode()), renderSlot(_ctx.$slots, "details")])) : createCommentVNode("", true), _cache[5] || (_cache[5] = createTextVNode()), _ctx.showDetails === "when-selected" ? (openBlock(), createBlock(Transition, {
17550
17576
  key: 1,
17551
17577
  onEnter: _ctx.enter,
17552
17578
  onAfterEnter: _ctx.afterEnter,
@@ -17677,7 +17703,7 @@ function computeCssValue(raw, total, auto) {
17677
17703
  return percent * total;
17678
17704
  } else if (raw === "0") {
17679
17705
  return 0;
17680
- } else if (raw === "auto") {
17706
+ } else if (raw === "auto" || raw === "") {
17681
17707
  return auto;
17682
17708
  } else {
17683
17709
  throw new Error(`Cant parse size from "${raw}"`);
@@ -17725,10 +17751,17 @@ function useStorage(options) {
17725
17751
  loaded.value = true;
17726
17752
  });
17727
17753
  }
17728
- const _hoisted_1$5 = ["aria-orientation"];
17754
+ const _hoisted_1$5 = {
17755
+ key: 0,
17756
+ class: "resize__offset"
17757
+ };
17729
17758
  const _hoisted_2$2 = ["aria-orientation"];
17759
+ const _hoisted_3$1 = ["aria-orientation"];
17730
17760
  const STEP_SIZE = 10;
17731
17761
  const _sfc_main$5 = /* @__PURE__ */ defineComponent({
17762
+ ...{
17763
+ inheritAttrs: false
17764
+ },
17732
17765
  __name: "FResizePane.ce",
17733
17766
  props: {
17734
17767
  disabled: {
@@ -17746,10 +17779,22 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
17746
17779
  initial: {
17747
17780
  default: "50%",
17748
17781
  type: String
17782
+ },
17783
+ overlay: {
17784
+ type: Boolean,
17785
+ default: false
17786
+ },
17787
+ offset: {
17788
+ default: 0,
17789
+ type: Number
17749
17790
  }
17750
17791
  },
17751
- setup(__props) {
17792
+ emits: ["resize"],
17793
+ setup(__props, {
17794
+ emit: __emit
17795
+ }) {
17752
17796
  const props = __props;
17797
+ const emit = __emit;
17753
17798
  const root = shallowRef();
17754
17799
  const content = ref();
17755
17800
  const separator = ref();
@@ -17758,11 +17803,11 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
17758
17803
  max: -1,
17759
17804
  current: -1
17760
17805
  });
17761
- const separatorSize = ref(0);
17762
17806
  const layoutSize = ref(0);
17763
17807
  const storageKey = computed(() => area.value ? `layout/${area.value}/size` : null);
17764
17808
  const {
17765
17809
  attachPanel: attachment,
17810
+ direction,
17766
17811
  area
17767
17812
  } = useAreaData(root);
17768
17813
  useKeyboardHandler({
@@ -17795,11 +17840,11 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
17795
17840
  });
17796
17841
  const minSize = computed(() => {
17797
17842
  const total = layoutSize.value;
17798
- return Math.floor(aggregateCssValue(props.min, total, 0, Math.max) + separatorSize.value);
17843
+ return Math.floor(aggregateCssValue(props.min, total, 0, Math.max));
17799
17844
  });
17800
17845
  const maxSize = computed(() => {
17801
17846
  const total = layoutSize.value;
17802
- return Math.floor(aggregateCssValue(props.max, total, total, Math.min) + separatorSize.value);
17847
+ return Math.max(Math.floor(aggregateCssValue(props.max, total, total, Math.min)), minSize.value);
17803
17848
  });
17804
17849
  const initialSize = computed(() => {
17805
17850
  const total = layoutSize.value;
@@ -17812,6 +17857,9 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
17812
17857
  return "vertical";
17813
17858
  }
17814
17859
  });
17860
+ const classes = computed(() => {
17861
+ return [`resize--${attachment.value}`, `resize--${direction.value}`, props.overlay ? "resize--overlay" : void 0, props.disabled ? "resize--disabled" : void 0];
17862
+ });
17815
17863
  const layoutElement = computed(() => {
17816
17864
  var _host$closest;
17817
17865
  if (!root.value) {
@@ -17821,6 +17869,8 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
17821
17869
  const host = shadow.host;
17822
17870
  return (_host$closest = host.closest("ce-page-layout")) !== null && _host$closest !== void 0 ? _host$closest : void 0;
17823
17871
  });
17872
+ watch(() => props.min, onResize);
17873
+ watch(() => props.max, onResize);
17824
17874
  watchEffect(() => {
17825
17875
  const {
17826
17876
  min,
@@ -17828,23 +17878,23 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
17828
17878
  current: value
17829
17879
  } = state.value;
17830
17880
  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`);
17881
+ const shadowRoot = root.value.getRootNode();
17882
+ const host = shadowRoot.host;
17883
+ host.style.setProperty("--size", `${String(value)}px`);
17884
+ host.style.setProperty("--min", `${min}px`);
17885
+ host.style.setProperty("--max", `${max}px`);
17886
+ host.style.setProperty("--offset", `${props.offset}px`);
17834
17887
  }
17835
17888
  if (separator.value) {
17836
17889
  separator.value.setAttribute("aria-valuemin", String(Math.floor(min)));
17837
17890
  separator.value.setAttribute("aria-valuemax", String(Math.floor(max)));
17838
17891
  separator.value.setAttribute("aria-valuenow", String(Math.floor(value)));
17839
17892
  }
17893
+ if (value >= 0) {
17894
+ emit("resize", value);
17895
+ }
17840
17896
  });
17841
17897
  onMounted(() => {
17842
- if (separator.value) {
17843
- const {
17844
- flexBasis
17845
- } = getComputedStyle(separator.value);
17846
- separatorSize.value = computeCssValue(flexBasis, 0, 0);
17847
- }
17848
17898
  layoutSize.value = getLayoutSize();
17849
17899
  state.value = {
17850
17900
  min: minSize.value,
@@ -17875,11 +17925,11 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
17875
17925
  }
17876
17926
  }
17877
17927
  return (_ctx, _cache) => {
17878
- return openBlock(), createElementBlock("div", {
17928
+ return openBlock(), createElementBlock(Fragment, null, [_ctx.overlay && _ctx.offset ? (openBlock(), createElementBlock("div", _hoisted_1$5)) : createCommentVNode("", true), _cache[1] || (_cache[1] = createTextVNode()), createElementVNode("div", mergeProps({
17879
17929
  ref_key: "root",
17880
17930
  ref: root,
17881
- class: normalizeClass(["resize", `resize--${unref(attachment)}`])
17882
- }, [createElementVNode("div", {
17931
+ class: ["resize", classes.value]
17932
+ }, _ctx.$attrs), [createElementVNode("div", {
17883
17933
  ref_key: "content",
17884
17934
  ref: content,
17885
17935
  class: "resize__content"
@@ -17891,17 +17941,36 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
17891
17941
  class: "resize__handle",
17892
17942
  tabindex: "0",
17893
17943
  "aria-orientation": orientation.value
17894
- }, null, 8, _hoisted_1$5)) : (openBlock(), createElementBlock("div", {
17944
+ }, null, 8, _hoisted_2$2)) : (openBlock(), createElementBlock("div", {
17895
17945
  key: 1,
17896
17946
  role: "separator",
17897
17947
  class: "resize__handle disabled",
17898
17948
  "aria-orientation": orientation.value
17899
- }, null, 8, _hoisted_2$2))], 2);
17949
+ }, null, 8, _hoisted_3$1))], 16)], 64);
17900
17950
  };
17901
17951
  }
17902
17952
  });
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}';
17953
+ 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:host([hidden]) {\n display: none;\n}\n:host ::slotted(*) {\n display: contents;\n}\n.resize {\n flex-grow: 1;\n display: flex;\n align-items: stretch;\n}\n.resize--overlay {\n position: absolute;\n z-index: 1;\n background: var(--f-page-layout-background);\n}\n.resize--left {\n flex-direction: row;\n}\n.resize--left:not(.resize--disabled) {\n width: calc(var(--size) + 2px);\n}\n.resize--left .resize__content {\n flex-direction: row;\n}\n.resize--left.resize--overlay {\n left: 0;\n top: 0;\n bottom: 0;\n}\n.resize--right {\n flex-direction: row-reverse;\n}\n.resize--right:not(.resize--disabled) {\n width: calc(var(--size) + 2px);\n}\n.resize--right .resize__content {\n flex-direction: row;\n}\n.resize--right.resize--overlay {\n right: 0;\n top: 0;\n bottom: 0;\n}\n.resize--top {\n flex-direction: column;\n}\n.resize--top:not(.resize--disabled) {\n height: calc(var(--size) + 2px);\n}\n.resize--bottom {\n flex-direction: column-reverse;\n}\n.resize--bottom:not(.resize--disabled) {\n height: calc(var(--size) + 2px);\n}\n.resize__offset {\n width: calc(var(--offset) + 2px);\n}\n.resize__content {\n flex: 1 1 auto;\n overflow: auto;\n box-sizing: border-box;\n display: flex;\n}\n.resize--column .resize__content {\n flex-direction: column;\n}\n.resize--row .resize__content {\n flex-direction: row;\n}\n.resize--left:not(.resize--disabled) .resize__content, .resize--right:not(.resize--disabled) .resize__content {\n min-width: var(--min);\n max-width: var(--max);\n flex-basis: var(--size);\n}\n.resize--top:not(.resize--disabled) .resize__content, .resize--bottom:not(.resize--disabled) .resize__content {\n min-height: var(--min);\n max-height: var(--max);\n flex-basis: var(--size);\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}';
17904
17954
  const FResizePane = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["styles", [_style_0]]]);
17955
+ const injectionKey = Symbol("FResizePane");
17956
+ function useResize(options = {}) {
17957
+ const api = inject(injectionKey, {
17958
+ register() {
17959
+ return () => void 0;
17960
+ },
17961
+ size: ref(0)
17962
+ });
17963
+ const unregister = api.register({
17964
+ enabled: options.enabled,
17965
+ visible: options.visible,
17966
+ overlay: options.overlay,
17967
+ offset: options.offset
17968
+ });
17969
+ onUnmounted(unregister);
17970
+ return {
17971
+ size: api.size
17972
+ };
17973
+ }
17905
17974
  const _hoisted_1$4 = {
17906
17975
  slot: "content"
17907
17976
  };
@@ -17909,10 +17978,6 @@ const tagName = "ce-resize-pane";
17909
17978
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
17910
17979
  __name: "FResizePane",
17911
17980
  props: {
17912
- disabled: {
17913
- type: Boolean,
17914
- default: false
17915
- },
17916
17981
  min: {
17917
17982
  default: "0"
17918
17983
  },
@@ -17927,12 +17992,83 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
17927
17992
  if (!customElements.get(tagName)) {
17928
17993
  customElements.define(tagName, defineCustomElement(FResizePane));
17929
17994
  }
17995
+ const anyEnabled = ref(true);
17996
+ const anyVisible = ref(true);
17997
+ const anyOverlay = ref(false);
17998
+ const size = ref(-1);
17999
+ const offset2 = ref(0);
18000
+ let components = [];
18001
+ let n = 0;
18002
+ function any(src, predicate) {
18003
+ return src.length === 0 || src.some(predicate);
18004
+ }
18005
+ provide(injectionKey, {
18006
+ register(options) {
18007
+ const component = {
18008
+ ...options,
18009
+ id: n++
18010
+ };
18011
+ components.push(component);
18012
+ const scope = effectScope();
18013
+ scope.run(() => {
18014
+ watchEffect(() => {
18015
+ anyEnabled.value = any(components, (it) => {
18016
+ var _a;
18017
+ var _it$enabled$value;
18018
+ return (_it$enabled$value = (_a = it.enabled) == null ? void 0 : _a.value) !== null && _it$enabled$value !== void 0 ? _it$enabled$value : true;
18019
+ });
18020
+ });
18021
+ watchEffect(() => {
18022
+ anyVisible.value = any(components, (it) => {
18023
+ var _a;
18024
+ var _it$visible$value;
18025
+ return (_it$visible$value = (_a = it.visible) == null ? void 0 : _a.value) !== null && _it$visible$value !== void 0 ? _it$visible$value : true;
18026
+ });
18027
+ });
18028
+ watchEffect(() => {
18029
+ anyOverlay.value = any(components, (it) => {
18030
+ var _a;
18031
+ var _it$overlay$value;
18032
+ return (_it$overlay$value = (_a = it.overlay) == null ? void 0 : _a.value) !== null && _it$overlay$value !== void 0 ? _it$overlay$value : false;
18033
+ });
18034
+ });
18035
+ watchEffect(() => {
18036
+ if (components.length === 0) {
18037
+ return 0;
18038
+ }
18039
+ const offsets = components.map((it) => {
18040
+ var _a;
18041
+ return (_a = it.offset) == null ? void 0 : _a.value;
18042
+ }).filter((it) => typeof it === "number");
18043
+ offset2.value = Math.max(0, ...offsets);
18044
+ });
18045
+ });
18046
+ return () => {
18047
+ components = components.filter((it) => it.id !== component.id);
18048
+ scope.stop();
18049
+ };
18050
+ },
18051
+ size
18052
+ });
18053
+ const disabled = computed(() => anyEnabled.value === false);
18054
+ const hidden = computed(() => anyVisible.value === false);
18055
+ const overlay = computed(() => anyOverlay.value === true);
17930
18056
  const props = __props;
18057
+ function onResize(event) {
18058
+ size.value = event.detail[0];
18059
+ }
17931
18060
  return (_ctx, _cache) => {
17932
- return openBlock(), createBlock(resolveDynamicComponent(tagName), normalizeProps(guardReactiveProps(props)), {
18061
+ return openBlock(), createBlock(resolveDynamicComponent(tagName), mergeProps({
18062
+ disabled: disabled.value,
18063
+ hidden: hidden.value,
18064
+ overlay: overlay.value,
18065
+ offset: offset2.value
18066
+ }, props, {
18067
+ onResize
18068
+ }), {
17933
18069
  default: withCtx(() => [createElementVNode("div", _hoisted_1$4, [renderSlot(_ctx.$slots, "default")])]),
17934
18070
  _: 3
17935
- }, 16);
18071
+ }, 16, ["disabled", "hidden", "overlay", "offset"]);
17936
18072
  };
17937
18073
  }
17938
18074
  });
@@ -18370,6 +18506,10 @@ const _sfc_main = defineComponent({
18370
18506
  mixins: [TranslationMixin],
18371
18507
  inheritAttrs: true,
18372
18508
  props: {
18509
+ /**
18510
+ * The title of the wizard step.
18511
+ * This will be displayed as the step's header.
18512
+ */
18373
18513
  title: {
18374
18514
  type: String,
18375
18515
  required: true
@@ -18768,7 +18908,7 @@ export {
18768
18908
  _sfc_main$s as FSortFilterDataset,
18769
18909
  FSortFilterDatasetInjected,
18770
18910
  FStaticField,
18771
- FTableColumn,
18911
+ _sfc_main$J as FTableColumn,
18772
18912
  FTableColumnSize,
18773
18913
  FTableColumnSort,
18774
18914
  FTableColumnType,
@@ -18849,6 +18989,7 @@ export {
18849
18989
  useAreaData,
18850
18990
  useCombobox,
18851
18991
  useModal,
18992
+ useResize,
18852
18993
  useSlotUtils,
18853
18994
  useTextFieldSetup,
18854
18995
  useTranslate