fds-vue-core 8.2.3 → 8.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components.d.ts +2 -0
- package/dist/components/FdsSearchSelect/FdsSearchSelect.vue.d.ts +3 -5
- package/dist/components/FdsSearchSelectPro/FdsSearchSelectPro.vue.d.ts +3 -5
- package/dist/components/Form/FdsInput/FdsInput.vue.d.ts +2 -3
- package/dist/components/Form/FdsInput/types.d.ts +0 -2
- package/dist/components/Form/FdsPhonenumber/FdsPhonenumber.vue.d.ts +0 -3
- package/dist/components/Form/FdsPhonenumber/normalizePhoneInput.d.ts +7 -0
- package/dist/components/Form/FdsPhonenumber/phoneMask.d.ts +2 -0
- package/dist/components/Form/FdsPhonenumber/types.d.ts +1 -1
- package/dist/components/Form/FdsSsn/FdsSsn.vue.d.ts +33 -0
- package/dist/components/Form/FdsSsn/ssnMask.d.ts +19 -0
- package/dist/components/Form/FdsSsn/types.d.ts +24 -0
- package/dist/fds-vue-core.cjs.js +937 -448
- package/dist/fds-vue-core.cjs.js.map +1 -1
- package/dist/fds-vue-core.css +1 -1
- package/dist/fds-vue-core.es.js +938 -449
- package/dist/fds-vue-core.es.js.map +1 -1
- package/dist/helpers/validateSsn.d.ts +16 -0
- package/dist/index.d.ts +5 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/src/components/Form/FdsInput/FdsInput.stories.ts +1 -7
- package/src/components/Form/FdsInput/FdsInput.vue +41 -163
- package/src/components/Form/FdsInput/types.ts +0 -2
- package/src/components/Form/FdsPhonenumber/FdsPhonenumber.vue +30 -9
- package/src/components/Form/FdsPhonenumber/normalizePhoneInput.ts +88 -0
- package/src/components/Form/FdsPhonenumber/phoneMask.ts +28 -0
- package/src/components/Form/FdsPhonenumber/types.ts +0 -3
- package/src/components/Form/FdsSsn/FdsSsn.stories.ts +131 -0
- package/src/components/Form/FdsSsn/FdsSsn.vue +133 -0
- package/src/components/Form/FdsSsn/ssnMask.ts +20 -0
- package/src/components/Form/FdsSsn/types.ts +36 -0
- package/src/helpers/validateSsn.ts +63 -0
- package/src/index.ts +16 -0
- package/src/lang/en.json +2 -0
- package/src/lang/sv.json +2 -0
package/dist/fds-vue-core.cjs.js
CHANGED
|
@@ -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$
|
|
754
|
-
const _sfc_main$
|
|
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$
|
|
791
|
+
}, rootAttrs.value, { innerHTML: svgHtml.value }), null, 16, _hoisted_1$B);
|
|
788
792
|
};
|
|
789
793
|
}
|
|
790
794
|
});
|
|
791
|
-
const _sfc_main$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
919
|
+
vue.createElementVNode("div", _hoisted_1$A, [
|
|
916
920
|
vue.createElementVNode("div", _hoisted_2$q, [
|
|
917
|
-
vue.createVNode(_sfc_main$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
1024
|
+
], 16, _hoisted_1$z);
|
|
1021
1025
|
};
|
|
1022
1026
|
}
|
|
1023
1027
|
});
|
|
1024
|
-
const _sfc_main$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
1311
|
+
], 16, _hoisted_1$x);
|
|
1308
1312
|
};
|
|
1309
1313
|
}
|
|
1310
1314
|
});
|
|
1311
|
-
const _hoisted_1$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
1470
|
-
const _sfc_main$
|
|
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$
|
|
1554
|
+
], 16, _hoisted_1$v);
|
|
1551
1555
|
};
|
|
1552
1556
|
}
|
|
1553
1557
|
});
|
|
1554
|
-
const _hoisted_1$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
1665
|
+
], 10, _hoisted_1$u);
|
|
1662
1666
|
};
|
|
1663
1667
|
}
|
|
1664
1668
|
});
|
|
1665
|
-
const _hoisted_1$
|
|
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$
|
|
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$
|
|
1732
|
-
vue.createVNode(_sfc_main$
|
|
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$
|
|
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$
|
|
5026
|
-
const _sfc_main$
|
|
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$
|
|
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$
|
|
5138
|
+
], 16, _hoisted_1$s);
|
|
5135
5139
|
};
|
|
5136
5140
|
}
|
|
5137
5141
|
});
|
|
5138
|
-
const _hoisted_1$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
5249
|
+
], 10, _hoisted_1$r);
|
|
5246
5250
|
};
|
|
5247
5251
|
}
|
|
5248
5252
|
});
|
|
5249
|
-
const _hoisted_1$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
5680
|
-
const _sfc_main$
|
|
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$
|
|
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$
|
|
5803
|
+
const _hoisted_1$o = ["for"];
|
|
5800
5804
|
const _hoisted_2$j = ["value", "disabled", "required"];
|
|
5801
|
-
const _sfc_main$
|
|
5805
|
+
const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
5802
5806
|
...{
|
|
5803
5807
|
inheritAttrs: false
|
|
5804
5808
|
},
|
|
@@ -5969,14 +5973,14 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
|
5969
5973
|
vue.createTextVNode(vue.toDisplayString(props.label), 1)
|
|
5970
5974
|
], 64)) : vue.createCommentVNode("", true)
|
|
5971
5975
|
], 2)) : vue.createCommentVNode("", true)
|
|
5972
|
-
], 16, _hoisted_1$
|
|
5976
|
+
], 16, _hoisted_1$o)
|
|
5973
5977
|
], 2);
|
|
5974
5978
|
};
|
|
5975
5979
|
}
|
|
5976
5980
|
});
|
|
5977
|
-
const _hoisted_1$
|
|
5981
|
+
const _hoisted_1$n = ["for"];
|
|
5978
5982
|
const _hoisted_2$i = ["value", "checked", "disabled", "required"];
|
|
5979
|
-
const _sfc_main$
|
|
5983
|
+
const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
|
|
5980
5984
|
...{
|
|
5981
5985
|
inheritAttrs: false
|
|
5982
5986
|
},
|
|
@@ -6107,7 +6111,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
|
6107
6111
|
vue.createTextVNode(vue.toDisplayString(props.label), 1)
|
|
6108
6112
|
], 64)) : vue.createCommentVNode("", true)
|
|
6109
6113
|
], 2)) : vue.createCommentVNode("", true)
|
|
6110
|
-
], 16, _hoisted_1$
|
|
6114
|
+
], 16, _hoisted_1$n)
|
|
6111
6115
|
], 2);
|
|
6112
6116
|
};
|
|
6113
6117
|
}
|
|
@@ -6124,7 +6128,7 @@ function classValueToString(value) {
|
|
|
6124
6128
|
}
|
|
6125
6129
|
return String(value);
|
|
6126
6130
|
}
|
|
6127
|
-
const _sfc_main$
|
|
6131
|
+
const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
|
|
6128
6132
|
...{
|
|
6129
6133
|
inheritAttrs: false
|
|
6130
6134
|
},
|
|
@@ -6155,7 +6159,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
|
6155
6159
|
};
|
|
6156
6160
|
}
|
|
6157
6161
|
});
|
|
6158
|
-
const _hoisted_1$
|
|
6162
|
+
const _hoisted_1$m = {
|
|
6159
6163
|
key: 0,
|
|
6160
6164
|
class: "absolute bottom-full right-0 mb-3 z-60 flex min-w-54 flex-col font-normal"
|
|
6161
6165
|
};
|
|
@@ -6171,7 +6175,7 @@ const _hoisted_5$d = {
|
|
|
6171
6175
|
};
|
|
6172
6176
|
const _hoisted_6$9 = { key: 2 };
|
|
6173
6177
|
const OVERLAY_OPEN_KEY = "devModeOverlayOpen";
|
|
6174
|
-
const _sfc_main$
|
|
6178
|
+
const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
|
|
6175
6179
|
__name: "FdsDevModeOverlay",
|
|
6176
6180
|
props: {
|
|
6177
6181
|
environment: { default: null },
|
|
@@ -6238,11 +6242,11 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
6238
6242
|
() => checkToggles.value.length > 0 || radioToggles.value.length > 0 || buttonToggles.value.length > 0 || canToggleI18nKeys.value || showLocaleSwitcher.value
|
|
6239
6243
|
);
|
|
6240
6244
|
return (_ctx, _cache) => {
|
|
6241
|
-
return hasContent.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
6245
|
+
return hasContent.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [
|
|
6242
6246
|
isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$h, [
|
|
6243
6247
|
vue.createElementVNode("div", _hoisted_3$h, [
|
|
6244
6248
|
vue.createElementVNode("div", null, [
|
|
6245
|
-
vue.unref(canToggleI18nKeys) ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
6249
|
+
vue.unref(canToggleI18nKeys) ? (vue.openBlock(), vue.createBlock(_sfc_main$y, {
|
|
6246
6250
|
key: 0,
|
|
6247
6251
|
checked: vue.unref(showingTranslationKeys),
|
|
6248
6252
|
onChange: vue.unref(setI18nKeysVisibility),
|
|
@@ -6254,7 +6258,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
6254
6258
|
_: 1
|
|
6255
6259
|
}, 8, ["checked", "onChange"])) : vue.createCommentVNode("", true),
|
|
6256
6260
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(checkToggles.value, (toggle) => {
|
|
6257
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
6261
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$y, {
|
|
6258
6262
|
key: `${toggle.key}-${toggle.checked}`,
|
|
6259
6263
|
checked: toggle.checked,
|
|
6260
6264
|
class: "mb-0!",
|
|
@@ -6269,7 +6273,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
6269
6273
|
]),
|
|
6270
6274
|
radioToggles.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$f, [
|
|
6271
6275
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(radioToggles.value, (toggle) => {
|
|
6272
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
6276
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$x, {
|
|
6273
6277
|
key: `${toggle.key}-${toggle.checked}`,
|
|
6274
6278
|
name: toggle.group,
|
|
6275
6279
|
value: toggle.value,
|
|
@@ -6286,7 +6290,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
6286
6290
|
])) : vue.createCommentVNode("", true),
|
|
6287
6291
|
buttonToggles.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$d, [
|
|
6288
6292
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(buttonToggles.value, (toggle) => {
|
|
6289
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
6293
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$E, {
|
|
6290
6294
|
key: toggle.key,
|
|
6291
6295
|
size: "sm",
|
|
6292
6296
|
block: "",
|
|
@@ -6297,7 +6301,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
6297
6301
|
])) : vue.createCommentVNode("", true),
|
|
6298
6302
|
showLocaleSwitcher.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$9, [
|
|
6299
6303
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(localeOptions.value, (localeCode) => {
|
|
6300
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
6304
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$x, {
|
|
6301
6305
|
key: localeCode,
|
|
6302
6306
|
name: "fds-dev-mode-locale",
|
|
6303
6307
|
value: localeCode,
|
|
@@ -6321,13 +6325,13 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
6321
6325
|
onClick: _cache[0] || (_cache[0] = ($event) => isOpen.value = !isOpen.value),
|
|
6322
6326
|
class: "flex w-full cursor-pointer justify-between gap-2 px-3 py-2 active:bg-gray-100"
|
|
6323
6327
|
}, [
|
|
6324
|
-
vue.createVNode(_sfc_main$
|
|
6328
|
+
vue.createVNode(_sfc_main$w, { class: "mb-0!" }, {
|
|
6325
6329
|
default: vue.withCtx(() => [
|
|
6326
6330
|
vue.createTextVNode(vue.toDisplayString(vue.unref(t)("FdsDevMode.overlay.quickSettings")), 1)
|
|
6327
6331
|
]),
|
|
6328
6332
|
_: 1
|
|
6329
6333
|
}),
|
|
6330
|
-
vue.createVNode(_sfc_main$
|
|
6334
|
+
vue.createVNode(_sfc_main$N, {
|
|
6331
6335
|
name: isOpen.value ? "arrowUp" : "arrowDown",
|
|
6332
6336
|
size: 20,
|
|
6333
6337
|
class: "fill-gray-700"
|
|
@@ -6338,10 +6342,10 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
|
6338
6342
|
};
|
|
6339
6343
|
}
|
|
6340
6344
|
});
|
|
6341
|
-
const _hoisted_1$
|
|
6345
|
+
const _hoisted_1$l = { class: "flex justify-between mb-4" };
|
|
6342
6346
|
const _hoisted_2$g = { class: "flex items-center gap-2" };
|
|
6343
6347
|
const _hoisted_3$g = { class: "mb-0-last-child" };
|
|
6344
|
-
const _sfc_main$
|
|
6348
|
+
const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
|
|
6345
6349
|
__name: "FdsModal",
|
|
6346
6350
|
props: {
|
|
6347
6351
|
open: { type: Boolean, default: false },
|
|
@@ -6570,9 +6574,9 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
6570
6574
|
vue.createElementVNode("div", {
|
|
6571
6575
|
class: vue.normalizeClass(__props.resizable ? "overflow-auto flex-1 min-h-0" : "")
|
|
6572
6576
|
}, [
|
|
6573
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
6577
|
+
vue.createElementVNode("div", _hoisted_1$l, [
|
|
6574
6578
|
vue.createElementVNode("div", _hoisted_2$g, [
|
|
6575
|
-
iconName.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
6579
|
+
iconName.value ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
|
|
6576
6580
|
key: 0,
|
|
6577
6581
|
name: iconName.value,
|
|
6578
6582
|
size: 24,
|
|
@@ -6583,7 +6587,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
|
6583
6587
|
class: vue.normalizeClass(headerTitleClasses.value)
|
|
6584
6588
|
}, vue.toDisplayString(__props.heading), 3)
|
|
6585
6589
|
]),
|
|
6586
|
-
!__props.strict ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
6590
|
+
!__props.strict ? (vue.openBlock(), vue.createBlock(_sfc_main$M, vue.mergeProps({
|
|
6587
6591
|
key: 0,
|
|
6588
6592
|
icon: "cross",
|
|
6589
6593
|
size: 28,
|
|
@@ -9845,7 +9849,7 @@ try {
|
|
|
9845
9849
|
globalThis.IMask = IMask;
|
|
9846
9850
|
} catch {
|
|
9847
9851
|
}
|
|
9848
|
-
const _sfc_main$
|
|
9852
|
+
const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
9849
9853
|
...{
|
|
9850
9854
|
inheritAttrs: false
|
|
9851
9855
|
},
|
|
@@ -9876,15 +9880,15 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
|
9876
9880
|
};
|
|
9877
9881
|
}
|
|
9878
9882
|
});
|
|
9879
|
-
const _hoisted_1$
|
|
9880
|
-
const _hoisted_2$f =
|
|
9881
|
-
const _hoisted_3$f =
|
|
9883
|
+
const _hoisted_1$k = ["for", "id"];
|
|
9884
|
+
const _hoisted_2$f = { class: "relative" };
|
|
9885
|
+
const _hoisted_3$f = ["type", "required", "disabled", "tabindex", "aria-invalid", "aria-label", "aria-labelledby", "aria-describedby", "autocomplete", "placeholder", "pattern", "searchIcon"];
|
|
9882
9886
|
const _hoisted_4$e = {
|
|
9883
9887
|
key: 0,
|
|
9884
9888
|
class: "text-red-700 font-bold mt-1"
|
|
9885
9889
|
};
|
|
9886
|
-
const
|
|
9887
|
-
const _sfc_main$
|
|
9890
|
+
const inputPaddingClasses = "px-3 py-[calc(0.75rem-1px)]";
|
|
9891
|
+
const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
9888
9892
|
...{
|
|
9889
9893
|
inheritAttrs: false
|
|
9890
9894
|
},
|
|
@@ -9900,7 +9904,6 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
9900
9904
|
labelLeft: { type: Boolean, default: false },
|
|
9901
9905
|
clearButton: { type: Boolean, default: false },
|
|
9902
9906
|
mask: { default: void 0 },
|
|
9903
|
-
displayChar: { default: void 0 },
|
|
9904
9907
|
modelValue: {},
|
|
9905
9908
|
value: { default: void 0 },
|
|
9906
9909
|
type: {},
|
|
@@ -9935,7 +9938,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
9935
9938
|
"modelValue": { default: void 0, required: false },
|
|
9936
9939
|
"modelModifiers": {}
|
|
9937
9940
|
}),
|
|
9938
|
-
emits: /* @__PURE__ */ vue.mergeModels(["input", "
|
|
9941
|
+
emits: /* @__PURE__ */ vue.mergeModels(["input", "autocomplete", "clearInput", "update:value", "keyup", "keyup.enter", "blur"], ["update:modelValue"]),
|
|
9939
9942
|
setup(__props, { emit: __emit }) {
|
|
9940
9943
|
const modelValue = vue.useModel(__props, "modelValue");
|
|
9941
9944
|
const props = __props;
|
|
@@ -10016,86 +10019,26 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
10016
10019
|
return "pr-40";
|
|
10017
10020
|
});
|
|
10018
10021
|
const externalClass = vue.computed(() => props.class ?? attrs.class);
|
|
10019
|
-
const
|
|
10020
|
-
|
|
10021
|
-
|
|
10022
|
-
|
|
10023
|
-
|
|
10024
|
-
|
|
10025
|
-
|
|
10026
|
-
|
|
10027
|
-
|
|
10028
|
-
|
|
10029
|
-
return [
|
|
10030
|
-
"rounded-md border border-gray-500 bg-white bg-clip-padding",
|
|
10031
|
-
props.disabled && "outline-dashed outline-2 outline-gray-400 cursor-not-allowed border-transparent",
|
|
10032
|
-
isInvalid.value ? "outline-2 -outline-offset-2 outline-red-600" : "focus-within:outline-2 focus-within:outline-blue-500 focus-within:outline-offset-0",
|
|
10033
|
-
"focus-within:border-transparent"
|
|
10034
|
-
];
|
|
10035
|
-
});
|
|
10036
|
-
const maskOverlayClasses = vue.computed(() => [
|
|
10037
|
-
"pointer-events-none absolute inset-0 z-[3] flex items-center",
|
|
10038
|
-
maskFieldPaddingClasses,
|
|
10039
|
-
inputPaddingRight.value
|
|
10022
|
+
const inputClasses = vue.computed(() => [
|
|
10023
|
+
"block rounded-md border border-gray-500",
|
|
10024
|
+
maxlength.value ? "" : "w-full",
|
|
10025
|
+
inputPaddingClasses,
|
|
10026
|
+
inputPaddingRight.value,
|
|
10027
|
+
"focus:outline-2 focus:outline-blue-500 -outline-offset-2 focus:border-transparent",
|
|
10028
|
+
showDateIcon.value && "[&::-webkit-calendar-picker-indicator]:opacity-0 [&::-webkit-calendar-picker-indicator]:pointer-events-none",
|
|
10029
|
+
props.disabled ? "text-gray-800 outline-dashed outline-2 outline-gray-400 cursor-not-allowed border-transparent" : "text-gray-900 bg-white",
|
|
10030
|
+
isInvalid.value && "outline-2 outline-red-600",
|
|
10031
|
+
props.inputClass
|
|
10040
10032
|
]);
|
|
10041
|
-
const maskDisplayChars = vue.computed(() => {
|
|
10042
|
-
const display = maskDisplayValue.value;
|
|
10043
|
-
const placeholder = maskPlaceholderChar.value || resolvedPlaceholderChar.value;
|
|
10044
|
-
if (!display || !placeholder) return [];
|
|
10045
|
-
return [...display].map((char) => ({
|
|
10046
|
-
char,
|
|
10047
|
-
isPlaceholder: char === placeholder
|
|
10048
|
-
}));
|
|
10049
|
-
});
|
|
10050
|
-
function maskCharStyle(isPlaceholder) {
|
|
10051
|
-
if (isPlaceholder) {
|
|
10052
|
-
return { color: props.disabled ? "var(--color-gray-500)" : "var(--color-gray-400)" };
|
|
10053
|
-
}
|
|
10054
|
-
return { color: props.disabled ? "var(--color-gray-800)" : "var(--color-gray-900)" };
|
|
10055
|
-
}
|
|
10056
|
-
const inputClasses = vue.computed(() => {
|
|
10057
|
-
const shared = [
|
|
10058
|
-
"block rounded-md",
|
|
10059
|
-
maxlength.value ? "" : "w-full",
|
|
10060
|
-
inputPaddingRight.value,
|
|
10061
|
-
showDateIcon.value && "[&::-webkit-calendar-picker-indicator]:opacity-0 [&::-webkit-calendar-picker-indicator]:pointer-events-none",
|
|
10062
|
-
props.inputClass
|
|
10063
|
-
];
|
|
10064
|
-
if (useMaskPlaceholderStyle.value) {
|
|
10065
|
-
return [
|
|
10066
|
-
...shared,
|
|
10067
|
-
"relative z-[2] border-0 bg-transparent shadow-none focus:outline-none",
|
|
10068
|
-
maskFieldPaddingClasses,
|
|
10069
|
-
"text-base leading-6 tabular-nums",
|
|
10070
|
-
props.disabled ? "cursor-not-allowed" : ""
|
|
10071
|
-
];
|
|
10072
|
-
}
|
|
10073
|
-
return [
|
|
10074
|
-
...shared,
|
|
10075
|
-
"rounded-md border border-gray-500",
|
|
10076
|
-
maskFieldPaddingClasses,
|
|
10077
|
-
"focus:outline-2 focus:outline-blue-500 -outline-offset-2 focus:border-transparent",
|
|
10078
|
-
props.disabled ? "text-gray-800 outline-dashed outline-2 outline-gray-400 cursor-not-allowed border-transparent" : "text-gray-900 bg-white",
|
|
10079
|
-
isInvalid.value && "outline-2 outline-red-600"
|
|
10080
|
-
];
|
|
10081
|
-
});
|
|
10082
10033
|
const inputStyle = vue.computed(() => {
|
|
10083
|
-
|
|
10034
|
+
if (!maxlength.value) return void 0;
|
|
10035
|
+
return {
|
|
10084
10036
|
width: `calc(${maxlength.value}ch + 1.5rem + 0.25rem)`,
|
|
10085
10037
|
maxWidth: "100%"
|
|
10086
|
-
} : {};
|
|
10087
|
-
if (!useMaskPlaceholderStyle.value) {
|
|
10088
|
-
return size;
|
|
10089
|
-
}
|
|
10090
|
-
return {
|
|
10091
|
-
...size,
|
|
10092
|
-
color: "transparent",
|
|
10093
|
-
WebkitTextFillColor: "transparent",
|
|
10094
|
-
caretColor: props.disabled ? "#1f2937" : "#111827"
|
|
10095
10038
|
};
|
|
10096
10039
|
});
|
|
10097
10040
|
const rightIconsContainerClasses = vue.computed(() => [
|
|
10098
|
-
"absolute
|
|
10041
|
+
"absolute flex gap-2 top-1/2 -translate-y-1/2 items-center justify-end",
|
|
10099
10042
|
showClearButton.value ? "right-2" : "right-3"
|
|
10100
10043
|
]);
|
|
10101
10044
|
const inputBindings = vue.computed(() => ({
|
|
@@ -10115,7 +10058,6 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
10115
10058
|
internalValue.value = "";
|
|
10116
10059
|
if (maskInstance) {
|
|
10117
10060
|
maskInstance.value = "";
|
|
10118
|
-
vue.nextTick(syncMaskDisplay);
|
|
10119
10061
|
}
|
|
10120
10062
|
emit("clearInput");
|
|
10121
10063
|
}
|
|
@@ -10145,57 +10087,25 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
10145
10087
|
}
|
|
10146
10088
|
const inputRef = vue.ref(null);
|
|
10147
10089
|
let maskInstance = null;
|
|
10148
|
-
function getMaskEmittedValue(instance) {
|
|
10149
|
-
if (!instance) return "";
|
|
10150
|
-
const raw = String(instance.value ?? "");
|
|
10151
|
-
if (!useMaskPlaceholderStyle.value) return raw;
|
|
10152
|
-
const placeholder = instance.masked?.placeholderChar ?? resolvedPlaceholderChar.value;
|
|
10153
|
-
if (!placeholder) return raw;
|
|
10154
|
-
return raw.split(placeholder).join("").replace(/\s+$/, "");
|
|
10155
|
-
}
|
|
10156
|
-
function syncMaskDisplay() {
|
|
10157
|
-
if (!inputRef.value) {
|
|
10158
|
-
maskDisplayValue.value = "";
|
|
10159
|
-
maskPlaceholderChar.value = "";
|
|
10160
|
-
return;
|
|
10161
|
-
}
|
|
10162
|
-
maskPlaceholderChar.value = maskInstance?.masked?.placeholderChar ?? resolvedPlaceholderChar.value ?? "";
|
|
10163
|
-
maskDisplayValue.value = maskInstance?.displayValue ?? inputRef.value.value ?? maskInstance?.value ?? "";
|
|
10164
|
-
}
|
|
10165
10090
|
const createMask2 = () => {
|
|
10166
10091
|
if (maskInstance) {
|
|
10167
10092
|
maskInstance.destroy();
|
|
10168
10093
|
maskInstance = null;
|
|
10169
10094
|
}
|
|
10170
10095
|
if (props.mask && inputRef.value) {
|
|
10171
|
-
|
|
10096
|
+
maskInstance = IMask(inputRef.value, {
|
|
10172
10097
|
mask: props.mask,
|
|
10173
10098
|
...props.maskOptions,
|
|
10174
|
-
|
|
10175
|
-
|
|
10176
|
-
lazy: props.maskOptions?.lazy ?? false
|
|
10177
|
-
} : {}
|
|
10178
|
-
};
|
|
10179
|
-
maskInstance = IMask(inputRef.value, maskConfig);
|
|
10099
|
+
lazy: props.maskOptions?.lazy ?? true
|
|
10100
|
+
});
|
|
10180
10101
|
if (internalValue.value) {
|
|
10181
10102
|
maskInstance.value = internalValue.value;
|
|
10182
10103
|
}
|
|
10183
10104
|
maskInstance.on("accept", () => {
|
|
10184
10105
|
if (maskInstance) {
|
|
10185
|
-
internalValue.value =
|
|
10186
|
-
vue.nextTick(syncMaskDisplay);
|
|
10106
|
+
internalValue.value = maskInstance.value;
|
|
10187
10107
|
}
|
|
10188
10108
|
});
|
|
10189
|
-
maskInstance.on("complete", () => {
|
|
10190
|
-
vue.nextTick(syncMaskDisplay);
|
|
10191
|
-
});
|
|
10192
|
-
vue.nextTick(() => {
|
|
10193
|
-
syncMaskDisplay();
|
|
10194
|
-
vue.nextTick(syncMaskDisplay);
|
|
10195
|
-
});
|
|
10196
|
-
} else {
|
|
10197
|
-
maskDisplayValue.value = "";
|
|
10198
|
-
maskPlaceholderChar.value = "";
|
|
10199
10109
|
}
|
|
10200
10110
|
};
|
|
10201
10111
|
vue.onMounted(() => {
|
|
@@ -10224,7 +10134,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
10224
10134
|
return props.meta ? metaId.value : void 0;
|
|
10225
10135
|
});
|
|
10226
10136
|
vue.watch(
|
|
10227
|
-
() => [props.mask, props.
|
|
10137
|
+
() => [props.mask, props.maskOptions],
|
|
10228
10138
|
() => {
|
|
10229
10139
|
vue.nextTick(() => {
|
|
10230
10140
|
createMask2();
|
|
@@ -10232,13 +10142,23 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
10232
10142
|
},
|
|
10233
10143
|
{ deep: true }
|
|
10234
10144
|
);
|
|
10145
|
+
function shouldSyncMaskFromModel(newValue, currentMaskedValue) {
|
|
10146
|
+
if (newValue === void 0) {
|
|
10147
|
+
return false;
|
|
10148
|
+
}
|
|
10149
|
+
if (document.activeElement !== inputRef.value) {
|
|
10150
|
+
return true;
|
|
10151
|
+
}
|
|
10152
|
+
const newDigits = String(newValue).replace(/\D/g, "");
|
|
10153
|
+
const currentDigits = String(currentMaskedValue ?? "").replace(/\D/g, "");
|
|
10154
|
+
return newDigits !== currentDigits;
|
|
10155
|
+
}
|
|
10235
10156
|
vue.watch(
|
|
10236
10157
|
() => props.value,
|
|
10237
10158
|
(newValue) => {
|
|
10238
|
-
if (maskInstance && newValue !== void 0 && newValue !==
|
|
10239
|
-
if (
|
|
10159
|
+
if (maskInstance && newValue !== void 0 && newValue !== maskInstance.value) {
|
|
10160
|
+
if (shouldSyncMaskFromModel(newValue, maskInstance.value)) {
|
|
10240
10161
|
maskInstance.value = newValue;
|
|
10241
|
-
vue.nextTick(syncMaskDisplay);
|
|
10242
10162
|
}
|
|
10243
10163
|
}
|
|
10244
10164
|
}
|
|
@@ -10246,10 +10166,9 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
10246
10166
|
vue.watch(
|
|
10247
10167
|
() => modelValue.value,
|
|
10248
10168
|
(newValue) => {
|
|
10249
|
-
if (maskInstance && newValue !== void 0 && newValue !==
|
|
10250
|
-
if (
|
|
10169
|
+
if (maskInstance && newValue !== void 0 && newValue !== maskInstance.value) {
|
|
10170
|
+
if (shouldSyncMaskFromModel(newValue, maskInstance.value)) {
|
|
10251
10171
|
maskInstance.value = newValue;
|
|
10252
|
-
vue.nextTick(syncMaskDisplay);
|
|
10253
10172
|
}
|
|
10254
10173
|
}
|
|
10255
10174
|
}
|
|
@@ -10269,8 +10188,8 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
10269
10188
|
for: inputId.value,
|
|
10270
10189
|
id: labelId.value,
|
|
10271
10190
|
class: ["block font-bold text-gray-900 cursor-pointer", { "mb-0": props.meta, "mb-1": !props.meta }]
|
|
10272
|
-
}, labelAttrs.value), vue.toDisplayString(props.label), 17, _hoisted_1$
|
|
10273
|
-
props.meta ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
10191
|
+
}, labelAttrs.value), vue.toDisplayString(props.label), 17, _hoisted_1$k)) : vue.createCommentVNode("", true),
|
|
10192
|
+
props.meta ? (vue.openBlock(), vue.createBlock(_sfc_main$t, {
|
|
10274
10193
|
key: 1,
|
|
10275
10194
|
id: metaId.value,
|
|
10276
10195
|
class: vue.normalizeClass({ "mb-1": !props.labelLeft })
|
|
@@ -10284,9 +10203,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
10284
10203
|
vue.createElementVNode("div", {
|
|
10285
10204
|
class: vue.normalizeClass({ "flex-1": props.labelLeft })
|
|
10286
10205
|
}, [
|
|
10287
|
-
vue.createElementVNode("div",
|
|
10288
|
-
class: vue.normalizeClass(["relative", maskFieldWrapperClasses.value])
|
|
10289
|
-
}, [
|
|
10206
|
+
vue.createElementVNode("div", _hoisted_2$f, [
|
|
10290
10207
|
vue.createElementVNode("input", vue.mergeProps({
|
|
10291
10208
|
ref_key: "inputRef",
|
|
10292
10209
|
ref: inputRef,
|
|
@@ -10307,30 +10224,17 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
10307
10224
|
}, inputBindings.value, {
|
|
10308
10225
|
onInput: handleInputChange,
|
|
10309
10226
|
onChange: handleInputChange,
|
|
10310
|
-
|
|
10311
|
-
|
|
10227
|
+
onAutocomplete: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("autocomplete", $event)),
|
|
10228
|
+
onBlur: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("blur", $event)),
|
|
10229
|
+
onKeyup: _cache[2] || (_cache[2] = (ev) => {
|
|
10312
10230
|
_ctx.$emit("keyup", ev);
|
|
10313
10231
|
if (ev.key === "Enter") _ctx.$emit("keyup.enter", ev);
|
|
10314
10232
|
})
|
|
10315
|
-
}), null, 16,
|
|
10316
|
-
useMaskPlaceholderStyle.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
10317
|
-
key: 0,
|
|
10318
|
-
class: vue.normalizeClass(maskOverlayClasses.value),
|
|
10319
|
-
"aria-hidden": "true"
|
|
10320
|
-
}, [
|
|
10321
|
-
vue.createElementVNode("span", _hoisted_3$f, [
|
|
10322
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(maskDisplayChars.value, (item, index) => {
|
|
10323
|
-
return vue.openBlock(), vue.createElementBlock("span", {
|
|
10324
|
-
key: index,
|
|
10325
|
-
style: vue.normalizeStyle(maskCharStyle(item.isPlaceholder))
|
|
10326
|
-
}, vue.toDisplayString(item.char), 5);
|
|
10327
|
-
}), 128))
|
|
10328
|
-
])
|
|
10329
|
-
], 2)) : vue.createCommentVNode("", true),
|
|
10233
|
+
}), null, 16, _hoisted_3$f),
|
|
10330
10234
|
vue.createElementVNode("div", {
|
|
10331
10235
|
class: vue.normalizeClass(rightIconsContainerClasses.value)
|
|
10332
10236
|
}, [
|
|
10333
|
-
showDateIcon.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
10237
|
+
showDateIcon.value ? (vue.openBlock(), vue.createBlock(_sfc_main$M, {
|
|
10334
10238
|
key: 0,
|
|
10335
10239
|
"aria-label": dateButtonLabel.value,
|
|
10336
10240
|
onClick: onDateIconClick,
|
|
@@ -10338,29 +10242,29 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
10338
10242
|
size: 28,
|
|
10339
10243
|
class: "fill-blue-500"
|
|
10340
10244
|
}, null, 8, ["aria-label"])) : vue.createCommentVNode("", true),
|
|
10341
|
-
isInvalid.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
10245
|
+
isInvalid.value ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
|
|
10342
10246
|
key: 1,
|
|
10343
10247
|
name: "alert",
|
|
10344
10248
|
class: "fill-red-700"
|
|
10345
10249
|
})) : vue.createCommentVNode("", true),
|
|
10346
|
-
isValid2.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
10250
|
+
isValid2.value ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
|
|
10347
10251
|
key: 2,
|
|
10348
10252
|
name: "bigSuccess"
|
|
10349
10253
|
})) : vue.createCommentVNode("", true),
|
|
10350
|
-
props.searchIcon ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
10254
|
+
props.searchIcon ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
|
|
10351
10255
|
key: 3,
|
|
10352
10256
|
name: "search",
|
|
10353
10257
|
size: 24,
|
|
10354
10258
|
class: "fill-blue-500"
|
|
10355
10259
|
})) : vue.createCommentVNode("", true),
|
|
10356
|
-
showClearButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
10260
|
+
showClearButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$M, vue.mergeProps({
|
|
10357
10261
|
key: 4,
|
|
10358
10262
|
icon: "cross"
|
|
10359
10263
|
}, { "aria-label": clearButtonLabel.value }, {
|
|
10360
10264
|
onClick: onClear,
|
|
10361
10265
|
size: 30
|
|
10362
10266
|
}), null, 16)) : vue.createCommentVNode("", true),
|
|
10363
|
-
showPasswordToggle.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
10267
|
+
showPasswordToggle.value ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
|
|
10364
10268
|
key: 5,
|
|
10365
10269
|
icon: showPassword.value ? "viewOff" : "viewOn",
|
|
10366
10270
|
text: showPassword.value ? passwordButtonHideLabel.value : passwordButtonShowLabel.value,
|
|
@@ -10368,11 +10272,11 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
10368
10272
|
}, null, 8, ["icon", "text"])) : vue.createCommentVNode("", true)
|
|
10369
10273
|
], 2),
|
|
10370
10274
|
showTodaySuffixInField.value ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
10371
|
-
key:
|
|
10275
|
+
key: 0,
|
|
10372
10276
|
class: vue.normalizeClass(todaySuffixClasses.value),
|
|
10373
10277
|
style: vue.normalizeStyle(todaySuffixStyle.value)
|
|
10374
10278
|
}, vue.toDisplayString(todayLabel.value), 7)) : vue.createCommentVNode("", true)
|
|
10375
|
-
]
|
|
10279
|
+
])
|
|
10376
10280
|
], 2)
|
|
10377
10281
|
], 2),
|
|
10378
10282
|
showInvalidMessage.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$e, vue.toDisplayString(props.invalidMessage), 1)) : vue.createCommentVNode("", true)
|
|
@@ -10380,7 +10284,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
10380
10284
|
};
|
|
10381
10285
|
}
|
|
10382
10286
|
});
|
|
10383
|
-
const _sfc_main$
|
|
10287
|
+
const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
10384
10288
|
__name: "FdsTabs",
|
|
10385
10289
|
props: {
|
|
10386
10290
|
block: { type: Boolean, default: false },
|
|
@@ -10413,7 +10317,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
|
10413
10317
|
};
|
|
10414
10318
|
}
|
|
10415
10319
|
});
|
|
10416
|
-
const _sfc_main$
|
|
10320
|
+
const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
10417
10321
|
...{
|
|
10418
10322
|
inheritAttrs: false
|
|
10419
10323
|
},
|
|
@@ -10528,7 +10432,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
|
10528
10432
|
};
|
|
10529
10433
|
}
|
|
10530
10434
|
});
|
|
10531
|
-
const _hoisted_1$
|
|
10435
|
+
const _hoisted_1$j = { class: "space-y-6" };
|
|
10532
10436
|
const _hoisted_2$e = {
|
|
10533
10437
|
key: 0,
|
|
10534
10438
|
class: "text-sm text-gray-600"
|
|
@@ -10627,7 +10531,7 @@ const _hoisted_59 = {
|
|
|
10627
10531
|
class: "mt-2"
|
|
10628
10532
|
};
|
|
10629
10533
|
const _hoisted_60 = { class: "mt-4 flex justify-end gap-3" };
|
|
10630
|
-
const _sfc_main$
|
|
10534
|
+
const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
10631
10535
|
__name: "FdsDevModeStorage",
|
|
10632
10536
|
props: {
|
|
10633
10537
|
open: { type: Boolean, default: false },
|
|
@@ -10800,7 +10704,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
10800
10704
|
loadStorageEntries();
|
|
10801
10705
|
};
|
|
10802
10706
|
return (_ctx, _cache) => {
|
|
10803
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
10707
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$u, {
|
|
10804
10708
|
open: isOpen.value,
|
|
10805
10709
|
heading: "DevTools",
|
|
10806
10710
|
size: "xl",
|
|
@@ -10810,31 +10714,31 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
10810
10714
|
onClose: _cache[11] || (_cache[11] = () => handleOpenChange(false))
|
|
10811
10715
|
}, {
|
|
10812
10716
|
default: vue.withCtx(() => [
|
|
10813
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
10814
|
-
vue.createVNode(_sfc_main$
|
|
10717
|
+
vue.createElementVNode("div", _hoisted_1$j, [
|
|
10718
|
+
vue.createVNode(_sfc_main$r, {
|
|
10815
10719
|
variant: "secondary",
|
|
10816
10720
|
class: "flex-wrap overflow-visible! *:w-auto!"
|
|
10817
10721
|
}, {
|
|
10818
10722
|
default: vue.withCtx(() => [
|
|
10819
|
-
vue.createVNode(_sfc_main$
|
|
10723
|
+
vue.createVNode(_sfc_main$q, {
|
|
10820
10724
|
label: vue.unref(t)("FdsDevModeStorage.tabs.localStorage"),
|
|
10821
10725
|
active: activeTab.value === "local",
|
|
10822
10726
|
as: "button",
|
|
10823
10727
|
onClick: _cache[0] || (_cache[0] = ($event) => activeTab.value = "local")
|
|
10824
10728
|
}, null, 8, ["label", "active"]),
|
|
10825
|
-
vue.createVNode(_sfc_main$
|
|
10729
|
+
vue.createVNode(_sfc_main$q, {
|
|
10826
10730
|
label: vue.unref(t)("FdsDevModeStorage.tabs.sessionStorage"),
|
|
10827
10731
|
active: activeTab.value === "session",
|
|
10828
10732
|
as: "button",
|
|
10829
10733
|
onClick: _cache[1] || (_cache[1] = ($event) => activeTab.value = "session")
|
|
10830
10734
|
}, null, 8, ["label", "active"]),
|
|
10831
|
-
vue.createVNode(_sfc_main$
|
|
10735
|
+
vue.createVNode(_sfc_main$q, {
|
|
10832
10736
|
label: vue.unref(t)("FdsDevModeStorage.tabs.cookies"),
|
|
10833
10737
|
active: activeTab.value === "cookies",
|
|
10834
10738
|
as: "button",
|
|
10835
10739
|
onClick: _cache[2] || (_cache[2] = ($event) => activeTab.value = "cookies")
|
|
10836
10740
|
}, null, 8, ["label", "active"]),
|
|
10837
|
-
vue.createVNode(_sfc_main$
|
|
10741
|
+
vue.createVNode(_sfc_main$q, {
|
|
10838
10742
|
label: vue.unref(t)("FdsDevModeStorage.tabs.actions"),
|
|
10839
10743
|
active: activeTab.value === "actions",
|
|
10840
10744
|
as: "button",
|
|
@@ -10843,7 +10747,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
10843
10747
|
]),
|
|
10844
10748
|
_: 1
|
|
10845
10749
|
}),
|
|
10846
|
-
activeTab.value === "local" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
10750
|
+
activeTab.value === "local" ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
|
|
10847
10751
|
key: 0,
|
|
10848
10752
|
heading: vue.unref(t)("FdsDevModeStorage.tabs.localStorage"),
|
|
10849
10753
|
icon: "information",
|
|
@@ -10897,12 +10801,12 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
10897
10801
|
])
|
|
10898
10802
|
]),
|
|
10899
10803
|
localEditKey.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_18, [
|
|
10900
|
-
vue.createVNode(_sfc_main$
|
|
10804
|
+
vue.createVNode(_sfc_main$A, {
|
|
10901
10805
|
text: vue.unref(t)("FdsDevModeStorage.actions.delete"),
|
|
10902
10806
|
size: "sm",
|
|
10903
10807
|
onClick: deleteLocalEntry
|
|
10904
10808
|
}, null, 8, ["text"]),
|
|
10905
|
-
vue.createVNode(_sfc_main$
|
|
10809
|
+
vue.createVNode(_sfc_main$B, {
|
|
10906
10810
|
text: vue.unref(t)("FdsDevModeStorage.actions.save"),
|
|
10907
10811
|
size: "sm",
|
|
10908
10812
|
onClick: saveLocalEntry
|
|
@@ -10911,7 +10815,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
10911
10815
|
])
|
|
10912
10816
|
]),
|
|
10913
10817
|
_: 1
|
|
10914
|
-
}, 8, ["heading"])) : activeTab.value === "session" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
10818
|
+
}, 8, ["heading"])) : activeTab.value === "session" ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
|
|
10915
10819
|
key: 1,
|
|
10916
10820
|
heading: vue.unref(t)("FdsDevModeStorage.tabs.sessionStorage"),
|
|
10917
10821
|
icon: "information",
|
|
@@ -10965,12 +10869,12 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
10965
10869
|
])
|
|
10966
10870
|
]),
|
|
10967
10871
|
sessionEditKey.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_35, [
|
|
10968
|
-
vue.createVNode(_sfc_main$
|
|
10872
|
+
vue.createVNode(_sfc_main$A, {
|
|
10969
10873
|
text: vue.unref(t)("FdsDevModeStorage.actions.delete"),
|
|
10970
10874
|
size: "sm",
|
|
10971
10875
|
onClick: deleteSessionEntry
|
|
10972
10876
|
}, null, 8, ["text"]),
|
|
10973
|
-
vue.createVNode(_sfc_main$
|
|
10877
|
+
vue.createVNode(_sfc_main$B, {
|
|
10974
10878
|
text: vue.unref(t)("FdsDevModeStorage.actions.save"),
|
|
10975
10879
|
size: "sm",
|
|
10976
10880
|
onClick: saveSessionEntry
|
|
@@ -10979,7 +10883,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
10979
10883
|
])
|
|
10980
10884
|
]),
|
|
10981
10885
|
_: 1
|
|
10982
|
-
}, 8, ["heading"])) : activeTab.value === "cookies" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
10886
|
+
}, 8, ["heading"])) : activeTab.value === "cookies" ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
|
|
10983
10887
|
key: 2,
|
|
10984
10888
|
heading: vue.unref(t)("FdsDevModeStorage.tabs.cookies"),
|
|
10985
10889
|
icon: "information",
|
|
@@ -11033,12 +10937,12 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
11033
10937
|
])
|
|
11034
10938
|
]),
|
|
11035
10939
|
cookieEditKey.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_52, [
|
|
11036
|
-
vue.createVNode(_sfc_main$
|
|
10940
|
+
vue.createVNode(_sfc_main$A, {
|
|
11037
10941
|
text: vue.unref(t)("FdsDevModeStorage.actions.delete"),
|
|
11038
10942
|
size: "sm",
|
|
11039
10943
|
onClick: deleteCookieEntry
|
|
11040
10944
|
}, null, 8, ["text"]),
|
|
11041
|
-
vue.createVNode(_sfc_main$
|
|
10945
|
+
vue.createVNode(_sfc_main$B, {
|
|
11042
10946
|
text: vue.unref(t)("FdsDevModeStorage.actions.save"),
|
|
11043
10947
|
size: "sm",
|
|
11044
10948
|
onClick: saveCookieEntry
|
|
@@ -11047,7 +10951,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
11047
10951
|
])
|
|
11048
10952
|
]),
|
|
11049
10953
|
_: 1
|
|
11050
|
-
}, 8, ["heading"])) : activeTab.value === "actions" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
10954
|
+
}, 8, ["heading"])) : activeTab.value === "actions" ? (vue.openBlock(), vue.createBlock(_sfc_main$H, {
|
|
11051
10955
|
key: 3,
|
|
11052
10956
|
heading: vue.unref(t)("FdsDevModeStorage.tabs.actions"),
|
|
11053
10957
|
icon: "information",
|
|
@@ -11065,14 +10969,14 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
11065
10969
|
vue.createElementVNode("div", _hoisted_57, vue.toDisplayString(action.label), 1),
|
|
11066
10970
|
action.description ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_58, vue.toDisplayString(action.description), 1)) : vue.createCommentVNode("", true)
|
|
11067
10971
|
]),
|
|
11068
|
-
vue.createVNode(_sfc_main$
|
|
10972
|
+
vue.createVNode(_sfc_main$A, {
|
|
11069
10973
|
text: action.label,
|
|
11070
10974
|
size: "sm",
|
|
11071
10975
|
onClick: ($event) => runAction(index, action)
|
|
11072
10976
|
}, null, 8, ["text", "onClick"])
|
|
11073
10977
|
]),
|
|
11074
10978
|
action.input ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_59, [
|
|
11075
|
-
vue.createVNode(_sfc_main$
|
|
10979
|
+
vue.createVNode(_sfc_main$s, {
|
|
11076
10980
|
type: action.input.type ?? "text",
|
|
11077
10981
|
modelValue: getActionInputValue(index, action.input.defaultValue),
|
|
11078
10982
|
placeholder: action.input.placeholder,
|
|
@@ -11086,11 +10990,11 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
11086
10990
|
_: 1
|
|
11087
10991
|
}, 8, ["heading"])) : vue.createCommentVNode("", true),
|
|
11088
10992
|
vue.createElementVNode("div", _hoisted_60, [
|
|
11089
|
-
vue.createVNode(_sfc_main$
|
|
10993
|
+
vue.createVNode(_sfc_main$A, {
|
|
11090
10994
|
text: vue.unref(t)("FdsDevModeStorage.actions.refresh"),
|
|
11091
10995
|
onClick: refreshStorageEntries
|
|
11092
10996
|
}, null, 8, ["text"]),
|
|
11093
|
-
vue.createVNode(_sfc_main$
|
|
10997
|
+
vue.createVNode(_sfc_main$B, {
|
|
11094
10998
|
text: vue.unref(t)("FdsDevModeStorage.actions.close"),
|
|
11095
10999
|
onClick: _cache[10] || (_cache[10] = ($event) => handleOpenChange(false))
|
|
11096
11000
|
}, null, 8, ["text"])
|
|
@@ -11102,11 +11006,11 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
11102
11006
|
};
|
|
11103
11007
|
}
|
|
11104
11008
|
});
|
|
11105
|
-
const _hoisted_1$
|
|
11009
|
+
const _hoisted_1$i = { class: "relative px-2 py-1" };
|
|
11106
11010
|
const _hoisted_2$d = { class: "flex flex-col sm:flex-row items-center gap-2 sm:gap-1" };
|
|
11107
11011
|
const _hoisted_3$d = { class: "flex items-center gap-1" };
|
|
11108
11012
|
const _hoisted_4$c = { class: "flex items-center gap-1" };
|
|
11109
|
-
const _sfc_main$
|
|
11013
|
+
const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
11110
11014
|
__name: "FdsDevMode",
|
|
11111
11015
|
props: /* @__PURE__ */ vue.mergeModels({
|
|
11112
11016
|
environment: { default: null },
|
|
@@ -11268,8 +11172,8 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
11268
11172
|
onMousedown: _cache[1] || (_cache[1] = //@ts-ignore
|
|
11269
11173
|
(...args) => vue.unref(onDragStart) && vue.unref(onDragStart)(...args))
|
|
11270
11174
|
}, [
|
|
11271
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
11272
|
-
vue.unref(isDevMode) ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
11175
|
+
vue.createElementVNode("div", _hoisted_1$i, [
|
|
11176
|
+
vue.unref(isDevMode) ? (vue.openBlock(), vue.createBlock(_sfc_main$v, {
|
|
11273
11177
|
key: 0,
|
|
11274
11178
|
environment: __props.environment,
|
|
11275
11179
|
toggles: overlayToggles.value,
|
|
@@ -11279,7 +11183,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
11279
11183
|
}, null, 8, ["environment", "toggles"])) : vue.createCommentVNode("", true),
|
|
11280
11184
|
vue.createElementVNode("div", _hoisted_2$d, [
|
|
11281
11185
|
vue.createElementVNode("div", _hoisted_3$d, [
|
|
11282
|
-
vue.createVNode(_sfc_main$
|
|
11186
|
+
vue.createVNode(_sfc_main$z, { "popover-class": envBannerClasses.value }, null, 8, ["popover-class"]),
|
|
11283
11187
|
vue.createElementVNode("span", null, vue.toDisplayString(vue.unref(environmentText)), 1)
|
|
11284
11188
|
]),
|
|
11285
11189
|
vue.createElementVNode("div", _hoisted_4$c, [
|
|
@@ -11288,13 +11192,13 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
11288
11192
|
(...args) => vue.unref(toggleDevMode) && vue.unref(toggleDevMode)(...args)),
|
|
11289
11193
|
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"
|
|
11290
11194
|
}, vue.toDisplayString(devModeButtonText.value), 1),
|
|
11291
|
-
vue.createVNode(_sfc_main$
|
|
11195
|
+
vue.createVNode(_sfc_main$M, {
|
|
11292
11196
|
icon: "settings",
|
|
11293
11197
|
size: 24,
|
|
11294
11198
|
class: vue.normalizeClass(envBannerFillColor.value),
|
|
11295
11199
|
onClick: openStorageModal
|
|
11296
11200
|
}, null, 8, ["class"]),
|
|
11297
|
-
vue.createVNode(_sfc_main$
|
|
11201
|
+
vue.createVNode(_sfc_main$M, {
|
|
11298
11202
|
onClick: handleEnvBanner,
|
|
11299
11203
|
icon: "cross",
|
|
11300
11204
|
size: 24,
|
|
@@ -11304,7 +11208,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
11304
11208
|
])
|
|
11305
11209
|
])
|
|
11306
11210
|
], 38)) : vue.createCommentVNode("", true),
|
|
11307
|
-
vue.createVNode(_sfc_main$
|
|
11211
|
+
vue.createVNode(_sfc_main$p, {
|
|
11308
11212
|
open: isStorageModalOpen.value,
|
|
11309
11213
|
"onUpdate:open": _cache[2] || (_cache[2] = ($event) => isStorageModalOpen.value = $event),
|
|
11310
11214
|
customActions: __props.customActions
|
|
@@ -11313,8 +11217,8 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
11313
11217
|
};
|
|
11314
11218
|
}
|
|
11315
11219
|
});
|
|
11316
|
-
const _hoisted_1$
|
|
11317
|
-
const _sfc_main$
|
|
11220
|
+
const _hoisted_1$h = { class: "flex justify-between gap-6 w-full" };
|
|
11221
|
+
const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
11318
11222
|
__name: "FdsExitModal",
|
|
11319
11223
|
props: {
|
|
11320
11224
|
showExitConfirmModal: {},
|
|
@@ -11329,7 +11233,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
11329
11233
|
const props = __props;
|
|
11330
11234
|
const isOpen = vue.computed(() => props.showExitConfirmModal.value);
|
|
11331
11235
|
return (_ctx, _cache) => {
|
|
11332
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
11236
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$u, {
|
|
11333
11237
|
heading: props.heading,
|
|
11334
11238
|
size: "sm",
|
|
11335
11239
|
open: isOpen.value,
|
|
@@ -11337,13 +11241,13 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
11337
11241
|
onClose: props.cancelExit
|
|
11338
11242
|
}, {
|
|
11339
11243
|
"modal-footer": vue.withCtx(() => [
|
|
11340
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
11341
|
-
vue.createVNode(_sfc_main$
|
|
11244
|
+
vue.createElementVNode("div", _hoisted_1$h, [
|
|
11245
|
+
vue.createVNode(_sfc_main$A, {
|
|
11342
11246
|
text: props.stayText,
|
|
11343
11247
|
onClick: props.cancelExit,
|
|
11344
11248
|
block: ""
|
|
11345
11249
|
}, null, 8, ["text", "onClick"]),
|
|
11346
|
-
vue.createVNode(_sfc_main$
|
|
11250
|
+
vue.createVNode(_sfc_main$A, {
|
|
11347
11251
|
text: props.leaveText,
|
|
11348
11252
|
onClick: props.confirmExit,
|
|
11349
11253
|
block: ""
|
|
@@ -11378,12 +11282,12 @@ function debounce(fn, delayMs) {
|
|
|
11378
11282
|
};
|
|
11379
11283
|
return debounced;
|
|
11380
11284
|
}
|
|
11381
|
-
const _hoisted_1$
|
|
11285
|
+
const _hoisted_1$g = ["id"];
|
|
11382
11286
|
const _hoisted_2$c = { class: "flex items-center justify-start gap-1 w-[100px]" };
|
|
11383
11287
|
const _hoisted_3$c = { class: "flex items-center justify-center w-auto gap-2 order-0 sm:order-0" };
|
|
11384
11288
|
const _hoisted_4$b = { class: "whitespace-nowrap" };
|
|
11385
11289
|
const _hoisted_5$b = { class: "flex items-center justify-end gap-1 order-2 sm:order-0 w-[100px]" };
|
|
11386
|
-
const _sfc_main$
|
|
11290
|
+
const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
11387
11291
|
__name: "FdsPagination",
|
|
11388
11292
|
props: {
|
|
11389
11293
|
current: {},
|
|
@@ -11473,11 +11377,11 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
11473
11377
|
id: inputId.value
|
|
11474
11378
|
}, rootAttrs.value), [
|
|
11475
11379
|
vue.createElementVNode("div", _hoisted_2$c, [
|
|
11476
|
-
__props.loading && loadingIndicator.value === "start" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
11380
|
+
__props.loading && loadingIndicator.value === "start" ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
|
|
11477
11381
|
key: 0,
|
|
11478
11382
|
size: "32px",
|
|
11479
11383
|
color: "blue"
|
|
11480
|
-
})) : (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
11384
|
+
})) : (vue.openBlock(), vue.createBlock(_sfc_main$M, vue.mergeProps({ key: 1 }, { "aria-disabled": __props.current === 1 }, {
|
|
11481
11385
|
type: "button",
|
|
11482
11386
|
"aria-label": firstPageLabel.value,
|
|
11483
11387
|
icon: "first",
|
|
@@ -11486,11 +11390,11 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
11486
11390
|
class: [{ "hidden!": __props.current === 1 }, "w-8 h-8 sm:w-12 sm:h-12"],
|
|
11487
11391
|
onClick: _cache[0] || (_cache[0] = ($event) => handlePagination("start"))
|
|
11488
11392
|
}), null, 16, ["aria-label", "disabled", "class"])),
|
|
11489
|
-
__props.loading && loadingIndicator.value === "prev" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
11393
|
+
__props.loading && loadingIndicator.value === "prev" ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
|
|
11490
11394
|
key: 2,
|
|
11491
11395
|
size: "24px",
|
|
11492
11396
|
color: "blue"
|
|
11493
|
-
})) : (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
11397
|
+
})) : (vue.openBlock(), vue.createBlock(_sfc_main$M, vue.mergeProps({ key: 3 }, { "aria-disabled": __props.current === 1 }, {
|
|
11494
11398
|
type: "button",
|
|
11495
11399
|
"aria-label": prevPageLabel.value,
|
|
11496
11400
|
icon: "arrowLeft",
|
|
@@ -11501,14 +11405,14 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
11501
11405
|
}), null, 16, ["aria-label", "disabled", "class"]))
|
|
11502
11406
|
]),
|
|
11503
11407
|
vue.createElementVNode("div", _hoisted_3$c, [
|
|
11504
|
-
__props.loading && loadingIndicator.value === "input" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
11408
|
+
__props.loading && loadingIndicator.value === "input" ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
|
|
11505
11409
|
key: 0,
|
|
11506
11410
|
size: "24px",
|
|
11507
11411
|
color: "blue",
|
|
11508
11412
|
label: loadingLabel.value,
|
|
11509
11413
|
"label-position": "right"
|
|
11510
11414
|
}, null, 8, ["label"])) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
11511
|
-
vue.createVNode(_sfc_main$
|
|
11415
|
+
vue.createVNode(_sfc_main$s, {
|
|
11512
11416
|
style: { "text-align": "center" },
|
|
11513
11417
|
value: inputValue.value,
|
|
11514
11418
|
type: "text",
|
|
@@ -11522,11 +11426,11 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
11522
11426
|
], 64))
|
|
11523
11427
|
]),
|
|
11524
11428
|
vue.createElementVNode("div", _hoisted_5$b, [
|
|
11525
|
-
__props.loading && loadingIndicator.value === "next" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
11429
|
+
__props.loading && loadingIndicator.value === "next" ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
|
|
11526
11430
|
key: 0,
|
|
11527
11431
|
size: "24px",
|
|
11528
11432
|
color: "blue"
|
|
11529
|
-
})) : (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
11433
|
+
})) : (vue.openBlock(), vue.createBlock(_sfc_main$M, vue.mergeProps({
|
|
11530
11434
|
key: 1,
|
|
11531
11435
|
type: "button",
|
|
11532
11436
|
"aria-label": nextPageLabel.value,
|
|
@@ -11537,11 +11441,11 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
11537
11441
|
class: [{ "hidden!": __props.current === __props.max }, "w-8 h-8 sm:w-12 sm:h-12"],
|
|
11538
11442
|
onClick: _cache[2] || (_cache[2] = ($event) => handlePagination("next"))
|
|
11539
11443
|
}), null, 16, ["aria-label", "disabled", "class"])),
|
|
11540
|
-
__props.loading && loadingIndicator.value === "end" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
11444
|
+
__props.loading && loadingIndicator.value === "end" ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
|
|
11541
11445
|
key: 2,
|
|
11542
11446
|
size: "24px",
|
|
11543
11447
|
color: "blue"
|
|
11544
|
-
})) : (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
11448
|
+
})) : (vue.openBlock(), vue.createBlock(_sfc_main$M, vue.mergeProps({
|
|
11545
11449
|
key: 3,
|
|
11546
11450
|
type: "button",
|
|
11547
11451
|
"aria-label": lastPageLabel.value,
|
|
@@ -11553,11 +11457,11 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
11553
11457
|
onClick: _cache[3] || (_cache[3] = ($event) => handlePagination("end"))
|
|
11554
11458
|
}), null, 16, ["aria-label", "disabled", "class"]))
|
|
11555
11459
|
])
|
|
11556
|
-
], 16, _hoisted_1$
|
|
11460
|
+
], 16, _hoisted_1$g);
|
|
11557
11461
|
};
|
|
11558
11462
|
}
|
|
11559
11463
|
});
|
|
11560
|
-
const _hoisted_1$
|
|
11464
|
+
const _hoisted_1$f = { class: "inline-flex" };
|
|
11561
11465
|
const _hoisted_2$b = ["onKeydown"];
|
|
11562
11466
|
const _hoisted_3$b = ["aria-label"];
|
|
11563
11467
|
const _hoisted_4$a = { class: "mb-1 flex items-start justify-between gap-2" };
|
|
@@ -11567,7 +11471,7 @@ const _hoisted_6$7 = {
|
|
|
11567
11471
|
class: "flex items-center gap-2"
|
|
11568
11472
|
};
|
|
11569
11473
|
const _hoisted_7$7 = { class: "mb-0! min-w-0 grow whitespace-normal wrap-break-word" };
|
|
11570
|
-
const _sfc_main$
|
|
11474
|
+
const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
11571
11475
|
__name: "FdsPopover",
|
|
11572
11476
|
props: {
|
|
11573
11477
|
open: { type: Boolean, default: false },
|
|
@@ -11675,7 +11579,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
11675
11579
|
return attrs;
|
|
11676
11580
|
});
|
|
11677
11581
|
return (_ctx, _cache) => {
|
|
11678
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
11582
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [
|
|
11679
11583
|
vue.createElementVNode("span", {
|
|
11680
11584
|
class: vue.normalizeClass(triggerClasses.value),
|
|
11681
11585
|
style: vue.normalizeStyle(triggerStyle.value)
|
|
@@ -11703,13 +11607,13 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
11703
11607
|
}, { ...popoverAttrs.value, popover: "auto" }), [
|
|
11704
11608
|
__props.label ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
11705
11609
|
vue.createElementVNode("div", _hoisted_4$a, [
|
|
11706
|
-
vue.createVNode(_sfc_main$
|
|
11610
|
+
vue.createVNode(_sfc_main$w, { class: "mb-0! min-w-0 grow balance-text whitespace-normal" }, {
|
|
11707
11611
|
default: vue.withCtx(() => [
|
|
11708
11612
|
vue.createTextVNode(vue.toDisplayString(__props.label), 1)
|
|
11709
11613
|
]),
|
|
11710
11614
|
_: 1
|
|
11711
11615
|
}),
|
|
11712
|
-
vue.createVNode(_sfc_main$
|
|
11616
|
+
vue.createVNode(_sfc_main$M, {
|
|
11713
11617
|
icon: "cross",
|
|
11714
11618
|
size: 28,
|
|
11715
11619
|
"aria-label": __props.closeAriaLabel,
|
|
@@ -11727,7 +11631,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
11727
11631
|
vue.createTextVNode(vue.toDisplayString(__props.body), 1)
|
|
11728
11632
|
])
|
|
11729
11633
|
]),
|
|
11730
|
-
vue.createVNode(_sfc_main$
|
|
11634
|
+
vue.createVNode(_sfc_main$M, {
|
|
11731
11635
|
icon: "cross",
|
|
11732
11636
|
size: 28,
|
|
11733
11637
|
"aria-label": __props.closeAriaLabel,
|
|
@@ -11812,7 +11716,7 @@ function useIsPid(value) {
|
|
|
11812
11716
|
isPid
|
|
11813
11717
|
};
|
|
11814
11718
|
}
|
|
11815
|
-
const _hoisted_1$
|
|
11719
|
+
const _hoisted_1$e = { class: "relative block" };
|
|
11816
11720
|
const _hoisted_2$a = {
|
|
11817
11721
|
key: 0,
|
|
11818
11722
|
class: "relative"
|
|
@@ -11832,7 +11736,7 @@ const _hoisted_10$2 = {
|
|
|
11832
11736
|
class: "block m-0 list-none p-0"
|
|
11833
11737
|
};
|
|
11834
11738
|
const _hoisted_11$2 = { class: "p-4" };
|
|
11835
|
-
const _sfc_main$
|
|
11739
|
+
const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
11836
11740
|
__name: "FdsSearchSelect",
|
|
11837
11741
|
props: {
|
|
11838
11742
|
items: { default: () => [] },
|
|
@@ -12222,10 +12126,10 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
12222
12126
|
ref: componentRef,
|
|
12223
12127
|
class: "fds-search-select block mb-6"
|
|
12224
12128
|
}, rootAttrs.value), [
|
|
12225
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
12129
|
+
vue.createElementVNode("div", _hoisted_1$e, [
|
|
12226
12130
|
!singleItemName.value.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$a, [
|
|
12227
12131
|
vue.createElementVNode("div", _hoisted_3$a, [
|
|
12228
|
-
vue.createVNode(_sfc_main$
|
|
12132
|
+
vue.createVNode(_sfc_main$s, vue.mergeProps({
|
|
12229
12133
|
ref_key: "inputComponentRef",
|
|
12230
12134
|
ref: inputComponentRef,
|
|
12231
12135
|
label: __props.label,
|
|
@@ -12259,7 +12163,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
12259
12163
|
style: vue.normalizeStyle(listWrapperStyle.value)
|
|
12260
12164
|
}, [
|
|
12261
12165
|
__props.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$6, [
|
|
12262
|
-
vue.createVNode(_sfc_main$
|
|
12166
|
+
vue.createVNode(_sfc_main$F, {
|
|
12263
12167
|
color: "blue",
|
|
12264
12168
|
size: "48px"
|
|
12265
12169
|
})
|
|
@@ -12303,7 +12207,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
12303
12207
|
], 42, _hoisted_7$6);
|
|
12304
12208
|
}), 128))
|
|
12305
12209
|
], 32),
|
|
12306
|
-
__props.page !== void 0 && totalPages.value !== null && totalPages.value > 1 ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
12210
|
+
__props.page !== void 0 && totalPages.value !== null && totalPages.value > 1 ? (vue.openBlock(), vue.createBlock(_sfc_main$m, {
|
|
12307
12211
|
key: 2,
|
|
12308
12212
|
current: __props.page,
|
|
12309
12213
|
max: totalPages.value,
|
|
@@ -12651,7 +12555,7 @@ const useSearchSelectProItems = ({
|
|
|
12651
12555
|
syncSelectedItemsWithItems
|
|
12652
12556
|
};
|
|
12653
12557
|
};
|
|
12654
|
-
const _hoisted_1$
|
|
12558
|
+
const _hoisted_1$d = { class: "relative block" };
|
|
12655
12559
|
const _hoisted_2$9 = { class: "relative" };
|
|
12656
12560
|
const _hoisted_3$9 = { class: "relative" };
|
|
12657
12561
|
const _hoisted_4$8 = { class: "flex items-center gap-2" };
|
|
@@ -12671,7 +12575,7 @@ const _hoisted_12 = {
|
|
|
12671
12575
|
};
|
|
12672
12576
|
const _hoisted_13 = { class: "p-3 flex items-center gap-2" };
|
|
12673
12577
|
const _hoisted_14 = { key: 0 };
|
|
12674
|
-
const _sfc_main$
|
|
12578
|
+
const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
12675
12579
|
__name: "FdsSearchSelectPro",
|
|
12676
12580
|
props: {
|
|
12677
12581
|
items: { default: () => [] },
|
|
@@ -13331,10 +13235,10 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
13331
13235
|
ref: componentRef,
|
|
13332
13236
|
class: "fds-search-select block mb-6"
|
|
13333
13237
|
}, rootAttrs.value), [
|
|
13334
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
13238
|
+
vue.createElementVNode("div", _hoisted_1$d, [
|
|
13335
13239
|
vue.createElementVNode("div", _hoisted_2$9, [
|
|
13336
13240
|
vue.createElementVNode("div", _hoisted_3$9, [
|
|
13337
|
-
vue.createVNode(_sfc_main$
|
|
13241
|
+
vue.createVNode(_sfc_main$s, vue.mergeProps({
|
|
13338
13242
|
ref_key: "inputComponentRef",
|
|
13339
13243
|
ref: inputComponentRef,
|
|
13340
13244
|
label: __props.label,
|
|
@@ -13370,19 +13274,19 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
13370
13274
|
class: vue.normalizeClass([headerClasses.value, "flex items-center justify-between gap-3 min-h-[53px]"])
|
|
13371
13275
|
}, [
|
|
13372
13276
|
vue.createElementVNode("div", _hoisted_4$8, [
|
|
13373
|
-
vue.createVNode(_sfc_main$
|
|
13277
|
+
vue.createVNode(_sfc_main$t, null, {
|
|
13374
13278
|
default: vue.withCtx(() => [
|
|
13375
13279
|
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)
|
|
13376
13280
|
]),
|
|
13377
13281
|
_: 1
|
|
13378
13282
|
}),
|
|
13379
|
-
isSearching.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
13283
|
+
isSearching.value ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
|
|
13380
13284
|
key: 0,
|
|
13381
13285
|
color: "blue",
|
|
13382
13286
|
size: "20px"
|
|
13383
13287
|
})) : vue.createCommentVNode("", true)
|
|
13384
13288
|
]),
|
|
13385
|
-
__props.multiple && __props.showSelectedToggle && selectedItems.value.length > 0 ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
13289
|
+
__props.multiple && __props.showSelectedToggle && selectedItems.value.length > 0 ? (vue.openBlock(), vue.createBlock(_sfc_main$y, {
|
|
13386
13290
|
key: 0,
|
|
13387
13291
|
label: `${__props.selectedToggleLabel} (${selectedItems.value.length})`,
|
|
13388
13292
|
checked: showSelectedOnly.value,
|
|
@@ -13417,7 +13321,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
13417
13321
|
class: vue.normalizeClass([labelClasses.value, listItemClasses.value]),
|
|
13418
13322
|
style: vue.normalizeStyle(vue.unref(optionPaddingStyle)(item))
|
|
13419
13323
|
}, [
|
|
13420
|
-
__props.multiple ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
13324
|
+
__props.multiple ? (vue.openBlock(), vue.createBlock(_sfc_main$y, {
|
|
13421
13325
|
key: 0,
|
|
13422
13326
|
id: `search-select-radio-${index}`,
|
|
13423
13327
|
name: `search-select-checkbox-group-${inputId}`,
|
|
@@ -13434,7 +13338,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
13434
13338
|
}, null, 8, _hoisted_8$3)
|
|
13435
13339
|
]),
|
|
13436
13340
|
_: 2
|
|
13437
|
-
}, 1032, ["id", "name", "checked", "onChange"])) : (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
13341
|
+
}, 1032, ["id", "name", "checked", "onChange"])) : (vue.openBlock(), vue.createBlock(_sfc_main$x, {
|
|
13438
13342
|
key: 1,
|
|
13439
13343
|
id: `search-select-radio-${index}`,
|
|
13440
13344
|
name: "search-select-radio-group",
|
|
@@ -13469,7 +13373,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
13469
13373
|
_cache[2] || (_cache[2] = vue.withKeys(vue.withModifiers(($event) => !__props.loadingMore && handleLoadMore(), ["prevent"]), ["space"]))
|
|
13470
13374
|
]
|
|
13471
13375
|
}, [
|
|
13472
|
-
vue.createVNode(_sfc_main$
|
|
13376
|
+
vue.createVNode(_sfc_main$M, {
|
|
13473
13377
|
icon: "sync",
|
|
13474
13378
|
loading: __props.loadingMore,
|
|
13475
13379
|
"aria-label": __props.loadingMore ? resolvedLoadingMoreLabel.value : resolvedLoadMoreLabel.value,
|
|
@@ -13483,7 +13387,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
13483
13387
|
], 64)) : (vue.openBlock(), vue.createElementBlock("ul", _hoisted_12, [
|
|
13484
13388
|
vue.createElementVNode("li", _hoisted_13, [
|
|
13485
13389
|
!isSearching.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_14, vue.toDisplayString(__props.noResultPrompt), 1)) : vue.createCommentVNode("", true),
|
|
13486
|
-
isSearching.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
13390
|
+
isSearching.value ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
|
|
13487
13391
|
key: 1,
|
|
13488
13392
|
color: "blue",
|
|
13489
13393
|
size: "20px"
|
|
@@ -13996,7 +13900,7 @@ const useTreeState = (options = {}) => {
|
|
|
13996
13900
|
isEmptySearchResult
|
|
13997
13901
|
};
|
|
13998
13902
|
};
|
|
13999
|
-
const _hoisted_1$
|
|
13903
|
+
const _hoisted_1$c = { class: "flex items-start" };
|
|
14000
13904
|
const _hoisted_2$8 = { class: "flex-1 flex" };
|
|
14001
13905
|
const _hoisted_3$8 = ["innerHTML"];
|
|
14002
13906
|
const _hoisted_4$7 = { key: 1 };
|
|
@@ -14010,7 +13914,7 @@ const _hoisted_8$2 = ["onClick"];
|
|
|
14010
13914
|
const _hoisted_9$1 = { key: 0 };
|
|
14011
13915
|
const popoverWidth = 327;
|
|
14012
13916
|
const popoverHeight = 80;
|
|
14013
|
-
const _sfc_main$
|
|
13917
|
+
const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
14014
13918
|
...{
|
|
14015
13919
|
name: "TreeNode"
|
|
14016
13920
|
},
|
|
@@ -14228,8 +14132,8 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
14228
14132
|
style: vue.normalizeStyle(indent.value),
|
|
14229
14133
|
class: vue.normalizeClass("pt-2 pb-2")
|
|
14230
14134
|
}, [
|
|
14231
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
14232
|
-
hasChildrenNodes.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
14135
|
+
vue.createElementVNode("div", _hoisted_1$c, [
|
|
14136
|
+
hasChildrenNodes.value ? (vue.openBlock(), vue.createBlock(_sfc_main$M, vue.mergeProps({
|
|
14233
14137
|
key: 0,
|
|
14234
14138
|
onClick: _cache[0] || (_cache[0] = ($event) => vue.unref(treeState)?.toggleExpandNode(props.nodeId))
|
|
14235
14139
|
}, { "aria-label": props.title ? childrenToggleAriaLabel(props.title) : void 0 }, {
|
|
@@ -14242,7 +14146,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
14242
14146
|
style: vue.normalizeStyle({ minWidth: `${__props.indentation}px` })
|
|
14243
14147
|
}, null, 4)) : vue.createCommentVNode("", true),
|
|
14244
14148
|
vue.createElementVNode("div", _hoisted_2$8, [
|
|
14245
|
-
vue.createVNode(_sfc_main$
|
|
14149
|
+
vue.createVNode(_sfc_main$y, {
|
|
14246
14150
|
id: `checkbox-${props.nodeId}`,
|
|
14247
14151
|
checked: nodeIsSelected.value,
|
|
14248
14152
|
indeterminate: nodeIsIndeterminate.value,
|
|
@@ -14261,7 +14165,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
14261
14165
|
}, 8, ["id", "checked", "indeterminate"])
|
|
14262
14166
|
]),
|
|
14263
14167
|
shouldShowPopoverActions.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$4, [
|
|
14264
|
-
vue.createVNode(_sfc_main$
|
|
14168
|
+
vue.createVNode(_sfc_main$M, vue.mergeProps({
|
|
14265
14169
|
ref_key: "triggerRef",
|
|
14266
14170
|
ref: triggerRef,
|
|
14267
14171
|
icon: "more",
|
|
@@ -14309,7 +14213,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
14309
14213
|
},
|
|
14310
14214
|
class: "cursor-pointer"
|
|
14311
14215
|
}, [
|
|
14312
|
-
vue.createVNode(_sfc_main$
|
|
14216
|
+
vue.createVNode(_sfc_main$x, {
|
|
14313
14217
|
modelValue: selectedOption.value,
|
|
14314
14218
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => selectedOption.value = $event),
|
|
14315
14219
|
id: `tree-popover-${props.nodeId}-${option.value}`,
|
|
@@ -14321,7 +14225,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
14321
14225
|
], 8, _hoisted_8$2);
|
|
14322
14226
|
}), 64))
|
|
14323
14227
|
]),
|
|
14324
|
-
vue.createVNode(_sfc_main$
|
|
14228
|
+
vue.createVNode(_sfc_main$M, vue.mergeProps({
|
|
14325
14229
|
icon: "cross",
|
|
14326
14230
|
id: "tree-popover-close-button",
|
|
14327
14231
|
size: 24,
|
|
@@ -14368,7 +14272,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
14368
14272
|
};
|
|
14369
14273
|
}
|
|
14370
14274
|
});
|
|
14371
|
-
const _hoisted_1$
|
|
14275
|
+
const _hoisted_1$b = { key: 0 };
|
|
14372
14276
|
const _hoisted_2$7 = {
|
|
14373
14277
|
key: 0,
|
|
14374
14278
|
class: "text-xl"
|
|
@@ -14377,7 +14281,7 @@ const _hoisted_3$7 = {
|
|
|
14377
14281
|
key: 1,
|
|
14378
14282
|
class: "text-xl"
|
|
14379
14283
|
};
|
|
14380
|
-
const _sfc_main$
|
|
14284
|
+
const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
14381
14285
|
__name: "FdsTreeView",
|
|
14382
14286
|
props: {
|
|
14383
14287
|
nodeExpandIcon: {},
|
|
@@ -14471,7 +14375,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
|
14471
14375
|
ref: searchContainerRef,
|
|
14472
14376
|
class: "pb-4"
|
|
14473
14377
|
}, [
|
|
14474
|
-
vue.createVNode(_sfc_main$
|
|
14378
|
+
vue.createVNode(_sfc_main$s, {
|
|
14475
14379
|
value: vue.unref(treeState)?.searchTerm?.value ?? "",
|
|
14476
14380
|
onInput: _cache[0] || (_cache[0] = ($event) => vue.unref(treeState)?.setSearchTerm($event.target.value)),
|
|
14477
14381
|
class: "w-full",
|
|
@@ -14484,11 +14388,11 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
|
14484
14388
|
])]),
|
|
14485
14389
|
_: 1
|
|
14486
14390
|
}, 8, ["value", "label"]),
|
|
14487
|
-
props.searchCountTemplate || props.searchCountTemplateUnfiltered ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
14391
|
+
props.searchCountTemplate || props.searchCountTemplateUnfiltered ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
|
|
14488
14392
|
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))
|
|
14489
14393
|
])) : vue.createCommentVNode("", true)
|
|
14490
14394
|
], 512)) : vue.createCommentVNode("", true),
|
|
14491
|
-
vue.unref(treeState)?.isEmptySearchResult?.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
14395
|
+
vue.unref(treeState)?.isEmptySearchResult?.value ? (vue.openBlock(), vue.createBlock(_sfc_main$K, {
|
|
14492
14396
|
key: 1,
|
|
14493
14397
|
class: "mt-4"
|
|
14494
14398
|
}, {
|
|
@@ -14496,7 +14400,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
|
14496
14400
|
vue.createTextVNode(vue.toDisplayString(props.searchResultNoMatchesTitle), 1)
|
|
14497
14401
|
]),
|
|
14498
14402
|
default: vue.withCtx(() => [
|
|
14499
|
-
vue.createVNode(_sfc_main$
|
|
14403
|
+
vue.createVNode(_sfc_main$t, null, {
|
|
14500
14404
|
default: vue.withCtx(() => [
|
|
14501
14405
|
vue.createTextVNode(vue.toDisplayString(props.searchResultNoMatchesBody), 1)
|
|
14502
14406
|
]),
|
|
@@ -14508,7 +14412,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
|
14508
14412
|
vue.createElementVNode("div", {
|
|
14509
14413
|
class: vue.normalizeClass(["rounded-md", { "overflow-x-auto bg-white-solid": props.horizontalScroll }])
|
|
14510
14414
|
}, [
|
|
14511
|
-
props.data && !vue.unref(treeState)?.isEmptySearchResult?.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
14415
|
+
props.data && !vue.unref(treeState)?.isEmptySearchResult?.value ? (vue.openBlock(), vue.createBlock(_sfc_main$i, {
|
|
14512
14416
|
key: 0,
|
|
14513
14417
|
style: { container: "bg-white-solid px-3 py-2" },
|
|
14514
14418
|
nodes: props.data.children || [],
|
|
@@ -14539,8 +14443,8 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
|
14539
14443
|
};
|
|
14540
14444
|
}
|
|
14541
14445
|
});
|
|
14542
|
-
const _hoisted_1$
|
|
14543
|
-
const _sfc_main$
|
|
14446
|
+
const _hoisted_1$a = { key: 1 };
|
|
14447
|
+
const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
14544
14448
|
__name: "FdsTruncatedText",
|
|
14545
14449
|
props: {
|
|
14546
14450
|
open: { type: Boolean, default: false },
|
|
@@ -14588,7 +14492,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
14588
14492
|
return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({ class: "block mb-4" }, rootAttrs.value), [
|
|
14589
14493
|
hasContent.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
14590
14494
|
vue.createElementVNode("span", null, vue.toDisplayString(truncatedText.value), 1),
|
|
14591
|
-
isTruncated.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
14495
|
+
isTruncated.value ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
|
|
14592
14496
|
key: 0,
|
|
14593
14497
|
icon: isOpen.value ? "arrowUp" : "arrowDown",
|
|
14594
14498
|
iconPos: "right",
|
|
@@ -14596,7 +14500,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
14596
14500
|
onClick: toggleComponent,
|
|
14597
14501
|
class: "inline! ml-2"
|
|
14598
14502
|
}, null, 8, ["icon", "text"])) : vue.createCommentVNode("", true)
|
|
14599
|
-
], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
14503
|
+
], 64)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
|
|
14600
14504
|
vue.renderSlot(_ctx.$slots, "default")
|
|
14601
14505
|
]))
|
|
14602
14506
|
], 16);
|
|
@@ -16179,8 +16083,8 @@ const checkIfDateIsBeforeToday = (date) => {
|
|
|
16179
16083
|
return isAfter(startOfToday, startOfDate);
|
|
16180
16084
|
};
|
|
16181
16085
|
const checkIfDateIsEnabled = (date, enabledDates) => enabledDates.some((enabledDate) => isSameDay(enabledDate, date));
|
|
16182
|
-
const _hoisted_1$
|
|
16183
|
-
const _sfc_main$
|
|
16086
|
+
const _hoisted_1$9 = ["disabled", "aria-label"];
|
|
16087
|
+
const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
16184
16088
|
__name: "WeekDay",
|
|
16185
16089
|
props: {
|
|
16186
16090
|
date: {},
|
|
@@ -16243,23 +16147,23 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
16243
16147
|
vue.createElementVNode("span", {
|
|
16244
16148
|
class: vue.normalizeClass(weekdayLabelClasses.value)
|
|
16245
16149
|
}, [
|
|
16246
|
-
__props.isToday ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
16150
|
+
__props.isToday ? (vue.openBlock(), vue.createBlock(_sfc_main$t, { key: 0 }, {
|
|
16247
16151
|
default: vue.withCtx(() => [
|
|
16248
16152
|
vue.createTextVNode(vue.toDisplayString(vue.unref(t)("FdsWeekCalendar.today")), 1)
|
|
16249
16153
|
]),
|
|
16250
16154
|
_: 1
|
|
16251
|
-
})) : (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
16155
|
+
})) : (vue.openBlock(), vue.createBlock(_sfc_main$t, { key: 1 }, {
|
|
16252
16156
|
default: vue.withCtx(() => [
|
|
16253
16157
|
vue.createTextVNode(vue.toDisplayString(weekdayLabel.value), 1)
|
|
16254
16158
|
]),
|
|
16255
16159
|
_: 1
|
|
16256
16160
|
}))
|
|
16257
16161
|
], 2)
|
|
16258
|
-
], 10, _hoisted_1$
|
|
16162
|
+
], 10, _hoisted_1$9);
|
|
16259
16163
|
};
|
|
16260
16164
|
}
|
|
16261
16165
|
});
|
|
16262
|
-
const _hoisted_1$
|
|
16166
|
+
const _hoisted_1$8 = { class: "mb-6" };
|
|
16263
16167
|
const _hoisted_2$6 = { class: "max-w-[487px]" };
|
|
16264
16168
|
const _hoisted_3$6 = { class: "mb-3 flex w-full flex-row items-center" };
|
|
16265
16169
|
const _hoisted_4$6 = { class: "m-0 font-bold text-gray-800" };
|
|
@@ -16270,7 +16174,7 @@ const _hoisted_7$3 = {
|
|
|
16270
16174
|
class: "mt-6 flex w-full flex-row items-center gap-2"
|
|
16271
16175
|
};
|
|
16272
16176
|
const _hoisted_8$1 = { class: "m-0 font-bold text-blue-700" };
|
|
16273
|
-
const _sfc_main$
|
|
16177
|
+
const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
16274
16178
|
__name: "FdsWeekCalendar",
|
|
16275
16179
|
props: {
|
|
16276
16180
|
loading: { default: void 0 },
|
|
@@ -16403,18 +16307,18 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
16403
16307
|
const isWeekDayDisabled = (weekDay) => checkIfDateIsBeforeToday(weekDay) || !checkIfDateIsEnabled(weekDay, props.enabledDates);
|
|
16404
16308
|
const isTodayDate = (weekDay) => isSameDay(weekDay, /* @__PURE__ */ new Date());
|
|
16405
16309
|
return (_ctx, _cache) => {
|
|
16406
|
-
return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$
|
|
16310
|
+
return vue.openBlock(), vue.createElementBlock("section", _hoisted_1$8, [
|
|
16407
16311
|
vue.createElementVNode("div", _hoisted_2$6, [
|
|
16408
16312
|
vue.createElementVNode("div", _hoisted_3$6, [
|
|
16409
16313
|
vue.createElementVNode("p", _hoisted_4$6, vue.toDisplayString(weekText.value), 1),
|
|
16410
16314
|
vue.createElementVNode("div", _hoisted_5$6, [
|
|
16411
|
-
vue.createVNode(_sfc_main$
|
|
16315
|
+
vue.createVNode(_sfc_main$M, {
|
|
16412
16316
|
icon: "arrowLeft",
|
|
16413
16317
|
disabled: disableLastWeekInteraction.value,
|
|
16414
16318
|
"aria-label": vue.unref(t)("FdsWeekCalendar.previousWeek"),
|
|
16415
16319
|
onClick: decrementWeek
|
|
16416
16320
|
}, null, 8, ["disabled", "aria-label"]),
|
|
16417
|
-
vue.createVNode(_sfc_main$
|
|
16321
|
+
vue.createVNode(_sfc_main$M, {
|
|
16418
16322
|
icon: "arrowRight",
|
|
16419
16323
|
disabled: disableNextWeekInteraction.value,
|
|
16420
16324
|
"aria-label": vue.unref(t)("FdsWeekCalendar.nextWeek"),
|
|
@@ -16435,7 +16339,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
16435
16339
|
class: "flex flex-row flex-nowrap items-center justify-start gap-x-px"
|
|
16436
16340
|
}, [
|
|
16437
16341
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(visibleWeekDays.value, (weekDay, _index) => {
|
|
16438
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
16342
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$f, {
|
|
16439
16343
|
key: `current-${weekDay.toISOString()}-${_index}`,
|
|
16440
16344
|
date: weekDay,
|
|
16441
16345
|
disabled: isWeekDayDisabled(weekDay),
|
|
@@ -16450,7 +16354,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
16450
16354
|
}, 8, ["enter-active-class", "leave-active-class", "enter-from-class", "leave-to-class"])
|
|
16451
16355
|
]),
|
|
16452
16356
|
__props.loading?.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$3, [
|
|
16453
|
-
vue.createVNode(_sfc_main$
|
|
16357
|
+
vue.createVNode(_sfc_main$F),
|
|
16454
16358
|
vue.createElementVNode("p", _hoisted_8$1, vue.toDisplayString(__props.loading.label), 1)
|
|
16455
16359
|
])) : vue.createCommentVNode("", true)
|
|
16456
16360
|
])
|
|
@@ -16458,7 +16362,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
16458
16362
|
};
|
|
16459
16363
|
}
|
|
16460
16364
|
});
|
|
16461
|
-
const _sfc_main$
|
|
16365
|
+
const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
16462
16366
|
...{
|
|
16463
16367
|
inheritAttrs: false
|
|
16464
16368
|
},
|
|
@@ -16504,7 +16408,7 @@ const hasStepLabelOverlap = (labels, minGapBeforeHidePx = STEP_LABEL_MIN_GAP_BEF
|
|
|
16504
16408
|
}
|
|
16505
16409
|
return false;
|
|
16506
16410
|
};
|
|
16507
|
-
const _hoisted_1$
|
|
16411
|
+
const _hoisted_1$7 = { class: "mb-6" };
|
|
16508
16412
|
const _hoisted_2$5 = {
|
|
16509
16413
|
key: 0,
|
|
16510
16414
|
class: "mb-0"
|
|
@@ -16517,7 +16421,7 @@ const _hoisted_4$5 = { class: "h-[2px] absolute top-[22px] left-[50%] bg-white-s
|
|
|
16517
16421
|
const _hoisted_5$5 = { class: "flex justify-between list-none mb-8 p-0" };
|
|
16518
16422
|
const _hoisted_6$2 = ["onClick", "disabled"];
|
|
16519
16423
|
const _hoisted_7$2 = { key: 0 };
|
|
16520
|
-
const _sfc_main$
|
|
16424
|
+
const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
16521
16425
|
__name: "FdsWizard",
|
|
16522
16426
|
props: {
|
|
16523
16427
|
routes: {},
|
|
@@ -16873,12 +16777,12 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
16873
16777
|
vue.createElementVNode("nav", {
|
|
16874
16778
|
class: vue.normalizeClass([__props.wizardClass, "mx-auto"])
|
|
16875
16779
|
}, [
|
|
16876
|
-
vue.createElementVNode("header", _hoisted_1$
|
|
16780
|
+
vue.createElementVNode("header", _hoisted_1$7, [
|
|
16877
16781
|
vue.createElementVNode("h1", {
|
|
16878
16782
|
ref: "mainHeader",
|
|
16879
16783
|
tabindex: "-1"
|
|
16880
16784
|
}, vue.toDisplayString(mainHeading.value), 513),
|
|
16881
|
-
mainLead.value || subCategories.value.length > 0 ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
16785
|
+
mainLead.value || subCategories.value.length > 0 ? (vue.openBlock(), vue.createBlock(_sfc_main$d, { key: 0 }, {
|
|
16882
16786
|
default: vue.withCtx(() => [
|
|
16883
16787
|
mainLead.value ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$5, vue.toDisplayString(mainLead.value), 1)) : vue.createCommentVNode("", true),
|
|
16884
16788
|
subCategories.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_3$5, [
|
|
@@ -16887,7 +16791,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
16887
16791
|
key: subCat.id,
|
|
16888
16792
|
class: "list-inside list-disc mb-2"
|
|
16889
16793
|
}, [
|
|
16890
|
-
vue.createVNode(_sfc_main$
|
|
16794
|
+
vue.createVNode(_sfc_main$d, { class: "inline!" }, {
|
|
16891
16795
|
default: vue.withCtx(() => [
|
|
16892
16796
|
vue.createTextVNode(vue.toDisplayString(subCat.name), 1)
|
|
16893
16797
|
]),
|
|
@@ -16931,7 +16835,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
16931
16835
|
vue.createElementVNode("span", {
|
|
16932
16836
|
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)])
|
|
16933
16837
|
}, [
|
|
16934
|
-
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$
|
|
16838
|
+
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, {
|
|
16935
16839
|
key: 1,
|
|
16936
16840
|
name: "checkmark",
|
|
16937
16841
|
size: 24
|
|
@@ -18615,6 +18519,11 @@ function parsePhoneNumber$1() {
|
|
|
18615
18519
|
function getCountries$1(metadata2) {
|
|
18616
18520
|
return new Metadata(metadata2).getCountries();
|
|
18617
18521
|
}
|
|
18522
|
+
function getExampleNumber$1(country, examples2, metadata2) {
|
|
18523
|
+
if (examples2[country]) {
|
|
18524
|
+
return new PhoneNumber$1(country, examples2[country], metadata2);
|
|
18525
|
+
}
|
|
18526
|
+
}
|
|
18618
18527
|
class PhoneNumber2 extends PhoneNumber$1 {
|
|
18619
18528
|
constructor(number) {
|
|
18620
18529
|
super(number, metadata);
|
|
@@ -18629,6 +18538,9 @@ function getCountries() {
|
|
|
18629
18538
|
function getCountryCallingCode() {
|
|
18630
18539
|
return withMetadataArgument(getCountryCallingCode$1, arguments);
|
|
18631
18540
|
}
|
|
18541
|
+
function getExampleNumber() {
|
|
18542
|
+
return withMetadataArgument(getExampleNumber$1, arguments);
|
|
18543
|
+
}
|
|
18632
18544
|
function resolveDisplayLocale(locale) {
|
|
18633
18545
|
const trimmed = locale.trim();
|
|
18634
18546
|
if (!trimmed) {
|
|
@@ -18702,7 +18614,91 @@ function filterCountryOptions(options, query) {
|
|
|
18702
18614
|
return option.label.toLowerCase().includes(normalizedQuery) || option.countryName.toLowerCase().includes(normalizedQuery) || option.value.toLowerCase().includes(normalizedQuery) || dialCode.includes(normalizedQuery) || `+${dialCode}`.includes(normalizedQuery);
|
|
18703
18615
|
});
|
|
18704
18616
|
}
|
|
18705
|
-
const
|
|
18617
|
+
const examples = { "AC": "40123", "AD": "312345", "AE": "501234567", "AF": "701234567", "AG": "2684641234", "AI": "2642351234", "AL": "672123456", "AM": "77123456", "AO": "923123456", "AR": "91123456789", "AS": "6847331234", "AT": "664123456", "AU": "412345678", "AW": "5601234", "AX": "412345678", "AZ": "401234567", "BA": "61123456", "BB": "2462501234", "BD": "1812345678", "BE": "450001234", "BF": "70123456", "BG": "43012345", "BH": "36001234", "BI": "79561234", "BJ": "0195123456", "BL": "690001234", "BM": "4413701234", "BN": "7123456", "BO": "71234567", "BQ": "3181234", "BR": "11961234567", "BS": "2423591234", "BT": "17123456", "BW": "71123456", "BY": "294911911", "BZ": "6221234", "CA": "5062345678", "CC": "412345678", "CD": "991234567", "CF": "70012345", "CG": "061234567", "CH": "781234567", "CI": "0123456789", "CK": "71234", "CL": "221234567", "CM": "671234567", "CN": "13123456789", "CO": "3211234567", "CR": "83123456", "CU": "51234567", "CV": "9911234", "CW": "95181234", "CX": "412345678", "CY": "96123456", "CZ": "601123456", "DE": "15123456789", "DJ": "77831001", "DK": "34412345", "DM": "7672251234", "DO": "8092345678", "DZ": "551234567", "EC": "991234567", "EE": "51234567", "EG": "1001234567", "EH": "650123456", "ER": "7123456", "ES": "612345678", "ET": "911234567", "FI": "412345678", "FJ": "7012345", "FK": "51234", "FM": "3501234", "FO": "211234", "FR": "612345678", "GA": "06031234", "GB": "7400123456", "GD": "4734031234", "GE": "555123456", "GF": "694201234", "GG": "7781123456", "GH": "231234567", "GI": "57123456", "GL": "221234", "GM": "3012345", "GN": "601123456", "GP": "690001234", "GQ": "222123456", "GR": "6912345678", "GT": "51234567", "GU": "6713001234", "GW": "955012345", "GY": "6091234", "HK": "51234567", "HN": "91234567", "HR": "921234567", "HT": "34101234", "HU": "201234567", "ID": "812345678", "IE": "850123456", "IL": "502345678", "IM": "7924123456", "IN": "8123456789", "IO": "3801234", "IQ": "7912345678", "IR": "9123456789", "IS": "6111234", "IT": "3123456789", "JE": "7797712345", "JM": "8762101234", "JO": "790123456", "JP": "9012345678", "KE": "712123456", "KG": "700123456", "KH": "91234567", "KI": "72001234", "KM": "3212345", "KN": "8697652917", "KP": "1921234567", "KR": "1020000000", "KW": "50012345", "KY": "3453231234", "KZ": "7710009998", "LA": "2023123456", "LB": "71123456", "LC": "7582845678", "LI": "660234567", "LK": "712345678", "LR": "770123456", "LS": "50123456", "LT": "61234567", "LU": "628123456", "LV": "21234567", "LY": "912345678", "MA": "650123456", "MC": "612345678", "MD": "62112345", "ME": "60123456", "MF": "690001234", "MG": "321234567", "MH": "2351234", "MK": "72345678", "ML": "65012345", "MM": "92123456", "MN": "88123456", "MO": "66123456", "MP": "6702345678", "MQ": "696201234", "MR": "22123456", "MS": "6644923456", "MT": "96961234", "MU": "52512345", "MV": "7712345", "MW": "991234567", "MX": "2221234567", "MY": "123456789", "MZ": "821234567", "NA": "811234567", "NC": "751234", "NE": "93123456", "NF": "381234", "NG": "8021234567", "NI": "81234567", "NL": "612345678", "NO": "40612345", "NP": "9841234567", "NR": "5551234", "NU": "8884012", "NZ": "211234567", "OM": "92123456", "PA": "61234567", "PE": "912345678", "PF": "87123456", "PG": "70123456", "PH": "9051234567", "PK": "3012345678", "PL": "512345678", "PM": "551234", "PR": "7872345678", "PS": "599123456", "PT": "912345678", "PW": "6201234", "PY": "961456789", "QA": "33123456", "RE": "692123456", "RO": "712034567", "RS": "601234567", "RU": "9123456789", "RW": "720123456", "SA": "512345678", "SB": "7421234", "SC": "2510123", "SD": "911231234", "SE": "701234567", "SG": "81234567", "SH": "51234", "SI": "31234567", "SJ": "41234567", "SK": "912123456", "SL": "25123456", "SM": "66661212", "SN": "701234567", "SO": "71123456", "SR": "7412345", "SS": "977123456", "ST": "9812345", "SV": "70123456", "SX": "7215205678", "SY": "944567890", "SZ": "76123456", "TA": "8999", "TC": "6492311234", "TD": "63012345", "TG": "90112345", "TH": "812345678", "TJ": "917123456", "TK": "7290", "TL": "77212345", "TM": "66123456", "TN": "20123456", "TO": "7715123", "TR": "5012345678", "TT": "8682911234", "TV": "901234", "TW": "912345678", "TZ": "621234567", "UA": "501234567", "UG": "712345678", "US": "2015550123", "UY": "94231234", "UZ": "912345678", "VA": "3123456789", "VC": "7844301234", "VE": "4121234567", "VG": "2843001234", "VI": "3406421234", "VN": "912345678", "VU": "5912345", "WF": "821234", "WS": "7212345", "XK": "43201234", "YE": "712345678", "YT": "639012345", "ZA": "711234567", "ZM": "955123456", "ZW": "712345678" };
|
|
18618
|
+
const maskCache = /* @__PURE__ */ new Map();
|
|
18619
|
+
const getPhoneMaskForCountry = (countryIso2) => {
|
|
18620
|
+
const country = countryIso2.trim().toUpperCase();
|
|
18621
|
+
const cached = maskCache.get(country);
|
|
18622
|
+
if (cached) {
|
|
18623
|
+
return cached;
|
|
18624
|
+
}
|
|
18625
|
+
const example = getExampleNumber(country, examples);
|
|
18626
|
+
if (!example) {
|
|
18627
|
+
return void 0;
|
|
18628
|
+
}
|
|
18629
|
+
const groups = example.formatNational().split(/\D+/).filter(Boolean).map((part) => part.length);
|
|
18630
|
+
const mask = groups.map((size) => "0".repeat(size)).join(" ");
|
|
18631
|
+
maskCache.set(country, mask);
|
|
18632
|
+
return mask;
|
|
18633
|
+
};
|
|
18634
|
+
const nationalDigitsForMask = (parsed) => parsed.formatNational().replace(/\D/g, "");
|
|
18635
|
+
const tryParseForCountry = (candidate, country) => {
|
|
18636
|
+
const parsed = parsePhoneNumber(candidate, country) ?? parsePhoneNumber(candidate);
|
|
18637
|
+
if (!parsed?.isValid() || parsed.country !== country) {
|
|
18638
|
+
return void 0;
|
|
18639
|
+
}
|
|
18640
|
+
return parsed;
|
|
18641
|
+
};
|
|
18642
|
+
const shouldNormalizePhoneInput = (value, countryIso2) => {
|
|
18643
|
+
const trimmed = value.trim();
|
|
18644
|
+
if (!trimmed) {
|
|
18645
|
+
return false;
|
|
18646
|
+
}
|
|
18647
|
+
if (trimmed.includes("+") || trimmed.startsWith("00")) {
|
|
18648
|
+
return true;
|
|
18649
|
+
}
|
|
18650
|
+
const digits = trimmed.replace(/\D/g, "");
|
|
18651
|
+
const mask = getPhoneMaskForCountry(countryIso2);
|
|
18652
|
+
if (!mask) {
|
|
18653
|
+
return false;
|
|
18654
|
+
}
|
|
18655
|
+
const maxDigits = (mask.match(/0/g) ?? []).length;
|
|
18656
|
+
if (digits.length > maxDigits) {
|
|
18657
|
+
return true;
|
|
18658
|
+
}
|
|
18659
|
+
try {
|
|
18660
|
+
const callingCode = getCountryCallingCode(countryIso2);
|
|
18661
|
+
if (digits.startsWith(callingCode) && digits.length > maxDigits - 1) {
|
|
18662
|
+
return true;
|
|
18663
|
+
}
|
|
18664
|
+
} catch {
|
|
18665
|
+
return false;
|
|
18666
|
+
}
|
|
18667
|
+
return false;
|
|
18668
|
+
};
|
|
18669
|
+
const normalizeNationalPhoneInput = (value, countryIso2) => {
|
|
18670
|
+
const trimmed = value.trim();
|
|
18671
|
+
if (!trimmed) {
|
|
18672
|
+
return "";
|
|
18673
|
+
}
|
|
18674
|
+
const country = countryIso2.trim().toUpperCase();
|
|
18675
|
+
const digits = trimmed.replace(/\D/g, "");
|
|
18676
|
+
const candidates = /* @__PURE__ */ new Set([trimmed]);
|
|
18677
|
+
if (digits) {
|
|
18678
|
+
candidates.add(digits);
|
|
18679
|
+
candidates.add(`+${digits}`);
|
|
18680
|
+
}
|
|
18681
|
+
for (const candidate of candidates) {
|
|
18682
|
+
const parsed = tryParseForCountry(candidate, country);
|
|
18683
|
+
if (parsed) {
|
|
18684
|
+
return nationalDigitsForMask(parsed);
|
|
18685
|
+
}
|
|
18686
|
+
}
|
|
18687
|
+
try {
|
|
18688
|
+
const callingCode = getCountryCallingCode(country);
|
|
18689
|
+
if (digits.startsWith(callingCode) && digits.length > callingCode.length) {
|
|
18690
|
+
const withoutCode = digits.slice(callingCode.length);
|
|
18691
|
+
const parsed = tryParseForCountry(withoutCode, country) ?? tryParseForCountry(`0${withoutCode}`, country);
|
|
18692
|
+
if (parsed) {
|
|
18693
|
+
return nationalDigitsForMask(parsed);
|
|
18694
|
+
}
|
|
18695
|
+
}
|
|
18696
|
+
} catch {
|
|
18697
|
+
return trimmed;
|
|
18698
|
+
}
|
|
18699
|
+
return trimmed;
|
|
18700
|
+
};
|
|
18701
|
+
const _hoisted_1$6 = { class: "relative w-full" };
|
|
18706
18702
|
const _hoisted_2$4 = { class: "absolute left-3 top-1/2 -translate-y-1/2 text-xl leading-none" };
|
|
18707
18703
|
const _hoisted_3$4 = ["aria-expanded", "aria-label", "aria-controls", "aria-activedescendant", "value", "disabled"];
|
|
18708
18704
|
const _hoisted_4$4 = ["disabled"];
|
|
@@ -18716,7 +18712,7 @@ const _hoisted_9 = {
|
|
|
18716
18712
|
};
|
|
18717
18713
|
const _hoisted_10 = { class: "text-gray-600" };
|
|
18718
18714
|
const _hoisted_11 = { "aria-hidden": "true" };
|
|
18719
|
-
const _sfc_main$
|
|
18715
|
+
const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
18720
18716
|
__name: "FdsPhonenumberCountryPicker",
|
|
18721
18717
|
props: /* @__PURE__ */ vue.mergeModels({
|
|
18722
18718
|
items: {},
|
|
@@ -18989,7 +18985,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
18989
18985
|
ref: rootRef,
|
|
18990
18986
|
class: vue.normalizeClass(["relative w-32", props.class])
|
|
18991
18987
|
}, [
|
|
18992
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
18988
|
+
vue.createElementVNode("div", _hoisted_1$6, [
|
|
18993
18989
|
!dropdownOpen.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
18994
18990
|
key: 0,
|
|
18995
18991
|
class: vue.normalizeClass(dialPreviewClasses.value),
|
|
@@ -19027,7 +19023,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
19027
19023
|
"aria-hidden": "true",
|
|
19028
19024
|
onMousedown: vue.withModifiers(onArrowPointerDown, ["prevent"])
|
|
19029
19025
|
}, [
|
|
19030
|
-
vue.createVNode(_sfc_main$
|
|
19026
|
+
vue.createVNode(_sfc_main$N, {
|
|
19031
19027
|
name: "arrowDown",
|
|
19032
19028
|
size: 24,
|
|
19033
19029
|
class: vue.normalizeClass(arrowClasses.value)
|
|
@@ -19069,7 +19065,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
19069
19065
|
vue.createElementVNode("span", _hoisted_10, "(" + vue.toDisplayString(vue.unref(t)("common.plus")) + vue.toDisplayString(option.countryCode) + ")", 1)
|
|
19070
19066
|
]),
|
|
19071
19067
|
vue.createElementVNode("span", _hoisted_11, [
|
|
19072
|
-
option.value === country.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
19068
|
+
option.value === country.value ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
|
|
19073
19069
|
key: 0,
|
|
19074
19070
|
name: "check",
|
|
19075
19071
|
size: 24,
|
|
@@ -19084,7 +19080,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
19084
19080
|
};
|
|
19085
19081
|
}
|
|
19086
19082
|
});
|
|
19087
|
-
const INVALID_RESULT = {
|
|
19083
|
+
const INVALID_RESULT$1 = {
|
|
19088
19084
|
isValid: false,
|
|
19089
19085
|
phoneNumber: null,
|
|
19090
19086
|
countryIso2: null,
|
|
@@ -19127,12 +19123,12 @@ function runPhoneValidation(value, countryIso2) {
|
|
|
19127
19123
|
return toValidationResult(parsed);
|
|
19128
19124
|
}
|
|
19129
19125
|
}
|
|
19130
|
-
return INVALID_RESULT;
|
|
19126
|
+
return INVALID_RESULT$1;
|
|
19131
19127
|
}
|
|
19132
19128
|
function validatePhoneNumber(nationalNumber, countryIso2) {
|
|
19133
19129
|
const trimmed = nationalNumber.trim();
|
|
19134
19130
|
if (!trimmed) {
|
|
19135
|
-
return INVALID_RESULT;
|
|
19131
|
+
return INVALID_RESULT$1;
|
|
19136
19132
|
}
|
|
19137
19133
|
return runPhoneValidation(trimmed, countryIso2);
|
|
19138
19134
|
}
|
|
@@ -19142,7 +19138,7 @@ function getPhoneValidationState(nationalNumber, countryIso2) {
|
|
|
19142
19138
|
}
|
|
19143
19139
|
return validatePhoneNumber(nationalNumber, countryIso2).isValid;
|
|
19144
19140
|
}
|
|
19145
|
-
const _hoisted_1$
|
|
19141
|
+
const _hoisted_1$5 = { class: "w-full mb-6" };
|
|
19146
19142
|
const _hoisted_2$3 = {
|
|
19147
19143
|
key: 1,
|
|
19148
19144
|
class: "font-thin mb-1"
|
|
@@ -19156,7 +19152,7 @@ const _hoisted_5$3 = {
|
|
|
19156
19152
|
key: 3,
|
|
19157
19153
|
class: "text-red-700 font-bold mt-1"
|
|
19158
19154
|
};
|
|
19159
|
-
const _sfc_main$
|
|
19155
|
+
const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
19160
19156
|
...{
|
|
19161
19157
|
inheritAttrs: false
|
|
19162
19158
|
},
|
|
@@ -19186,12 +19182,9 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
19186
19182
|
autocomplete: { default: "tel" },
|
|
19187
19183
|
required: { type: Boolean, default: false },
|
|
19188
19184
|
placeholder: { default: void 0 },
|
|
19189
|
-
maxlength: { default: void 0 },
|
|
19190
|
-
minlength: { default: void 0 },
|
|
19191
19185
|
name: { default: void 0 },
|
|
19192
19186
|
autofocus: { type: Boolean, default: false },
|
|
19193
|
-
readonly: { type: Boolean, default: false }
|
|
19194
|
-
pattern: { default: void 0 }
|
|
19187
|
+
readonly: { type: Boolean, default: false }
|
|
19195
19188
|
}, {
|
|
19196
19189
|
"modelValue": { default: "" },
|
|
19197
19190
|
"modelModifiers": {},
|
|
@@ -19200,7 +19193,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
19200
19193
|
}),
|
|
19201
19194
|
emits: /* @__PURE__ */ vue.mergeModels(["update:modelValue", "update:country", "update:e164", "valid", "noCountryResults", "blur"], ["update:modelValue", "update:country"]),
|
|
19202
19195
|
setup(__props, { emit: __emit }) {
|
|
19203
|
-
const [nationalNumber
|
|
19196
|
+
const [nationalNumber] = vue.useModel(__props, "modelValue");
|
|
19204
19197
|
const country = vue.useModel(__props, "country");
|
|
19205
19198
|
const attrs = vue.useAttrs();
|
|
19206
19199
|
const props = __props;
|
|
@@ -19219,12 +19212,10 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
19219
19212
|
autocomplete: props.autocomplete,
|
|
19220
19213
|
required: props.required,
|
|
19221
19214
|
placeholder: props.placeholder,
|
|
19222
|
-
maxlength: props.maxlength,
|
|
19223
|
-
minlength: props.minlength,
|
|
19224
19215
|
name: props.name,
|
|
19225
19216
|
autofocus: props.autofocus,
|
|
19226
19217
|
readonly: props.readonly,
|
|
19227
|
-
|
|
19218
|
+
inputmode: "tel",
|
|
19228
19219
|
...inputAttrs.value
|
|
19229
19220
|
}));
|
|
19230
19221
|
const countryItems = vue.computed(() => {
|
|
@@ -19235,6 +19226,10 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
19235
19226
|
props.defaultCountry
|
|
19236
19227
|
);
|
|
19237
19228
|
});
|
|
19229
|
+
const phoneMask = vue.computed(() => getPhoneMaskForCountry(country.value ?? props.defaultCountry));
|
|
19230
|
+
const phoneMaskOptions = vue.computed(() => ({
|
|
19231
|
+
prepare: (value) => applyPhoneNormalization(value, country.value ?? props.defaultCountry)
|
|
19232
|
+
}));
|
|
19238
19233
|
const committedValid = vue.ref(null);
|
|
19239
19234
|
const resolvedLabel = vue.computed(() => props.label === void 0 ? t("FdsPhonenumber.phoneNumber") : props.label);
|
|
19240
19235
|
const resolvedInvalidMessage = vue.computed(
|
|
@@ -19258,6 +19253,18 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
19258
19253
|
const result2 = validatePhoneNumber(nationalNumber.value ?? "", country.value ?? "SE");
|
|
19259
19254
|
emit("update:e164", result2.isValid && result2.phoneNumber ? result2.phoneNumber : "");
|
|
19260
19255
|
}
|
|
19256
|
+
function applyPhoneNormalization(value, countryCode = country.value ?? props.defaultCountry) {
|
|
19257
|
+
if (!shouldNormalizePhoneInput(value, countryCode)) {
|
|
19258
|
+
return value;
|
|
19259
|
+
}
|
|
19260
|
+
return normalizeNationalPhoneInput(value, countryCode);
|
|
19261
|
+
}
|
|
19262
|
+
vue.watch(nationalNumber, (value) => {
|
|
19263
|
+
const normalized = applyPhoneNormalization(value ?? "");
|
|
19264
|
+
if (normalized !== (value ?? "")) {
|
|
19265
|
+
nationalNumber.value = normalized;
|
|
19266
|
+
}
|
|
19267
|
+
});
|
|
19261
19268
|
vue.watch(country, () => {
|
|
19262
19269
|
if (committedValid.value === null) {
|
|
19263
19270
|
return;
|
|
@@ -19265,6 +19272,10 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
19265
19272
|
runValidation();
|
|
19266
19273
|
});
|
|
19267
19274
|
function handleBlur(ev) {
|
|
19275
|
+
const normalized = applyPhoneNormalization(nationalNumber.value ?? "");
|
|
19276
|
+
if (normalized !== (nationalNumber.value ?? "")) {
|
|
19277
|
+
nationalNumber.value = normalized;
|
|
19278
|
+
}
|
|
19268
19279
|
runValidation();
|
|
19269
19280
|
emit("blur", ev);
|
|
19270
19281
|
}
|
|
@@ -19273,14 +19284,14 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
19273
19284
|
emit("noCountryResults", value);
|
|
19274
19285
|
}
|
|
19275
19286
|
return (_ctx, _cache) => {
|
|
19276
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
19287
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
|
|
19277
19288
|
resolvedLabel.value ? (vue.openBlock(), vue.createElementBlock("label", {
|
|
19278
19289
|
key: 0,
|
|
19279
19290
|
class: vue.normalizeClass(["block font-bold text-gray-900 cursor-pointer", { "mb-0": __props.meta, "mb-1": !__props.meta }])
|
|
19280
19291
|
}, vue.toDisplayString(resolvedLabel.value), 3)) : vue.createCommentVNode("", true),
|
|
19281
19292
|
__props.meta ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$3, vue.toDisplayString(__props.meta), 1)) : vue.createCommentVNode("", true),
|
|
19282
19293
|
vue.createElementVNode("div", _hoisted_3$3, [
|
|
19283
|
-
vue.createVNode(_sfc_main$
|
|
19294
|
+
vue.createVNode(_sfc_main$b, {
|
|
19284
19295
|
modelValue: country.value,
|
|
19285
19296
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => country.value = $event),
|
|
19286
19297
|
items: countryItems.value,
|
|
@@ -19291,18 +19302,18 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
19291
19302
|
class: vue.normalizeClass(["mb-0! shrink-0", __props.selectClass ?? ""]),
|
|
19292
19303
|
onNoCountryResults
|
|
19293
19304
|
}, null, 8, ["modelValue", "items", "valid", "disabled", "ariaLabel", "data-testid", "class"]),
|
|
19294
|
-
vue.createVNode(_sfc_main$
|
|
19305
|
+
vue.createVNode(_sfc_main$s, vue.mergeProps({
|
|
19295
19306
|
modelValue: vue.unref(nationalNumber),
|
|
19296
19307
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(nationalNumber) ? nationalNumber.value = $event : null),
|
|
19297
|
-
|
|
19298
|
-
|
|
19308
|
+
mask: phoneMask.value,
|
|
19309
|
+
"mask-options": phoneMaskOptions.value,
|
|
19299
19310
|
valid: displayValid.value,
|
|
19300
19311
|
disabled: __props.disabled,
|
|
19301
19312
|
optional: __props.optional,
|
|
19302
19313
|
ariaLabel: vue.unref(t)("FdsPhonenumber.phoneNumber"),
|
|
19303
19314
|
"data-testid": __props.dataTestid ? `${__props.dataTestid}-number` : void 0,
|
|
19304
19315
|
class: ["mb-0! min-w-0 flex-1", __props.inputClass ?? ""]
|
|
19305
|
-
}, forwardedInputProps.value, { onBlur: handleBlur }), null, 16, ["modelValue", "
|
|
19316
|
+
}, forwardedInputProps.value, { onBlur: handleBlur }), null, 16, ["modelValue", "mask", "mask-options", "valid", "disabled", "optional", "ariaLabel", "data-testid", "class"])
|
|
19306
19317
|
]),
|
|
19307
19318
|
noCountryResults.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$3, vue.toDisplayString(vue.unref(t)("FdsPhonenumber.noCountryResults")), 1)) : vue.createCommentVNode("", true),
|
|
19308
19319
|
showInvalidMessage.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$3, vue.toDisplayString(resolvedInvalidMessage.value), 1)) : vue.createCommentVNode("", true)
|
|
@@ -19310,6 +19321,474 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
19310
19321
|
};
|
|
19311
19322
|
}
|
|
19312
19323
|
});
|
|
19324
|
+
const SSN_MASK = "000000000000";
|
|
19325
|
+
const SSN_INTERIM_MASK = "XXXXXXXXXXXX";
|
|
19326
|
+
const SSN_INTERIM_MASK_OPTIONS = {
|
|
19327
|
+
lazy: true,
|
|
19328
|
+
definitions: {
|
|
19329
|
+
X: /[0-9A-Za-z]/
|
|
19330
|
+
}
|
|
19331
|
+
};
|
|
19332
|
+
function getSsnMask(allowInterimNumber) {
|
|
19333
|
+
return allowInterimNumber ? SSN_INTERIM_MASK : SSN_MASK;
|
|
19334
|
+
}
|
|
19335
|
+
function getSsnMaskOptions(allowInterimNumber) {
|
|
19336
|
+
return allowInterimNumber ? SSN_INTERIM_MASK_OPTIONS : { lazy: true };
|
|
19337
|
+
}
|
|
19338
|
+
var PersonnummerError = class extends Error {
|
|
19339
|
+
constructor() {
|
|
19340
|
+
super("Invalid swedish personal identity number");
|
|
19341
|
+
}
|
|
19342
|
+
};
|
|
19343
|
+
var compareAsc = (dateLeft, dateRight) => {
|
|
19344
|
+
const diff = dateLeft.getTime() - dateRight.getTime();
|
|
19345
|
+
return diff < 0 ? -1 : diff > 0 ? 1 : diff;
|
|
19346
|
+
};
|
|
19347
|
+
var diffInYears = (dateLeft, dateRight) => {
|
|
19348
|
+
const sign = compareAsc(dateLeft, dateRight);
|
|
19349
|
+
const yearDiff = Math.abs(dateLeft.getFullYear() - dateRight.getFullYear());
|
|
19350
|
+
dateLeft.setFullYear(dateLeft.getFullYear() - sign * yearDiff);
|
|
19351
|
+
const isLastYearNotFull = compareAsc(dateLeft, dateRight) === -sign;
|
|
19352
|
+
const result2 = sign * (yearDiff - +isLastYearNotFull);
|
|
19353
|
+
return result2 === 0 ? 0 : result2;
|
|
19354
|
+
};
|
|
19355
|
+
var luhn = (str) => {
|
|
19356
|
+
let sum = 0;
|
|
19357
|
+
str += "";
|
|
19358
|
+
for (let i = 0, l = str.length; i < l; i++) {
|
|
19359
|
+
let v = parseInt(str[i]);
|
|
19360
|
+
v *= 2 - i % 2;
|
|
19361
|
+
if (v > 9) {
|
|
19362
|
+
v -= 9;
|
|
19363
|
+
}
|
|
19364
|
+
sum += v;
|
|
19365
|
+
}
|
|
19366
|
+
return Math.ceil(sum / 10) * 10 - sum;
|
|
19367
|
+
};
|
|
19368
|
+
var testDate = (year, month, day) => {
|
|
19369
|
+
month -= 1;
|
|
19370
|
+
const date = new Date(year, month, day);
|
|
19371
|
+
return !(date.getFullYear() !== year || date.getMonth() !== month || date.getDate() !== day);
|
|
19372
|
+
};
|
|
19373
|
+
var Personnummer = class {
|
|
19374
|
+
/**
|
|
19375
|
+
* Personnummer constructor.
|
|
19376
|
+
*
|
|
19377
|
+
* @param {string} pin
|
|
19378
|
+
* @param {object} options
|
|
19379
|
+
*/
|
|
19380
|
+
constructor(pin, options) {
|
|
19381
|
+
this._century = "";
|
|
19382
|
+
this._fullYear = "";
|
|
19383
|
+
this._year = "";
|
|
19384
|
+
this._month = "";
|
|
19385
|
+
this._day = "";
|
|
19386
|
+
this._sep = "";
|
|
19387
|
+
this._num = "";
|
|
19388
|
+
this._check = "";
|
|
19389
|
+
this.parse(pin, {
|
|
19390
|
+
allowCoordinationNumber: true,
|
|
19391
|
+
allowInterimNumber: false,
|
|
19392
|
+
...options
|
|
19393
|
+
});
|
|
19394
|
+
}
|
|
19395
|
+
/**
|
|
19396
|
+
* Get century.
|
|
19397
|
+
*
|
|
19398
|
+
* @return {string}
|
|
19399
|
+
*/
|
|
19400
|
+
get century() {
|
|
19401
|
+
return this._century;
|
|
19402
|
+
}
|
|
19403
|
+
/**
|
|
19404
|
+
* Get age.
|
|
19405
|
+
*
|
|
19406
|
+
* @return {string}
|
|
19407
|
+
*/
|
|
19408
|
+
get fullYear() {
|
|
19409
|
+
return this._fullYear;
|
|
19410
|
+
}
|
|
19411
|
+
/**
|
|
19412
|
+
* Get age.
|
|
19413
|
+
*
|
|
19414
|
+
* @return {string}
|
|
19415
|
+
*/
|
|
19416
|
+
get year() {
|
|
19417
|
+
return this._year;
|
|
19418
|
+
}
|
|
19419
|
+
/**
|
|
19420
|
+
* Get month.
|
|
19421
|
+
*
|
|
19422
|
+
* @return {string}
|
|
19423
|
+
*/
|
|
19424
|
+
get month() {
|
|
19425
|
+
return this._month;
|
|
19426
|
+
}
|
|
19427
|
+
/**
|
|
19428
|
+
* Get day.
|
|
19429
|
+
*
|
|
19430
|
+
* @return {string}
|
|
19431
|
+
*/
|
|
19432
|
+
get day() {
|
|
19433
|
+
return this._day;
|
|
19434
|
+
}
|
|
19435
|
+
/**
|
|
19436
|
+
* Get sep.
|
|
19437
|
+
*
|
|
19438
|
+
* @return {string}
|
|
19439
|
+
*/
|
|
19440
|
+
get sep() {
|
|
19441
|
+
return this._sep;
|
|
19442
|
+
}
|
|
19443
|
+
/**
|
|
19444
|
+
* Get num.
|
|
19445
|
+
*
|
|
19446
|
+
* @return {string}
|
|
19447
|
+
*/
|
|
19448
|
+
get num() {
|
|
19449
|
+
return this._num;
|
|
19450
|
+
}
|
|
19451
|
+
/**
|
|
19452
|
+
* Get check.
|
|
19453
|
+
*
|
|
19454
|
+
* @return {string}
|
|
19455
|
+
*/
|
|
19456
|
+
get check() {
|
|
19457
|
+
return this._check;
|
|
19458
|
+
}
|
|
19459
|
+
/**
|
|
19460
|
+
* Parse personnummer.
|
|
19461
|
+
*
|
|
19462
|
+
* @param {string} pin
|
|
19463
|
+
* @param {object} options
|
|
19464
|
+
*
|
|
19465
|
+
* @return {Personnummer}
|
|
19466
|
+
*/
|
|
19467
|
+
static parse(pin, options) {
|
|
19468
|
+
return new Personnummer(pin, options);
|
|
19469
|
+
}
|
|
19470
|
+
/**
|
|
19471
|
+
* Validate a Swedish personal identity number.
|
|
19472
|
+
*
|
|
19473
|
+
* @param {string} str
|
|
19474
|
+
* @param {object} options
|
|
19475
|
+
*
|
|
19476
|
+
* @return {boolean}
|
|
19477
|
+
*/
|
|
19478
|
+
static valid(pin, options) {
|
|
19479
|
+
try {
|
|
19480
|
+
Personnummer.parse(pin, options);
|
|
19481
|
+
return true;
|
|
19482
|
+
} catch (e) {
|
|
19483
|
+
return false;
|
|
19484
|
+
}
|
|
19485
|
+
}
|
|
19486
|
+
/**
|
|
19487
|
+
* Parse personnummer and set class properties.
|
|
19488
|
+
*
|
|
19489
|
+
* @param {string} pin
|
|
19490
|
+
* @param {object} options
|
|
19491
|
+
*/
|
|
19492
|
+
parse(pin, options) {
|
|
19493
|
+
if (pin.length < 10 || pin.length > 13) {
|
|
19494
|
+
throw new PersonnummerError();
|
|
19495
|
+
}
|
|
19496
|
+
const reg = /^(\d{2}){0,1}(\d{2})(\d{2})(\d{2})([+-]?)((?!000)\d{3}|[TRSUWXJKLMN]\d{2})(\d)$/;
|
|
19497
|
+
const match2 = reg.exec(pin);
|
|
19498
|
+
if (!match2) {
|
|
19499
|
+
throw new PersonnummerError();
|
|
19500
|
+
}
|
|
19501
|
+
const century = match2[1];
|
|
19502
|
+
const year = match2[2];
|
|
19503
|
+
const month = match2[3];
|
|
19504
|
+
const day = match2[4];
|
|
19505
|
+
const sep = match2[5];
|
|
19506
|
+
const num = match2[6];
|
|
19507
|
+
const check = match2[7];
|
|
19508
|
+
if (typeof century === "undefined" || !century.length) {
|
|
19509
|
+
const d = /* @__PURE__ */ new Date();
|
|
19510
|
+
let baseYear = 0;
|
|
19511
|
+
if (sep === "+") {
|
|
19512
|
+
this._sep = "+";
|
|
19513
|
+
baseYear = d.getFullYear() - 100;
|
|
19514
|
+
} else {
|
|
19515
|
+
this._sep = "-";
|
|
19516
|
+
baseYear = d.getFullYear();
|
|
19517
|
+
}
|
|
19518
|
+
this._century = ("" + (baseYear - (baseYear - parseInt(year)) % 100)).substr(0, 2);
|
|
19519
|
+
} else {
|
|
19520
|
+
this._century = century;
|
|
19521
|
+
if ((/* @__PURE__ */ new Date()).getFullYear() - parseInt(century + year, 10) < 100) {
|
|
19522
|
+
this._sep = "-";
|
|
19523
|
+
} else {
|
|
19524
|
+
this._sep = "+";
|
|
19525
|
+
}
|
|
19526
|
+
}
|
|
19527
|
+
this._year = year;
|
|
19528
|
+
this._fullYear = this._century + year;
|
|
19529
|
+
this._month = month;
|
|
19530
|
+
this._day = day;
|
|
19531
|
+
this._num = num;
|
|
19532
|
+
this._check = check;
|
|
19533
|
+
if (!this.valid()) {
|
|
19534
|
+
throw new PersonnummerError();
|
|
19535
|
+
}
|
|
19536
|
+
if (!(options == null ? void 0 : options.allowCoordinationNumber) && this.isCoordinationNumber()) {
|
|
19537
|
+
throw new PersonnummerError();
|
|
19538
|
+
}
|
|
19539
|
+
if (!(options == null ? void 0 : options.allowInterimNumber) && this.isInterimNumber()) {
|
|
19540
|
+
throw new PersonnummerError();
|
|
19541
|
+
}
|
|
19542
|
+
}
|
|
19543
|
+
/**
|
|
19544
|
+
* Validate a Swedish personal identity number.
|
|
19545
|
+
*
|
|
19546
|
+
* @return {boolean}
|
|
19547
|
+
*/
|
|
19548
|
+
valid() {
|
|
19549
|
+
const valid = luhn(
|
|
19550
|
+
this.year + this.month + this.day + this.num.replace(/[TRSUWXJKLMN]/, "1")
|
|
19551
|
+
) === +this.check && !!this.check;
|
|
19552
|
+
if (valid && testDate(parseInt(this.century + this.year), +this.month, +this.day)) {
|
|
19553
|
+
return valid;
|
|
19554
|
+
}
|
|
19555
|
+
return valid && testDate(parseInt(this.century + this.year), +this.month, +this.day - 60);
|
|
19556
|
+
}
|
|
19557
|
+
/**
|
|
19558
|
+
* Format a Swedish personal identity number as one of the official formats,
|
|
19559
|
+
* A long format or a short format.
|
|
19560
|
+
*
|
|
19561
|
+
* If the input number could not be parsed a empty string will be returned.
|
|
19562
|
+
*
|
|
19563
|
+
* @param {boolean} longFormat
|
|
19564
|
+
*
|
|
19565
|
+
* @return {string}
|
|
19566
|
+
*/
|
|
19567
|
+
format(longFormat = false) {
|
|
19568
|
+
if (longFormat) {
|
|
19569
|
+
return `${this.century}${this.year}${this.month}${this.day}${this.num}${this.check}`;
|
|
19570
|
+
}
|
|
19571
|
+
return `${this.year}${this.month}${this.day}${this.sep}${this.num}${this.check}`;
|
|
19572
|
+
}
|
|
19573
|
+
/**
|
|
19574
|
+
* Get age from a Swedish personal identity number.
|
|
19575
|
+
*
|
|
19576
|
+
* @return {number}
|
|
19577
|
+
*/
|
|
19578
|
+
getAge() {
|
|
19579
|
+
const date = this.getDate();
|
|
19580
|
+
return diffInYears(new Date(Date.now()), date);
|
|
19581
|
+
}
|
|
19582
|
+
/**
|
|
19583
|
+
* Get date from a Swedish personal identity number.
|
|
19584
|
+
*
|
|
19585
|
+
* @return {Date}
|
|
19586
|
+
*/
|
|
19587
|
+
getDate() {
|
|
19588
|
+
let ageDay = +this.day;
|
|
19589
|
+
if (this.isCoordinationNumber()) {
|
|
19590
|
+
ageDay -= 60;
|
|
19591
|
+
}
|
|
19592
|
+
const ageDate = this.century + this.year + "-" + this.month + "-" + (ageDay < 10 ? "0" + ageDay : ageDay);
|
|
19593
|
+
return new Date(ageDate);
|
|
19594
|
+
}
|
|
19595
|
+
/**
|
|
19596
|
+
* Check if a Swedish personal identity number is a interim number or not.
|
|
19597
|
+
*
|
|
19598
|
+
* @return {boolean}
|
|
19599
|
+
*/
|
|
19600
|
+
isInterimNumber() {
|
|
19601
|
+
return /[TRSUWXJKLMN]/.test(this.num[0]);
|
|
19602
|
+
}
|
|
19603
|
+
/**
|
|
19604
|
+
* Check if a Swedish personal identity number is a coordination number or not.
|
|
19605
|
+
*
|
|
19606
|
+
* @return {boolean}
|
|
19607
|
+
*/
|
|
19608
|
+
isCoordinationNumber() {
|
|
19609
|
+
return testDate(
|
|
19610
|
+
parseInt(this.century + this.year),
|
|
19611
|
+
+this.month,
|
|
19612
|
+
+this.day - 60
|
|
19613
|
+
);
|
|
19614
|
+
}
|
|
19615
|
+
/**
|
|
19616
|
+
* Check if a Swedish personal identity number is for a female.
|
|
19617
|
+
*
|
|
19618
|
+
* @return {boolean}
|
|
19619
|
+
*/
|
|
19620
|
+
isFemale() {
|
|
19621
|
+
return !this.isMale();
|
|
19622
|
+
}
|
|
19623
|
+
/**
|
|
19624
|
+
* Check if a Swedish personal identity number is for a male.
|
|
19625
|
+
*
|
|
19626
|
+
* @return {boolean}
|
|
19627
|
+
*/
|
|
19628
|
+
isMale() {
|
|
19629
|
+
const sexDigit = parseInt(this.num.substr(-1));
|
|
19630
|
+
return sexDigit % 2 === 1;
|
|
19631
|
+
}
|
|
19632
|
+
};
|
|
19633
|
+
var src_default = Personnummer;
|
|
19634
|
+
const INVALID_RESULT = {
|
|
19635
|
+
isValid: false,
|
|
19636
|
+
digits: null
|
|
19637
|
+
};
|
|
19638
|
+
const DEFAULT_SSN_VALIDATION_OPTIONS = {
|
|
19639
|
+
allowCoordinationNumber: true,
|
|
19640
|
+
allowInterimNumber: true
|
|
19641
|
+
};
|
|
19642
|
+
function resolveSsnValidationOptions(options) {
|
|
19643
|
+
return {
|
|
19644
|
+
...DEFAULT_SSN_VALIDATION_OPTIONS,
|
|
19645
|
+
...options
|
|
19646
|
+
};
|
|
19647
|
+
}
|
|
19648
|
+
function stripSsnSeparators(value) {
|
|
19649
|
+
return normalizePidSearchValue(value);
|
|
19650
|
+
}
|
|
19651
|
+
function validateSsnNumber(value, options) {
|
|
19652
|
+
const trimmed = value.trim();
|
|
19653
|
+
if (!trimmed) {
|
|
19654
|
+
return INVALID_RESULT;
|
|
19655
|
+
}
|
|
19656
|
+
const resolvedOptions = resolveSsnValidationOptions(options);
|
|
19657
|
+
const isValid2 = src_default.valid(trimmed, resolvedOptions);
|
|
19658
|
+
return {
|
|
19659
|
+
isValid: isValid2,
|
|
19660
|
+
digits: isValid2 ? stripSsnSeparators(trimmed) : null
|
|
19661
|
+
};
|
|
19662
|
+
}
|
|
19663
|
+
function validateSsn(value, options) {
|
|
19664
|
+
return validateSsnNumber(value, options).isValid;
|
|
19665
|
+
}
|
|
19666
|
+
function getSsnValidationState(value, options) {
|
|
19667
|
+
if (!value.trim()) {
|
|
19668
|
+
return null;
|
|
19669
|
+
}
|
|
19670
|
+
return validateSsn(value, options);
|
|
19671
|
+
}
|
|
19672
|
+
const _hoisted_1$4 = { class: "w-full" };
|
|
19673
|
+
const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
19674
|
+
...{
|
|
19675
|
+
inheritAttrs: false
|
|
19676
|
+
},
|
|
19677
|
+
__name: "FdsSsn",
|
|
19678
|
+
props: /* @__PURE__ */ vue.mergeModels({
|
|
19679
|
+
label: { default: void 0 },
|
|
19680
|
+
meta: { default: void 0 },
|
|
19681
|
+
optional: { type: Boolean, default: false },
|
|
19682
|
+
valid: { type: [Boolean, null], default: void 0 },
|
|
19683
|
+
invalidMessage: { default: void 0 },
|
|
19684
|
+
modelValue: {},
|
|
19685
|
+
allowCoordinationNumber: { type: Boolean, default: true },
|
|
19686
|
+
allowInterimNumber: { type: Boolean, default: true },
|
|
19687
|
+
disabled: { type: Boolean, default: false },
|
|
19688
|
+
dataTestid: { default: void 0 },
|
|
19689
|
+
onValid: {},
|
|
19690
|
+
onBlur: {},
|
|
19691
|
+
"onUpdate:modelValue": {},
|
|
19692
|
+
id: { default: void 0 },
|
|
19693
|
+
autocomplete: { default: "off" },
|
|
19694
|
+
required: { type: Boolean, default: false },
|
|
19695
|
+
placeholder: { default: void 0 },
|
|
19696
|
+
name: { default: void 0 },
|
|
19697
|
+
autofocus: { type: Boolean, default: false },
|
|
19698
|
+
readonly: { type: Boolean, default: false },
|
|
19699
|
+
inputClass: { default: void 0 }
|
|
19700
|
+
}, {
|
|
19701
|
+
"modelValue": { default: "" },
|
|
19702
|
+
"modelModifiers": {}
|
|
19703
|
+
}),
|
|
19704
|
+
emits: /* @__PURE__ */ vue.mergeModels(["update:modelValue", "valid", "blur"], ["update:modelValue"]),
|
|
19705
|
+
setup(__props, { emit: __emit }) {
|
|
19706
|
+
const modelValue = vue.useModel(__props, "modelValue");
|
|
19707
|
+
const attrs = vue.useAttrs();
|
|
19708
|
+
const props = __props;
|
|
19709
|
+
const emit = __emit;
|
|
19710
|
+
const { t } = useFdsI18n();
|
|
19711
|
+
const inputAttrs = vue.computed(() => {
|
|
19712
|
+
const { class: _class, style, ...rest } = attrs;
|
|
19713
|
+
return {
|
|
19714
|
+
...rest,
|
|
19715
|
+
...style == null ? {} : { style }
|
|
19716
|
+
};
|
|
19717
|
+
});
|
|
19718
|
+
const forwardedInputProps = vue.computed(() => ({
|
|
19719
|
+
id: props.id,
|
|
19720
|
+
autocomplete: props.autocomplete,
|
|
19721
|
+
required: props.required,
|
|
19722
|
+
placeholder: props.placeholder,
|
|
19723
|
+
name: props.name,
|
|
19724
|
+
autofocus: props.autofocus,
|
|
19725
|
+
readonly: props.readonly,
|
|
19726
|
+
inputmode: props.allowInterimNumber ? "text" : "numeric",
|
|
19727
|
+
...inputAttrs.value
|
|
19728
|
+
}));
|
|
19729
|
+
const validationOptions = vue.computed(
|
|
19730
|
+
() => ({
|
|
19731
|
+
allowCoordinationNumber: props.allowCoordinationNumber,
|
|
19732
|
+
allowInterimNumber: props.allowInterimNumber
|
|
19733
|
+
})
|
|
19734
|
+
);
|
|
19735
|
+
const ssnMask = vue.computed(() => getSsnMask(props.allowInterimNumber));
|
|
19736
|
+
const ssnMaskOptions = vue.computed(() => getSsnMaskOptions(props.allowInterimNumber));
|
|
19737
|
+
const committedValid = vue.ref(null);
|
|
19738
|
+
const resolvedLabel = vue.computed(() => props.label === void 0 ? t("FdsSsn.label") : props.label);
|
|
19739
|
+
const resolvedInvalidMessage = vue.computed(
|
|
19740
|
+
() => props.invalidMessage === void 0 ? t("FdsSsn.invalidSsn") : props.invalidMessage
|
|
19741
|
+
);
|
|
19742
|
+
const displayValid = vue.computed(() => {
|
|
19743
|
+
if (props.valid === false) return false;
|
|
19744
|
+
if (props.valid === true) return true;
|
|
19745
|
+
if (committedValid.value === false) return false;
|
|
19746
|
+
if (committedValid.value === true) return true;
|
|
19747
|
+
return props.valid;
|
|
19748
|
+
});
|
|
19749
|
+
function normalizeValue2() {
|
|
19750
|
+
const normalized = stripSsnSeparators(modelValue.value ?? "");
|
|
19751
|
+
if (normalized !== (modelValue.value ?? "")) {
|
|
19752
|
+
modelValue.value = normalized;
|
|
19753
|
+
}
|
|
19754
|
+
}
|
|
19755
|
+
function runValidation() {
|
|
19756
|
+
const validationState = getSsnValidationState(modelValue.value ?? "", validationOptions.value);
|
|
19757
|
+
committedValid.value = validationState;
|
|
19758
|
+
emit("valid", validationState);
|
|
19759
|
+
}
|
|
19760
|
+
vue.watch([() => props.allowCoordinationNumber, () => props.allowInterimNumber], () => {
|
|
19761
|
+
if (committedValid.value === null) {
|
|
19762
|
+
return;
|
|
19763
|
+
}
|
|
19764
|
+
runValidation();
|
|
19765
|
+
});
|
|
19766
|
+
function handleBlur(ev) {
|
|
19767
|
+
normalizeValue2();
|
|
19768
|
+
runValidation();
|
|
19769
|
+
emit("blur", ev);
|
|
19770
|
+
}
|
|
19771
|
+
return (_ctx, _cache) => {
|
|
19772
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
|
|
19773
|
+
vue.createVNode(_sfc_main$s, vue.mergeProps({
|
|
19774
|
+
modelValue: modelValue.value,
|
|
19775
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),
|
|
19776
|
+
mask: ssnMask.value,
|
|
19777
|
+
"mask-options": ssnMaskOptions.value,
|
|
19778
|
+
label: resolvedLabel.value,
|
|
19779
|
+
meta: __props.meta,
|
|
19780
|
+
valid: displayValid.value,
|
|
19781
|
+
disabled: __props.disabled,
|
|
19782
|
+
optional: __props.optional,
|
|
19783
|
+
"invalid-message": resolvedInvalidMessage.value,
|
|
19784
|
+
ariaLabel: resolvedLabel.value,
|
|
19785
|
+
"data-testid": __props.dataTestid,
|
|
19786
|
+
class: __props.inputClass
|
|
19787
|
+
}, forwardedInputProps.value, { onBlur: handleBlur }), null, 16, ["modelValue", "mask", "mask-options", "label", "meta", "valid", "disabled", "optional", "invalid-message", "ariaLabel", "data-testid", "class"])
|
|
19788
|
+
]);
|
|
19789
|
+
};
|
|
19790
|
+
}
|
|
19791
|
+
});
|
|
19313
19792
|
const _hoisted_1$3 = ["for"];
|
|
19314
19793
|
const _hoisted_2$2 = {
|
|
19315
19794
|
key: 1,
|
|
@@ -19438,7 +19917,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
19438
19917
|
[vue.vModelSelect, internalValue.value]
|
|
19439
19918
|
]),
|
|
19440
19919
|
vue.createElementVNode("div", _hoisted_6, [
|
|
19441
|
-
vue.createVNode(_sfc_main$
|
|
19920
|
+
vue.createVNode(_sfc_main$N, {
|
|
19442
19921
|
name: "arrowDown",
|
|
19443
19922
|
size: 24,
|
|
19444
19923
|
class: vue.normalizeClass({
|
|
@@ -19605,12 +20084,12 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
|
19605
20084
|
vue.createElementVNode("div", {
|
|
19606
20085
|
class: vue.normalizeClass(validationIconClasses.value)
|
|
19607
20086
|
}, [
|
|
19608
|
-
isInvalid.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
20087
|
+
isInvalid.value ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
|
|
19609
20088
|
key: 0,
|
|
19610
20089
|
name: "alert",
|
|
19611
20090
|
class: "fill-red-600"
|
|
19612
20091
|
})) : vue.createCommentVNode("", true),
|
|
19613
|
-
isValid2.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
20092
|
+
isValid2.value ? (vue.openBlock(), vue.createBlock(_sfc_main$N, {
|
|
19614
20093
|
key: 1,
|
|
19615
20094
|
name: "bigSuccess"
|
|
19616
20095
|
})) : vue.createCommentVNode("", true)
|
|
@@ -19701,7 +20180,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
|
19701
20180
|
vue.unref(hasSlot) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2, [
|
|
19702
20181
|
vue.renderSlot(_ctx.$slots, "default")
|
|
19703
20182
|
])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3, vue.toDisplayString(__props.heading), 1)),
|
|
19704
|
-
vue.createVNode(_sfc_main$
|
|
20183
|
+
vue.createVNode(_sfc_main$N, {
|
|
19705
20184
|
name: iconName.value,
|
|
19706
20185
|
size: "24px",
|
|
19707
20186
|
class: "fill-blue-500 ml-1"
|
|
@@ -19933,7 +20412,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
19933
20412
|
});
|
|
19934
20413
|
return (_ctx, _cache) => {
|
|
19935
20414
|
return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({ class: wrapperClasses.value }, rootAttrs.value), [
|
|
19936
|
-
__props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
20415
|
+
__props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$F, {
|
|
19937
20416
|
key: 0,
|
|
19938
20417
|
size: "24px",
|
|
19939
20418
|
color: "blue",
|
|
@@ -20222,96 +20701,100 @@ const FdsVueCorePlugin = {
|
|
|
20222
20701
|
if (options?.i18n) {
|
|
20223
20702
|
app.provide(FDS_VUE_CORE_I18N_KEY, options.i18n);
|
|
20224
20703
|
}
|
|
20225
|
-
app.component("FdsTreeView", _sfc_main$
|
|
20226
|
-
app.component("FdsButtonPrimary", _sfc_main$
|
|
20227
|
-
app.component("FdsButtonSecondary", _sfc_main$
|
|
20228
|
-
app.component("FdsButtonMinor", _sfc_main$
|
|
20229
|
-
app.component("FdsButtonIcon", _sfc_main$
|
|
20230
|
-
app.component("FdsButtonCopy", _sfc_main$
|
|
20231
|
-
app.component("FdsButtonDownload", _sfc_main$
|
|
20232
|
-
app.component("FdsDevMode", _sfc_main$
|
|
20233
|
-
app.component("FdsIcon", _sfc_main$
|
|
20234
|
-
app.component("FdsSpinner", _sfc_main$
|
|
20235
|
-
app.component("FdsRadio", _sfc_main$
|
|
20236
|
-
app.component("FdsCheckbox", _sfc_main$
|
|
20704
|
+
app.component("FdsTreeView", _sfc_main$h);
|
|
20705
|
+
app.component("FdsButtonPrimary", _sfc_main$B);
|
|
20706
|
+
app.component("FdsButtonSecondary", _sfc_main$A);
|
|
20707
|
+
app.component("FdsButtonMinor", _sfc_main$E);
|
|
20708
|
+
app.component("FdsButtonIcon", _sfc_main$M);
|
|
20709
|
+
app.component("FdsButtonCopy", _sfc_main$D);
|
|
20710
|
+
app.component("FdsButtonDownload", _sfc_main$C);
|
|
20711
|
+
app.component("FdsDevMode", _sfc_main$o);
|
|
20712
|
+
app.component("FdsIcon", _sfc_main$N);
|
|
20713
|
+
app.component("FdsSpinner", _sfc_main$F);
|
|
20714
|
+
app.component("FdsRadio", _sfc_main$x);
|
|
20715
|
+
app.component("FdsCheckbox", _sfc_main$y);
|
|
20237
20716
|
app.component("FdsTextarea", _sfc_main$7);
|
|
20238
|
-
app.component("FdsPhonenumber", _sfc_main$
|
|
20717
|
+
app.component("FdsPhonenumber", _sfc_main$a);
|
|
20718
|
+
app.component("FdsSsn", _sfc_main$9);
|
|
20239
20719
|
app.component("FdsSelect", _sfc_main$8);
|
|
20240
20720
|
app.component("FdsTable", _sfc_main$6);
|
|
20241
20721
|
app.component("FdsTableHead", _sfc_main$5);
|
|
20242
|
-
app.component("FdsInput", _sfc_main$
|
|
20243
|
-
app.component("FdsBlockContent", _sfc_main$
|
|
20244
|
-
app.component("FdsBlockInfo", _sfc_main$
|
|
20245
|
-
app.component("FdsBlockAlert", _sfc_main$
|
|
20246
|
-
app.component("FdsBlockExpander", _sfc_main$
|
|
20247
|
-
app.component("FdsBlockLink", _sfc_main$
|
|
20248
|
-
app.component("FdsSticker", _sfc_main$
|
|
20249
|
-
app.component("FdsTabs", _sfc_main$
|
|
20250
|
-
app.component("FdsTabsItem", _sfc_main$
|
|
20251
|
-
app.component("FdsModal", _sfc_main$
|
|
20252
|
-
app.component("FdsPagination", _sfc_main$
|
|
20253
|
-
app.component("FdsPopover", _sfc_main$
|
|
20254
|
-
app.component("FdsSearchSelect", _sfc_main$
|
|
20255
|
-
app.component("FdsSearchSelectPro", _sfc_main$
|
|
20256
|
-
app.component("FdsTruncatedText", _sfc_main$
|
|
20257
|
-
app.component("FdsWizard", _sfc_main$
|
|
20258
|
-
app.component("FdsWeekCalendar", _sfc_main$
|
|
20722
|
+
app.component("FdsInput", _sfc_main$s);
|
|
20723
|
+
app.component("FdsBlockContent", _sfc_main$K);
|
|
20724
|
+
app.component("FdsBlockInfo", _sfc_main$H);
|
|
20725
|
+
app.component("FdsBlockAlert", _sfc_main$L);
|
|
20726
|
+
app.component("FdsBlockExpander", _sfc_main$I);
|
|
20727
|
+
app.component("FdsBlockLink", _sfc_main$G);
|
|
20728
|
+
app.component("FdsSticker", _sfc_main$J);
|
|
20729
|
+
app.component("FdsTabs", _sfc_main$r);
|
|
20730
|
+
app.component("FdsTabsItem", _sfc_main$q);
|
|
20731
|
+
app.component("FdsModal", _sfc_main$u);
|
|
20732
|
+
app.component("FdsPagination", _sfc_main$m);
|
|
20733
|
+
app.component("FdsPopover", _sfc_main$l);
|
|
20734
|
+
app.component("FdsSearchSelect", _sfc_main$k);
|
|
20735
|
+
app.component("FdsSearchSelectPro", _sfc_main$j);
|
|
20736
|
+
app.component("FdsTruncatedText", _sfc_main$g);
|
|
20737
|
+
app.component("FdsWizard", _sfc_main$c);
|
|
20738
|
+
app.component("FdsWeekCalendar", _sfc_main$e);
|
|
20259
20739
|
app.component("FdsH1", _sfc_main$4);
|
|
20260
20740
|
app.component("FdsH2", _sfc_main$3);
|
|
20261
20741
|
app.component("FdsH3", _sfc_main$2);
|
|
20262
20742
|
app.component("FdsHr", _sfc_main$1);
|
|
20263
|
-
app.component("FdsLabel", _sfc_main$
|
|
20264
|
-
app.component("FdsLead", _sfc_main$
|
|
20265
|
-
app.component("FdsMeta", _sfc_main$
|
|
20743
|
+
app.component("FdsLabel", _sfc_main$w);
|
|
20744
|
+
app.component("FdsLead", _sfc_main$d);
|
|
20745
|
+
app.component("FdsMeta", _sfc_main$t);
|
|
20266
20746
|
app.component("FdsListHeading", _sfc_main);
|
|
20267
20747
|
}
|
|
20268
20748
|
};
|
|
20269
20749
|
exports.FDS_VUE_CORE_I18N_KEY = FDS_VUE_CORE_I18N_KEY;
|
|
20270
|
-
exports.FdsBlockAlert = _sfc_main$
|
|
20271
|
-
exports.FdsBlockContent = _sfc_main$
|
|
20272
|
-
exports.FdsBlockExpander = _sfc_main$
|
|
20273
|
-
exports.FdsBlockInfo = _sfc_main$
|
|
20274
|
-
exports.FdsBlockLink = _sfc_main$
|
|
20275
|
-
exports.FdsButtonCopy = _sfc_main$
|
|
20276
|
-
exports.FdsButtonDownload = _sfc_main$
|
|
20277
|
-
exports.FdsButtonIcon = _sfc_main$
|
|
20278
|
-
exports.FdsButtonMinor = _sfc_main$
|
|
20279
|
-
exports.FdsButtonPrimary = _sfc_main$
|
|
20280
|
-
exports.FdsButtonSecondary = _sfc_main$
|
|
20281
|
-
exports.FdsCheckbox = _sfc_main$
|
|
20282
|
-
exports.FdsDevMode = _sfc_main$
|
|
20283
|
-
exports.FdsExitModal = _sfc_main$
|
|
20750
|
+
exports.FdsBlockAlert = _sfc_main$L;
|
|
20751
|
+
exports.FdsBlockContent = _sfc_main$K;
|
|
20752
|
+
exports.FdsBlockExpander = _sfc_main$I;
|
|
20753
|
+
exports.FdsBlockInfo = _sfc_main$H;
|
|
20754
|
+
exports.FdsBlockLink = _sfc_main$G;
|
|
20755
|
+
exports.FdsButtonCopy = _sfc_main$D;
|
|
20756
|
+
exports.FdsButtonDownload = _sfc_main$C;
|
|
20757
|
+
exports.FdsButtonIcon = _sfc_main$M;
|
|
20758
|
+
exports.FdsButtonMinor = _sfc_main$E;
|
|
20759
|
+
exports.FdsButtonPrimary = _sfc_main$B;
|
|
20760
|
+
exports.FdsButtonSecondary = _sfc_main$A;
|
|
20761
|
+
exports.FdsCheckbox = _sfc_main$y;
|
|
20762
|
+
exports.FdsDevMode = _sfc_main$o;
|
|
20763
|
+
exports.FdsExitModal = _sfc_main$n;
|
|
20284
20764
|
exports.FdsH1 = _sfc_main$4;
|
|
20285
20765
|
exports.FdsH2 = _sfc_main$3;
|
|
20286
20766
|
exports.FdsH3 = _sfc_main$2;
|
|
20287
20767
|
exports.FdsHr = _sfc_main$1;
|
|
20288
|
-
exports.FdsIcon = _sfc_main$
|
|
20289
|
-
exports.FdsInput = _sfc_main$
|
|
20290
|
-
exports.FdsLabel = _sfc_main$
|
|
20291
|
-
exports.FdsLead = _sfc_main$
|
|
20768
|
+
exports.FdsIcon = _sfc_main$N;
|
|
20769
|
+
exports.FdsInput = _sfc_main$s;
|
|
20770
|
+
exports.FdsLabel = _sfc_main$w;
|
|
20771
|
+
exports.FdsLead = _sfc_main$d;
|
|
20292
20772
|
exports.FdsListHeading = _sfc_main;
|
|
20293
|
-
exports.FdsMeta = _sfc_main$
|
|
20294
|
-
exports.FdsModal = _sfc_main$
|
|
20295
|
-
exports.FdsPagination = _sfc_main$
|
|
20296
|
-
exports.FdsPhonenumber = _sfc_main$
|
|
20297
|
-
exports.FdsPopover = _sfc_main$
|
|
20298
|
-
exports.FdsRadio = _sfc_main$
|
|
20299
|
-
exports.FdsSearchSelect = _sfc_main$
|
|
20300
|
-
exports.FdsSearchSelectPro = _sfc_main$
|
|
20773
|
+
exports.FdsMeta = _sfc_main$t;
|
|
20774
|
+
exports.FdsModal = _sfc_main$u;
|
|
20775
|
+
exports.FdsPagination = _sfc_main$m;
|
|
20776
|
+
exports.FdsPhonenumber = _sfc_main$a;
|
|
20777
|
+
exports.FdsPopover = _sfc_main$l;
|
|
20778
|
+
exports.FdsRadio = _sfc_main$x;
|
|
20779
|
+
exports.FdsSearchSelect = _sfc_main$k;
|
|
20780
|
+
exports.FdsSearchSelectPro = _sfc_main$j;
|
|
20301
20781
|
exports.FdsSelect = _sfc_main$8;
|
|
20302
|
-
exports.FdsSpinner = _sfc_main$
|
|
20303
|
-
exports.
|
|
20782
|
+
exports.FdsSpinner = _sfc_main$F;
|
|
20783
|
+
exports.FdsSsn = _sfc_main$9;
|
|
20784
|
+
exports.FdsSticker = _sfc_main$J;
|
|
20304
20785
|
exports.FdsTable = _sfc_main$6;
|
|
20305
20786
|
exports.FdsTableHead = _sfc_main$5;
|
|
20306
|
-
exports.FdsTabs = _sfc_main$
|
|
20307
|
-
exports.FdsTabsItem = _sfc_main$
|
|
20787
|
+
exports.FdsTabs = _sfc_main$r;
|
|
20788
|
+
exports.FdsTabsItem = _sfc_main$q;
|
|
20308
20789
|
exports.FdsTextarea = _sfc_main$7;
|
|
20309
|
-
exports.FdsTreeView = _sfc_main$
|
|
20310
|
-
exports.FdsTruncatedText = _sfc_main$
|
|
20311
|
-
exports.FdsWeekCalendar = _sfc_main$
|
|
20312
|
-
exports.FdsWizard = _sfc_main$
|
|
20790
|
+
exports.FdsTreeView = _sfc_main$h;
|
|
20791
|
+
exports.FdsTruncatedText = _sfc_main$g;
|
|
20792
|
+
exports.FdsWeekCalendar = _sfc_main$e;
|
|
20793
|
+
exports.FdsWizard = _sfc_main$c;
|
|
20313
20794
|
exports.PID_MASK = PID_MASK;
|
|
20314
20795
|
exports.PID_MASK_OPTIONS = PID_MASK_OPTIONS;
|
|
20796
|
+
exports.SSN_INTERIM_MASK = SSN_INTERIM_MASK;
|
|
20797
|
+
exports.SSN_MASK = SSN_MASK;
|
|
20315
20798
|
exports.bankid = bankid;
|
|
20316
20799
|
exports.buildCountryOptions = buildCountryOptions;
|
|
20317
20800
|
exports.capitalizeFirstLetter = capitalizeFirstLetter;
|
|
@@ -20323,6 +20806,9 @@ exports.filterCountryOptions = filterCountryOptions;
|
|
|
20323
20806
|
exports.formatPidWithDash = formatPidWithDash;
|
|
20324
20807
|
exports.getExitGuardWizardId = getExitGuardWizardId;
|
|
20325
20808
|
exports.getPhoneValidationState = getPhoneValidationState;
|
|
20809
|
+
exports.getSsnMask = getSsnMask;
|
|
20810
|
+
exports.getSsnMaskOptions = getSsnMaskOptions;
|
|
20811
|
+
exports.getSsnValidationState = getSsnValidationState;
|
|
20326
20812
|
exports.isPidString = isPidString;
|
|
20327
20813
|
exports.isRelativeHref = isRelativeHref;
|
|
20328
20814
|
exports.logoFeelgoodColored = logoFeelgoodColored;
|
|
@@ -20334,6 +20820,7 @@ exports.setupRouterLinkInterceptor = setupRouterLinkInterceptor;
|
|
|
20334
20820
|
exports.shouldBlockNavigation = shouldBlockNavigation;
|
|
20335
20821
|
exports.shouldBlockWizardExit = shouldBlockWizardExit;
|
|
20336
20822
|
exports.sortCountryOptionsByName = sortCountryOptionsByName;
|
|
20823
|
+
exports.stripSsnSeparators = stripSsnSeparators;
|
|
20337
20824
|
exports.teardownRouterLinkInterceptor = teardownRouterLinkInterceptor;
|
|
20338
20825
|
exports.useBoldQuery = useBoldQuery;
|
|
20339
20826
|
exports.useDevMode = useDevMode;
|
|
@@ -20349,4 +20836,6 @@ exports.useRouteScrollPositions = useRouteScrollPositions;
|
|
|
20349
20836
|
exports.useTreeState = useTreeState;
|
|
20350
20837
|
exports.useViewportBreakpoint = useViewportBreakpoint;
|
|
20351
20838
|
exports.validatePhoneNumber = validatePhoneNumber;
|
|
20839
|
+
exports.validateSsn = validateSsn;
|
|
20840
|
+
exports.validateSsnNumber = validateSsnNumber;
|
|
20352
20841
|
//# sourceMappingURL=fds-vue-core.cjs.js.map
|