fds-vue-core 6.2.10 → 6.2.12
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 +65 -58
- package/dist/fds-vue-core.cjs.js.map +1 -1
- package/dist/fds-vue-core.es.js +65 -58
- package/dist/fds-vue-core.es.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/src/components/FdsSearchSelectPro/FdsSearchSelectPro.stories.ts +53 -0
- package/src/components/FdsSearchSelectPro/FdsSearchSelectPro.vue +23 -24
- package/src/components/FdsSearchSelectPro/useSearchSelectProItems.ts +10 -12
- package/src/components/FdsWizard/FdsWizard.vue +2 -1
- package/src/components/FdsWizard/types.ts +1 -0
package/dist/fds-vue-core.cjs.js
CHANGED
|
@@ -1007,7 +1007,7 @@ const _hoisted_4$c = {
|
|
|
1007
1007
|
const _hoisted_5$b = { class: "flex items-start justify-between gap-4" };
|
|
1008
1008
|
const _hoisted_6$8 = { class: "m-0 text-base font-main font-bold tracking-wide" };
|
|
1009
1009
|
const _hoisted_7$8 = { class: "flex items-start gap-3" };
|
|
1010
|
-
const _hoisted_8$
|
|
1010
|
+
const _hoisted_8$5 = {
|
|
1011
1011
|
key: 1,
|
|
1012
1012
|
class: "mb-0-last-child"
|
|
1013
1013
|
};
|
|
@@ -1066,7 +1066,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
|
1066
1066
|
])
|
|
1067
1067
|
])
|
|
1068
1068
|
])) : vue.createCommentVNode("", true),
|
|
1069
|
-
vue.unref(hasSlot) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$
|
|
1069
|
+
vue.unref(hasSlot) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$5, [
|
|
1070
1070
|
vue.renderSlot(_ctx.$slots, "default")
|
|
1071
1071
|
])) : vue.createCommentVNode("", true)
|
|
1072
1072
|
])
|
|
@@ -8987,7 +8987,7 @@ const _hoisted_4$a = { class: "w-full text-left text-xs border-collapse" };
|
|
|
8987
8987
|
const _hoisted_5$a = ["onClick"];
|
|
8988
8988
|
const _hoisted_6$7 = { class: "py-1.5 px-3 font-mono break-all" };
|
|
8989
8989
|
const _hoisted_7$7 = { class: "py-1.5 px-3 font-mono whitespace-pre-wrap break-all" };
|
|
8990
|
-
const _hoisted_8$
|
|
8990
|
+
const _hoisted_8$4 = { class: "mt-4 space-y-2" };
|
|
8991
8991
|
const _hoisted_9$3 = { class: "flex flex-col gap-1" };
|
|
8992
8992
|
const _hoisted_10$2 = { class: "flex flex-col gap-1" };
|
|
8993
8993
|
const _hoisted_11$2 = {
|
|
@@ -9297,7 +9297,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
|
9297
9297
|
])
|
|
9298
9298
|
])
|
|
9299
9299
|
])),
|
|
9300
|
-
vue.createElementVNode("div", _hoisted_8$
|
|
9300
|
+
vue.createElementVNode("div", _hoisted_8$4, [
|
|
9301
9301
|
vue.createElementVNode("div", _hoisted_9$3, [
|
|
9302
9302
|
_cache[13] || (_cache[13] = vue.createElementVNode("label", { class: "text-xs font-semibold" }, "Nyckel", -1)),
|
|
9303
9303
|
vue.withDirectives(vue.createElementVNode("input", {
|
|
@@ -10100,7 +10100,7 @@ const _hoisted_6$5 = {
|
|
|
10100
10100
|
class: "flex justify-center p-4"
|
|
10101
10101
|
};
|
|
10102
10102
|
const _hoisted_7$5 = ["id", "onMouseup"];
|
|
10103
|
-
const _hoisted_8$
|
|
10103
|
+
const _hoisted_8$3 = ["id", "onKeydown"];
|
|
10104
10104
|
const _hoisted_9$2 = ["for", "innerHTML"];
|
|
10105
10105
|
const _hoisted_10$1 = {
|
|
10106
10106
|
key: 2,
|
|
@@ -10592,7 +10592,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
10592
10592
|
vue.withKeys((e) => handleClick(e, item), ["enter"]),
|
|
10593
10593
|
vue.withKeys(vue.withModifiers((e) => handleClick(e, item), ["prevent"]), ["space"])
|
|
10594
10594
|
]
|
|
10595
|
-
}, null, 40, _hoisted_8$
|
|
10595
|
+
}, null, 40, _hoisted_8$3),
|
|
10596
10596
|
vue.createElementVNode("label", {
|
|
10597
10597
|
for: `search-select-radio-${index}`,
|
|
10598
10598
|
class: vue.normalizeClass([labelClasses.value, listItemClasses.value]),
|
|
@@ -11266,14 +11266,11 @@ const useSearchSelectProItems = ({
|
|
|
11266
11266
|
const _hoisted_1$a = { class: "relative block" };
|
|
11267
11267
|
const _hoisted_2$7 = { class: "relative" };
|
|
11268
11268
|
const _hoisted_3$7 = { class: "relative" };
|
|
11269
|
-
const _hoisted_4$6 = {
|
|
11270
|
-
key: 0,
|
|
11271
|
-
class: "flex justify-center p-4"
|
|
11272
|
-
};
|
|
11269
|
+
const _hoisted_4$6 = { class: "flex items-center gap-2" };
|
|
11273
11270
|
const _hoisted_5$6 = ["id", "role", "onMouseup"];
|
|
11274
11271
|
const _hoisted_6$4 = ["innerHTML"];
|
|
11275
11272
|
const _hoisted_7$4 = ["onClick"];
|
|
11276
|
-
const _hoisted_8$
|
|
11273
|
+
const _hoisted_8$2 = ["innerHTML"];
|
|
11277
11274
|
const _hoisted_9$1 = ["innerHTML"];
|
|
11278
11275
|
const _hoisted_10 = {
|
|
11279
11276
|
key: 0,
|
|
@@ -11281,10 +11278,10 @@ const _hoisted_10 = {
|
|
|
11281
11278
|
};
|
|
11282
11279
|
const _hoisted_11 = ["aria-disabled"];
|
|
11283
11280
|
const _hoisted_12 = {
|
|
11284
|
-
key:
|
|
11281
|
+
key: 1,
|
|
11285
11282
|
class: "block m-0 list-none p-0"
|
|
11286
11283
|
};
|
|
11287
|
-
const _hoisted_13 = { class: "p-3" };
|
|
11284
|
+
const _hoisted_13 = { class: "p-3 flex items-center gap-2" };
|
|
11288
11285
|
const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
11289
11286
|
__name: "FdsSearchSelectPro",
|
|
11290
11287
|
props: {
|
|
@@ -11441,12 +11438,12 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
11441
11438
|
if (!dropdownRef.value) return [];
|
|
11442
11439
|
return Array.from(dropdownRef.value.querySelectorAll('input[id^="search-select-radio-"]'));
|
|
11443
11440
|
};
|
|
11444
|
-
const
|
|
11441
|
+
const focusSelectedRadioOrFirst = () => {
|
|
11445
11442
|
vue.nextTick(() => {
|
|
11446
|
-
const
|
|
11447
|
-
if (
|
|
11448
|
-
|
|
11449
|
-
|
|
11443
|
+
const selectableInputs = getSelectableInputs();
|
|
11444
|
+
if (!selectableInputs.length) return;
|
|
11445
|
+
const checkedRadio = selectableInputs.find((input) => input.checked);
|
|
11446
|
+
(checkedRadio ?? selectableInputs[0])?.focus();
|
|
11450
11447
|
});
|
|
11451
11448
|
};
|
|
11452
11449
|
const hasInputValue = vue.computed(() => searchTerm.value.length > 0);
|
|
@@ -11835,13 +11832,13 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
11835
11832
|
if (!dropdownVisible.value) {
|
|
11836
11833
|
dropdownVisible.value = true;
|
|
11837
11834
|
}
|
|
11838
|
-
|
|
11835
|
+
focusSelectedRadioOrFirst();
|
|
11839
11836
|
return;
|
|
11840
11837
|
}
|
|
11841
11838
|
if (e.key === "Enter" && !dropdownVisible.value && displayedItems.value.length > 0) {
|
|
11842
11839
|
e.preventDefault();
|
|
11843
11840
|
dropdownVisible.value = true;
|
|
11844
|
-
|
|
11841
|
+
focusSelectedRadioOrFirst();
|
|
11845
11842
|
return;
|
|
11846
11843
|
}
|
|
11847
11844
|
if (e.key === "Escape" && dropdownVisible.value) {
|
|
@@ -11958,26 +11955,27 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
11958
11955
|
style: vue.normalizeStyle(listWrapperStyle.value),
|
|
11959
11956
|
onScrollPassive: handleDropdownScroll
|
|
11960
11957
|
}, [
|
|
11961
|
-
|
|
11962
|
-
vue.createVNode(_sfc_main$B, {
|
|
11963
|
-
color: "blue",
|
|
11964
|
-
size: "48px"
|
|
11965
|
-
})
|
|
11966
|
-
])) : vue.unref(displayedItems) && vue.unref(displayedItems).length ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
11958
|
+
vue.unref(displayedItems) && vue.unref(displayedItems).length ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
11967
11959
|
vue.createElementVNode("div", {
|
|
11968
11960
|
class: vue.normalizeClass([headerClasses.value, "flex items-center justify-between gap-3 min-h-[53px]"])
|
|
11969
11961
|
}, [
|
|
11970
|
-
vue.
|
|
11971
|
-
|
|
11972
|
-
vue.
|
|
11973
|
-
|
|
11974
|
-
|
|
11975
|
-
|
|
11962
|
+
vue.createElementVNode("div", _hoisted_4$6, [
|
|
11963
|
+
vue.createVNode(_sfc_main$t, null, {
|
|
11964
|
+
default: vue.withCtx(() => [
|
|
11965
|
+
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)
|
|
11966
|
+
]),
|
|
11967
|
+
_: 1
|
|
11968
|
+
}),
|
|
11969
|
+
__props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$B, {
|
|
11970
|
+
key: 0,
|
|
11971
|
+
color: "blue",
|
|
11972
|
+
size: "20px"
|
|
11973
|
+
})) : vue.createCommentVNode("", true)
|
|
11974
|
+
]),
|
|
11976
11975
|
__props.multiple && __props.showSelectedToggle && selectedItems.value.length > 0 ? (vue.openBlock(), vue.createBlock(_sfc_main$j, {
|
|
11977
11976
|
key: 0,
|
|
11978
11977
|
label: `${__props.selectedToggleLabel} (${selectedItems.value.length})`,
|
|
11979
11978
|
checked: showSelectedOnly.value,
|
|
11980
|
-
disablePseudoStates: true,
|
|
11981
11979
|
onChange: handleToggleSelectedOnly
|
|
11982
11980
|
}, null, 8, ["label", "checked"])) : vue.createCommentVNode("", true)
|
|
11983
11981
|
], 2),
|
|
@@ -12023,7 +12021,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
12023
12021
|
vue.createElementVNode("span", {
|
|
12024
12022
|
class: "min-w-0 flex-1",
|
|
12025
12023
|
innerHTML: handleMatchingString(item)
|
|
12026
|
-
}, null, 8, _hoisted_8$
|
|
12024
|
+
}, null, 8, _hoisted_8$2)
|
|
12027
12025
|
]),
|
|
12028
12026
|
_: 2
|
|
12029
12027
|
}, 1032, ["id", "name", "checked", "onChange"])) : (vue.openBlock(), vue.createBlock(_sfc_main$i, {
|
|
@@ -12072,9 +12070,16 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
12072
12070
|
], 42, _hoisted_11)
|
|
12073
12071
|
])) : vue.createCommentVNode("", true)
|
|
12074
12072
|
], 32)
|
|
12075
|
-
], 64)) :
|
|
12076
|
-
vue.createElementVNode("li", _hoisted_13,
|
|
12077
|
-
|
|
12073
|
+
], 64)) : (vue.openBlock(), vue.createElementBlock("ul", _hoisted_12, [
|
|
12074
|
+
vue.createElementVNode("li", _hoisted_13, [
|
|
12075
|
+
vue.createElementVNode("span", null, vue.toDisplayString(__props.noResultPrompt), 1),
|
|
12076
|
+
__props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$B, {
|
|
12077
|
+
key: 0,
|
|
12078
|
+
color: "blue",
|
|
12079
|
+
size: "20px"
|
|
12080
|
+
})) : vue.createCommentVNode("", true)
|
|
12081
|
+
])
|
|
12082
|
+
]))
|
|
12078
12083
|
], 38)) : vue.createCommentVNode("", true)
|
|
12079
12084
|
])
|
|
12080
12085
|
], 16);
|
|
@@ -12499,7 +12504,7 @@ const _hoisted_6$3 = {
|
|
|
12499
12504
|
class: "items-center max-h-[28px]"
|
|
12500
12505
|
};
|
|
12501
12506
|
const _hoisted_7$3 = { class: "flex flex-col gap-2" };
|
|
12502
|
-
const _hoisted_8$
|
|
12507
|
+
const _hoisted_8$1 = ["onClick"];
|
|
12503
12508
|
const _hoisted_9 = { key: 0 };
|
|
12504
12509
|
const popoverWidth = 327;
|
|
12505
12510
|
const popoverHeight = 80;
|
|
@@ -12796,7 +12801,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
|
12796
12801
|
onBlur: closePopover,
|
|
12797
12802
|
label: option.label
|
|
12798
12803
|
}, null, 8, ["modelValue", "id", "name", "value", "label"])
|
|
12799
|
-
], 8, _hoisted_8$
|
|
12804
|
+
], 8, _hoisted_8$1);
|
|
12800
12805
|
}), 64))
|
|
12801
12806
|
]),
|
|
12802
12807
|
vue.createVNode(_sfc_main$I, vue.mergeProps({
|
|
@@ -14784,7 +14789,7 @@ const _hoisted_7$2 = {
|
|
|
14784
14789
|
key: 0,
|
|
14785
14790
|
class: "mt-6 flex w-full flex-row items-center gap-2"
|
|
14786
14791
|
};
|
|
14787
|
-
const _hoisted_8
|
|
14792
|
+
const _hoisted_8 = { class: "m-0 font-bold text-blue-700" };
|
|
14788
14793
|
const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
14789
14794
|
__name: "FdsWeekCalendar",
|
|
14790
14795
|
props: {
|
|
@@ -14966,7 +14971,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
|
14966
14971
|
]),
|
|
14967
14972
|
__props.loading?.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$2, [
|
|
14968
14973
|
vue.createVNode(_sfc_main$B),
|
|
14969
|
-
vue.createElementVNode("p", _hoisted_8
|
|
14974
|
+
vue.createElementVNode("p", _hoisted_8, vue.toDisplayString(__props.loading.label), 1)
|
|
14970
14975
|
])) : vue.createCommentVNode("", true)
|
|
14971
14976
|
])
|
|
14972
14977
|
]);
|
|
@@ -15019,20 +15024,19 @@ const hasStepLabelOverlap = (labels, minGapBeforeHidePx = STEP_LABEL_MIN_GAP_BEF
|
|
|
15019
15024
|
}
|
|
15020
15025
|
return false;
|
|
15021
15026
|
};
|
|
15022
|
-
const _hoisted_1$4 = { class: "
|
|
15023
|
-
const _hoisted_2$3 = {
|
|
15024
|
-
const _hoisted_3$3 = {
|
|
15027
|
+
const _hoisted_1$4 = { class: "mb-6" };
|
|
15028
|
+
const _hoisted_2$3 = {
|
|
15025
15029
|
key: 0,
|
|
15026
15030
|
class: "mb-0"
|
|
15027
15031
|
};
|
|
15028
|
-
const
|
|
15032
|
+
const _hoisted_3$3 = {
|
|
15029
15033
|
key: 1,
|
|
15030
15034
|
class: "mt-2 mb-0"
|
|
15031
15035
|
};
|
|
15032
|
-
const
|
|
15033
|
-
const
|
|
15034
|
-
const
|
|
15035
|
-
const
|
|
15036
|
+
const _hoisted_4$3 = { class: "h-[2px] absolute top-[22px] left-[50%] bg-white-solid transform -translate-x-1/2 w-[calc(100%-50px)]" };
|
|
15037
|
+
const _hoisted_5$3 = { class: "flex justify-between list-none mb-8 p-0" };
|
|
15038
|
+
const _hoisted_6$1 = ["onClick", "disabled"];
|
|
15039
|
+
const _hoisted_7$1 = { key: 0 };
|
|
15036
15040
|
const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
15037
15041
|
__name: "FdsWizard",
|
|
15038
15042
|
props: {
|
|
@@ -15043,6 +15047,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
15043
15047
|
disableStepJump: { type: Boolean, default: false },
|
|
15044
15048
|
activeRouteName: { default: void 0 },
|
|
15045
15049
|
dataTestid: { default: void 0 },
|
|
15050
|
+
wizardClass: { default: "max-w-[480px]" },
|
|
15046
15051
|
onGo: {}
|
|
15047
15052
|
},
|
|
15048
15053
|
emits: ["go"],
|
|
@@ -15385,16 +15390,18 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
15385
15390
|
});
|
|
15386
15391
|
return (_ctx, _cache) => {
|
|
15387
15392
|
return vue.openBlock(), vue.createElementBlock("div", vue.normalizeProps(vue.guardReactiveProps(rootAttrs.value)), [
|
|
15388
|
-
vue.createElementVNode("nav",
|
|
15389
|
-
vue.
|
|
15393
|
+
vue.createElementVNode("nav", {
|
|
15394
|
+
class: vue.normalizeClass([__props.wizardClass, "mx-auto"])
|
|
15395
|
+
}, [
|
|
15396
|
+
vue.createElementVNode("header", _hoisted_1$4, [
|
|
15390
15397
|
vue.createElementVNode("h1", {
|
|
15391
15398
|
ref: "mainHeader",
|
|
15392
15399
|
tabindex: "-1"
|
|
15393
15400
|
}, vue.toDisplayString(mainHeading.value), 513),
|
|
15394
15401
|
mainLead.value || subCategories.value.length > 0 ? (vue.openBlock(), vue.createBlock(_sfc_main$b, { key: 0 }, {
|
|
15395
15402
|
default: vue.withCtx(() => [
|
|
15396
|
-
mainLead.value ? (vue.openBlock(), vue.createElementBlock("p",
|
|
15397
|
-
subCategories.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("ul",
|
|
15403
|
+
mainLead.value ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$3, vue.toDisplayString(mainLead.value), 1)) : vue.createCommentVNode("", true),
|
|
15404
|
+
subCategories.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_3$3, [
|
|
15398
15405
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(subCategories.value, (subCat) => {
|
|
15399
15406
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
15400
15407
|
key: subCat.id,
|
|
@@ -15418,13 +15425,13 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
15418
15425
|
style: vue.normalizeStyle(stepWidthStyle.value),
|
|
15419
15426
|
class: "relative"
|
|
15420
15427
|
}, [
|
|
15421
|
-
vue.createElementVNode("span",
|
|
15428
|
+
vue.createElementVNode("span", _hoisted_4$3, [
|
|
15422
15429
|
vue.createElementVNode("span", {
|
|
15423
15430
|
class: "block h-full max-w-full bg-blue-600",
|
|
15424
15431
|
style: vue.normalizeStyle({ width: progressWidth.value })
|
|
15425
15432
|
}, null, 4)
|
|
15426
15433
|
]),
|
|
15427
|
-
vue.createElementVNode("div",
|
|
15434
|
+
vue.createElementVNode("div", _hoisted_5$3, [
|
|
15428
15435
|
vue.createElementVNode("ol", {
|
|
15429
15436
|
ref_key: "stepperListRef",
|
|
15430
15437
|
ref: stepperListRef,
|
|
@@ -15444,7 +15451,7 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
15444
15451
|
vue.createElementVNode("span", {
|
|
15445
15452
|
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)])
|
|
15446
15453
|
}, [
|
|
15447
|
-
entry.index >= internalCompletedTo.value + 1 ? (vue.openBlock(), vue.createElementBlock("span",
|
|
15454
|
+
entry.index >= internalCompletedTo.value + 1 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$1, vue.toDisplayString(entry.index + 1), 1)) : (vue.openBlock(), vue.createBlock(_sfc_main$J, {
|
|
15448
15455
|
key: 1,
|
|
15449
15456
|
name: "checkmark",
|
|
15450
15457
|
size: 24
|
|
@@ -15455,13 +15462,13 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
|
15455
15462
|
ref: (el) => setStepLabelRef(el, visibleIndex),
|
|
15456
15463
|
class: vue.normalizeClass(["absolute bottom-0 text-blue-600 font-bold text-sm", { invisible: !showStepLabels.value }])
|
|
15457
15464
|
}, vue.toDisplayString(entry.route.meta.wizard.name), 3)
|
|
15458
|
-
], 10,
|
|
15465
|
+
], 10, _hoisted_6$1)
|
|
15459
15466
|
]);
|
|
15460
15467
|
}), 128))
|
|
15461
15468
|
], 512)
|
|
15462
15469
|
])
|
|
15463
15470
|
], 4)) : vue.createCommentVNode("", true)
|
|
15464
|
-
]),
|
|
15471
|
+
], 2),
|
|
15465
15472
|
vue.createElementVNode("div", {
|
|
15466
15473
|
class: vue.normalizeClass([contentClass.value, "mx-auto"])
|
|
15467
15474
|
}, [
|