fds-vue-core 2.2.0 → 2.3.0

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