fds-vue-core 2.0.2 → 2.0.3

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.
Files changed (53) hide show
  1. package/dist/components/Blocks/FdsAlertBlock/FdsAlertBlock.vue.d.ts +1 -1
  2. package/dist/components/Buttons/{FdsButton/types.d.ts → ButtonBaseProps.d.ts} +4 -5
  3. package/dist/components/Buttons/ButtonBaseProps.d.ts.map +1 -0
  4. package/dist/components/Buttons/FdsButtonCopy/FdsButtonCopy.stories.d.ts +7 -0
  5. package/dist/components/Buttons/FdsButtonCopy/FdsButtonCopy.stories.d.ts.map +1 -0
  6. package/dist/components/Buttons/{FdsCopyButton/FdsCopyButton.vue.d.ts → FdsButtonCopy/FdsButtonCopy.vue.d.ts} +1 -1
  7. package/dist/components/Buttons/FdsButtonCopy/FdsButtonCopy.vue.d.ts.map +1 -0
  8. package/dist/components/Buttons/{FdsCopyButton → FdsButtonCopy}/types.d.ts +0 -1
  9. package/dist/components/Buttons/FdsButtonCopy/types.d.ts.map +1 -0
  10. package/dist/components/Buttons/FdsButtonIcon/FdsButtonIcon.stories.d.ts +7 -0
  11. package/dist/components/Buttons/FdsButtonIcon/FdsButtonIcon.stories.d.ts.map +1 -0
  12. package/dist/components/Buttons/{FdsIconButton/FdsIconButton.vue.d.ts → FdsButtonIcon/FdsButtonIcon.vue.d.ts} +1 -1
  13. package/dist/components/Buttons/FdsButtonIcon/FdsButtonIcon.vue.d.ts.map +1 -0
  14. package/dist/components/Buttons/{FdsIconButton → FdsButtonIcon}/types.d.ts +1 -2
  15. package/dist/components/Buttons/FdsButtonIcon/types.d.ts.map +1 -0
  16. package/dist/components/Buttons/FdsButtonMinor/FdsButtonMinor.stories.d.ts +7 -0
  17. package/dist/components/Buttons/FdsButtonMinor/FdsButtonMinor.stories.d.ts.map +1 -0
  18. package/dist/components/Buttons/FdsButtonMinor/FdsButtonMinor.vue.d.ts +23 -0
  19. package/dist/components/Buttons/FdsButtonMinor/FdsButtonMinor.vue.d.ts.map +1 -0
  20. package/dist/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.stories.d.ts +9 -0
  21. package/dist/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.stories.d.ts.map +1 -0
  22. package/dist/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.vue.d.ts +20 -0
  23. package/dist/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.vue.d.ts.map +1 -0
  24. package/dist/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.stories.d.ts +7 -0
  25. package/dist/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.stories.d.ts.map +1 -0
  26. package/dist/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.vue.d.ts +20 -0
  27. package/dist/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.vue.d.ts.map +1 -0
  28. package/dist/components/FdsModal/FdsModal.stories.d.ts.map +1 -1
  29. package/dist/components/FdsTreeView/TreeNode.vue.d.ts.map +1 -1
  30. package/dist/components/FdsTruncatedText/FdsTruncatedText.vue.d.ts.map +1 -1
  31. package/dist/components/Form/FdsInput/FdsInput.vue.d.ts.map +1 -1
  32. package/dist/components/Tabs/FdsTabs/FdsTabs.vue.d.ts +1 -1
  33. package/dist/fds-vue-core.cjs.js +398 -242
  34. package/dist/fds-vue-core.cjs.js.map +1 -1
  35. package/dist/fds-vue-core.css +15 -18
  36. package/dist/fds-vue-core.es.js +399 -243
  37. package/dist/fds-vue-core.es.js.map +1 -1
  38. package/dist/index.d.ts +10 -6
  39. package/dist/index.d.ts.map +1 -1
  40. package/package.json +1 -1
  41. package/dist/components/Buttons/FdsButton/FdsButton.stories.d.ts +0 -14
  42. package/dist/components/Buttons/FdsButton/FdsButton.stories.d.ts.map +0 -1
  43. package/dist/components/Buttons/FdsButton/FdsButton.vue.d.ts +0 -31
  44. package/dist/components/Buttons/FdsButton/FdsButton.vue.d.ts.map +0 -1
  45. package/dist/components/Buttons/FdsButton/types.d.ts.map +0 -1
  46. package/dist/components/Buttons/FdsCopyButton/FdsCopyButton.stories.d.ts +0 -9
  47. package/dist/components/Buttons/FdsCopyButton/FdsCopyButton.stories.d.ts.map +0 -1
  48. package/dist/components/Buttons/FdsCopyButton/FdsCopyButton.vue.d.ts.map +0 -1
  49. package/dist/components/Buttons/FdsCopyButton/types.d.ts.map +0 -1
  50. package/dist/components/Buttons/FdsIconButton/FdsIconButton.stories.d.ts +0 -9
  51. package/dist/components/Buttons/FdsIconButton/FdsIconButton.stories.d.ts.map +0 -1
  52. package/dist/components/Buttons/FdsIconButton/FdsIconButton.vue.d.ts.map +0 -1
  53. package/dist/components/Buttons/FdsIconButton/types.d.ts.map +0 -1
@@ -405,9 +405,9 @@ const useTreeState = (options = {}) => {
405
405
  isEmptySearchResult
406
406
  };
407
407
  };
408
- const _hoisted_1$k = ["id", "name", "value", "disabled", "required"];
408
+ const _hoisted_1$n = ["id", "name", "value", "disabled", "required"];
409
409
  const _hoisted_2$d = ["for"];
410
- const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
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$k), [
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$j = ["innerHTML"];
1006
- const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
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$j);
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$q, [["__scopeId", "data-v-e24163cd"]]);
1044
- const _hoisted_1$i = ["id", "type", "disabled", "aria-label", "aria-disabled"];
1045
- const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
1046
- __name: "FdsIconButton",
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$i);
1092
+ ], 10, _hoisted_1$l);
1093
1093
  };
1094
1094
  }
1095
1095
  });
1096
- const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
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$h = { class: "block p-[2px] mb-2 last:mb-0 relative min-h-[28px]" };
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$n = /* @__PURE__ */ vue.defineComponent({
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$h, [
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,21 @@ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
1177
1177
  };
1178
1178
  }
1179
1179
  });
1180
- const _hoisted_1$g = { class: "flex items-center" };
1180
+ const _hoisted_1$j = { class: "flex items-start" };
1181
1181
  const _hoisted_2$b = ["innerHTML"];
1182
- const _hoisted_3$a = { key: 1 };
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 = { key: 0 };
1190
+ const _hoisted_5$6 = { class: "flex flex-col gap-2" };
1191
+ const _hoisted_6$5 = { key: 0 };
1188
1192
  const popoverWidth = 327;
