fds-vue-core 2.0.2 → 2.0.4
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/components/Blocks/FdsAlertBlock/FdsAlertBlock.vue.d.ts +1 -1
- package/dist/components/Buttons/{FdsButton/types.d.ts → ButtonBaseProps.d.ts} +4 -5
- package/dist/components/Buttons/ButtonBaseProps.d.ts.map +1 -0
- package/dist/components/Buttons/FdsButtonCopy/FdsButtonCopy.stories.d.ts +7 -0
- package/dist/components/Buttons/FdsButtonCopy/FdsButtonCopy.stories.d.ts.map +1 -0
- package/dist/components/Buttons/{FdsCopyButton/FdsCopyButton.vue.d.ts → FdsButtonCopy/FdsButtonCopy.vue.d.ts} +1 -1
- package/dist/components/Buttons/FdsButtonCopy/FdsButtonCopy.vue.d.ts.map +1 -0
- package/dist/components/Buttons/{FdsCopyButton → FdsButtonCopy}/types.d.ts +0 -1
- package/dist/components/Buttons/FdsButtonCopy/types.d.ts.map +1 -0
- package/dist/components/Buttons/FdsButtonIcon/FdsButtonIcon.stories.d.ts +7 -0
- package/dist/components/Buttons/FdsButtonIcon/FdsButtonIcon.stories.d.ts.map +1 -0
- package/dist/components/Buttons/{FdsIconButton/FdsIconButton.vue.d.ts → FdsButtonIcon/FdsButtonIcon.vue.d.ts} +1 -1
- package/dist/components/Buttons/FdsButtonIcon/FdsButtonIcon.vue.d.ts.map +1 -0
- package/dist/components/Buttons/{FdsIconButton → FdsButtonIcon}/types.d.ts +1 -2
- package/dist/components/Buttons/FdsButtonIcon/types.d.ts.map +1 -0
- package/dist/components/Buttons/FdsButtonMinor/FdsButtonMinor.stories.d.ts +7 -0
- package/dist/components/Buttons/FdsButtonMinor/FdsButtonMinor.stories.d.ts.map +1 -0
- package/dist/components/Buttons/FdsButtonMinor/FdsButtonMinor.vue.d.ts +23 -0
- package/dist/components/Buttons/FdsButtonMinor/FdsButtonMinor.vue.d.ts.map +1 -0
- package/dist/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.stories.d.ts +9 -0
- package/dist/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.stories.d.ts.map +1 -0
- package/dist/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.vue.d.ts +20 -0
- package/dist/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.vue.d.ts.map +1 -0
- package/dist/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.stories.d.ts +7 -0
- package/dist/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.stories.d.ts.map +1 -0
- package/dist/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.vue.d.ts +20 -0
- package/dist/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.vue.d.ts.map +1 -0
- package/dist/components/FdsModal/FdsModal.stories.d.ts.map +1 -1
- package/dist/components/FdsTreeView/TreeNode.vue.d.ts.map +1 -1
- package/dist/components/FdsTruncatedText/FdsTruncatedText.vue.d.ts.map +1 -1
- package/dist/components/Form/FdsInput/FdsInput.vue.d.ts.map +1 -1
- package/dist/components/Tabs/FdsTabs/FdsTabs.vue.d.ts +1 -1
- package/dist/fds-vue-core.cjs.js +495 -308
- package/dist/fds-vue-core.cjs.js.map +1 -1
- package/dist/fds-vue-core.css +40 -18
- package/dist/fds-vue-core.es.js +496 -309
- package/dist/fds-vue-core.es.js.map +1 -1
- package/dist/index.d.ts +10 -6
- package/dist/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/components/Buttons/FdsButton/FdsButton.stories.d.ts +0 -14
- package/dist/components/Buttons/FdsButton/FdsButton.stories.d.ts.map +0 -1
- package/dist/components/Buttons/FdsButton/FdsButton.vue.d.ts +0 -31
- package/dist/components/Buttons/FdsButton/FdsButton.vue.d.ts.map +0 -1
- package/dist/components/Buttons/FdsButton/types.d.ts.map +0 -1
- package/dist/components/Buttons/FdsCopyButton/FdsCopyButton.stories.d.ts +0 -9
- package/dist/components/Buttons/FdsCopyButton/FdsCopyButton.stories.d.ts.map +0 -1
- package/dist/components/Buttons/FdsCopyButton/FdsCopyButton.vue.d.ts.map +0 -1
- package/dist/components/Buttons/FdsCopyButton/types.d.ts.map +0 -1
- package/dist/components/Buttons/FdsIconButton/FdsIconButton.stories.d.ts +0 -9
- package/dist/components/Buttons/FdsIconButton/FdsIconButton.stories.d.ts.map +0 -1
- package/dist/components/Buttons/FdsIconButton/FdsIconButton.vue.d.ts.map +0 -1
- package/dist/components/Buttons/FdsIconButton/types.d.ts.map +0 -1
package/dist/fds-vue-core.cjs.js
CHANGED
|
@@ -405,9 +405,9 @@ const useTreeState = (options = {}) => {
|
|
|
405
405
|
isEmptySearchResult
|
|
406
406
|
};
|
|
407
407
|
};
|
|
408
|
-
const _hoisted_1$
|
|
408
|
+
const _hoisted_1$n = ["id", "name", "value", "disabled", "required"];
|
|
409
409
|
const _hoisted_2$d = ["for"];
|
|
410
|
-
const _sfc_main$
|
|
410
|
+
const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
|
|
411
411
|
__name: "FdsCheckbox",
|
|
412
412
|
props: {
|
|
413
413
|
checked: { type: Boolean, default: false },
|
|
@@ -476,7 +476,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
|
476
476
|
checkboxClasses.value
|
|
477
477
|
]),
|
|
478
478
|
onChange: handleChange
|
|
479
|
-
}, null, 42, _hoisted_1$
|
|
479
|
+
}, null, 42, _hoisted_1$n), [
|
|
480
480
|
[vue.vModelCheckbox, internalChecked.value]
|
|
481
481
|
]),
|
|
482
482
|
slots.default ? (vue.openBlock(), vue.createElementBlock("label", {
|
|
@@ -1002,8 +1002,8 @@ const icons = {
|
|
|
1002
1002
|
</defs>
|
|
1003
1003
|
</svg>`
|
|
1004
1004
|
};
|
|
1005
|
-
const _hoisted_1$
|
|
1006
|
-
const _sfc_main$
|
|
1005
|
+
const _hoisted_1$m = ["innerHTML"];
|
|
1006
|
+
const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
|
|
1007
1007
|
__name: "FdsIcon",
|
|
1008
1008
|
props: {
|
|
1009
1009
|
name: {},
|
|
@@ -1029,7 +1029,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
|
1029
1029
|
class: "inline-flex items-center justify-center align-middle",
|
|
1030
1030
|
style: vue.normalizeStyle({ width: pixelSize.value, height: pixelSize.value }),
|
|
1031
1031
|
innerHTML: svgHtml.value
|
|
1032
|
-
}, null, 12, _hoisted_1$
|
|
1032
|
+
}, null, 12, _hoisted_1$m);
|
|
1033
1033
|
};
|
|
1034
1034
|
}
|
|
1035
1035
|
});
|
|
@@ -1040,10 +1040,10 @@ const _export_sfc = (sfc, props) => {
|
|
|
1040
1040
|
}
|
|
1041
1041
|
return target;
|
|
1042
1042
|
};
|
|
1043
|
-
const FdsIcon = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1044
|
-
const _hoisted_1$
|
|
1045
|
-
const _sfc_main$
|
|
1046
|
-
__name: "
|
|
1043
|
+
const FdsIcon = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-e24163cd"]]);
|
|
1044
|
+
const _hoisted_1$l = ["id", "type", "disabled", "aria-label", "aria-disabled"];
|
|
1045
|
+
const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
|
|
1046
|
+
__name: "FdsButtonIcon",
|
|
1047
1047
|
props: {
|
|
1048
1048
|
icon: {},
|
|
1049
1049
|
size: { default: "24px" },
|
|
@@ -1089,11 +1089,11 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
|
1089
1089
|
name: "spinner",
|
|
1090
1090
|
class: "animate-spin"
|
|
1091
1091
|
}, null, 8, ["size"]))
|
|
1092
|
-
], 10, _hoisted_1$
|
|
1092
|
+
], 10, _hoisted_1$l);
|
|
1093
1093
|
};
|
|
1094
1094
|
}
|
|
1095
1095
|
});
|
|
1096
|
-
const _sfc_main$
|
|
1096
|
+
const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
|
|
1097
1097
|
__name: "FdsText",
|
|
1098
1098
|
props: {
|
|
1099
1099
|
type: { default: "default" }
|
|
@@ -1119,10 +1119,10 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
|
1119
1119
|
};
|
|
1120
1120
|
}
|
|
1121
1121
|
});
|
|
1122
|
-
const _hoisted_1$
|
|
1122
|
+
const _hoisted_1$k = { class: "block p-[2px] mb-2 last:mb-0 relative min-h-[28px]" };
|
|
1123
1123
|
const _hoisted_2$c = ["id", "name", "value", "checked", "disabled", "required"];
|
|
1124
1124
|
const _hoisted_3$b = ["for"];
|
|
1125
|
-
const _sfc_main$
|
|
1125
|
+
const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
|
|
1126
1126
|
__name: "FdsRadio",
|
|
1127
1127
|
props: {
|
|
1128
1128
|
checked: { type: Boolean, default: false },
|
|
@@ -1150,7 +1150,7 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
1150
1150
|
accentClass.value
|
|
1151
1151
|
]);
|
|
1152
1152
|
return (_ctx, _cache) => {
|
|
1153
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
1153
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
|
|
1154
1154
|
vue.createElementVNode("input", {
|
|
1155
1155
|
id: inputId.value,
|
|
1156
1156
|
name: _ctx.name,
|
|
@@ -1177,17 +1177,22 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
|
1177
1177
|
};
|
|
1178
1178
|
}
|
|
1179
1179
|
});
|
|
1180
|
-
const _hoisted_1$
|
|
1180
|
+
const _hoisted_1$j = { class: "flex items-start" };
|
|
1181
1181
|
const _hoisted_2$b = ["innerHTML"];
|
|
1182
|
-
const _hoisted_3$a = {
|
|
1182
|
+
const _hoisted_3$a = {
|
|
1183
|
+
key: 1,
|
|
1184
|
+
style: { "line-height": "25px" }
|
|
1185
|
+
};
|
|
1183
1186
|
const _hoisted_4$8 = {
|
|
1184
1187
|
key: 2,
|
|
1185
1188
|
style: { "max-height": "28px" }
|
|
1186
1189
|
};
|
|
1187
|
-
const _hoisted_5$6 = {
|
|
1190
|
+
const _hoisted_5$6 = { class: "flex flex-col gap-2" };
|
|
1191
|
+
const _hoisted_6$5 = ["onClick"];
|
|
1192
|
+
const _hoisted_7$3 = { key: 0 };
|
|
1188
1193
|
const popoverWidth = 327;
|
|
1189
1194
|
const popoverHeight = 80;
|
|
1190
|
-
const _sfc_main$
|
|
1195
|
+
const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
|
|
1191
1196
|
...{
|
|
1192
1197
|
name: "TreeNode"
|
|
1193
1198
|
},
|
|
@@ -1299,13 +1304,13 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
1299
1304
|
firstRadio?.focus();
|
|
1300
1305
|
};
|
|
1301
1306
|
const closePopover = () => {
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1307
|
+
isOpen.value = false;
|
|
1308
|
+
};
|
|
1309
|
+
const onAfterPopoverLeave = () => {
|
|
1310
|
+
window.removeEventListener("scroll", computePopoverCoords, true);
|
|
1311
|
+
window.removeEventListener("resize", computePopoverCoords);
|
|
1312
|
+
document.removeEventListener("pointerdown", handleGlobalPointerDown);
|
|
1313
|
+
document.removeEventListener("keydown", handleGlobalKeydown);
|
|
1309
1314
|
};
|
|
1310
1315
|
const togglePopover = () => {
|
|
1311
1316
|
if (isOpen.value) closePopover();
|
|
@@ -1352,14 +1357,12 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
1352
1357
|
return "";
|
|
1353
1358
|
});
|
|
1354
1359
|
const handleOptionClick = (option) => {
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
isOpen.value = false;
|
|
1362
|
-
}, 300);
|
|
1360
|
+
if (option === "parent_and_children") {
|
|
1361
|
+
treeState?.selectNodeAndAllChildren(props.nodeId);
|
|
1362
|
+
} else if (option === "parent") {
|
|
1363
|
+
treeState?.deselectChildrenOnly(props.nodeId);
|
|
1364
|
+
}
|
|
1365
|
+
closePopover();
|
|
1363
1366
|
};
|
|
1364
1367
|
return (_ctx, _cache) => {
|
|
1365
1368
|
const _component_TreeNode = vue.resolveComponent("TreeNode", true);
|
|
@@ -1370,30 +1373,30 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
1370
1373
|
style: vue.normalizeStyle(indent.value),
|
|
1371
1374
|
class: vue.normalizeClass("pt-2 pb-2")
|
|
1372
1375
|
}, [
|
|
1373
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
1374
|
-
hasChildrenNodes.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
1376
|
+
vue.createElementVNode("div", _hoisted_1$j, [
|
|
1377
|
+
hasChildrenNodes.value ? (vue.openBlock(), vue.createBlock(_sfc_main$r, {
|
|
1375
1378
|
key: 0,
|
|
1376
1379
|
onClick: _cache[0] || (_cache[0] = ($event) => vue.unref(treeState)?.toggleExpandNode(props.nodeId)),
|
|
1377
1380
|
ariaLabel: childrenToggleAriaLabel(props.title),
|
|
1378
1381
|
icon: vue.unref(treeState)?.getNodeIcon(props.nodeId, props.nodeExpandIcon, props.nodeCollapseIcon) ?? props.nodeExpandIcon,
|
|
1379
|
-
size: "
|
|
1382
|
+
size: "24px",
|
|
1380
1383
|
class: "fill-blue-500 mr-3"
|
|
1381
1384
|
}, null, 8, ["ariaLabel", "icon"])) : vue.createCommentVNode("", true),
|
|
1382
1385
|
!hasChildrenNodes.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
1383
1386
|
key: 1,
|
|
1384
1387
|
style: vue.normalizeStyle({ minWidth: `${_ctx.indentation}px` })
|
|
1385
1388
|
}, null, 4)) : vue.createCommentVNode("", true),
|
|
1386
|
-
vue.createVNode(_sfc_main$
|
|
1389
|
+
vue.createVNode(_sfc_main$t, {
|
|
1387
1390
|
id: `checkbox-${props.nodeId}`,
|
|
1388
1391
|
checked: vue.unref(treeState)?.isNodeSelected(props.nodeId),
|
|
1389
1392
|
indeterminate: _ctx.showIndeterminate && (vue.unref(treeState)?.isNodeIndeterminateById(props.nodeId) ?? false),
|
|
1390
1393
|
onChange: _cache[1] || (_cache[1] = ($event) => vue.unref(treeState)?.toggleSelectNode(props.nodeId, props.title, props.data)),
|
|
1391
|
-
class: "pl-0 flex-1 flex items-
|
|
1394
|
+
class: "pl-0 flex-1 flex items-start"
|
|
1392
1395
|
}, {
|
|
1393
1396
|
default: vue.withCtx(() => [
|
|
1394
1397
|
vue.createElementVNode("div", null, [
|
|
1395
1398
|
_ctx.title ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
1396
|
-
_ctx.searchHighlighting && _ctx.searchEnabled && vue.unref(treeState)?.searchTerm?.value && String(vue.unref(treeState)?.searchTerm?.value || "").trim().length >= (vue.unref(treeState)?.triggerLength ?? 1) ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
1399
|
+
_ctx.searchHighlighting && _ctx.searchEnabled && vue.unref(treeState)?.searchTerm?.value && String(vue.unref(treeState)?.searchTerm?.value || "").trim().length >= (vue.unref(treeState)?.triggerLength ?? 1) ? (vue.openBlock(), vue.createBlock(_sfc_main$q, {
|
|
1397
1400
|
key: 0,
|
|
1398
1401
|
type: "default"
|
|
1399
1402
|
}, {
|
|
@@ -1403,8 +1406,9 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
1403
1406
|
}, null, 8, _hoisted_2$b)
|
|
1404
1407
|
]),
|
|
1405
1408
|
_: 1
|
|
1406
|
-
})) : (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
1409
|
+
})) : (vue.openBlock(), vue.createBlock(_sfc_main$q, {
|
|
1407
1410
|
key: 1,
|
|
1411
|
+
style: { "line-height": "25px" },
|
|
1408
1412
|
type: "default"
|
|
1409
1413
|
}, {
|
|
1410
1414
|
default: vue.withCtx(() => [
|
|
@@ -1419,7 +1423,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
1419
1423
|
_: 1
|
|
1420
1424
|
}, 8, ["id", "checked", "indeterminate"]),
|
|
1421
1425
|
vue.unref(treeState)?.isParentOrChildrenSelected(props.nodeId) && !(vue.unref(treeState)?.isNodeIndeterminateById(props.nodeId) ?? false) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$8, [
|
|
1422
|
-
vue.createVNode(_sfc_main$
|
|
1426
|
+
vue.createVNode(_sfc_main$r, {
|
|
1423
1427
|
ref_key: "triggerRef",
|
|
1424
1428
|
ref: triggerRef,
|
|
1425
1429
|
icon: "more",
|
|
@@ -1427,66 +1431,84 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
|
1427
1431
|
onClick: togglePopover,
|
|
1428
1432
|
ariaLabel: `Fler val för ${_ctx.title}`
|
|
1429
1433
|
}, null, 8, ["ariaLabel"]),
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
class: "
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
}, [
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
},
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1434
|
+
vue.createVNode(vue.Transition, {
|
|
1435
|
+
"enter-active-class": "transition-opacity duration-200 ease-in-out",
|
|
1436
|
+
"enter-from-class": "opacity-0",
|
|
1437
|
+
"enter-to-class": "opacity-100",
|
|
1438
|
+
"leave-active-class": "transition-opacity duration-500 ease-in-out",
|
|
1439
|
+
"leave-from-class": "opacity-100",
|
|
1440
|
+
"leave-to-class": "opacity-0",
|
|
1441
|
+
onAfterLeave: onAfterPopoverLeave
|
|
1442
|
+
}, {
|
|
1443
|
+
default: vue.withCtx(() => [
|
|
1444
|
+
isOpen.value ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
1445
|
+
key: 0,
|
|
1446
|
+
class: "fixed z-9999",
|
|
1447
|
+
style: vue.normalizeStyle({
|
|
1448
|
+
top: popoverCoords.top + "px",
|
|
1449
|
+
left: popoverCoords.right - popoverWidth - (popoverCoords.right - popoverCoords.left) + "px"
|
|
1450
|
+
})
|
|
1451
|
+
}, [
|
|
1452
|
+
vue.createElementVNode("div", {
|
|
1453
|
+
ref_key: "popoverPanelRef",
|
|
1454
|
+
ref: popoverPanelRef,
|
|
1455
|
+
class: "bg-white rounded-md p-4 shadow-lg flex flex-row justify-between items-start gap-3",
|
|
1456
|
+
style: vue.normalizeStyle({
|
|
1457
|
+
width: popoverWidth + "px",
|
|
1458
|
+
minHeight: popoverHeight + "px"
|
|
1459
|
+
}),
|
|
1460
|
+
onClick: _cache[3] || (_cache[3] = vue.withModifiers(() => {
|
|
1461
|
+
}, ["stop"])),
|
|
1462
|
+
onFocusout: onPanelFocusOut
|
|
1463
|
+
}, [
|
|
1464
|
+
vue.createElementVNode("div", _hoisted_5$6, [
|
|
1465
|
+
(vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(options, (option) => {
|
|
1466
|
+
return vue.createElementVNode("div", {
|
|
1467
|
+
key: option.value,
|
|
1468
|
+
onClick: (e) => {
|
|
1469
|
+
if (e.target.tagName !== "INPUT") {
|
|
1470
|
+
handleOptionClick(option.value);
|
|
1471
|
+
}
|
|
1472
|
+
},
|
|
1473
|
+
class: "cursor-pointer"
|
|
1474
|
+
}, [
|
|
1475
|
+
vue.createVNode(_sfc_main$p, {
|
|
1476
|
+
checked: currentOption.value === option.value,
|
|
1477
|
+
id: `tree-popover-${props.nodeId}-${option.value}`,
|
|
1478
|
+
name: `tree-popover-${props.nodeId}`,
|
|
1479
|
+
value: option.value,
|
|
1480
|
+
onChange: () => handleOptionClick(option.value),
|
|
1481
|
+
onBlur: closePopover,
|
|
1482
|
+
onKeydown: [
|
|
1483
|
+
vue.withKeys(vue.withModifiers(($event) => handleOptionClick(option.value), ["prevent"]), ["enter"]),
|
|
1484
|
+
vue.withKeys(vue.withModifiers(($event) => handleOptionClick(option.value), ["prevent"]), ["space"])
|
|
1485
|
+
]
|
|
1486
|
+
}, {
|
|
1487
|
+
default: vue.withCtx(() => [
|
|
1488
|
+
vue.createTextVNode(vue.toDisplayString(option.label), 1)
|
|
1489
|
+
]),
|
|
1490
|
+
_: 2
|
|
1491
|
+
}, 1032, ["checked", "id", "name", "value", "onChange", "onKeydown"])
|
|
1492
|
+
], 8, _hoisted_6$5);
|
|
1493
|
+
}), 64))
|
|
1494
|
+
]),
|
|
1495
|
+
vue.createVNode(_sfc_main$r, {
|
|
1496
|
+
icon: "cross",
|
|
1497
|
+
id: "tree-popover-close-button",
|
|
1498
|
+
size: "24px",
|
|
1499
|
+
onClick: _cache[2] || (_cache[2] = ($event) => closePopover()),
|
|
1500
|
+
class: "fill-blue-500",
|
|
1501
|
+
ariaLabel: "Stäng"
|
|
1502
|
+
})
|
|
1503
|
+
], 36)
|
|
1504
|
+
], 4)) : vue.createCommentVNode("", true)
|
|
1505
|
+
]),
|
|
1506
|
+
_: 1
|
|
1507
|
+
})
|
|
1486
1508
|
])) : vue.createCommentVNode("", true)
|
|
1487
1509
|
])
|
|
1488
1510
|
], 4),
|
|
1489
|
-
vue.unref(expandedNodes).has(props.nodeId) ? (vue.openBlock(), vue.createElementBlock("div",
|
|
1511
|
+
vue.unref(expandedNodes).has(props.nodeId) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$3, [
|
|
1490
1512
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(filteredNodes.value, (child) => {
|
|
1491
1513
|
return vue.openBlock(), vue.createBlock(_component_TreeNode, {
|
|
1492
1514
|
key: child.nodeId,
|
|
@@ -1533,8 +1555,8 @@ function useElementFinalSize(elementRef, onFinalSize, delay = 100) {
|
|
|
1533
1555
|
onCleanup(() => clearTimeout(timeoutId));
|
|
1534
1556
|
});
|
|
1535
1557
|
}
|
|
1536
|
-
const _hoisted_1$
|
|
1537
|
-
const _sfc_main$
|
|
1558
|
+
const _hoisted_1$i = ["aria-label"];
|
|
1559
|
+
const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
|
|
1538
1560
|
__name: "FdsSpinner",
|
|
1539
1561
|
props: {
|
|
1540
1562
|
size: { default: "48px" },
|
|
@@ -1606,23 +1628,24 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
|
1606
1628
|
key: 0,
|
|
1607
1629
|
class: vue.normalizeClass(_ctx.labelPosition === "bottom" ? "font-bold" : "")
|
|
1608
1630
|
}, vue.toDisplayString(_ctx.label), 3)) : vue.createCommentVNode("", true)
|
|
1609
|
-
], 10, _hoisted_1$
|
|
1631
|
+
], 10, _hoisted_1$i);
|
|
1610
1632
|
};
|
|
1611
1633
|
}
|
|
1612
1634
|
});
|
|
1613
|
-
const _hoisted_1$
|
|
1614
|
-
const elBase = "box-border appearance-none inline-flex items-center justify-center cursor-pointer
|
|
1615
|
-
const _sfc_main$
|
|
1616
|
-
__name: "
|
|
1635
|
+
const _hoisted_1$h = ["aria-disabled"];
|
|
1636
|
+
const elBase$2 = "box-border appearance-none inline-flex items-center justify-center cursor-pointer shadow-none p-1 text-base h-7 select-none m-0 rounded-md textcenter align-middle whitespace-nowrap 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";
|
|
1637
|
+
const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
|
|
1638
|
+
__name: "FdsButtonMinor",
|
|
1617
1639
|
props: {
|
|
1618
|
-
|
|
1640
|
+
invert: { type: Boolean, default: false },
|
|
1641
|
+
text: {},
|
|
1619
1642
|
loading: { type: Boolean, default: false },
|
|
1620
1643
|
disabled: { type: Boolean, default: false },
|
|
1621
1644
|
block: { type: Boolean, default: false },
|
|
1622
1645
|
state: { default: void 0 },
|
|
1623
1646
|
icon: { default: void 0 },
|
|
1624
1647
|
iconPos: { default: "left" },
|
|
1625
|
-
size: {
|
|
1648
|
+
size: {},
|
|
1626
1649
|
textSelection: { type: Boolean, default: false },
|
|
1627
1650
|
as: { default: "button" },
|
|
1628
1651
|
href: { default: void 0 },
|
|
@@ -1632,39 +1655,25 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
1632
1655
|
setup(__props, { emit: __emit }) {
|
|
1633
1656
|
const props = __props;
|
|
1634
1657
|
const emit = __emit;
|
|
1635
|
-
const slots = vue.useSlots();
|
|
1636
1658
|
const rootClasses = vue.computed(() => [
|
|
1637
1659
|
"inline-block transition-opacity duration-200",
|
|
1638
1660
|
props.disabled && "opacity-20 pointer-events-none",
|
|
1639
1661
|
props.block && "block w-full"
|
|
1640
1662
|
]);
|
|
1641
|
-
const
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
l: "text-lg h-[68px] px-6"
|
|
1645
|
-
};
|
|
1646
|
-
const variantClasses = {
|
|
1647
|
-
primary: "bg-red-600 border border-red-700 text-white hover:bg-red-700 active:bg-red-800 active:border-red-800",
|
|
1648
|
-
secondary: "bg-white border-2 border-blue-500 text-blue-600 hover:border-blue-600 active:bg-blue-600 active:border-blue-600 active:text-white",
|
|
1649
|
-
minor: "h-auto border-0 shadow-none font-normal px-0! text-blue-600 p-0 bg-transparent rounded focus-visible:outline-dashed focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-blue-500 hover:bg-blue_t-100 active:bg-blue_t-200",
|
|
1650
|
-
"minor-invert": "h-auto border-0 shadow-none font-normal text-white p-0 bg-transparent rounded focus-visible:outline-dashed focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white hover:bg-white-100 active:bg-white-200"
|
|
1651
|
-
};
|
|
1663
|
+
const variantClasses2 = vue.computed(
|
|
1664
|
+
() => props.invert ? "border-0 font-normal text-white bg-transparent focus-visible:outline-dashed focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white hover:bg-white-100 active:bg-white-200" : "border-0 font-normal text-blue-600 bg-transparent focus-visible:outline-dashed focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-blue-500 hover:bg-blue_t-100 active:bg-blue_t-200"
|
|
1665
|
+
);
|
|
1652
1666
|
const blockElClasses = vue.computed(() => props.block && "w-full justify-center");
|
|
1653
|
-
const onlyIcon = vue.computed(() => !slots.default || String(slots.default()).trim() === "");
|
|
1654
1667
|
const iconOrderClasses = vue.computed(
|
|
1655
1668
|
() => props.icon && props.iconPos === "right" ? "order-2 ml-2 mr-0" : props.icon && "mr-2"
|
|
1656
1669
|
);
|
|
1657
1670
|
const buttonClasses = vue.computed(() => [
|
|
1658
|
-
elBase,
|
|
1659
|
-
|
|
1660
|
-
variantClasses[props.variant],
|
|
1671
|
+
elBase$2,
|
|
1672
|
+
variantClasses2.value,
|
|
1661
1673
|
blockElClasses.value,
|
|
1662
|
-
props.textSelection && "select-text"
|
|
1663
|
-
onlyIcon.value ? "" : ""
|
|
1674
|
+
props.textSelection && "select-text"
|
|
1664
1675
|
]);
|
|
1665
|
-
const
|
|
1666
|
-
() => props.variant === "primary" || props.variant === "minor-invert" ? "fill-white" : "fill-blue-500"
|
|
1667
|
-
);
|
|
1676
|
+
const iconFillClass2 = vue.computed(() => props.invert ? "fill-white" : "fill-blue-500");
|
|
1668
1677
|
function onClick(ev) {
|
|
1669
1678
|
if (props.disabled || props.loading) {
|
|
1670
1679
|
ev.preventDefault();
|
|
@@ -1672,20 +1681,24 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
1672
1681
|
}
|
|
1673
1682
|
emit("click", ev);
|
|
1674
1683
|
}
|
|
1684
|
+
const linkAttrs = vue.computed(() => {
|
|
1685
|
+
if (props.as === "a") return { href: props.href };
|
|
1686
|
+
if (props.as === "router-link") return { to: props.href };
|
|
1687
|
+
return {};
|
|
1688
|
+
});
|
|
1675
1689
|
return (_ctx, _cache) => {
|
|
1676
1690
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
1677
1691
|
class: vue.normalizeClass(rootClasses.value),
|
|
1678
1692
|
"aria-disabled": _ctx.disabled ? "true" : null
|
|
1679
1693
|
}, [
|
|
1680
|
-
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.as), {
|
|
1681
|
-
href: _ctx.as === "a" ? _ctx.href : void 0,
|
|
1694
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.as), vue.mergeProps(linkAttrs.value, {
|
|
1682
1695
|
type: _ctx.as === "button" ? _ctx.type : void 0,
|
|
1683
1696
|
disabled: _ctx.as === "button" ? _ctx.disabled : void 0,
|
|
1684
|
-
class:
|
|
1697
|
+
class: buttonClasses.value,
|
|
1685
1698
|
onClick
|
|
1686
|
-
}, {
|
|
1699
|
+
}), {
|
|
1687
1700
|
default: vue.withCtx(() => [
|
|
1688
|
-
_ctx.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
1701
|
+
_ctx.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
|
|
1689
1702
|
key: 0,
|
|
1690
1703
|
class: "mr-2",
|
|
1691
1704
|
size: "24px",
|
|
@@ -1696,20 +1709,20 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
|
1696
1709
|
"aria-hidden": "true"
|
|
1697
1710
|
}, [
|
|
1698
1711
|
vue.createVNode(FdsIcon, {
|
|
1699
|
-
class: vue.normalizeClass(
|
|
1712
|
+
class: vue.normalizeClass(iconFillClass2.value),
|
|
1700
1713
|
name: _ctx.icon,
|
|
1701
1714
|
size: 24
|
|
1702
1715
|
}, null, 8, ["class", "name"])
|
|
1703
1716
|
], 2)) : vue.createCommentVNode("", true),
|
|
1704
|
-
vue.
|
|
1717
|
+
vue.createTextVNode(" " + vue.toDisplayString(_ctx.text), 1)
|
|
1705
1718
|
]),
|
|
1706
|
-
_:
|
|
1707
|
-
},
|
|
1708
|
-
], 10, _hoisted_1$
|
|
1719
|
+
_: 1
|
|
1720
|
+
}, 16, ["type", "disabled", "class"]))
|
|
1721
|
+
], 10, _hoisted_1$h);
|
|
1709
1722
|
};
|
|
1710
1723
|
}
|
|
1711
1724
|
});
|
|
1712
|
-
const _hoisted_1$
|
|
1725
|
+
const _hoisted_1$g = { class: "flex flex-col" };
|
|
1713
1726
|
const _hoisted_2$a = ["for"];
|
|
1714
1727
|
const _hoisted_3$9 = { class: "w-full" };
|
|
1715
1728
|
const _hoisted_4$7 = { class: "relative" };
|
|
@@ -1718,7 +1731,7 @@ const _hoisted_6$4 = {
|
|
|
1718
1731
|
key: 0,
|
|
1719
1732
|
class: "text-red-600 font-bold mt-1"
|
|
1720
1733
|
};
|
|
1721
|
-
const _sfc_main$
|
|
1734
|
+
const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
|
|
1722
1735
|
__name: "FdsInput",
|
|
1723
1736
|
props: {
|
|
1724
1737
|
value: { default: "" },
|
|
@@ -1752,7 +1765,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
1752
1765
|
const isInvalid = vue.computed(() => props.valid === "false" && !props.optional && !props.disabled);
|
|
1753
1766
|
const isValid = vue.computed(() => props.valid === "true");
|
|
1754
1767
|
const showPasswordToggle = vue.computed(
|
|
1755
|
-
() => isPasswordType.value &&
|
|
1768
|
+
() => isPasswordType.value && internalValue.value.length > 0
|
|
1756
1769
|
);
|
|
1757
1770
|
const inputClasses = vue.computed(() => [
|
|
1758
1771
|
"block w-full rounded-md border border-gray-300 px-3 py-2",
|
|
@@ -1780,24 +1793,15 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
1780
1793
|
}
|
|
1781
1794
|
const showPassword = vue.ref(false);
|
|
1782
1795
|
const isPasswordType = vue.computed(() => props.type === "password");
|
|
1783
|
-
const passwordToggleLabels = vue.computed(() => {
|
|
1784
|
-
const labels = props.passwordLabels ?? [];
|
|
1785
|
-
const off = (labels[0] ?? "Visa").toString().trim();
|
|
1786
|
-
const on = (labels[1] ?? "Dölj").toString().trim();
|
|
1787
|
-
return { off, on };
|
|
1788
|
-
});
|
|
1789
1796
|
function toggleShowPassword() {
|
|
1790
1797
|
showPassword.value = !showPassword.value;
|
|
1791
1798
|
}
|
|
1792
|
-
const hasPasswordLabels = vue.computed(
|
|
1793
|
-
() => Array.isArray(props.passwordLabels) && props.passwordLabels.some((l) => (l ?? "").toString().trim().length > 0)
|
|
1794
|
-
);
|
|
1795
1799
|
return (_ctx, _cache) => {
|
|
1796
1800
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
1797
1801
|
vue.createElementVNode("div", {
|
|
1798
1802
|
class: vue.normalizeClass(["w-full", { "flex flex-row gap-4": _ctx.labelLeft }])
|
|
1799
1803
|
}, [
|
|
1800
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
1804
|
+
vue.createElementVNode("div", _hoisted_1$g, [
|
|
1801
1805
|
_ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
|
|
1802
1806
|
key: 0,
|
|
1803
1807
|
for: inputId.value,
|
|
@@ -1836,23 +1840,18 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
1836
1840
|
key: 1,
|
|
1837
1841
|
name: "bigSuccess"
|
|
1838
1842
|
})) : vue.createCommentVNode("", true),
|
|
1839
|
-
_ctx.clearButton && !!internalValue.value && !_ctx.disabled ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
1843
|
+
_ctx.clearButton && !!internalValue.value && !_ctx.disabled ? (vue.openBlock(), vue.createBlock(_sfc_main$r, {
|
|
1840
1844
|
key: 2,
|
|
1841
1845
|
icon: "cross",
|
|
1842
1846
|
ariaLabel: clearButtonLabel.value,
|
|
1843
1847
|
onClick: onClear
|
|
1844
1848
|
}, null, 8, ["ariaLabel"])) : vue.createCommentVNode("", true),
|
|
1845
|
-
showPasswordToggle.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
1849
|
+
showPasswordToggle.value ? (vue.openBlock(), vue.createBlock(_sfc_main$m, {
|
|
1846
1850
|
key: 3,
|
|
1847
|
-
variant: "minor",
|
|
1848
1851
|
icon: showPassword.value ? "viewOff" : "viewOn",
|
|
1852
|
+
text: "",
|
|
1849
1853
|
onClick: toggleShowPassword
|
|
1850
|
-
},
|
|
1851
|
-
default: vue.withCtx(() => [
|
|
1852
|
-
vue.createTextVNode(vue.toDisplayString(showPassword.value ? passwordToggleLabels.value.off : passwordToggleLabels.value.on), 1)
|
|
1853
|
-
]),
|
|
1854
|
-
_: 1
|
|
1855
|
-
}, 8, ["icon"])) : vue.createCommentVNode("", true)
|
|
1854
|
+
}, null, 8, ["icon"])) : vue.createCommentVNode("", true)
|
|
1856
1855
|
], 2)
|
|
1857
1856
|
])
|
|
1858
1857
|
])
|
|
@@ -1862,7 +1861,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
|
1862
1861
|
};
|
|
1863
1862
|
}
|
|
1864
1863
|
});
|
|
1865
|
-
const _hoisted_1$
|
|
1864
|
+
const _hoisted_1$f = ["id"];
|
|
1866
1865
|
const _hoisted_2$9 = {
|
|
1867
1866
|
key: 0,
|
|
1868
1867
|
class: "flex items-start gap-4"
|
|
@@ -1876,7 +1875,7 @@ const _hoisted_8$1 = { class: "flex items-center gap-3" };
|
|
|
1876
1875
|
const _hoisted_9$1 = { class: "flex items-start gap-3" };
|
|
1877
1876
|
const smallIconSize = 24;
|
|
1878
1877
|
const largeIconSize = 48;
|
|
1879
|
-
const _sfc_main$
|
|
1878
|
+
const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
|
|
1880
1879
|
__name: "FdsContentBlock",
|
|
1881
1880
|
props: {
|
|
1882
1881
|
variant: { default: "primary" },
|
|
@@ -1982,11 +1981,11 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
|
1982
1981
|
], 2),
|
|
1983
1982
|
vue.renderSlot(_ctx.$slots, "default")
|
|
1984
1983
|
]))
|
|
1985
|
-
], 14, _hoisted_1$
|
|
1984
|
+
], 14, _hoisted_1$f);
|
|
1986
1985
|
};
|
|
1987
1986
|
}
|
|
1988
1987
|
});
|
|
1989
|
-
const _hoisted_1$
|
|
1988
|
+
const _hoisted_1$e = { key: 0 };
|
|
1990
1989
|
const _hoisted_2$8 = {
|
|
1991
1990
|
key: 0,
|
|
1992
1991
|
class: "text-xl"
|
|
@@ -1995,7 +1994,7 @@ const _hoisted_3$7 = {
|
|
|
1995
1994
|
key: 1,
|
|
1996
1995
|
class: "text-xl"
|
|
1997
1996
|
};
|
|
1998
|
-
const _sfc_main$
|
|
1997
|
+
const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
|
|
1999
1998
|
__name: "FdsTreeView",
|
|
2000
1999
|
props: {
|
|
2001
2000
|
nodeExpandIcon: {},
|
|
@@ -2076,7 +2075,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
2076
2075
|
ref: searchContainerRef,
|
|
2077
2076
|
class: "pb-4"
|
|
2078
2077
|
}, [
|
|
2079
|
-
vue.createVNode(_sfc_main$
|
|
2078
|
+
vue.createVNode(_sfc_main$l, {
|
|
2080
2079
|
value: vue.unref(treeState)?.searchTerm?.value ?? "",
|
|
2081
2080
|
onInput: _cache[0] || (_cache[0] = ($event) => vue.unref(treeState)?.setSearchTerm($event.target.value)),
|
|
2082
2081
|
class: "w-full",
|
|
@@ -2089,11 +2088,11 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
2089
2088
|
])]),
|
|
2090
2089
|
_: 1
|
|
2091
2090
|
}, 8, ["value", "label"]),
|
|
2092
|
-
props.searchCountTemplate || props.searchCountTemplateUnfiltered ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
2091
|
+
props.searchCountTemplate || props.searchCountTemplateUnfiltered ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
|
|
2093
2092
|
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$8, 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))
|
|
2094
2093
|
])) : vue.createCommentVNode("", true)
|
|
2095
2094
|
], 512)) : vue.createCommentVNode("", true),
|
|
2096
|
-
vue.unref(treeState)?.isEmptySearchResult?.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
2095
|
+
vue.unref(treeState)?.isEmptySearchResult?.value ? (vue.openBlock(), vue.createBlock(_sfc_main$k, {
|
|
2097
2096
|
key: 1,
|
|
2098
2097
|
variant: "secondary",
|
|
2099
2098
|
icon: "information",
|
|
@@ -2103,7 +2102,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
2103
2102
|
vue.createTextVNode(vue.toDisplayString(props.searchResultNoMatchesTitle), 1)
|
|
2104
2103
|
]),
|
|
2105
2104
|
default: vue.withCtx(() => [
|
|
2106
|
-
vue.createVNode(_sfc_main$
|
|
2105
|
+
vue.createVNode(_sfc_main$q, null, {
|
|
2107
2106
|
default: vue.withCtx(() => [
|
|
2108
2107
|
vue.createTextVNode(vue.toDisplayString(props.searchResultNoMatchesBody), 1)
|
|
2109
2108
|
]),
|
|
@@ -2115,7 +2114,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
2115
2114
|
vue.createElementVNode("div", {
|
|
2116
2115
|
class: vue.normalizeClass(["rounded-md", { "overflow-x-auto bg-white-solid": props.horizontalScroll }])
|
|
2117
2116
|
}, [
|
|
2118
|
-
props.data && !vue.unref(treeState)?.isEmptySearchResult?.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
2117
|
+
props.data && !vue.unref(treeState)?.isEmptySearchResult?.value ? (vue.openBlock(), vue.createBlock(_sfc_main$o, {
|
|
2119
2118
|
key: 0,
|
|
2120
2119
|
style: { container: "bg-white-solid px-3 py-2" },
|
|
2121
2120
|
nodes: props.data.children || [],
|
|
@@ -2146,6 +2145,272 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
|
2146
2145
|
};
|
|
2147
2146
|
}
|
|
2148
2147
|
});
|
|
2148
|
+
const _hoisted_1$d = ["aria-disabled"];
|
|
2149
|
+
const elBase$1 = "box-border appearance-none inline-flex items-center justify-center cursor-pointer select-none min-h-0 min-w-12 h-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";
|
|
2150
|
+
const variantClasses$1 = "bg-red-600 border border-red-700 text-white hover:bg-red-700 active:bg-red-800 active:border-red-800";
|
|
2151
|
+
const iconFillClass$1 = "fill-white";
|
|
2152
|
+
const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
|
|
2153
|
+
__name: "FdsButtonPrimary",
|
|
2154
|
+
props: {
|
|
2155
|
+
text: {},
|
|
2156
|
+
loading: { type: Boolean, default: false },
|
|
2157
|
+
disabled: { type: Boolean, default: false },
|
|
2158
|
+
block: { type: Boolean, default: false },
|
|
2159
|
+
state: { default: void 0 },
|
|
2160
|
+
icon: { default: void 0 },
|
|
2161
|
+
iconPos: { default: "left" },
|
|
2162
|
+
size: { default: "m" },
|
|
2163
|
+
textSelection: { type: Boolean, default: false },
|
|
2164
|
+
as: { default: "button" },
|
|
2165
|
+
href: { default: void 0 },
|
|
2166
|
+
type: { default: "button" }
|
|
2167
|
+
},
|
|
2168
|
+
emits: ["click"],
|
|
2169
|
+
setup(__props, { emit: __emit }) {
|
|
2170
|
+
const props = __props;
|
|
2171
|
+
const emit = __emit;
|
|
2172
|
+
const rootClasses = vue.computed(() => [
|
|
2173
|
+
"inline-block transition-opacity duration-200",
|
|
2174
|
+
props.disabled && "opacity-20 pointer-events-none",
|
|
2175
|
+
props.block && "block w-full"
|
|
2176
|
+
]);
|
|
2177
|
+
const sizeClasses = {
|
|
2178
|
+
s: "text-sm h-7 px-3",
|
|
2179
|
+
m: "text-base h-12 px-4",
|
|
2180
|
+
l: "text-lg h-[68px] px-6"
|
|
2181
|
+
};
|
|
2182
|
+
const blockElClasses = vue.computed(() => props.block && "w-full justify-center");
|
|
2183
|
+
const iconOrderClasses = vue.computed(
|
|
2184
|
+
() => props.icon && props.iconPos === "right" ? "order-2 ml-2 mr-0" : props.icon && "mr-2"
|
|
2185
|
+
);
|
|
2186
|
+
const buttonClasses = vue.computed(() => [
|
|
2187
|
+
elBase$1,
|
|
2188
|
+
sizeClasses[props.size || "m"],
|
|
2189
|
+
variantClasses$1,
|
|
2190
|
+
blockElClasses.value,
|
|
2191
|
+
props.textSelection && "select-text"
|
|
2192
|
+
]);
|
|
2193
|
+
function onClick(ev) {
|
|
2194
|
+
if (props.disabled || props.loading) {
|
|
2195
|
+
ev.preventDefault();
|
|
2196
|
+
return;
|
|
2197
|
+
}
|
|
2198
|
+
emit("click", ev);
|
|
2199
|
+
}
|
|
2200
|
+
const linkAttrs = vue.computed(() => {
|
|
2201
|
+
if (props.as === "a") return { href: props.href };
|
|
2202
|
+
if (props.as === "router-link") return { to: props.href };
|
|
2203
|
+
return {};
|
|
2204
|
+
});
|
|
2205
|
+
return (_ctx, _cache) => {
|
|
2206
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
2207
|
+
class: vue.normalizeClass(rootClasses.value),
|
|
2208
|
+
"aria-disabled": _ctx.disabled ? "true" : null
|
|
2209
|
+
}, [
|
|
2210
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.as), vue.mergeProps(linkAttrs.value, {
|
|
2211
|
+
type: _ctx.as === "button" ? _ctx.type : void 0,
|
|
2212
|
+
disabled: _ctx.as === "button" ? _ctx.disabled : void 0,
|
|
2213
|
+
class: buttonClasses.value,
|
|
2214
|
+
onClick
|
|
2215
|
+
}), {
|
|
2216
|
+
default: vue.withCtx(() => [
|
|
2217
|
+
_ctx.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
|
|
2218
|
+
key: 0,
|
|
2219
|
+
class: "mr-2",
|
|
2220
|
+
size: "24px",
|
|
2221
|
+
color: "inherit"
|
|
2222
|
+
})) : _ctx.icon ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
2223
|
+
key: 1,
|
|
2224
|
+
class: vue.normalizeClass(iconOrderClasses.value),
|
|
2225
|
+
"aria-hidden": "true"
|
|
2226
|
+
}, [
|
|
2227
|
+
vue.createVNode(FdsIcon, {
|
|
2228
|
+
class: vue.normalizeClass(iconFillClass$1),
|
|
2229
|
+
name: _ctx.icon,
|
|
2230
|
+
size: 24
|
|
2231
|
+
}, null, 8, ["name"])
|
|
2232
|
+
], 2)) : vue.createCommentVNode("", true),
|
|
2233
|
+
vue.createTextVNode(" " + vue.toDisplayString(_ctx.text), 1)
|
|
2234
|
+
]),
|
|
2235
|
+
_: 1
|
|
2236
|
+
}, 16, ["type", "disabled", "class"]))
|
|
2237
|
+
], 10, _hoisted_1$d);
|
|
2238
|
+
};
|
|
2239
|
+
}
|
|
2240
|
+
});
|
|
2241
|
+
const _hoisted_1$c = ["aria-disabled"];
|
|
2242
|
+
const elBase = "box-border appearance-none inline-flex items-center justify-center cursor-pointer select-none min-h-0 min-w-12 h-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";
|
|
2243
|
+
const variantClasses = "bg-white border-2 border-blue-500 text-blue-600 hover:border-blue-600 active:bg-blue-600 active:border-blue-600 active:text-white";
|
|
2244
|
+
const iconFillClass = "fill-blue-500";
|
|
2245
|
+
const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
|
|
2246
|
+
__name: "FdsButtonSecondary",
|
|
2247
|
+
props: {
|
|
2248
|
+
text: {},
|
|
2249
|
+
loading: { type: Boolean, default: false },
|
|
2250
|
+
disabled: { type: Boolean, default: false },
|
|
2251
|
+
block: { type: Boolean, default: false },
|
|
2252
|
+
state: { default: void 0 },
|
|
2253
|
+
icon: { default: void 0 },
|
|
2254
|
+
iconPos: { default: "left" },
|
|
2255
|
+
size: { default: "m" },
|
|
2256
|
+
textSelection: { type: Boolean, default: false },
|
|
2257
|
+
as: { default: "button" },
|
|
2258
|
+
href: { default: void 0 },
|
|
2259
|
+
type: { default: "button" }
|
|
2260
|
+
},
|
|
2261
|
+
emits: ["click"],
|
|
2262
|
+
setup(__props, { emit: __emit }) {
|
|
2263
|
+
const props = __props;
|
|
2264
|
+
const emit = __emit;
|
|
2265
|
+
const rootClasses = vue.computed(() => [
|
|
2266
|
+
"inline-block transition-opacity duration-200",
|
|
2267
|
+
props.disabled && "opacity-20 pointer-events-none",
|
|
2268
|
+
props.block && "block w-full"
|
|
2269
|
+
]);
|
|
2270
|
+
const sizeClasses = {
|
|
2271
|
+
s: "text-sm h-7 px-3",
|
|
2272
|
+
m: "text-base h-12 px-4",
|
|
2273
|
+
l: "text-lg h-[68px] px-6"
|
|
2274
|
+
};
|
|
2275
|
+
const blockElClasses = vue.computed(() => props.block && "w-full justify-center");
|
|
2276
|
+
const iconOrderClasses = vue.computed(
|
|
2277
|
+
() => props.icon && props.iconPos === "right" ? "order-2 ml-2 mr-0" : props.icon && "mr-2"
|
|
2278
|
+
);
|
|
2279
|
+
const buttonClasses = vue.computed(() => [
|
|
2280
|
+
elBase,
|
|
2281
|
+
sizeClasses[props.size || "m"],
|
|
2282
|
+
variantClasses,
|
|
2283
|
+
blockElClasses.value,
|
|
2284
|
+
props.textSelection && "select-text"
|
|
2285
|
+
]);
|
|
2286
|
+
function onClick(ev) {
|
|
2287
|
+
if (props.disabled || props.loading) {
|
|
2288
|
+
ev.preventDefault();
|
|
2289
|
+
return;
|
|
2290
|
+
}
|
|
2291
|
+
emit("click", ev);
|
|
2292
|
+
}
|
|
2293
|
+
const linkAttrs = vue.computed(() => {
|
|
2294
|
+
if (props.as === "a") return { href: props.href };
|
|
2295
|
+
if (props.as === "router-link") return { to: props.href };
|
|
2296
|
+
return {};
|
|
2297
|
+
});
|
|
2298
|
+
return (_ctx, _cache) => {
|
|
2299
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
2300
|
+
class: vue.normalizeClass(rootClasses.value),
|
|
2301
|
+
"aria-disabled": _ctx.disabled ? "true" : null
|
|
2302
|
+
}, [
|
|
2303
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.as), vue.mergeProps(linkAttrs.value, {
|
|
2304
|
+
type: _ctx.as === "button" ? _ctx.type : void 0,
|
|
2305
|
+
disabled: _ctx.as === "button" ? _ctx.disabled : void 0,
|
|
2306
|
+
class: buttonClasses.value,
|
|
2307
|
+
onClick
|
|
2308
|
+
}), {
|
|
2309
|
+
default: vue.withCtx(() => [
|
|
2310
|
+
_ctx.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
|
|
2311
|
+
key: 0,
|
|
2312
|
+
class: "mr-2",
|
|
2313
|
+
size: "24px",
|
|
2314
|
+
color: "inherit"
|
|
2315
|
+
})) : _ctx.icon ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
2316
|
+
key: 1,
|
|
2317
|
+
class: vue.normalizeClass(iconOrderClasses.value),
|
|
2318
|
+
"aria-hidden": "true"
|
|
2319
|
+
}, [
|
|
2320
|
+
vue.createVNode(FdsIcon, {
|
|
2321
|
+
class: vue.normalizeClass(iconFillClass),
|
|
2322
|
+
name: _ctx.icon,
|
|
2323
|
+
size: 24
|
|
2324
|
+
}, null, 8, ["name"])
|
|
2325
|
+
], 2)) : vue.createCommentVNode("", true),
|
|
2326
|
+
vue.createTextVNode(" " + vue.toDisplayString(_ctx.text), 1)
|
|
2327
|
+
]),
|
|
2328
|
+
_: 1
|
|
2329
|
+
}, 16, ["type", "disabled", "class"]))
|
|
2330
|
+
], 10, _hoisted_1$c);
|
|
2331
|
+
};
|
|
2332
|
+
}
|
|
2333
|
+
});
|
|
2334
|
+
const _hoisted_1$b = {
|
|
2335
|
+
key: 0,
|
|
2336
|
+
class: "flex items-center gap-2 h-7"
|
|
2337
|
+
};
|
|
2338
|
+
const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
|
|
2339
|
+
__name: "FdsButtonCopy",
|
|
2340
|
+
props: {
|
|
2341
|
+
value: { default: "" },
|
|
2342
|
+
targetId: {},
|
|
2343
|
+
label: { default: "Kopiera" },
|
|
2344
|
+
copiedLabel: { default: "Kopierat!" },
|
|
2345
|
+
timeoutMs: { default: 800 },
|
|
2346
|
+
disabled: { type: Boolean, default: false }
|
|
2347
|
+
},
|
|
2348
|
+
emits: ["click"],
|
|
2349
|
+
setup(__props) {
|
|
2350
|
+
const props = __props;
|
|
2351
|
+
const isCopied = vue.ref(false);
|
|
2352
|
+
let resetTimer = null;
|
|
2353
|
+
async function copyToClipboard(text) {
|
|
2354
|
+
try {
|
|
2355
|
+
if (navigator.clipboard && navigator.clipboard.writeText) {
|
|
2356
|
+
await navigator.clipboard.writeText(text);
|
|
2357
|
+
return true;
|
|
2358
|
+
}
|
|
2359
|
+
} catch {
|
|
2360
|
+
}
|
|
2361
|
+
const textarea = document.createElement("textarea");
|
|
2362
|
+
textarea.value = text;
|
|
2363
|
+
textarea.style.position = "fixed";
|
|
2364
|
+
textarea.style.opacity = "0";
|
|
2365
|
+
document.body.appendChild(textarea);
|
|
2366
|
+
textarea.focus();
|
|
2367
|
+
textarea.select();
|
|
2368
|
+
let ok = false;
|
|
2369
|
+
try {
|
|
2370
|
+
ok = document.execCommand("copy");
|
|
2371
|
+
} catch {
|
|
2372
|
+
ok = false;
|
|
2373
|
+
}
|
|
2374
|
+
document.body.removeChild(textarea);
|
|
2375
|
+
return ok;
|
|
2376
|
+
}
|
|
2377
|
+
async function onClick() {
|
|
2378
|
+
if (props.disabled) return;
|
|
2379
|
+
let textToCopy = props.value;
|
|
2380
|
+
if (props.targetId) {
|
|
2381
|
+
const el = document.getElementById(props.targetId);
|
|
2382
|
+
if (el) {
|
|
2383
|
+
textToCopy = el.innerText || el.textContent || "";
|
|
2384
|
+
}
|
|
2385
|
+
}
|
|
2386
|
+
if (!textToCopy) return;
|
|
2387
|
+
const ok = await copyToClipboard(textToCopy);
|
|
2388
|
+
if (!ok) return;
|
|
2389
|
+
isCopied.value = true;
|
|
2390
|
+
if (resetTimer) clearTimeout(resetTimer);
|
|
2391
|
+
resetTimer = setTimeout(() => isCopied.value = false, props.timeoutMs);
|
|
2392
|
+
}
|
|
2393
|
+
vue.onMounted(() => {
|
|
2394
|
+
if (resetTimer) {
|
|
2395
|
+
clearTimeout(resetTimer);
|
|
2396
|
+
resetTimer = null;
|
|
2397
|
+
}
|
|
2398
|
+
});
|
|
2399
|
+
return (_ctx, _cache) => {
|
|
2400
|
+
return isCopied.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
|
|
2401
|
+
vue.createVNode(FdsIcon, { name: "bigSuccess" }),
|
|
2402
|
+
vue.createElementVNode("span", null, vue.toDisplayString(props.copiedLabel), 1)
|
|
2403
|
+
])) : (vue.openBlock(), vue.createBlock(_sfc_main$m, {
|
|
2404
|
+
key: 1,
|
|
2405
|
+
type: "button",
|
|
2406
|
+
disabled: props.disabled,
|
|
2407
|
+
icon: "copy",
|
|
2408
|
+
text: isCopied.value ? props.copiedLabel : props.label,
|
|
2409
|
+
onClick
|
|
2410
|
+
}, null, 8, ["disabled", "text"]));
|
|
2411
|
+
};
|
|
2412
|
+
}
|
|
2413
|
+
});
|
|
2149
2414
|
const _hoisted_1$a = { class: "w-full" };
|
|
2150
2415
|
const _hoisted_2$7 = ["for"];
|
|
2151
2416
|
const _hoisted_3$6 = {
|
|
@@ -2162,7 +2427,7 @@ const _hoisted_7$1 = {
|
|
|
2162
2427
|
key: 0,
|
|
2163
2428
|
class: "sr-only"
|
|
2164
2429
|
};
|
|
2165
|
-
const _sfc_main$
|
|
2430
|
+
const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
2166
2431
|
__name: "FdsTextarea",
|
|
2167
2432
|
props: {
|
|
2168
2433
|
value: { default: "" },
|
|
@@ -2269,7 +2534,7 @@ const _hoisted_9 = {
|
|
|
2269
2534
|
key: 2,
|
|
2270
2535
|
class: "text-red-600 font-bold mt-1"
|
|
2271
2536
|
};
|
|
2272
|
-
const _sfc_main$
|
|
2537
|
+
const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
2273
2538
|
__name: "FdsSelect",
|
|
2274
2539
|
props: {
|
|
2275
2540
|
value: { default: "" },
|
|
@@ -2363,7 +2628,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
|
|
|
2363
2628
|
};
|
|
2364
2629
|
}
|
|
2365
2630
|
});
|
|
2366
|
-
const _sfc_main$
|
|
2631
|
+
const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
2367
2632
|
__name: "FdsTable",
|
|
2368
2633
|
props: {
|
|
2369
2634
|
bordered: { type: Boolean, default: false },
|
|
@@ -2385,8 +2650,8 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
|
|
|
2385
2650
|
};
|
|
2386
2651
|
}
|
|
2387
2652
|
});
|
|
2388
|
-
const FdsTable = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2389
|
-
const _sfc_main$
|
|
2653
|
+
const FdsTable = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-9bc82042"]]);
|
|
2654
|
+
const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
2390
2655
|
__name: "FdsTableHead",
|
|
2391
2656
|
props: {
|
|
2392
2657
|
sortable: { type: Boolean, default: false },
|
|
@@ -2430,83 +2695,6 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
|
2430
2695
|
};
|
|
2431
2696
|
}
|
|
2432
2697
|
});
|
|
2433
|
-
const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
2434
|
-
__name: "FdsCopyButton",
|
|
2435
|
-
props: {
|
|
2436
|
-
value: { default: "" },
|
|
2437
|
-
targetId: {},
|
|
2438
|
-
label: { default: "Kopiera" },
|
|
2439
|
-
copiedLabel: { default: "Kopierat!" },
|
|
2440
|
-
timeoutMs: { default: 1500 },
|
|
2441
|
-
disabled: { type: Boolean, default: false }
|
|
2442
|
-
},
|
|
2443
|
-
emits: ["click"],
|
|
2444
|
-
setup(__props) {
|
|
2445
|
-
const props = __props;
|
|
2446
|
-
const isCopied = vue.ref(false);
|
|
2447
|
-
let resetTimer = null;
|
|
2448
|
-
async function copyToClipboard(text) {
|
|
2449
|
-
try {
|
|
2450
|
-
if (navigator.clipboard && navigator.clipboard.writeText) {
|
|
2451
|
-
await navigator.clipboard.writeText(text);
|
|
2452
|
-
return true;
|
|
2453
|
-
}
|
|
2454
|
-
} catch {
|
|
2455
|
-
}
|
|
2456
|
-
const textarea = document.createElement("textarea");
|
|
2457
|
-
textarea.value = text;
|
|
2458
|
-
textarea.style.position = "fixed";
|
|
2459
|
-
textarea.style.opacity = "0";
|
|
2460
|
-
document.body.appendChild(textarea);
|
|
2461
|
-
textarea.focus();
|
|
2462
|
-
textarea.select();
|
|
2463
|
-
let ok = false;
|
|
2464
|
-
try {
|
|
2465
|
-
ok = document.execCommand("copy");
|
|
2466
|
-
} catch {
|
|
2467
|
-
ok = false;
|
|
2468
|
-
}
|
|
2469
|
-
document.body.removeChild(textarea);
|
|
2470
|
-
return ok;
|
|
2471
|
-
}
|
|
2472
|
-
async function onClick() {
|
|
2473
|
-
if (props.disabled) return;
|
|
2474
|
-
let textToCopy = props.value;
|
|
2475
|
-
if (props.targetId) {
|
|
2476
|
-
const el = document.getElementById(props.targetId);
|
|
2477
|
-
if (el) {
|
|
2478
|
-
textToCopy = el.innerText || el.textContent || "";
|
|
2479
|
-
}
|
|
2480
|
-
}
|
|
2481
|
-
if (!textToCopy) return;
|
|
2482
|
-
const ok = await copyToClipboard(textToCopy);
|
|
2483
|
-
if (!ok) return;
|
|
2484
|
-
isCopied.value = true;
|
|
2485
|
-
if (resetTimer) clearTimeout(resetTimer);
|
|
2486
|
-
resetTimer = setTimeout(() => isCopied.value = false, props.timeoutMs);
|
|
2487
|
-
}
|
|
2488
|
-
vue.onMounted(() => {
|
|
2489
|
-
if (resetTimer) {
|
|
2490
|
-
clearTimeout(resetTimer);
|
|
2491
|
-
resetTimer = null;
|
|
2492
|
-
}
|
|
2493
|
-
});
|
|
2494
|
-
return (_ctx, _cache) => {
|
|
2495
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$k, {
|
|
2496
|
-
variant: "minor",
|
|
2497
|
-
type: "button",
|
|
2498
|
-
disabled: props.disabled,
|
|
2499
|
-
icon: isCopied.value ? "bigSuccess" : "copy",
|
|
2500
|
-
onClick
|
|
2501
|
-
}, {
|
|
2502
|
-
default: vue.withCtx(() => [
|
|
2503
|
-
vue.createTextVNode(vue.toDisplayString(isCopied.value ? props.copiedLabel : props.label), 1)
|
|
2504
|
-
]),
|
|
2505
|
-
_: 1
|
|
2506
|
-
}, 8, ["disabled", "icon"]);
|
|
2507
|
-
};
|
|
2508
|
-
}
|
|
2509
|
-
});
|
|
2510
2698
|
const _hoisted_1$8 = ["id"];
|
|
2511
2699
|
const _hoisted_2$5 = { class: "flex items-center gap-2" };
|
|
2512
2700
|
const _hoisted_3$4 = { class: "relative" };
|
|
@@ -2541,7 +2729,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
2541
2729
|
isVisible.value = v;
|
|
2542
2730
|
}
|
|
2543
2731
|
);
|
|
2544
|
-
const
|
|
2732
|
+
const variantClasses2 = {
|
|
2545
2733
|
info: "bg-blue_t-100",
|
|
2546
2734
|
warning: "bg-yellow-200 border-yellow-300"
|
|
2547
2735
|
};
|
|
@@ -2549,7 +2737,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
2549
2737
|
info: "information",
|
|
2550
2738
|
warning: "alert"
|
|
2551
2739
|
};
|
|
2552
|
-
const alertClasses = vue.computed(() => ["rounded-md p-4",
|
|
2740
|
+
const alertClasses = vue.computed(() => ["rounded-md p-4", variantClasses2[props.variant]]);
|
|
2553
2741
|
const autoId = `fds-alert-${Math.random().toString(36).slice(2, 9)}`;
|
|
2554
2742
|
const alertId = vue.computed(() => props.id ?? autoId);
|
|
2555
2743
|
const iconName = vue.computed(() => iconMap[props.variant]);
|
|
@@ -2585,7 +2773,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
2585
2773
|
vue.createElementVNode("span", null, vue.toDisplayString(_ctx.label), 1)
|
|
2586
2774
|
]),
|
|
2587
2775
|
vue.createElementVNode("div", _hoisted_3$4, [
|
|
2588
|
-
_ctx.closeable ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
2776
|
+
_ctx.closeable ? (vue.openBlock(), vue.createBlock(_sfc_main$r, {
|
|
2589
2777
|
key: 0,
|
|
2590
2778
|
icon: "cross",
|
|
2591
2779
|
size: "24px",
|
|
@@ -2593,7 +2781,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
2593
2781
|
ariaLabel: closeLabel.value,
|
|
2594
2782
|
class: vue.normalizeClass(["fill-gray-900! hover:bg-gray-100 active:bg-gray-200"])
|
|
2595
2783
|
}, null, 8, ["ariaLabel"])) : vue.createCommentVNode("", true),
|
|
2596
|
-
_ctx.collapsable ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
2784
|
+
_ctx.collapsable ? (vue.openBlock(), vue.createBlock(_sfc_main$r, {
|
|
2597
2785
|
key: 1,
|
|
2598
2786
|
icon: "arrowDown",
|
|
2599
2787
|
size: "24px",
|
|
@@ -2616,7 +2804,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
|
2616
2804
|
};
|
|
2617
2805
|
}
|
|
2618
2806
|
});
|
|
2619
|
-
const FdsAlertBlock = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-
|
|
2807
|
+
const FdsAlertBlock = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-6aea4869"]]);
|
|
2620
2808
|
const _hoisted_1$7 = { class: "inline-flex items-center" };
|
|
2621
2809
|
const _hoisted_2$4 = {
|
|
2622
2810
|
key: 0,
|
|
@@ -3166,7 +3354,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3166
3354
|
}, null, 8, ["name", "class"])) : vue.createCommentVNode("", true),
|
|
3167
3355
|
vue.createTextVNode(" " + vue.toDisplayString(_ctx.heading), 1)
|
|
3168
3356
|
], 2),
|
|
3169
|
-
!_ctx.strict ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3357
|
+
!_ctx.strict ? (vue.openBlock(), vue.createBlock(_sfc_main$r, {
|
|
3170
3358
|
key: 0,
|
|
3171
3359
|
icon: "cross",
|
|
3172
3360
|
size: "24px",
|
|
@@ -3190,7 +3378,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3190
3378
|
};
|
|
3191
3379
|
}
|
|
3192
3380
|
});
|
|
3193
|
-
const FdsModal = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-
|
|
3381
|
+
const FdsModal = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-8405e00f"]]);
|
|
3194
3382
|
const _hoisted_1$3 = { class: "my-6 flex items-between justify-between gap-2" };
|
|
3195
3383
|
const _hoisted_2$1 = { class: "flex items-center justify-start gap-1 w-[100px]" };
|
|
3196
3384
|
const _hoisted_3$1 = { class: "flex items-center justify-center w-auto gap-2 order-0 sm:order-0" };
|
|
@@ -3272,11 +3460,11 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3272
3460
|
return (_ctx, _cache) => {
|
|
3273
3461
|
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [
|
|
3274
3462
|
vue.createElementVNode("div", _hoisted_2$1, [
|
|
3275
|
-
_ctx.loading && loadingIndicator.value === "start" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3463
|
+
_ctx.loading && loadingIndicator.value === "start" ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
|
|
3276
3464
|
key: 0,
|
|
3277
3465
|
size: "32px",
|
|
3278
3466
|
color: "blue"
|
|
3279
|
-
})) : (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3467
|
+
})) : (vue.openBlock(), vue.createBlock(_sfc_main$r, {
|
|
3280
3468
|
key: 1,
|
|
3281
3469
|
icon: "first",
|
|
3282
3470
|
size: "24px",
|
|
@@ -3285,11 +3473,11 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3285
3473
|
class: vue.normalizeClass({ hidden: _ctx.current === 1 }),
|
|
3286
3474
|
onClick: _cache[0] || (_cache[0] = ($event) => handlePagination("start"))
|
|
3287
3475
|
}, null, 8, ["disabled", "ariaDisabled", "class"])),
|
|
3288
|
-
_ctx.loading && loadingIndicator.value === "prev" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3476
|
+
_ctx.loading && loadingIndicator.value === "prev" ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
|
|
3289
3477
|
key: 2,
|
|
3290
3478
|
size: "24px",
|
|
3291
3479
|
color: "blue"
|
|
3292
|
-
})) : (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3480
|
+
})) : (vue.openBlock(), vue.createBlock(_sfc_main$r, {
|
|
3293
3481
|
key: 3,
|
|
3294
3482
|
icon: "arrowLeft",
|
|
3295
3483
|
size: "24px",
|
|
@@ -3300,14 +3488,14 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3300
3488
|
}, null, 8, ["disabled", "ariaDisabled", "class"]))
|
|
3301
3489
|
]),
|
|
3302
3490
|
vue.createElementVNode("div", _hoisted_3$1, [
|
|
3303
|
-
_ctx.loading && loadingIndicator.value === "input" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3491
|
+
_ctx.loading && loadingIndicator.value === "input" ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
|
|
3304
3492
|
key: 0,
|
|
3305
3493
|
size: "24px",
|
|
3306
3494
|
color: "blue",
|
|
3307
3495
|
label: "Laddar",
|
|
3308
3496
|
"label-position": "right"
|
|
3309
3497
|
})) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
3310
|
-
vue.createVNode(_sfc_main$
|
|
3498
|
+
vue.createVNode(_sfc_main$l, {
|
|
3311
3499
|
value: internalValue.value.toString(),
|
|
3312
3500
|
type: "text",
|
|
3313
3501
|
size: _ctx.max.toString().length,
|
|
@@ -3319,11 +3507,11 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3319
3507
|
], 64))
|
|
3320
3508
|
]),
|
|
3321
3509
|
vue.createElementVNode("div", _hoisted_5$1, [
|
|
3322
|
-
_ctx.loading && loadingIndicator.value === "next" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3510
|
+
_ctx.loading && loadingIndicator.value === "next" ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
|
|
3323
3511
|
key: 0,
|
|
3324
3512
|
size: "24px",
|
|
3325
3513
|
color: "blue"
|
|
3326
|
-
})) : (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3514
|
+
})) : (vue.openBlock(), vue.createBlock(_sfc_main$r, {
|
|
3327
3515
|
key: 1,
|
|
3328
3516
|
icon: "arrowRight",
|
|
3329
3517
|
size: "24px",
|
|
@@ -3332,11 +3520,11 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3332
3520
|
class: vue.normalizeClass({ hidden: _ctx.current === _ctx.max }),
|
|
3333
3521
|
onClick: _cache[2] || (_cache[2] = ($event) => handlePagination("next"))
|
|
3334
3522
|
}, null, 8, ["disabled", "ariaDisabled", "class"])),
|
|
3335
|
-
_ctx.loading && loadingIndicator.value === "end" ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3523
|
+
_ctx.loading && loadingIndicator.value === "end" ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
|
|
3336
3524
|
key: 2,
|
|
3337
3525
|
size: "24px",
|
|
3338
3526
|
color: "blue"
|
|
3339
|
-
})) : (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3527
|
+
})) : (vue.openBlock(), vue.createBlock(_sfc_main$r, {
|
|
3340
3528
|
key: 3,
|
|
3341
3529
|
icon: "last",
|
|
3342
3530
|
size: "24px",
|
|
@@ -3350,7 +3538,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3350
3538
|
};
|
|
3351
3539
|
}
|
|
3352
3540
|
});
|
|
3353
|
-
const FdsPagination = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-
|
|
3541
|
+
const FdsPagination = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-df967fb4"]]);
|
|
3354
3542
|
const _hoisted_1$2 = { class: "block mb-4" };
|
|
3355
3543
|
const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
3356
3544
|
__name: "FdsTruncatedText",
|
|
@@ -3418,23 +3606,18 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
|
3418
3606
|
class: vue.normalizeClass(["content", { open: isOpen.value }]),
|
|
3419
3607
|
style: vue.normalizeStyle({ maxWidth: `${containerWidth.value}px` })
|
|
3420
3608
|
}, vue.toDisplayString(_ctx.content), 7)),
|
|
3421
|
-
shouldShowButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3609
|
+
shouldShowButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$m, {
|
|
3422
3610
|
key: 2,
|
|
3423
|
-
variant: "minor",
|
|
3424
3611
|
icon: isOpen.value ? "arrowUp" : "arrowDown",
|
|
3425
|
-
|
|
3612
|
+
iconPos: "right",
|
|
3613
|
+
text: isOpen.value ? _ctx.btnCollapse : _ctx.btnExpand,
|
|
3426
3614
|
onClick: toggleComponent
|
|
3427
|
-
},
|
|
3428
|
-
default: vue.withCtx(() => [
|
|
3429
|
-
vue.createTextVNode(vue.toDisplayString(isOpen.value ? _ctx.btnCollapse : _ctx.btnExpand), 1)
|
|
3430
|
-
]),
|
|
3431
|
-
_: 1
|
|
3432
|
-
}, 8, ["icon"])) : vue.createCommentVNode("", true)
|
|
3615
|
+
}, null, 8, ["icon", "text"])) : vue.createCommentVNode("", true)
|
|
3433
3616
|
]);
|
|
3434
3617
|
};
|
|
3435
3618
|
}
|
|
3436
3619
|
});
|
|
3437
|
-
const FdsTruncatedText = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-
|
|
3620
|
+
const FdsTruncatedText = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-7c1d8d51"]]);
|
|
3438
3621
|
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
3439
3622
|
__name: "FdsHeading",
|
|
3440
3623
|
props: {
|
|
@@ -3533,7 +3716,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
3533
3716
|
};
|
|
3534
3717
|
return (_ctx, _cache) => {
|
|
3535
3718
|
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
|
|
3536
|
-
_ctx.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
3719
|
+
_ctx.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
|
|
3537
3720
|
key: 0,
|
|
3538
3721
|
size: "24px",
|
|
3539
3722
|
color: "blue",
|
|
@@ -3549,20 +3732,22 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
3549
3732
|
});
|
|
3550
3733
|
const FdsVueCorePlugin = {
|
|
3551
3734
|
install(app) {
|
|
3552
|
-
app.component("FdsTreeView", _sfc_main$
|
|
3553
|
-
app.component("
|
|
3735
|
+
app.component("FdsTreeView", _sfc_main$j);
|
|
3736
|
+
app.component("FdsButtonPrimary", _sfc_main$i);
|
|
3737
|
+
app.component("FdsButtonSecondary", _sfc_main$h);
|
|
3738
|
+
app.component("FdsButtonMinor", _sfc_main$m);
|
|
3739
|
+
app.component("FdsButtonIcon", _sfc_main$r);
|
|
3740
|
+
app.component("FdsButtonCopy", _sfc_main$g);
|
|
3554
3741
|
app.component("FdsIcon", FdsIcon);
|
|
3555
|
-
app.component("FdsSpinner", _sfc_main$
|
|
3556
|
-
app.component("FdsRadio", _sfc_main$
|
|
3557
|
-
app.component("FdsCheckbox", _sfc_main$
|
|
3558
|
-
app.component("FdsTextarea", _sfc_main$
|
|
3559
|
-
app.component("FdsSelect", _sfc_main$
|
|
3742
|
+
app.component("FdsSpinner", _sfc_main$n);
|
|
3743
|
+
app.component("FdsRadio", _sfc_main$p);
|
|
3744
|
+
app.component("FdsCheckbox", _sfc_main$t);
|
|
3745
|
+
app.component("FdsTextarea", _sfc_main$f);
|
|
3746
|
+
app.component("FdsSelect", _sfc_main$e);
|
|
3560
3747
|
app.component("FdsTable", FdsTable);
|
|
3561
|
-
app.component("FdsTableHead", _sfc_main$
|
|
3562
|
-
app.component("FdsInput", _sfc_main$
|
|
3563
|
-
app.component("
|
|
3564
|
-
app.component("FdsCopyButton", _sfc_main$c);
|
|
3565
|
-
app.component("FdsContentBlock", _sfc_main$i);
|
|
3748
|
+
app.component("FdsTableHead", _sfc_main$c);
|
|
3749
|
+
app.component("FdsInput", _sfc_main$l);
|
|
3750
|
+
app.component("FdsContentBlock", _sfc_main$k);
|
|
3566
3751
|
app.component("FdsAlertBlock", FdsAlertBlock);
|
|
3567
3752
|
app.component("FdsExpanderBlock", FdsExpanderBlock);
|
|
3568
3753
|
app.component("FdsInteractionBlock", FdsInteractionBlock);
|
|
@@ -3574,36 +3759,38 @@ const FdsVueCorePlugin = {
|
|
|
3574
3759
|
app.component("FdsTruncatedText", FdsTruncatedText);
|
|
3575
3760
|
app.component("FdsHeading", _sfc_main$2);
|
|
3576
3761
|
app.component("FdsSeparator", FdsSeparator);
|
|
3577
|
-
app.component("FdsText", _sfc_main$
|
|
3762
|
+
app.component("FdsText", _sfc_main$q);
|
|
3578
3763
|
app.component("FdsListHeading", _sfc_main);
|
|
3579
3764
|
}
|
|
3580
3765
|
};
|
|
3581
3766
|
exports.FdsAlertBlock = FdsAlertBlock;
|
|
3582
|
-
exports.
|
|
3583
|
-
exports.
|
|
3584
|
-
exports.
|
|
3585
|
-
exports.
|
|
3767
|
+
exports.FdsButtonCopy = _sfc_main$g;
|
|
3768
|
+
exports.FdsButtonIcon = _sfc_main$r;
|
|
3769
|
+
exports.FdsButtonMinor = _sfc_main$m;
|
|
3770
|
+
exports.FdsButtonPrimary = _sfc_main$i;
|
|
3771
|
+
exports.FdsButtonSecondary = _sfc_main$h;
|
|
3772
|
+
exports.FdsCheckbox = _sfc_main$t;
|
|
3773
|
+
exports.FdsContentBlock = _sfc_main$k;
|
|
3586
3774
|
exports.FdsExpanderBlock = FdsExpanderBlock;
|
|
3587
3775
|
exports.FdsHeading = _sfc_main$2;
|
|
3588
3776
|
exports.FdsIcon = FdsIcon;
|
|
3589
|
-
exports.
|
|
3590
|
-
exports.FdsInput = _sfc_main$j;
|
|
3777
|
+
exports.FdsInput = _sfc_main$l;
|
|
3591
3778
|
exports.FdsInteractionBlock = FdsInteractionBlock;
|
|
3592
3779
|
exports.FdsListHeading = _sfc_main;
|
|
3593
3780
|
exports.FdsModal = FdsModal;
|
|
3594
3781
|
exports.FdsPagination = FdsPagination;
|
|
3595
|
-
exports.FdsRadio = _sfc_main$
|
|
3596
|
-
exports.FdsSelect = _sfc_main$
|
|
3782
|
+
exports.FdsRadio = _sfc_main$p;
|
|
3783
|
+
exports.FdsSelect = _sfc_main$e;
|
|
3597
3784
|
exports.FdsSeparator = FdsSeparator;
|
|
3598
|
-
exports.FdsSpinner = _sfc_main$
|
|
3785
|
+
exports.FdsSpinner = _sfc_main$n;
|
|
3599
3786
|
exports.FdsSticker = _sfc_main$8;
|
|
3600
3787
|
exports.FdsTable = FdsTable;
|
|
3601
|
-
exports.FdsTableHead = _sfc_main$
|
|
3788
|
+
exports.FdsTableHead = _sfc_main$c;
|
|
3602
3789
|
exports.FdsTabs = _sfc_main$7;
|
|
3603
3790
|
exports.FdsTabsItem = _sfc_main$6;
|
|
3604
|
-
exports.FdsText = _sfc_main$
|
|
3605
|
-
exports.FdsTextarea = _sfc_main$
|
|
3606
|
-
exports.FdsTreeView = _sfc_main$
|
|
3791
|
+
exports.FdsText = _sfc_main$q;
|
|
3792
|
+
exports.FdsTextarea = _sfc_main$f;
|
|
3793
|
+
exports.FdsTreeView = _sfc_main$j;
|
|
3607
3794
|
exports.FdsTruncatedText = FdsTruncatedText;
|
|
3608
3795
|
exports.default = FdsVueCorePlugin;
|
|
3609
3796
|
exports.useTreeState = useTreeState;
|