fds-vue-core 2.2.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { useAttrs, computed, useSlots, Comment, defineComponent, createElementBlock, openBlock, mergeProps, createBlock, ref, watch, createCommentVNode, createElementVNode, normalizeClass, unref, createVNode, toDisplayString, renderSlot, withDirectives, withCtx, createTextVNode, vShow, resolveDynamicComponent, normalizeStyle, onMounted, nextTick, onBeforeUnmount, Teleport, withModifiers, mergeModels, useModel, Fragment, renderList, withKeys, reactive, vModelCheckbox, inject, resolveComponent, Transition, watchEffect, provide, normalizeProps, guardReactiveProps, vModelSelect, getCurrentInstance } from "vue";
1
+ import { useAttrs, computed, useSlots, Comment, defineComponent, createElementBlock, openBlock, mergeProps, createBlock, ref, watch, createCommentVNode, createElementVNode, normalizeClass, unref, createVNode, toDisplayString, renderSlot, withDirectives, withCtx, createTextVNode, vShow, resolveDynamicComponent, normalizeStyle, onMounted, nextTick, onBeforeUnmount, Teleport, withModifiers, provide, getCurrentInstance, inject, Fragment, renderList, vModelText, mergeModels, useModel, withKeys, reactive, vModelCheckbox, resolveComponent, Transition, watchEffect, normalizeProps, guardReactiveProps, vModelSelect } from "vue";
2
2
  function useAttrsWithDefaults(props) {
3
3
  const attrs = useAttrs();
4
4
  return {
@@ -546,8 +546,8 @@ const icons = {
546
546
  </defs>
547
547
  </svg>`
548
548
  };
549
- const _hoisted_1$o = ["innerHTML"];
550
- const _sfc_main$x = /* @__PURE__ */ defineComponent({
549
+ const _hoisted_1$p = ["innerHTML"];
550
+ const _sfc_main$y = /* @__PURE__ */ defineComponent({
551
551
  __name: "FdsIcon",
552
552
  props: {
553
553
  name: {},
@@ -578,13 +578,13 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
578
578
  });
579
579
  return (_ctx, _cache) => {
580
580
  return openBlock(), createElementBlock("span", mergeProps({
581
- class: "inline-flex items-center justify-center align-middle",
581
+ class: "flex items-center justify-center align-middle",
582
582
  style: { width: pixelSize.value, height: pixelSize.value }
583
- }, rootAttrs.value, { innerHTML: svgHtml.value }), null, 16, _hoisted_1$o);
583
+ }, rootAttrs.value, { innerHTML: svgHtml.value }), null, 16, _hoisted_1$p);
584
584
  };
585
585
  }
586
586
  });
587
- const _sfc_main$w = /* @__PURE__ */ defineComponent({
587
+ const _sfc_main$x = /* @__PURE__ */ defineComponent({
588
588
  __name: "FdsButtonIcon",
589
589
  props: {
590
590
  icon: {},
@@ -628,12 +628,12 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
628
628
  class: buttonClasses.value,
629
629
  onClick
630
630
  }), [
631
- !__props.loading ? (openBlock(), createBlock(_sfc_main$x, {
631
+ !__props.loading ? (openBlock(), createBlock(_sfc_main$y, {
632
632
  key: 0,
633
633
  size: iconSize.value,
634
634
  name: __props.icon,
635
635
  "aria-hidden": "true"
636
- }, null, 8, ["size", "name"])) : (openBlock(), createBlock(_sfc_main$x, {
636
+ }, null, 8, ["size", "name"])) : (openBlock(), createBlock(_sfc_main$y, {
637
637
  key: 1,
638
638
  size: iconSize.value,
639
639
  name: "spinner",
@@ -644,15 +644,15 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
644
644
  };
645
645
  }
646
646
  });
647
- const _hoisted_1$n = { class: "flex items-start gap-2" };
648
- const _hoisted_2$i = { class: "h-7 flex items-center" };
649
- const _hoisted_3$b = { class: "leading-7" };
650
- const _hoisted_4$a = { class: "relative h-7" };
651
- const _hoisted_5$9 = {
647
+ const _hoisted_1$o = { class: "flex items-start gap-2" };
648
+ const _hoisted_2$j = { class: "h-7 flex items-center" };
649
+ const _hoisted_3$c = { class: "leading-7" };
650
+ const _hoisted_4$b = { class: "relative h-7" };
651
+ const _hoisted_5$a = {
652
652
  key: 1,
653
653
  class: "fds-block-alert-slot mb-0-last-child"
654
654
  };
655
- const _sfc_main$v = /* @__PURE__ */ defineComponent({
655
+ const _sfc_main$w = /* @__PURE__ */ defineComponent({
656
656
  __name: "FdsBlockAlert",
657
657
  props: {
658
658
  visible: { type: Boolean, default: true },
@@ -708,24 +708,24 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
708
708
  key: 0,
709
709
  class: normalizeClass(["font-bold w-full justify-between items-start flex gap-2", { "mb-4": (isExpanded.value || !__props.collapsable) && unref(hasSlot) }])
710
710
  }, [
711
- createElementVNode("div", _hoisted_1$n, [
712
- createElementVNode("div", _hoisted_2$i, [
713
- createVNode(_sfc_main$x, {
711
+ createElementVNode("div", _hoisted_1$o, [
712
+ createElementVNode("div", _hoisted_2$j, [
713
+ createVNode(_sfc_main$y, {
714
714
  name: "alert",
715
715
  size: 24,
716
716
  class: "fill-yellow-700"
717
717
  })
718
718
  ]),
719
- createElementVNode("span", _hoisted_3$b, toDisplayString(__props.label), 1)
719
+ createElementVNode("span", _hoisted_3$c, toDisplayString(__props.label), 1)
720
720
  ]),
721
- createElementVNode("div", _hoisted_4$a, [
722
- __props.closeable ? (openBlock(), createBlock(_sfc_main$w, mergeProps({
721
+ createElementVNode("div", _hoisted_4$b, [
722
+ __props.closeable ? (openBlock(), createBlock(_sfc_main$x, mergeProps({
723
723
  key: 0,
724
724
  icon: "cross",
725
725
  size: 28,
726
726
  onClick: handleClose
727
727
  }, { "aria-label": closeLabel.value }, { class: ["fill-gray-900! hover:bg-gray-100 active:bg-gray-200"] }), null, 16)) : createCommentVNode("", true),
728
- __props.collapsable ? (openBlock(), createBlock(_sfc_main$w, mergeProps({
728
+ __props.collapsable ? (openBlock(), createBlock(_sfc_main$x, mergeProps({
729
729
  key: 1,
730
730
  icon: "arrowDown",
731
731
  size: 28,
@@ -739,7 +739,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
739
739
  }), null, 16, ["class"])) : createCommentVNode("", true)
740
740
  ])
741
741
  ], 2)) : createCommentVNode("", true),
742
- isExpanded.value || !__props.collapsable ? (openBlock(), createElementBlock("div", _hoisted_5$9, [
742
+ isExpanded.value || !__props.collapsable ? (openBlock(), createElementBlock("div", _hoisted_5$a, [
743
743
  renderSlot(_ctx.$slots, "default")
744
744
  ])) : createCommentVNode("", true)
745
745
  ])
@@ -748,15 +748,15 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
748
748
  };
749
749
  }
750
750
  });
751
- const _hoisted_1$m = ["id"];
752
- const _hoisted_2$h = {
751
+ const _hoisted_1$n = ["id"];
752
+ const _hoisted_2$i = {
753
753
  key: 0,
754
754
  class: "flex items-start justify-between gap-4 mb-4"
755
755
  };
756
- const _hoisted_3$a = { class: "flex items-center gap-3" };
757
- const _hoisted_4$9 = { class: "flex items-start gap-3 leading-8" };
758
- const _hoisted_5$8 = { class: "mb-0-last-child" };
759
- const _sfc_main$u = /* @__PURE__ */ defineComponent({
756
+ const _hoisted_3$b = { class: "flex items-center gap-3" };
757
+ const _hoisted_4$a = { class: "flex items-start gap-3 leading-8" };
758
+ const _hoisted_5$9 = { class: "mb-0-last-child" };
759
+ const _sfc_main$v = /* @__PURE__ */ defineComponent({
760
760
  __name: "FdsBlockContent",
761
761
  props: {
762
762
  heading: { default: void 0 },
@@ -800,24 +800,24 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
800
800
  class: contentClasses.value,
801
801
  style: borderLeftStyle.value
802
802
  }, rootAttrs.value), [
803
- __props.heading ? (openBlock(), createElementBlock("header", _hoisted_2$h, [
804
- createElementVNode("div", _hoisted_3$a, [
803
+ __props.heading ? (openBlock(), createElementBlock("header", _hoisted_2$i, [
804
+ createElementVNode("div", _hoisted_3$b, [
805
805
  createElementVNode("h3", {
806
806
  class: normalizeClass(headerClasses.value)
807
807
  }, toDisplayString(__props.heading), 3)
808
808
  ]),
809
- createElementVNode("div", _hoisted_4$9, [
809
+ createElementVNode("div", _hoisted_4$a, [
810
810
  renderSlot(_ctx.$slots, "headerInfo")
811
811
  ])
812
812
  ])) : createCommentVNode("", true),
813
- createElementVNode("div", _hoisted_5$8, [
813
+ createElementVNode("div", _hoisted_5$9, [
814
814
  renderSlot(_ctx.$slots, "default")
815
815
  ])
816
- ], 16, _hoisted_1$m);
816
+ ], 16, _hoisted_1$n);
817
817
  };
818
818
  }
819
819
  });
820
- const _sfc_main$t = /* @__PURE__ */ defineComponent({
820
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
821
821
  __name: "FdsSticker",
822
822
  props: {
823
823
  variant: { default: "blue" },
@@ -865,19 +865,18 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
865
865
  };
866
866
  }
867
867
  });
868
- const _hoisted_1$l = { class: "w-full flex justify-between items-start" };
869
- const _hoisted_2$g = { class: "inline-flex items-center" };
870
- const _hoisted_3$9 = {
868
+ const _hoisted_1$m = { class: "leading-6 w-full flex justify-between gap-4" };
869
+ const _hoisted_2$h = {
871
870
  key: 0,
872
871
  class: "flex items-center mr-4"
873
872
  };
874
- const _hoisted_4$8 = { class: "inline-flex items-center" };
875
- const _hoisted_5$7 = {
873
+ const _hoisted_3$a = { class: "inline-flex items-center" };
874
+ const _hoisted_4$9 = {
876
875
  key: 0,
877
876
  class: "w-full flex mt-2"
878
877
  };
879
- const _hoisted_6$4 = ["aria-hidden"];
880
- const _sfc_main$s = /* @__PURE__ */ defineComponent({
878
+ const _hoisted_5$8 = ["aria-hidden"];
879
+ const _sfc_main$t = /* @__PURE__ */ defineComponent({
881
880
  ...{
882
881
  inheritAttrs: false
883
882
  },
@@ -948,23 +947,25 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
948
947
  createElementVNode("span", {
949
948
  class: normalizeClass(buttonRowClasses.value)
950
949
  }, [
951
- createElementVNode("span", _hoisted_1$l, [
952
- createElementVNode("span", _hoisted_2$g, [
953
- __props.preIcon ? (openBlock(), createElementBlock("span", _hoisted_3$9, [
954
- createVNode(_sfc_main$x, {
950
+ createElementVNode("span", _hoisted_1$m, [
951
+ createElementVNode("span", {
952
+ class: normalizeClass({ "inline-flex items-start": __props.preIcon })
953
+ }, [
954
+ __props.preIcon ? (openBlock(), createElementBlock("span", _hoisted_2$h, [
955
+ createVNode(_sfc_main$y, {
955
956
  name: __props.preIcon,
956
957
  size: 24,
957
958
  class: normalizeClass(["fill-blue-500", { "fill-gray-500": __props.disabled }])
958
959
  }, null, 8, ["name", "class"])
959
960
  ])) : createCommentVNode("", true),
960
- createElementVNode("span", _hoisted_4$8, [
961
+ createElementVNode("span", _hoisted_3$a, [
961
962
  createElementVNode("span", {
962
963
  class: normalizeClass(["font-bold font-heading text-lg leading-md", { "text-gray-700": __props.disabled }])
963
964
  }, toDisplayString(__props.label), 3)
964
965
  ])
965
- ]),
966
+ ], 2),
966
967
  createElementVNode("span", null, [
967
- __props.stickerText && __props.stickerColor ? (openBlock(), createBlock(_sfc_main$t, {
968
+ __props.stickerText && __props.stickerColor ? (openBlock(), createBlock(_sfc_main$u, {
968
969
  key: 0,
969
970
  variant: __props.stickerColor
970
971
  }, {
@@ -973,15 +974,15 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
973
974
  ]),
974
975
  _: 1
975
976
  }, 8, ["variant"])) : createCommentVNode("", true),
976
- createVNode(_sfc_main$x, {
977
+ createVNode(_sfc_main$y, {
977
978
  name: "arrowDown",
978
979
  size: 24,
979
- class: normalizeClass(["ml-4 transition-transform duration-200 fill-blue-500 min-w-6 min-h-6", { "rotate-180": isOpen.value, "fill-gray-500": __props.disabled }])
980
+ class: normalizeClass(["transition-transform duration-200 fill-blue-500 min-w-6 min-h-6", { "rotate-180": isOpen.value, "fill-gray-500": __props.disabled }])
980
981
  }, null, 8, ["class"])
981
982
  ])
982
983
  ])
983
984
  ], 2),
984
- unref(hasExtraRowSlot) && !isOpen.value ? (openBlock(), createElementBlock("span", _hoisted_5$7, [
985
+ unref(hasExtraRowSlot) && !isOpen.value ? (openBlock(), createElementBlock("span", _hoisted_4$9, [
985
986
  renderSlot(_ctx.$slots, "extra-row")
986
987
  ])) : createCommentVNode("", true)
987
988
  ], 16),
@@ -990,39 +991,39 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
990
991
  class: "mb-0-last-child block px-4 pb-6 rounded-b-2xl bg-white"
991
992
  }, [
992
993
  renderSlot(_ctx.$slots, "default")
993
- ], 8, _hoisted_6$4), [
994
+ ], 8, _hoisted_5$8), [
994
995
  [vShow, isOpen.value]
995
996
  ])
996
997
  ], 16);
997
998
  };
998
999
  }
999
1000
  });
1000
- const _hoisted_1$k = ["id"];
1001
- const _hoisted_2$f = {
1001
+ const _hoisted_1$l = ["id"];
1002
+ const _hoisted_2$g = {
1002
1003
  key: 0,
1003
1004
  class: "flex items-start gap-4"
1004
1005
  };
1005
- const _hoisted_3$8 = { class: "flex-1" };
1006
- const _hoisted_4$7 = {
1006
+ const _hoisted_3$9 = { class: "flex-1" };
1007
+ const _hoisted_4$8 = {
1007
1008
  key: 0,
1008
1009
  class: "mb-1"
1009
1010
  };
1010
- const _hoisted_5$6 = { class: "flex items-start justify-between gap-4" };
1011
- const _hoisted_6$3 = { class: "m-0 text-base font-main font-bold tracking-wide" };
1012
- const _hoisted_7$3 = { class: "flex items-start gap-3" };
1013
- const _hoisted_8$2 = {
1011
+ const _hoisted_5$7 = { class: "flex items-start justify-between gap-4" };
1012
+ const _hoisted_6$4 = { class: "m-0 text-base font-main font-bold tracking-wide" };
1013
+ const _hoisted_7$4 = { class: "flex items-start gap-3" };
1014
+ const _hoisted_8$3 = {
1014
1015
  key: 1,
1015
1016
  class: "mb-0-last-child"
1016
1017
  };
1017
- const _hoisted_9$2 = { key: 1 };
1018
- const _hoisted_10$1 = { class: "flex items-start justify-between gap-4" };
1019
- const _hoisted_11$1 = { class: "flex items-center gap-3" };
1020
- const _hoisted_12 = { class: "m-0 text-base font-main font-bold tracking-wide" };
1021
- const _hoisted_13 = { class: "flex items-start gap-3" };
1022
- const _hoisted_14 = { class: "mb-0-last-child" };
1018
+ const _hoisted_9$3 = { key: 1 };
1019
+ const _hoisted_10$2 = { class: "flex items-start justify-between gap-4" };
1020
+ const _hoisted_11$2 = { class: "flex items-center gap-3" };
1021
+ const _hoisted_12$1 = { class: "m-0 text-base font-main font-bold tracking-wide" };
1022
+ const _hoisted_13$1 = { class: "flex items-start gap-3" };
1023
+ const _hoisted_14$1 = { class: "mb-0-last-child" };
1023
1024
  const smallIconSize = 24;
1024
1025
  const largeIconSize = 48;
1025
- const _sfc_main$r = /* @__PURE__ */ defineComponent({
1026
+ const _sfc_main$s = /* @__PURE__ */ defineComponent({
1026
1027
  __name: "FdsBlockInfo",
1027
1028
  props: {
1028
1029
  heading: { default: void 0 },
@@ -1054,59 +1055,59 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
1054
1055
  id: contentBlockId.value,
1055
1056
  class: contentClasses.value
1056
1057
  }, rootAttrs.value), [
1057
- __props.size === "large" && __props.icon ? (openBlock(), createElementBlock("div", _hoisted_2$f, [
1058
- createVNode(_sfc_main$x, {
1058
+ __props.size === "large" && __props.icon ? (openBlock(), createElementBlock("div", _hoisted_2$g, [
1059
+ createVNode(_sfc_main$y, {
1059
1060
  name: __props.icon,
1060
1061
  size: largeIconSize,
1061
1062
  class: "fill-blue-500"
1062
1063
  }, null, 8, ["name"]),
1063
- createElementVNode("div", _hoisted_3$8, [
1064
- __props.heading ? (openBlock(), createElementBlock("div", _hoisted_4$7, [
1065
- createElementVNode("header", _hoisted_5$6, [
1066
- createElementVNode("h3", _hoisted_6$3, toDisplayString(__props.heading), 1),
1067
- createElementVNode("div", _hoisted_7$3, [
1064
+ createElementVNode("div", _hoisted_3$9, [
1065
+ __props.heading ? (openBlock(), createElementBlock("div", _hoisted_4$8, [
1066
+ createElementVNode("header", _hoisted_5$7, [
1067
+ createElementVNode("h3", _hoisted_6$4, toDisplayString(__props.heading), 1),
1068
+ createElementVNode("div", _hoisted_7$4, [
1068
1069
  renderSlot(_ctx.$slots, "headerInfo")
1069
1070
  ])
1070
1071
  ])
1071
1072
  ])) : createCommentVNode("", true),
1072
- unref(hasSlot) ? (openBlock(), createElementBlock("div", _hoisted_8$2, [
1073
+ unref(hasSlot) ? (openBlock(), createElementBlock("div", _hoisted_8$3, [
1073
1074
  renderSlot(_ctx.$slots, "default")
1074
1075
  ])) : createCommentVNode("", true)
1075
1076
  ])
1076
- ])) : (openBlock(), createElementBlock("div", _hoisted_9$2, [
1077
+ ])) : (openBlock(), createElementBlock("div", _hoisted_9$3, [
1077
1078
  __props.heading ? (openBlock(), createElementBlock("div", {
1078
1079
  key: 0,
1079
1080
  class: normalizeClass({ "mb-4": unref(hasSlot) })
1080
1081
  }, [
1081
- createElementVNode("header", _hoisted_10$1, [
1082
- createElementVNode("div", _hoisted_11$1, [
1083
- __props.icon && __props.size === "small" ? (openBlock(), createBlock(_sfc_main$x, {
1082
+ createElementVNode("header", _hoisted_10$2, [
1083
+ createElementVNode("div", _hoisted_11$2, [
1084
+ __props.icon && __props.size === "small" ? (openBlock(), createBlock(_sfc_main$y, {
1084
1085
  key: 0,
1085
1086
  name: __props.icon,
1086
1087
  size: smallIconSize,
1087
1088
  class: "fill-blue-500"
1088
1089
  }, null, 8, ["name"])) : createCommentVNode("", true),
1089
- createElementVNode("h3", _hoisted_12, toDisplayString(__props.heading), 1)
1090
+ createElementVNode("h3", _hoisted_12$1, toDisplayString(__props.heading), 1)
1090
1091
  ]),
1091
- createElementVNode("div", _hoisted_13, [
1092
+ createElementVNode("div", _hoisted_13$1, [
1092
1093
  renderSlot(_ctx.$slots, "headerInfo")
1093
1094
  ])
1094
1095
  ])
1095
1096
  ], 2)) : createCommentVNode("", true),
1096
- createElementVNode("div", _hoisted_14, [
1097
+ createElementVNode("div", _hoisted_14$1, [
1097
1098
  renderSlot(_ctx.$slots, "default")
1098
1099
  ])
1099
1100
  ]))
1100
- ], 16, _hoisted_1$k);
1101
+ ], 16, _hoisted_1$l);
1101
1102
  };
1102
1103
  }
1103
1104
  });
1104
- const _hoisted_1$j = { class: "mb-0-last-child" };
1105
- const _hoisted_2$e = {
1105
+ const _hoisted_1$k = { class: "mb-0-last-child" };
1106
+ const _hoisted_2$f = {
1106
1107
  key: 0,
1107
1108
  class: "flex items-end"
1108
1109
  };
1109
- const _sfc_main$q = /* @__PURE__ */ defineComponent({
1110
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
1110
1111
  ...{
1111
1112
  inheritAttrs: false
1112
1113
  },
@@ -1195,7 +1196,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1195
1196
  createElementVNode("div", {
1196
1197
  class: normalizeClass(["flex w-full flex-1", contentClasses.value])
1197
1198
  }, [
1198
- __props.icon ? (openBlock(), createBlock(_sfc_main$x, {
1199
+ __props.icon ? (openBlock(), createBlock(_sfc_main$y, {
1199
1200
  key: 0,
1200
1201
  name: __props.icon,
1201
1202
  size: 24,
@@ -1214,16 +1215,16 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1214
1215
  createElementVNode("div", {
1215
1216
  class: normalizeClass(slotWrapperClasses.value)
1216
1217
  }, [
1217
- createElementVNode("div", _hoisted_1$j, [
1218
+ createElementVNode("div", _hoisted_1$k, [
1218
1219
  renderSlot(_ctx.$slots, "default")
1219
1220
  ]),
1220
- unref(hasStickerSlot) ? (openBlock(), createElementBlock("div", _hoisted_2$e, [
1221
+ unref(hasStickerSlot) ? (openBlock(), createElementBlock("div", _hoisted_2$f, [
1221
1222
  renderSlot(_ctx.$slots, "sticker")
1222
1223
  ])) : createCommentVNode("", true)
1223
1224
  ], 2)
1224
1225
  ], 2)
1225
1226
  ], 2),
1226
- __props.arrow ? (openBlock(), createBlock(_sfc_main$x, {
1227
+ __props.arrow ? (openBlock(), createBlock(_sfc_main$y, {
1227
1228
  key: 0,
1228
1229
  name: "arrowRight",
1229
1230
  size: 20,
@@ -1235,8 +1236,8 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1235
1236
  };
1236
1237
  }
1237
1238
  });
1238
- const _hoisted_1$i = ["aria-label"];
1239
- const _sfc_main$p = /* @__PURE__ */ defineComponent({
1239
+ const _hoisted_1$j = ["aria-label"];
1240
+ const _sfc_main$q = /* @__PURE__ */ defineComponent({
1240
1241
  __name: "FdsSpinner",
1241
1242
  props: {
1242
1243
  size: { default: "48px" },
@@ -1316,14 +1317,14 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
1316
1317
  key: 0,
1317
1318
  class: normalizeClass(__props.labelPosition === "bottom" ? "font-bold" : "")
1318
1319
  }, toDisplayString(__props.label), 3)) : createCommentVNode("", true)
1319
- ], 16, _hoisted_1$i);
1320
+ ], 16, _hoisted_1$j);
1320
1321
  };
1321
1322
  }
1322
1323
  });
1323
- const _hoisted_1$h = ["aria-disabled"];
1324
- const _hoisted_2$d = { class: "pt-0.5" };
1324
+ const _hoisted_1$i = ["aria-disabled"];
1325
+ const _hoisted_2$e = { class: "pt-0.5" };
1325
1326
  const elBase$2 = "box-border appearance-none inline-flex items-start justify-center w-fit shadow-none p-0.5 text-base select-none m-0 rounded-md text-left align-start no-underline transition-[box-shadow,border-color,background-color] duration-200 font-main font-bold text-base leading-5 tracking-normal focus-visible:outline-dashed focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-blue-500";
1326
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
1327
+ const _sfc_main$p = /* @__PURE__ */ defineComponent({
1327
1328
  ...{
1328
1329
  inheritAttrs: false
1329
1330
  },
@@ -1402,7 +1403,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
1402
1403
  onClick
1403
1404
  }), {
1404
1405
  default: withCtx(() => [
1405
- __props.loading ? (openBlock(), createBlock(_sfc_main$p, {
1406
+ __props.loading ? (openBlock(), createBlock(_sfc_main$q, {
1406
1407
  key: 0,
1407
1408
  class: "mr-2",
1408
1409
  size: "24px",
@@ -1412,25 +1413,25 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
1412
1413
  class: normalizeClass(iconOrderClasses.value),
1413
1414
  "aria-hidden": "true"
1414
1415
  }, [
1415
- createVNode(_sfc_main$x, {
1416
+ createVNode(_sfc_main$y, {
1416
1417
  class: normalizeClass(iconFillClass2.value),
1417
1418
  name: __props.icon,
1418
1419
  size: 24
1419
1420
  }, null, 8, ["class", "name"])
1420
1421
  ], 2)) : createCommentVNode("", true),
1421
- createElementVNode("span", _hoisted_2$d, toDisplayString(__props.text), 1)
1422
+ createElementVNode("span", _hoisted_2$e, toDisplayString(__props.text), 1)
1422
1423
  ]),
1423
1424
  _: 1
1424
1425
  }, 16, ["type", "disabled", "target", "rel", "data-testid", "class"]))
1425
- ], 10, _hoisted_1$h);
1426
+ ], 10, _hoisted_1$i);
1426
1427
  };
1427
1428
  }
1428
1429
  });
1429
- const _hoisted_1$g = {
1430
+ const _hoisted_1$h = {
1430
1431
  key: 0,
1431
1432
  class: "flex items-center gap-2 h-7"
1432
1433
  };
1433
- const _sfc_main$n = /* @__PURE__ */ defineComponent({
1434
+ const _sfc_main$o = /* @__PURE__ */ defineComponent({
1434
1435
  __name: "FdsButtonCopy",
1435
1436
  props: {
1436
1437
  value: { default: "" },
@@ -1492,10 +1493,10 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
1492
1493
  }
1493
1494
  });
1494
1495
  return (_ctx, _cache) => {
1495
- return isCopied.value ? (openBlock(), createElementBlock("div", _hoisted_1$g, [
1496
- createVNode(_sfc_main$x, { name: "bigSuccess" }),
1496
+ return isCopied.value ? (openBlock(), createElementBlock("div", _hoisted_1$h, [
1497
+ createVNode(_sfc_main$y, { name: "bigSuccess" }),
1497
1498
  createElementVNode("span", null, toDisplayString(props.copiedLabel), 1)
1498
- ])) : (openBlock(), createBlock(_sfc_main$o, {
1499
+ ])) : (openBlock(), createBlock(_sfc_main$p, {
1499
1500
  key: 1,
1500
1501
  type: "button",
1501
1502
  disabled: props.disabled,
@@ -4130,8 +4131,8 @@ function useDownload() {
4130
4131
  isDownloading
4131
4132
  };
4132
4133
  }
4133
- const _hoisted_1$f = ["disabled", "aria-disabled"];
4134
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
4134
+ const _hoisted_1$g = ["disabled", "aria-disabled"];
4135
+ const _sfc_main$n = /* @__PURE__ */ defineComponent({
4135
4136
  __name: "FdsButtonDownload",
4136
4137
  props: {
4137
4138
  loading: { type: Boolean, default: false },
@@ -4232,23 +4233,23 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
4232
4233
  class: normalizeClass(iconOrderClasses.value),
4233
4234
  "aria-hidden": "true"
4234
4235
  }, [
4235
- createVNode(_sfc_main$x, {
4236
+ createVNode(_sfc_main$y, {
4236
4237
  class: normalizeClass(iconFillClass2.value),
4237
4238
  name: "download",
4238
4239
  size: 24
4239
4240
  }, null, 8, ["class"])
4240
4241
  ], 2),
4241
4242
  createTextVNode(" " + toDisplayString(__props.text), 1)
4242
- ], 16, _hoisted_1$f);
4243
+ ], 16, _hoisted_1$g);
4243
4244
  };
4244
4245
  }
4245
4246
  });
4246
- const _hoisted_1$e = ["aria-disabled"];
4247
- const _hoisted_2$c = { key: 2 };
4247
+ const _hoisted_1$f = ["aria-disabled"];
4248
+ const _hoisted_2$d = { key: 2 };
4248
4249
  const elBase$1 = "box-border appearance-none inline-flex items-center justify-center select-none w-full min-h-0 min-w-12 m-0 rounded-lg text-center align-middle whitespace-nowrap no-underline shadow-[0_2px_4px_rgba(12,72,153,0.12)] transition-[box-shadow,border-color,background-color] duration-200 font-main font-bold text-base leading-5 tracking-normal focus-visible:outline-dashed focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-blue-500";
4249
4250
  const variantClasses$1 = "bg-red-600 border border-red-700 text-white hover:bg-red-700 active:bg-red-800 active:border-red-800";
4250
4251
  const iconFillClass$1 = "fill-white";
4251
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
4252
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
4252
4253
  ...{
4253
4254
  inheritAttrs: false
4254
4255
  },
@@ -4326,7 +4327,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
4326
4327
  onClick
4327
4328
  }), {
4328
4329
  default: withCtx(() => [
4329
- __props.loading ? (openBlock(), createBlock(_sfc_main$p, {
4330
+ __props.loading ? (openBlock(), createBlock(_sfc_main$q, {
4330
4331
  key: 0,
4331
4332
  size: "24px",
4332
4333
  color: "inherit"
@@ -4335,26 +4336,26 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
4335
4336
  class: normalizeClass(iconOrderClasses.value),
4336
4337
  "aria-hidden": "true"
4337
4338
  }, [
4338
- createVNode(_sfc_main$x, {
4339
+ createVNode(_sfc_main$y, {
4339
4340
  class: normalizeClass(iconFillClass$1),
4340
4341
  name: __props.icon,
4341
4342
  size: 24
4342
4343
  }, null, 8, ["name"])
4343
4344
  ], 2)) : createCommentVNode("", true),
4344
- __props.text ? (openBlock(), createElementBlock("span", _hoisted_2$c, toDisplayString(__props.text), 1)) : createCommentVNode("", true)
4345
+ __props.text ? (openBlock(), createElementBlock("span", _hoisted_2$d, toDisplayString(__props.text), 1)) : createCommentVNode("", true)
4345
4346
  ]),
4346
4347
  _: 1
4347
4348
  }, 16, ["type", "disabled", "data-testid", "class"]))
4348
- ], 10, _hoisted_1$e);
4349
+ ], 10, _hoisted_1$f);
4349
4350
  };
4350
4351
  }
4351
4352
  });
4352
- const _hoisted_1$d = ["aria-disabled"];
4353
- const _hoisted_2$b = { key: 2 };
4353
+ const _hoisted_1$e = ["aria-disabled"];
4354
+ const _hoisted_2$c = { key: 2 };
4354
4355
  const elBase = "box-border appearance-none inline-flex items-center justify-center select-none w-full min-h-0 min-w-12 m-0 rounded-lg text-center align-middle whitespace-nowrap no-underline shadow-[0_2px_4px_rgba(12,72,153,0.12)] transition-[box-shadow,border-color,background-color] duration-200 font-main font-bold text-base leading-5 tracking-normal focus-visible:outline-dashed focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-blue-500";
4355
4356
  const variantClasses = "bg-white border-2 border-blue-500 text-blue-600 hover:border-blue-600 active:bg-blue-600 active:border-blue-600 active:text-white";
4356
4357
  const iconFillClass = "fill-blue-500";
4357
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
4358
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
4358
4359
  ...{
4359
4360
  inheritAttrs: false
4360
4361
  },
@@ -4432,7 +4433,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
4432
4433
  onClick
4433
4434
  }), {
4434
4435
  default: withCtx(() => [
4435
- __props.loading ? (openBlock(), createBlock(_sfc_main$p, {
4436
+ __props.loading ? (openBlock(), createBlock(_sfc_main$q, {
4436
4437
  key: 0,
4437
4438
  size: "24px",
4438
4439
  color: "inherit"
@@ -4441,17 +4442,17 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
4441
4442
  class: normalizeClass(iconOrderClasses.value),
4442
4443
  "aria-hidden": "true"
4443
4444
  }, [
4444
- createVNode(_sfc_main$x, {
4445
+ createVNode(_sfc_main$y, {
4445
4446
  class: normalizeClass(iconFillClass),
4446
4447
  name: __props.icon,
4447
4448
  size: 24
4448
4449
  }, null, 8, ["name"])
4449
4450
  ], 2)) : createCommentVNode("", true),
4450
- __props.text ? (openBlock(), createElementBlock("span", _hoisted_2$b, toDisplayString(__props.text), 1)) : createCommentVNode("", true)
4451
+ __props.text ? (openBlock(), createElementBlock("span", _hoisted_2$c, toDisplayString(__props.text), 1)) : createCommentVNode("", true)
4451
4452
  ]),
4452
4453
  _: 1
4453
4454
  }, 16, ["type", "disabled", "data-testid", "class"]))
4454
- ], 10, _hoisted_1$d);
4455
+ ], 10, _hoisted_1$e);
4455
4456
  };
4456
4457
  }
4457
4458
  });
@@ -4480,89 +4481,9 @@ function useDevMode() {
4480
4481
  }
4481
4482
  return devModeInstance;
4482
4483
  }
4483
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
4484
- __name: "FdsDevMode",
4485
- props: {
4486
- environment: { default: null }
4487
- },
4488
- setup(__props) {
4489
- const props = __props;
4490
- const { isDevMode, toggleDevMode } = useDevMode();
4491
- const hideEnvBanner = ref(false);
4492
- const environmentKey = computed(() => props.environment ?? null);
4493
- const environmentText = computed(() => {
4494
- switch (environmentKey.value) {
4495
- case "localhost":
4496
- return "Localhost";
4497
- case "development":
4498
- return "Development";
4499
- case "development:feature-branch":
4500
- return "Dev: Feature";
4501
- case "preprod":
4502
- return "Preprod";
4503
- case "demo":
4504
- return "Demo";
4505
- case "production":
4506
- return "Production";
4507
- default:
4508
- return "Environment not found";
4509
- }
4510
- });
4511
- const renderEnvBanner = computed(() => {
4512
- if (hideEnvBanner.value || environmentKey.value === null) return false;
4513
- return environmentKey.value === "localhost" || environmentKey.value === "development" || environmentKey.value === "development:feature-branch" || environmentKey.value === "preprod";
4514
- });
4515
- const envBannerClasses = computed(() => {
4516
- if (isDevMode.value) {
4517
- return "bg-green-500 text-white";
4518
- }
4519
- if (environmentKey.value === "localhost" || environmentKey.value === "development" || environmentKey.value === "development:feature-branch") {
4520
- return "bg-yellow-400 text-gray-900";
4521
- }
4522
- if (environmentKey.value === "preprod") {
4523
- return "bg-red-500 text-white-solid";
4524
- }
4525
- return "";
4526
- });
4527
- const envBannerFillColor = computed(() => {
4528
- if (isDevMode.value) {
4529
- return "fill-white";
4530
- }
4531
- if (environmentKey.value === "localhost" || environmentKey.value === "development" || environmentKey.value === "development:feature-branch") {
4532
- return "fill-gray-900";
4533
- }
4534
- if (environmentKey.value === "preprod") {
4535
- return "fill-white";
4536
- }
4537
- return "";
4538
- });
4539
- const handleEnvBanner = () => {
4540
- hideEnvBanner.value = true;
4541
- };
4542
- return (_ctx, _cache) => {
4543
- return renderEnvBanner.value ? (openBlock(), createElementBlock("div", {
4544
- key: 0,
4545
- class: normalizeClass(["fixed bottom-0 right-12 font-bold m-6 px-3 py-1 rounded-xl z-50 flex items-center gap-1", envBannerClasses.value])
4546
- }, [
4547
- createElementVNode("span", null, toDisplayString(environmentText.value), 1),
4548
- createElementVNode("button", {
4549
- onClick: _cache[0] || (_cache[0] = //@ts-ignore
4550
- (...args) => unref(toggleDevMode) && unref(toggleDevMode)(...args)),
4551
- class: "mx-1 py-1 rounded text-xs font-bold bg-white bg-opacity-20 text-black hover:bg-opacity-30 min-w-[120px]"
4552
- }, toDisplayString(unref(isDevMode) ? "Dev mode: ON" : "Dev mode: OFF"), 1),
4553
- createVNode(_sfc_main$w, {
4554
- onClick: handleEnvBanner,
4555
- icon: "cross",
4556
- size: 24,
4557
- class: normalizeClass(envBannerFillColor.value)
4558
- }, null, 8, ["class"])
4559
- ], 2)) : createCommentVNode("", true);
4560
- };
4561
- }
4562
- });
4563
- const _hoisted_1$c = { class: "flex justify-between mb-4" };
4564
- const _hoisted_2$a = { class: "mb-0-last-child" };
4565
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
4484
+ const _hoisted_1$d = { class: "flex justify-between mb-4" };
4485
+ const _hoisted_2$b = { class: "mb-0-last-child" };
4486
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
4566
4487
  __name: "FdsModal",
4567
4488
  props: {
4568
4489
  open: { type: Boolean, default: false },
@@ -4709,79 +4630,815 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
4709
4630
  });
4710
4631
  }
4711
4632
  }
4712
- );
4713
- onMounted(() => {
4714
- document.addEventListener("keydown", handleKeyDown, true);
4715
- if (props.open) {
4716
- previouslyFocusedElement.value = document.activeElement;
4717
- if (props.lockScroll) {
4718
- setHtmlOverflow("hidden");
4719
- }
4720
- trapFocus();
4633
+ );
4634
+ onMounted(() => {
4635
+ document.addEventListener("keydown", handleKeyDown, true);
4636
+ if (props.open) {
4637
+ previouslyFocusedElement.value = document.activeElement;
4638
+ if (props.lockScroll) {
4639
+ setHtmlOverflow("hidden");
4640
+ }
4641
+ trapFocus();
4642
+ }
4643
+ });
4644
+ onBeforeUnmount(() => {
4645
+ document.removeEventListener("keydown", handleKeyDown, true);
4646
+ setHtmlOverflow("auto");
4647
+ if (cleanupFocusTrap) {
4648
+ cleanupFocusTrap();
4649
+ }
4650
+ });
4651
+ const modalAttrs = computed(() => {
4652
+ const attrs = {};
4653
+ if (props.dataTestid) {
4654
+ attrs["data-testid"] = props.dataTestid;
4655
+ }
4656
+ return attrs;
4657
+ });
4658
+ return (_ctx, _cache) => {
4659
+ return openBlock(), createBlock(Teleport, { to: "body" }, [
4660
+ isOpen.value ? (openBlock(), createElementBlock("div", {
4661
+ key: 0,
4662
+ onClick: handleBackdropClick,
4663
+ class: normalizeClass(modalOuterClasses.value)
4664
+ }, [
4665
+ _cache[2] || (_cache[2] = createElementVNode("div", { class: "fixed top-0 left-0 w-full h-full bg-black/34 z-99" }, null, -1)),
4666
+ createElementVNode("div", mergeProps({
4667
+ class: ["fds-modal-inner", modalInnerClasses.value],
4668
+ role: "alertdialog",
4669
+ "aria-modal": "true"
4670
+ }, modalAttrs.value, {
4671
+ onClick: _cache[1] || (_cache[1] = withModifiers(() => {
4672
+ }, ["stop"]))
4673
+ }), [
4674
+ createElementVNode("div", _hoisted_1$d, [
4675
+ createElementVNode("h3", {
4676
+ tabindex: "-1",
4677
+ class: normalizeClass(headerTitleClasses.value)
4678
+ }, [
4679
+ iconName.value ? (openBlock(), createBlock(_sfc_main$y, {
4680
+ key: 0,
4681
+ name: iconName.value,
4682
+ size: 24,
4683
+ class: normalizeClass(iconClasses.value)
4684
+ }, null, 8, ["name", "class"])) : createCommentVNode("", true),
4685
+ createTextVNode(" " + toDisplayString(__props.heading), 1)
4686
+ ], 2),
4687
+ !__props.strict ? (openBlock(), createBlock(_sfc_main$x, mergeProps({
4688
+ key: 0,
4689
+ icon: "cross",
4690
+ size: 28,
4691
+ onClick: _cache[0] || (_cache[0] = ($event) => handleClose("icon"))
4692
+ }, { "aria-label": closeLabel.value }, { class: "ml-4" }), null, 16)) : createCommentVNode("", true)
4693
+ ]),
4694
+ createElementVNode("div", _hoisted_2$b, [
4695
+ renderSlot(_ctx.$slots, "default")
4696
+ ]),
4697
+ unref(hasFooterSlot) ? (openBlock(), createElementBlock("div", {
4698
+ key: 0,
4699
+ class: normalizeClass(footerClasses.value)
4700
+ }, [
4701
+ renderSlot(_ctx.$slots, "modal-footer")
4702
+ ], 2)) : createCommentVNode("", true)
4703
+ ], 16)
4704
+ ], 2)) : createCommentVNode("", true)
4705
+ ]);
4706
+ };
4707
+ }
4708
+ });
4709
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
4710
+ __name: "FdsTabs",
4711
+ props: {
4712
+ block: { type: Boolean, default: false },
4713
+ variant: { default: "primary" },
4714
+ dataTestid: { default: void 0 }
4715
+ },
4716
+ setup(__props) {
4717
+ const props = __props;
4718
+ const tabsClasses = computed(() => [
4719
+ "inline-flex overflow-auto max-w-full p-0.5 gap-0.5",
4720
+ {
4721
+ "flex justify-between w-full": props.block,
4722
+ "bg-blue_t-100 rounded-[10px] mb-8": props.variant === "primary",
4723
+ "gap-2 mb-4": props.variant === "secondary"
4724
+ }
4725
+ ]);
4726
+ const rootAttrs = computed(() => {
4727
+ const attrs = {};
4728
+ if (props.dataTestid) {
4729
+ attrs["data-testid"] = props.dataTestid;
4730
+ }
4731
+ return attrs;
4732
+ });
4733
+ provide("tabsVariant", props.variant);
4734
+ provide("tabsBlock", props.block);
4735
+ return (_ctx, _cache) => {
4736
+ return openBlock(), createElementBlock("div", mergeProps({ class: tabsClasses.value }, rootAttrs.value), [
4737
+ renderSlot(_ctx.$slots, "default")
4738
+ ], 16);
4739
+ };
4740
+ }
4741
+ });
4742
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
4743
+ ...{
4744
+ inheritAttrs: false
4745
+ },
4746
+ __name: "FdsTabsItem",
4747
+ props: {
4748
+ to: { default: void 0 },
4749
+ href: { default: void 0 },
4750
+ as: { default: void 0 },
4751
+ active: { type: Boolean, default: void 0 },
4752
+ exact: { type: Boolean, default: false },
4753
+ disabled: { type: Boolean, default: false },
4754
+ label: { default: void 0 },
4755
+ dataTestid: { default: void 0 }
4756
+ },
4757
+ emits: ["click"],
4758
+ setup(__props, { emit: __emit }) {
4759
+ const emit = __emit;
4760
+ const handleClick = (ev) => {
4761
+ if (props.disabled) {
4762
+ ev.preventDefault();
4763
+ return;
4764
+ }
4765
+ emit("click", ev);
4766
+ };
4767
+ const instance = getCurrentInstance();
4768
+ const route = computed(() => {
4769
+ try {
4770
+ const router = instance?.appContext.config.globalProperties.$router;
4771
+ if (router && router.currentRoute) {
4772
+ return router.currentRoute.value;
4773
+ }
4774
+ } catch {
4775
+ }
4776
+ return null;
4777
+ });
4778
+ const props = __props;
4779
+ const { attrs } = useAttrsWithDefaults(props);
4780
+ const variant = inject("tabsVariant", "primary");
4781
+ const block = inject("tabsBlock", false);
4782
+ const isActive = computed(() => {
4783
+ if (props.active !== void 0) return props.active;
4784
+ const currentRoute = route.value;
4785
+ if (!currentRoute) return false;
4786
+ const currentPath = currentRoute.path;
4787
+ if (props.exact) {
4788
+ if (props.to && currentPath === props.to) return true;
4789
+ if (props.href && currentPath === props.href) return true;
4790
+ } else {
4791
+ if (props.to && currentPath.includes(props.to)) return true;
4792
+ if (props.href && currentPath.includes(props.href)) return true;
4793
+ }
4794
+ return false;
4795
+ });
4796
+ const componentType = computed(() => {
4797
+ if (props.as) return props.as;
4798
+ if (props.href) return "a";
4799
+ if (props.to) return "router-link";
4800
+ return "router-link";
4801
+ });
4802
+ const linkAttrs = computed(() => {
4803
+ if (componentType.value === "a") return { href: props.href || props.to };
4804
+ if (componentType.value === "router-link") {
4805
+ return { to: props.to || props.href || route.value?.path || "#" };
4806
+ }
4807
+ return {};
4808
+ });
4809
+ const componentAttrs = computed(() => ({
4810
+ ...linkAttrs.value,
4811
+ ...attrs
4812
+ }));
4813
+ const baseClasses = computed(() => {
4814
+ const blockClasses = block ? "flex flex-1" : "";
4815
+ return [
4816
+ "text-center",
4817
+ blockClasses,
4818
+ "flex justify-center w-full cursor-pointer font-bold text-base leading-6 m-0 select-none no-underline whitespace-nowrap"
4819
+ ];
4820
+ });
4821
+ const variantClasses2 = computed(() => {
4822
+ if (variant === "primary") {
4823
+ return [
4824
+ "bg-transparent py-2 px-4 rounded-lg border-2 border-transparent text-inherit",
4825
+ isActive.value ? "border-transparent bg-white shadow-md" : "hover:bg-white/59 hover:outline-none active:border-transparent active:bg-white/80",
4826
+ "focus-visible:outline-dashed focus-visible:outline-2 focus-visible:outline-blue-500 focus-visible:outline-offset-[-2px]"
4827
+ ];
4828
+ } else {
4829
+ return [
4830
+ "text-blue-700 py-1 px-2 rounded-md border-none",
4831
+ isActive.value ? "bg-blue-600 text-white" : "hover:bg-blue_t-100 active:bg-blue_t-200",
4832
+ "focus-visible:outline-dashed focus-visible:outline-2 focus-visible:outline-blue-500",
4833
+ "tracking-[0.002em]"
4834
+ ];
4835
+ }
4836
+ });
4837
+ const disabledClasses = computed(() => props.disabled ? "cursor-not-allowed pointer-events-none opacity-35" : "");
4838
+ const buttonClasses = computed(() => [...baseClasses.value, ...variantClasses2.value, disabledClasses.value]);
4839
+ return (_ctx, _cache) => {
4840
+ return openBlock(), createBlock(resolveDynamicComponent(componentType.value), mergeProps(componentAttrs.value, {
4841
+ class: buttonClasses.value,
4842
+ disabled: componentType.value === "button" ? props.disabled : void 0,
4843
+ "aria-disabled": props.disabled ? "true" : void 0,
4844
+ "aria-current": isActive.value ? "page" : void 0,
4845
+ "data-testid": __props.dataTestid,
4846
+ onClick: handleClick
4847
+ }), {
4848
+ default: withCtx(() => [
4849
+ createTextVNode(toDisplayString(__props.label) + " ", 1),
4850
+ renderSlot(_ctx.$slots, "default")
4851
+ ]),
4852
+ _: 3
4853
+ }, 16, ["class", "disabled", "aria-disabled", "aria-current", "data-testid"]);
4854
+ };
4855
+ }
4856
+ });
4857
+ const _hoisted_1$c = { class: "space-y-6" };
4858
+ const _hoisted_2$a = {
4859
+ key: 0,
4860
+ class: "text-sm text-gray-600"
4861
+ };
4862
+ const _hoisted_3$8 = {
4863
+ key: 1,
4864
+ class: "max-h-72 overflow-auto border border-gray-200 rounded-md"
4865
+ };
4866
+ const _hoisted_4$7 = { class: "w-full text-left text-xs border-collapse" };
4867
+ const _hoisted_5$6 = ["onClick"];
4868
+ const _hoisted_6$3 = { class: "py-1.5 px-3 font-mono break-all" };
4869
+ const _hoisted_7$3 = { class: "py-1.5 px-3 font-mono whitespace-pre-wrap break-all" };
4870
+ const _hoisted_8$2 = { class: "mt-4 space-y-2" };
4871
+ const _hoisted_9$2 = { class: "flex flex-col gap-1" };
4872
+ const _hoisted_10$1 = { class: "flex flex-col gap-1" };
4873
+ const _hoisted_11$1 = {
4874
+ key: 0,
4875
+ class: "mt-2 flex flex-wrap gap-2"
4876
+ };
4877
+ const _hoisted_12 = {
4878
+ key: 0,
4879
+ class: "text-sm text-gray-600"
4880
+ };
4881
+ const _hoisted_13 = {
4882
+ key: 1,
4883
+ class: "max-h-72 overflow-auto border border-gray-200 rounded-md"
4884
+ };
4885
+ const _hoisted_14 = { class: "w-full text-left text-xs border-collapse" };
4886
+ const _hoisted_15 = ["onClick"];
4887
+ const _hoisted_16 = { class: "py-1.5 px-3 font-mono break-all" };
4888
+ const _hoisted_17 = { class: "py-1.5 px-3 font-mono whitespace-pre-wrap break-all" };
4889
+ const _hoisted_18 = { class: "mt-4 space-y-2" };
4890
+ const _hoisted_19 = { class: "flex flex-col gap-1" };
4891
+ const _hoisted_20 = { class: "flex flex-col gap-1" };
4892
+ const _hoisted_21 = {
4893
+ key: 0,
4894
+ class: "mt-2 flex flex-wrap gap-2"
4895
+ };
4896
+ const _hoisted_22 = {
4897
+ key: 0,
4898
+ class: "text-sm text-gray-600"
4899
+ };
4900
+ const _hoisted_23 = {
4901
+ key: 1,
4902
+ class: "max-h-72 overflow-auto border border-gray-200 rounded-md"
4903
+ };
4904
+ const _hoisted_24 = { class: "w-full text-left text-xs border-collapse" };
4905
+ const _hoisted_25 = ["onClick"];
4906
+ const _hoisted_26 = { class: "py-1.5 px-3 font-mono break-all" };
4907
+ const _hoisted_27 = { class: "py-1.5 px-3 font-mono whitespace-pre-wrap break-all" };
4908
+ const _hoisted_28 = { class: "mt-4 space-y-2" };
4909
+ const _hoisted_29 = { class: "flex flex-col gap-1" };
4910
+ const _hoisted_30 = { class: "flex flex-col gap-1" };
4911
+ const _hoisted_31 = {
4912
+ key: 0,
4913
+ class: "mt-2 flex flex-wrap gap-2"
4914
+ };
4915
+ const _hoisted_32 = { class: "mt-4 flex justify-end gap-3" };
4916
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
4917
+ __name: "FdsDevModeStorage",
4918
+ props: {
4919
+ open: { type: Boolean, default: false }
4920
+ },
4921
+ emits: ["update:open"],
4922
+ setup(__props, { emit: __emit }) {
4923
+ const props = __props;
4924
+ const emit = __emit;
4925
+ const isOpen = computed({
4926
+ get: () => props.open,
4927
+ set: (value) => emit("update:open", value)
4928
+ });
4929
+ const activeTab = ref("local");
4930
+ const localStorageEntries = ref([]);
4931
+ const sessionStorageEntries = ref([]);
4932
+ const cookieEntries = ref([]);
4933
+ const localEditKey = ref("");
4934
+ const localEditValue = ref("");
4935
+ const sessionEditKey = ref("");
4936
+ const sessionEditValue = ref("");
4937
+ const cookieEditKey = ref("");
4938
+ const cookieEditValue = ref("");
4939
+ const localTextareaRef = ref(null);
4940
+ const sessionTextareaRef = ref(null);
4941
+ const cookieTextareaRef = ref(null);
4942
+ const resizeTextarea = (el) => {
4943
+ if (!el) return;
4944
+ if (!el.value) {
4945
+ el.style.height = "";
4946
+ return;
4947
+ }
4948
+ el.style.height = "auto";
4949
+ el.style.height = `${el.scrollHeight}px`;
4950
+ };
4951
+ const loadStorageEntries = () => {
4952
+ if (typeof window === "undefined") {
4953
+ localStorageEntries.value = [];
4954
+ sessionStorageEntries.value = [];
4955
+ cookieEntries.value = [];
4956
+ return;
4957
+ }
4958
+ const extractEntries = (storage) => {
4959
+ const entries = [];
4960
+ for (let i = 0; i < storage.length; i += 1) {
4961
+ const key = storage.key(i);
4962
+ if (!key) continue;
4963
+ let value;
4964
+ try {
4965
+ value = storage.getItem(key) ?? "";
4966
+ } catch {
4967
+ value = "[unreadable value]";
4968
+ }
4969
+ entries.push({ key, value });
4970
+ }
4971
+ return entries;
4972
+ };
4973
+ localStorageEntries.value = extractEntries(window.localStorage);
4974
+ sessionStorageEntries.value = extractEntries(window.sessionStorage);
4975
+ const cookiesSource = typeof document !== "undefined" && document.cookie ? document.cookie.split("; ") : [];
4976
+ cookieEntries.value = cookiesSource.filter(Boolean).map((cookie) => {
4977
+ const [rawKey, ...rest] = cookie.split("=");
4978
+ const key = decodeURIComponent(rawKey || "");
4979
+ const value = decodeURIComponent(rest.join("="));
4980
+ return {
4981
+ key,
4982
+ value
4983
+ };
4984
+ });
4985
+ };
4986
+ const handleOpenChange = (value) => {
4987
+ if (value) {
4988
+ loadStorageEntries();
4989
+ }
4990
+ isOpen.value = value;
4991
+ };
4992
+ watch(
4993
+ () => props.open,
4994
+ (newVal) => {
4995
+ if (newVal) {
4996
+ loadStorageEntries();
4997
+ }
4998
+ }
4999
+ );
5000
+ const refreshStorageEntries = () => {
5001
+ loadStorageEntries();
5002
+ };
5003
+ const selectLocalEntry = (entry) => {
5004
+ localEditKey.value = entry.key;
5005
+ localEditValue.value = entry.value;
5006
+ nextTick(() => resizeTextarea(localTextareaRef.value));
5007
+ };
5008
+ const selectSessionEntry = (entry) => {
5009
+ sessionEditKey.value = entry.key;
5010
+ sessionEditValue.value = entry.value;
5011
+ nextTick(() => resizeTextarea(sessionTextareaRef.value));
5012
+ };
5013
+ const selectCookieEntry = (entry) => {
5014
+ cookieEditKey.value = entry.key;
5015
+ cookieEditValue.value = entry.value;
5016
+ nextTick(() => resizeTextarea(cookieTextareaRef.value));
5017
+ };
5018
+ const saveLocalEntry = () => {
5019
+ if (typeof window === "undefined") return;
5020
+ if (!localEditKey.value) return;
5021
+ window.localStorage.setItem(localEditKey.value, localEditValue.value);
5022
+ localEditKey.value = "";
5023
+ localEditValue.value = "";
5024
+ nextTick(() => resizeTextarea(localTextareaRef.value));
5025
+ loadStorageEntries();
5026
+ };
5027
+ const deleteLocalEntry = () => {
5028
+ if (typeof window === "undefined") return;
5029
+ if (!localEditKey.value) return;
5030
+ window.localStorage.removeItem(localEditKey.value);
5031
+ localEditKey.value = "";
5032
+ localEditValue.value = "";
5033
+ nextTick(() => resizeTextarea(localTextareaRef.value));
5034
+ loadStorageEntries();
5035
+ };
5036
+ const saveSessionEntry = () => {
5037
+ if (typeof window === "undefined") return;
5038
+ if (!sessionEditKey.value) return;
5039
+ window.sessionStorage.setItem(sessionEditKey.value, sessionEditValue.value);
5040
+ sessionEditKey.value = "";
5041
+ sessionEditValue.value = "";
5042
+ nextTick(() => resizeTextarea(sessionTextareaRef.value));
5043
+ loadStorageEntries();
5044
+ };
5045
+ const deleteSessionEntry = () => {
5046
+ if (typeof window === "undefined") return;
5047
+ if (!sessionEditKey.value) return;
5048
+ window.sessionStorage.removeItem(sessionEditKey.value);
5049
+ sessionEditKey.value = "";
5050
+ sessionEditValue.value = "";
5051
+ nextTick(() => resizeTextarea(sessionTextareaRef.value));
5052
+ loadStorageEntries();
5053
+ };
5054
+ const saveCookieEntry = () => {
5055
+ if (typeof document === "undefined") return;
5056
+ if (!cookieEditKey.value) return;
5057
+ document.cookie = `${encodeURIComponent(cookieEditKey.value)}=${encodeURIComponent(cookieEditValue.value)}; path=/`;
5058
+ cookieEditKey.value = "";
5059
+ cookieEditValue.value = "";
5060
+ nextTick(() => resizeTextarea(cookieTextareaRef.value));
5061
+ loadStorageEntries();
5062
+ };
5063
+ const deleteCookieEntry = () => {
5064
+ if (typeof document === "undefined") return;
5065
+ if (!cookieEditKey.value) return;
5066
+ document.cookie = `${encodeURIComponent(cookieEditKey.value)}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/`;
5067
+ cookieEditKey.value = "";
5068
+ cookieEditValue.value = "";
5069
+ nextTick(() => resizeTextarea(cookieTextareaRef.value));
5070
+ loadStorageEntries();
5071
+ };
5072
+ return (_ctx, _cache) => {
5073
+ return openBlock(), createBlock(_sfc_main$k, {
5074
+ open: isOpen.value,
5075
+ heading: "DevTools",
5076
+ size: "xl",
5077
+ "onUpdate:open": handleOpenChange
5078
+ }, {
5079
+ default: withCtx(() => [
5080
+ createElementVNode("div", _hoisted_1$c, [
5081
+ createVNode(_sfc_main$j, { variant: "primary" }, {
5082
+ default: withCtx(() => [
5083
+ createVNode(_sfc_main$i, {
5084
+ label: "localStorage",
5085
+ active: activeTab.value === "local",
5086
+ as: "button",
5087
+ onClick: _cache[0] || (_cache[0] = ($event) => activeTab.value = "local")
5088
+ }, null, 8, ["active"]),
5089
+ createVNode(_sfc_main$i, {
5090
+ label: "sessionStorage",
5091
+ active: activeTab.value === "session",
5092
+ as: "button",
5093
+ onClick: _cache[1] || (_cache[1] = ($event) => activeTab.value = "session")
5094
+ }, null, 8, ["active"]),
5095
+ createVNode(_sfc_main$i, {
5096
+ label: "Cookies",
5097
+ active: activeTab.value === "cookies",
5098
+ as: "button",
5099
+ onClick: _cache[2] || (_cache[2] = ($event) => activeTab.value = "cookies")
5100
+ }, null, 8, ["active"]),
5101
+ createVNode(_sfc_main$i, {
5102
+ label: "Placeholder 1",
5103
+ active: activeTab.value === "placeholder1",
5104
+ as: "button",
5105
+ onClick: _cache[3] || (_cache[3] = ($event) => activeTab.value = "placeholder1")
5106
+ }, null, 8, ["active"]),
5107
+ createVNode(_sfc_main$i, {
5108
+ label: "Placeholder 2",
5109
+ active: activeTab.value === "placeholder2",
5110
+ as: "button",
5111
+ onClick: _cache[4] || (_cache[4] = ($event) => activeTab.value = "placeholder2")
5112
+ }, null, 8, ["active"])
5113
+ ]),
5114
+ _: 1
5115
+ }),
5116
+ activeTab.value === "local" ? (openBlock(), createBlock(_sfc_main$s, {
5117
+ key: 0,
5118
+ heading: "localStorage",
5119
+ icon: "information",
5120
+ size: "small"
5121
+ }, {
5122
+ default: withCtx(() => [
5123
+ !localStorageEntries.value.length ? (openBlock(), createElementBlock("div", _hoisted_2$a, "Inga värden i localStorage.")) : (openBlock(), createElementBlock("div", _hoisted_3$8, [
5124
+ createElementVNode("table", _hoisted_4$7, [
5125
+ _cache[12] || (_cache[12] = createElementVNode("thead", { class: "bg-gray-50" }, [
5126
+ createElementVNode("tr", null, [
5127
+ createElementVNode("th", { class: "py-2 px-3 font-semibold" }, "Nyckel"),
5128
+ createElementVNode("th", { class: "py-2 px-3 font-semibold" }, "Värde")
5129
+ ])
5130
+ ], -1)),
5131
+ createElementVNode("tbody", null, [
5132
+ (openBlock(true), createElementBlock(Fragment, null, renderList(localStorageEntries.value, (entry) => {
5133
+ return openBlock(), createElementBlock("tr", {
5134
+ key: `local-${entry.key}`,
5135
+ class: "border-t border-gray-200 align-top cursor-pointer hover:bg-gray-50",
5136
+ onClick: ($event) => selectLocalEntry(entry)
5137
+ }, [
5138
+ createElementVNode("td", _hoisted_6$3, toDisplayString(entry.key), 1),
5139
+ createElementVNode("td", _hoisted_7$3, toDisplayString(entry.value), 1)
5140
+ ], 8, _hoisted_5$6);
5141
+ }), 128))
5142
+ ])
5143
+ ])
5144
+ ])),
5145
+ createElementVNode("div", _hoisted_8$2, [
5146
+ createElementVNode("div", _hoisted_9$2, [
5147
+ _cache[13] || (_cache[13] = createElementVNode("label", { class: "text-xs font-semibold" }, "Nyckel", -1)),
5148
+ withDirectives(createElementVNode("input", {
5149
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => localEditKey.value = $event),
5150
+ class: "border border-gray-300 rounded px-2 py-1 text-xs font-mono bg-white",
5151
+ placeholder: "localStorage-nyckel"
5152
+ }, null, 512), [
5153
+ [vModelText, localEditKey.value]
5154
+ ])
5155
+ ]),
5156
+ createElementVNode("div", _hoisted_10$1, [
5157
+ _cache[14] || (_cache[14] = createElementVNode("label", { class: "text-xs font-semibold" }, "Värde", -1)),
5158
+ withDirectives(createElementVNode("textarea", {
5159
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => localEditValue.value = $event),
5160
+ rows: "3",
5161
+ ref_key: "localTextareaRef",
5162
+ ref: localTextareaRef,
5163
+ class: "border border-gray-300 rounded px-2 py-1 text-xs font-mono bg-white overflow-hidden",
5164
+ placeholder: "Värde (lagras som sträng)"
5165
+ }, null, 512), [
5166
+ [vModelText, localEditValue.value]
5167
+ ])
5168
+ ]),
5169
+ localEditKey.value ? (openBlock(), createElementBlock("div", _hoisted_11$1, [
5170
+ createVNode(_sfc_main$l, {
5171
+ text: "Ta bort",
5172
+ size: "sm",
5173
+ onClick: deleteLocalEntry
5174
+ }),
5175
+ createVNode(_sfc_main$m, {
5176
+ text: "Spara",
5177
+ size: "sm",
5178
+ onClick: saveLocalEntry
5179
+ })
5180
+ ])) : createCommentVNode("", true)
5181
+ ])
5182
+ ]),
5183
+ _: 1
5184
+ })) : activeTab.value === "session" ? (openBlock(), createBlock(_sfc_main$s, {
5185
+ key: 1,
5186
+ heading: "sessionStorage",
5187
+ icon: "information",
5188
+ size: "small"
5189
+ }, {
5190
+ default: withCtx(() => [
5191
+ !sessionStorageEntries.value.length ? (openBlock(), createElementBlock("div", _hoisted_12, "Inga värden i sessionStorage.")) : (openBlock(), createElementBlock("div", _hoisted_13, [
5192
+ createElementVNode("table", _hoisted_14, [
5193
+ _cache[15] || (_cache[15] = createElementVNode("thead", { class: "bg-gray-50" }, [
5194
+ createElementVNode("tr", null, [
5195
+ createElementVNode("th", { class: "py-2 px-3 font-semibold" }, "Nyckel"),
5196
+ createElementVNode("th", { class: "py-2 px-3 font-semibold" }, "Värde")
5197
+ ])
5198
+ ], -1)),
5199
+ createElementVNode("tbody", null, [
5200
+ (openBlock(true), createElementBlock(Fragment, null, renderList(sessionStorageEntries.value, (entry) => {
5201
+ return openBlock(), createElementBlock("tr", {
5202
+ key: `session-${entry.key}`,
5203
+ class: "border-t border-gray-200 align-top cursor-pointer hover:bg-gray-50",
5204
+ onClick: ($event) => selectSessionEntry(entry)
5205
+ }, [
5206
+ createElementVNode("td", _hoisted_16, toDisplayString(entry.key), 1),
5207
+ createElementVNode("td", _hoisted_17, toDisplayString(entry.value), 1)
5208
+ ], 8, _hoisted_15);
5209
+ }), 128))
5210
+ ])
5211
+ ])
5212
+ ])),
5213
+ createElementVNode("div", _hoisted_18, [
5214
+ createElementVNode("div", _hoisted_19, [
5215
+ _cache[16] || (_cache[16] = createElementVNode("label", { class: "text-xs font-semibold" }, "Nyckel", -1)),
5216
+ withDirectives(createElementVNode("input", {
5217
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => sessionEditKey.value = $event),
5218
+ class: "border border-gray-300 rounded px-2 py-1 text-xs font-mono bg-white",
5219
+ placeholder: "sessionStorage-nyckel"
5220
+ }, null, 512), [
5221
+ [vModelText, sessionEditKey.value]
5222
+ ])
5223
+ ]),
5224
+ createElementVNode("div", _hoisted_20, [
5225
+ _cache[17] || (_cache[17] = createElementVNode("label", { class: "text-xs font-semibold" }, "Värde", -1)),
5226
+ withDirectives(createElementVNode("textarea", {
5227
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => sessionEditValue.value = $event),
5228
+ rows: "3",
5229
+ ref_key: "sessionTextareaRef",
5230
+ ref: sessionTextareaRef,
5231
+ class: "border border-gray-300 rounded px-2 py-1 text-xs font-mono bg-white overflow-hidden",
5232
+ placeholder: "Värde (lagras som sträng)"
5233
+ }, null, 512), [
5234
+ [vModelText, sessionEditValue.value]
5235
+ ])
5236
+ ]),
5237
+ sessionEditKey.value ? (openBlock(), createElementBlock("div", _hoisted_21, [
5238
+ createVNode(_sfc_main$l, {
5239
+ text: "Ta bort",
5240
+ size: "sm",
5241
+ onClick: deleteSessionEntry
5242
+ }),
5243
+ createVNode(_sfc_main$m, {
5244
+ text: "Spara",
5245
+ size: "sm",
5246
+ onClick: saveSessionEntry
5247
+ })
5248
+ ])) : createCommentVNode("", true)
5249
+ ])
5250
+ ]),
5251
+ _: 1
5252
+ })) : activeTab.value === "cookies" ? (openBlock(), createBlock(_sfc_main$s, {
5253
+ key: 2,
5254
+ heading: "Cookies",
5255
+ icon: "information",
5256
+ size: "small"
5257
+ }, {
5258
+ default: withCtx(() => [
5259
+ !cookieEntries.value.length ? (openBlock(), createElementBlock("div", _hoisted_22, "Inga cookies satta för domänen.")) : (openBlock(), createElementBlock("div", _hoisted_23, [
5260
+ createElementVNode("table", _hoisted_24, [
5261
+ _cache[18] || (_cache[18] = createElementVNode("thead", { class: "bg-gray-50" }, [
5262
+ createElementVNode("tr", null, [
5263
+ createElementVNode("th", { class: "py-2 px-3 font-semibold" }, "Namn"),
5264
+ createElementVNode("th", { class: "py-2 px-3 font-semibold" }, "Värde")
5265
+ ])
5266
+ ], -1)),
5267
+ createElementVNode("tbody", null, [
5268
+ (openBlock(true), createElementBlock(Fragment, null, renderList(cookieEntries.value, (entry) => {
5269
+ return openBlock(), createElementBlock("tr", {
5270
+ key: `cookie-${entry.key}`,
5271
+ class: "border-t border-gray-200 align-top cursor-pointer hover:bg-gray-50",
5272
+ onClick: ($event) => selectCookieEntry(entry)
5273
+ }, [
5274
+ createElementVNode("td", _hoisted_26, toDisplayString(entry.key), 1),
5275
+ createElementVNode("td", _hoisted_27, toDisplayString(entry.value), 1)
5276
+ ], 8, _hoisted_25);
5277
+ }), 128))
5278
+ ])
5279
+ ])
5280
+ ])),
5281
+ createElementVNode("div", _hoisted_28, [
5282
+ createElementVNode("div", _hoisted_29, [
5283
+ _cache[19] || (_cache[19] = createElementVNode("label", { class: "text-xs font-semibold" }, "Namn", -1)),
5284
+ withDirectives(createElementVNode("input", {
5285
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => cookieEditKey.value = $event),
5286
+ class: "border border-gray-300 rounded px-2 py-1 text-xs font-mono bg-white",
5287
+ placeholder: "cookie-namn"
5288
+ }, null, 512), [
5289
+ [vModelText, cookieEditKey.value]
5290
+ ])
5291
+ ]),
5292
+ createElementVNode("div", _hoisted_30, [
5293
+ _cache[20] || (_cache[20] = createElementVNode("label", { class: "text-xs font-semibold" }, "Värde", -1)),
5294
+ withDirectives(createElementVNode("textarea", {
5295
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => cookieEditValue.value = $event),
5296
+ rows: "3",
5297
+ ref_key: "cookieTextareaRef",
5298
+ ref: cookieTextareaRef,
5299
+ class: "border border-gray-300 rounded px-2 py-1 text-xs font-mono bg-white overflow-hidden",
5300
+ placeholder: "Värde (lagras som sträng)"
5301
+ }, null, 512), [
5302
+ [vModelText, cookieEditValue.value]
5303
+ ])
5304
+ ]),
5305
+ cookieEditKey.value ? (openBlock(), createElementBlock("div", _hoisted_31, [
5306
+ createVNode(_sfc_main$l, {
5307
+ text: "Ta bort",
5308
+ size: "sm",
5309
+ onClick: deleteCookieEntry
5310
+ }),
5311
+ createVNode(_sfc_main$m, {
5312
+ text: "Spara",
5313
+ size: "sm",
5314
+ onClick: saveCookieEntry
5315
+ })
5316
+ ])) : createCommentVNode("", true)
5317
+ ])
5318
+ ]),
5319
+ _: 1
5320
+ })) : (openBlock(), createBlock(_sfc_main$s, {
5321
+ key: 3,
5322
+ heading: "Placeholder",
5323
+ icon: "information",
5324
+ size: "small",
5325
+ class: "min-h-[200px] flex items-center justify-center text-sm text-gray-500"
5326
+ }, {
5327
+ default: withCtx(() => [..._cache[21] || (_cache[21] = [
5328
+ createTextVNode(" (Tom flik – reserverad för framtida DevMode-verktyg) ", -1)
5329
+ ])]),
5330
+ _: 1
5331
+ })),
5332
+ createElementVNode("div", _hoisted_32, [
5333
+ createVNode(_sfc_main$l, {
5334
+ text: "Uppdatera",
5335
+ onClick: refreshStorageEntries
5336
+ }),
5337
+ createVNode(_sfc_main$m, {
5338
+ text: "Stäng",
5339
+ onClick: _cache[11] || (_cache[11] = ($event) => handleOpenChange(false))
5340
+ })
5341
+ ])
5342
+ ])
5343
+ ]),
5344
+ _: 1
5345
+ }, 8, ["open"]);
5346
+ };
5347
+ }
5348
+ });
5349
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
5350
+ __name: "FdsDevMode",
5351
+ props: {
5352
+ environment: { default: null }
5353
+ },
5354
+ setup(__props) {
5355
+ const props = __props;
5356
+ const { isDevMode, toggleDevMode } = useDevMode();
5357
+ const hideEnvBanner = ref(false);
5358
+ const isStorageModalOpen = ref(false);
5359
+ const environmentKey = computed(() => props.environment ?? null);
5360
+ const environmentText = computed(() => {
5361
+ switch (environmentKey.value) {
5362
+ case "localhost":
5363
+ return "Localhost";
5364
+ case "development":
5365
+ return "Development";
5366
+ case "development:feature-branch":
5367
+ return "Dev: Feature";
5368
+ case "preprod":
5369
+ return "Preprod";
5370
+ case "demo":
5371
+ return "Demo";
5372
+ case "production":
5373
+ return "Production";
5374
+ default:
5375
+ return "Environment not found";
5376
+ }
5377
+ });
5378
+ const renderEnvBanner = computed(() => {
5379
+ if (hideEnvBanner.value || environmentKey.value === null) return false;
5380
+ return environmentKey.value === "localhost" || environmentKey.value === "development" || environmentKey.value === "development:feature-branch" || environmentKey.value === "preprod";
5381
+ });
5382
+ const envBannerClasses = computed(() => {
5383
+ if (isDevMode.value) {
5384
+ return "bg-green-500 text-white";
5385
+ }
5386
+ if (environmentKey.value === "localhost" || environmentKey.value === "development" || environmentKey.value === "development:feature-branch") {
5387
+ return "bg-yellow-400 text-gray-900";
5388
+ }
5389
+ if (environmentKey.value === "preprod") {
5390
+ return "bg-red-500 text-white-solid";
4721
5391
  }
5392
+ return "";
4722
5393
  });
4723
- onBeforeUnmount(() => {
4724
- document.removeEventListener("keydown", handleKeyDown, true);
4725
- setHtmlOverflow("auto");
4726
- if (cleanupFocusTrap) {
4727
- cleanupFocusTrap();
5394
+ const envBannerFillColor = computed(() => {
5395
+ if (isDevMode.value) {
5396
+ return "fill-white";
4728
5397
  }
4729
- });
4730
- const modalAttrs = computed(() => {
4731
- const attrs = {};
4732
- if (props.dataTestid) {
4733
- attrs["data-testid"] = props.dataTestid;
5398
+ if (environmentKey.value === "localhost" || environmentKey.value === "development" || environmentKey.value === "development:feature-branch") {
5399
+ return "fill-gray-900";
4734
5400
  }
4735
- return attrs;
5401
+ if (environmentKey.value === "preprod") {
5402
+ return "fill-white";
5403
+ }
5404
+ return "";
4736
5405
  });
5406
+ const handleEnvBanner = () => {
5407
+ hideEnvBanner.value = true;
5408
+ };
5409
+ const openStorageModal = () => {
5410
+ isStorageModalOpen.value = true;
5411
+ };
4737
5412
  return (_ctx, _cache) => {
4738
- return openBlock(), createBlock(Teleport, { to: "body" }, [
4739
- isOpen.value ? (openBlock(), createElementBlock("div", {
5413
+ return openBlock(), createElementBlock(Fragment, null, [
5414
+ renderEnvBanner.value ? (openBlock(), createElementBlock("div", {
4740
5415
  key: 0,
4741
- onClick: handleBackdropClick,
4742
- class: normalizeClass(modalOuterClasses.value)
5416
+ class: normalizeClass(["fixed bottom-0 right-12 font-bold m-6 px-3 py-1 rounded-xl z-50 flex items-center gap-1", envBannerClasses.value])
4743
5417
  }, [
4744
- _cache[2] || (_cache[2] = createElementVNode("div", { class: "fixed top-0 left-0 w-full h-full bg-black/34 z-99" }, null, -1)),
4745
- createElementVNode("div", mergeProps({
4746
- class: ["fds-modal-inner", modalInnerClasses.value],
4747
- role: "alertdialog",
4748
- "aria-modal": "true"
4749
- }, modalAttrs.value, {
4750
- onClick: _cache[1] || (_cache[1] = withModifiers(() => {
4751
- }, ["stop"]))
4752
- }), [
4753
- createElementVNode("div", _hoisted_1$c, [
4754
- createElementVNode("h3", {
4755
- tabindex: "-1",
4756
- class: normalizeClass(headerTitleClasses.value)
4757
- }, [
4758
- iconName.value ? (openBlock(), createBlock(_sfc_main$x, {
4759
- key: 0,
4760
- name: iconName.value,
4761
- size: 24,
4762
- class: normalizeClass(iconClasses.value)
4763
- }, null, 8, ["name", "class"])) : createCommentVNode("", true),
4764
- createTextVNode(" " + toDisplayString(__props.heading), 1)
4765
- ], 2),
4766
- !__props.strict ? (openBlock(), createBlock(_sfc_main$w, mergeProps({
4767
- key: 0,
4768
- icon: "cross",
4769
- size: 28,
4770
- onClick: _cache[0] || (_cache[0] = ($event) => handleClose("icon"))
4771
- }, { "aria-label": closeLabel.value }, { class: "ml-4" }), null, 16)) : createCommentVNode("", true)
4772
- ]),
4773
- createElementVNode("div", _hoisted_2$a, [
4774
- renderSlot(_ctx.$slots, "default")
4775
- ]),
4776
- unref(hasFooterSlot) ? (openBlock(), createElementBlock("div", {
4777
- key: 0,
4778
- class: normalizeClass(footerClasses.value)
4779
- }, [
4780
- renderSlot(_ctx.$slots, "modal-footer")
4781
- ], 2)) : createCommentVNode("", true)
4782
- ], 16)
4783
- ], 2)) : createCommentVNode("", true)
4784
- ]);
5418
+ createElementVNode("span", null, toDisplayString(environmentText.value), 1),
5419
+ createElementVNode("button", {
5420
+ onClick: _cache[0] || (_cache[0] = //@ts-ignore
5421
+ (...args) => unref(toggleDevMode) && unref(toggleDevMode)(...args)),
5422
+ class: "mx-1 py-1 rounded text-xs font-bold bg-white bg-opacity-20 text-black hover:bg-opacity-30 min-w-[120px]"
5423
+ }, toDisplayString(unref(isDevMode) ? "Dev mode: ON" : "Dev mode: OFF"), 1),
5424
+ createVNode(_sfc_main$x, {
5425
+ icon: "settings",
5426
+ size: 24,
5427
+ class: normalizeClass(["mx-1", envBannerFillColor.value]),
5428
+ onClick: openStorageModal
5429
+ }, null, 8, ["class"]),
5430
+ createVNode(_sfc_main$x, {
5431
+ onClick: handleEnvBanner,
5432
+ icon: "cross",
5433
+ size: 24,
5434
+ class: normalizeClass(envBannerFillColor.value)
5435
+ }, null, 8, ["class"])
5436
+ ], 2)) : createCommentVNode("", true),
5437
+ createVNode(_sfc_main$h, {
5438
+ open: isStorageModalOpen.value,
5439
+ "onUpdate:open": _cache[1] || (_cache[1] = ($event) => isStorageModalOpen.value = $event)
5440
+ }, null, 8, ["open"])
5441
+ ], 64);
4785
5442
  };
4786
5443
  }
4787
5444
  });
@@ -7958,12 +8615,12 @@ try {
7958
8615
  }
7959
8616
  const _hoisted_1$b = ["for"];
7960
8617
  const _hoisted_2$9 = { class: "relative" };
7961
- const _hoisted_3$7 = ["type", "required", "value", "disabled", "tabindex", "aria-invalid", "aria-label", "autocomplete"];
8618
+ const _hoisted_3$7 = ["type", "required", "value", "disabled", "tabindex", "aria-invalid", "aria-label", "autocomplete", "pattern"];
7962
8619
  const _hoisted_4$6 = {
7963
8620
  key: 0,
7964
8621
  class: "text-red-600 font-bold mt-1"
7965
8622
  };
7966
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
8623
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
7967
8624
  ...{
7968
8625
  inheritAttrs: false
7969
8626
  },
@@ -7991,6 +8648,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
7991
8648
  autofocus: { type: Boolean },
7992
8649
  readonly: { type: Boolean },
7993
8650
  ariaLabel: { default: void 0 },
8651
+ pattern: { default: void 0 },
7994
8652
  onClearInput: {},
7995
8653
  maskOptions: { default: void 0 },
7996
8654
  modelModifiers: { default: () => ({}) },
@@ -8219,7 +8877,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
8219
8877
  class: inputClasses.value,
8220
8878
  style: inputStyle.value,
8221
8879
  "aria-label": props.ariaLabel,
8222
- autocomplete: props.autocomplete
8880
+ autocomplete: props.autocomplete,
8881
+ pattern: props.pattern
8223
8882
  }, inputAttrs.value, {
8224
8883
  onInput: handleInputChange,
8225
8884
  onChange: handleInputChange,
@@ -8232,20 +8891,20 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
8232
8891
  createElementVNode("div", {
8233
8892
  class: normalizeClass(rightIconsContainerClasses.value)
8234
8893
  }, [
8235
- isInvalid.value ? (openBlock(), createBlock(_sfc_main$x, {
8894
+ isInvalid.value ? (openBlock(), createBlock(_sfc_main$y, {
8236
8895
  key: 0,
8237
8896
  name: "alert",
8238
8897
  class: "fill-red-600"
8239
8898
  })) : createCommentVNode("", true),
8240
- isValid.value ? (openBlock(), createBlock(_sfc_main$x, {
8899
+ isValid.value ? (openBlock(), createBlock(_sfc_main$y, {
8241
8900
  key: 1,
8242
8901
  name: "bigSuccess"
8243
8902
  })) : createCommentVNode("", true),
8244
- showClearButton.value ? (openBlock(), createBlock(_sfc_main$w, mergeProps({
8903
+ showClearButton.value ? (openBlock(), createBlock(_sfc_main$x, mergeProps({
8245
8904
  key: 2,
8246
8905
  icon: "cross"
8247
8906
  }, { "aria-label": clearButtonLabel.value }, { onClick: onClear }), null, 16)) : createCommentVNode("", true),
8248
- showPasswordToggle.value ? (openBlock(), createBlock(_sfc_main$o, {
8907
+ showPasswordToggle.value ? (openBlock(), createBlock(_sfc_main$p, {
8249
8908
  key: 3,
8250
8909
  icon: showPassword.value ? "viewOff" : "viewOn",
8251
8910
  text: showPassword.value ? passwordButtonHideLabel.value : passwordButtonShowLabel.value,
@@ -8265,7 +8924,7 @@ const _hoisted_2$8 = { class: "flex items-center justify-start gap-1 w-[100px]"
8265
8924
  const _hoisted_3$6 = { class: "flex items-center justify-center w-auto gap-2 order-0 sm:order-0" };
8266
8925
  const _hoisted_4$5 = { class: "whitespace-nowrap" };
8267
8926
  const _hoisted_5$5 = { class: "flex items-center justify-end gap-1 order-2 sm:order-0 w-[100px]" };
8268
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
8927
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
8269
8928
  __name: "FdsPagination",
8270
8929
  props: {
8271
8930
  current: {},
@@ -8363,11 +9022,11 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
8363
9022
  id: inputId.value
8364
9023
  }, rootAttrs.value), [
8365
9024
  createElementVNode("div", _hoisted_2$8, [
8366
- __props.loading && loadingIndicator.value === "start" ? (openBlock(), createBlock(_sfc_main$p, {
9025
+ __props.loading && loadingIndicator.value === "start" ? (openBlock(), createBlock(_sfc_main$q, {
8367
9026
  key: 0,
8368
9027
  size: "32px",
8369
9028
  color: "blue"
8370
- })) : (openBlock(), createBlock(_sfc_main$w, mergeProps({ key: 1 }, { "aria-disabled": __props.current === 1 }, {
9029
+ })) : (openBlock(), createBlock(_sfc_main$x, mergeProps({ key: 1 }, { "aria-disabled": __props.current === 1 }, {
8371
9030
  "aria-label": firstPageLabel.value,
8372
9031
  icon: "first",
8373
9032
  size: 28,
@@ -8375,11 +9034,11 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
8375
9034
  class: [{ "hidden!": __props.current === 1 }, "w-8 h-8 sm:w-12 sm:h-12"],
8376
9035
  onClick: _cache[0] || (_cache[0] = ($event) => handlePagination("start"))
8377
9036
  }), null, 16, ["aria-label", "disabled", "class"])),
8378
- __props.loading && loadingIndicator.value === "prev" ? (openBlock(), createBlock(_sfc_main$p, {
9037
+ __props.loading && loadingIndicator.value === "prev" ? (openBlock(), createBlock(_sfc_main$q, {
8379
9038
  key: 2,
8380
9039
  size: "24px",
8381
9040
  color: "blue"
8382
- })) : (openBlock(), createBlock(_sfc_main$w, mergeProps({ key: 3 }, { "aria-disabled": __props.current === 1 }, {
9041
+ })) : (openBlock(), createBlock(_sfc_main$x, mergeProps({ key: 3 }, { "aria-disabled": __props.current === 1 }, {
8383
9042
  "aria-label": prevPageLabel.value,
8384
9043
  icon: "arrowLeft",
8385
9044
  size: 28,
@@ -8389,14 +9048,14 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
8389
9048
  }), null, 16, ["aria-label", "disabled", "class"]))
8390
9049
  ]),
8391
9050
  createElementVNode("div", _hoisted_3$6, [
8392
- __props.loading && loadingIndicator.value === "input" ? (openBlock(), createBlock(_sfc_main$p, {
9051
+ __props.loading && loadingIndicator.value === "input" ? (openBlock(), createBlock(_sfc_main$q, {
8393
9052
  key: 0,
8394
9053
  size: "24px",
8395
9054
  color: "blue",
8396
9055
  label: "Laddar",
8397
9056
  "label-position": "right"
8398
9057
  })) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
8399
- createVNode(_sfc_main$h, {
9058
+ createVNode(_sfc_main$f, {
8400
9059
  style: { "text-align": "center" },
8401
9060
  value: inputValue.value,
8402
9061
  type: "text",
@@ -8410,11 +9069,11 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
8410
9069
  ], 64))
8411
9070
  ]),
8412
9071
  createElementVNode("div", _hoisted_5$5, [
8413
- __props.loading && loadingIndicator.value === "next" ? (openBlock(), createBlock(_sfc_main$p, {
9072
+ __props.loading && loadingIndicator.value === "next" ? (openBlock(), createBlock(_sfc_main$q, {
8414
9073
  key: 0,
8415
9074
  size: "24px",
8416
9075
  color: "blue"
8417
- })) : (openBlock(), createBlock(_sfc_main$w, mergeProps({
9076
+ })) : (openBlock(), createBlock(_sfc_main$x, mergeProps({
8418
9077
  key: 1,
8419
9078
  "aria-label": nextPageLabel.value,
8420
9079
  icon: "arrowRight",
@@ -8424,11 +9083,11 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
8424
9083
  class: [{ "hidden!": __props.current === __props.max }, "w-8 h-8 sm:w-12 sm:h-12"],
8425
9084
  onClick: _cache[2] || (_cache[2] = ($event) => handlePagination("next"))
8426
9085
  }), null, 16, ["aria-label", "disabled", "class"])),
8427
- __props.loading && loadingIndicator.value === "end" ? (openBlock(), createBlock(_sfc_main$p, {
9086
+ __props.loading && loadingIndicator.value === "end" ? (openBlock(), createBlock(_sfc_main$q, {
8428
9087
  key: 2,
8429
9088
  size: "24px",
8430
9089
  color: "blue"
8431
- })) : (openBlock(), createBlock(_sfc_main$w, mergeProps({
9090
+ })) : (openBlock(), createBlock(_sfc_main$x, mergeProps({
8432
9091
  key: 3,
8433
9092
  "aria-label": lastPageLabel.value,
8434
9093
  icon: "last",
@@ -8502,7 +9161,7 @@ const _hoisted_10 = {
8502
9161
  class: "block m-0 list-none p-0"
8503
9162
  };
8504
9163
  const _hoisted_11 = { class: "p-4" };
8505
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
9164
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
8506
9165
  __name: "FdsSearchSelect",
8507
9166
  props: {
8508
9167
  items: { default: () => [] },
@@ -8896,7 +9555,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
8896
9555
  createElementVNode("div", _hoisted_1$9, [
8897
9556
  !singleItemName.value.length ? (openBlock(), createElementBlock("div", _hoisted_2$7, [
8898
9557
  createElementVNode("div", _hoisted_3$5, [
8899
- createVNode(_sfc_main$h, mergeProps({
9558
+ createVNode(_sfc_main$f, mergeProps({
8900
9559
  ref_key: "inputComponentRef",
8901
9560
  ref: inputComponentRef,
8902
9561
  label: __props.label,
@@ -8917,7 +9576,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
8917
9576
  onInput: handleInput,
8918
9577
  onClearInput: handleClear
8919
9578
  }), null, 16, ["label", "meta", "labelLeft", "valid", "invalidMessage", "disabled", "locale", "value", "clearButton", "mask"]),
8920
- !__props.disabled && !hasInputValue.value ? (openBlock(), createBlock(_sfc_main$x, {
9579
+ !__props.disabled && !hasInputValue.value ? (openBlock(), createBlock(_sfc_main$y, {
8921
9580
  key: 0,
8922
9581
  name: "search",
8923
9582
  size: 24,
@@ -8936,7 +9595,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
8936
9595
  style: normalizeStyle(listWrapperStyle.value)
8937
9596
  }, [
8938
9597
  __props.loading ? (openBlock(), createElementBlock("div", _hoisted_6$2, [
8939
- createVNode(_sfc_main$p, {
9598
+ createVNode(_sfc_main$q, {
8940
9599
  color: "blue",
8941
9600
  size: "48px"
8942
9601
  })
@@ -8980,7 +9639,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
8980
9639
  ], 42, _hoisted_7$2);
8981
9640
  }), 128))
8982
9641
  ], 32),
8983
- __props.page !== void 0 && totalPages.value !== null && totalPages.value > 1 ? (openBlock(), createBlock(_sfc_main$g, {
9642
+ __props.page !== void 0 && totalPages.value !== null && totalPages.value > 1 ? (openBlock(), createBlock(_sfc_main$e, {
8984
9643
  key: 2,
8985
9644
  current: __props.page,
8986
9645
  max: totalPages.value,
@@ -9401,7 +10060,7 @@ const useTreeState = (options = {}) => {
9401
10060
  };
9402
10061
  const _hoisted_1$8 = ["for"];
9403
10062
  const _hoisted_2$6 = ["value", "disabled", "required"];
9404
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
10063
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
9405
10064
  ...{
9406
10065
  inheritAttrs: false
9407
10066
  },
@@ -9575,7 +10234,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
9575
10234
  });
9576
10235
  const _hoisted_1$7 = ["for"];
9577
10236
  const _hoisted_2$5 = ["value", "checked", "disabled", "required"];
9578
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
10237
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
9579
10238
  ...{
9580
10239
  inheritAttrs: false
9581
10240
  },
@@ -9721,7 +10380,7 @@ const _hoisted_8 = ["onClick"];
9721
10380
  const _hoisted_9 = { key: 0 };
9722
10381
  const popoverWidth = 327;
9723
10382
  const popoverHeight = 80;
9724
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
10383
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
9725
10384
  ...{
9726
10385
  name: "TreeNode"
9727
10386
  },
@@ -9924,7 +10583,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
9924
10583
  class: normalizeClass("pt-2 pb-2")
9925
10584
  }, [
9926
10585
  createElementVNode("div", _hoisted_1$6, [
9927
- hasChildrenNodes.value ? (openBlock(), createBlock(_sfc_main$w, mergeProps({
10586
+ hasChildrenNodes.value ? (openBlock(), createBlock(_sfc_main$x, mergeProps({
9928
10587
  key: 0,
9929
10588
  onClick: _cache[0] || (_cache[0] = ($event) => unref(treeState)?.toggleExpandNode(props.nodeId))
9930
10589
  }, { "aria-label": props.title ? childrenToggleAriaLabel(props.title) : void 0 }, {
@@ -9937,7 +10596,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
9937
10596
  style: normalizeStyle({ minWidth: `${__props.indentation}px` })
9938
10597
  }, null, 4)) : createCommentVNode("", true),
9939
10598
  createElementVNode("div", _hoisted_2$4, [
9940
- createVNode(_sfc_main$e, {
10599
+ createVNode(_sfc_main$c, {
9941
10600
  id: `checkbox-${props.nodeId}`,
9942
10601
  checked: unref(treeState)?.isNodeSelected(props.nodeId),
9943
10602
  indeterminate: __props.showIndeterminate && (unref(treeState)?.isNodeIndeterminateById(props.nodeId) ?? false),
@@ -9956,7 +10615,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
9956
10615
  }, 8, ["id", "checked", "indeterminate"])
9957
10616
  ]),
9958
10617
  unref(treeState)?.isParentOrChildrenSelected(props.nodeId) && !(unref(treeState)?.isNodeIndeterminateById(props.nodeId) ?? false) ? (openBlock(), createElementBlock("div", _hoisted_6$1, [
9959
- createVNode(_sfc_main$w, mergeProps({
10618
+ createVNode(_sfc_main$x, mergeProps({
9960
10619
  ref_key: "triggerRef",
9961
10620
  ref: triggerRef,
9962
10621
  icon: "more",
@@ -10004,7 +10663,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
10004
10663
  },
10005
10664
  class: "cursor-pointer"
10006
10665
  }, [
10007
- createVNode(_sfc_main$d, {
10666
+ createVNode(_sfc_main$b, {
10008
10667
  modelValue: selectedOption.value,
10009
10668
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => selectedOption.value = $event),
10010
10669
  id: `tree-popover-${props.nodeId}-${option.value}`,
@@ -10016,7 +10675,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
10016
10675
  ], 8, _hoisted_8);
10017
10676
  }), 64))
10018
10677
  ]),
10019
- createVNode(_sfc_main$w, mergeProps({
10678
+ createVNode(_sfc_main$x, mergeProps({
10020
10679
  icon: "cross",
10021
10680
  id: "tree-popover-close-button",
10022
10681
  size: 24,
@@ -10078,7 +10737,7 @@ function useElementFinalSize(elementRef, onFinalSize, delay = 100) {
10078
10737
  onCleanup(() => clearTimeout(timeoutId));
10079
10738
  });
10080
10739
  }
10081
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
10740
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
10082
10741
  __name: "FdsText",
10083
10742
  props: {
10084
10743
  type: { default: "default" },
@@ -10119,7 +10778,7 @@ const _hoisted_3$3 = {
10119
10778
  key: 1,
10120
10779
  class: "text-xl"
10121
10780
  };
10122
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
10781
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
10123
10782
  __name: "FdsTreeView",
10124
10783
  props: {
10125
10784
  nodeExpandIcon: {},
@@ -10206,7 +10865,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
10206
10865
  ref: searchContainerRef,
10207
10866
  class: "pb-4"
10208
10867
  }, [
10209
- createVNode(_sfc_main$h, {
10868
+ createVNode(_sfc_main$f, {
10210
10869
  value: unref(treeState)?.searchTerm?.value ?? "",
10211
10870
  onInput: _cache[0] || (_cache[0] = ($event) => unref(treeState)?.setSearchTerm($event.target.value)),
10212
10871
  class: "w-full",
@@ -10223,7 +10882,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
10223
10882
  props.searchCountTemplate && unref(treeState)?.searchTerm?.value && String(unref(treeState)?.searchTerm?.value || "").trim().length >= (unref(treeState)?.triggerLength ?? 1) ? (openBlock(), createElementBlock("h2", _hoisted_2$3, toDisplayString(props.searchCountTemplate.replace("[[filteredNodes]]", unref(treeState)?.filteredMatchCount.value.toString()).replace("[[totalNodes]]", totalNodeCount.value.toString())), 1)) : (openBlock(), createElementBlock("h2", _hoisted_3$3, toDisplayString(props.searchCountTemplateUnfiltered?.replace("[[totalNodes]]", totalNodeCount.value.toString()).replace("[[totalNodes]]", totalNodeCount.value.toString())), 1))
10224
10883
  ])) : createCommentVNode("", true)
10225
10884
  ], 512)) : createCommentVNode("", true),
10226
- unref(treeState)?.isEmptySearchResult?.value ? (openBlock(), createBlock(_sfc_main$u, {
10885
+ unref(treeState)?.isEmptySearchResult?.value ? (openBlock(), createBlock(_sfc_main$v, {
10227
10886
  key: 1,
10228
10887
  class: "mt-4"
10229
10888
  }, {
@@ -10231,7 +10890,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
10231
10890
  createTextVNode(toDisplayString(props.searchResultNoMatchesTitle), 1)
10232
10891
  ]),
10233
10892
  default: withCtx(() => [
10234
- createVNode(_sfc_main$b, null, {
10893
+ createVNode(_sfc_main$9, null, {
10235
10894
  default: withCtx(() => [
10236
10895
  createTextVNode(toDisplayString(props.searchResultNoMatchesBody), 1)
10237
10896
  ]),
@@ -10243,7 +10902,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
10243
10902
  createElementVNode("div", {
10244
10903
  class: normalizeClass(["rounded-md", { "overflow-x-auto bg-white-solid": props.horizontalScroll }])
10245
10904
  }, [
10246
- props.data && !unref(treeState)?.isEmptySearchResult?.value ? (openBlock(), createBlock(_sfc_main$c, {
10905
+ props.data && !unref(treeState)?.isEmptySearchResult?.value ? (openBlock(), createBlock(_sfc_main$a, {
10247
10906
  key: 0,
10248
10907
  style: { container: "bg-white-solid px-3 py-2" },
10249
10908
  nodes: props.data.children || [],
@@ -10274,7 +10933,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
10274
10933
  };
10275
10934
  }
10276
10935
  });
10277
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
10936
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
10278
10937
  __name: "FdsTruncatedText",
10279
10938
  props: {
10280
10939
  open: { type: Boolean, default: false },
@@ -10350,7 +11009,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
10350
11009
  class: normalizeClass([contentClasses.value, { open: isOpen.value }]),
10351
11010
  style: normalizeStyle({ maxWidth: `${containerWidth.value}px` })
10352
11011
  }, toDisplayString(__props.content), 7)),
10353
- shouldShowButton.value ? (openBlock(), createBlock(_sfc_main$o, {
11012
+ shouldShowButton.value ? (openBlock(), createBlock(_sfc_main$p, {
10354
11013
  key: 2,
10355
11014
  icon: isOpen.value ? "arrowUp" : "arrowDown",
10356
11015
  iconPos: "right",
@@ -10378,7 +11037,7 @@ const _hoisted_7 = {
10378
11037
  key: 2,
10379
11038
  class: "text-red-600 font-bold mt-1"
10380
11039
  };
10381
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
11040
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
10382
11041
  ...{
10383
11042
  inheritAttrs: false
10384
11043
  },
@@ -10487,7 +11146,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
10487
11146
  [vModelSelect, internalValue.value]
10488
11147
  ]),
10489
11148
  createElementVNode("div", _hoisted_6, [
10490
- createVNode(_sfc_main$x, {
11149
+ createVNode(_sfc_main$y, {
10491
11150
  name: "arrowDown",
10492
11151
  size: 24,
10493
11152
  class: normalizeClass({
@@ -10514,7 +11173,7 @@ const _hoisted_5$1 = {
10514
11173
  key: 2,
10515
11174
  class: "text-red-600 font-bold mt-1"
10516
11175
  };
10517
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
11176
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
10518
11177
  ...{
10519
11178
  inheritAttrs: false
10520
11179
  },
@@ -10622,12 +11281,12 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
10622
11281
  createElementVNode("div", {
10623
11282
  class: normalizeClass(validationIconClasses.value)
10624
11283
  }, [
10625
- isInvalid.value ? (openBlock(), createBlock(_sfc_main$x, {
11284
+ isInvalid.value ? (openBlock(), createBlock(_sfc_main$y, {
10626
11285
  key: 0,
10627
11286
  name: "alert",
10628
11287
  class: "fill-red-600"
10629
11288
  })) : createCommentVNode("", true),
10630
- isValid.value ? (openBlock(), createBlock(_sfc_main$x, {
11289
+ isValid.value ? (openBlock(), createBlock(_sfc_main$y, {
10631
11290
  key: 1,
10632
11291
  name: "bigSuccess"
10633
11292
  })) : createCommentVNode("", true)
@@ -10638,7 +11297,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
10638
11297
  };
10639
11298
  }
10640
11299
  });
10641
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
11300
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
10642
11301
  __name: "FdsTable",
10643
11302
  props: {
10644
11303
  bordered: { type: Boolean, default: false },
@@ -10671,7 +11330,7 @@ const _hoisted_2 = { key: 0 };
10671
11330
  const _hoisted_3 = { key: 1 };
10672
11331
  const _hoisted_4 = { key: 0 };
10673
11332
  const _hoisted_5 = { key: 1 };
10674
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
11333
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
10675
11334
  __name: "FdsTableHead",
10676
11335
  props: {
10677
11336
  heading: { default: void 0 },
@@ -10715,7 +11374,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
10715
11374
  unref(hasSlot) ? (openBlock(), createElementBlock("span", _hoisted_2, [
10716
11375
  renderSlot(_ctx.$slots, "default")
10717
11376
  ])) : (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(__props.heading), 1)),
10718
- createVNode(_sfc_main$x, {
11377
+ createVNode(_sfc_main$y, {
10719
11378
  name: iconName.value,
10720
11379
  size: "24px",
10721
11380
  class: "fill-blue-500"
@@ -10732,154 +11391,6 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
10732
11391
  };
10733
11392
  }
10734
11393
  });
10735
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
10736
- __name: "FdsTabs",
10737
- props: {
10738
- block: { type: Boolean, default: false },
10739
- variant: { default: "primary" },
10740
- dataTestid: { default: void 0 }
10741
- },
10742
- setup(__props) {
10743
- const props = __props;
10744
- const tabsClasses = computed(() => [
10745
- "inline-flex overflow-auto max-w-full p-0.5 gap-0.5",
10746
- {
10747
- "flex justify-between w-full": props.block,
10748
- "bg-blue_t-100 rounded-[10px] mb-8": props.variant === "primary",
10749
- "gap-2 mb-4": props.variant === "secondary"
10750
- }
10751
- ]);
10752
- const rootAttrs = computed(() => {
10753
- const attrs = {};
10754
- if (props.dataTestid) {
10755
- attrs["data-testid"] = props.dataTestid;
10756
- }
10757
- return attrs;
10758
- });
10759
- provide("tabsVariant", props.variant);
10760
- provide("tabsBlock", props.block);
10761
- return (_ctx, _cache) => {
10762
- return openBlock(), createElementBlock("div", mergeProps({ class: tabsClasses.value }, rootAttrs.value), [
10763
- renderSlot(_ctx.$slots, "default")
10764
- ], 16);
10765
- };
10766
- }
10767
- });
10768
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
10769
- ...{
10770
- inheritAttrs: false
10771
- },
10772
- __name: "FdsTabsItem",
10773
- props: {
10774
- to: { default: void 0 },
10775
- href: { default: void 0 },
10776
- as: { default: void 0 },
10777
- active: { type: Boolean, default: void 0 },
10778
- exact: { type: Boolean, default: false },
10779
- disabled: { type: Boolean, default: false },
10780
- label: { default: void 0 },
10781
- dataTestid: { default: void 0 }
10782
- },
10783
- emits: ["click"],
10784
- setup(__props, { emit: __emit }) {
10785
- const emit = __emit;
10786
- const handleClick = (ev) => {
10787
- if (props.disabled) {
10788
- ev.preventDefault();
10789
- return;
10790
- }
10791
- emit("click", ev);
10792
- };
10793
- const instance = getCurrentInstance();
10794
- const route = computed(() => {
10795
- try {
10796
- const router = instance?.appContext.config.globalProperties.$router;
10797
- if (router && router.currentRoute) {
10798
- return router.currentRoute.value;
10799
- }
10800
- } catch {
10801
- }
10802
- return null;
10803
- });
10804
- const props = __props;
10805
- const { attrs } = useAttrsWithDefaults(props);
10806
- const variant = inject("tabsVariant", "primary");
10807
- const block = inject("tabsBlock", false);
10808
- const isActive = computed(() => {
10809
- if (props.active !== void 0) return props.active;
10810
- const currentRoute = route.value;
10811
- if (!currentRoute) return false;
10812
- const currentPath = currentRoute.path;
10813
- if (props.exact) {
10814
- if (props.to && currentPath === props.to) return true;
10815
- if (props.href && currentPath === props.href) return true;
10816
- } else {
10817
- if (props.to && currentPath.includes(props.to)) return true;
10818
- if (props.href && currentPath.includes(props.href)) return true;
10819
- }
10820
- return false;
10821
- });
10822
- const componentType = computed(() => {
10823
- if (props.as) return props.as;
10824
- if (props.href) return "a";
10825
- if (props.to) return "router-link";
10826
- return "router-link";
10827
- });
10828
- const linkAttrs = computed(() => {
10829
- if (componentType.value === "a") return { href: props.href || props.to };
10830
- if (componentType.value === "router-link") {
10831
- return { to: props.to || props.href || route.value?.path || "#" };
10832
- }
10833
- return {};
10834
- });
10835
- const componentAttrs = computed(() => ({
10836
- ...linkAttrs.value,
10837
- ...attrs
10838
- }));
10839
- const baseClasses = computed(() => {
10840
- const blockClasses = block ? "flex flex-1" : "";
10841
- return [
10842
- "text-center",
10843
- blockClasses,
10844
- "flex justify-center w-full cursor-pointer font-bold text-base leading-6 m-0 select-none no-underline whitespace-nowrap"
10845
- ];
10846
- });
10847
- const variantClasses2 = computed(() => {
10848
- if (variant === "primary") {
10849
- return [
10850
- "bg-transparent py-2 px-4 rounded-lg border-2 border-transparent text-inherit",
10851
- isActive.value ? "border-transparent bg-white shadow-md" : "hover:bg-white/59 hover:outline-none active:border-transparent active:bg-white/80",
10852
- "focus-visible:outline-dashed focus-visible:outline-2 focus-visible:outline-blue-500 focus-visible:outline-offset-[-2px]"
10853
- ];
10854
- } else {
10855
- return [
10856
- "text-blue-700 py-1 px-2 rounded-md border-none",
10857
- isActive.value ? "bg-blue-600 text-white" : "hover:bg-blue_t-100 active:bg-blue_t-200",
10858
- "focus-visible:outline-dashed focus-visible:outline-2 focus-visible:outline-blue-500",
10859
- "tracking-[0.002em]"
10860
- ];
10861
- }
10862
- });
10863
- const disabledClasses = computed(() => props.disabled ? "cursor-not-allowed pointer-events-none opacity-35" : "");
10864
- const buttonClasses = computed(() => [...baseClasses.value, ...variantClasses2.value, disabledClasses.value]);
10865
- return (_ctx, _cache) => {
10866
- return openBlock(), createBlock(resolveDynamicComponent(componentType.value), mergeProps(componentAttrs.value, {
10867
- class: buttonClasses.value,
10868
- disabled: componentType.value === "button" ? props.disabled : void 0,
10869
- "aria-disabled": props.disabled ? "true" : void 0,
10870
- "aria-current": isActive.value ? "page" : void 0,
10871
- "data-testid": __props.dataTestid,
10872
- onClick: handleClick
10873
- }), {
10874
- default: withCtx(() => [
10875
- createTextVNode(toDisplayString(__props.label) + " ", 1),
10876
- renderSlot(_ctx.$slots, "default")
10877
- ]),
10878
- _: 3
10879
- }, 16, ["class", "disabled", "aria-disabled", "aria-current", "data-testid"]);
10880
- };
10881
- }
10882
- });
10883
11394
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
10884
11395
  __name: "FdsHeading",
10885
11396
  props: {
@@ -10986,7 +11497,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
10986
11497
  });
10987
11498
  return (_ctx, _cache) => {
10988
11499
  return openBlock(), createElementBlock("div", mergeProps({ class: "inline-block mb-3 h-7 font-bold text-xl" }, rootAttrs.value), [
10989
- __props.loading ? (openBlock(), createBlock(_sfc_main$p, {
11500
+ __props.loading ? (openBlock(), createBlock(_sfc_main$q, {
10990
11501
  key: 0,
10991
11502
  size: "24px",
10992
11503
  color: "blue",
@@ -11062,75 +11573,75 @@ const logoFeelgoodLight = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/
11062
11573
  const bankid = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='85'%20height='80'%20fill='%23193e4f'%20xmlns:v='https://vecta.io/nano'%3e%3cpath%20d='M26.693%2041.74l3.534-22.276h-3.775c-1.767%200-4.043-.991-4.712-2.811-.214-.616-.723-2.731%202.195-4.793%201.044-.723%201.714-1.526%201.847-2.142.134-.643-.027-1.205-.482-1.633-.643-.616-1.901-.964-3.507-.964-2.704%200-4.605%201.553-4.792%202.677-.134.83.509%201.499%201.071%201.928%201.687%201.258%202.088%203.079%201.044%204.793-1.071%201.767-3.4%202.918-5.89%202.945H9.371L3.4%2057.51h20.83l2.463-15.77zM2.276%2065.221h8.541c3.641%200%204.525%201.847%204.257%203.534-.214%201.366-1.151%202.383-2.758%203.052%202.035.776%202.838%201.981%202.544%203.882-.375%202.383-2.436%204.15-5.141%204.15H0l2.276-14.618zm5.649%206.051c1.66%200%202.436-.884%202.597-1.928.161-1.124-.348-1.901-2.008-1.901H7.042l-.589%203.829h1.473zm-.91%206.292c1.714%200%202.704-.696%202.945-2.115.187-1.232-.509-1.954-2.169-1.954h-1.66l-.643%204.096h1.526v-.027zm19.812%202.383c-2.222.161-3.293-.08-3.829-1.044-1.178.723-2.49%201.098-3.882%201.098-2.517%200-3.4-1.312-3.159-2.758.107-.696.509-1.365%201.151-1.928%201.392-1.205%204.819-1.365%206.158-2.276.107-1.017-.294-1.392-1.553-1.392-1.473%200-2.704.482-4.819%201.928l.509-3.32c1.821-1.312%203.588-1.928%205.623-1.928%202.597%200%204.9%201.071%204.471%203.909l-.509%203.213c-.187%201.124-.134%201.473%201.125%201.499l-1.285%202.999zm-3.855-5.06c-1.178.75-3.373.616-3.615%202.169-.107.723.348%201.258%201.071%201.258.696%200%201.553-.294%202.249-.776-.054-.268-.027-.535.053-1.044l.241-1.606zm8.005-6.373h4.445l-.241%201.472c1.419-1.205%202.49-1.66%203.882-1.66%202.49%200%203.641%201.526%203.24%204.016l-1.151%207.47h-4.444l.964-6.185c.187-1.124-.161-1.66-1.017-1.66-.696%200-1.339.375-1.955%201.205l-1.017%206.613h-4.444l1.74-11.272zm14.806-3.293h4.445l-1.125%207.175%204.257-3.882h5.489l-5.462%204.819%204.391%206.479h-5.596l-3.373-5.248h-.054l-.803%205.221h-4.444l2.276-14.565zm15.716%200h5.114l-2.249%2014.592H59.25l2.249-14.592zm7.604%200h7.309c5.649%200%207.282%204.096%206.747%207.497-.509%203.32-3.133%207.095-8.086%207.095h-8.246l2.276-14.592zm4.739%2011.111c2.49%200%203.855-1.232%204.257-3.829.294-1.928-.295-3.829-3.052-3.829h-1.365l-1.178%207.657h1.339zM54.699%200H33.414l-2.838%2018.019h3.614c1.981%200%203.855-.91%204.659-2.222.268-.428.375-.803.375-1.151%200-.75-.509-1.312-1.017-1.687-1.392-1.044-1.687-2.142-1.687-2.918%200-.161%200-.295.027-.428.294-1.901%202.865-3.963%206.265-3.963%202.035%200%203.588.482%204.525%201.365.83.776%201.151%201.874.91%203.025-.294%201.365-1.66%202.49-2.436%203.052-2.062%201.446-1.794%202.704-1.66%203.079.428%201.124%202.062%201.847%203.32%201.847h5.515v.027c7.497.054%2011.513%203.507%2010.254%2011.54-1.178%207.47-6.908%2010.683-13.735%2010.736l-2.704%2017.242h3.989c16.841%200%2030.602-10.817%2033.307-27.898C87.443%208.461%2073.976%200%2054.699%200z'/%3e%3c/svg%3e";
11063
11574
  const FdsVueCorePlugin = {
11064
11575
  install(app) {
11065
- app.component("FdsTreeView", _sfc_main$a);
11066
- app.component("FdsButtonPrimary", _sfc_main$l);
11067
- app.component("FdsButtonSecondary", _sfc_main$k);
11068
- app.component("FdsButtonMinor", _sfc_main$o);
11069
- app.component("FdsButtonIcon", _sfc_main$w);
11070
- app.component("FdsButtonCopy", _sfc_main$n);
11071
- app.component("FdsButtonDownload", _sfc_main$m);
11072
- app.component("FdsDevMode", _sfc_main$j);
11073
- app.component("FdsIcon", _sfc_main$x);
11074
- app.component("FdsSpinner", _sfc_main$p);
11075
- app.component("FdsRadio", _sfc_main$d);
11076
- app.component("FdsCheckbox", _sfc_main$e);
11077
- app.component("FdsTextarea", _sfc_main$7);
11078
- app.component("FdsSelect", _sfc_main$8);
11079
- app.component("FdsTable", _sfc_main$6);
11080
- app.component("FdsTableHead", _sfc_main$5);
11081
- app.component("FdsInput", _sfc_main$h);
11082
- app.component("FdsBlockContent", _sfc_main$u);
11083
- app.component("FdsBlockInfo", _sfc_main$r);
11084
- app.component("FdsBlockAlert", _sfc_main$v);
11085
- app.component("FdsBlockExpander", _sfc_main$s);
11086
- app.component("FdsBlockLink", _sfc_main$q);
11087
- app.component("FdsSticker", _sfc_main$t);
11088
- app.component("FdsTabs", _sfc_main$4);
11089
- app.component("FdsTabsItem", _sfc_main$3);
11090
- app.component("FdsModal", _sfc_main$i);
11091
- app.component("FdsPagination", _sfc_main$g);
11092
- app.component("FdsSearchSelect", _sfc_main$f);
11093
- app.component("FdsTruncatedText", _sfc_main$9);
11576
+ app.component("FdsTreeView", _sfc_main$8);
11577
+ app.component("FdsButtonPrimary", _sfc_main$m);
11578
+ app.component("FdsButtonSecondary", _sfc_main$l);
11579
+ app.component("FdsButtonMinor", _sfc_main$p);
11580
+ app.component("FdsButtonIcon", _sfc_main$x);
11581
+ app.component("FdsButtonCopy", _sfc_main$o);
11582
+ app.component("FdsButtonDownload", _sfc_main$n);
11583
+ app.component("FdsDevMode", _sfc_main$g);
11584
+ app.component("FdsIcon", _sfc_main$y);
11585
+ app.component("FdsSpinner", _sfc_main$q);
11586
+ app.component("FdsRadio", _sfc_main$b);
11587
+ app.component("FdsCheckbox", _sfc_main$c);
11588
+ app.component("FdsTextarea", _sfc_main$5);
11589
+ app.component("FdsSelect", _sfc_main$6);
11590
+ app.component("FdsTable", _sfc_main$4);
11591
+ app.component("FdsTableHead", _sfc_main$3);
11592
+ app.component("FdsInput", _sfc_main$f);
11593
+ app.component("FdsBlockContent", _sfc_main$v);
11594
+ app.component("FdsBlockInfo", _sfc_main$s);
11595
+ app.component("FdsBlockAlert", _sfc_main$w);
11596
+ app.component("FdsBlockExpander", _sfc_main$t);
11597
+ app.component("FdsBlockLink", _sfc_main$r);
11598
+ app.component("FdsSticker", _sfc_main$u);
11599
+ app.component("FdsTabs", _sfc_main$j);
11600
+ app.component("FdsTabsItem", _sfc_main$i);
11601
+ app.component("FdsModal", _sfc_main$k);
11602
+ app.component("FdsPagination", _sfc_main$e);
11603
+ app.component("FdsSearchSelect", _sfc_main$d);
11604
+ app.component("FdsTruncatedText", _sfc_main$7);
11094
11605
  app.component("FdsHeading", _sfc_main$2);
11095
11606
  app.component("FdsSeparator", FdsSeparator);
11096
- app.component("FdsText", _sfc_main$b);
11607
+ app.component("FdsText", _sfc_main$9);
11097
11608
  app.component("FdsListHeading", _sfc_main$1);
11098
11609
  }
11099
11610
  };
11100
11611
  export {
11101
- _sfc_main$v as FdsBlockAlert,
11102
- _sfc_main$u as FdsBlockContent,
11103
- _sfc_main$s as FdsBlockExpander,
11104
- _sfc_main$r as FdsBlockInfo,
11105
- _sfc_main$q as FdsBlockLink,
11106
- _sfc_main$n as FdsButtonCopy,
11107
- _sfc_main$m as FdsButtonDownload,
11108
- _sfc_main$w as FdsButtonIcon,
11109
- _sfc_main$o as FdsButtonMinor,
11110
- _sfc_main$l as FdsButtonPrimary,
11111
- _sfc_main$k as FdsButtonSecondary,
11112
- _sfc_main$e as FdsCheckbox,
11113
- _sfc_main$j as FdsDevMode,
11612
+ _sfc_main$w as FdsBlockAlert,
11613
+ _sfc_main$v as FdsBlockContent,
11614
+ _sfc_main$t as FdsBlockExpander,
11615
+ _sfc_main$s as FdsBlockInfo,
11616
+ _sfc_main$r as FdsBlockLink,
11617
+ _sfc_main$o as FdsButtonCopy,
11618
+ _sfc_main$n as FdsButtonDownload,
11619
+ _sfc_main$x as FdsButtonIcon,
11620
+ _sfc_main$p as FdsButtonMinor,
11621
+ _sfc_main$m as FdsButtonPrimary,
11622
+ _sfc_main$l as FdsButtonSecondary,
11623
+ _sfc_main$c as FdsCheckbox,
11624
+ _sfc_main$g as FdsDevMode,
11114
11625
  _sfc_main$2 as FdsHeading,
11115
- _sfc_main$x as FdsIcon,
11116
- _sfc_main$h as FdsInput,
11626
+ _sfc_main$y as FdsIcon,
11627
+ _sfc_main$f as FdsInput,
11117
11628
  _sfc_main$1 as FdsListHeading,
11118
- _sfc_main$i as FdsModal,
11119
- _sfc_main$g as FdsPagination,
11120
- _sfc_main$d as FdsRadio,
11121
- _sfc_main$f as FdsSearchSelect,
11122
- _sfc_main$8 as FdsSelect,
11629
+ _sfc_main$k as FdsModal,
11630
+ _sfc_main$e as FdsPagination,
11631
+ _sfc_main$b as FdsRadio,
11632
+ _sfc_main$d as FdsSearchSelect,
11633
+ _sfc_main$6 as FdsSelect,
11123
11634
  FdsSeparator,
11124
- _sfc_main$p as FdsSpinner,
11125
- _sfc_main$t as FdsSticker,
11126
- _sfc_main$6 as FdsTable,
11127
- _sfc_main$5 as FdsTableHead,
11128
- _sfc_main$4 as FdsTabs,
11129
- _sfc_main$3 as FdsTabsItem,
11130
- _sfc_main$b as FdsText,
11131
- _sfc_main$7 as FdsTextarea,
11132
- _sfc_main$a as FdsTreeView,
11133
- _sfc_main$9 as FdsTruncatedText,
11635
+ _sfc_main$q as FdsSpinner,
11636
+ _sfc_main$u as FdsSticker,
11637
+ _sfc_main$4 as FdsTable,
11638
+ _sfc_main$3 as FdsTableHead,
11639
+ _sfc_main$j as FdsTabs,
11640
+ _sfc_main$i as FdsTabsItem,
11641
+ _sfc_main$9 as FdsText,
11642
+ _sfc_main$5 as FdsTextarea,
11643
+ _sfc_main$8 as FdsTreeView,
11644
+ _sfc_main$7 as FdsTruncatedText,
11134
11645
  bankid,
11135
11646
  FdsVueCorePlugin as default,
11136
11647
  isPidString,