1189
1193
  const popoverHeight = 80;
1190
- const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
1194
+ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
1191
1195
  ...{
1192
1196
  name: "TreeNode"
1193
1197
  },
@@ -1370,30 +1374,30 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
1370
1374
  style: vue.normalizeStyle(indent.value),
1371
1375
  class: vue.normalizeClass("pt-2 pb-2")
1372
1376
  }, [
1373
- vue.createElementVNode("div", _hoisted_1$g, [
1374
- hasChildrenNodes.value ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
1377
+ vue.createElementVNode("div", _hoisted_1$j, [
1378
+ hasChildrenNodes.value ? (vue.openBlock(), vue.createBlock(_sfc_main$r, {
1375
1379
  key: 0,
1376
1380
  onClick: _cache[0] || (_cache[0] = ($event) => vue.unref(treeState)?.toggleExpandNode(props.nodeId)),
1377
1381
  ariaLabel: childrenToggleAriaLabel(props.title),
1378
1382
  icon: vue.unref(treeState)?.getNodeIcon(props.nodeId, props.nodeExpandIcon, props.nodeCollapseIcon) ?? props.nodeExpandIcon,
1379
- size: "20px",
1383
+ size: "24px",
1380
1384
  class: "fill-blue-500 mr-3"
1381
1385
  }, null, 8, ["ariaLabel", "icon"])) : vue.createCommentVNode("", true),
1382
1386
  !hasChildrenNodes.value ? (vue.openBlock(), vue.createElementBlock("div", {
1383
1387
  key: 1,
1384
1388
  style: vue.normalizeStyle({ minWidth: `${_ctx.indentation}px` })
1385
1389
  }, null, 4)) : vue.createCommentVNode("", true),
1386
- vue.createVNode(_sfc_main$r, {
1390
+ vue.createVNode(_sfc_main$t, {
1387
1391
  id: `checkbox-${props.nodeId}`,
1388
1392
  checked: vue.unref(treeState)?.isNodeSelected(props.nodeId),
1389
1393
  indeterminate: _ctx.showIndeterminate && (vue.unref(treeState)?.isNodeIndeterminateById(props.nodeId) ?? false),
1390
1394
  onChange: _cache[1] || (_cache[1] = ($event) => vue.unref(treeState)?.toggleSelectNode(props.nodeId, props.title, props.data)),
1391
- class: "pl-0 flex-1 flex items-center"
1395
+ class: "pl-0 flex-1 flex items-start"
1392
1396
  }, {
1393
1397
  default: vue.withCtx(() => [
1394
1398
  vue.createElementVNode("div", null, [
1395
1399
  _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$o, {
1400
+ _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
1401
  key: 0,
1398
1402
  type: "default"
1399
1403
  }, {
@@ -1403,8 +1407,9 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
1403
1407
  }, null, 8, _hoisted_2$b)
1404
1408
  ]),
1405
1409
  _: 1
1406
- })) : (vue.openBlock(), vue.createBlock(_sfc_main$o, {
1410
+ })) : (vue.openBlock(), vue.createBlock(_sfc_main$q, {
1407
1411
  key: 1,
1412
+ style: { "line-height": "25px" },
1408
1413
  type: "default"
1409
1414
  }, {
1410
1415
  default: vue.withCtx(() => [
@@ -1419,7 +1424,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
1419
1424
  _: 1
1420
1425
  }, 8, ["id", "checked", "indeterminate"]),
1421
1426
  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$p, {
1427
+ vue.createVNode(_sfc_main$r, {
1423
1428
  ref_key: "triggerRef",
1424
1429
  ref: triggerRef,
1425
1430
  icon: "more",
@@ -1447,13 +1452,12 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
1447
1452
  }, ["stop"])),
1448
1453
  onFocusout: onPanelFocusOut
1449
1454
  }, [
1450
- vue.createElementVNode("div", null, [
1455
+ vue.createElementVNode("div", _hoisted_5$6, [
1451
1456
  (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(options, (option) => {
1452
1457
  return vue.createElementVNode("div", {
1453
- key: option.value,
1454
- class: "flex align-center gap-2 justify-between"
1458
+ key: option.value
1455
1459
  }, [
1456
- vue.createVNode(_sfc_main$n, {
1460
+ vue.createVNode(_sfc_main$p, {
1457
1461
  checked: currentOption.value === option.value,
1458
1462
  id: `tree-popover-${props.nodeId}-${option.value}`,
1459
1463
  name: `tree-popover-${props.nodeId}`,
@@ -1473,7 +1477,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
1473
1477
  ]);
1474
1478
  }), 64))
1475
1479
  ]),
1476
- vue.createVNode(_sfc_main$p, {
1480
+ vue.createVNode(_sfc_main$r, {
1477
1481
  icon: "cross",
1478
1482
  id: "tree-popover-close-button",
1479
1483
  size: "24px",
@@ -1486,7 +1490,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
1486
1490
  ])) : vue.createCommentVNode("", true)
1487
1491
  ])
1488
1492
  ], 4),
1489
- vue.unref(expandedNodes).has(props.nodeId) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$6, [
1493
+ vue.unref(expandedNodes).has(props.nodeId) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$5, [
1490
1494
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(filteredNodes.value, (child) => {
1491
1495
  return vue.openBlock(), vue.createBlock(_component_TreeNode, {
1492
1496
  key: child.nodeId,
@@ -1533,8 +1537,8 @@ function useElementFinalSize(elementRef, onFinalSize, delay = 100) {
1533
1537
  onCleanup(() => clearTimeout(timeoutId));
1534
1538
  });
1535
1539
  }
1536
- const _hoisted_1$f = ["aria-label"];
1537
- const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
1540
+ const _hoisted_1$i = ["aria-label"];
1541
+ const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({
1538
1542
  __name: "FdsSpinner",
1539
1543
  props: {
1540
1544
  size: { default: "48px" },
@@ -1606,23 +1610,24 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
1606
1610
  key: 0,
1607
1611
  class: vue.normalizeClass(_ctx.labelPosition === "bottom" ? "font-bold" : "")
1608
1612
  }, vue.toDisplayString(_ctx.label), 3)) : vue.createCommentVNode("", true)
1609
- ], 10, _hoisted_1$f);
1613
+ ], 10, _hoisted_1$i);
1610
1614
  };
1611
1615
  }
1612
1616
  });
1613
- const _hoisted_1$e = ["aria-disabled"];
1614
- 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";
1615
- const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
1616
- __name: "FdsButton",
1617
+ const _hoisted_1$h = ["aria-disabled"];
1618
+ 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";
1619
+ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
1620
+ __name: "FdsButtonMinor",
1617
1621
  props: {
1618
- variant: { default: "primary" },
1622
+ invert: { type: Boolean, default: false },
1623
+ text: {},
1619
1624
  loading: { type: Boolean, default: false },
1620
1625
  disabled: { type: Boolean, default: false },
1621
1626
  block: { type: Boolean, default: false },
1622
1627
  state: { default: void 0 },
1623
1628
  icon: { default: void 0 },
1624
1629
  iconPos: { default: "left" },
1625
- size: { default: "m" },
1630
+ size: {},
1626
1631
  textSelection: { type: Boolean, default: false },
1627
1632
  as: { default: "button" },
1628
1633
  href: { default: void 0 },
@@ -1632,39 +1637,25 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
1632
1637
  setup(__props, { emit: __emit }) {
1633
1638
  const props = __props;
1634
1639
  const emit = __emit;
1635
- const slots = vue.useSlots();
1636
1640
  const rootClasses = vue.computed(() => [
1637
1641
  "inline-block transition-opacity duration-200",
1638
1642
  props.disabled && "opacity-20 pointer-events-none",
1639
1643
  props.block && "block w-full"
1640
1644
  ]);
1641
- const sizeClasses = {
1642
- s: "text-sm h-7 px-3",
1643
- m: "text-base h-12 px-4",
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
- };
1645
+ const variantClasses2 = vue.computed(
1646
+ () => 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"
1647
+ );
1652
1648
  const blockElClasses = vue.computed(() => props.block && "w-full justify-center");
1653
- const onlyIcon = vue.computed(() => !slots.default || String(slots.default()).trim() === "");
1654
1649
  const iconOrderClasses = vue.computed(
1655
1650
  () => props.icon && props.iconPos === "right" ? "order-2 ml-2 mr-0" : props.icon && "mr-2"
1656
1651
  );
1657
1652
  const buttonClasses = vue.computed(() => [
1658
- elBase,
1659
- sizeClasses[props.size],
1660
- variantClasses[props.variant],
1653
+ elBase$2,
1654
+ variantClasses2.value,
1661
1655
  blockElClasses.value,
1662
- props.textSelection && "select-text",
1663
- onlyIcon.value ? "" : ""
1656
+ props.textSelection && "select-text"
1664
1657
  ]);
1665
- const iconFillClass = vue.computed(
1666
- () => props.variant === "primary" || props.variant === "minor-invert" ? "fill-white" : "fill-blue-500"
1667
- );
1658
+ const iconFillClass2 = vue.computed(() => props.invert ? "fill-white" : "fill-blue-500");
1668
1659
  function onClick(ev) {
1669
1660
  if (props.disabled || props.loading) {
1670
1661
  ev.preventDefault();
@@ -1677,15 +1668,14 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
1677
1668
  class: vue.normalizeClass(rootClasses.value),
1678
1669
  "aria-disabled": _ctx.disabled ? "true" : null
1679
1670
  }, [
1680
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.as), {
1681
- href: _ctx.as === "a" ? _ctx.href : void 0,
1671
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.as), vue.mergeProps({ href: _ctx.as === "a" ? _ctx.href : void 0, to: _ctx.as === "router-link" ? _ctx.href : void 0 }, {
1682
1672
  type: _ctx.as === "button" ? _ctx.type : void 0,
1683
1673
  disabled: _ctx.as === "button" ? _ctx.disabled : void 0,
1684
- class: vue.normalizeClass(buttonClasses.value),
1674
+ class: buttonClasses.value,
1685
1675
  onClick
1686
- }, {
1676
+ }), {
1687
1677
  default: vue.withCtx(() => [
1688
- _ctx.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$l, {
1678
+ _ctx.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
1689
1679
  key: 0,
1690
1680
  class: "mr-2",
1691
1681
  size: "24px",
@@ -1696,20 +1686,20 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
1696
1686
  "aria-hidden": "true"
1697
1687
  }, [
1698
1688
  vue.createVNode(FdsIcon, {
1699
- class: vue.normalizeClass(iconFillClass.value),
1689
+ class: vue.normalizeClass(iconFillClass2.value),
1700
1690
  name: _ctx.icon,
1701
1691
  size: 24
1702
1692
  }, null, 8, ["class", "name"])
1703
1693
  ], 2)) : vue.createCommentVNode("", true),
1704
- vue.renderSlot(_ctx.$slots, "default")
1694
+ vue.createTextVNode(" " + vue.toDisplayString(_ctx.text), 1)
1705
1695
  ]),
1706
- _: 3
1707
- }, 8, ["href", "type", "disabled", "class"]))
1708
- ], 10, _hoisted_1$e);
1696
+ _: 1
1697
+ }, 16, ["type", "disabled", "class"]))
1698
+ ], 10, _hoisted_1$h);
1709
1699
  };
