fds-vue-core 8.2.4 → 8.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -88,6 +88,8 @@ const en = {
88
88
  "FdsPhonenumber.invalidPhone": "Enter a valid phone number",
89
89
  "FdsPhonenumber.noCountryResults": "No country matches your search",
90
90
  "FdsPhonenumber.phoneNumber": "Phone number",
91
+ "FdsSsn.invalidSsn": "Enter a valid personal identity number",
92
+ "FdsSsn.label": "Personal identity number",
91
93
  "FdsSearchSelectPro.loadingMore": "Loading more...",
92
94
  "FdsSearchSelectPro.showMore": "Show more",
93
95
  "FdsSearchSelectPro.unspecified": "Unspecified",
@@ -161,6 +163,8 @@ const sv = {
161
163
  "FdsPhonenumber.invalidPhone": "Ange ett giltigt telefonnummer",
162
164
  "FdsPhonenumber.noCountryResults": "Inget land matchar sökningen",
163
165
  "FdsPhonenumber.phoneNumber": "Telefonnummer",
166
+ "FdsSsn.invalidSsn": "Ange ett giltigt personnummer",
167
+ "FdsSsn.label": "Personnummer",
164
168
  "FdsSearchSelectPro.loadingMore": "Hämtar fler...",
165
169
  "FdsSearchSelectPro.showMore": "Visa fler",
166
170
  "FdsSearchSelectPro.unspecified": "Ospecificerat",
@@ -750,8 +754,8 @@ const icons = {
750
754
  </defs>
751
755
  </svg>`
752
756
  };
753
- const _hoisted_1$A = ["innerHTML"];
754
- const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
757
+ const _hoisted_1$B = ["innerHTML"];
758
+ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
755
759
  __name: "FdsIcon",
756
760
  props: {
757
761
  name: {},
@@ -784,11 +788,11 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
784
788
  return vue.openBlock(), vue.createElementBlock("span", vue.mergeProps({
785
789
  class: "flex items-center justify-center align-middle",
786
790
  style: { width: pixelSize.value, height: pixelSize.value }
787
- }, rootAttrs.value, { innerHTML: svgHtml.value }), null, 16, _hoisted_1$A);
791
+ }, rootAttrs.value, { innerHTML: svgHtml.value }), null, 16, _hoisted_1$B);
788
792
  };
789
793
  }
790
794
  });
791
- const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
795
+ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
792
796
  __name: "FdsButtonIcon",
793
797
  props: {
794
798
  icon: {},
@@ -832,12 +836,12 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
832
836
  class: buttonClasses.value,
833
837
  onClick
834
838
  }), [
835
- !__props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
839
+ !__props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
836
840
  key: 0,
837
841
  size: iconSize.value,
838
842
  name: __props.icon,
839
843
  "aria-hidden": "true"
840
- }, null, 8, ["size", "name"])) : (vue.openBlock(), vue.createBlock(_sfc_main$M, {
844
+ }, null, 8, ["size", "name"])) : (vue.openBlock(), vue.createBlock(_sfc_main$N, {
841
845
  key: 1,
842
846
  size: iconSize.value,
843
847
  name: "spinner",
@@ -848,7 +852,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
848
852
  };
849
853
  }
850
854
  });
851
- const _hoisted_1$z = { class: "flex items-start gap-2" };
855
+ const _hoisted_1$A = { class: "flex items-start gap-2" };
852
856
  const _hoisted_2$q = { class: "h-7 flex items-center" };
853
857
  const _hoisted_3$l = { class: "leading-7" };
854
858
  const _hoisted_4$j = { class: "relative h-7" };
@@ -856,7 +860,7 @@ const _hoisted_5$h = {
856
860
  key: 1,
857
861
  class: "fds-block-alert-slot mb-0-last-child"
858
862
  };
859
- const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
863
+ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
860
864
  __name: "FdsBlockAlert",
861
865
  props: {
862
866
  visible: { type: Boolean, default: true },
@@ -912,9 +916,9 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
912
916
  key: 0,
913
917
  class: vue.normalizeClass(["font-bold w-full justify-between items-start flex gap-2", { "mb-2": (isExpanded.value || !__props.collapsable) && vue.unref(hasSlot) }])
914
918
  }, [
915
- vue.createElementVNode("div", _hoisted_1$z, [
919
+ vue.createElementVNode("div", _hoisted_1$A, [
916
920
  vue.createElementVNode("div", _hoisted_2$q, [
917
- vue.createVNode(_sfc_main$M, {
921
+ vue.createVNode(_sfc_main$N, {
918
922
  name: "alert",
919
923
  size: 24,
920
924
  class: "fill-yellow-700"
@@ -923,13 +927,13 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
923
927
  vue.createElementVNode("span", _hoisted_3$l, vue.toDisplayString(__props.heading), 1)
924
928
  ]),
925
929
  vue.createElementVNode("div", _hoisted_4$j, [
926
- __props.closeable ? (vue.openBlock(), vue.createBlock(_sfc_main$L, vue.mergeProps({
930
+ __props.closeable ? (vue.openBlock(), vue.createBlock(_sfc_main$M, vue.mergeProps({
927
931
  key: 0,
928
932
  icon: "cross",
929
933
  size: 28,
930
934
  onClick: handleClose
931
935
  }, { "aria-label": closeLabel.value }, { class: ["fill-gray-900! hover:bg-gray-100 active:bg-gray-200"] }), null, 16)) : vue.createCommentVNode("", true),
932
- __props.collapsable ? (vue.openBlock(), vue.createBlock(_sfc_main$L, vue.mergeProps({
936
+ __props.collapsable ? (vue.openBlock(), vue.createBlock(_sfc_main$M, vue.mergeProps({
933
937
  key: 1,
934
938
  icon: "arrowDown",
935
939
  size: 28,
@@ -952,7 +956,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
952
956
  };
953
957
  }
954
958
  });
955
- const _hoisted_1$y = ["id"];
959
+ const _hoisted_1$z = ["id"];
956
960
  const _hoisted_2$p = {
957
961
  key: 0,
958
962
  class: "flex items-start justify-between gap-4 mb-4"
@@ -960,7 +964,7 @@ const _hoisted_2$p = {
960
964
  const _hoisted_3$k = { class: "flex items-center gap-3" };
961
965
  const _hoisted_4$i = { class: "flex items-start gap-3 leading-8" };
962
966
  const _hoisted_5$g = { class: "mb-0-last-child" };
963
- const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
967
+ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
964
968
  __name: "FdsBlockContent",
965
969
  props: {
966
970
  heading: { default: void 0 },
@@ -1017,11 +1021,11 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
1017
1021
  vue.createElementVNode("div", _hoisted_5$g, [
1018
1022
  vue.renderSlot(_ctx.$slots, "default")
1019
1023
  ])
1020
- ], 16, _hoisted_1$y);
1024
+ ], 16, _hoisted_1$z);
1021
1025
  };
1022
1026
  }
1023
1027
  });
1024
- const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
1028
+ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
1025
1029
  __name: "FdsSticker",
1026
1030
  props: {
1027
1031
  variant: { default: "blue" },
@@ -1069,7 +1073,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
1069
1073
  };
1070
1074
  }
1071
1075
  });
1072
- const _hoisted_1$x = { class: "leading-6 w-full flex justify-between gap-4" };
1076
+ const _hoisted_1$y = { class: "leading-6 w-full flex justify-between gap-4" };
1073
1077
  const _hoisted_2$o = {
1074
1078
  key: 0,
1075
1079
  class: "flex items-center mr-4"
@@ -1081,7 +1085,7 @@ const _hoisted_5$f = {
1081
1085
  class: "w-full flex mt-2"
1082
1086
  };
1083
1087
  const _hoisted_6$b = ["aria-hidden"];
1084
- const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
1088
+ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
1085
1089
  ...{
1086
1090
  inheritAttrs: false
1087
1091
  },
@@ -1153,12 +1157,12 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
1153
1157
  vue.createElementVNode("span", {
1154
1158
  class: vue.normalizeClass(buttonRowClasses.value)
1155
1159
  }, [
1156
- vue.createElementVNode("span", _hoisted_1$x, [
1160
+ vue.createElementVNode("span", _hoisted_1$y, [
1157
1161
  vue.createElementVNode("span", {
1158
1162
  class: vue.normalizeClass(["flex items-center", { "inline-flex items-start": __props.icon }])
1159
1163
  }, [
1160
1164
  __props.icon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$o, [
1161
- vue.createVNode(_sfc_main$M, {
1165
+ vue.createVNode(_sfc_main$N, {
1162
1166
  name: __props.icon,
1163
1167
  size: 24,
1164
1168
  class: vue.normalizeClass(["fill-blue-500", [{ "fill-gray-500": __props.disabled }, __props.iconClass]])
@@ -1171,7 +1175,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
1171
1175
  ])
1172
1176
  ], 2),
1173
1177
  vue.createElementVNode("span", _hoisted_4$h, [
1174
- __props.stickerText && __props.stickerColor ? (vue.openBlock(), vue.createBlock(_sfc_main$I, {
1178
+ __props.stickerText && __props.stickerColor ? (vue.openBlock(), vue.createBlock(_sfc_main$J, {
1175
1179
  key: 0,
1176
1180
  variant: __props.stickerColor
1177
1181
  }, {
@@ -1180,7 +1184,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
1180
1184
  ]),
1181
1185
  _: 1
1182
1186
  }, 8, ["variant"])) : vue.createCommentVNode("", true),
1183
- vue.createVNode(_sfc_main$M, {
1187
+ vue.createVNode(_sfc_main$N, {
1184
1188
  name: "arrowDown",
1185
1189
  size: 24,
1186
1190
  class: vue.normalizeClass(["transition-transform duration-200 fill-blue-500 min-w-6 min-h-6", { "rotate-180": isOpen.value, "fill-gray-500": __props.disabled }])
@@ -1204,7 +1208,7 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
1204
1208
  };
1205
1209
  }
1206
1210
  });
1207
- const _hoisted_1$w = ["id"];
1211
+ const _hoisted_1$x = ["id"];
1208
1212
  const _hoisted_2$n = {
1209
1213
  key: 0,
1210
1214
  class: "flex items-start gap-4"
@@ -1229,7 +1233,7 @@ const _hoisted_13$2 = { class: "flex items-start gap-3" };
1229
1233
  const _hoisted_14$2 = { class: "mb-0-last-child" };
1230
1234
  const smallIconSize = 24;
1231
1235
  const largeIconSize = 48;
1232
- const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
1236
+ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
1233
1237
  __name: "FdsBlockInfo",
1234
1238
  props: {
1235
1239
  heading: { default: void 0 },
@@ -1262,7 +1266,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
1262
1266
  class: contentClasses.value
1263
1267
  }, rootAttrs.value), [
1264
1268
  __props.iconSize === "large" && __props.icon ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$n, [
1265
- vue.createVNode(_sfc_main$M, {
1269
+ vue.createVNode(_sfc_main$N, {
1266
1270
  name: __props.icon,
1267
1271
  size: largeIconSize,
1268
1272
  class: "fill-blue-500"
@@ -1287,7 +1291,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
1287
1291
  }, [
1288
1292
  vue.createElementVNode("header", _hoisted_10$4, [
1289
1293
  vue.createElementVNode("div", _hoisted_11$4, [
1290
- __props.icon && __props.iconSize === "small" ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
1294
+ __props.icon && __props.iconSize === "small" ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
1291
1295
  key: 0,
1292
1296
  name: __props.icon,
1293
1297
  size: smallIconSize,
@@ -1304,16 +1308,16 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
1304
1308
  vue.renderSlot(_ctx.$slots, "default")
1305
1309
  ])
1306
1310
  ]))
1307
- ], 16, _hoisted_1$w);
1311
+ ], 16, _hoisted_1$x);
1308
1312
  };
1309
1313
  }
1310
1314
  });
1311
- const _hoisted_1$v = { class: "mb-0-last-child" };
1315
+ const _hoisted_1$w = { class: "mb-0-last-child" };
1312
1316
  const _hoisted_2$m = {
1313
1317
  key: 0,
1314
1318
  class: "flex items-end"
1315
1319
  };
1316
- const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
1320
+ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
1317
1321
  ...{
1318
1322
  inheritAttrs: false
1319
1323
  },
@@ -1426,7 +1430,7 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
1426
1430
  vue.createElementVNode("div", {
1427
1431
  class: vue.normalizeClass(["flex w-full flex-1", contentClasses.value])
1428
1432
  }, [
1429
- __props.icon ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
1433
+ __props.icon ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
1430
1434
  key: 0,
1431
1435
  name: __props.icon,
1432
1436
  size: 24,
@@ -1445,7 +1449,7 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
1445
1449
  vue.createElementVNode("div", {
1446
1450
  class: vue.normalizeClass(slotWrapperClasses.value)
1447
1451
  }, [
1448
- vue.createElementVNode("div", _hoisted_1$v, [
1452
+ vue.createElementVNode("div", _hoisted_1$w, [
1449
1453
  vue.renderSlot(_ctx.$slots, "default")
1450
1454
  ]),
1451
1455
  vue.unref(hasStickerSlot) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$m, [
@@ -1454,7 +1458,7 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
1454
1458
  ], 2)
1455
1459
  ], 2)
1456
1460
  ], 2),
1457
- __props.variant === "link" ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
1461
+ __props.variant === "link" ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
1458
1462
  key: 0,
1459
1463
  name: "arrowRight",
1460
1464
  size: 24,
@@ -1466,8 +1470,8 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
1466
1470
  };
1467
1471
  }
1468
1472
  });
1469
- const _hoisted_1$u = ["aria-label"];
1470
- const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
1473
+ const _hoisted_1$v = ["aria-label"];
1474
+ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
1471
1475
  __name: "FdsSpinner",
1472
1476
  props: {
1473
1477
  size: { default: "48px" },
@@ -1547,13 +1551,13 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
1547
1551
  key: 0,
1548
1552
  class: vue.normalizeClass(__props.labelPosition === "bottom" ? "font-bold" : "")
1549
1553
  }, vue.toDisplayString(__props.label), 3)) : vue.createCommentVNode("", true)
1550
- ], 16, _hoisted_1$u);
1554
+ ], 16, _hoisted_1$v);
1551
1555
  };
1552
1556
  }
1553
1557
  });
1554
- const _hoisted_1$t = ["aria-disabled"];
1558
+ const _hoisted_1$u = ["aria-disabled"];
1555
1559
  const elBase$2 = "box-border appearance-none inline-flex items-center justify-center w-fit min-h-0 shadow-none p-0.5 text-base select-none m-0 rounded-md text-left align-middle 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";
1556
- const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
1560
+ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
1557
1561
  ...{
1558
1562
  inheritAttrs: false
1559
1563
  },
@@ -1638,7 +1642,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
1638
1642
  onClick
1639
1643
  }), {
1640
1644
  default: vue.withCtx(() => [
1641
- __props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
1645
+ __props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
1642
1646
  key: 0,
1643
1647
  class: "mr-2",
1644
1648
  size: "24px",
@@ -1648,7 +1652,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
1648
1652
  class: vue.normalizeClass(iconOrderClasses.value),
1649
1653
  "aria-hidden": "true"
1650
1654
  }, [
1651
- vue.createVNode(_sfc_main$M, {
1655
+ vue.createVNode(_sfc_main$N, {
1652
1656
  class: vue.normalizeClass(iconFillClass2.value),
1653
1657
  name: __props.icon,
1654
1658
  size: __props.iconSize
@@ -1658,15 +1662,15 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
1658
1662
  ]),
1659
1663
  _: 1
1660
1664
  }, 16, ["type", "disabled", "data-testid", "class"]))
1661
- ], 10, _hoisted_1$t);
1665
+ ], 10, _hoisted_1$u);
1662
1666
  };
1663
1667
  }
1664
1668
  });
1665
- const _hoisted_1$s = {
1669
+ const _hoisted_1$t = {
1666
1670
  key: 0,
1667
1671
  class: "flex items-center gap-2 h-7"
1668
1672
  };
1669
- const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
1673
+ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
1670
1674
  __name: "FdsButtonCopy",
1671
1675
  props: {
1672
1676
  value: { default: "" },
@@ -1728,10 +1732,10 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
1728
1732
  }
1729
1733
  });
1730
1734
  return (_ctx, _cache) => {
1731
- return isCopied.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$s, [
1732
- vue.createVNode(_sfc_main$M, { name: "bigSuccess" }),
1735
+ return isCopied.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$t, [
1736
+ vue.createVNode(_sfc_main$N, { name: "bigSuccess" }),
1733
1737
  vue.createElementVNode("span", null, vue.toDisplayString(props.copiedText), 1)
1734
- ])) : (vue.openBlock(), vue.createBlock(_sfc_main$D, {
1738
+ ])) : (vue.openBlock(), vue.createBlock(_sfc_main$E, {
1735
1739
  key: 1,
1736
1740
  type: "button",
1737
1741
  disabled: props.disabled,
@@ -5022,8 +5026,8 @@ function useDownload() {
5022
5026
  isDownloading
5023
5027
  };
5024
5028
  }
5025
- const _hoisted_1$r = ["disabled", "aria-disabled"];
5026
- const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
5029
+ const _hoisted_1$s = ["disabled", "aria-disabled"];
5030
+ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
5027
5031
  __name: "FdsButtonDownload",
5028
5032
  props: {
5029
5033
  loading: { type: Boolean, default: false },
@@ -5124,23 +5128,23 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
5124
5128
  class: vue.normalizeClass(iconOrderClasses.value),
5125
5129
  "aria-hidden": "true"
5126
5130
  }, [
5127
- vue.createVNode(_sfc_main$M, {
5131
+ vue.createVNode(_sfc_main$N, {
5128
5132
  class: vue.normalizeClass(iconFillClass2.value),
5129
5133
  name: "download",
5130
5134
  size: 24
5131
5135
  }, null, 8, ["class"])
5132
5136
  ], 2),
5133
5137
  vue.createTextVNode(" " + vue.toDisplayString(__props.text), 1)
5134
- ], 16, _hoisted_1$r);
5138
+ ], 16, _hoisted_1$s);
5135
5139
  };
5136
5140
  }
5137
5141
  });
5138
- const _hoisted_1$q = ["aria-disabled"];
5142
+ const _hoisted_1$r = ["aria-disabled"];
5139
5143
  const _hoisted_2$l = { key: 2 };
5140
5144
  const elBase$1 = "fds-button-primary 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";
5141
5145
  const variantClasses$1 = "bg-blue-600 border border-blue-600 text-white hover:bg-blue-700";
5142
5146
  const iconFillClass$1 = "fill-white";
5143
- const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
5147
+ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
5144
5148
  ...{
5145
5149
  inheritAttrs: false
5146
5150
  },
@@ -5223,7 +5227,7 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
5223
5227
  onClick
5224
5228
  }), {
5225
5229
  default: vue.withCtx(() => [
5226
- __props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
5230
+ __props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
5227
5231
  key: 0,
5228
5232
  size: __props.size === "sm" ? "18px" : "24px",
5229
5233
  color: "inherit"
@@ -5232,7 +5236,7 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
5232
5236
  class: vue.normalizeClass(iconOrderClasses.value),
5233
5237
  "aria-hidden": "true"
5234
5238
  }, [
5235
- vue.createVNode(_sfc_main$M, {
5239
+ vue.createVNode(_sfc_main$N, {
5236
5240
  class: vue.normalizeClass(iconFillClass$1),
5237
5241
  name: __props.icon,
5238
5242
  size: __props.iconSize
@@ -5242,16 +5246,16 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
5242
5246
  ]),
5243
5247
  _: 1
5244
5248
  }, 16, ["type", "disabled", "data-testid", "class"]))
5245
- ], 10, _hoisted_1$q);
5249
+ ], 10, _hoisted_1$r);
5246
5250
  };
5247
5251
  }
5248
5252
  });
5249
- const _hoisted_1$p = ["aria-disabled"];
5253
+ const _hoisted_1$q = ["aria-disabled"];
5250
5254
  const _hoisted_2$k = { key: 2 };
5251
5255
  const elBase = "fds-button-secondary 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";
5252
5256
  const variantClasses = "bg-white border-2 border-blue-500 text-blue-600 hover:bg-blue_t-100 hover:border-blue-500 hover:text-blue-600 active:bg-blue_t-200 active:border-blue-500 active:text-blue-600";
5253
5257
  const iconFillClass = "fill-blue-500";
5254
- const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
5258
+ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
5255
5259
  ...{
5256
5260
  inheritAttrs: false
5257
5261
  },
@@ -5335,7 +5339,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
5335
5339
  onClick
5336
5340
  }), {
5337
5341
  default: vue.withCtx(() => [
5338
- __props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
5342
+ __props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
5339
5343
  key: 0,
5340
5344
  size: __props.size === "sm" ? "18px" : "24px",
5341
5345
  color: "inherit"
@@ -5344,7 +5348,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
5344
5348
  class: vue.normalizeClass(iconOrderClasses.value),
5345
5349
  "aria-hidden": "true"
5346
5350
  }, [
5347
- vue.createVNode(_sfc_main$M, {
5351
+ vue.createVNode(_sfc_main$N, {
5348
5352
  class: vue.normalizeClass(iconFillClass),
5349
5353
  name: __props.icon,
5350
5354
  size: __props.iconSize
@@ -5354,7 +5358,7 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
5354
5358
  ]),
5355
5359
  _: 1
5356
5360
  }, 16, ["type", "disabled", "data-testid", "class"]))
5357
- ], 10, _hoisted_1$p);
5361
+ ], 10, _hoisted_1$q);
5358
5362
  };
5359
5363
  }
5360
5364
  });
@@ -5676,8 +5680,8 @@ function useViewportBreakpoint() {
5676
5680
  breakpoints
5677
5681
  };
5678
5682
  }
5679
- const _hoisted_1$o = ["title"];
5680
- const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
5683
+ const _hoisted_1$p = ["title"];
5684
+ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
5681
5685
  __name: "FdsBreakpointIndicator",
5682
5686
  props: {
5683
5687
  popoverClass: {}
@@ -5716,7 +5720,7 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
5716
5720
  class: "px-2 py-1 rounded text-xs bg-white bg-opacity-20 text-black hover:bg-opacity-30 cursor-pointer",
5717
5721
  title: `${vue.unref(windowWidth)}px`,
5718
5722
  onClick: toggleBreakpointList
5719
- }, vue.toDisplayString(vue.unref(currentBreakpoint)), 9, _hoisted_1$o),
5723
+ }, vue.toDisplayString(vue.unref(currentBreakpoint)), 9, _hoisted_1$p),
5720
5724
  showBreakpointList.value ? (vue.openBlock(), vue.createElementBlock("div", {
5721
5725
  key: 0,
5722
5726
  class: vue.normalizeClass(["absolute bottom-full left-0 mb-2 rounded-lg shadow-lg p-2 text-xs font-mono whitespace-nowrap z-10", __props.popoverClass])
@@ -5796,9 +5800,9 @@ function useDevModePoEditor() {
5796
5800
  setI18nKeysVisibility
5797
5801
  };
5798
5802
  }
5799
- const _hoisted_1$n = ["for"];
5803
+ const _hoisted_1$o = ["for"];
5800
5804
  const _hoisted_2$j = ["value", "disabled", "required"];
5801
- const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
5805
+ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
5802
5806
  ...{
5803
5807
  inheritAttrs: false
5804
5808
  },
@@ -5828,10 +5832,7 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
5828
5832
  onKeydown: {},
5829
5833
  onKeyup: {}
5830
5834
  }, {
5831
- "modelValue": { type: [Boolean, Array], ...{
5832
- default: void 0,
5833
- required: false
5834
- } },
5835
+ "modelValue": { type: [Boolean, Array] },
5835
5836
  "modelModifiers": {}
5836
5837
  }),
5837
5838
  emits: /* @__PURE__ */ vue.mergeModels(["change", "input", "update:checked"], ["update:modelValue"]),
@@ -5965,18 +5966,18 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
5965
5966
  key: 0,
5966
5967
  class: vue.normalizeClass(["relative inline-block leading-6 pl-1 select-none", { "cursor-not-allowed": props.disabled }])
5967
5968
  }, [
5968
- vue.unref(hasLabelSlot) ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : props.label ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
5969
+ vue.unref(hasLabelSlot) ? vue.renderSlot(_ctx.$slots, "default", {}, void 0, void 0, 0) : props.label ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
5969
5970
  vue.createTextVNode(vue.toDisplayString(props.label), 1)
5970
5971
  ], 64)) : vue.createCommentVNode("", true)
5971
5972
  ], 2)) : vue.createCommentVNode("", true)
5972
- ], 16, _hoisted_1$n)
5973
+ ], 16, _hoisted_1$o)
5973
5974
  ], 2);
5974
5975
  };
5975
5976
  }
5976
5977
  });
5977
- const _hoisted_1$m = ["for"];
5978
+ const _hoisted_1$n = ["for"];
5978
5979
  const _hoisted_2$i = ["value", "checked", "disabled", "required"];
5979
- const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
5980
+ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
5980
5981
  ...{
5981
5982
  inheritAttrs: false
5982
5983
  },
@@ -6005,7 +6006,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
6005
6006
  onKeydown: {},
6006
6007
  onKeyup: {}
6007
6008
  }, {
6008
- "modelValue": { type: [String, Number, Boolean, null], ...{ default: void 0, required: false } },
6009
+ "modelValue": { type: [String, Number, Boolean, null] },
6009
6010
  "modelModifiers": {}
6010
6011
  }),
6011
6012
  emits: /* @__PURE__ */ vue.mergeModels(["update:modelValue", "update:checked", "change", "input"], ["update:modelValue"]),
@@ -6103,11 +6104,11 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
6103
6104
  key: 0,
6104
6105
  class: vue.normalizeClass(["relative inline-block leading-6 pl-1 select-none", { "cursor-not-allowed": props.disabled }])
6105
6106
  }, [
6106
- vue.unref(hasLabelSlot) ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : props.label ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
6107
+ vue.unref(hasLabelSlot) ? vue.renderSlot(_ctx.$slots, "default", {}, void 0, void 0, 0) : props.label ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
6107
6108
  vue.createTextVNode(vue.toDisplayString(props.label), 1)
6108
6109
  ], 64)) : vue.createCommentVNode("", true)
6109
6110
  ], 2)) : vue.createCommentVNode("", true)
6110
- ], 16, _hoisted_1$m)
6111
+ ], 16, _hoisted_1$n)
6111
6112
  ], 2);
6112
6113
  };
6113
6114
  }
@@ -6124,7 +6125,7 @@ function classValueToString(value) {
6124
6125
  }
6125
6126
  return String(value);
6126
6127
  }
6127
- const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
6128
+ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
6128
6129
  ...{
6129
6130
  inheritAttrs: false
6130
6131
  },
@@ -6155,7 +6156,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
6155
6156
  };
6156
6157
  }
6157
6158
  });
6158
- const _hoisted_1$l = {
6159
+ const _hoisted_1$m = {
6159
6160
  key: 0,
6160
6161
  class: "absolute bottom-full right-0 mb-3 z-60 flex min-w-54 flex-col font-normal"
6161
6162
  };
@@ -6171,7 +6172,7 @@ const _hoisted_5$d = {
6171
6172
  };
6172
6173
  const _hoisted_6$9 = { key: 2 };
6173
6174
  const OVERLAY_OPEN_KEY = "devModeOverlayOpen";
6174
- const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
6175
+ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
6175
6176
  __name: "FdsDevModeOverlay",
6176
6177
  props: {
6177
6178
  environment: { default: null },
@@ -6238,11 +6239,11 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
6238
6239
  () => checkToggles.value.length > 0 || radioToggles.value.length > 0 || buttonToggles.value.length > 0 || canToggleI18nKeys.value || showLocaleSwitcher.value
6239
6240
  );
6240
6241
  return (_ctx, _cache) => {
6241
- return hasContent.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [
6242
+ return hasContent.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
6242
6243
  isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$h, [
6243
6244
  vue.createElementVNode("div", _hoisted_3$h, [
6244
6245
  vue.createElementVNode("div", null, [
6245
- vue.unref(canToggleI18nKeys) ? (vue.openBlock(), vue.createBlock(_sfc_main$x, {
6246
+ vue.unref(canToggleI18nKeys) ? (vue.openBlock(), vue.createBlock(_sfc_main$y, {
6246
6247
  key: 0,
6247
6248
  checked: vue.unref(showingTranslationKeys),
6248
6249
  onChange: vue.unref(setI18nKeysVisibility),
@@ -6254,7 +6255,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
6254
6255
  _: 1
6255
6256
  }, 8, ["checked", "onChange"])) : vue.createCommentVNode("", true),
6256
6257
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(checkToggles.value, (toggle) => {
6257
- return vue.openBlock(), vue.createBlock(_sfc_main$x, {
6258
+ return vue.openBlock(), vue.createBlock(_sfc_main$y, {
6258
6259
  key: `${toggle.key}-${toggle.checked}`,
6259
6260
  checked: toggle.checked,
6260
6261
  class: "mb-0!",
@@ -6269,7 +6270,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
6269
6270
  ]),
6270
6271
  radioToggles.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$f, [
6271
6272
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(radioToggles.value, (toggle) => {
6272
- return vue.openBlock(), vue.createBlock(_sfc_main$w, {
6273
+ return vue.openBlock(), vue.createBlock(_sfc_main$x, {
6273
6274
  key: `${toggle.key}-${toggle.checked}`,
6274
6275
  name: toggle.group,
6275
6276
  value: toggle.value,
@@ -6286,7 +6287,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
6286
6287
  ])) : vue.createCommentVNode("", true),
6287
6288
  buttonToggles.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$d, [
6288
6289
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(buttonToggles.value, (toggle) => {
6289
- return vue.openBlock(), vue.createBlock(_sfc_main$D, {
6290
+ return vue.openBlock(), vue.createBlock(_sfc_main$E, {
6290
6291
  key: toggle.key,
6291
6292
  size: "sm",
6292
6293
  block: "",
@@ -6297,7 +6298,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
6297
6298
  ])) : vue.createCommentVNode("", true),
6298
6299
  showLocaleSwitcher.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$9, [
6299
6300
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(localeOptions.value, (localeCode) => {
6300
- return vue.openBlock(), vue.createBlock(_sfc_main$w, {
6301
+ return vue.openBlock(), vue.createBlock(_sfc_main$x, {
6301
6302
  key: localeCode,
6302
6303
  name: "fds-dev-mode-locale",
6303
6304
  value: localeCode,
@@ -6321,13 +6322,13 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
6321
6322
  onClick: _cache[0] || (_cache[0] = ($event) => isOpen.value = !isOpen.value),
6322
6323
  class: "flex w-full cursor-pointer justify-between gap-2 px-3 py-2 active:bg-gray-100"
6323
6324
  }, [
6324
- vue.createVNode(_sfc_main$v, { class: "mb-0!" }, {
6325
+ vue.createVNode(_sfc_main$w, { class: "mb-0!" }, {
6325
6326
  default: vue.withCtx(() => [
6326
6327
  vue.createTextVNode(vue.toDisplayString(vue.unref(t)("FdsDevMode.overlay.quickSettings")), 1)
6327
6328
  ]),
6328
6329
  _: 1
6329
6330
  }),
6330
- vue.createVNode(_sfc_main$M, {
6331
+ vue.createVNode(_sfc_main$N, {
6331
6332
  name: isOpen.value ? "arrowUp" : "arrowDown",
6332
6333
  size: 20,
6333
6334
  class: "fill-gray-700"
@@ -6338,10 +6339,10 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
6338
6339
  };
6339
6340
  }
6340
6341
  });
6341
- const _hoisted_1$k = { class: "flex justify-between mb-4" };
6342
+ const _hoisted_1$l = { class: "flex justify-between mb-4" };
6342
6343
  const _hoisted_2$g = { class: "flex items-center gap-2" };
6343
6344
  const _hoisted_3$g = { class: "mb-0-last-child" };
6344
- const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
6345
+ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
6345
6346
  __name: "FdsModal",
6346
6347
  props: {
6347
6348
  open: { type: Boolean, default: false },
@@ -6570,9 +6571,9 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
6570
6571
  vue.createElementVNode("div", {
6571
6572
  class: vue.normalizeClass(__props.resizable ? "overflow-auto flex-1 min-h-0" : "")
6572
6573
  }, [
6573
- vue.createElementVNode("div", _hoisted_1$k, [
6574
+ vue.createElementVNode("div", _hoisted_1$l, [
6574
6575
  vue.createElementVNode("div", _hoisted_2$g, [
6575
- iconName.value ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
6576
+ iconName.value ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
6576
6577
  key: 0,
6577
6578
  name: iconName.value,
6578
6579
  size: 24,
@@ -6583,7 +6584,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
6583
6584
  class: vue.normalizeClass(headerTitleClasses.value)
6584
6585
  }, vue.toDisplayString(__props.heading), 3)
6585
6586
  ]),
6586
- !__props.strict ? (vue.openBlock(), vue.createBlock(_sfc_main$L, vue.mergeProps({
6587
+ !__props.strict ? (vue.openBlock(), vue.createBlock(_sfc_main$M, vue.mergeProps({
6587
6588
  key: 0,
6588
6589
  icon: "cross",
6589
6590
  size: 28,
@@ -9845,7 +9846,7 @@ try {
9845
9846
  globalThis.IMask = IMask;
9846
9847
  } catch {
9847
9848
  }
9848
- const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
9849
+ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
9849
9850
  ...{
9850
9851
  inheritAttrs: false
9851
9852
  },
@@ -9876,7 +9877,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
9876
9877
  };
9877
9878
  }
9878
9879
  });
9879
- const _hoisted_1$j = ["for", "id"];
9880
+ const _hoisted_1$k = ["for", "id"];
9880
9881
  const _hoisted_2$f = { class: "relative" };
9881
9882
  const _hoisted_3$f = ["type", "required", "disabled", "tabindex", "aria-invalid", "aria-label", "aria-labelledby", "aria-describedby", "autocomplete", "placeholder", "pattern", "searchIcon"];
9882
9883
  const _hoisted_4$e = {
@@ -9884,7 +9885,7 @@ const _hoisted_4$e = {
9884
9885
  class: "text-red-700 font-bold mt-1"
9885
9886
  };
9886
9887
  const inputPaddingClasses = "px-3 py-[calc(0.75rem-1px)]";
9887
- const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
9888
+ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
9888
9889
  ...{
9889
9890
  inheritAttrs: false
9890
9891
  },
@@ -9931,7 +9932,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
9931
9932
  onKeydown: {},
9932
9933
  onKeyup: {}
9933
9934
  }, {
9934
- "modelValue": { default: void 0, required: false },
9935
+ "modelValue": { default: "" },
9935
9936
  "modelModifiers": {}
9936
9937
  }),
9937
9938
  emits: /* @__PURE__ */ vue.mergeModels(["input", "autocomplete", "clearInput", "update:value", "keyup", "keyup.enter", "blur"], ["update:modelValue"]),
@@ -10184,8 +10185,8 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
10184
10185
  for: inputId.value,
10185
10186
  id: labelId.value,
10186
10187
  class: ["block font-bold text-gray-900 cursor-pointer", { "mb-0": props.meta, "mb-1": !props.meta }]
10187
- }, labelAttrs.value), vue.toDisplayString(props.label), 17, _hoisted_1$j)) : vue.createCommentVNode("", true),
10188
- props.meta ? (vue.openBlock(), vue.createBlock(_sfc_main$s, {
10188
+ }, labelAttrs.value), vue.toDisplayString(props.label), 17, _hoisted_1$k)) : vue.createCommentVNode("", true),
10189
+ props.meta ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
10189
10190
  key: 1,
10190
10191
  id: metaId.value,
10191
10192
  class: vue.normalizeClass({ "mb-1": !props.labelLeft })
@@ -10230,7 +10231,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
10230
10231
  vue.createElementVNode("div", {
10231
10232
  class: vue.normalizeClass(rightIconsContainerClasses.value)
10232
10233
  }, [
10233
- showDateIcon.value ? (vue.openBlock(), vue.createBlock(_sfc_main$L, {
10234
+ showDateIcon.value ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
10234
10235
  key: 0,
10235
10236
  "aria-label": dateButtonLabel.value,
10236
10237
  onClick: onDateIconClick,
@@ -10238,29 +10239,29 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
10238
10239
  size: 28,
10239
10240
  class: "fill-blue-500"
10240
10241
  }, null, 8, ["aria-label"])) : vue.createCommentVNode("", true),
10241
- isInvalid.value ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
10242
+ isInvalid.value ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
10242
10243
  key: 1,
10243
10244
  name: "alert",
10244
10245
  class: "fill-red-700"
10245
10246
  })) : vue.createCommentVNode("", true),
10246
- isValid2.value ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
10247
+ isValid2.value ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
10247
10248
  key: 2,
10248
10249
  name: "bigSuccess"
10249
10250
  })) : vue.createCommentVNode("", true),
10250
- props.searchIcon ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
10251
+ props.searchIcon ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
10251
10252
  key: 3,
10252
10253
  name: "search",
10253
10254
  size: 24,
10254
10255
  class: "fill-blue-500"
10255
10256
  })) : vue.createCommentVNode("", true),
10256
- showClearButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$L, vue.mergeProps({
10257
+ showClearButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$M, vue.mergeProps({
10257
10258
  key: 4,
10258
10259
  icon: "cross"
10259
10260
  }, { "aria-label": clearButtonLabel.value }, {
10260
10261
  onClick: onClear,
10261
10262
  size: 30
10262
10263
  }), null, 16)) : vue.createCommentVNode("", true),
10263
- showPasswordToggle.value ? (vue.openBlock(), vue.createBlock(_sfc_main$D, {
10264
+ showPasswordToggle.value ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
10264
10265
  key: 5,
10265
10266
  icon: showPassword.value ? "viewOff" : "viewOn",
10266
10267
  text: showPassword.value ? passwordButtonHideLabel.value : passwordButtonShowLabel.value,
@@ -10280,7 +10281,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
10280
10281
  };
10281
10282
  }
10282
10283
  });
10283
- const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
10284
+ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
10284
10285
  __name: "FdsTabs",
10285
10286
  props: {
10286
10287
  block: { type: Boolean, default: false },
@@ -10313,7 +10314,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
10313
10314
  };
10314
10315
  }
10315
10316
  });
10316
- const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
10317
+ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
10317
10318
  ...{
10318
10319
  inheritAttrs: false
10319
10320
  },
@@ -10428,7 +10429,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
10428
10429
  };
10429
10430
  }
10430
10431
  });
10431
- const _hoisted_1$i = { class: "space-y-6" };
10432
+ const _hoisted_1$j = { class: "space-y-6" };
10432
10433
  const _hoisted_2$e = {
10433
10434
  key: 0,
10434
10435
  class: "text-sm text-gray-600"
@@ -10527,7 +10528,7 @@ const _hoisted_59 = {
10527
10528
  class: "mt-2"
10528
10529
  };
10529
10530
  const _hoisted_60 = { class: "mt-4 flex justify-end gap-3" };
10530
- const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
10531
+ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
10531
10532
  __name: "FdsDevModeStorage",
10532
10533
  props: {
10533
10534
  open: { type: Boolean, default: false },
@@ -10700,7 +10701,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
10700
10701
  loadStorageEntries();
10701
10702
  };
10702
10703
  return (_ctx, _cache) => {
10703
- return vue.openBlock(), vue.createBlock(_sfc_main$t, {
10704
+ return vue.openBlock(), vue.createBlock(_sfc_main$u, {
10704
10705
  open: isOpen.value,
10705
10706
  heading: "DevTools",
10706
10707
  size: "xl",
@@ -10710,31 +10711,31 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
10710
10711
  onClose: _cache[11] || (_cache[11] = () => handleOpenChange(false))
10711
10712
  }, {
10712
10713
  default: vue.withCtx(() => [
10713
- vue.createElementVNode("div", _hoisted_1$i, [
10714
- vue.createVNode(_sfc_main$q, {
10714
+ vue.createElementVNode("div", _hoisted_1$j, [
10715
+ vue.createVNode(_sfc_main$r, {
10715
10716
  variant: "secondary",
10716
10717
  class: "flex-wrap overflow-visible! *:w-auto!"
10717
10718
  }, {
10718
10719
  default: vue.withCtx(() => [
10719
- vue.createVNode(_sfc_main$p, {
10720
+ vue.createVNode(_sfc_main$q, {
10720
10721
  label: vue.unref(t)("FdsDevModeStorage.tabs.localStorage"),
10721
10722
  active: activeTab.value === "local",
10722
10723
  as: "button",
10723
10724
  onClick: _cache[0] || (_cache[0] = ($event) => activeTab.value = "local")
10724
10725
  }, null, 8, ["label", "active"]),
10725
- vue.createVNode(_sfc_main$p, {
10726
+ vue.createVNode(_sfc_main$q, {
10726
10727
  label: vue.unref(t)("FdsDevModeStorage.tabs.sessionStorage"),
10727
10728
  active: activeTab.value === "session",
10728
10729
  as: "button",
10729
10730
  onClick: _cache[1] || (_cache[1] = ($event) => activeTab.value = "session")
10730
10731
  }, null, 8, ["label", "active"]),
10731
- vue.createVNode(_sfc_main$p, {
10732
+ vue.createVNode(_sfc_main$q, {
10732
10733
  label: vue.unref(t)("FdsDevModeStorage.tabs.cookies"),
10733
10734
  active: activeTab.value === "cookies",
10734
10735
  as: "button",
10735
10736
  onClick: _cache[2] || (_cache[2] = ($event) => activeTab.value = "cookies")
10736
10737
  }, null, 8, ["label", "active"]),
10737
- vue.createVNode(_sfc_main$p, {
10738
+ vue.createVNode(_sfc_main$q, {
10738
10739
  label: vue.unref(t)("FdsDevModeStorage.tabs.actions"),
10739
10740
  active: activeTab.value === "actions",
10740
10741
  as: "button",
@@ -10743,7 +10744,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
10743
10744
  ]),
10744
10745
  _: 1
10745
10746
  }),
10746
- activeTab.value === "local" ? (vue.openBlock(), vue.createBlock(_sfc_main$G, {
10747
+ activeTab.value === "local" ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
10747
10748
  key: 0,
10748
10749
  heading: vue.unref(t)("FdsDevModeStorage.tabs.localStorage"),
10749
10750
  icon: "information",
@@ -10797,12 +10798,12 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
10797
10798
  ])
10798
10799
  ]),
10799
10800
  localEditKey.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_18, [
10800
- vue.createVNode(_sfc_main$z, {
10801
+ vue.createVNode(_sfc_main$A, {
10801
10802
  text: vue.unref(t)("FdsDevModeStorage.actions.delete"),
10802
10803
  size: "sm",
10803
10804
  onClick: deleteLocalEntry
10804
10805
  }, null, 8, ["text"]),
10805
- vue.createVNode(_sfc_main$A, {
10806
+ vue.createVNode(_sfc_main$B, {
10806
10807
  text: vue.unref(t)("FdsDevModeStorage.actions.save"),
10807
10808
  size: "sm",
10808
10809
  onClick: saveLocalEntry
@@ -10811,7 +10812,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
10811
10812
  ])
10812
10813
  ]),
10813
10814
  _: 1
10814
- }, 8, ["heading"])) : activeTab.value === "session" ? (vue.openBlock(), vue.createBlock(_sfc_main$G, {
10815
+ }, 8, ["heading"])) : activeTab.value === "session" ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
10815
10816
  key: 1,
10816
10817
  heading: vue.unref(t)("FdsDevModeStorage.tabs.sessionStorage"),
10817
10818
  icon: "information",
@@ -10865,12 +10866,12 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
10865
10866
  ])
10866
10867
  ]),
10867
10868
  sessionEditKey.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_35, [
10868
- vue.createVNode(_sfc_main$z, {
10869
+ vue.createVNode(_sfc_main$A, {
10869
10870
  text: vue.unref(t)("FdsDevModeStorage.actions.delete"),
10870
10871
  size: "sm",
10871
10872
  onClick: deleteSessionEntry
10872
10873
  }, null, 8, ["text"]),
10873
- vue.createVNode(_sfc_main$A, {
10874
+ vue.createVNode(_sfc_main$B, {
10874
10875
  text: vue.unref(t)("FdsDevModeStorage.actions.save"),
10875
10876
  size: "sm",
10876
10877
  onClick: saveSessionEntry
@@ -10879,7 +10880,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
10879
10880
  ])
10880
10881
  ]),
10881
10882
  _: 1
10882
- }, 8, ["heading"])) : activeTab.value === "cookies" ? (vue.openBlock(), vue.createBlock(_sfc_main$G, {
10883
+ }, 8, ["heading"])) : activeTab.value === "cookies" ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
10883
10884
  key: 2,
10884
10885
  heading: vue.unref(t)("FdsDevModeStorage.tabs.cookies"),
10885
10886
  icon: "information",
@@ -10933,12 +10934,12 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
10933
10934
  ])
10934
10935
  ]),
10935
10936
  cookieEditKey.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_52, [
10936
- vue.createVNode(_sfc_main$z, {
10937
+ vue.createVNode(_sfc_main$A, {
10937
10938
  text: vue.unref(t)("FdsDevModeStorage.actions.delete"),
10938
10939
  size: "sm",
10939
10940
  onClick: deleteCookieEntry
10940
10941
  }, null, 8, ["text"]),
10941
- vue.createVNode(_sfc_main$A, {
10942
+ vue.createVNode(_sfc_main$B, {
10942
10943
  text: vue.unref(t)("FdsDevModeStorage.actions.save"),
10943
10944
  size: "sm",
10944
10945
  onClick: saveCookieEntry
@@ -10947,7 +10948,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
10947
10948
  ])
10948
10949
  ]),
10949
10950
  _: 1
10950
- }, 8, ["heading"])) : activeTab.value === "actions" ? (vue.openBlock(), vue.createBlock(_sfc_main$G, {
10951
+ }, 8, ["heading"])) : activeTab.value === "actions" ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
10951
10952
  key: 3,
10952
10953
  heading: vue.unref(t)("FdsDevModeStorage.tabs.actions"),
10953
10954
  icon: "information",
@@ -10965,18 +10966,18 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
10965
10966
  vue.createElementVNode("div", _hoisted_57, vue.toDisplayString(action.label), 1),
10966
10967
  action.description ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_58, vue.toDisplayString(action.description), 1)) : vue.createCommentVNode("", true)
10967
10968
  ]),
10968
- vue.createVNode(_sfc_main$z, {
10969
+ vue.createVNode(_sfc_main$A, {
10969
10970
  text: action.label,
10970
10971
  size: "sm",
10971
10972
  onClick: ($event) => runAction(index, action)
10972
10973
  }, null, 8, ["text", "onClick"])
10973
10974
  ]),
10974
10975
  action.input ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_59, [
10975
- vue.createVNode(_sfc_main$r, {
10976
+ vue.createVNode(_sfc_main$s, {
10976
10977
  type: action.input.type ?? "text",
10977
10978
  modelValue: getActionInputValue(index, action.input.defaultValue),
10978
10979
  placeholder: action.input.placeholder,
10979
- "onUpdate:modelValue": ($event) => setActionInputValue(index, $event)
10980
+ "onUpdate:modelValue": ($event) => setActionInputValue(index, $event ?? "")
10980
10981
  }, null, 8, ["type", "modelValue", "placeholder", "onUpdate:modelValue"])
10981
10982
  ])) : vue.createCommentVNode("", true)
10982
10983
  ]);
@@ -10986,11 +10987,11 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
10986
10987
  _: 1
10987
10988
  }, 8, ["heading"])) : vue.createCommentVNode("", true),
10988
10989
  vue.createElementVNode("div", _hoisted_60, [
10989
- vue.createVNode(_sfc_main$z, {
10990
+ vue.createVNode(_sfc_main$A, {
10990
10991
  text: vue.unref(t)("FdsDevModeStorage.actions.refresh"),
10991
10992
  onClick: refreshStorageEntries
10992
10993
  }, null, 8, ["text"]),
10993
- vue.createVNode(_sfc_main$A, {
10994
+ vue.createVNode(_sfc_main$B, {
10994
10995
  text: vue.unref(t)("FdsDevModeStorage.actions.close"),
10995
10996
  onClick: _cache[10] || (_cache[10] = ($event) => handleOpenChange(false))
10996
10997
  }, null, 8, ["text"])
@@ -11002,11 +11003,11 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
11002
11003
  };
11003
11004
  }
11004
11005
  });
11005
- const _hoisted_1$h = { class: "relative px-2 py-1" };
11006
+ const _hoisted_1$i = { class: "relative px-2 py-1" };
11006
11007
  const _hoisted_2$d = { class: "flex flex-col sm:flex-row items-center gap-2 sm:gap-1" };
11007
11008
  const _hoisted_3$d = { class: "flex items-center gap-1" };
11008
11009
  const _hoisted_4$c = { class: "flex items-center gap-1" };
11009
- const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
11010
+ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
11010
11011
  __name: "FdsDevMode",
11011
11012
  props: /* @__PURE__ */ vue.mergeModels({
11012
11013
  environment: { default: null },
@@ -11168,8 +11169,8 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
11168
11169
  onMousedown: _cache[1] || (_cache[1] = //@ts-ignore
11169
11170
  (...args) => vue.unref(onDragStart) && vue.unref(onDragStart)(...args))
11170
11171
  }, [
11171
- vue.createElementVNode("div", _hoisted_1$h, [
11172
- vue.unref(isDevMode) ? (vue.openBlock(), vue.createBlock(_sfc_main$u, {
11172
+ vue.createElementVNode("div", _hoisted_1$i, [
11173
+ vue.unref(isDevMode) ? (vue.openBlock(), vue.createBlock(_sfc_main$v, {
11173
11174
  key: 0,
11174
11175
  environment: __props.environment,
11175
11176
  toggles: overlayToggles.value,
@@ -11179,7 +11180,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
11179
11180
  }, null, 8, ["environment", "toggles"])) : vue.createCommentVNode("", true),
11180
11181
  vue.createElementVNode("div", _hoisted_2$d, [
11181
11182
  vue.createElementVNode("div", _hoisted_3$d, [
11182
- vue.createVNode(_sfc_main$y, { "popover-class": envBannerClasses.value }, null, 8, ["popover-class"]),
11183
+ vue.createVNode(_sfc_main$z, { "popover-class": envBannerClasses.value }, null, 8, ["popover-class"]),
11183
11184
  vue.createElementVNode("span", null, vue.toDisplayString(vue.unref(environmentText)), 1)
11184
11185
  ]),
11185
11186
  vue.createElementVNode("div", _hoisted_4$c, [
@@ -11188,13 +11189,13 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
11188
11189
  (...args) => vue.unref(toggleDevMode) && vue.unref(toggleDevMode)(...args)),
11189
11190
  class: "py-1 px-2 rounded text-xs font-bold bg-white bg-opacity-20 text-black hover:bg-opacity-30 min-w-[120px] cursor-pointer"
11190
11191
  }, vue.toDisplayString(devModeButtonText.value), 1),
11191
- vue.createVNode(_sfc_main$L, {
11192
+ vue.createVNode(_sfc_main$M, {
11192
11193
  icon: "settings",
11193
11194
  size: 24,
11194
11195
  class: vue.normalizeClass(envBannerFillColor.value),
11195
11196
  onClick: openStorageModal
11196
11197
  }, null, 8, ["class"]),
11197
- vue.createVNode(_sfc_main$L, {
11198
+ vue.createVNode(_sfc_main$M, {
11198
11199
  onClick: handleEnvBanner,
11199
11200
  icon: "cross",
11200
11201
  size: 24,
@@ -11204,7 +11205,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
11204
11205
  ])
11205
11206
  ])
11206
11207
  ], 38)) : vue.createCommentVNode("", true),
11207
- vue.createVNode(_sfc_main$o, {
11208
+ vue.createVNode(_sfc_main$p, {
11208
11209
  open: isStorageModalOpen.value,
11209
11210
  "onUpdate:open": _cache[2] || (_cache[2] = ($event) => isStorageModalOpen.value = $event),
11210
11211
  customActions: __props.customActions
@@ -11213,8 +11214,8 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
11213
11214
  };
11214
11215
  }
11215
11216
  });
11216
- const _hoisted_1$g = { class: "flex justify-between gap-6 w-full" };
11217
- const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
11217
+ const _hoisted_1$h = { class: "flex justify-between gap-6 w-full" };
11218
+ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
11218
11219
  __name: "FdsExitModal",
11219
11220
  props: {
11220
11221
  showExitConfirmModal: {},
@@ -11229,7 +11230,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
11229
11230
  const props = __props;
11230
11231
  const isOpen = vue.computed(() => props.showExitConfirmModal.value);
11231
11232
  return (_ctx, _cache) => {
11232
- return vue.openBlock(), vue.createBlock(_sfc_main$t, {
11233
+ return vue.openBlock(), vue.createBlock(_sfc_main$u, {
11233
11234
  heading: props.heading,
11234
11235
  size: "sm",
11235
11236
  open: isOpen.value,
@@ -11237,13 +11238,13 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
11237
11238
  onClose: props.cancelExit
11238
11239
  }, {
11239
11240
  "modal-footer": vue.withCtx(() => [
11240
- vue.createElementVNode("div", _hoisted_1$g, [
11241
- vue.createVNode(_sfc_main$z, {
11241
+ vue.createElementVNode("div", _hoisted_1$h, [
11242
+ vue.createVNode(_sfc_main$A, {
11242
11243
  text: props.stayText,
11243
11244
  onClick: props.cancelExit,
11244
11245
  block: ""
11245
11246
  }, null, 8, ["text", "onClick"]),
11246
- vue.createVNode(_sfc_main$z, {
11247
+ vue.createVNode(_sfc_main$A, {
11247
11248
  text: props.leaveText,
11248
11249
  onClick: props.confirmExit,
11249
11250
  block: ""
@@ -11278,12 +11279,12 @@ function debounce(fn, delayMs) {
11278
11279
  };
11279
11280
  return debounced;
11280
11281
  }
11281
- const _hoisted_1$f = ["id"];
11282
+ const _hoisted_1$g = ["id"];
11282
11283
  const _hoisted_2$c = { class: "flex items-center justify-start gap-1 w-[100px]" };
11283
11284
  const _hoisted_3$c = { class: "flex items-center justify-center w-auto gap-2 order-0 sm:order-0" };
11284
11285
  const _hoisted_4$b = { class: "whitespace-nowrap" };
11285
11286
  const _hoisted_5$b = { class: "flex items-center justify-end gap-1 order-2 sm:order-0 w-[100px]" };
11286
- const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
11287
+ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
11287
11288
  __name: "FdsPagination",
11288
11289
  props: {
11289
11290
  current: {},
@@ -11373,11 +11374,11 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
11373
11374
  id: inputId.value
11374
11375
  }, rootAttrs.value), [
11375
11376
  vue.createElementVNode("div", _hoisted_2$c, [
11376
- __props.loading && loadingIndicator.value === "start" ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
11377
+ __props.loading && loadingIndicator.value === "start" ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
11377
11378
  key: 0,
11378
11379
  size: "32px",
11379
11380
  color: "blue"
11380
- })) : (vue.openBlock(), vue.createBlock(_sfc_main$L, vue.mergeProps({ key: 1 }, { "aria-disabled": __props.current === 1 }, {
11381
+ })) : (vue.openBlock(), vue.createBlock(_sfc_main$M, vue.mergeProps({ key: 1 }, { "aria-disabled": __props.current === 1 }, {
11381
11382
  type: "button",
11382
11383
  "aria-label": firstPageLabel.value,
11383
11384
  icon: "first",
@@ -11386,11 +11387,11 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
11386
11387
  class: [{ "hidden!": __props.current === 1 }, "w-8 h-8 sm:w-12 sm:h-12"],
11387
11388
  onClick: _cache[0] || (_cache[0] = ($event) => handlePagination("start"))
11388
11389
  }), null, 16, ["aria-label", "disabled", "class"])),
11389
- __props.loading && loadingIndicator.value === "prev" ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
11390
+ __props.loading && loadingIndicator.value === "prev" ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
11390
11391
  key: 2,
11391
11392
  size: "24px",
11392
11393
  color: "blue"
11393
- })) : (vue.openBlock(), vue.createBlock(_sfc_main$L, vue.mergeProps({ key: 3 }, { "aria-disabled": __props.current === 1 }, {
11394
+ })) : (vue.openBlock(), vue.createBlock(_sfc_main$M, vue.mergeProps({ key: 3 }, { "aria-disabled": __props.current === 1 }, {
11394
11395
  type: "button",
11395
11396
  "aria-label": prevPageLabel.value,
11396
11397
  icon: "arrowLeft",
@@ -11401,14 +11402,14 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
11401
11402
  }), null, 16, ["aria-label", "disabled", "class"]))
11402
11403
  ]),
11403
11404
  vue.createElementVNode("div", _hoisted_3$c, [
11404
- __props.loading && loadingIndicator.value === "input" ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
11405
+ __props.loading && loadingIndicator.value === "input" ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
11405
11406
  key: 0,
11406
11407
  size: "24px",
11407
11408
  color: "blue",
11408
11409
  label: loadingLabel.value,
11409
11410
  "label-position": "right"
11410
11411
  }, null, 8, ["label"])) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
11411
- vue.createVNode(_sfc_main$r, {
11412
+ vue.createVNode(_sfc_main$s, {
11412
11413
  style: { "text-align": "center" },
11413
11414
  value: inputValue.value,
11414
11415
  type: "text",
@@ -11422,11 +11423,11 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
11422
11423
  ], 64))
11423
11424
  ]),
11424
11425
  vue.createElementVNode("div", _hoisted_5$b, [
11425
- __props.loading && loadingIndicator.value === "next" ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
11426
+ __props.loading && loadingIndicator.value === "next" ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
11426
11427
  key: 0,
11427
11428
  size: "24px",
11428
11429
  color: "blue"
11429
- })) : (vue.openBlock(), vue.createBlock(_sfc_main$L, vue.mergeProps({
11430
+ })) : (vue.openBlock(), vue.createBlock(_sfc_main$M, vue.mergeProps({
11430
11431
  key: 1,
11431
11432
  type: "button",
11432
11433
  "aria-label": nextPageLabel.value,
@@ -11437,11 +11438,11 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
11437
11438
  class: [{ "hidden!": __props.current === __props.max }, "w-8 h-8 sm:w-12 sm:h-12"],
11438
11439
  onClick: _cache[2] || (_cache[2] = ($event) => handlePagination("next"))
11439
11440
  }), null, 16, ["aria-label", "disabled", "class"])),
11440
- __props.loading && loadingIndicator.value === "end" ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
11441
+ __props.loading && loadingIndicator.value === "end" ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
11441
11442
  key: 2,
11442
11443
  size: "24px",
11443
11444
  color: "blue"
11444
- })) : (vue.openBlock(), vue.createBlock(_sfc_main$L, vue.mergeProps({
11445
+ })) : (vue.openBlock(), vue.createBlock(_sfc_main$M, vue.mergeProps({
11445
11446
  key: 3,
11446
11447
  type: "button",
11447
11448
  "aria-label": lastPageLabel.value,
@@ -11453,11 +11454,11 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
11453
11454
  onClick: _cache[3] || (_cache[3] = ($event) => handlePagination("end"))
11454
11455
  }), null, 16, ["aria-label", "disabled", "class"]))
11455
11456
  ])
11456
- ], 16, _hoisted_1$f);
11457
+ ], 16, _hoisted_1$g);
11457
11458
  };
11458
11459
  }
11459
11460
  });
11460
- const _hoisted_1$e = { class: "inline-flex" };
11461
+ const _hoisted_1$f = { class: "inline-flex" };
11461
11462
  const _hoisted_2$b = ["onKeydown"];
11462
11463
  const _hoisted_3$b = ["aria-label"];
11463
11464
  const _hoisted_4$a = { class: "mb-1 flex items-start justify-between gap-2" };
@@ -11467,7 +11468,7 @@ const _hoisted_6$7 = {
11467
11468
  class: "flex items-center gap-2"
11468
11469
  };
11469
11470
  const _hoisted_7$7 = { class: "mb-0! min-w-0 grow whitespace-normal wrap-break-word" };
11470
- const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
11471
+ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
11471
11472
  __name: "FdsPopover",
11472
11473
  props: {
11473
11474
  open: { type: Boolean, default: false },
@@ -11575,7 +11576,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
11575
11576
  return attrs;
11576
11577
  });
11577
11578
  return (_ctx, _cache) => {
11578
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
11579
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
11579
11580
  vue.createElementVNode("span", {
11580
11581
  class: vue.normalizeClass(triggerClasses.value),
11581
11582
  style: vue.normalizeStyle(triggerStyle.value)
@@ -11603,13 +11604,13 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
11603
11604
  }, { ...popoverAttrs.value, popover: "auto" }), [
11604
11605
  __props.label ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
11605
11606
  vue.createElementVNode("div", _hoisted_4$a, [
11606
- vue.createVNode(_sfc_main$v, { class: "mb-0! min-w-0 grow balance-text whitespace-normal" }, {
11607
+ vue.createVNode(_sfc_main$w, { class: "mb-0! min-w-0 grow balance-text whitespace-normal" }, {
11607
11608
  default: vue.withCtx(() => [
11608
11609
  vue.createTextVNode(vue.toDisplayString(__props.label), 1)
11609
11610
  ]),
11610
11611
  _: 1
11611
11612
  }),
11612
- vue.createVNode(_sfc_main$L, {
11613
+ vue.createVNode(_sfc_main$M, {
11613
11614
  icon: "cross",
11614
11615
  size: 28,
11615
11616
  "aria-label": __props.closeAriaLabel,
@@ -11627,7 +11628,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
11627
11628
  vue.createTextVNode(vue.toDisplayString(__props.body), 1)
11628
11629
  ])
11629
11630
  ]),
11630
- vue.createVNode(_sfc_main$L, {
11631
+ vue.createVNode(_sfc_main$M, {
11631
11632
  icon: "cross",
11632
11633
  size: 28,
11633
11634
  "aria-label": __props.closeAriaLabel,
@@ -11712,7 +11713,7 @@ function useIsPid(value) {
11712
11713
  isPid
11713
11714
  };
11714
11715
  }
11715
- const _hoisted_1$d = { class: "relative block" };
11716
+ const _hoisted_1$e = { class: "relative block" };
11716
11717
  const _hoisted_2$a = {
11717
11718
  key: 0,
11718
11719
  class: "relative"
@@ -11732,7 +11733,7 @@ const _hoisted_10$2 = {
11732
11733
  class: "block m-0 list-none p-0"
11733
11734
  };
11734
11735
  const _hoisted_11$2 = { class: "p-4" };
11735
- const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
11736
+ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
11736
11737
  __name: "FdsSearchSelect",
11737
11738
  props: {
11738
11739
  items: { default: () => [] },
@@ -12122,10 +12123,10 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
12122
12123
  ref: componentRef,
12123
12124
  class: "fds-search-select block mb-6"
12124
12125
  }, rootAttrs.value), [
12125
- vue.createElementVNode("div", _hoisted_1$d, [
12126
+ vue.createElementVNode("div", _hoisted_1$e, [
12126
12127
  !singleItemName.value.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$a, [
12127
12128
  vue.createElementVNode("div", _hoisted_3$a, [
12128
- vue.createVNode(_sfc_main$r, vue.mergeProps({
12129
+ vue.createVNode(_sfc_main$s, vue.mergeProps({
12129
12130
  ref_key: "inputComponentRef",
12130
12131
  ref: inputComponentRef,
12131
12132
  label: __props.label,
@@ -12159,7 +12160,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
12159
12160
  style: vue.normalizeStyle(listWrapperStyle.value)
12160
12161
  }, [
12161
12162
  __props.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$6, [
12162
- vue.createVNode(_sfc_main$E, {
12163
+ vue.createVNode(_sfc_main$F, {
12163
12164
  color: "blue",
12164
12165
  size: "48px"
12165
12166
  })
@@ -12203,7 +12204,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
12203
12204
  ], 42, _hoisted_7$6);
12204
12205
  }), 128))
12205
12206
  ], 32),
12206
- __props.page !== void 0 && totalPages.value !== null && totalPages.value > 1 ? (vue.openBlock(), vue.createBlock(_sfc_main$l, {
12207
+ __props.page !== void 0 && totalPages.value !== null && totalPages.value > 1 ? (vue.openBlock(), vue.createBlock(_sfc_main$m, {
12207
12208
  key: 2,
12208
12209
  current: __props.page,
12209
12210
  max: totalPages.value,
@@ -12551,7 +12552,7 @@ const useSearchSelectProItems = ({
12551
12552
  syncSelectedItemsWithItems
12552
12553
  };
12553
12554
  };
12554
- const _hoisted_1$c = { class: "relative block" };
12555
+ const _hoisted_1$d = { class: "relative block" };
12555
12556
  const _hoisted_2$9 = { class: "relative" };
12556
12557
  const _hoisted_3$9 = { class: "relative" };
12557
12558
  const _hoisted_4$8 = { class: "flex items-center gap-2" };
@@ -12571,7 +12572,7 @@ const _hoisted_12 = {
12571
12572
  };
12572
12573
  const _hoisted_13 = { class: "p-3 flex items-center gap-2" };
12573
12574
  const _hoisted_14 = { key: 0 };
12574
- const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
12575
+ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
12575
12576
  __name: "FdsSearchSelectPro",
12576
12577
  props: {
12577
12578
  items: { default: () => [] },
@@ -13231,10 +13232,10 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
13231
13232
  ref: componentRef,
13232
13233
  class: "fds-search-select block mb-6"
13233
13234
  }, rootAttrs.value), [
13234
- vue.createElementVNode("div", _hoisted_1$c, [
13235
+ vue.createElementVNode("div", _hoisted_1$d, [
13235
13236
  vue.createElementVNode("div", _hoisted_2$9, [
13236
13237
  vue.createElementVNode("div", _hoisted_3$9, [
13237
- vue.createVNode(_sfc_main$r, vue.mergeProps({
13238
+ vue.createVNode(_sfc_main$s, vue.mergeProps({
13238
13239
  ref_key: "inputComponentRef",
13239
13240
  ref: inputComponentRef,
13240
13241
  label: __props.label,
@@ -13270,19 +13271,19 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
13270
13271
  class: vue.normalizeClass([headerClasses.value, "flex items-center justify-between gap-3 min-h-[53px]"])
13271
13272
  }, [
13272
13273
  vue.createElementVNode("div", _hoisted_4$8, [
13273
- vue.createVNode(_sfc_main$s, null, {
13274
+ vue.createVNode(_sfc_main$t, null, {
13274
13275
  default: vue.withCtx(() => [
13275
13276
  vue.createTextVNode(vue.toDisplayString(searchTerm.value && searchTerm.value.length ? `${totalMatchingItems.value} ${__props.searchContext.linkWord} ${totalCount.value} ${__props.searchContext.context}` : `${totalCount.value} ${__props.searchContext.context}`), 1)
13276
13277
  ]),
13277
13278
  _: 1
13278
13279
  }),
13279
- isSearching.value ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
13280
+ isSearching.value ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
13280
13281
  key: 0,
13281
13282
  color: "blue",
13282
13283
  size: "20px"
13283
13284
  })) : vue.createCommentVNode("", true)
13284
13285
  ]),
13285
- __props.multiple && __props.showSelectedToggle && selectedItems.value.length > 0 ? (vue.openBlock(), vue.createBlock(_sfc_main$x, {
13286
+ __props.multiple && __props.showSelectedToggle && selectedItems.value.length > 0 ? (vue.openBlock(), vue.createBlock(_sfc_main$y, {
13286
13287
  key: 0,
13287
13288
  label: `${__props.selectedToggleLabel} (${selectedItems.value.length})`,
13288
13289
  checked: showSelectedOnly.value,
@@ -13317,7 +13318,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
13317
13318
  class: vue.normalizeClass([labelClasses.value, listItemClasses.value]),
13318
13319
  style: vue.normalizeStyle(vue.unref(optionPaddingStyle)(item))
13319
13320
  }, [
13320
- __props.multiple ? (vue.openBlock(), vue.createBlock(_sfc_main$x, {
13321
+ __props.multiple ? (vue.openBlock(), vue.createBlock(_sfc_main$y, {
13321
13322
  key: 0,
13322
13323
  id: `search-select-radio-${index}`,
13323
13324
  name: `search-select-checkbox-group-${inputId}`,
@@ -13334,7 +13335,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
13334
13335
  }, null, 8, _hoisted_8$3)
13335
13336
  ]),
13336
13337
  _: 2
13337
- }, 1032, ["id", "name", "checked", "onChange"])) : (vue.openBlock(), vue.createBlock(_sfc_main$w, {
13338
+ }, 1032, ["id", "name", "checked", "onChange"])) : (vue.openBlock(), vue.createBlock(_sfc_main$x, {
13338
13339
  key: 1,
13339
13340
  id: `search-select-radio-${index}`,
13340
13341
  name: "search-select-radio-group",
@@ -13369,7 +13370,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
13369
13370
  _cache[2] || (_cache[2] = vue.withKeys(vue.withModifiers(($event) => !__props.loadingMore && handleLoadMore(), ["prevent"]), ["space"]))
13370
13371
  ]
13371
13372
  }, [
13372
- vue.createVNode(_sfc_main$L, {
13373
+ vue.createVNode(_sfc_main$M, {
13373
13374
  icon: "sync",
13374
13375
  loading: __props.loadingMore,
13375
13376
  "aria-label": __props.loadingMore ? resolvedLoadingMoreLabel.value : resolvedLoadMoreLabel.value,
@@ -13383,7 +13384,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
13383
13384
  ], 64)) : (vue.openBlock(), vue.createElementBlock("ul", _hoisted_12, [
13384
13385
  vue.createElementVNode("li", _hoisted_13, [
13385
13386
  !isSearching.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_14, vue.toDisplayString(__props.noResultPrompt), 1)) : vue.createCommentVNode("", true),
13386
- isSearching.value ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
13387
+ isSearching.value ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
13387
13388
  key: 1,
13388
13389
  color: "blue",
13389
13390
  size: "20px"
@@ -13896,7 +13897,7 @@ const useTreeState = (options = {}) => {
13896
13897
  isEmptySearchResult
13897
13898
  };
13898
13899
  };
13899
- const _hoisted_1$b = { class: "flex items-start" };
13900
+ const _hoisted_1$c = { class: "flex items-start" };
13900
13901
  const _hoisted_2$8 = { class: "flex-1 flex" };
13901
13902
  const _hoisted_3$8 = ["innerHTML"];
13902
13903
  const _hoisted_4$7 = { key: 1 };
@@ -13910,7 +13911,7 @@ const _hoisted_8$2 = ["onClick"];
13910
13911
  const _hoisted_9$1 = { key: 0 };
13911
13912
  const popoverWidth = 327;
13912
13913
  const popoverHeight = 80;
13913
- const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
13914
+ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
13914
13915
  ...{
13915
13916
  name: "TreeNode"
13916
13917
  },
@@ -14128,8 +14129,8 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
14128
14129
  style: vue.normalizeStyle(indent.value),
14129
14130
  class: vue.normalizeClass("pt-2 pb-2")
14130
14131
  }, [
14131
- vue.createElementVNode("div", _hoisted_1$b, [
14132
- hasChildrenNodes.value ? (vue.openBlock(), vue.createBlock(_sfc_main$L, vue.mergeProps({
14132
+ vue.createElementVNode("div", _hoisted_1$c, [
14133
+ hasChildrenNodes.value ? (vue.openBlock(), vue.createBlock(_sfc_main$M, vue.mergeProps({
14133
14134
  key: 0,
14134
14135
  onClick: _cache[0] || (_cache[0] = ($event) => vue.unref(treeState)?.toggleExpandNode(props.nodeId))
14135
14136
  }, { "aria-label": props.title ? childrenToggleAriaLabel(props.title) : void 0 }, {
@@ -14142,7 +14143,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
14142
14143
  style: vue.normalizeStyle({ minWidth: `${__props.indentation}px` })
14143
14144
  }, null, 4)) : vue.createCommentVNode("", true),
14144
14145
  vue.createElementVNode("div", _hoisted_2$8, [
14145
- vue.createVNode(_sfc_main$x, {
14146
+ vue.createVNode(_sfc_main$y, {
14146
14147
  id: `checkbox-${props.nodeId}`,
14147
14148
  checked: nodeIsSelected.value,
14148
14149
  indeterminate: nodeIsIndeterminate.value,
@@ -14161,7 +14162,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
14161
14162
  }, 8, ["id", "checked", "indeterminate"])
14162
14163
  ]),
14163
14164
  shouldShowPopoverActions.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$4, [
14164
- vue.createVNode(_sfc_main$L, vue.mergeProps({
14165
+ vue.createVNode(_sfc_main$M, vue.mergeProps({
14165
14166
  ref_key: "triggerRef",
14166
14167
  ref: triggerRef,
14167
14168
  icon: "more",
@@ -14209,7 +14210,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
14209
14210
  },
14210
14211
  class: "cursor-pointer"
14211
14212
  }, [
14212
- vue.createVNode(_sfc_main$w, {
14213
+ vue.createVNode(_sfc_main$x, {
14213
14214
  modelValue: selectedOption.value,
14214
14215
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => selectedOption.value = $event),
14215
14216
  id: `tree-popover-${props.nodeId}-${option.value}`,
@@ -14221,7 +14222,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
14221
14222
  ], 8, _hoisted_8$2);
14222
14223
  }), 64))
14223
14224
  ]),
14224
- vue.createVNode(_sfc_main$L, vue.mergeProps({
14225
+ vue.createVNode(_sfc_main$M, vue.mergeProps({
14225
14226
  icon: "cross",
14226
14227
  id: "tree-popover-close-button",
14227
14228
  size: 24,
@@ -14268,7 +14269,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
14268
14269
  };
14269
14270
  }
14270
14271
  });
14271
- const _hoisted_1$a = { key: 0 };
14272
+ const _hoisted_1$b = { key: 0 };
14272
14273
  const _hoisted_2$7 = {
14273
14274
  key: 0,
14274
14275
  class: "text-xl"
@@ -14277,7 +14278,7 @@ const _hoisted_3$7 = {
14277
14278
  key: 1,
14278
14279
  class: "text-xl"
14279
14280
  };
14280
- const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
14281
+ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
14281
14282
  __name: "FdsTreeView",
14282
14283
  props: {
14283
14284
  nodeExpandIcon: {},
@@ -14371,7 +14372,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
14371
14372
  ref: searchContainerRef,
14372
14373
  class: "pb-4"
14373
14374
  }, [
14374
- vue.createVNode(_sfc_main$r, {
14375
+ vue.createVNode(_sfc_main$s, {
14375
14376
  value: vue.unref(treeState)?.searchTerm?.value ?? "",
14376
14377
  onInput: _cache[0] || (_cache[0] = ($event) => vue.unref(treeState)?.setSearchTerm($event.target.value)),
14377
14378
  class: "w-full",
@@ -14384,11 +14385,11 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
14384
14385
  ])]),
14385
14386
  _: 1
14386
14387
  }, 8, ["value", "label"]),
14387
- props.searchCountTemplate || props.searchCountTemplateUnfiltered ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
14388
+ props.searchCountTemplate || props.searchCountTemplateUnfiltered ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
14388
14389
  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$7, 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$7, vue.toDisplayString(props.searchCountTemplateUnfiltered?.replace("[[totalNodes]]", totalNodeCount.value.toString()).replace("[[totalNodes]]", totalNodeCount.value.toString())), 1))
14389
14390
  ])) : vue.createCommentVNode("", true)
14390
14391
  ], 512)) : vue.createCommentVNode("", true),
14391
- vue.unref(treeState)?.isEmptySearchResult?.value ? (vue.openBlock(), vue.createBlock(_sfc_main$J, {
14392
+ vue.unref(treeState)?.isEmptySearchResult?.value ? (vue.openBlock(), vue.createBlock(_sfc_main$K, {
14392
14393
  key: 1,
14393
14394
  class: "mt-4"
14394
14395
  }, {
@@ -14396,7 +14397,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
14396
14397
  vue.createTextVNode(vue.toDisplayString(props.searchResultNoMatchesTitle), 1)
14397
14398
  ]),
14398
14399
  default: vue.withCtx(() => [
14399
- vue.createVNode(_sfc_main$s, null, {
14400
+ vue.createVNode(_sfc_main$t, null, {
14400
14401
  default: vue.withCtx(() => [
14401
14402
  vue.createTextVNode(vue.toDisplayString(props.searchResultNoMatchesBody), 1)
14402
14403
  ]),
@@ -14408,7 +14409,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
14408
14409
  vue.createElementVNode("div", {
14409
14410
  class: vue.normalizeClass(["rounded-md", { "overflow-x-auto bg-white-solid": props.horizontalScroll }])
14410
14411
  }, [
14411
- props.data && !vue.unref(treeState)?.isEmptySearchResult?.value ? (vue.openBlock(), vue.createBlock(_sfc_main$h, {
14412
+ props.data && !vue.unref(treeState)?.isEmptySearchResult?.value ? (vue.openBlock(), vue.createBlock(_sfc_main$i, {
14412
14413
  key: 0,
14413
14414
  style: { container: "bg-white-solid px-3 py-2" },
14414
14415
  nodes: props.data.children || [],
@@ -14439,8 +14440,8 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
14439
14440
  };
14440
14441
  }
14441
14442
  });
14442
- const _hoisted_1$9 = { key: 1 };
14443
- const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
14443
+ const _hoisted_1$a = { key: 1 };
14444
+ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
14444
14445
  __name: "FdsTruncatedText",
14445
14446
  props: {
14446
14447
  open: { type: Boolean, default: false },
@@ -14488,7 +14489,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
14488
14489
  return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({ class: "block mb-4" }, rootAttrs.value), [
14489
14490
  hasContent.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
14490
14491
  vue.createElementVNode("span", null, vue.toDisplayString(truncatedText.value), 1),
14491
- isTruncated.value ? (vue.openBlock(), vue.createBlock(_sfc_main$D, {
14492
+ isTruncated.value ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
14492
14493
  key: 0,
14493
14494
  icon: isOpen.value ? "arrowUp" : "arrowDown",
14494
14495
  iconPos: "right",
@@ -14496,7 +14497,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
14496
14497
  onClick: toggleComponent,
14497
14498
  class: "inline! ml-2"
14498
14499
  }, null, 8, ["icon", "text"])) : vue.createCommentVNode("", true)
14499
- ], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
14500
+ ], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
14500
14501
  vue.renderSlot(_ctx.$slots, "default")
14501
14502
  ]))
14502
14503
  ], 16);
@@ -16079,8 +16080,8 @@ const checkIfDateIsBeforeToday = (date) => {
16079
16080
  return isAfter(startOfToday, startOfDate);
16080
16081
  };
16081
16082
  const checkIfDateIsEnabled = (date, enabledDates) => enabledDates.some((enabledDate) => isSameDay(enabledDate, date));
16082
- const _hoisted_1$8 = ["disabled", "aria-label"];
16083
- const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
16083
+ const _hoisted_1$9 = ["disabled", "aria-label"];
16084
+ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
16084
16085
  __name: "WeekDay",
16085
16086
  props: {
16086
16087
  date: {},
@@ -16143,23 +16144,23 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
16143
16144
  vue.createElementVNode("span", {
16144
16145
  class: vue.normalizeClass(weekdayLabelClasses.value)
16145
16146
  }, [
16146
- __props.isToday ? (vue.openBlock(), vue.createBlock(_sfc_main$s, { key: 0 }, {
16147
+ __props.isToday ? (vue.openBlock(), vue.createBlock(_sfc_main$t, { key: 0 }, {
16147
16148
  default: vue.withCtx(() => [
16148
16149
  vue.createTextVNode(vue.toDisplayString(vue.unref(t)("FdsWeekCalendar.today")), 1)
16149
16150
  ]),
16150
16151
  _: 1
16151
- })) : (vue.openBlock(), vue.createBlock(_sfc_main$s, { key: 1 }, {
16152
+ })) : (vue.openBlock(), vue.createBlock(_sfc_main$t, { key: 1 }, {
16152
16153
  default: vue.withCtx(() => [
16153
16154
  vue.createTextVNode(vue.toDisplayString(weekdayLabel.value), 1)
16154
16155
  ]),
16155
16156
  _: 1
16156
16157
  }))
16157
16158
  ], 2)
16158
- ], 10, _hoisted_1$8);
16159
+ ], 10, _hoisted_1$9);
16159
16160
  };
16160
16161
  }
16161
16162
  });
16162
- const _hoisted_1$7 = { class: "mb-6" };
16163
+ const _hoisted_1$8 = { class: "mb-6" };
16163
16164
  const _hoisted_2$6 = { class: "max-w-[487px]" };
16164
16165
  const _hoisted_3$6 = { class: "mb-3 flex w-full flex-row items-center" };
16165
16166
  const _hoisted_4$6 = { class: "m-0 font-bold text-gray-800" };
@@ -16170,7 +16171,7 @@ const _hoisted_7$3 = {
16170
16171
  class: "mt-6 flex w-full flex-row items-center gap-2"
16171
16172
  };
16172
16173
  const _hoisted_8$1 = { class: "m-0 font-bold text-blue-700" };
16173
- const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
16174
+ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
16174
16175
  __name: "FdsWeekCalendar",
16175
16176
  props: {
16176
16177
  loading: { default: void 0 },
@@ -16303,18 +16304,18 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
16303
16304
  const isWeekDayDisabled = (weekDay) => checkIfDateIsBeforeToday(weekDay) || !checkIfDateIsEnabled(weekDay, props.enabledDates);
16304
16305
  const isTodayDate = (weekDay) => isSameDay(weekDay, /* @__PURE__ */ new Date());
16305
16306
  return (_ctx, _cache) => {
16306
- return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$7, [
16307
+ return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$8, [
16307
16308
  vue.createElementVNode("div", _hoisted_2$6, [
16308
16309
  vue.createElementVNode("div", _hoisted_3$6, [
16309
16310
  vue.createElementVNode("p", _hoisted_4$6, vue.toDisplayString(weekText.value), 1),
16310
16311
  vue.createElementVNode("div", _hoisted_5$6, [
16311
- vue.createVNode(_sfc_main$L, {
16312
+ vue.createVNode(_sfc_main$M, {
16312
16313
  icon: "arrowLeft",
16313
16314
  disabled: disableLastWeekInteraction.value,
16314
16315
  "aria-label": vue.unref(t)("FdsWeekCalendar.previousWeek"),
16315
16316
  onClick: decrementWeek
16316
16317
  }, null, 8, ["disabled", "aria-label"]),
16317
- vue.createVNode(_sfc_main$L, {
16318
+ vue.createVNode(_sfc_main$M, {
16318
16319
  icon: "arrowRight",
16319
16320
  disabled: disableNextWeekInteraction.value,
16320
16321
  "aria-label": vue.unref(t)("FdsWeekCalendar.nextWeek"),
@@ -16335,7 +16336,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
16335
16336
  class: "flex flex-row flex-nowrap items-center justify-start gap-x-px"
16336
16337
  }, [
16337
16338
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(visibleWeekDays.value, (weekDay, _index) => {
16338
- return vue.openBlock(), vue.createBlock(_sfc_main$e, {
16339
+ return vue.openBlock(), vue.createBlock(_sfc_main$f, {
16339
16340
  key: `current-${weekDay.toISOString()}-${_index}`,
16340
16341
  date: weekDay,
16341
16342
  disabled: isWeekDayDisabled(weekDay),
@@ -16350,7 +16351,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
16350
16351
  }, 8, ["enter-active-class", "leave-active-class", "enter-from-class", "leave-to-class"])
16351
16352
  ]),
16352
16353
  __props.loading?.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$3, [
16353
- vue.createVNode(_sfc_main$E),
16354
+ vue.createVNode(_sfc_main$F),
16354
16355
  vue.createElementVNode("p", _hoisted_8$1, vue.toDisplayString(__props.loading.label), 1)
16355
16356
  ])) : vue.createCommentVNode("", true)
16356
16357
  ])
@@ -16358,7 +16359,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
16358
16359
  };
16359
16360
  }
16360
16361
  });
16361
- const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
16362
+ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
16362
16363
  ...{
16363
16364
  inheritAttrs: false
16364
16365
  },
@@ -16404,7 +16405,7 @@ const hasStepLabelOverlap = (labels, minGapBeforeHidePx = STEP_LABEL_MIN_GAP_BEF
16404
16405
  }
16405
16406
  return false;
16406
16407
  };
16407
- const _hoisted_1$6 = { class: "mb-6" };
16408
+ const _hoisted_1$7 = { class: "mb-6" };
16408
16409
  const _hoisted_2$5 = {
16409
16410
  key: 0,
16410
16411
  class: "mb-0"
@@ -16417,7 +16418,7 @@ const _hoisted_4$5 = { class: "h-[2px] absolute top-[22px] left-[50%] bg-white-s
16417
16418
  const _hoisted_5$5 = { class: "flex justify-between list-none mb-8 p-0" };
16418
16419
  const _hoisted_6$2 = ["onClick", "disabled"];
16419
16420
  const _hoisted_7$2 = { key: 0 };
16420
- const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
16421
+ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
16421
16422
  __name: "FdsWizard",
16422
16423
  props: {
16423
16424
  routes: {},
@@ -16773,12 +16774,12 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
16773
16774
  vue.createElementVNode("nav", {
16774
16775
  class: vue.normalizeClass([__props.wizardClass, "mx-auto"])
16775
16776
  }, [
16776
- vue.createElementVNode("header", _hoisted_1$6, [
16777
+ vue.createElementVNode("header", _hoisted_1$7, [
16777
16778
  vue.createElementVNode("h1", {
16778
16779
  ref: "mainHeader",
16779
16780
  tabindex: "-1"
16780
16781
  }, vue.toDisplayString(mainHeading.value), 513),
16781
- mainLead.value || subCategories.value.length > 0 ? (vue.openBlock(), vue.createBlock(_sfc_main$c, { key: 0 }, {
16782
+ mainLead.value || subCategories.value.length > 0 ? (vue.openBlock(), vue.createBlock(_sfc_main$d, { key: 0 }, {
16782
16783
  default: vue.withCtx(() => [
16783
16784
  mainLead.value ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$5, vue.toDisplayString(mainLead.value), 1)) : vue.createCommentVNode("", true),
16784
16785
  subCategories.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_3$5, [
@@ -16787,7 +16788,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
16787
16788
  key: subCat.id,
16788
16789
  class: "list-inside list-disc mb-2"
16789
16790
  }, [
16790
- vue.createVNode(_sfc_main$c, { class: "inline!" }, {
16791
+ vue.createVNode(_sfc_main$d, { class: "inline!" }, {
16791
16792
  default: vue.withCtx(() => [
16792
16793
  vue.createTextVNode(vue.toDisplayString(subCat.name), 1)
16793
16794
  ]),
@@ -16831,7 +16832,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
16831
16832
  vue.createElementVNode("span", {
16832
16833
  class: vue.normalizeClass(["relative mb-6 flex flex-col items-center text-blue-600 font-bold justify-center transition-all duration-200 ease-in-out rounded-full w-[44px] h-[44px] bg-white-solid", setStepClasses(entry.index)])
16833
16834
  }, [
16834
- entry.index >= internalCompletedTo.value + 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$2, vue.toDisplayString(entry.index + 1), 1)) : (vue.openBlock(), vue.createBlock(_sfc_main$M, {
16835
+ entry.index >= internalCompletedTo.value + 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$2, vue.toDisplayString(entry.index + 1), 1)) : (vue.openBlock(), vue.createBlock(_sfc_main$N, {
16835
16836
  key: 1,
16836
16837
  name: "checkmark",
16837
16838
  size: 24
@@ -18694,7 +18695,7 @@ const normalizeNationalPhoneInput = (value, countryIso2) => {
18694
18695
  }
18695
18696
  return trimmed;
18696
18697
  };
18697
- const _hoisted_1$5 = { class: "relative w-full" };
18698
+ const _hoisted_1$6 = { class: "relative w-full" };
18698
18699
  const _hoisted_2$4 = { class: "absolute left-3 top-1/2 -translate-y-1/2 text-xl leading-none" };
18699
18700
  const _hoisted_3$4 = ["aria-expanded", "aria-label", "aria-controls", "aria-activedescendant", "value", "disabled"];
18700
18701
  const _hoisted_4$4 = ["disabled"];
@@ -18708,7 +18709,7 @@ const _hoisted_9 = {
18708
18709
  };
18709
18710
  const _hoisted_10 = { class: "text-gray-600" };
18710
18711
  const _hoisted_11 = { "aria-hidden": "true" };
18711
- const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
18712
+ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
18712
18713
  __name: "FdsPhonenumberCountryPicker",
18713
18714
  props: /* @__PURE__ */ vue.mergeModels({
18714
18715
  items: {},
@@ -18981,7 +18982,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
18981
18982
  ref: rootRef,
18982
18983
  class: vue.normalizeClass(["relative w-32", props.class])
18983
18984
  }, [
18984
- vue.createElementVNode("div", _hoisted_1$5, [
18985
+ vue.createElementVNode("div", _hoisted_1$6, [
18985
18986
  !dropdownOpen.value ? (vue.openBlock(), vue.createElementBlock("div", {
18986
18987
  key: 0,
18987
18988
  class: vue.normalizeClass(dialPreviewClasses.value),
@@ -19019,7 +19020,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
19019
19020
  "aria-hidden": "true",
19020
19021
  onMousedown: vue.withModifiers(onArrowPointerDown, ["prevent"])
19021
19022
  }, [
19022
- vue.createVNode(_sfc_main$M, {
19023
+ vue.createVNode(_sfc_main$N, {
19023
19024
  name: "arrowDown",
19024
19025
  size: 24,
19025
19026
  class: vue.normalizeClass(arrowClasses.value)
@@ -19061,7 +19062,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
19061
19062
  vue.createElementVNode("span", _hoisted_10, "(" + vue.toDisplayString(vue.unref(t)("common.plus")) + vue.toDisplayString(option.countryCode) + ")", 1)
19062
19063
  ]),
19063
19064
  vue.createElementVNode("span", _hoisted_11, [
19064
- option.value === country.value ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
19065
+ option.value === country.value ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
19065
19066
  key: 0,
19066
19067
  name: "check",
19067
19068
  size: 24,
@@ -19076,7 +19077,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
19076
19077
  };
19077
19078
  }
19078
19079
  });
19079
- const INVALID_RESULT = {
19080
+ const INVALID_RESULT$1 = {
19080
19081
  isValid: false,
19081
19082
  phoneNumber: null,
19082
19083
  countryIso2: null,
@@ -19119,12 +19120,12 @@ function runPhoneValidation(value, countryIso2) {
19119
19120
  return toValidationResult(parsed);
19120
19121
  }
19121
19122
  }
19122
- return INVALID_RESULT;
19123
+ return INVALID_RESULT$1;
19123
19124
  }
19124
19125
  function validatePhoneNumber(nationalNumber, countryIso2) {
19125
19126
  const trimmed = nationalNumber.trim();
19126
19127
  if (!trimmed) {
19127
- return INVALID_RESULT;
19128
+ return INVALID_RESULT$1;
19128
19129
  }
19129
19130
  return runPhoneValidation(trimmed, countryIso2);
19130
19131
  }
@@ -19134,7 +19135,7 @@ function getPhoneValidationState(nationalNumber, countryIso2) {
19134
19135
  }
19135
19136
  return validatePhoneNumber(nationalNumber, countryIso2).isValid;
19136
19137
  }
19137
- const _hoisted_1$4 = { class: "w-full mb-6" };
19138
+ const _hoisted_1$5 = { class: "w-full mb-6" };
19138
19139
  const _hoisted_2$3 = {
19139
19140
  key: 1,
19140
19141
  class: "font-thin mb-1"
@@ -19148,7 +19149,7 @@ const _hoisted_5$3 = {
19148
19149
  key: 3,
19149
19150
  class: "text-red-700 font-bold mt-1"
19150
19151
  };
19151
- const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
19152
+ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
19152
19153
  ...{
19153
19154
  inheritAttrs: false
19154
19155
  },
@@ -19280,14 +19281,14 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
19280
19281
  emit("noCountryResults", value);
19281
19282
  }
19282
19283
  return (_ctx, _cache) => {
19283
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
19284
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
19284
19285
  resolvedLabel.value ? (vue.openBlock(), vue.createElementBlock("label", {
19285
19286
  key: 0,
19286
19287
  class: vue.normalizeClass(["block font-bold text-gray-900 cursor-pointer", { "mb-0": __props.meta, "mb-1": !__props.meta }])
19287
19288
  }, vue.toDisplayString(resolvedLabel.value), 3)) : vue.createCommentVNode("", true),
19288
19289
  __props.meta ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$3, vue.toDisplayString(__props.meta), 1)) : vue.createCommentVNode("", true),
19289
19290
  vue.createElementVNode("div", _hoisted_3$3, [
19290
- vue.createVNode(_sfc_main$a, {
19291
+ vue.createVNode(_sfc_main$b, {
19291
19292
  modelValue: country.value,
19292
19293
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => country.value = $event),
19293
19294
  items: countryItems.value,
@@ -19298,7 +19299,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
19298
19299
  class: vue.normalizeClass(["mb-0! shrink-0", __props.selectClass ?? ""]),
19299
19300
  onNoCountryResults
19300
19301
  }, null, 8, ["modelValue", "items", "valid", "disabled", "ariaLabel", "data-testid", "class"]),
19301
- vue.createVNode(_sfc_main$r, vue.mergeProps({
19302
+ vue.createVNode(_sfc_main$s, vue.mergeProps({
19302
19303
  modelValue: vue.unref(nationalNumber),
19303
19304
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(nationalNumber) ? nationalNumber.value = $event : null),
19304
19305
  mask: phoneMask.value,
@@ -19317,6 +19318,474 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
19317
19318
  };
19318
19319
  }
19319
19320
  });
19321
+ const SSN_MASK = "000000000000";
19322
+ const SSN_INTERIM_MASK = "XXXXXXXXXXXX";
19323
+ const SSN_INTERIM_MASK_OPTIONS = {
19324
+ lazy: true,
19325
+ definitions: {
19326
+ X: /[0-9A-Za-z]/
19327
+ }
19328
+ };
19329
+ function getSsnMask(allowInterimNumber) {
19330
+ return allowInterimNumber ? SSN_INTERIM_MASK : SSN_MASK;
19331
+ }
19332
+ function getSsnMaskOptions(allowInterimNumber) {
19333
+ return allowInterimNumber ? SSN_INTERIM_MASK_OPTIONS : { lazy: true };
19334
+ }
19335
+ var PersonnummerError = class extends Error {
19336
+ constructor() {
19337
+ super("Invalid swedish personal identity number");
19338
+ }
19339
+ };
19340
+ var compareAsc = (dateLeft, dateRight) => {
19341
+ const diff = dateLeft.getTime() - dateRight.getTime();
19342
+ return diff < 0 ? -1 : diff > 0 ? 1 : diff;
19343
+ };
19344
+ var diffInYears = (dateLeft, dateRight) => {
19345
+ const sign = compareAsc(dateLeft, dateRight);
19346
+ const yearDiff = Math.abs(dateLeft.getFullYear() - dateRight.getFullYear());
19347
+ dateLeft.setFullYear(dateLeft.getFullYear() - sign * yearDiff);
19348
+ const isLastYearNotFull = compareAsc(dateLeft, dateRight) === -sign;
19349
+ const result2 = sign * (yearDiff - +isLastYearNotFull);
19350
+ return result2 === 0 ? 0 : result2;
19351
+ };
19352
+ var luhn = (str) => {
19353
+ let sum = 0;
19354
+ str += "";
19355
+ for (let i = 0, l = str.length; i < l; i++) {
19356
+ let v = parseInt(str[i]);
19357
+ v *= 2 - i % 2;
19358
+ if (v > 9) {
19359
+ v -= 9;
19360
+ }
19361
+ sum += v;
19362
+ }
19363
+ return Math.ceil(sum / 10) * 10 - sum;
19364
+ };
19365
+ var testDate = (year, month, day) => {
19366
+ month -= 1;
19367
+ const date = new Date(year, month, day);
19368
+ return !(date.getFullYear() !== year || date.getMonth() !== month || date.getDate() !== day);
19369
+ };
19370
+ var Personnummer = class {
19371
+ /**
19372
+ * Personnummer constructor.
19373
+ *
19374
+ * @param {string} pin
19375
+ * @param {object} options
19376
+ */
19377
+ constructor(pin, options) {
19378
+ this._century = "";
19379
+ this._fullYear = "";
19380
+ this._year = "";
19381
+ this._month = "";
19382
+ this._day = "";
19383
+ this._sep = "";
19384
+ this._num = "";
19385
+ this._check = "";
19386
+ this.parse(pin, {
19387
+ allowCoordinationNumber: true,
19388
+ allowInterimNumber: false,
19389
+ ...options
19390
+ });
19391
+ }
19392
+ /**
19393
+ * Get century.
19394
+ *
19395
+ * @return {string}
19396
+ */
19397
+ get century() {
19398
+ return this._century;
19399
+ }
19400
+ /**
19401
+ * Get age.
19402
+ *
19403
+ * @return {string}
19404
+ */
19405
+ get fullYear() {
19406
+ return this._fullYear;
19407
+ }
19408
+ /**
19409
+ * Get age.
19410
+ *
19411
+ * @return {string}
19412
+ */
19413
+ get year() {
19414
+ return this._year;
19415
+ }
19416
+ /**
19417
+ * Get month.
19418
+ *
19419
+ * @return {string}
19420
+ */
19421
+ get month() {
19422
+ return this._month;
19423
+ }
19424
+ /**
19425
+ * Get day.
19426
+ *
19427
+ * @return {string}
19428
+ */
19429
+ get day() {
19430
+ return this._day;
19431
+ }
19432
+ /**
19433
+ * Get sep.
19434
+ *
19435
+ * @return {string}
19436
+ */
19437
+ get sep() {
19438
+ return this._sep;
19439
+ }
19440
+ /**
19441
+ * Get num.
19442
+ *
19443
+ * @return {string}
19444
+ */
19445
+ get num() {
19446
+ return this._num;
19447
+ }
19448
+ /**
19449
+ * Get check.
19450
+ *
19451
+ * @return {string}
19452
+ */
19453
+ get check() {
19454
+ return this._check;
19455
+ }
19456
+ /**
19457
+ * Parse personnummer.
19458
+ *
19459
+ * @param {string} pin
19460
+ * @param {object} options
19461
+ *
19462
+ * @return {Personnummer}
19463
+ */
19464
+ static parse(pin, options) {
19465
+ return new Personnummer(pin, options);
19466
+ }
19467
+ /**
19468
+ * Validate a Swedish personal identity number.
19469
+ *
19470
+ * @param {string} str
19471
+ * @param {object} options
19472
+ *
19473
+ * @return {boolean}
19474
+ */
19475
+ static valid(pin, options) {
19476
+ try {
19477
+ Personnummer.parse(pin, options);
19478
+ return true;
19479
+ } catch (e) {
19480
+ return false;
19481
+ }
19482
+ }
19483
+ /**
19484
+ * Parse personnummer and set class properties.
19485
+ *
19486
+ * @param {string} pin
19487
+ * @param {object} options
19488
+ */
19489
+ parse(pin, options) {
19490
+ if (pin.length < 10 || pin.length > 13) {
19491
+ throw new PersonnummerError();
19492
+ }
19493
+ const reg = /^(\d{2}){0,1}(\d{2})(\d{2})(\d{2})([+-]?)((?!000)\d{3}|[TRSUWXJKLMN]\d{2})(\d)$/;
19494
+ const match2 = reg.exec(pin);
19495
+ if (!match2) {
19496
+ throw new PersonnummerError();
19497
+ }
19498
+ const century = match2[1];
19499
+ const year = match2[2];
19500
+ const month = match2[3];
19501
+ const day = match2[4];
19502
+ const sep = match2[5];
19503
+ const num = match2[6];
19504
+ const check = match2[7];
19505
+ if (typeof century === "undefined" || !century.length) {
19506
+ const d = /* @__PURE__ */ new Date();
19507
+ let baseYear = 0;
19508
+ if (sep === "+") {
19509
+ this._sep = "+";
19510
+ baseYear = d.getFullYear() - 100;
19511
+ } else {
19512
+ this._sep = "-";
19513
+ baseYear = d.getFullYear();
19514
+ }
19515
+ this._century = ("" + (baseYear - (baseYear - parseInt(year)) % 100)).substr(0, 2);
19516
+ } else {
19517
+ this._century = century;
19518
+ if ((/* @__PURE__ */ new Date()).getFullYear() - parseInt(century + year, 10) < 100) {
19519
+ this._sep = "-";
19520
+ } else {
19521
+ this._sep = "+";
19522
+ }
19523
+ }
19524
+ this._year = year;
19525
+ this._fullYear = this._century + year;
19526
+ this._month = month;
19527
+ this._day = day;
19528
+ this._num = num;
19529
+ this._check = check;
19530
+ if (!this.valid()) {
19531
+ throw new PersonnummerError();
19532
+ }
19533
+ if (!(options == null ? void 0 : options.allowCoordinationNumber) && this.isCoordinationNumber()) {
19534
+ throw new PersonnummerError();
19535
+ }
19536
+ if (!(options == null ? void 0 : options.allowInterimNumber) && this.isInterimNumber()) {
19537
+ throw new PersonnummerError();
19538
+ }
19539
+ }
19540
+ /**
19541
+ * Validate a Swedish personal identity number.
19542
+ *
19543
+ * @return {boolean}
19544
+ */
19545
+ valid() {
19546
+ const valid = luhn(
19547
+ this.year + this.month + this.day + this.num.replace(/[TRSUWXJKLMN]/, "1")
19548
+ ) === +this.check && !!this.check;
19549
+ if (valid && testDate(parseInt(this.century + this.year), +this.month, +this.day)) {
19550
+ return valid;
19551
+ }
19552
+ return valid && testDate(parseInt(this.century + this.year), +this.month, +this.day - 60);
19553
+ }
19554
+ /**
19555
+ * Format a Swedish personal identity number as one of the official formats,
19556
+ * A long format or a short format.
19557
+ *
19558
+ * If the input number could not be parsed a empty string will be returned.
19559
+ *
19560
+ * @param {boolean} longFormat
19561
+ *
19562
+ * @return {string}
19563
+ */
19564
+ format(longFormat = false) {
19565
+ if (longFormat) {
19566
+ return `${this.century}${this.year}${this.month}${this.day}${this.num}${this.check}`;
19567
+ }
19568
+ return `${this.year}${this.month}${this.day}${this.sep}${this.num}${this.check}`;
19569
+ }
19570
+ /**
19571
+ * Get age from a Swedish personal identity number.
19572
+ *
19573
+ * @return {number}
19574
+ */
19575
+ getAge() {
19576
+ const date = this.getDate();
19577
+ return diffInYears(new Date(Date.now()), date);
19578
+ }
19579
+ /**
19580
+ * Get date from a Swedish personal identity number.
19581
+ *
19582
+ * @return {Date}
19583
+ */
19584
+ getDate() {
19585
+ let ageDay = +this.day;
19586
+ if (this.isCoordinationNumber()) {
19587
+ ageDay -= 60;
19588
+ }
19589
+ const ageDate = this.century + this.year + "-" + this.month + "-" + (ageDay < 10 ? "0" + ageDay : ageDay);
19590
+ return new Date(ageDate);
19591
+ }
19592
+ /**
19593
+ * Check if a Swedish personal identity number is a interim number or not.
19594
+ *
19595
+ * @return {boolean}
19596
+ */
19597
+ isInterimNumber() {
19598
+ return /[TRSUWXJKLMN]/.test(this.num[0]);
19599
+ }
19600
+ /**
19601
+ * Check if a Swedish personal identity number is a coordination number or not.
19602
+ *
19603
+ * @return {boolean}
19604
+ */
19605
+ isCoordinationNumber() {
19606
+ return testDate(
19607
+ parseInt(this.century + this.year),
19608
+ +this.month,
19609
+ +this.day - 60
19610
+ );
19611
+ }
19612
+ /**
19613
+ * Check if a Swedish personal identity number is for a female.
19614
+ *
19615
+ * @return {boolean}
19616
+ */
19617
+ isFemale() {
19618
+ return !this.isMale();
19619
+ }
19620
+ /**
19621
+ * Check if a Swedish personal identity number is for a male.
19622
+ *
19623
+ * @return {boolean}
19624
+ */
19625
+ isMale() {
19626
+ const sexDigit = parseInt(this.num.substr(-1));
19627
+ return sexDigit % 2 === 1;
19628
+ }
19629
+ };
19630
+ var src_default = Personnummer;
19631
+ const INVALID_RESULT = {
19632
+ isValid: false,
19633
+ digits: null
19634
+ };
19635
+ const DEFAULT_SSN_VALIDATION_OPTIONS = {
19636
+ allowCoordinationNumber: true,
19637
+ allowInterimNumber: true
19638
+ };
19639
+ function resolveSsnValidationOptions(options) {
19640
+ return {
19641
+ ...DEFAULT_SSN_VALIDATION_OPTIONS,
19642
+ ...options
19643
+ };
19644
+ }
19645
+ function stripSsnSeparators(value) {
19646
+ return normalizePidSearchValue(value);
19647
+ }
19648
+ function validateSsnNumber(value, options) {
19649
+ const trimmed = value.trim();
19650
+ if (!trimmed) {
19651
+ return INVALID_RESULT;
19652
+ }
19653
+ const resolvedOptions = resolveSsnValidationOptions(options);
19654
+ const isValid2 = src_default.valid(trimmed, resolvedOptions);
19655
+ return {
19656
+ isValid: isValid2,
19657
+ digits: isValid2 ? stripSsnSeparators(trimmed) : null
19658
+ };
19659
+ }
19660
+ function validateSsn(value, options) {
19661
+ return validateSsnNumber(value, options).isValid;
19662
+ }
19663
+ function getSsnValidationState(value, options) {
19664
+ if (!value.trim()) {
19665
+ return null;
19666
+ }
19667
+ return validateSsn(value, options);
19668
+ }
19669
+ const _hoisted_1$4 = { class: "w-full" };
19670
+ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
19671
+ ...{
19672
+ inheritAttrs: false
19673
+ },
19674
+ __name: "FdsSsn",
19675
+ props: /* @__PURE__ */ vue.mergeModels({
19676
+ label: { default: void 0 },
19677
+ meta: { default: void 0 },
19678
+ optional: { type: Boolean, default: false },
19679
+ valid: { type: [Boolean, null], default: void 0 },
19680
+ invalidMessage: { default: void 0 },
19681
+ modelValue: {},
19682
+ allowCoordinationNumber: { type: Boolean, default: true },
19683
+ allowInterimNumber: { type: Boolean, default: true },
19684
+ disabled: { type: Boolean, default: false },
19685
+ dataTestid: { default: void 0 },
19686
+ onValid: {},
19687
+ onBlur: {},
19688
+ "onUpdate:modelValue": {},
19689
+ id: { default: void 0 },
19690
+ autocomplete: { default: "off" },
19691
+ required: { type: Boolean, default: false },
19692
+ placeholder: { default: void 0 },
19693
+ name: { default: void 0 },
19694
+ autofocus: { type: Boolean, default: false },
19695
+ readonly: { type: Boolean, default: false },
19696
+ inputClass: { default: void 0 }
19697
+ }, {
19698
+ "modelValue": { default: "" },
19699
+ "modelModifiers": {}
19700
+ }),
19701
+ emits: /* @__PURE__ */ vue.mergeModels(["update:modelValue", "valid", "blur"], ["update:modelValue"]),
19702
+ setup(__props, { emit: __emit }) {
19703
+ const modelValue = vue.useModel(__props, "modelValue");
19704
+ const attrs = vue.useAttrs();
19705
+ const props = __props;
19706
+ const emit = __emit;
19707
+ const { t } = useFdsI18n();
19708
+ const inputAttrs = vue.computed(() => {
19709
+ const { class: _class, style, ...rest } = attrs;
19710
+ return {
19711
+ ...rest,
19712
+ ...style == null ? {} : { style }
19713
+ };
19714
+ });
19715
+ const forwardedInputProps = vue.computed(() => ({
19716
+ id: props.id,
19717
+ autocomplete: props.autocomplete,
19718
+ required: props.required,
19719
+ placeholder: props.placeholder,
19720
+ name: props.name,
19721
+ autofocus: props.autofocus,
19722
+ readonly: props.readonly,
19723
+ inputmode: props.allowInterimNumber ? "text" : "numeric",
19724
+ ...inputAttrs.value
19725
+ }));
19726
+ const validationOptions = vue.computed(
19727
+ () => ({
19728
+ allowCoordinationNumber: props.allowCoordinationNumber,
19729
+ allowInterimNumber: props.allowInterimNumber
19730
+ })
19731
+ );
19732
+ const ssnMask = vue.computed(() => getSsnMask(props.allowInterimNumber));
19733
+ const ssnMaskOptions = vue.computed(() => getSsnMaskOptions(props.allowInterimNumber));
19734
+ const committedValid = vue.ref(null);
19735
+ const resolvedLabel = vue.computed(() => props.label === void 0 ? t("FdsSsn.label") : props.label);
19736
+ const resolvedInvalidMessage = vue.computed(
19737
+ () => props.invalidMessage === void 0 ? t("FdsSsn.invalidSsn") : props.invalidMessage
19738
+ );
19739
+ const displayValid = vue.computed(() => {
19740
+ if (props.valid === false) return false;
19741
+ if (props.valid === true) return true;
19742
+ if (committedValid.value === false) return false;
19743
+ if (committedValid.value === true) return true;
19744
+ return props.valid;
19745
+ });
19746
+ function normalizeValue2() {
19747
+ const normalized = stripSsnSeparators(modelValue.value ?? "");
19748
+ if (normalized !== (modelValue.value ?? "")) {
19749
+ modelValue.value = normalized;
19750
+ }
19751
+ }
19752
+ function runValidation() {
19753
+ const validationState = getSsnValidationState(modelValue.value ?? "", validationOptions.value);
19754
+ committedValid.value = validationState;
19755
+ emit("valid", validationState);
19756
+ }
19757
+ vue.watch([() => props.allowCoordinationNumber, () => props.allowInterimNumber], () => {
19758
+ if (committedValid.value === null) {
19759
+ return;
19760
+ }
19761
+ runValidation();
19762
+ });
19763
+ function handleBlur(ev) {
19764
+ normalizeValue2();
19765
+ runValidation();
19766
+ emit("blur", ev);
19767
+ }
19768
+ return (_ctx, _cache) => {
19769
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
19770
+ vue.createVNode(_sfc_main$s, vue.mergeProps({
19771
+ modelValue: modelValue.value,
19772
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),
19773
+ mask: ssnMask.value,
19774
+ "mask-options": ssnMaskOptions.value,
19775
+ label: resolvedLabel.value,
19776
+ meta: __props.meta,
19777
+ valid: displayValid.value,
19778
+ disabled: __props.disabled,
19779
+ optional: __props.optional,
19780
+ "invalid-message": resolvedInvalidMessage.value,
19781
+ ariaLabel: resolvedLabel.value,
19782
+ "data-testid": __props.dataTestid,
19783
+ class: __props.inputClass
19784
+ }, forwardedInputProps.value, { onBlur: handleBlur }), null, 16, ["modelValue", "mask", "mask-options", "label", "meta", "valid", "disabled", "optional", "invalid-message", "ariaLabel", "data-testid", "class"])
19785
+ ]);
19786
+ };
19787
+ }
19788
+ });
19320
19789
  const _hoisted_1$3 = ["for"];
19321
19790
  const _hoisted_2$2 = {
19322
19791
  key: 1,
@@ -19351,7 +19820,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
19351
19820
  inputClass: { default: void 0 },
19352
19821
  value: { default: void 0 }
19353
19822
  }, {
19354
- "modelValue": { default: void 0, required: false },
19823
+ "modelValue": {},
19355
19824
  "modelModifiers": {}
19356
19825
  }),
19357
19826
  emits: /* @__PURE__ */ vue.mergeModels(["input", "change", "update:value"], ["update:modelValue"]),
@@ -19440,12 +19909,12 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
19440
19909
  value: option.value,
19441
19910
  disabled: option.disabled
19442
19911
  }, vue.toDisplayString(option.label), 9, _hoisted_5$2);
19443
- }), 128)) : vue.renderSlot(_ctx.$slots, "default", { key: 2 })
19912
+ }), 128)) : vue.renderSlot(_ctx.$slots, "default", {}, void 0, void 0, 2)
19444
19913
  ], 16), [
19445
19914
  [vue.vModelSelect, internalValue.value]
19446
19915
  ]),
19447
19916
  vue.createElementVNode("div", _hoisted_6, [
19448
- vue.createVNode(_sfc_main$M, {
19917
+ vue.createVNode(_sfc_main$N, {
19449
19918
  name: "arrowDown",
19450
19919
  size: 24,
19451
19920
  class: vue.normalizeClass({
@@ -19490,7 +19959,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
19490
19959
  maxlength: { default: void 0 },
19491
19960
  value: { default: void 0 }
19492
19961
  }, {
19493
- "modelValue": { default: void 0, required: false },
19962
+ "modelValue": {},
19494
19963
  "modelModifiers": {}
19495
19964
  }),
19496
19965
  emits: /* @__PURE__ */ vue.mergeModels(["input", "change", "update:value", "blur", "valid"], ["update:modelValue"]),
@@ -19612,12 +20081,12 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
19612
20081
  vue.createElementVNode("div", {
19613
20082
  class: vue.normalizeClass(validationIconClasses.value)
19614
20083
  }, [
19615
- isInvalid.value ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
20084
+ isInvalid.value ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
19616
20085
  key: 0,
19617
20086
  name: "alert",
19618
20087
  class: "fill-red-600"
19619
20088
  })) : vue.createCommentVNode("", true),
19620
- isValid2.value ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
20089
+ isValid2.value ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
19621
20090
  key: 1,
19622
20091
  name: "bigSuccess"
19623
20092
  })) : vue.createCommentVNode("", true)
@@ -19708,7 +20177,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
19708
20177
  vue.unref(hasSlot) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2, [
19709
20178
  vue.renderSlot(_ctx.$slots, "default")
19710
20179
  ])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3, vue.toDisplayString(__props.heading), 1)),
19711
- vue.createVNode(_sfc_main$M, {
20180
+ vue.createVNode(_sfc_main$N, {
19712
20181
  name: iconName.value,
19713
20182
  size: "24px",
19714
20183
  class: "fill-blue-500 ml-1"
@@ -19940,7 +20409,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
19940
20409
  });
19941
20410
  return (_ctx, _cache) => {
19942
20411
  return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({ class: wrapperClasses.value }, rootAttrs.value), [
19943
- __props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
20412
+ __props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
19944
20413
  key: 0,
19945
20414
  size: "24px",
19946
20415
  color: "blue",
@@ -20229,96 +20698,100 @@ const FdsVueCorePlugin = {
20229
20698
  if (options?.i18n) {
20230
20699
  app.provide(FDS_VUE_CORE_I18N_KEY, options.i18n);
20231
20700
  }
20232
- app.component("FdsTreeView", _sfc_main$g);
20233
- app.component("FdsButtonPrimary", _sfc_main$A);
20234
- app.component("FdsButtonSecondary", _sfc_main$z);
20235
- app.component("FdsButtonMinor", _sfc_main$D);
20236
- app.component("FdsButtonIcon", _sfc_main$L);
20237
- app.component("FdsButtonCopy", _sfc_main$C);
20238
- app.component("FdsButtonDownload", _sfc_main$B);
20239
- app.component("FdsDevMode", _sfc_main$n);
20240
- app.component("FdsIcon", _sfc_main$M);
20241
- app.component("FdsSpinner", _sfc_main$E);
20242
- app.component("FdsRadio", _sfc_main$w);
20243
- app.component("FdsCheckbox", _sfc_main$x);
20701
+ app.component("FdsTreeView", _sfc_main$h);
20702
+ app.component("FdsButtonPrimary", _sfc_main$B);
20703
+ app.component("FdsButtonSecondary", _sfc_main$A);
20704
+ app.component("FdsButtonMinor", _sfc_main$E);
20705
+ app.component("FdsButtonIcon", _sfc_main$M);
20706
+ app.component("FdsButtonCopy", _sfc_main$D);
20707
+ app.component("FdsButtonDownload", _sfc_main$C);
20708
+ app.component("FdsDevMode", _sfc_main$o);
20709
+ app.component("FdsIcon", _sfc_main$N);
20710
+ app.component("FdsSpinner", _sfc_main$F);
20711
+ app.component("FdsRadio", _sfc_main$x);
20712
+ app.component("FdsCheckbox", _sfc_main$y);
20244
20713
  app.component("FdsTextarea", _sfc_main$7);
20245
- app.component("FdsPhonenumber", _sfc_main$9);
20714
+ app.component("FdsPhonenumber", _sfc_main$a);
20715
+ app.component("FdsSsn", _sfc_main$9);
20246
20716
  app.component("FdsSelect", _sfc_main$8);
20247
20717
  app.component("FdsTable", _sfc_main$6);
20248
20718
  app.component("FdsTableHead", _sfc_main$5);
20249
- app.component("FdsInput", _sfc_main$r);
20250
- app.component("FdsBlockContent", _sfc_main$J);
20251
- app.component("FdsBlockInfo", _sfc_main$G);
20252
- app.component("FdsBlockAlert", _sfc_main$K);
20253
- app.component("FdsBlockExpander", _sfc_main$H);
20254
- app.component("FdsBlockLink", _sfc_main$F);
20255
- app.component("FdsSticker", _sfc_main$I);
20256
- app.component("FdsTabs", _sfc_main$q);
20257
- app.component("FdsTabsItem", _sfc_main$p);
20258
- app.component("FdsModal", _sfc_main$t);
20259
- app.component("FdsPagination", _sfc_main$l);
20260
- app.component("FdsPopover", _sfc_main$k);
20261
- app.component("FdsSearchSelect", _sfc_main$j);
20262
- app.component("FdsSearchSelectPro", _sfc_main$i);
20263
- app.component("FdsTruncatedText", _sfc_main$f);
20264
- app.component("FdsWizard", _sfc_main$b);
20265
- app.component("FdsWeekCalendar", _sfc_main$d);
20719
+ app.component("FdsInput", _sfc_main$s);
20720
+ app.component("FdsBlockContent", _sfc_main$K);
20721
+ app.component("FdsBlockInfo", _sfc_main$H);
20722
+ app.component("FdsBlockAlert", _sfc_main$L);
20723
+ app.component("FdsBlockExpander", _sfc_main$I);
20724
+ app.component("FdsBlockLink", _sfc_main$G);
20725
+ app.component("FdsSticker", _sfc_main$J);
20726
+ app.component("FdsTabs", _sfc_main$r);
20727
+ app.component("FdsTabsItem", _sfc_main$q);
20728
+ app.component("FdsModal", _sfc_main$u);
20729
+ app.component("FdsPagination", _sfc_main$m);
20730
+ app.component("FdsPopover", _sfc_main$l);
20731
+ app.component("FdsSearchSelect", _sfc_main$k);
20732
+ app.component("FdsSearchSelectPro", _sfc_main$j);
20733
+ app.component("FdsTruncatedText", _sfc_main$g);
20734
+ app.component("FdsWizard", _sfc_main$c);
20735
+ app.component("FdsWeekCalendar", _sfc_main$e);
20266
20736
  app.component("FdsH1", _sfc_main$4);
20267
20737
  app.component("FdsH2", _sfc_main$3);
20268
20738
  app.component("FdsH3", _sfc_main$2);
20269
20739
  app.component("FdsHr", _sfc_main$1);
20270
- app.component("FdsLabel", _sfc_main$v);
20271
- app.component("FdsLead", _sfc_main$c);
20272
- app.component("FdsMeta", _sfc_main$s);
20740
+ app.component("FdsLabel", _sfc_main$w);
20741
+ app.component("FdsLead", _sfc_main$d);
20742
+ app.component("FdsMeta", _sfc_main$t);
20273
20743
  app.component("FdsListHeading", _sfc_main);
20274
20744
  }
20275
20745
  };
20276
20746
  exports.FDS_VUE_CORE_I18N_KEY = FDS_VUE_CORE_I18N_KEY;
20277
- exports.FdsBlockAlert = _sfc_main$K;
20278
- exports.FdsBlockContent = _sfc_main$J;
20279
- exports.FdsBlockExpander = _sfc_main$H;
20280
- exports.FdsBlockInfo = _sfc_main$G;
20281
- exports.FdsBlockLink = _sfc_main$F;
20282
- exports.FdsButtonCopy = _sfc_main$C;
20283
- exports.FdsButtonDownload = _sfc_main$B;
20284
- exports.FdsButtonIcon = _sfc_main$L;
20285
- exports.FdsButtonMinor = _sfc_main$D;
20286
- exports.FdsButtonPrimary = _sfc_main$A;
20287
- exports.FdsButtonSecondary = _sfc_main$z;
20288
- exports.FdsCheckbox = _sfc_main$x;
20289
- exports.FdsDevMode = _sfc_main$n;
20290
- exports.FdsExitModal = _sfc_main$m;
20747
+ exports.FdsBlockAlert = _sfc_main$L;
20748
+ exports.FdsBlockContent = _sfc_main$K;
20749
+ exports.FdsBlockExpander = _sfc_main$I;
20750
+ exports.FdsBlockInfo = _sfc_main$H;
20751
+ exports.FdsBlockLink = _sfc_main$G;
20752
+ exports.FdsButtonCopy = _sfc_main$D;
20753
+ exports.FdsButtonDownload = _sfc_main$C;
20754
+ exports.FdsButtonIcon = _sfc_main$M;
20755
+ exports.FdsButtonMinor = _sfc_main$E;
20756
+ exports.FdsButtonPrimary = _sfc_main$B;
20757
+ exports.FdsButtonSecondary = _sfc_main$A;
20758
+ exports.FdsCheckbox = _sfc_main$y;
20759
+ exports.FdsDevMode = _sfc_main$o;
20760
+ exports.FdsExitModal = _sfc_main$n;
20291
20761
  exports.FdsH1 = _sfc_main$4;
20292
20762
  exports.FdsH2 = _sfc_main$3;
20293
20763
  exports.FdsH3 = _sfc_main$2;
20294
20764
  exports.FdsHr = _sfc_main$1;
20295
- exports.FdsIcon = _sfc_main$M;
20296
- exports.FdsInput = _sfc_main$r;
20297
- exports.FdsLabel = _sfc_main$v;
20298
- exports.FdsLead = _sfc_main$c;
20765
+ exports.FdsIcon = _sfc_main$N;
20766
+ exports.FdsInput = _sfc_main$s;
20767
+ exports.FdsLabel = _sfc_main$w;
20768
+ exports.FdsLead = _sfc_main$d;
20299
20769
  exports.FdsListHeading = _sfc_main;
20300
- exports.FdsMeta = _sfc_main$s;
20301
- exports.FdsModal = _sfc_main$t;
20302
- exports.FdsPagination = _sfc_main$l;
20303
- exports.FdsPhonenumber = _sfc_main$9;
20304
- exports.FdsPopover = _sfc_main$k;
20305
- exports.FdsRadio = _sfc_main$w;
20306
- exports.FdsSearchSelect = _sfc_main$j;
20307
- exports.FdsSearchSelectPro = _sfc_main$i;
20770
+ exports.FdsMeta = _sfc_main$t;
20771
+ exports.FdsModal = _sfc_main$u;
20772
+ exports.FdsPagination = _sfc_main$m;
20773
+ exports.FdsPhonenumber = _sfc_main$a;
20774
+ exports.FdsPopover = _sfc_main$l;
20775
+ exports.FdsRadio = _sfc_main$x;
20776
+ exports.FdsSearchSelect = _sfc_main$k;
20777
+ exports.FdsSearchSelectPro = _sfc_main$j;
20308
20778
  exports.FdsSelect = _sfc_main$8;
20309
- exports.FdsSpinner = _sfc_main$E;
20310
- exports.FdsSticker = _sfc_main$I;
20779
+ exports.FdsSpinner = _sfc_main$F;
20780
+ exports.FdsSsn = _sfc_main$9;
20781
+ exports.FdsSticker = _sfc_main$J;
20311
20782
  exports.FdsTable = _sfc_main$6;
20312
20783
  exports.FdsTableHead = _sfc_main$5;
20313
- exports.FdsTabs = _sfc_main$q;
20314
- exports.FdsTabsItem = _sfc_main$p;
20784
+ exports.FdsTabs = _sfc_main$r;
20785
+ exports.FdsTabsItem = _sfc_main$q;
20315
20786
  exports.FdsTextarea = _sfc_main$7;
20316
- exports.FdsTreeView = _sfc_main$g;
20317
- exports.FdsTruncatedText = _sfc_main$f;
20318
- exports.FdsWeekCalendar = _sfc_main$d;
20319
- exports.FdsWizard = _sfc_main$b;
20787
+ exports.FdsTreeView = _sfc_main$h;
20788
+ exports.FdsTruncatedText = _sfc_main$g;
20789
+ exports.FdsWeekCalendar = _sfc_main$e;
20790
+ exports.FdsWizard = _sfc_main$c;
20320
20791
  exports.PID_MASK = PID_MASK;
20321
20792
  exports.PID_MASK_OPTIONS = PID_MASK_OPTIONS;
20793
+ exports.SSN_INTERIM_MASK = SSN_INTERIM_MASK;
20794
+ exports.SSN_MASK = SSN_MASK;
20322
20795
  exports.bankid = bankid;
20323
20796
  exports.buildCountryOptions = buildCountryOptions;
20324
20797
  exports.capitalizeFirstLetter = capitalizeFirstLetter;
@@ -20330,6 +20803,9 @@ exports.filterCountryOptions = filterCountryOptions;
20330
20803
  exports.formatPidWithDash = formatPidWithDash;
20331
20804
  exports.getExitGuardWizardId = getExitGuardWizardId;
20332
20805
  exports.getPhoneValidationState = getPhoneValidationState;
20806
+ exports.getSsnMask = getSsnMask;
20807
+ exports.getSsnMaskOptions = getSsnMaskOptions;
20808
+ exports.getSsnValidationState = getSsnValidationState;
20333
20809
  exports.isPidString = isPidString;
20334
20810
  exports.isRelativeHref = isRelativeHref;
20335
20811
  exports.logoFeelgoodColored = logoFeelgoodColored;
@@ -20341,6 +20817,7 @@ exports.setupRouterLinkInterceptor = setupRouterLinkInterceptor;
20341
20817
  exports.shouldBlockNavigation = shouldBlockNavigation;
20342
20818
  exports.shouldBlockWizardExit = shouldBlockWizardExit;
20343
20819
  exports.sortCountryOptionsByName = sortCountryOptionsByName;
20820
+ exports.stripSsnSeparators = stripSsnSeparators;
20344
20821
  exports.teardownRouterLinkInterceptor = teardownRouterLinkInterceptor;
20345
20822
  exports.useBoldQuery = useBoldQuery;
20346
20823
  exports.useDevMode = useDevMode;
@@ -20356,4 +20833,6 @@ exports.useRouteScrollPositions = useRouteScrollPositions;
20356
20833
  exports.useTreeState = useTreeState;
20357
20834
  exports.useViewportBreakpoint = useViewportBreakpoint;
20358
20835
  exports.validatePhoneNumber = validatePhoneNumber;
20836
+ exports.validateSsn = validateSsn;
20837
+ exports.validateSsnNumber = validateSsnNumber;
20359
20838
  //# sourceMappingURL=fds-vue-core.cjs.js.map