fds-vue-core 4.7.0 → 4.7.2
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/dist/fds-vue-core.cjs.js +232 -148
- 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 +232 -148
- package/dist/fds-vue-core.es.js.map +1 -1
- package/package.json +1 -1
- package/src/components/FdsWizard/FdsWizard.vue +151 -56
- package/src/components/Form/FdsInput/FdsInput.stories.ts +1 -1
- package/src/components/Form/FdsInput/FdsInput.vue +18 -0
package/dist/fds-vue-core.cjs.js
CHANGED
|
@@ -1004,12 +1004,12 @@ const _hoisted_4$9 = {
|
|
|
1004
1004
|
};
|
|
1005
1005
|
const _hoisted_5$8 = { class: "flex items-start justify-between gap-4" };
|
|
1006
1006
|
const _hoisted_6$5 = { class: "m-0 text-base font-main font-bold tracking-wide" };
|
|
1007
|
-
const _hoisted_7$
|
|
1008
|
-
const _hoisted_8$
|
|
1007
|
+
const _hoisted_7$5 = { class: "flex items-start gap-3" };
|
|
1008
|
+
const _hoisted_8$4 = {
|
|
1009
1009
|
key: 1,
|
|
1010
1010
|
class: "mb-0-last-child"
|
|
1011
1011
|
};
|
|
1012
|
-
const _hoisted_9$
|
|
1012
|
+
const _hoisted_9$4 = { key: 1 };
|
|
1013
1013
|
const _hoisted_10$2 = { class: "flex items-start justify-between gap-4" };
|
|
1014
1014
|
const _hoisted_11$2 = { class: "flex items-center gap-3" };
|
|
1015
1015
|
const _hoisted_12$1 = { class: "m-0 text-base font-main font-bold tracking-wide" };
|
|
@@ -1059,16 +1059,16 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
|
|
|
1059
1059
|
__props.heading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$9, [
|
|
1060
1060
|
vue.createElementVNode("header", _hoisted_5$8, [
|
|
1061
1061
|
vue.createElementVNode("h3", _hoisted_6$5, vue.toDisplayString(__props.heading), 1),
|
|
1062
|
-
vue.createElementVNode("div", _hoisted_7$
|
|
1062
|
+
vue.createElementVNode("div", _hoisted_7$5, [
|
|
1063
1063
|
vue.renderSlot(_ctx.$slots, "headerInfo")
|
|
1064
1064
|
])
|
|
1065
1065
|
])
|
|
1066
1066
|
])) : vue.createCommentVNode("", true),
|
|
1067
|
-
vue.unref(hasSlot) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$
|
|
1067
|
+
vue.unref(hasSlot) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$4, [
|
|
1068
1068
|
vue.renderSlot(_ctx.$slots, "default")
|
|
1069
1069
|
])) : vue.createCommentVNode("", true)
|
|
1070
1070
|
])
|
|
1071
|
-
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$
|
|
1071
|
+
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$4, [
|
|
1072
1072
|
__props.heading ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
1073
1073
|
key: 0,
|
|
1074
1074
|
class: vue.normalizeClass({ "mb-2": vue.unref(hasSlot) })
|
|
@@ -8424,6 +8424,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
8424
8424
|
const clearButtonLabel = vue.computed(() => props.locale === "sv" ? "Rensa input" : "Clear input");
|
|
8425
8425
|
const passwordButtonShowLabel = vue.computed(() => props.locale === "sv" ? "Visa" : "Show");
|
|
8426
8426
|
const passwordButtonHideLabel = vue.computed(() => props.locale === "sv" ? "Dölj" : "Hide");
|
|
8427
|
+
const dateButtonLabel = vue.computed(() => props.locale === "sv" ? "Öppna datumväljare" : "Open date picker");
|
|
8427
8428
|
const showInvalidMessage = vue.computed(() => props.valid === false && !props.optional && props.invalidMessage);
|
|
8428
8429
|
const isInvalid = vue.computed(() => props.valid === false && !props.optional && !props.disabled);
|
|
8429
8430
|
const isValid = vue.computed(() => props.valid === true);
|
|
@@ -8432,8 +8433,10 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
8432
8433
|
);
|
|
8433
8434
|
const showClearButton = vue.computed(() => props.clearButton && !!internalValue.value && !props.disabled);
|
|
8434
8435
|
const showValidationIcon = vue.computed(() => isInvalid.value || isValid.value);
|
|
8436
|
+
const showDateIcon = vue.computed(() => inputType.value === "date");
|
|
8435
8437
|
const rightIconCount = vue.computed(() => {
|
|
8436
8438
|
let count = 0;
|
|
8439
|
+
if (showDateIcon.value) count++;
|
|
8437
8440
|
if (showValidationIcon.value) count++;
|
|
8438
8441
|
if (showClearButton.value) count++;
|
|
8439
8442
|
if (props.searchIcon) count++;
|
|
@@ -8454,6 +8457,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
8454
8457
|
maxlength.value ? "" : "w-full",
|
|
8455
8458
|
inputPaddingRight.value,
|
|
8456
8459
|
"focus:outline-2 focus:outline-blue-500 -outline-offset-2 focus:border-transparent",
|
|
8460
|
+
showDateIcon.value && "[&::-webkit-calendar-picker-indicator]:opacity-0 [&::-webkit-calendar-picker-indicator]:pointer-events-none",
|
|
8457
8461
|
props.disabled ? "text-gray-800 outline-dashed outline-2 outline-gray-400 cursor-not-allowed border-transparent" : "bg-white",
|
|
8458
8462
|
isInvalid.value && "outline-2 outline-red-600",
|
|
8459
8463
|
props.inputClass
|
|
@@ -8484,6 +8488,10 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
8484
8488
|
internalValue.value = "";
|
|
8485
8489
|
emit("clearInput");
|
|
8486
8490
|
}
|
|
8491
|
+
function onDateIconClick() {
|
|
8492
|
+
if (!showDateIcon.value || props.disabled) return;
|
|
8493
|
+
inputRef.value?.showPicker?.();
|
|
8494
|
+
}
|
|
8487
8495
|
const showPassword = vue.ref(false);
|
|
8488
8496
|
const isLazy = vue.computed(() => props.modelModifiers?.lazy === true);
|
|
8489
8497
|
function toggleShowPassword() {
|
|
@@ -8615,30 +8623,38 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
8615
8623
|
vue.createElementVNode("div", {
|
|
8616
8624
|
class: vue.normalizeClass(rightIconsContainerClasses.value)
|
|
8617
8625
|
}, [
|
|
8618
|
-
|
|
8626
|
+
showDateIcon.value ? (vue.openBlock(), vue.createBlock(_sfc_main$D, {
|
|
8619
8627
|
key: 0,
|
|
8628
|
+
"aria-label": dateButtonLabel.value,
|
|
8629
|
+
onClick: onDateIconClick,
|
|
8630
|
+
icon: "calendar",
|
|
8631
|
+
size: 28,
|
|
8632
|
+
class: "fill-blue-500"
|
|
8633
|
+
}, null, 8, ["aria-label"])) : vue.createCommentVNode("", true),
|
|
8634
|
+
isInvalid.value ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
|
|
8635
|
+
key: 1,
|
|
8620
8636
|
name: "alert",
|
|
8621
8637
|
class: "fill-red-600"
|
|
8622
8638
|
})) : vue.createCommentVNode("", true),
|
|
8623
8639
|
isValid.value ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
|
|
8624
|
-
key:
|
|
8640
|
+
key: 2,
|
|
8625
8641
|
name: "bigSuccess"
|
|
8626
8642
|
})) : vue.createCommentVNode("", true),
|
|
8627
8643
|
props.searchIcon ? (vue.openBlock(), vue.createBlock(_sfc_main$E, {
|
|
8628
|
-
key:
|
|
8644
|
+
key: 3,
|
|
8629
8645
|
name: "search",
|
|
8630
8646
|
size: 24,
|
|
8631
8647
|
class: "fill-blue-500"
|
|
8632
8648
|
})) : vue.createCommentVNode("", true),
|
|
8633
8649
|
showClearButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$D, vue.mergeProps({
|
|
8634
|
-
key:
|
|
8650
|
+
key: 4,
|
|
8635
8651
|
icon: "cross"
|
|
8636
8652
|
}, { "aria-label": clearButtonLabel.value }, {
|
|
8637
8653
|
onClick: onClear,
|
|
8638
8654
|
size: 30
|
|
8639
8655
|
}), null, 16)) : vue.createCommentVNode("", true),
|
|
8640
8656
|
showPasswordToggle.value ? (vue.openBlock(), vue.createBlock(_sfc_main$v, {
|
|
8641
|
-
key:
|
|
8657
|
+
key: 5,
|
|
8642
8658
|
icon: showPassword.value ? "viewOff" : "viewOn",
|
|
8643
8659
|
text: showPassword.value ? passwordButtonHideLabel.value : passwordButtonShowLabel.value,
|
|
8644
8660
|
onClick: toggleShowPassword
|
|
@@ -8812,9 +8828,9 @@ const _hoisted_3$8 = {
|
|
|
8812
8828
|
const _hoisted_4$7 = { class: "w-full text-left text-xs border-collapse" };
|
|
8813
8829
|
const _hoisted_5$7 = ["onClick"];
|
|
8814
8830
|
const _hoisted_6$4 = { class: "py-1.5 px-3 font-mono break-all" };
|
|
8815
|
-
const _hoisted_7$
|
|
8816
|
-
const _hoisted_8$
|
|
8817
|
-
const _hoisted_9$
|
|
8831
|
+
const _hoisted_7$4 = { class: "py-1.5 px-3 font-mono whitespace-pre-wrap break-all" };
|
|
8832
|
+
const _hoisted_8$3 = { class: "mt-4 space-y-2" };
|
|
8833
|
+
const _hoisted_9$3 = { class: "flex flex-col gap-1" };
|
|
8818
8834
|
const _hoisted_10$1 = { class: "flex flex-col gap-1" };
|
|
8819
8835
|
const _hoisted_11$1 = {
|
|
8820
8836
|
key: 0,
|
|
@@ -9117,14 +9133,14 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
9117
9133
|
onClick: ($event) => selectLocalEntry(entry)
|
|
9118
9134
|
}, [
|
|
9119
9135
|
vue.createElementVNode("td", _hoisted_6$4, vue.toDisplayString(entry.key), 1),
|
|
9120
|
-
vue.createElementVNode("td", _hoisted_7$
|
|
9136
|
+
vue.createElementVNode("td", _hoisted_7$4, vue.toDisplayString(entry.value), 1)
|
|
9121
9137
|
], 8, _hoisted_5$7);
|
|
9122
9138
|
}), 128))
|
|
9123
9139
|
])
|
|
9124
9140
|
])
|
|
9125
9141
|
])),
|
|
9126
|
-
vue.createElementVNode("div", _hoisted_8$
|
|
9127
|
-
vue.createElementVNode("div", _hoisted_9$
|
|
9142
|
+
vue.createElementVNode("div", _hoisted_8$3, [
|
|
9143
|
+
vue.createElementVNode("div", _hoisted_9$3, [
|
|
9128
9144
|
_cache[13] || (_cache[13] = vue.createElementVNode("label", { class: "text-xs font-semibold" }, "Nyckel", -1)),
|
|
9129
9145
|
vue.withDirectives(vue.createElementVNode("input", {
|
|
9130
9146
|
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => localEditKey.value = $event),
|
|
@@ -9694,9 +9710,9 @@ const _hoisted_6$3 = {
|
|
|
9694
9710
|
key: 0,
|
|
9695
9711
|
class: "flex justify-center p-4"
|
|
9696
9712
|
};
|
|
9697
|
-
const _hoisted_7$
|
|
9698
|
-
const _hoisted_8$
|
|
9699
|
-
const _hoisted_9$
|
|
9713
|
+
const _hoisted_7$3 = ["id", "onMouseup"];
|
|
9714
|
+
const _hoisted_8$2 = ["id", "onKeydown"];
|
|
9715
|
+
const _hoisted_9$2 = ["for", "innerHTML"];
|
|
9700
9716
|
const _hoisted_10 = {
|
|
9701
9717
|
key: 2,
|
|
9702
9718
|
class: "block m-0 list-none p-0"
|
|
@@ -10187,13 +10203,13 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
10187
10203
|
vue.withKeys((e) => handleClick(e, item), ["enter"]),
|
|
10188
10204
|
vue.withKeys(vue.withModifiers((e) => handleClick(e, item), ["prevent"]), ["space"])
|
|
10189
10205
|
]
|
|
10190
|
-
}, null, 40, _hoisted_8$
|
|
10206
|
+
}, null, 40, _hoisted_8$2),
|
|
10191
10207
|
vue.createElementVNode("label", {
|
|
10192
10208
|
for: `search-select-radio-${index}`,
|
|
10193
10209
|
class: vue.normalizeClass([labelClasses.value, listItemClasses.value]),
|
|
10194
10210
|
innerHTML: handleMatchingString(item)
|
|
10195
|
-
}, null, 10, _hoisted_9$
|
|
10196
|
-
], 42, _hoisted_7$
|
|
10211
|
+
}, null, 10, _hoisted_9$2)
|
|
10212
|
+
], 42, _hoisted_7$3);
|
|
10197
10213
|
}), 128))
|
|
10198
10214
|
], 32),
|
|
10199
10215
|
__props.page !== void 0 && totalPages.value !== null && totalPages.value > 1 ? (vue.openBlock(), vue.createBlock(_sfc_main$j, {
|
|
@@ -10941,9 +10957,9 @@ const _hoisted_6$2 = {
|
|
|
10941
10957
|
key: 2,
|
|
10942
10958
|
class: "items-center max-h-[28px]"
|
|
10943
10959
|
};
|
|
10944
|
-
const _hoisted_7$
|
|
10945
|
-
const _hoisted_8 = ["onClick"];
|
|
10946
|
-
const _hoisted_9 = { key: 0 };
|
|
10960
|
+
const _hoisted_7$2 = { class: "flex flex-col gap-2" };
|
|
10961
|
+
const _hoisted_8$1 = ["onClick"];
|
|
10962
|
+
const _hoisted_9$1 = { key: 0 };
|
|
10947
10963
|
const popoverWidth = 327;
|
|
10948
10964
|
const popoverHeight = 80;
|
|
10949
10965
|
const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -11218,7 +11234,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
11218
11234
|
}, ["stop"])),
|
|
11219
11235
|
onFocusout: onPanelFocusOut
|
|
11220
11236
|
}, [
|
|
11221
|
-
vue.createElementVNode("div", _hoisted_7$
|
|
11237
|
+
vue.createElementVNode("div", _hoisted_7$2, [
|
|
11222
11238
|
(vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(options, (option) => {
|
|
11223
11239
|
return vue.createElementVNode("div", {
|
|
11224
11240
|
key: option.value,
|
|
@@ -11238,7 +11254,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
11238
11254
|
onBlur: closePopover,
|
|
11239
11255
|
label: option.label
|
|
11240
11256
|
}, null, 8, ["modelValue", "id", "name", "value", "label"])
|
|
11241
|
-
], 8, _hoisted_8);
|
|
11257
|
+
], 8, _hoisted_8$1);
|
|
11242
11258
|
}), 64))
|
|
11243
11259
|
]),
|
|
11244
11260
|
vue.createVNode(_sfc_main$D, vue.mergeProps({
|
|
@@ -11256,7 +11272,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
11256
11272
|
])) : vue.createCommentVNode("", true)
|
|
11257
11273
|
])
|
|
11258
11274
|
], 4),
|
|
11259
|
-
vue.unref(expandedNodes).has(props.nodeId) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9, [
|
|
11275
|
+
vue.unref(expandedNodes).has(props.nodeId) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$1, [
|
|
11260
11276
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(filteredNodes.value, (child) => {
|
|
11261
11277
|
return vue.openBlock(), vue.createBlock(_component_TreeNode, {
|
|
11262
11278
|
key: child.nodeId,
|
|
@@ -11556,13 +11572,41 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
11556
11572
|
};
|
|
11557
11573
|
}
|
|
11558
11574
|
});
|
|
11559
|
-
const _hoisted_1$4 = { class: "h-[2px] absolute top-[22px] left-[50%] bg-white-solid transform -translate-x-1/2 w-[calc(100%-50px)]" };
|
|
11560
|
-
const _hoisted_2$3 = { class: "flex justify-between list-none mb-8 p-0" };
|
|
11561
|
-
const _hoisted_3$3 = { class: "flex justify-between w-full" };
|
|
11562
|
-
const _hoisted_4$3 = ["onClick", "disabled"];
|
|
11563
|
-
const _hoisted_5$3 = { key: 0 };
|
|
11564
|
-
const _hoisted_6$1 = { class: "text-blue-600 font-bold text-sm" };
|
|
11565
11575
|
const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
11576
|
+
...{
|
|
11577
|
+
inheritAttrs: false
|
|
11578
|
+
},
|
|
11579
|
+
__name: "FdsLead",
|
|
11580
|
+
props: {
|
|
11581
|
+
dataTestid: { default: void 0 }
|
|
11582
|
+
},
|
|
11583
|
+
setup(__props) {
|
|
11584
|
+
const props = __props;
|
|
11585
|
+
const attrs = vue.useAttrs();
|
|
11586
|
+
const rootAttrs = vue.computed(() => {
|
|
11587
|
+
const result = { ...attrs };
|
|
11588
|
+
if (props.dataTestid) {
|
|
11589
|
+
result["data-testid"] = props.dataTestid;
|
|
11590
|
+
}
|
|
11591
|
+
return result;
|
|
11592
|
+
});
|
|
11593
|
+
return (_ctx, _cache) => {
|
|
11594
|
+
return vue.openBlock(), vue.createElementBlock("span", vue.mergeProps({ class: "inline-block font-light text-lg" }, rootAttrs.value), [
|
|
11595
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
11596
|
+
], 16);
|
|
11597
|
+
};
|
|
11598
|
+
}
|
|
11599
|
+
});
|
|
11600
|
+
const _hoisted_1$4 = { class: "mb-6" };
|
|
11601
|
+
const _hoisted_2$3 = { class: "mb-0" };
|
|
11602
|
+
const _hoisted_3$3 = { class: "relative" };
|
|
11603
|
+
const _hoisted_4$3 = { class: "h-[2px] absolute top-[22px] left-[50%] bg-white-solid transform -translate-x-1/2 w-[calc(100%-50px)]" };
|
|
11604
|
+
const _hoisted_5$3 = { class: "flex justify-between list-none mb-8 p-0" };
|
|
11605
|
+
const _hoisted_6$1 = { class: "flex justify-between w-full" };
|
|
11606
|
+
const _hoisted_7$1 = ["onClick", "disabled"];
|
|
11607
|
+
const _hoisted_8 = { key: 0 };
|
|
11608
|
+
const _hoisted_9 = { class: "text-blue-600 font-bold text-sm" };
|
|
11609
|
+
const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
11566
11610
|
__name: "FdsWizard",
|
|
11567
11611
|
props: {
|
|
11568
11612
|
routes: {},
|
|
@@ -11576,11 +11620,16 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
11576
11620
|
},
|
|
11577
11621
|
emits: ["go"],
|
|
11578
11622
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
11623
|
+
const mainHeading = vue.ref("");
|
|
11624
|
+
const mainLead = vue.ref("");
|
|
11625
|
+
const contentClass = vue.ref("max-w-screen-sm");
|
|
11579
11626
|
const props = __props;
|
|
11580
11627
|
const emit = __emit;
|
|
11581
11628
|
const instance = vue.getCurrentInstance();
|
|
11582
11629
|
const internalCompletedTo = vue.ref(0);
|
|
11583
11630
|
const internalMaxStep = vue.ref(0);
|
|
11631
|
+
const wizardData = vue.ref({});
|
|
11632
|
+
const validatedRouteNames = vue.ref({});
|
|
11584
11633
|
const router = vue.computed(() => {
|
|
11585
11634
|
try {
|
|
11586
11635
|
return instance?.appContext.config.globalProperties.$router;
|
|
@@ -11670,29 +11719,50 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
11670
11719
|
}
|
|
11671
11720
|
return classes.join(" ");
|
|
11672
11721
|
};
|
|
11673
|
-
const
|
|
11674
|
-
|
|
11675
|
-
|
|
11676
|
-
|
|
11677
|
-
|
|
11722
|
+
const isRouteValidated = (route) => {
|
|
11723
|
+
if (!route) return false;
|
|
11724
|
+
return validatedRouteNames.value[route.routeName] === true;
|
|
11725
|
+
};
|
|
11726
|
+
const canGoToStep = (from, to) => {
|
|
11727
|
+
const toRoute = props.routes[to];
|
|
11728
|
+
if (!toRoute) return false;
|
|
11729
|
+
if (toRoute.disabled === true) return false;
|
|
11730
|
+
if (to === from) return false;
|
|
11731
|
+
if (to < from) return true;
|
|
11732
|
+
const anyValidated = Object.keys(validatedRouteNames.value).length > 0;
|
|
11733
|
+
if (!anyValidated) return false;
|
|
11734
|
+
return isRouteValidated(toRoute);
|
|
11735
|
+
};
|
|
11736
|
+
const validateStep = (routeName2) => {
|
|
11737
|
+
if (!routeName2) return;
|
|
11738
|
+
validatedRouteNames.value = {
|
|
11739
|
+
...validatedRouteNames.value,
|
|
11740
|
+
[routeName2]: true
|
|
11741
|
+
};
|
|
11742
|
+
};
|
|
11743
|
+
const setWizardData = (patch) => {
|
|
11744
|
+
wizardData.value = {
|
|
11745
|
+
...wizardData.value,
|
|
11746
|
+
...patch
|
|
11747
|
+
};
|
|
11678
11748
|
};
|
|
11679
11749
|
const goToStep = (step) => {
|
|
11680
|
-
|
|
11750
|
+
const from = currentStepIndex.value;
|
|
11681
11751
|
const route = props.routes[step];
|
|
11682
11752
|
if (!route) return;
|
|
11683
|
-
if (router.value)
|
|
11684
|
-
|
|
11685
|
-
|
|
11686
|
-
|
|
11687
|
-
|
|
11688
|
-
|
|
11689
|
-
|
|
11690
|
-
}
|
|
11691
|
-
|
|
11692
|
-
|
|
11693
|
-
|
|
11694
|
-
|
|
11695
|
-
}
|
|
11753
|
+
if (!router.value) return;
|
|
11754
|
+
if (!canGoToStep(from, step)) return;
|
|
11755
|
+
if (route.routeName) {
|
|
11756
|
+
router.value.push({
|
|
11757
|
+
name: route.routeName,
|
|
11758
|
+
params: route.params,
|
|
11759
|
+
query: route.query
|
|
11760
|
+
});
|
|
11761
|
+
} else if (route.to) {
|
|
11762
|
+
router.value.push({
|
|
11763
|
+
path: route.to,
|
|
11764
|
+
query: route.query
|
|
11765
|
+
});
|
|
11696
11766
|
}
|
|
11697
11767
|
emit("go", { index: step, route });
|
|
11698
11768
|
};
|
|
@@ -11708,63 +11778,102 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
11708
11778
|
goToStep(prev);
|
|
11709
11779
|
}
|
|
11710
11780
|
};
|
|
11781
|
+
const setHeading = (heading) => {
|
|
11782
|
+
mainHeading.value = heading;
|
|
11783
|
+
};
|
|
11784
|
+
const setLead = (lead) => {
|
|
11785
|
+
mainLead.value = lead;
|
|
11786
|
+
};
|
|
11787
|
+
const setContentClass = (classes) => {
|
|
11788
|
+
contentClass.value = classes;
|
|
11789
|
+
};
|
|
11711
11790
|
__expose({
|
|
11712
11791
|
goToStep,
|
|
11713
11792
|
nextStep,
|
|
11714
11793
|
previousStep,
|
|
11715
11794
|
currentStep: currentStepIndex,
|
|
11716
11795
|
completedTo: internalCompletedTo,
|
|
11717
|
-
maxStep: internalMaxStep
|
|
11796
|
+
maxStep: internalMaxStep,
|
|
11797
|
+
wizardData,
|
|
11798
|
+
setWizardData,
|
|
11799
|
+
validateStep,
|
|
11800
|
+
setHeading,
|
|
11801
|
+
setLead,
|
|
11802
|
+
setContentClass
|
|
11718
11803
|
});
|
|
11719
11804
|
return (_ctx, _cache) => {
|
|
11720
11805
|
return vue.openBlock(), vue.createElementBlock("div", vue.normalizeProps(vue.guardReactiveProps(rootAttrs.value)), [
|
|
11721
11806
|
!shouldHideEntireSteps.value ? (vue.openBlock(), vue.createElementBlock("nav", {
|
|
11722
11807
|
key: 0,
|
|
11723
|
-
class: "max-w-[480px] mx-auto
|
|
11808
|
+
class: "max-w-[480px] mx-auto",
|
|
11724
11809
|
style: vue.normalizeStyle(stepWidthStyle.value)
|
|
11725
11810
|
}, [
|
|
11726
|
-
vue.createElementVNode("
|
|
11727
|
-
vue.createElementVNode("
|
|
11728
|
-
|
|
11729
|
-
|
|
11730
|
-
},
|
|
11811
|
+
vue.createElementVNode("header", _hoisted_1$4, [
|
|
11812
|
+
vue.createElementVNode("h1", {
|
|
11813
|
+
ref: "mainHeader",
|
|
11814
|
+
tabindex: "-1"
|
|
11815
|
+
}, vue.toDisplayString(mainHeading.value), 513),
|
|
11816
|
+
vue.createVNode(_sfc_main$b, null, {
|
|
11817
|
+
default: vue.withCtx(() => [
|
|
11818
|
+
vue.createElementVNode("p", _hoisted_2$3, vue.toDisplayString(mainLead.value), 1)
|
|
11819
|
+
]),
|
|
11820
|
+
_: 1
|
|
11821
|
+
})
|
|
11731
11822
|
]),
|
|
11732
|
-
vue.createElementVNode("div",
|
|
11733
|
-
vue.createElementVNode("
|
|
11734
|
-
|
|
11735
|
-
|
|
11736
|
-
|
|
11737
|
-
|
|
11738
|
-
|
|
11739
|
-
|
|
11740
|
-
|
|
11741
|
-
|
|
11742
|
-
|
|
11743
|
-
|
|
11823
|
+
vue.createElementVNode("div", _hoisted_3$3, [
|
|
11824
|
+
vue.createElementVNode("span", _hoisted_4$3, [
|
|
11825
|
+
vue.createElementVNode("span", {
|
|
11826
|
+
class: "block h-full max-w-full bg-blue-600",
|
|
11827
|
+
style: vue.normalizeStyle({ width: progressWidth.value })
|
|
11828
|
+
}, null, 4)
|
|
11829
|
+
]),
|
|
11830
|
+
vue.createElementVNode("div", _hoisted_5$3, [
|
|
11831
|
+
vue.createElementVNode("ol", _hoisted_6$1, [
|
|
11832
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(visibleStepEntries.value, (entry) => {
|
|
11833
|
+
return vue.openBlock(), vue.createElementBlock("li", {
|
|
11834
|
+
class: "flex flex-col justify-center items-center mb-0",
|
|
11835
|
+
key: entry.route.id
|
|
11744
11836
|
}, [
|
|
11745
|
-
vue.createElementVNode("
|
|
11746
|
-
|
|
11837
|
+
vue.createElementVNode("button", {
|
|
11838
|
+
type: "button",
|
|
11839
|
+
class: vue.normalizeClass(["flex flex-col items-center", { "cursor-not-allowed": !canGoToStep(currentStepIndex.value, entry.index) }]),
|
|
11840
|
+
onClick: ($event) => __props.disableStepJump ? null : goToStep(entry.index),
|
|
11841
|
+
disabled: !canGoToStep(currentStepIndex.value, entry.index)
|
|
11747
11842
|
}, [
|
|
11748
|
-
|
|
11749
|
-
|
|
11750
|
-
|
|
11751
|
-
|
|
11752
|
-
|
|
11753
|
-
|
|
11754
|
-
|
|
11755
|
-
|
|
11756
|
-
|
|
11757
|
-
|
|
11843
|
+
vue.createElementVNode("span", {
|
|
11844
|
+
class: vue.normalizeClass(["relative flex flex-col items-center text-blue-600 font-bold justify-center transition-all duration-200 ease-in-out mb-2 rounded-full w-[44px] h-[44px] bg-white-solid", setStepClasses(entry.index)])
|
|
11845
|
+
}, [
|
|
11846
|
+
entry.index >= effectiveCompletedTo.value + 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_8, vue.toDisplayString(entry.index + 1), 1)) : (vue.openBlock(), vue.createBlock(_sfc_main$E, {
|
|
11847
|
+
key: 1,
|
|
11848
|
+
name: "checkmark",
|
|
11849
|
+
size: 24
|
|
11850
|
+
}))
|
|
11851
|
+
], 2),
|
|
11852
|
+
vue.createElementVNode("span", _hoisted_9, vue.toDisplayString(entry.route.name), 1)
|
|
11853
|
+
], 10, _hoisted_7$1)
|
|
11854
|
+
]);
|
|
11855
|
+
}), 128))
|
|
11856
|
+
])
|
|
11758
11857
|
])
|
|
11759
11858
|
])
|
|
11760
11859
|
], 4)) : vue.createCommentVNode("", true),
|
|
11761
|
-
vue.
|
|
11762
|
-
|
|
11763
|
-
|
|
11764
|
-
|
|
11765
|
-
|
|
11766
|
-
|
|
11767
|
-
|
|
11860
|
+
vue.createElementVNode("div", {
|
|
11861
|
+
class: vue.normalizeClass([contentClass.value, "mx-auto"])
|
|
11862
|
+
}, [
|
|
11863
|
+
vue.renderSlot(_ctx.$slots, "default", {
|
|
11864
|
+
currentStepIndex: currentStepIndex.value,
|
|
11865
|
+
currentRoute: currentRoute.value,
|
|
11866
|
+
goToStep,
|
|
11867
|
+
nextStep,
|
|
11868
|
+
previousStep,
|
|
11869
|
+
wizardData: wizardData.value,
|
|
11870
|
+
setWizardData,
|
|
11871
|
+
validateStep,
|
|
11872
|
+
setHeading,
|
|
11873
|
+
setLead,
|
|
11874
|
+
setContentClass
|
|
11875
|
+
})
|
|
11876
|
+
], 2)
|
|
11768
11877
|
], 16);
|
|
11769
11878
|
};
|
|
11770
11879
|
}
|
|
@@ -11786,7 +11895,7 @@ const _hoisted_7 = {
|
|
|
11786
11895
|
key: 2,
|
|
11787
11896
|
class: "text-red-600 font-bold mt-1"
|
|
11788
11897
|
};
|
|
11789
|
-
const _sfc_main$
|
|
11898
|
+
const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
11790
11899
|
...{
|
|
11791
11900
|
inheritAttrs: false
|
|
11792
11901
|
},
|
|
@@ -11924,7 +12033,7 @@ const _hoisted_5$1 = {
|
|
|
11924
12033
|
key: 2,
|
|
11925
12034
|
class: "text-red-600 font-bold mt-1"
|
|
11926
12035
|
};
|
|
11927
|
-
const _sfc_main$
|
|
12036
|
+
const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
|
|
11928
12037
|
...{
|
|
11929
12038
|
inheritAttrs: false
|
|
11930
12039
|
},
|
|
@@ -12050,7 +12159,7 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
|
12050
12159
|
};
|
|
12051
12160
|
}
|
|
12052
12161
|
});
|
|
12053
|
-
const _sfc_main$
|
|
12162
|
+
const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
12054
12163
|
__name: "FdsTable",
|
|
12055
12164
|
props: {
|
|
12056
12165
|
bordered: { type: Boolean, default: false },
|
|
@@ -12083,7 +12192,7 @@ const _hoisted_2 = { key: 0 };
|
|
|
12083
12192
|
const _hoisted_3 = { key: 1 };
|
|
12084
12193
|
const _hoisted_4 = { key: 0 };
|
|
12085
12194
|
const _hoisted_5 = { key: 1 };
|
|
12086
|
-
const _sfc_main$
|
|
12195
|
+
const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
12087
12196
|
__name: "FdsTableHead",
|
|
12088
12197
|
props: {
|
|
12089
12198
|
heading: { default: void 0 },
|
|
@@ -12144,7 +12253,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
|
12144
12253
|
};
|
|
12145
12254
|
}
|
|
12146
12255
|
});
|
|
12147
|
-
const _sfc_main$
|
|
12256
|
+
const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
12148
12257
|
...{
|
|
12149
12258
|
inheritAttrs: false
|
|
12150
12259
|
},
|
|
@@ -12186,7 +12295,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
|
12186
12295
|
};
|
|
12187
12296
|
}
|
|
12188
12297
|
});
|
|
12189
|
-
const _sfc_main$
|
|
12298
|
+
const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
12190
12299
|
...{
|
|
12191
12300
|
inheritAttrs: false
|
|
12192
12301
|
},
|
|
@@ -12228,7 +12337,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
|
12228
12337
|
};
|
|
12229
12338
|
}
|
|
12230
12339
|
});
|
|
12231
|
-
const _sfc_main$
|
|
12340
|
+
const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
12232
12341
|
...{
|
|
12233
12342
|
inheritAttrs: false
|
|
12234
12343
|
},
|
|
@@ -12270,7 +12379,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
12270
12379
|
};
|
|
12271
12380
|
}
|
|
12272
12381
|
});
|
|
12273
|
-
const _sfc_main$
|
|
12382
|
+
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
12274
12383
|
...{
|
|
12275
12384
|
inheritAttrs: false
|
|
12276
12385
|
},
|
|
@@ -12293,7 +12402,7 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
|
12293
12402
|
};
|
|
12294
12403
|
}
|
|
12295
12404
|
});
|
|
12296
|
-
const _sfc_main$
|
|
12405
|
+
const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
12297
12406
|
...{
|
|
12298
12407
|
inheritAttrs: false
|
|
12299
12408
|
},
|
|
@@ -12318,31 +12427,6 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
|
12318
12427
|
};
|
|
12319
12428
|
}
|
|
12320
12429
|
});
|
|
12321
|
-
const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
12322
|
-
...{
|
|
12323
|
-
inheritAttrs: false
|
|
12324
|
-
},
|
|
12325
|
-
__name: "FdsLead",
|
|
12326
|
-
props: {
|
|
12327
|
-
dataTestid: { default: void 0 }
|
|
12328
|
-
},
|
|
12329
|
-
setup(__props) {
|
|
12330
|
-
const props = __props;
|
|
12331
|
-
const attrs = vue.useAttrs();
|
|
12332
|
-
const rootAttrs = vue.computed(() => {
|
|
12333
|
-
const result = { ...attrs };
|
|
12334
|
-
if (props.dataTestid) {
|
|
12335
|
-
result["data-testid"] = props.dataTestid;
|
|
12336
|
-
}
|
|
12337
|
-
return result;
|
|
12338
|
-
});
|
|
12339
|
-
return (_ctx, _cache) => {
|
|
12340
|
-
return vue.openBlock(), vue.createElementBlock("span", vue.mergeProps({ class: "inline-block font-light text-lg" }, rootAttrs.value), [
|
|
12341
|
-
vue.renderSlot(_ctx.$slots, "default")
|
|
12342
|
-
], 16);
|
|
12343
|
-
};
|
|
12344
|
-
}
|
|
12345
|
-
});
|
|
12346
12430
|
const _hoisted_1 = {
|
|
12347
12431
|
key: 1,
|
|
12348
12432
|
class: "heading font-heading text-xl m-0"
|
|
@@ -12472,10 +12556,10 @@ const FdsVueCorePlugin = {
|
|
|
12472
12556
|
app.component("FdsSpinner", _sfc_main$w);
|
|
12473
12557
|
app.component("FdsRadio", _sfc_main$g);
|
|
12474
12558
|
app.component("FdsCheckbox", _sfc_main$h);
|
|
12475
|
-
app.component("FdsTextarea", _sfc_main$
|
|
12476
|
-
app.component("FdsSelect", _sfc_main$
|
|
12477
|
-
app.component("FdsTable", _sfc_main$
|
|
12478
|
-
app.component("FdsTableHead", _sfc_main$
|
|
12559
|
+
app.component("FdsTextarea", _sfc_main$8);
|
|
12560
|
+
app.component("FdsSelect", _sfc_main$9);
|
|
12561
|
+
app.component("FdsTable", _sfc_main$7);
|
|
12562
|
+
app.component("FdsTableHead", _sfc_main$6);
|
|
12479
12563
|
app.component("FdsInput", _sfc_main$o);
|
|
12480
12564
|
app.component("FdsBlockContent", _sfc_main$B);
|
|
12481
12565
|
app.component("FdsBlockInfo", _sfc_main$y);
|
|
@@ -12489,13 +12573,13 @@ const FdsVueCorePlugin = {
|
|
|
12489
12573
|
app.component("FdsPagination", _sfc_main$j);
|
|
12490
12574
|
app.component("FdsSearchSelect", _sfc_main$i);
|
|
12491
12575
|
app.component("FdsTruncatedText", _sfc_main$c);
|
|
12492
|
-
app.component("FdsWizard", _sfc_main$
|
|
12493
|
-
app.component("FdsH1", _sfc_main$
|
|
12494
|
-
app.component("FdsH2", _sfc_main$
|
|
12495
|
-
app.component("FdsH3", _sfc_main$
|
|
12496
|
-
app.component("FdsHr", _sfc_main$
|
|
12497
|
-
app.component("FdsLabel", _sfc_main$
|
|
12498
|
-
app.component("FdsLead", _sfc_main$
|
|
12576
|
+
app.component("FdsWizard", _sfc_main$a);
|
|
12577
|
+
app.component("FdsH1", _sfc_main$5);
|
|
12578
|
+
app.component("FdsH2", _sfc_main$4);
|
|
12579
|
+
app.component("FdsH3", _sfc_main$3);
|
|
12580
|
+
app.component("FdsHr", _sfc_main$2);
|
|
12581
|
+
app.component("FdsLabel", _sfc_main$1);
|
|
12582
|
+
app.component("FdsLead", _sfc_main$b);
|
|
12499
12583
|
app.component("FdsMeta", _sfc_main$e);
|
|
12500
12584
|
app.component("FdsListHeading", _sfc_main);
|
|
12501
12585
|
}
|
|
@@ -12513,31 +12597,31 @@ exports.FdsButtonPrimary = _sfc_main$s;
|
|
|
12513
12597
|
exports.FdsButtonSecondary = _sfc_main$r;
|
|
12514
12598
|
exports.FdsCheckbox = _sfc_main$h;
|
|
12515
12599
|
exports.FdsDevMode = _sfc_main$k;
|
|
12516
|
-
exports.FdsH1 = _sfc_main$
|
|
12517
|
-
exports.FdsH2 = _sfc_main$
|
|
12518
|
-
exports.FdsH3 = _sfc_main$
|
|
12519
|
-
exports.FdsHr = _sfc_main$
|
|
12600
|
+
exports.FdsH1 = _sfc_main$5;
|
|
12601
|
+
exports.FdsH2 = _sfc_main$4;
|
|
12602
|
+
exports.FdsH3 = _sfc_main$3;
|
|
12603
|
+
exports.FdsHr = _sfc_main$2;
|
|
12520
12604
|
exports.FdsIcon = _sfc_main$E;
|
|
12521
12605
|
exports.FdsInput = _sfc_main$o;
|
|
12522
|
-
exports.FdsLabel = _sfc_main$
|
|
12523
|
-
exports.FdsLead = _sfc_main$
|
|
12606
|
+
exports.FdsLabel = _sfc_main$1;
|
|
12607
|
+
exports.FdsLead = _sfc_main$b;
|
|
12524
12608
|
exports.FdsListHeading = _sfc_main;
|
|
12525
12609
|
exports.FdsMeta = _sfc_main$e;
|
|
12526
12610
|
exports.FdsModal = _sfc_main$p;
|
|
12527
12611
|
exports.FdsPagination = _sfc_main$j;
|
|
12528
12612
|
exports.FdsRadio = _sfc_main$g;
|
|
12529
12613
|
exports.FdsSearchSelect = _sfc_main$i;
|
|
12530
|
-
exports.FdsSelect = _sfc_main$
|
|
12614
|
+
exports.FdsSelect = _sfc_main$9;
|
|
12531
12615
|
exports.FdsSpinner = _sfc_main$w;
|
|
12532
12616
|
exports.FdsSticker = _sfc_main$A;
|
|
12533
|
-
exports.FdsTable = _sfc_main$
|
|
12534
|
-
exports.FdsTableHead = _sfc_main$
|
|
12617
|
+
exports.FdsTable = _sfc_main$7;
|
|
12618
|
+
exports.FdsTableHead = _sfc_main$6;
|
|
12535
12619
|
exports.FdsTabs = _sfc_main$n;
|
|
12536
12620
|
exports.FdsTabsItem = _sfc_main$m;
|
|
12537
|
-
exports.FdsTextarea = _sfc_main$
|
|
12621
|
+
exports.FdsTextarea = _sfc_main$8;
|
|
12538
12622
|
exports.FdsTreeView = _sfc_main$d;
|
|
12539
12623
|
exports.FdsTruncatedText = _sfc_main$c;
|
|
12540
|
-
exports.FdsWizard = _sfc_main$
|
|
12624
|
+
exports.FdsWizard = _sfc_main$a;
|
|
12541
12625
|
exports.bankid = bankid;
|
|
12542
12626
|
exports.default = FdsVueCorePlugin;
|
|
12543
12627
|
exports.isPidString = isPidString;
|