1710
1700
  }
1711
1701
  });
1712
- const _hoisted_1$d = { class: "flex flex-col" };
1702
+ const _hoisted_1$g = { class: "flex flex-col" };
1713
1703
  const _hoisted_2$a = ["for"];
1714
1704
  const _hoisted_3$9 = { class: "w-full" };
1715
1705
  const _hoisted_4$7 = { class: "relative" };
@@ -1718,7 +1708,7 @@ const _hoisted_6$4 = {
1718
1708
  key: 0,
1719
1709
  class: "text-red-600 font-bold mt-1"
1720
1710
  };
1721
- const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
1711
+ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
1722
1712
  __name: "FdsInput",
1723
1713
  props: {
1724
1714
  value: { default: "" },
@@ -1752,7 +1742,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
1752
1742
  const isInvalid = vue.computed(() => props.valid === "false" && !props.optional && !props.disabled);
1753
1743
  const isValid = vue.computed(() => props.valid === "true");
1754
1744
  const showPasswordToggle = vue.computed(
1755
- () => isPasswordType.value && hasPasswordLabels.value && internalValue.value.length > 0
1745
+ () => isPasswordType.value && internalValue.value.length > 0
1756
1746
  );
1757
1747
  const inputClasses = vue.computed(() => [
1758
1748
  "block w-full rounded-md border border-gray-300 px-3 py-2",
@@ -1780,24 +1770,15 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
1780
1770
  }
1781
1771
  const showPassword = vue.ref(false);
1782
1772
  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
1773
  function toggleShowPassword() {
1790
1774
  showPassword.value = !showPassword.value;
1791
1775
  }
1792
- const hasPasswordLabels = vue.computed(
1793
- () => Array.isArray(props.passwordLabels) && props.passwordLabels.some((l) => (l ?? "").toString().trim().length > 0)
1794
- );
1795
1776
  return (_ctx, _cache) => {
1796
1777
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
1797
1778
  vue.createElementVNode("div", {
1798
1779
  class: vue.normalizeClass(["w-full", { "flex flex-row gap-4": _ctx.labelLeft }])
1799
1780
  }, [
1800
- vue.createElementVNode("div", _hoisted_1$d, [
1781
+ vue.createElementVNode("div", _hoisted_1$g, [
1801
1782
  _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
1802
1783
  key: 0,
1803
1784
  for: inputId.value,
@@ -1836,23 +1817,18 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
1836
1817
  key: 1,
1837
1818
  name: "bigSuccess"
1838
1819
  })) : vue.createCommentVNode("", true),
1839
- _ctx.clearButton && !!internalValue.value && !_ctx.disabled ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
1820
+ _ctx.clearButton && !!internalValue.value && !_ctx.disabled ? (vue.openBlock(), vue.createBlock(_sfc_main$r, {
1840
1821
  key: 2,
1841
1822
  icon: "cross",
1842
1823
  ariaLabel: clearButtonLabel.value,
1843
1824
  onClick: onClear
1844
1825
  }, null, 8, ["ariaLabel"])) : vue.createCommentVNode("", true),
1845
- showPasswordToggle.value ? (vue.openBlock(), vue.createBlock(_sfc_main$k, {
1826
+ showPasswordToggle.value ? (vue.openBlock(), vue.createBlock(_sfc_main$m, {
1846
1827
  key: 3,
1847
- variant: "minor",
1848
1828
  icon: showPassword.value ? "viewOff" : "viewOn",
1829
+ text: "",
1849
1830
  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)
1831
+ }, null, 8, ["icon"])) : vue.createCommentVNode("", true)
1856
1832
  ], 2)
1857
1833
  ])
1858
1834
  ])
@@ -1862,7 +1838,7 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
1862
1838
  };
1863
1839
  }
1864
1840
  });
1865
- const _hoisted_1$c = ["id"];
1841
+ const _hoisted_1$f = ["id"];
1866
1842
  const _hoisted_2$9 = {
1867
1843
  key: 0,
1868
1844
  class: "flex items-start gap-4"
@@ -1876,7 +1852,7 @@ const _hoisted_8$1 = { class: "flex items-center gap-3" };
1876
1852
  const _hoisted_9$1 = { class: "flex items-start gap-3" };
1877
1853
  const smallIconSize = 24;
1878
1854
  const largeIconSize = 48;
1879
- const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
1855
+ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
1880
1856
  __name: "FdsContentBlock",
1881
1857
  props: {
1882
1858
  variant: { default: "primary" },
@@ -1982,11 +1958,11 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
1982
1958
  ], 2),
1983
1959
  vue.renderSlot(_ctx.$slots, "default")
1984
1960
  ]))
1985
- ], 14, _hoisted_1$c);
1961
+ ], 14, _hoisted_1$f);
1986
1962
  };
1987
1963
  }
1988
1964
  });
1989
- const _hoisted_1$b = { key: 0 };
1965
+ const _hoisted_1$e = { key: 0 };
1990
1966
  const _hoisted_2$8 = {
1991
1967
  key: 0,
1992
1968
  class: "text-xl"
@@ -1995,7 +1971,7 @@ const _hoisted_3$7 = {
1995
1971
  key: 1,
1996
1972
  class: "text-xl"
1997
1973
  };
1998
- const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
1974
+ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
1999
1975
  __name: "FdsTreeView",
2000
1976
  props: {
2001
1977
  nodeExpandIcon: {},
@@ -2076,7 +2052,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
2076
2052
  ref: searchContainerRef,
2077
2053
  class: "pb-4"
2078
2054
  }, [
2079
- vue.createVNode(_sfc_main$j, {
2055
+ vue.createVNode(_sfc_main$l, {
2080
2056
  value: vue.unref(treeState)?.searchTerm?.value ?? "",
2081
2057
  onInput: _cache[0] || (_cache[0] = ($event) => vue.unref(treeState)?.setSearchTerm($event.target.value)),
2082
2058
  class: "w-full",
@@ -2089,11 +2065,11 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
2089
2065
  ])]),
2090
2066
  _: 1
2091
2067
  }, 8, ["value", "label"]),
2092
- props.searchCountTemplate || props.searchCountTemplateUnfiltered ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
2068
+ props.searchCountTemplate || props.searchCountTemplateUnfiltered ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [
2093
2069
  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
2070
  ])) : vue.createCommentVNode("", true)
2095
2071
  ], 512)) : vue.createCommentVNode("", true),
2096
- vue.unref(treeState)?.isEmptySearchResult?.value ? (vue.openBlock(), vue.createBlock(_sfc_main$i, {
2072
+ vue.unref(treeState)?.isEmptySearchResult?.value ? (vue.openBlock(), vue.createBlock(_sfc_main$k, {
2097
2073
  key: 1,
2098
2074
  variant: "secondary",
2099
2075
  icon: "information",
@@ -2103,7 +2079,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
2103
2079
  vue.createTextVNode(vue.toDisplayString(props.searchResultNoMatchesTitle), 1)
2104
2080
  ]),
2105
2081
  default: vue.withCtx(() => [
2106
- vue.createVNode(_sfc_main$o, null, {
2082
+ vue.createVNode(_sfc_main$q, null, {
2107
2083
  default: vue.withCtx(() => [
2108
2084
  vue.createTextVNode(vue.toDisplayString(props.searchResultNoMatchesBody), 1)
2109
2085
  ]),
@@ -2115,7 +2091,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
2115
2091
  vue.createElementVNode("div", {
2116
2092
  class: vue.normalizeClass(["rounded-md", { "overflow-x-auto bg-white-solid": props.horizontalScroll }])
2117
2093
  }, [
2118
- props.data && !vue.unref(treeState)?.isEmptySearchResult?.value ? (vue.openBlock(), vue.createBlock(_sfc_main$m, {
2094
+ props.data && !vue.unref(treeState)?.isEmptySearchResult?.value ? (vue.openBlock(), vue.createBlock(_sfc_main$o, {
2119
2095
  key: 0,
2120
2096
  style: { container: "bg-white-solid px-3 py-2" },
2121
2097
  nodes: props.data.children || [],
@@ -2146,6 +2122,264 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
2146
2122
  };
2147
2123
  }
2148
2124
  });
2125
+ const _hoisted_1$d = ["aria-disabled"];
2126
+ 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";
2127
+ const variantClasses$1 = "bg-red-600 border border-red-700 text-white hover:bg-red-700 active:bg-red-800 active:border-red-800";
2128
+ const iconFillClass$1 = "fill-white";
2129
+ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
2130
+ __name: "FdsButtonPrimary",
2131
+ props: {
2132
+ text: {},
2133
+ loading: { type: Boolean, default: false },
2134
+ disabled: { type: Boolean, default: false },
2135
+ block: { type: Boolean, default: false },
2136
+ state: { default: void 0 },
2137
+ icon: { default: void 0 },
2138
+ iconPos: { default: "left" },
2139
+ size: { default: "m" },
2140
+ textSelection: { type: Boolean, default: false },
2141
+ as: { default: "button" },
2142
+ href: { default: void 0 },
2143
+ type: { default: "button" }
2144
+ },
2145
+ emits: ["click"],
2146
+ setup(__props, { emit: __emit }) {
2147
+ const props = __props;
2148
+ const emit = __emit;
2149
+ const rootClasses = vue.computed(() => [
2150
+ "inline-block transition-opacity duration-200",
2151
+ props.disabled && "opacity-20 pointer-events-none",
2152
+ props.block && "block w-full"
2153
+ ]);
2154
+ const sizeClasses = {
2155
+ s: "text-sm h-7 px-3",
2156
+ m: "text-base h-12 px-4",
2157
+ l: "text-lg h-[68px] px-6"
2158
+ };
2159
+ const blockElClasses = vue.computed(() => props.block && "w-full justify-center");
2160
+ const iconOrderClasses = vue.computed(
2161
+ () => props.icon && props.iconPos === "right" ? "order-2 ml-2 mr-0" : props.icon && "mr-2"
2162
+ );
2163
+ const buttonClasses = vue.computed(() => [
2164
+ elBase$1,
2165
+ sizeClasses[props.size || "m"],
2166
+ variantClasses$1,
2167
+ blockElClasses.value,
2168
+ props.textSelection && "select-text"
2169
+ ]);
2170
+ function onClick(ev) {
2171
+ if (props.disabled || props.loading) {
2172
+ ev.preventDefault();
2173
+ return;
2174
+ }
2175
+ emit("click", ev);
2176
+ }
2177
+ return (_ctx, _cache) => {
2178
+ return vue.openBlock(), vue.createElementBlock("div", {
2179
+ class: vue.normalizeClass(rootClasses.value),
2180
+ "aria-disabled": _ctx.disabled ? "true" : null
2181
+ }, [
2182
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.as), {
2183
+ href: _ctx.as === "a" ? _ctx.href : void 0,
2184
+ type: _ctx.as === "button" ? _ctx.type : void 0,
2185
+ disabled: _ctx.as === "button" ? _ctx.disabled : void 0,
2186
+ class: vue.normalizeClass(buttonClasses.value),
2187
+ onClick
2188
+ }, {
2189
+ default: vue.withCtx(() => [
2190
+ _ctx.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
2191
+ key: 0,
2192
+ class: "mr-2",
2193
+ size: "24px",
2194
+ color: "inherit"
2195
+ })) : _ctx.icon ? (vue.openBlock(), vue.createElementBlock("span", {
2196
+ key: 1,
2197
+ class: vue.normalizeClass(iconOrderClasses.value),
2198
+ "aria-hidden": "true"
2199
+ }, [
2200
+ vue.createVNode(FdsIcon, {
2201
+ class: vue.normalizeClass(iconFillClass$1),
2202
+ name: _ctx.icon,
2203
+ size: 24
2204
+ }, null, 8, ["name"])
2205
+ ], 2)) : vue.createCommentVNode("", true),
2206
+ vue.createTextVNode(" " + vue.toDisplayString(_ctx.text), 1)
2207
+ ]),
2208
+ _: 1
2209
+ }, 8, ["href", "type", "disabled", "class"]))
2210
+ ], 10, _hoisted_1$d);
2211
+ };
2212
+ }
2213
+ });
2214
+ const _hoisted_1$c = ["aria-disabled"];
2215
+ 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";
2216
+ 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";
2217
+ const iconFillClass = "fill-blue-500";
2218
+ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
2219
+ __name: "FdsButtonSecondary",
2220
+ props: {
2221
+ text: {},
2222
+ loading: { type: Boolean, default: false },
2223
+ disabled: { type: Boolean, default: false },
2224
+ block: { type: Boolean, default: false },
2225
+ state: { default: void 0 },
2226
+ icon: { default: void 0 },
2227
+ iconPos: { default: "left" },
2228
+ size: { default: "m" },
2229
+ textSelection: { type: Boolean, default: false },
2230
+ as: { default: "button" },
2231
+ href: { default: void 0 },
2232
+ type: { default: "button" }
2233
+ },
2234
+ emits: ["click"],
2235
+ setup(__props, { emit: __emit }) {
2236
+ const props = __props;
2237
+ const emit = __emit;
2238
+ const rootClasses = vue.computed(() => [
2239
+ "inline-block transition-opacity duration-200",
2240
+ props.disabled && "opacity-20 pointer-events-none",
2241
+ props.block && "block w-full"
2242
+ ]);
2243
+ const sizeClasses = {
2244
+ s: "text-sm h-7 px-3",
2245
+ m: "text-base h-12 px-4",
2246
+ l: "text-lg h-[68px] px-6"
2247
+ };
2248
+ const blockElClasses = vue.computed(() => props.block && "w-full justify-center");
2249
+ const iconOrderClasses = vue.computed(
2250
+ () => props.icon && props.iconPos === "right" ? "order-2 ml-2 mr-0" : props.icon && "mr-2"
2251
+ );
2252
+ const buttonClasses = vue.computed(() => [
2253
+ elBase,
2254
+ sizeClasses[props.size || "m"],
2255
+ variantClasses,
2256
+ blockElClasses.value,
2257
+ props.textSelection && "select-text"
2258
+ ]);
2259
+ function onClick(ev) {
2260
+ if (props.disabled || props.loading) {
2261
+ ev.preventDefault();
2262
+ return;
2263
+ }
2264
+ emit("click", ev);
2265
+ }
2266
+ return (_ctx, _cache) => {
2267
+ return vue.openBlock(), vue.createElementBlock("div", {
2268
+ class: vue.normalizeClass(rootClasses.value),
2269
+ "aria-disabled": _ctx.disabled ? "true" : null
2270
+ }, [
2271
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.as), {
2272
+ href: _ctx.as === "a" ? _ctx.href : void 0,
2273
+ type: _ctx.as === "button" ? _ctx.type : void 0,
2274
+ disabled: _ctx.as === "button" ? _ctx.disabled : void 0,
2275
+ class: vue.normalizeClass(buttonClasses.value),
2276
+ onClick
2277
+ }, {
2278
+ default: vue.withCtx(() => [
2279
+ _ctx.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
2280
+ key: 0,
2281
+ class: "mr-2",
2282
+ size: "24px",
2283
+ color: "inherit"
2284
+ })) : _ctx.icon ? (vue.openBlock(), vue.createElementBlock("span", {
2285
+ key: 1,
2286
+ class: vue.normalizeClass(iconOrderClasses.value),
2287
+ "aria-hidden": "true"
2288
+ }, [
2289
+ vue.createVNode(FdsIcon, {
2290
+ class: vue.normalizeClass(iconFillClass),
2291
+ name: _ctx.icon,
2292
+ size: 24
2293
+ }, null, 8, ["name"])
2294
+ ], 2)) : vue.createCommentVNode("", true),
2295
+ vue.createTextVNode(" " + vue.toDisplayString(_ctx.text), 1)
2296
+ ]),
2297
+ _: 1
2298
+ }, 8, ["href", "type", "disabled", "class"]))
2299
+ ], 10, _hoisted_1$c);
2300
+ };
2301
+ }
2302
+ });
2303
+ const _hoisted_1$b = {
2304
+ key: 0,
2305
+ class: "flex items-center gap-2 h-7"
2306
+ };
2307
+ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
2308
+ __name: "FdsButtonCopy",
2309
+ props: {
2310
+ value: { default: "" },
2311
+ targetId: {},
2312
+ label: { default: "Kopiera" },
2313
+ copiedLabel: { default: "Kopierat!" },
2314
+ timeoutMs: { default: 800 },
2315
+ disabled: { type: Boolean, default: false }
2316
+ },
2317
+ emits: ["click"],
2318
+ setup(__props) {
2319
+ const props = __props;
2320
+ const isCopied = vue.ref(false);
2321
+ let resetTimer = null;
2322
+ async function copyToClipboard(text) {
2323
+ try {
2324
+ if (navigator.clipboard && navigator.clipboard.writeText) {
2325
+ await navigator.clipboard.writeText(text);
2326
+ return true;
2327
+ }
2328
+ } catch {
2329
+ }
2330
+ const textarea = document.createElement("textarea");
2331
+ textarea.value = text;
2332
+ textarea.style.position = "fixed";
2333
+ textarea.style.opacity = "0";
2334
+ document.body.appendChild(textarea);
2335
+ textarea.focus();
2336
+ textarea.select();
2337
+ let ok = false;
2338
+ try {
2339
+ ok = document.execCommand("copy");
2340
+ } catch {
2341
+ ok = false;
2342
+ }
2343
+ document.body.removeChild(textarea);
2344
+ return ok;
2345
+ }
2346
+ async function onClick() {
2347
+ if (props.disabled) return;
2348
+ let textToCopy = props.value;
2349
+ if (props.targetId) {
2350
+ const el = document.getElementById(props.targetId);
2351
+ if (el) {
2352
+ textToCopy = el.innerText || el.textContent || "";
2353
+ }
2354
+ }
2355
+ if (!textToCopy) return;
2356
+ const ok = await copyToClipboard(textToCopy);
2357
+ if (!ok) return;
2358
+ isCopied.value = true;
2359
+ if (resetTimer) clearTimeout(resetTimer);
2360
+ resetTimer = setTimeout(() => isCopied.value = false, props.timeoutMs);
2361
+ }
2362
+ vue.onMounted(() => {
2363
+ if (resetTimer) {
2364
+ clearTimeout(resetTimer);
2365
+ resetTimer = null;
2366
+ }
2367
+ });
2368
+ return (_ctx, _cache) => {
2369
+ return isCopied.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
2370
+ vue.createVNode(FdsIcon, { name: "bigSuccess" }),
2371
+ vue.createElementVNode("span", null, vue.toDisplayString(props.copiedLabel), 1)
2372
+ ])) : (vue.openBlock(), vue.createBlock(_sfc_main$m, {
2373
+ key: 1,
2374
+ type: "button",
2375
+ disabled: props.disabled,
2376
+ icon: "copy",
2377
+ text: isCopied.value ? props.copiedLabel : props.label,
2378
+ onClick
2379
+ }, null, 8, ["disabled", "text"]));
2380
+ };
2381
+ }
2382
+ });
2149
2383
  const _hoisted_1$a = { class: "w-full" };
2150
2384
  const _hoisted_2$7 = ["for"];
2151
2385
  const _hoisted_3$6 = {
@@ -2162,7 +2396,7 @@ const _hoisted_7$1 = {
2162
2396
  key: 0,
2163
2397
  class: "sr-only"
2164
2398
  };
2165
- const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
2399
+ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
2166
2400
  __name: "FdsTextarea",
2167
2401
  props: {
2168
2402
  value: { default: "" },
@@ -2269,7 +2503,7 @@ const _hoisted_9 = {
2269
2503
  key: 2,
2270
2504
  class: "text-red-600 font-bold mt-1"
2271
2505
  };
2272
- const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
2506
+ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
2273
2507
  __name: "FdsSelect",
2274
2508
  props: {
2275
2509
  value: { default: "" },
@@ -2363,7 +2597,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
2363
2597
  };
2364
2598
  }
2365
2599
  });
2366
- const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
2600
+ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
2367
2601
  __name: "FdsTable",
2368
2602
  props: {
2369
2603
  bordered: { type: Boolean, default: false },
@@ -2385,8 +2619,8 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
2385
2619
  };
2386
2620
  }
2387
2621
  });
2388
- const FdsTable = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-9bc82042"]]);
2389
- const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
2622
+ const FdsTable = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-9bc82042"]]);
2623
+ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
2390
2624
  __name: "FdsTableHead",
2391
2625
  props: {
2392
2626
  sortable: { type: Boolean, default: false },
@@ -2430,83 +2664,6 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
2430
2664
  };
2431
2665
  }
2432
2666
  });
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
2667
  const _hoisted_1$8 = ["id"];
2511
2668
  const _hoisted_2$5 = { class: "flex items-center gap-2" };
2512
2669
  const _hoisted_3$4 = { class: "relative" };
@@ -2541,7 +2698,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
2541
2698
  isVisible.value = v;
2542
2699
  }
2543
2700
  );
2544
- const variantClasses = {
2701
+ const variantClasses2 = {
2545
2702
  info: "bg-blue_t-100",
2546
2703
  warning: "bg-yellow-200 border-yellow-300"
2547
2704
  };
@@ -2549,7 +2706,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
2549
2706
  info: "information",
2550
2707
  warning: "alert"
2551
2708
  };
2552
- const alertClasses = vue.computed(() => ["rounded-md p-4", variantClasses[props.variant]]);
2709
+ const alertClasses = vue.computed(() => ["rounded-md p-4", variantClasses2[props.variant]]);
2553
2710
  const autoId = `fds-alert-${Math.random().toString(36).slice(2, 9)}`;
2554
2711
  const alertId = vue.computed(() => props.id ?? autoId);
2555
2712
  const iconName = vue.computed(() => iconMap[props.variant]);
@@ -2585,7 +2742,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
2585
2742
  vue.createElementVNode("span", null, vue.toDisplayString(_ctx.label), 1)
2586
2743
  ]),
2587
2744
  vue.createElementVNode("div", _hoisted_3$4, [
2588
- _ctx.closeable ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
2745
+ _ctx.closeable ? (vue.openBlock(), vue.createBlock(_sfc_main$r, {
2589
2746
  key: 0,
2590
2747
  icon: "cross",
2591
2748
  size: "24px",
@@ -2593,7 +2750,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
2593
2750
  ariaLabel: closeLabel.value,
2594
2751
  class: vue.normalizeClass(["fill-gray-900! hover:bg-gray-100 active:bg-gray-200"])
2595
2752
  }, null, 8, ["ariaLabel"])) : vue.createCommentVNode("", true),
2596
- _ctx.collapsable ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
2753
+ _ctx.collapsable ? (vue.openBlock(), vue.createBlock(_sfc_main$r, {
2597
2754
  key: 1,
2598
2755
  icon: "arrowDown",
2599
2756
  size: "24px",
@@ -2616,7 +2773,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
2616
2773
  };
2617
2774
  }
2618
2775
  });
2619
- const FdsAlertBlock = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-38596eb2"]]);
2776
+ const FdsAlertBlock = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-6aea4869"]]);
2620
2777
  const _hoisted_1$7 = { class: "inline-flex items-center" };
2621
2778
  const _hoisted_2$4 = {
2622
2779
  key: 0,
@@ -3166,7 +3323,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
3166
3323
  }, null, 8, ["name", "class"])) : vue.createCommentVNode("", true),
3167
3324
  vue.createTextVNode(" " + vue.toDisplayString(_ctx.heading), 1)
3168
3325
  ], 2),
3169
- !_ctx.strict ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
3326
+ !_ctx.strict ? (vue.openBlock(), vue.createBlock(_sfc_main$r, {
3170
3327
  key: 0,
3171
3328
  icon: "cross",
3172
3329
  size: "24px",
@@ -3190,7 +3347,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
3190
3347
  };
3191
3348
  }
3192
3349
  });
3193
- const FdsModal = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-8b32a4a7"]]);
3350
+ const FdsModal = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-8405e00f"]]);
3194
3351
  const _hoisted_1$3 = { class: "my-6 flex items-between justify-between gap-2" };
3195
3352
  const _hoisted_2$1 = { class: "flex items-center justify-start gap-1 w-[100px]" };
3196
3353
  const _hoisted_3$1 = { class: "flex items-center justify-center w-auto gap-2 order-0 sm:order-0" };
@@ -3272,11 +3429,11 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
3272
3429
  return (_ctx, _cache) => {
3273
3430
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [
3274
3431
  vue.createElementVNode("div", _hoisted_2$1, [
3275
- _ctx.loading && loadingIndicator.value === "start" ? (vue.openBlock(), vue.createBlock(_sfc_main$l, {
3432
+ _ctx.loading && loadingIndicator.value === "start" ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
3276
3433
  key: 0,
3277
3434
  size: "32px",
3278
3435
  color: "blue"
3279
- })) : (vue.openBlock(), vue.createBlock(_sfc_main$p, {
3436
+ })) : (vue.openBlock(), vue.createBlock(_sfc_main$r, {
3280
3437
  key: 1,
3281
3438
  icon: "first",
3282
3439
  size: "24px",
@@ -3285,11 +3442,11 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
3285
3442
  class: vue.normalizeClass({ hidden: _ctx.current === 1 }),
3286
3443
  onClick: _cache[0] || (_cache[0] = ($event) => handlePagination("start"))
3287
3444
  }, null, 8, ["disabled", "ariaDisabled", "class"])),
3288
- _ctx.loading && loadingIndicator.value === "prev" ? (vue.openBlock(), vue.createBlock(_sfc_main$l, {
3445
+ _ctx.loading && loadingIndicator.value === "prev" ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
3289
3446
  key: 2,
3290
3447
  size: "24px",
3291
3448
  color: "blue"
3292
- })) : (vue.openBlock(), vue.createBlock(_sfc_main$p, {
3449
+ })) : (vue.openBlock(), vue.createBlock(_sfc_main$r, {
3293
3450
  key: 3,
3294
3451
  icon: "arrowLeft",
3295
3452
  size: "24px",
@@ -3300,14 +3457,14 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
3300
3457
  }, null, 8, ["disabled", "ariaDisabled", "class"]))
3301
3458
  ]),
3302
3459
  vue.createElementVNode("div", _hoisted_3$1, [
3303
- _ctx.loading && loadingIndicator.value === "input" ? (vue.openBlock(), vue.createBlock(_sfc_main$l, {
3460
+ _ctx.loading && loadingIndicator.value === "input" ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
3304
3461
  key: 0,
3305
3462
  size: "24px",
3306
3463
  color: "blue",
3307
3464
  label: "Laddar",
3308
3465
  "label-position": "right"
3309
3466
  })) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
3310
- vue.createVNode(_sfc_main$j, {
3467
+ vue.createVNode(_sfc_main$l, {
3311
3468
  value: internalValue.value.toString(),
3312
3469
  type: "text",
3313
3470
  size: _ctx.max.toString().length,
@@ -3319,11 +3476,11 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
3319
3476
  ], 64))
3320
3477
  ]),
3321
3478
  vue.createElementVNode("div", _hoisted_5$1, [
3322
- _ctx.loading && loadingIndicator.value === "next" ? (vue.openBlock(), vue.createBlock(_sfc_main$l, {
3479
+ _ctx.loading && loadingIndicator.value === "next" ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
3323
3480
  key: 0,
3324
3481
  size: "24px",
3325
3482
  color: "blue"
3326
- })) : (vue.openBlock(), vue.createBlock(_sfc_main$p, {
3483
+ })) : (vue.openBlock(), vue.createBlock(_sfc_main$r, {
3327
3484
  key: 1,
3328
3485
  icon: "arrowRight",
3329
3486
  size: "24px",
@@ -3332,11 +3489,11 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
3332
3489
  class: vue.normalizeClass({ hidden: _ctx.current === _ctx.max }),
3333
3490
  onClick: _cache[2] || (_cache[2] = ($event) => handlePagination("next"))
3334
3491
  }, null, 8, ["disabled", "ariaDisabled", "class"])),
3335
- _ctx.loading && loadingIndicator.value === "end" ? (vue.openBlock(), vue.createBlock(_sfc_main$l, {
3492
+ _ctx.loading && loadingIndicator.value === "end" ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
3336
3493
  key: 2,
3337
3494
  size: "24px",
3338
3495
  color: "blue"
3339
- })) : (vue.openBlock(), vue.createBlock(_sfc_main$p, {
3496
+ })) : (vue.openBlock(), vue.createBlock(_sfc_main$r, {
3340
3497
  key: 3,
3341
3498
  icon: "last",
3342
3499
  size: "24px",
@@ -3350,7 +3507,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
3350
3507
  };
3351
3508
  }
3352
3509
  });
3353
- const FdsPagination = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-7eb40808"]]);
3510
+ const FdsPagination = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-df967fb4"]]);
3354
3511
  const _hoisted_1$2 = { class: "block mb-4" };
3355
3512
  const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
3356
3513
  __name: "FdsTruncatedText",
@@ -3418,23 +3575,18 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
3418
3575
  class: vue.normalizeClass(["content", { open: isOpen.value }]),
3419
3576
  style: vue.normalizeStyle({ maxWidth: `${containerWidth.value}px` })
3420
3577
  }, vue.toDisplayString(_ctx.content), 7)),
3421
- shouldShowButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$k, {
3578
+ shouldShowButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$m, {
3422
3579
  key: 2,
3423
- variant: "minor",
3424
3580
  icon: isOpen.value ? "arrowUp" : "arrowDown",
3425
- "icon-pos": "right",
3581
+ iconPos: "right",
3582
+ text: isOpen.value ? _ctx.btnCollapse : _ctx.btnExpand,
3426
3583
  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)
3584
+ }, null, 8, ["icon", "text"])) : vue.createCommentVNode("", true)
3433
3585
  ]);
3434
3586
  };
3435
3587
  }
3436
3588
  });
3437
- const FdsTruncatedText = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-6e02b5dc"]]);
3589
+ const FdsTruncatedText = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-7c1d8d51"]]);
3438
3590
  const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
3439
3591
  __name: "FdsHeading",
3440
3592
  props: {
@@ -3533,7 +3685,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
3533
3685
  };
3534
3686
  return (_ctx, _cache) => {
3535
3687
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
3536
- _ctx.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$l, {
3688
+ _ctx.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$n, {
3537
3689
  key: 0,
3538
3690
  size: "24px",
3539
3691
  color: "blue",
@@ -3549,20 +3701,22 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
3549
3701
  });
3550
3702
  const FdsVueCorePlugin = {
3551
3703
  install(app) {
3552
- app.component("FdsTreeView", _sfc_main$h);
3553
- app.component("FdsButton", _sfc_main$k);
3704
+ app.component("FdsTreeView", _sfc_main$j);
3705
+ app.component("FdsButtonPrimary", _sfc_main$i);
3706
+ app.component("FdsButtonSecondary", _sfc_main$h);
3707
+ app.component("FdsButtonMinor", _sfc_main$m);
3708
+ app.component("FdsButtonIcon", _sfc_main$r);
3709
+ app.component("FdsButtonCopy", _sfc_main$g);
3554
3710
  app.component("FdsIcon", FdsIcon);
3555
- app.component("FdsSpinner", _sfc_main$l);
3556
- app.component("FdsRadio", _sfc_main$n);
3557
- app.component("FdsCheckbox", _sfc_main$r);
3558
- app.component("FdsTextarea", _sfc_main$g);
3559
- app.component("FdsSelect", _sfc_main$f);
3711
+ app.component("FdsSpinner", _sfc_main$n);
3712
+ app.component("FdsRadio", _sfc_main$p);
3713
+ app.component("FdsCheckbox", _sfc_main$t);
3714
+ app.component("FdsTextarea", _sfc_main$f);
3715
+ app.component("FdsSelect", _sfc_main$e);
3560
3716
  app.component("FdsTable", FdsTable);
3561
- app.component("FdsTableHead", _sfc_main$d);
3562
- app.component("FdsInput", _sfc_main$j);
3563
- app.component("FdsIconButton", _sfc_main$p);
3564
- app.component("FdsCopyButton", _sfc_main$c);
3565
- app.component("FdsContentBlock", _sfc_main$i);
3717
+ app.component("FdsTableHead", _sfc_main$c);
3718
+ app.component("FdsInput", _sfc_main$l);
3719
+ app.component("FdsContentBlock", _sfc_main$k);
3566
3720
  app.component("FdsAlertBlock", FdsAlertBlock);
3567
3721
  app.component("FdsExpanderBlock", FdsExpanderBlock);
3568
3722
  app.component("FdsInteractionBlock", FdsInteractionBlock);
@@ -3574,36 +3728,38 @@ const FdsVueCorePlugin = {
3574
3728
  app.component("FdsTruncatedText", FdsTruncatedText);
3575
3729
  app.component("FdsHeading", _sfc_main$2);
3576
3730
  app.component("FdsSeparator", FdsSeparator);
3577
- app.component("FdsText", _sfc_main$o);
3731
+ app.component("FdsText", _sfc_main$q);
3578
3732
  app.component("FdsListHeading", _sfc_main);
3579
3733
  }
3580
3734
  };
3581
3735
  exports.FdsAlertBlock = FdsAlertBlock;
3582
- exports.FdsButton = _sfc_main$k;
3583
- exports.FdsCheckbox = _sfc_main$r;
3584
- exports.FdsContentBlock = _sfc_main$i;
3585
- exports.FdsCopyButton = _sfc_main$c;
3736
+ exports.FdsButtonCopy = _sfc_main$g;
3737
+ exports.FdsButtonIcon = _sfc_main$r;
3738
+ exports.FdsButtonMinor = _sfc_main$m;
3739
+ exports.FdsButtonPrimary = _sfc_main$i;
3740
+ exports.FdsButtonSecondary = _sfc_main$h;
3741
+ exports.FdsCheckbox = _sfc_main$t;
3742
+ exports.FdsContentBlock = _sfc_main$k;
3586
3743
  exports.FdsExpanderBlock = FdsExpanderBlock;
3587
3744
  exports.FdsHeading = _sfc_main$2;
3588
3745
  exports.FdsIcon = FdsIcon;
3589
- exports.FdsIconButton = _sfc_main$p;
3590
- exports.FdsInput = _sfc_main$j;
3746
+ exports.FdsInput = _sfc_main$l;
3591
3747
  exports.FdsInteractionBlock = FdsInteractionBlock;
3592
3748
  exports.FdsListHeading = _sfc_main;
3593
3749
  exports.FdsModal = FdsModal;
3594
3750
  exports.FdsPagination = FdsPagination;
3595
- exports.FdsRadio = _sfc_main$n;
3596
- exports.FdsSelect = _sfc_main$f;
3751
+ exports.FdsRadio = _sfc_main$p;
3752
+ exports.FdsSelect = _sfc_main$e;
3597
3753
  exports.FdsSeparator = FdsSeparator;
3598
- exports.FdsSpinner = _sfc_main$l;
3754
+ exports.FdsSpinner = _sfc_main$n;
3599
3755
  exports.FdsSticker = _sfc_main$8;
3600
3756
  exports.FdsTable = FdsTable;
3601
- exports.FdsTableHead = _sfc_main$d;
3757
+ exports.FdsTableHead = _sfc_main$c;
3602
3758
  exports.FdsTabs = _sfc_main$7;
3603
3759
  exports.FdsTabsItem = _sfc_main$6;
3604
- exports.FdsText = _sfc_main$o;
3605
- exports.FdsTextarea = _sfc_main$g;
3606
- exports.FdsTreeView = _sfc_main$h;
3760
+ exports.FdsText = _sfc_main$q;
3761
+ exports.FdsTextarea = _sfc_main$f;
3762
+ exports.FdsTreeView = _sfc_main$j;
3607
3763
  exports.FdsTruncatedText = FdsTruncatedText;
3608
3764
  exports.default = FdsVueCorePlugin;
3609
3765
  exports.useTreeState = useTreeState;