fds-vue-core 2.1.11 → 2.1.15

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 (56) hide show
  1. package/dist/fds-vue-core.cjs.js +312 -240
  2. package/dist/fds-vue-core.cjs.js.map +1 -1
  3. package/dist/fds-vue-core.es.js +313 -241
  4. package/dist/fds-vue-core.es.js.map +1 -1
  5. package/package.json +9 -11
  6. package/src/components/Blocks/FdsBlockAlert/FdsBlockAlert.stories.ts +60 -33
  7. package/src/components/Blocks/FdsBlockAlert/FdsBlockAlert.vue +5 -1
  8. package/src/components/Blocks/FdsBlockContent/FdsBlockContent.stories.ts +44 -41
  9. package/src/components/Blocks/FdsBlockExpander/FdsBlockExpander.stories.ts +33 -30
  10. package/src/components/Blocks/FdsBlockExpander/FdsBlockExpander.vue +51 -16
  11. package/src/components/Blocks/FdsBlockExpander/types.ts +2 -0
  12. package/src/components/Blocks/FdsBlockInfo/FdsBlockInfo.stories.ts +42 -39
  13. package/src/components/Blocks/FdsBlockLink/FdsBlockLink.stories.ts +42 -39
  14. package/src/components/Blocks/FdsBlockLink/FdsBlockLink.vue +7 -2
  15. package/src/components/Buttons/ButtonBaseProps.ts +4 -0
  16. package/src/components/Buttons/FdsButtonCopy/FdsButtonCopy.stories.ts +1 -1
  17. package/src/components/Buttons/FdsButtonDownload/FdsButtonDownload.stories.ts +4 -4
  18. package/src/components/Buttons/FdsButtonDownload/FdsButtonDownload.vue +12 -2
  19. package/src/components/Buttons/FdsButtonDownload/types.ts +2 -0
  20. package/src/components/Buttons/FdsButtonIcon/FdsButtonIcon.stories.ts +2 -2
  21. package/src/components/Buttons/FdsButtonMinor/FdsButtonMinor.stories.ts +2 -2
  22. package/src/components/Buttons/FdsButtonMinor/FdsButtonMinor.vue +3 -0
  23. package/src/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.stories.ts +4 -4
  24. package/src/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.vue +0 -5
  25. package/src/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.stories.ts +2 -2
  26. package/src/components/FdsIcon/FdsIcon.stories.ts +1 -1
  27. package/src/components/FdsModal/FdsModal.stories.ts +7 -7
  28. package/src/components/FdsModal/FdsModal.vue +6 -1
  29. package/src/components/FdsPagination/FdsPagination.stories.ts +5 -5
  30. package/src/components/FdsSearchSelect/FdsSearchSelect.stories.ts +9 -9
  31. package/src/components/FdsSpinner/FdsSpinner.stories.ts +1 -1
  32. package/src/components/FdsSticker/FdsSticker.stories.ts +23 -20
  33. package/src/components/FdsSticker/FdsSticker.vue +6 -5
  34. package/src/components/FdsTreeView/FdsTreeView.stories.ts +1 -1
  35. package/src/components/FdsTruncatedText/FdsTruncatedText.stories.ts +4 -4
  36. package/src/components/FdsTruncatedText/FdsTruncatedText.vue +6 -7
  37. package/src/components/Form/FdsCheckbox/FdsCheckbox.stories.ts +4 -4
  38. package/src/components/Form/FdsCheckbox/FdsCheckbox.vue +6 -6
  39. package/src/components/Form/FdsInput/FdsInput.stories.ts +5 -5
  40. package/src/components/Form/FdsInput/FdsInput.vue +14 -19
  41. package/src/components/Form/FdsRadio/FdsRadio.stories.ts +1 -1
  42. package/src/components/Form/FdsRadio/FdsRadio.vue +6 -6
  43. package/src/components/Form/FdsSelect/FdsSelect.stories.ts +4 -4
  44. package/src/components/Form/FdsSelect/FdsSelect.vue +5 -1
  45. package/src/components/Form/FdsTextarea/FdsTextarea.stories.ts +2 -2
  46. package/src/components/Table/FdsTable/FdsTable.stories.ts +3 -3
  47. package/src/components/Table/FdsTableHead/FdsTableHead.stories.ts +6 -6
  48. package/src/components/Table/FdsTableHead/FdsTableHead.vue +9 -15
  49. package/src/components/Table/FdsTableHead/types.ts +1 -0
  50. package/src/components/Tabs/FdsTabs/FdsTabs.stories.ts +9 -9
  51. package/src/components/Tabs/FdsTabs/FdsTabs.vue +5 -1
  52. package/src/components/Tabs/FdsTabsItem/FdsTabsItem.vue +26 -2
  53. package/src/components/Tabs/FdsTabsItem/types.ts +2 -0
  54. package/src/components/Typography/FdsText/FdsText.stories.ts +14 -14
  55. package/src/components/Typography/FdsText/FdsText.vue +18 -2
  56. package/src/components/Typography/FdsText/types.ts +1 -0
@@ -585,18 +585,18 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
585
585
  };
586
586
  return (_ctx, _cache) => {
587
587
  return vue.openBlock(), vue.createElementBlock("button", {
588
- id: _ctx.id,
589
- type: _ctx.type,
590
- disabled: _ctx.disabled,
591
- "aria-label": _ctx.ariaLabel,
592
- "aria-disabled": _ctx.ariaDisabled,
588
+ id: __props.id,
589
+ type: __props.type,
590
+ disabled: __props.disabled,
591
+ "aria-label": __props.ariaLabel,
592
+ "aria-disabled": __props.ariaDisabled,
593
593
  class: vue.normalizeClass(buttonClasses.value),
594
594
  onClick
595
595
  }, [
596
- !_ctx.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$w, {
596
+ !__props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$w, {
597
597
  key: 0,
598
598
  size: iconSize.value,
599
- name: _ctx.icon
599
+ name: __props.icon
600
600
  }, null, 8, ["size", "name"])) : (vue.openBlock(), vue.createBlock(_sfc_main$w, {
601
601
  key: 1,
602
602
  size: iconSize.value,
@@ -665,9 +665,9 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
665
665
  }, [
666
666
  vue.createElementVNode("div", null, [
667
667
  vue.createElementVNode("div", null, [
668
- _ctx.label ? (vue.openBlock(), vue.createElementBlock("div", {
668
+ __props.label ? (vue.openBlock(), vue.createElementBlock("div", {
669
669
  key: 0,
670
- class: vue.normalizeClass(["font-bold w-full justify-between items-center h-[24px] flex gap-2", { "mb-4": (isExpanded.value || !_ctx.collapsable) && vue.unref(hasSlot) }])
670
+ class: vue.normalizeClass(["font-bold w-full justify-between items-center h-[24px] flex gap-2", { "mb-4": (isExpanded.value || !__props.collapsable) && vue.unref(hasSlot) }])
671
671
  }, [
672
672
  vue.createElementVNode("div", _hoisted_2$k, [
673
673
  vue.createVNode(_sfc_main$w, {
@@ -675,10 +675,10 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
675
675
  size: 24,
676
676
  class: "fill-yellow-700"
677
677
  }),
678
- vue.createElementVNode("span", null, vue.toDisplayString(_ctx.label), 1)
678
+ vue.createElementVNode("span", null, vue.toDisplayString(__props.label), 1)
679
679
  ]),
680
680
  vue.createElementVNode("div", _hoisted_3$b, [
681
- _ctx.closeable ? (vue.openBlock(), vue.createBlock(_sfc_main$v, {
681
+ __props.closeable ? (vue.openBlock(), vue.createBlock(_sfc_main$v, {
682
682
  key: 0,
683
683
  icon: "cross",
684
684
  size: 24,
@@ -686,7 +686,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
686
686
  ariaLabel: closeLabel.value,
687
687
  class: vue.normalizeClass(["fill-gray-900! hover:bg-gray-100 active:bg-gray-200"])
688
688
  }, null, 8, ["ariaLabel"])) : vue.createCommentVNode("", true),
689
- _ctx.collapsable ? (vue.openBlock(), vue.createBlock(_sfc_main$v, {
689
+ __props.collapsable ? (vue.openBlock(), vue.createBlock(_sfc_main$v, {
690
690
  key: 1,
691
691
  icon: "arrowDown",
692
692
  size: 24,
@@ -700,7 +700,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
700
700
  }, null, 8, ["ariaLabel", "class"])) : vue.createCommentVNode("", true)
701
701
  ])
702
702
  ], 2)) : vue.createCommentVNode("", true),
703
- isExpanded.value || !_ctx.collapsable ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$a, [
703
+ isExpanded.value || !__props.collapsable ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$a, [
704
704
  vue.renderSlot(_ctx.$slots, "default")
705
705
  ])) : vue.createCommentVNode("", true)
706
706
  ])
@@ -716,7 +716,7 @@ const _hoisted_2$j = {
716
716
  };
717
717
  const _hoisted_3$a = { class: "flex items-center gap-3" };
718
718
  const _hoisted_4$9 = { class: "flex items-start gap-3" };
719
- const _hoisted_5$8 = { class: "mb-0-last-child" };
719
+ const _hoisted_5$9 = { class: "mb-0-last-child" };
720
720
  const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
721
721
  __name: "FdsBlockContent",
722
722
  props: {
@@ -753,43 +753,57 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
753
753
  class: vue.normalizeClass(contentClasses.value),
754
754
  style: vue.normalizeStyle(borderLeftStyle.value)
755
755
  }, [
756
- _ctx.heading ? (vue.openBlock(), vue.createElementBlock("header", _hoisted_2$j, [
756
+ __props.heading ? (vue.openBlock(), vue.createElementBlock("header", _hoisted_2$j, [
757
757
  vue.createElementVNode("div", _hoisted_3$a, [
758
758
  vue.createElementVNode("h3", {
759
759
  class: vue.normalizeClass(headerClasses.value)
760
- }, vue.toDisplayString(_ctx.heading), 3)
760
+ }, vue.toDisplayString(__props.heading), 3)
761
761
  ]),
762
762
  vue.createElementVNode("div", _hoisted_4$9, [
763
763
  vue.renderSlot(_ctx.$slots, "headerInfo")
764
764
  ])
765
765
  ])) : vue.createCommentVNode("", true),
766
- vue.createElementVNode("div", _hoisted_5$8, [
766
+ vue.createElementVNode("div", _hoisted_5$9, [
767
767
  vue.renderSlot(_ctx.$slots, "default")
768
768
  ])
769
769
  ], 14, _hoisted_1$n);
770
770
  };
771
771
  }
772
772
  });
773
- const _hoisted_1$m = { class: "inline-flex items-center" };
774
- const _hoisted_2$i = {
773
+ const _hoisted_1$m = { class: "w-full flex justify-between items-start" };
774
+ const _hoisted_2$i = { class: "inline-flex items-center" };
775
+ const _hoisted_3$9 = {
775
776
  key: 0,
776
777
  class: "flex items-center mr-4"
777
778
  };
778
- const _hoisted_3$9 = { class: "inline-flex items-center" };
779
- const _hoisted_4$8 = ["aria-hidden"];
779
+ const _hoisted_4$8 = { class: "inline-flex items-center" };
780
+ const _hoisted_5$8 = {
781
+ key: 0,
782
+ class: "w-full flex mt-2"
783
+ };
784
+ const _hoisted_6$5 = ["aria-hidden"];
780
785
  const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
786
+ ...{
787
+ inheritAttrs: false
788
+ },
781
789
  __name: "FdsBlockExpander",
782
790
  props: {
783
791
  disabled: { type: Boolean, default: false },
784
792
  label: { default: "" },
785
793
  open: { type: Boolean, default: false },
786
- preIcon: { default: void 0 }
794
+ preIcon: { default: void 0 },
795
+ id: { default: void 0 },
796
+ dataTestid: { default: void 0 }
787
797
  },
788
798
  emits: ["toggle"],
789
799
  setup(__props, { emit: __emit }) {
800
+ const attrs = vue.useAttrs();
790
801
  const props = __props;
802
+ const hasExtraRowSlot = useHasSlot("extra-row");
791
803
  const emit = __emit;
792
804
  const isOpen = vue.ref(props.open);
805
+ const autoId = `fds-block-expander-${Math.random().toString(36).slice(2, 9)}`;
806
+ const blockExpanderId = vue.computed(() => props.id ?? autoId);
793
807
  vue.watch(
794
808
  () => props.open,
795
809
  (newValue) => {
@@ -801,10 +815,17 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
801
815
  props.disabled && "shadow-none border-2 border-gray-200 border-dashed"
802
816
  ]);
803
817
  const headerClasses = vue.computed(() => [
804
- "flex w-full items-start text-left justify-between bg-white text-blue-600 rounded-2xl p-[calc(1rem-2px)] border-2 border-white transition-colors border-2 border-white hover:border-blue-500 active:bg-blue_t-100 active:border-white focus-visible:border-blue-500 focus-visible:border-dashed focus-visible:outline-0",
818
+ "flex w-full flex-col text-left bg-white text-blue-600 rounded-2xl p-[calc(1rem-2px)] border-2 border-white transition-colors border-2 border-white hover:border-blue-500 active:bg-blue_t-100 active:border-white focus-visible:border-blue-500 focus-visible:border-dashed focus-visible:outline-0",
805
819
  props.disabled ? "cursor-not-allowed hover:border-2 hover:border-transparent active:bg-white" : "cursor-pointer",
806
- isOpen.value ? "rounded-b-none" : "rounded-b-2xl"
820
+ isOpen.value ? "rounded-b-none" : "rounded-b-2xl",
821
+ hasExtraRowSlot.value ? "" : ""
807
822
  ]);
823
+ const buttonRowClasses = vue.computed(() => ["flex justify-between items-start w-full", hasExtraRowSlot.value ? "" : ""]);
824
+ const buttonAttrs = vue.computed(() => ({
825
+ ...attrs,
826
+ "data-testid": props.dataTestid,
827
+ id: blockExpanderId.value
828
+ }));
808
829
  function handleToggle() {
809
830
  if (props.disabled) return;
810
831
  isOpen.value = !isOpen.value;
@@ -814,37 +835,46 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
814
835
  return vue.openBlock(), vue.createElementBlock("div", {
815
836
  class: vue.normalizeClass(expanderClasses.value)
816
837
  }, [
817
- vue.createElementVNode("button", {
838
+ vue.createElementVNode("button", vue.mergeProps(buttonAttrs.value, {
818
839
  type: "button",
819
- class: vue.normalizeClass(headerClasses.value),
840
+ class: headerClasses.value,
820
841
  onClick: handleToggle
821
- }, [
822
- vue.createElementVNode("span", _hoisted_1$m, [
823
- _ctx.preIcon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$i, [
842
+ }), [
843
+ vue.createElementVNode("span", {
844
+ class: vue.normalizeClass(buttonRowClasses.value)
845
+ }, [
846
+ vue.createElementVNode("span", _hoisted_1$m, [
847
+ vue.createElementVNode("span", _hoisted_2$i, [
848
+ __props.preIcon ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$9, [
849
+ vue.createVNode(_sfc_main$w, {
850
+ name: __props.preIcon,
851
+ size: 24,
852
+ class: vue.normalizeClass(["fill-blue-500", { "fill-gray-500": __props.disabled }])
853
+ }, null, 8, ["name", "class"])
854
+ ])) : vue.createCommentVNode("", true),
855
+ vue.createElementVNode("span", _hoisted_4$8, [
856
+ vue.createElementVNode("span", {
857
+ class: vue.normalizeClass(["font-bold font-heading text-lg leading-md", { "text-gray-500": __props.disabled }])
858
+ }, vue.toDisplayString(__props.label), 3)
859
+ ])
860
+ ]),
824
861
  vue.createVNode(_sfc_main$w, {
825
- name: _ctx.preIcon,
862
+ name: "arrowDown",
826
863
  size: 24,
827
- class: vue.normalizeClass(["fill-blue-500", { "fill-gray-500": _ctx.disabled }])
828
- }, null, 8, ["name", "class"])
829
- ])) : vue.createCommentVNode("", true),
830
- vue.createElementVNode("span", _hoisted_3$9, [
831
- vue.createElementVNode("span", {
832
- class: vue.normalizeClass(["font-bold font-heading text-lg leading-md", { "text-gray-500": _ctx.disabled }])
833
- }, vue.toDisplayString(_ctx.label), 3)
864
+ class: vue.normalizeClass(["ml-4 transition-transform duration-200 fill-blue-500 min-w-6 min-h-6", { "rotate-180": isOpen.value, "fill-gray-500": __props.disabled }])
865
+ }, null, 8, ["class"])
834
866
  ])
835
- ]),
836
- vue.createVNode(_sfc_main$w, {
837
- name: "arrowDown",
838
- size: 24,
839
- class: vue.normalizeClass(["ml-4 transition-transform duration-200 fill-blue-500 min-w-6 min-h-6", { "rotate-180": isOpen.value, "fill-gray-500": _ctx.disabled }])
840
- }, null, 8, ["class"])
841
- ], 2),
867
+ ], 2),
868
+ vue.unref(hasExtraRowSlot) && !isOpen.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$8, [
869
+ vue.renderSlot(_ctx.$slots, "extra-row")
870
+ ])) : vue.createCommentVNode("", true)
871
+ ], 16),
842
872
  vue.withDirectives(vue.createElementVNode("div", {
843
873
  "aria-hidden": !isOpen.value,
844
874
  class: "mb-0-last-child block px-4 pb-6 rounded-b-2xl bg-white"
845
875
  }, [
846
876
  vue.renderSlot(_ctx.$slots, "default")
847
- ], 8, _hoisted_4$8), [
877
+ ], 8, _hoisted_6$5), [
848
878
  [vue.vShow, isOpen.value]
849
879
  ])
850
880
  ], 2);
@@ -902,16 +932,16 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
902
932
  id: contentBlockId.value,
903
933
  class: vue.normalizeClass(contentClasses.value)
904
934
  }, [
905
- _ctx.size === "large" && _ctx.icon ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$h, [
935
+ __props.size === "large" && __props.icon ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$h, [
906
936
  vue.createVNode(_sfc_main$w, {
907
- name: _ctx.icon,
937
+ name: __props.icon,
908
938
  size: largeIconSize,
909
939
  class: "fill-blue-500"
910
940
  }, null, 8, ["name"]),
911
941
  vue.createElementVNode("div", _hoisted_3$8, [
912
- _ctx.heading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$7, [
942
+ __props.heading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$7, [
913
943
  vue.createElementVNode("header", _hoisted_5$7, [
914
- vue.createElementVNode("h3", _hoisted_6$4, vue.toDisplayString(_ctx.heading), 1),
944
+ vue.createElementVNode("h3", _hoisted_6$4, vue.toDisplayString(__props.heading), 1),
915
945
  vue.createElementVNode("div", _hoisted_7$4, [
916
946
  vue.renderSlot(_ctx.$slots, "headerInfo")
917
947
  ])
@@ -922,19 +952,19 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
922
952
  ])) : vue.createCommentVNode("", true)
923
953
  ])
924
954
  ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$3, [
925
- _ctx.heading ? (vue.openBlock(), vue.createElementBlock("div", {
955
+ __props.heading ? (vue.openBlock(), vue.createElementBlock("div", {
926
956
  key: 0,
927
957
  class: vue.normalizeClass({ "mb-4": vue.unref(hasSlot) })
928
958
  }, [
929
959
  vue.createElementVNode("header", _hoisted_10$1, [
930
960
  vue.createElementVNode("div", _hoisted_11$1, [
931
- _ctx.icon && _ctx.size === "small" ? (vue.openBlock(), vue.createBlock(_sfc_main$w, {
961
+ __props.icon && __props.size === "small" ? (vue.openBlock(), vue.createBlock(_sfc_main$w, {
932
962
  key: 0,
933
- name: _ctx.icon,
963
+ name: __props.icon,
934
964
  size: smallIconSize,
935
965
  class: "fill-blue-500"
936
966
  }, null, 8, ["name"])) : vue.createCommentVNode("", true),
937
- vue.createElementVNode("h3", _hoisted_12$1, vue.toDisplayString(_ctx.heading), 1)
967
+ vue.createElementVNode("h3", _hoisted_12$1, vue.toDisplayString(__props.heading), 1)
938
968
  ]),
939
969
  vue.createElementVNode("div", _hoisted_13$1, [
940
970
  vue.renderSlot(_ctx.$slots, "headerInfo")
@@ -1021,7 +1051,8 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
1021
1051
  });
1022
1052
  const componentAttrs = vue.computed(() => ({
1023
1053
  ...linkAttrs.value,
1024
- ...attrs
1054
+ ...attrs,
1055
+ "data-testid": props.dataTestid
1025
1056
  }));
1026
1057
  const componentType = vue.computed(() => {
1027
1058
  if (props.as) return props.as;
@@ -1031,22 +1062,21 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
1031
1062
  return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(componentType.value), vue.mergeProps(componentAttrs.value, {
1032
1063
  id: blockLinkId.value,
1033
1064
  class: ["box-border appearance-none text-left w-full flex items-start bg-white p-[calc(1rem-2px)] mb-3 text-blue-600 shadow-lg shadow-blue-200 rounded-2xl no-underline border-2 border-transparent transition-all duration-200 hover:border-blue-600 hover:border-2 active:border-transparent active:shadow-none active:bg-blue_t-100 focus-visible:border-blue-500 focus-visible:border-dashed focus-visible:outline-0", innerClasses.value],
1034
- target: componentType.value === "a" ? _ctx.target : void 0,
1035
- rel: componentType.value === "a" ? _ctx.rel : void 0,
1036
- download: componentType.value === "a" ? _ctx.download : void 0,
1037
- disabled: componentType.value === "button" ? _ctx.disabled : void 0,
1038
- "aria-disabled": _ctx.disabled,
1065
+ target: componentType.value === "a" ? __props.target : void 0,
1066
+ rel: componentType.value === "a" ? __props.rel : void 0,
1067
+ download: componentType.value === "a" ? __props.download : void 0,
1068
+ disabled: componentType.value === "button" ? __props.disabled : void 0,
1069
+ "aria-disabled": __props.disabled,
1039
1070
  onClick: handleClick,
1040
- onKeydown: handleKeydown,
1041
- "data-testid": _ctx.dataTestid
1071
+ onKeydown: handleKeydown
1042
1072
  }), {
1043
1073
  default: vue.withCtx(() => [
1044
1074
  vue.createElementVNode("div", {
1045
1075
  class: vue.normalizeClass(["flex w-full flex-1", contentClasses.value])
1046
1076
  }, [
1047
- _ctx.icon ? (vue.openBlock(), vue.createBlock(_sfc_main$w, {
1077
+ __props.icon ? (vue.openBlock(), vue.createBlock(_sfc_main$w, {
1048
1078
  key: 0,
1049
- name: _ctx.icon,
1079
+ name: __props.icon,
1050
1080
  size: 24,
1051
1081
  class: vue.normalizeClass(["flex items-center justify-center w-6 h-6 fill-blue-500", iconClasses.value])
1052
1082
  }, null, 8, ["name", "class"])) : vue.createCommentVNode("", true),
@@ -1058,7 +1088,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
1058
1088
  }, [
1059
1089
  vue.createElementVNode("h3", {
1060
1090
  class: vue.normalizeClass(["flex-1 font-heading text-lg tracking-normal m-0 leading-md", headerTextClasses.value])
1061
- }, vue.toDisplayString(_ctx.label), 3)
1091
+ }, vue.toDisplayString(__props.label), 3)
1062
1092
  ], 2),
1063
1093
  vue.createElementVNode("div", {
1064
1094
  class: vue.normalizeClass(slotWrapperClasses.value)
@@ -1072,7 +1102,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
1072
1102
  ], 2)
1073
1103
  ], 2)
1074
1104
  ], 2),
1075
- _ctx.arrow ? (vue.openBlock(), vue.createBlock(_sfc_main$w, {
1105
+ __props.arrow ? (vue.openBlock(), vue.createBlock(_sfc_main$w, {
1076
1106
  key: 0,
1077
1107
  name: "arrowRight",
1078
1108
  size: 20,
@@ -1080,7 +1110,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
1080
1110
  }, null, 8, ["class"])) : vue.createCommentVNode("", true)
1081
1111
  ]),
1082
1112
  _: 3
1083
- }, 16, ["id", "class", "target", "rel", "download", "disabled", "aria-disabled", "data-testid"]);
1113
+ }, 16, ["id", "class", "target", "rel", "download", "disabled", "aria-disabled"]);
1084
1114
  };
1085
1115
  }
1086
1116
  });
@@ -1116,7 +1146,7 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
1116
1146
  return vue.openBlock(), vue.createElementBlock("div", {
1117
1147
  class: vue.normalizeClass(wrapperClasses.value),
1118
1148
  role: "status",
1119
- "aria-label": _ctx.label || "Laddar"
1149
+ "aria-label": __props.label || "Laddar"
1120
1150
  }, [
1121
1151
  vue.createElementVNode("div", {
1122
1152
  class: "relative",
@@ -1153,10 +1183,10 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
1153
1183
  }, null, -1)
1154
1184
  ])], 2))
1155
1185
  ], 4),
1156
- _ctx.label ? (vue.openBlock(), vue.createElementBlock("div", {
1186
+ __props.label ? (vue.openBlock(), vue.createElementBlock("div", {
1157
1187
  key: 0,
1158
- class: vue.normalizeClass(_ctx.labelPosition === "bottom" ? "font-bold" : "")
1159
- }, vue.toDisplayString(_ctx.label), 3)) : vue.createCommentVNode("", true)
1188
+ class: vue.normalizeClass(__props.labelPosition === "bottom" ? "font-bold" : "")
1189
+ }, vue.toDisplayString(__props.label), 3)) : vue.createCommentVNode("", true)
1160
1190
  ], 10, _hoisted_1$j);
1161
1191
  };
1162
1192
  }
@@ -1185,6 +1215,9 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
1185
1215
  target: { default: void 0 },
1186
1216
  rel: { default: void 0 },
1187
1217
  type: { default: "button" },
1218
+ dataTestid: { default: void 0 },
1219
+ ariaLabel: { default: void 0 },
1220
+ ariaExpanded: { type: Boolean, default: void 0 },
1188
1221
  onClick: {}
1189
1222
  },
1190
1223
  emits: ["click"],
@@ -1230,34 +1263,34 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
1230
1263
  return (_ctx, _cache) => {
1231
1264
  return vue.openBlock(), vue.createElementBlock("div", {
1232
1265
  class: vue.normalizeClass(rootClasses.value),
1233
- "aria-disabled": _ctx.disabled ? "true" : void 0
1266
+ "aria-disabled": __props.disabled ? "true" : void 0
1234
1267
  }, [
1235
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.as), vue.mergeProps(componentAttrs.value, {
1236
- type: _ctx.as === "button" ? _ctx.type : void 0,
1237
- disabled: _ctx.as === "button" ? _ctx.disabled : void 0,
1238
- target: _ctx.as === "a" ? _ctx.target : void 0,
1239
- rel: _ctx.as === "a" ? _ctx.rel : void 0,
1268
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(__props.as), vue.mergeProps(componentAttrs.value, {
1269
+ type: __props.as === "button" ? __props.type : void 0,
1270
+ disabled: __props.as === "button" ? __props.disabled : void 0,
1271
+ target: __props.as === "a" ? __props.target : void 0,
1272
+ rel: __props.as === "a" ? __props.rel : void 0,
1240
1273
  class: buttonClasses.value,
1241
1274
  onClick
1242
1275
  }), {
1243
1276
  default: vue.withCtx(() => [
1244
- _ctx.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
1277
+ __props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
1245
1278
  key: 0,
1246
1279
  class: "mr-2",
1247
1280
  size: "24px",
1248
1281
  color: "inherit"
1249
- })) : _ctx.icon ? (vue.openBlock(), vue.createElementBlock("span", {
1282
+ })) : __props.icon ? (vue.openBlock(), vue.createElementBlock("span", {
1250
1283
  key: 1,
1251
1284
  class: vue.normalizeClass(iconOrderClasses.value),
1252
1285
  "aria-hidden": "true"
1253
1286
  }, [
1254
1287
  vue.createVNode(_sfc_main$w, {
1255
1288
  class: vue.normalizeClass(iconFillClass2.value),
1256
- name: _ctx.icon,
1289
+ name: __props.icon,
1257
1290
  size: 24
1258
1291
  }, null, 8, ["class", "name"])
1259
1292
  ], 2)) : vue.createCommentVNode("", true),
1260
- vue.createElementVNode("span", _hoisted_2$f, vue.toDisplayString(_ctx.text), 1)
1293
+ vue.createElementVNode("span", _hoisted_2$f, vue.toDisplayString(__props.text), 1)
1261
1294
  ]),
1262
1295
  _: 1
1263
1296
  }, 16, ["type", "disabled", "target", "rel", "class"]))
@@ -1360,10 +1393,13 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
1360
1393
  href: { default: void 0 },
1361
1394
  downloadOptions: { default: void 0 },
1362
1395
  text: { default: "" },
1396
+ ariaLabel: { default: void 0 },
1397
+ dataTestid: { default: void 0 },
1363
1398
  onClick: {}
1364
1399
  },
1365
1400
  emits: ["click"],
1366
1401
  setup(__props, { emit: __emit }) {
1402
+ const attrs = vue.useAttrs();
1367
1403
  const props = __props;
1368
1404
  const emit = __emit;
1369
1405
  const isDownloading = vue.ref(false);
@@ -1389,6 +1425,11 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
1389
1425
  isDownloading.value ? "cursor-not-allowed text-gray-500" : "cursor-pointer text-blue-600"
1390
1426
  ]);
1391
1427
  const iconFillClass2 = vue.computed(() => isDownloading.value ? "fill-gray-500" : "fill-blue-500");
1428
+ const buttonAttrs = vue.computed(() => ({
1429
+ ...attrs,
1430
+ "data-testid": props.dataTestid,
1431
+ "aria-label": props.ariaLabel
1432
+ }));
1392
1433
  async function handleDownload(ev) {
1393
1434
  if (props.disabled || props.loading || isDownloading.value) {
1394
1435
  ev.preventDefault();
@@ -1468,11 +1509,11 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
1468
1509
  return (_ctx, _cache) => {
1469
1510
  return vue.openBlock(), vue.createElementBlock("div", {
1470
1511
  class: vue.normalizeClass(rootClasses.value),
1471
- "aria-disabled": _ctx.disabled ? "true" : void 0
1512
+ "aria-disabled": __props.disabled ? "true" : void 0
1472
1513
  }, [
1473
- vue.createElementVNode("button", vue.mergeProps(_ctx.$attrs, {
1514
+ vue.createElementVNode("button", vue.mergeProps(buttonAttrs.value, {
1474
1515
  class: buttonClasses.value,
1475
- disabled: _ctx.disabled || _ctx.loading || isDownloading.value,
1516
+ disabled: __props.disabled || __props.loading || isDownloading.value,
1476
1517
  type: "button",
1477
1518
  onClick
1478
1519
  }), [
@@ -1486,7 +1527,7 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
1486
1527
  size: 24
1487
1528
  }, null, 8, ["class"])
1488
1529
  ], 2),
1489
- vue.createTextVNode(" " + vue.toDisplayString(_ctx.text), 1)
1530
+ vue.createTextVNode(" " + vue.toDisplayString(__props.text), 1)
1490
1531
  ], 16, _hoisted_2$e)
1491
1532
  ], 10, _hoisted_1$g);
1492
1533
  };
@@ -1514,6 +1555,10 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
1514
1555
  target: {},
1515
1556
  rel: {},
1516
1557
  type: { default: "button" },
1558
+ invert: { type: Boolean },
1559
+ dataTestid: {},
1560
+ ariaLabel: {},
1561
+ ariaExpanded: { type: Boolean },
1517
1562
  onClick: {}
1518
1563
  },
1519
1564
  emits: ["click"],
@@ -1545,10 +1590,6 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
1545
1590
  ev.preventDefault();
1546
1591
  return;
1547
1592
  }
1548
- if (props.onClick) {
1549
- const handlers = Array.isArray(props.onClick) ? props.onClick : [props.onClick];
1550
- handlers.forEach((handler) => handler(ev));
1551
- }
1552
1593
  emit("click", ev);
1553
1594
  }
1554
1595
  const linkAttrs = vue.computed(() => {
@@ -1559,31 +1600,31 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
1559
1600
  return (_ctx, _cache) => {
1560
1601
  return vue.openBlock(), vue.createElementBlock("div", {
1561
1602
  class: vue.normalizeClass(rootClasses.value),
1562
- "aria-disabled": _ctx.disabled ? "true" : void 0
1603
+ "aria-disabled": __props.disabled ? "true" : void 0
1563
1604
  }, [
1564
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.as), vue.mergeProps(linkAttrs.value, {
1565
- type: _ctx.as === "button" ? _ctx.type : void 0,
1566
- disabled: _ctx.as === "button" ? _ctx.disabled : void 0,
1605
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(__props.as), vue.mergeProps(linkAttrs.value, {
1606
+ type: __props.as === "button" ? __props.type : void 0,
1607
+ disabled: __props.as === "button" ? __props.disabled : void 0,
1567
1608
  class: buttonClasses.value,
1568
1609
  onClick
1569
1610
  }), {
1570
1611
  default: vue.withCtx(() => [
1571
- _ctx.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
1612
+ __props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
1572
1613
  key: 0,
1573
1614
  size: "24px",
1574
1615
  color: "inherit"
1575
- })) : _ctx.icon ? (vue.openBlock(), vue.createElementBlock("span", {
1616
+ })) : __props.icon ? (vue.openBlock(), vue.createElementBlock("span", {
1576
1617
  key: 1,
1577
1618
  class: vue.normalizeClass(iconOrderClasses.value),
1578
1619
  "aria-hidden": "true"
1579
1620
  }, [
1580
1621
  vue.createVNode(_sfc_main$w, {
1581
1622
  class: vue.normalizeClass(iconFillClass$1),
1582
- name: _ctx.icon,
1623
+ name: __props.icon,
1583
1624
  size: 24
1584
1625
  }, null, 8, ["name"])
1585
1626
  ], 2)) : vue.createCommentVNode("", true),
1586
- _ctx.text ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$d, vue.toDisplayString(_ctx.text), 1)) : vue.createCommentVNode("", true)
1627
+ __props.text ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$d, vue.toDisplayString(__props.text), 1)) : vue.createCommentVNode("", true)
1587
1628
  ]),
1588
1629
  _: 1
1589
1630
  }, 16, ["type", "disabled", "class"]))
@@ -1613,6 +1654,10 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
1613
1654
  target: {},
1614
1655
  rel: {},
1615
1656
  type: { default: "button" },
1657
+ invert: { type: Boolean },
1658
+ dataTestid: {},
1659
+ ariaLabel: {},
1660
+ ariaExpanded: { type: Boolean },
1616
1661
  onClick: {}
1617
1662
  },
1618
1663
  emits: ["click"],
@@ -1654,31 +1699,31 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
1654
1699
  return (_ctx, _cache) => {
1655
1700
  return vue.openBlock(), vue.createElementBlock("div", {
1656
1701
  class: vue.normalizeClass(rootClasses.value),
1657
- "aria-disabled": _ctx.disabled ? "true" : void 0
1702
+ "aria-disabled": __props.disabled ? "true" : void 0
1658
1703
  }, [
1659
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.as), vue.mergeProps(linkAttrs.value, {
1660
- type: _ctx.as === "button" ? _ctx.type : void 0,
1661
- disabled: _ctx.as === "button" ? _ctx.disabled : void 0,
1704
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(__props.as), vue.mergeProps(linkAttrs.value, {
1705
+ type: __props.as === "button" ? __props.type : void 0,
1706
+ disabled: __props.as === "button" ? __props.disabled : void 0,
1662
1707
  class: buttonClasses.value,
1663
1708
  onClick
1664
1709
  }), {
1665
1710
  default: vue.withCtx(() => [
1666
- _ctx.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
1711
+ __props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
1667
1712
  key: 0,
1668
1713
  size: "24px",
1669
1714
  color: "inherit"
1670
- })) : _ctx.icon ? (vue.openBlock(), vue.createElementBlock("span", {
1715
+ })) : __props.icon ? (vue.openBlock(), vue.createElementBlock("span", {
1671
1716
  key: 1,
1672
1717
  class: vue.normalizeClass(iconOrderClasses.value),
1673
1718
  "aria-hidden": "true"
1674
1719
  }, [
1675
1720
  vue.createVNode(_sfc_main$w, {
1676
1721
  class: vue.normalizeClass(iconFillClass),
1677
- name: _ctx.icon,
1722
+ name: __props.icon,
1678
1723
  size: 24
1679
1724
  }, null, 8, ["name"])
1680
1725
  ], 2)) : vue.createCommentVNode("", true),
1681
- _ctx.text ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$c, vue.toDisplayString(_ctx.text), 1)) : vue.createCommentVNode("", true)
1726
+ __props.text ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$c, vue.toDisplayString(__props.text), 1)) : vue.createCommentVNode("", true)
1682
1727
  ]),
1683
1728
  _: 1
1684
1729
  }, 16, ["type", "disabled", "class"]))
@@ -1878,9 +1923,9 @@ const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
1878
1923
  size: 24,
1879
1924
  class: vue.normalizeClass(iconClasses.value)
1880
1925
  }, null, 8, ["name", "class"])) : vue.createCommentVNode("", true),
1881
- vue.createTextVNode(" " + vue.toDisplayString(_ctx.heading), 1)
1926
+ vue.createTextVNode(" " + vue.toDisplayString(__props.heading), 1)
1882
1927
  ], 2),
1883
- !_ctx.strict ? (vue.openBlock(), vue.createBlock(_sfc_main$v, {
1928
+ !__props.strict ? (vue.openBlock(), vue.createBlock(_sfc_main$v, {
1884
1929
  key: 0,
1885
1930
  icon: "cross",
1886
1931
  size: 28,
@@ -5113,7 +5158,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
5113
5158
  "modelValue": { default: void 0, required: false },
5114
5159
  "modelModifiers": {}
5115
5160
  }),
5116
- emits: /* @__PURE__ */ vue.mergeModels(["input", "clearInput", "update:value"], ["update:modelValue"]),
5161
+ emits: /* @__PURE__ */ vue.mergeModels(["input", "clearInput", "update:value", "keyup", "keyup.enter"], ["update:modelValue"]),
5117
5162
  setup(__props, { emit: __emit }) {
5118
5163
  const modelValue = vue.useModel(__props, "modelValue");
5119
5164
  const props = __props;
@@ -5217,38 +5262,42 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
5217
5262
  return (_ctx, _cache) => {
5218
5263
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [
5219
5264
  vue.createElementVNode("div", {
5220
- class: vue.normalizeClass({ "flex flex-row gap-4": _ctx.labelLeft })
5265
+ class: vue.normalizeClass({ "flex flex-row gap-4": __props.labelLeft })
5221
5266
  }, [
5222
5267
  vue.createElementVNode("div", null, [
5223
- _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
5268
+ __props.label ? (vue.openBlock(), vue.createElementBlock("label", {
5224
5269
  key: 0,
5225
5270
  for: inputId.value,
5226
- class: vue.normalizeClass(["block font-bold text-gray-900 cursor-pointer", { "mb-0": _ctx.meta, "mb-1": !_ctx.meta }])
5227
- }, vue.toDisplayString(_ctx.label), 11, _hoisted_2$a)) : vue.createCommentVNode("", true),
5228
- _ctx.meta ? (vue.openBlock(), vue.createElementBlock("div", {
5271
+ class: vue.normalizeClass(["block font-bold text-gray-900 cursor-pointer", { "mb-0": __props.meta, "mb-1": !__props.meta }])
5272
+ }, vue.toDisplayString(__props.label), 11, _hoisted_2$a)) : vue.createCommentVNode("", true),
5273
+ __props.meta ? (vue.openBlock(), vue.createElementBlock("div", {
5229
5274
  key: 1,
5230
- class: vue.normalizeClass(["font-thin", { "mb-1": !_ctx.labelLeft }])
5231
- }, vue.toDisplayString(_ctx.meta), 3)) : vue.createCommentVNode("", true)
5275
+ class: vue.normalizeClass(["font-thin", { "mb-1": !__props.labelLeft }])
5276
+ }, vue.toDisplayString(__props.meta), 3)) : vue.createCommentVNode("", true)
5232
5277
  ]),
5233
5278
  vue.createElementVNode("div", {
5234
- class: vue.normalizeClass({ "flex-1": _ctx.labelLeft })
5279
+ class: vue.normalizeClass({ "flex-1": __props.labelLeft })
5235
5280
  }, [
5236
5281
  vue.createElementVNode("div", _hoisted_3$7, [
5237
5282
  vue.withDirectives(vue.createElementVNode("input", vue.mergeProps({
5238
5283
  ref_key: "inputRef",
5239
5284
  ref: inputRef,
5240
5285
  id: inputId.value,
5241
- name: _ctx.name || void 0,
5242
- type: isPasswordType.value ? showPassword.value ? "text" : "password" : _ctx.type,
5243
- disabled: _ctx.disabled,
5244
- required: _ctx.required,
5245
- size: _ctx.size,
5246
- maxlength: _ctx.maxlength,
5286
+ name: __props.name || void 0,
5287
+ type: isPasswordType.value ? showPassword.value ? "text" : "password" : __props.type,
5288
+ disabled: __props.disabled,
5289
+ required: __props.required,
5290
+ size: __props.size,
5291
+ maxlength: __props.maxlength,
5247
5292
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => internalValue.value = $event),
5248
- "aria-invalid": _ctx.valid === "false" ? "true" : void 0,
5293
+ "aria-invalid": __props.valid === "false" ? "true" : void 0,
5249
5294
  class: inputClasses.value
5250
5295
  }, _ctx.$attrs, {
5251
- onInput: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("input", $event))
5296
+ onInput: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("input", $event)),
5297
+ onKeyup: _cache[2] || (_cache[2] = (ev) => {
5298
+ _ctx.$emit("keyup", ev);
5299
+ if (ev.key === "Enter") _ctx.$emit("keyup.enter", ev);
5300
+ })
5252
5301
  }), null, 16, _hoisted_4$6), [
5253
5302
  [vue.vModelDynamic, internalValue.value]
5254
5303
  ]),
@@ -5264,7 +5313,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
5264
5313
  key: 1,
5265
5314
  name: "bigSuccess"
5266
5315
  })) : vue.createCommentVNode("", true),
5267
- _ctx.clearButton && !!internalValue.value && !_ctx.disabled ? (vue.openBlock(), vue.createBlock(_sfc_main$v, {
5316
+ __props.clearButton && !!internalValue.value && !__props.disabled ? (vue.openBlock(), vue.createBlock(_sfc_main$v, {
5268
5317
  key: 2,
5269
5318
  icon: "cross",
5270
5319
  ariaLabel: clearButtonLabel.value,
@@ -5280,7 +5329,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
5280
5329
  ])
5281
5330
  ], 2)
5282
5331
  ], 2),
5283
- showInvalidMessage.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$6, vue.toDisplayString(_ctx.invalidMessage), 1)) : vue.createCommentVNode("", true)
5332
+ showInvalidMessage.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$6, vue.toDisplayString(__props.invalidMessage), 1)) : vue.createCommentVNode("", true)
5284
5333
  ]);
5285
5334
  };
5286
5335
  }
@@ -5374,7 +5423,7 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
5374
5423
  id: inputId.value
5375
5424
  }, [
5376
5425
  vue.createElementVNode("div", _hoisted_2$9, [
5377
- _ctx.loading && loadingIndicator.value === "start" ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
5426
+ __props.loading && loadingIndicator.value === "start" ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
5378
5427
  key: 0,
5379
5428
  size: "32px",
5380
5429
  color: "blue"
@@ -5382,12 +5431,12 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
5382
5431
  key: 1,
5383
5432
  icon: "first",
5384
5433
  size: 28,
5385
- disabled: _ctx.current === 1,
5386
- ariaDisabled: _ctx.current === 1,
5387
- class: vue.normalizeClass([{ "hidden!": _ctx.current === 1 }, "w-8 h-8 sm:w-12 sm:h-12"]),
5434
+ disabled: __props.current === 1,
5435
+ ariaDisabled: __props.current === 1,
5436
+ class: vue.normalizeClass([{ "hidden!": __props.current === 1 }, "w-8 h-8 sm:w-12 sm:h-12"]),
5388
5437
  onClick: _cache[0] || (_cache[0] = ($event) => handlePagination("start"))
5389
5438
  }, null, 8, ["disabled", "ariaDisabled", "class"])),
5390
- _ctx.loading && loadingIndicator.value === "prev" ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
5439
+ __props.loading && loadingIndicator.value === "prev" ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
5391
5440
  key: 2,
5392
5441
  size: "24px",
5393
5442
  color: "blue"
@@ -5395,14 +5444,14 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
5395
5444
  key: 3,
5396
5445
  icon: "arrowLeft",
5397
5446
  size: 28,
5398
- disabled: _ctx.current === 1,
5399
- ariaDisabled: _ctx.current === 1,
5400
- class: vue.normalizeClass([{ "hidden!": _ctx.current === 1 }, "w-8 h-8 sm:w-12 sm:h-12"]),
5447
+ disabled: __props.current === 1,
5448
+ ariaDisabled: __props.current === 1,
5449
+ class: vue.normalizeClass([{ "hidden!": __props.current === 1 }, "w-8 h-8 sm:w-12 sm:h-12"]),
5401
5450
  onClick: _cache[1] || (_cache[1] = ($event) => handlePagination("prev"))
5402
5451
  }, null, 8, ["disabled", "ariaDisabled", "class"]))
5403
5452
  ]),
5404
5453
  vue.createElementVNode("div", _hoisted_3$6, [
5405
- _ctx.loading && loadingIndicator.value === "input" ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
5454
+ __props.loading && loadingIndicator.value === "input" ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
5406
5455
  key: 0,
5407
5456
  size: "24px",
5408
5457
  color: "blue",
@@ -5412,16 +5461,16 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
5412
5461
  vue.createVNode(_sfc_main$i, {
5413
5462
  value: inputValue.value,
5414
5463
  type: "text",
5415
- size: _ctx.max.toString().length,
5416
- maxlength: _ctx.max.toString().length,
5464
+ size: __props.max.toString().length,
5465
+ maxlength: __props.max.toString().length,
5417
5466
  onInput: vue.unref(handlePageChange),
5418
5467
  class: "mb-0! text-center"
5419
5468
  }, null, 8, ["value", "size", "maxlength", "onInput"]),
5420
- vue.createElementVNode("div", _hoisted_4$5, "/ " + vue.toDisplayString(_ctx.max), 1)
5469
+ vue.createElementVNode("div", _hoisted_4$5, "/ " + vue.toDisplayString(__props.max), 1)
5421
5470
  ], 64))
5422
5471
  ]),
5423
5472
  vue.createElementVNode("div", _hoisted_5$5, [
5424
- _ctx.loading && loadingIndicator.value === "next" ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
5473
+ __props.loading && loadingIndicator.value === "next" ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
5425
5474
  key: 0,
5426
5475
  size: "24px",
5427
5476
  color: "blue"
@@ -5429,12 +5478,12 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
5429
5478
  key: 1,
5430
5479
  icon: "arrowRight",
5431
5480
  size: 28,
5432
- disabled: _ctx.current === _ctx.max,
5433
- ariaDisabled: _ctx.current === _ctx.max,
5434
- class: vue.normalizeClass([{ "hidden!": _ctx.current === _ctx.max }, "w-8 h-8 sm:w-12 sm:h-12"]),
5481
+ disabled: __props.current === __props.max,
5482
+ ariaDisabled: __props.current === __props.max,
5483
+ class: vue.normalizeClass([{ "hidden!": __props.current === __props.max }, "w-8 h-8 sm:w-12 sm:h-12"]),
5435
5484
  onClick: _cache[2] || (_cache[2] = ($event) => handlePagination("next"))
5436
5485
  }, null, 8, ["disabled", "ariaDisabled", "class"])),
5437
- _ctx.loading && loadingIndicator.value === "end" ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
5486
+ __props.loading && loadingIndicator.value === "end" ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
5438
5487
  key: 2,
5439
5488
  size: "24px",
5440
5489
  color: "blue"
@@ -5442,9 +5491,9 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
5442
5491
  key: 3,
5443
5492
  icon: "last",
5444
5493
  size: 28,
5445
- disabled: _ctx.current === _ctx.max,
5446
- ariaDisabled: _ctx.current === _ctx.max,
5447
- class: vue.normalizeClass([{ "hidden!": _ctx.current === _ctx.max }, "w-8 h-8 sm:w-12 sm:h-12"]),
5494
+ disabled: __props.current === __props.max,
5495
+ ariaDisabled: __props.current === __props.max,
5496
+ class: vue.normalizeClass([{ "hidden!": __props.current === __props.max }, "w-8 h-8 sm:w-12 sm:h-12"]),
5448
5497
  onClick: _cache[3] || (_cache[3] = ($event) => handlePagination("end"))
5449
5498
  }, null, 8, ["disabled", "ariaDisabled", "class"]))
5450
5499
  ])
@@ -5900,14 +5949,14 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
5900
5949
  !singleItemName.value.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$8, [
5901
5950
  vue.createElementVNode("div", _hoisted_3$5, [
5902
5951
  vue.createVNode(_sfc_main$i, {
5903
- label: _ctx.label,
5904
- meta: _ctx.meta ?? void 0,
5905
- labelLeft: _ctx.labelLeft,
5952
+ label: __props.label,
5953
+ meta: __props.meta ?? void 0,
5954
+ labelLeft: __props.labelLeft,
5906
5955
  class: "relative mb-0! w-full!",
5907
5956
  valid: valid.value,
5908
- invalidMessage: _ctx.invalidMessage,
5909
- disabled: _ctx.disabled,
5910
- locale: _ctx.locale,
5957
+ invalidMessage: __props.invalidMessage,
5958
+ disabled: __props.disabled,
5959
+ locale: __props.locale,
5911
5960
  type: "search",
5912
5961
  value: searchTerm.value,
5913
5962
  id: inputId,
@@ -5917,7 +5966,7 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
5917
5966
  onInput: handleInput,
5918
5967
  onClearInput: handleClear
5919
5968
  }, null, 8, ["label", "meta", "labelLeft", "valid", "invalidMessage", "disabled", "locale", "value", "clearButton", "mask"]),
5920
- !_ctx.disabled && !hasInputValue.value ? (vue.openBlock(), vue.createBlock(_sfc_main$w, {
5969
+ !__props.disabled && !hasInputValue.value ? (vue.openBlock(), vue.createBlock(_sfc_main$w, {
5921
5970
  key: 0,
5922
5971
  name: "search",
5923
5972
  size: 24,
@@ -5925,10 +5974,10 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
5925
5974
  })) : vue.createCommentVNode("", true)
5926
5975
  ])
5927
5976
  ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$4, [
5928
- vue.createElementVNode("div", _hoisted_5$4, vue.toDisplayString(_ctx.singleItemLabel), 1),
5977
+ vue.createElementVNode("div", _hoisted_5$4, vue.toDisplayString(__props.singleItemLabel), 1),
5929
5978
  vue.createElementVNode("div", null, vue.toDisplayString(singleItemName.value), 1)
5930
5979
  ])),
5931
- dropdownVisible.value && !singleItemName.value.length && !_ctx.disabled ? (vue.openBlock(), vue.createElementBlock("div", {
5980
+ dropdownVisible.value && !singleItemName.value.length && !__props.disabled ? (vue.openBlock(), vue.createElementBlock("div", {
5932
5981
  key: 2,
5933
5982
  class: vue.normalizeClass(listWrapperClasses.value),
5934
5983
  style: vue.normalizeStyle(listWrapperStyle.value),
@@ -5936,13 +5985,13 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
5936
5985
  "aria-expanded": "false",
5937
5986
  "aria-controls": "select-dropdown"
5938
5987
  }, [
5939
- _ctx.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$3, [
5988
+ __props.loading ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$3, [
5940
5989
  vue.createVNode(_sfc_main$p, {
5941
5990
  color: "blue",
5942
5991
  size: "48px"
5943
5992
  })
5944
5993
  ])) : displayedItems.value && displayedItems.value.length ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
5945
- searchTerm.value && searchTerm.value.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$3, vue.toDisplayString(displayedItems.value.length) + " " + vue.toDisplayString(_ctx.searchContext.linkWord) + " " + vue.toDisplayString(totalCount.value) + " " + vue.toDisplayString(_ctx.searchContext.context), 1)) : !searchTerm.value.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$2, vue.toDisplayString(totalCount.value) + " " + vue.toDisplayString(_ctx.searchContext.context), 1)) : vue.createCommentVNode("", true),
5994
+ searchTerm.value && searchTerm.value.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$3, vue.toDisplayString(displayedItems.value.length) + " " + vue.toDisplayString(__props.searchContext.linkWord) + " " + vue.toDisplayString(totalCount.value) + " " + vue.toDisplayString(__props.searchContext.context), 1)) : !searchTerm.value.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$2, vue.toDisplayString(totalCount.value) + " " + vue.toDisplayString(__props.searchContext.context), 1)) : vue.createCommentVNode("", true),
5946
5995
  vue.createElementVNode("ul", {
5947
5996
  class: "block m-0 list-none p-0",
5948
5997
  role: "listbox",
@@ -5981,15 +6030,15 @@ const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
5981
6030
  ], 42, _hoisted_9$2);
5982
6031
  }), 128))
5983
6032
  ], 32),
5984
- _ctx.page !== void 0 && totalPages.value !== null && totalPages.value > 1 ? (vue.openBlock(), vue.createBlock(_sfc_main$h, {
6033
+ __props.page !== void 0 && totalPages.value !== null && totalPages.value > 1 ? (vue.openBlock(), vue.createBlock(_sfc_main$h, {
5985
6034
  key: 2,
5986
- current: _ctx.page,
6035
+ current: __props.page,
5987
6036
  max: totalPages.value,
5988
6037
  onPaginate: handlePagination,
5989
6038
  class: "my-4! px-2"
5990
6039
  }, null, 8, ["current", "max"])) : vue.createCommentVNode("", true)
5991
- ], 64)) : !_ctx.loading ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_12, [
5992
- vue.createElementVNode("li", _hoisted_13, vue.toDisplayString(_ctx.noResultPrompt), 1)
6040
+ ], 64)) : !__props.loading ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_12, [
6041
+ vue.createElementVNode("li", _hoisted_13, vue.toDisplayString(__props.noResultPrompt), 1)
5993
6042
  ])) : vue.createCommentVNode("", true)
5994
6043
  ], 6)) : vue.createCommentVNode("", true)
5995
6044
  ])
@@ -6030,7 +6079,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
6030
6079
  return vue.openBlock(), vue.createElementBlock("span", {
6031
6080
  class: vue.normalizeClass(stickerClasses.value)
6032
6081
  }, [
6033
- _ctx.bullet ? (vue.openBlock(), vue.createElementBlock("span", {
6082
+ __props.bullet ? (vue.openBlock(), vue.createElementBlock("span", {
6034
6083
  key: 0,
6035
6084
  class: vue.normalizeClass(bulletDotClasses.value)
6036
6085
  }, null, 2)) : vue.createCommentVNode("", true),
@@ -6550,26 +6599,26 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
6550
6599
  }, [
6551
6600
  vue.createElementVNode("label", vue.mergeProps({
6552
6601
  for: inputId.value,
6553
- class: [innerWrapperClasses.value, { "cursor-not-allowed": _ctx.disabled }]
6602
+ class: [innerWrapperClasses.value, { "cursor-not-allowed": __props.disabled }]
6554
6603
  }, _ctx.$attrs), [
6555
6604
  vue.withDirectives(vue.createElementVNode("input", {
6556
6605
  id: inputId.value,
6557
- name: _ctx.name,
6558
- value: _ctx.value,
6606
+ name: __props.name,
6607
+ value: __props.value,
6559
6608
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => internalChecked.value = $event),
6560
- disabled: _ctx.disabled,
6561
- required: _ctx.required,
6609
+ disabled: __props.disabled,
6610
+ required: __props.required,
6562
6611
  type: "checkbox",
6563
6612
  class: vue.normalizeClass([checkboxClasses.value])
6564
6613
  }, null, 10, _hoisted_2$7), [
6565
6614
  [vue.vModelCheckbox, internalChecked.value]
6566
6615
  ]),
6567
- vue.unref(hasLabelSlot) || _ctx.label ? (vue.openBlock(), vue.createElementBlock("span", {
6616
+ vue.unref(hasLabelSlot) || __props.label ? (vue.openBlock(), vue.createElementBlock("span", {
6568
6617
  key: 0,
6569
- class: vue.normalizeClass(["relative inline-block leading-6 pl-1 select-none", { "cursor-not-allowed": _ctx.disabled }])
6618
+ class: vue.normalizeClass(["relative inline-block leading-6 pl-1 select-none", { "cursor-not-allowed": __props.disabled }])
6570
6619
  }, [
6571
- vue.unref(hasLabelSlot) ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : _ctx.label ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
6572
- vue.createTextVNode(vue.toDisplayString(_ctx.label), 1)
6620
+ vue.unref(hasLabelSlot) ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : __props.label ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
6621
+ vue.createTextVNode(vue.toDisplayString(__props.label), 1)
6573
6622
  ], 64)) : vue.createCommentVNode("", true)
6574
6623
  ], 2)) : vue.createCommentVNode("", true)
6575
6624
  ], 16, _hoisted_1$9)
@@ -6632,26 +6681,26 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
6632
6681
  }, [
6633
6682
  vue.createElementVNode("label", vue.mergeProps({
6634
6683
  for: inputId.value,
6635
- class: [innerWrapperClasses.value, { "cursor-not-allowed": _ctx.disabled }]
6684
+ class: [innerWrapperClasses.value, { "cursor-not-allowed": __props.disabled }]
6636
6685
  }, _ctx.$attrs), [
6637
6686
  vue.withDirectives(vue.createElementVNode("input", {
6638
6687
  id: inputId.value,
6639
- name: _ctx.name,
6640
- value: _ctx.value,
6688
+ name: __props.name,
6689
+ value: __props.value,
6641
6690
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => radioModel.value = $event),
6642
- disabled: _ctx.disabled,
6643
- required: _ctx.required,
6691
+ disabled: __props.disabled,
6692
+ required: __props.required,
6644
6693
  type: "radio",
6645
6694
  class: vue.normalizeClass([inputClasses.value, "m-[2px]"])
6646
6695
  }, null, 10, _hoisted_2$6), [
6647
6696
  [vue.vModelRadio, radioModel.value]
6648
6697
  ]),
6649
- vue.unref(hasLabelSlot) || _ctx.label ? (vue.openBlock(), vue.createElementBlock("span", {
6698
+ vue.unref(hasLabelSlot) || __props.label ? (vue.openBlock(), vue.createElementBlock("span", {
6650
6699
  key: 0,
6651
- class: vue.normalizeClass(["relative inline-block leading-6 pl-1 select-none", { "cursor-not-allowed": _ctx.disabled }])
6700
+ class: vue.normalizeClass(["relative inline-block leading-6 pl-1 select-none", { "cursor-not-allowed": __props.disabled }])
6652
6701
  }, [
6653
- vue.unref(hasLabelSlot) ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : _ctx.label ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
6654
- vue.createTextVNode(vue.toDisplayString(_ctx.label), 1)
6702
+ vue.unref(hasLabelSlot) ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }) : __props.label ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
6703
+ vue.createTextVNode(vue.toDisplayString(__props.label), 1)
6655
6704
  ], 64)) : vue.createCommentVNode("", true)
6656
6705
  ], 2)) : vue.createCommentVNode("", true)
6657
6706
  ], 16, _hoisted_1$8)
@@ -6885,21 +6934,21 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6885
6934
  }, null, 8, ["ariaLabel", "icon"])) : vue.createCommentVNode("", true),
6886
6935
  !hasChildrenNodes.value ? (vue.openBlock(), vue.createElementBlock("div", {
6887
6936
  key: 1,
6888
- style: vue.normalizeStyle({ minWidth: `${_ctx.indentation}px` })
6937
+ style: vue.normalizeStyle({ minWidth: `${__props.indentation}px` })
6889
6938
  }, null, 4)) : vue.createCommentVNode("", true),
6890
6939
  vue.createElementVNode("div", _hoisted_2$5, [
6891
6940
  vue.createVNode(_sfc_main$e, {
6892
6941
  id: `checkbox-${props.nodeId}`,
6893
6942
  checked: vue.unref(treeState)?.isNodeSelected(props.nodeId),
6894
- indeterminate: _ctx.showIndeterminate && (vue.unref(treeState)?.isNodeIndeterminateById(props.nodeId) ?? false),
6943
+ indeterminate: __props.showIndeterminate && (vue.unref(treeState)?.isNodeIndeterminateById(props.nodeId) ?? false),
6895
6944
  onChange: _cache[1] || (_cache[1] = ($event) => vue.unref(treeState)?.toggleSelectNode(props.nodeId, props.title, props.data))
6896
6945
  }, {
6897
6946
  default: vue.withCtx(() => [
6898
6947
  vue.createElementVNode("span", null, [
6899
- shouldHighlightSearch.value && _ctx.title ? (vue.openBlock(), vue.createElementBlock("span", {
6948
+ shouldHighlightSearch.value && __props.title ? (vue.openBlock(), vue.createElementBlock("span", {
6900
6949
  key: 0,
6901
- innerHTML: vue.unref(treeState)?.highlightText(_ctx.title, vue.unref(treeState)?.searchTerm?.value)
6902
- }, null, 8, _hoisted_3$4)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$3, vue.toDisplayString(_ctx.title), 1))
6950
+ innerHTML: vue.unref(treeState)?.highlightText(__props.title, vue.unref(treeState)?.searchTerm?.value)
6951
+ }, null, 8, _hoisted_3$4)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$3, vue.toDisplayString(__props.title), 1))
6903
6952
  ]),
6904
6953
  childCount.value !== null ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$3, " (+" + vue.toDisplayString(childCount.value) + ")", 1)) : vue.createCommentVNode("", true)
6905
6954
  ]),
@@ -6913,7 +6962,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6913
6962
  icon: "more",
6914
6963
  size: 24,
6915
6964
  onClick: togglePopover,
6916
- ariaLabel: `Fler val för ${_ctx.title}`,
6965
+ ariaLabel: `Fler val för ${__props.title}`,
6917
6966
  class: "items-center"
6918
6967
  }, null, 8, ["ariaLabel"]),
6919
6968
  vue.createVNode(vue.Transition, {
@@ -6997,17 +7046,17 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
6997
7046
  indentation: props.indentation,
6998
7047
  nodeExpandIcon: props.nodeExpandIcon,
6999
7048
  nodeCollapseIcon: props.nodeCollapseIcon,
7000
- showNodeDescription: _ctx.showNodeDescription,
7001
- showChildrenCount: _ctx.showChildrenCount,
7002
- expandChildrenOnSelect: _ctx.expandChildrenOnSelect,
7003
- showIndeterminate: _ctx.showIndeterminate,
7004
- showIndeterminateOnlyOnChildrenSelection: _ctx.showIndeterminateOnlyOnChildrenSelection,
7005
- expandChildrenOnParentCheck: _ctx.expandChildrenOnParentCheck,
7006
- expandAllChildrenOnParentCheck: _ctx.expandAllChildrenOnParentCheck,
7007
- searchEnabled: _ctx.searchEnabled,
7008
- searchExpandNodes: _ctx.searchExpandNodes,
7009
- searchMatchParams: _ctx.searchMatchParams,
7010
- searchHighlighting: _ctx.searchHighlighting,
7049
+ showNodeDescription: __props.showNodeDescription,
7050
+ showChildrenCount: __props.showChildrenCount,
7051
+ expandChildrenOnSelect: __props.expandChildrenOnSelect,
7052
+ showIndeterminate: __props.showIndeterminate,
7053
+ showIndeterminateOnlyOnChildrenSelection: __props.showIndeterminateOnlyOnChildrenSelection,
7054
+ expandChildrenOnParentCheck: __props.expandChildrenOnParentCheck,
7055
+ expandAllChildrenOnParentCheck: __props.expandAllChildrenOnParentCheck,
7056
+ searchEnabled: __props.searchEnabled,
7057
+ searchExpandNodes: __props.searchExpandNodes,
7058
+ searchMatchParams: __props.searchMatchParams,
7059
+ searchHighlighting: __props.searchHighlighting,
7011
7060
  titleTemplate: props.titleTemplate,
7012
7061
  popoverLabels: props.popoverLabels
7013
7062
  }, null, 8, ["nodes", "title", "nodeId", "data", "depth", "indentation", "nodeExpandIcon", "nodeCollapseIcon", "showNodeDescription", "showChildrenCount", "expandChildrenOnSelect", "showIndeterminate", "showIndeterminateOnlyOnChildrenSelection", "expandChildrenOnParentCheck", "expandAllChildrenOnParentCheck", "searchEnabled", "searchExpandNodes", "searchMatchParams", "searchHighlighting", "titleTemplate", "popoverLabels"]);
@@ -7033,11 +7082,16 @@ function useElementFinalSize(elementRef, onFinalSize, delay = 100) {
7033
7082
  });
7034
7083
  }
7035
7084
  const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
7085
+ ...{
7086
+ inheritAttrs: false
7087
+ },
7036
7088
  __name: "FdsText",
7037
7089
  props: {
7038
- type: { default: "default" }
7090
+ type: { default: "default" },
7091
+ dataTestid: { default: void 0 }
7039
7092
  },
7040
7093
  setup(__props) {
7094
+ const attrs = vue.useAttrs();
7041
7095
  const props = __props;
7042
7096
  const textClasses = vue.computed(() => {
7043
7097
  const baseClasses = "inline-block";
@@ -7049,12 +7103,14 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
7049
7103
  }
7050
7104
  return baseClasses;
7051
7105
  });
7106
+ const spanAttrs = vue.computed(() => ({
7107
+ ...attrs,
7108
+ "data-testid": props.dataTestid
7109
+ }));
7052
7110
  return (_ctx, _cache) => {
7053
- return vue.openBlock(), vue.createElementBlock("span", {
7054
- class: vue.normalizeClass(textClasses.value)
7055
- }, [
7111
+ return vue.openBlock(), vue.createElementBlock("span", vue.mergeProps(spanAttrs.value, { class: textClasses.value }), [
7056
7112
  vue.renderSlot(_ctx.$slots, "default")
7057
- ], 2);
7113
+ ], 16);
7058
7114
  };
7059
7115
  }
7060
7116
  });
@@ -7279,12 +7335,12 @@ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
7279
7335
  ref: contentRef,
7280
7336
  class: vue.normalizeClass(["content", { open: isOpen.value }]),
7281
7337
  style: vue.normalizeStyle({ maxWidth: `${containerWidth.value}px` })
7282
- }, vue.toDisplayString(_ctx.content), 7)),
7338
+ }, vue.toDisplayString(__props.content), 7)),
7283
7339
  shouldShowButton.value ? (vue.openBlock(), vue.createBlock(_sfc_main$o, {
7284
7340
  key: 2,
7285
7341
  icon: isOpen.value ? "arrowUp" : "arrowDown",
7286
7342
  iconPos: "right",
7287
- text: isOpen.value ? _ctx.btnCollapse : _ctx.btnExpand,
7343
+ text: isOpen.value ? __props.btnCollapse : __props.btnExpand,
7288
7344
  onClick: toggleComponent
7289
7345
  }, null, 8, ["icon", "text"])) : vue.createCommentVNode("", true)
7290
7346
  ]);
@@ -7363,26 +7419,26 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
7363
7419
  }
7364
7420
  return (_ctx, _cache) => {
7365
7421
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
7366
- _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
7422
+ __props.label ? (vue.openBlock(), vue.createElementBlock("label", {
7367
7423
  key: 0,
7368
7424
  for: selectId.value,
7369
- class: vue.normalizeClass(["block font-bold text-gray-900 cursor-pointer", { "mb-0": _ctx.meta, "mb-1": !_ctx.meta }])
7370
- }, vue.toDisplayString(_ctx.label), 11, _hoisted_2$3)) : vue.createCommentVNode("", true),
7371
- _ctx.meta ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$2, vue.toDisplayString(_ctx.meta), 1)) : vue.createCommentVNode("", true),
7425
+ class: vue.normalizeClass(["block font-bold text-gray-900 cursor-pointer", { "mb-0": __props.meta, "mb-1": !__props.meta }])
7426
+ }, vue.toDisplayString(__props.label), 11, _hoisted_2$3)) : vue.createCommentVNode("", true),
7427
+ __props.meta ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$2, vue.toDisplayString(__props.meta), 1)) : vue.createCommentVNode("", true),
7372
7428
  vue.createElementVNode("div", _hoisted_4$2, [
7373
7429
  vue.withDirectives(vue.createElementVNode("select", vue.mergeProps({
7374
7430
  id: selectId.value,
7375
- name: _ctx.name || void 0,
7376
- disabled: _ctx.disabled,
7431
+ name: __props.name || void 0,
7432
+ disabled: __props.disabled,
7377
7433
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => internalValue.value = $event),
7378
- "aria-invalid": _ctx.valid === "false" ? "true" : void 0,
7434
+ "aria-invalid": __props.valid === "false" ? "true" : void 0,
7379
7435
  class: selectClasses.value
7380
7436
  }, _ctx.$attrs, {
7381
7437
  onChange: handleChange,
7382
7438
  onInput: _cache[1] || (_cache[1] = (e) => emit("input", e))
7383
7439
  }), [
7384
- _ctx.placeholder && !hasDefaultSlot.value ? (vue.openBlock(), vue.createElementBlock("option", _hoisted_6$1, vue.toDisplayString(_ctx.placeholder), 1)) : vue.createCommentVNode("", true),
7385
- !hasDefaultSlot.value && _ctx.options ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(_ctx.options, (option) => {
7440
+ __props.placeholder && !hasDefaultSlot.value ? (vue.openBlock(), vue.createElementBlock("option", _hoisted_6$1, vue.toDisplayString(__props.placeholder), 1)) : vue.createCommentVNode("", true),
7441
+ !hasDefaultSlot.value && __props.options ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(__props.options, (option) => {
7386
7442
  return vue.openBlock(), vue.createElementBlock("option", {
7387
7443
  key: option.value,
7388
7444
  value: option.value,
@@ -7397,14 +7453,14 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
7397
7453
  name: "arrowDown",
7398
7454
  size: 24,
7399
7455
  class: vue.normalizeClass({
7400
- "fill-gray-500": _ctx.disabled,
7401
- "fill-red-500": isInvalid.value && !_ctx.disabled,
7402
- "fill-blue-500": !_ctx.disabled && !isInvalid.value
7456
+ "fill-gray-500": __props.disabled,
7457
+ "fill-red-500": isInvalid.value && !__props.disabled,
7458
+ "fill-blue-500": !__props.disabled && !isInvalid.value
7403
7459
  })
7404
7460
  }, null, 8, ["class"])
7405
7461
  ])
7406
7462
  ]),
7407
- showInvalidMessage.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9, vue.toDisplayString(_ctx.invalidMessage), 1)) : vue.createCommentVNode("", true)
7463
+ showInvalidMessage.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9, vue.toDisplayString(__props.invalidMessage), 1)) : vue.createCommentVNode("", true)
7408
7464
  ]);
7409
7465
  };
7410
7466
  }
@@ -7471,20 +7527,20 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
7471
7527
  return (_ctx, _cache) => {
7472
7528
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
7473
7529
  vue.createElementVNode("div", _hoisted_1$3, [
7474
- _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
7530
+ __props.label ? (vue.openBlock(), vue.createElementBlock("label", {
7475
7531
  key: 0,
7476
7532
  for: textareaId.value,
7477
- class: vue.normalizeClass(["block font-bold text-gray-900 cursor-pointer", { "mb-0": _ctx.meta, "mb-1": !_ctx.meta }])
7478
- }, vue.toDisplayString(_ctx.label), 11, _hoisted_2$2)) : vue.createCommentVNode("", true),
7479
- _ctx.meta ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$1, vue.toDisplayString(_ctx.meta), 1)) : vue.createCommentVNode("", true),
7533
+ class: vue.normalizeClass(["block font-bold text-gray-900 cursor-pointer", { "mb-0": __props.meta, "mb-1": !__props.meta }])
7534
+ }, vue.toDisplayString(__props.label), 11, _hoisted_2$2)) : vue.createCommentVNode("", true),
7535
+ __props.meta ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$1, vue.toDisplayString(__props.meta), 1)) : vue.createCommentVNode("", true),
7480
7536
  vue.createElementVNode("div", _hoisted_4$1, [
7481
7537
  vue.withDirectives(vue.createElementVNode("textarea", vue.mergeProps({
7482
7538
  id: textareaId.value,
7483
- name: _ctx.name || void 0,
7484
- disabled: _ctx.disabled,
7485
- rows: _ctx.rows,
7539
+ name: __props.name || void 0,
7540
+ disabled: __props.disabled,
7541
+ rows: __props.rows,
7486
7542
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => internalValue.value = $event),
7487
- "aria-invalid": _ctx.valid === "false" ? "true" : void 0,
7543
+ "aria-invalid": __props.valid === "false" ? "true" : void 0,
7488
7544
  class: inputClasses.value
7489
7545
  }, _ctx.$attrs, {
7490
7546
  onInput: _cache[1] || (_cache[1] = (e) => emit("input", e))
@@ -7505,7 +7561,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
7505
7561
  })) : vue.createCommentVNode("", true)
7506
7562
  ], 2)
7507
7563
  ]),
7508
- showInvalidMessage.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, vue.toDisplayString(_ctx.invalidMessage), 1)) : vue.createCommentVNode("", true)
7564
+ showInvalidMessage.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, vue.toDisplayString(__props.invalidMessage), 1)) : vue.createCommentVNode("", true)
7509
7565
  ]),
7510
7566
  isValid.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7, "OK")) : vue.createCommentVNode("", true)
7511
7567
  ], 64);
@@ -7544,9 +7600,10 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
7544
7600
  props: {
7545
7601
  heading: { default: void 0 },
7546
7602
  align: { default: "left" },
7547
- icon: { default: void 0 }
7603
+ icon: { default: void 0 },
7604
+ onClick: {}
7548
7605
  },
7549
- emits: ["sort"],
7606
+ emits: ["sort", "click"],
7550
7607
  setup(__props) {
7551
7608
  const props = __props;
7552
7609
  const hasSlot = useHasSlot();
@@ -7566,7 +7623,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
7566
7623
  }, [
7567
7624
  vue.unref(hasSlot) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$1, [
7568
7625
  vue.renderSlot(_ctx.$slots, "default")
7569
- ])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3, vue.toDisplayString(_ctx.heading), 1)),
7626
+ ])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3, vue.toDisplayString(__props.heading), 1)),
7570
7627
  vue.createVNode(_sfc_main$w, {
7571
7628
  name: iconName.value,
7572
7629
  size: "24px",
@@ -7578,7 +7635,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
7578
7635
  }, [
7579
7636
  vue.unref(hasSlot) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4, [
7580
7637
  vue.renderSlot(_ctx.$slots, "default")
7581
- ])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_5, vue.toDisplayString(_ctx.heading), 1))
7638
+ ])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_5, vue.toDisplayString(__props.heading), 1))
7582
7639
  ], 2))
7583
7640
  ]);
7584
7641
  };
@@ -7623,10 +7680,25 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
7623
7680
  active: { type: Boolean, default: void 0 },
7624
7681
  exact: { type: Boolean, default: false },
7625
7682
  disabled: { type: Boolean, default: false },
7626
- label: { default: void 0 }
7683
+ label: { default: void 0 },
7684
+ onClick: {}
7627
7685
  },
7628
- setup(__props) {
7686
+ emits: ["click"],
7687
+ setup(__props, { emit: __emit }) {
7629
7688
  const attrs = vue.useAttrs();
7689
+ const emit = __emit;
7690
+ const onClick = (ev) => {
7691
+ if (props.disabled) {
7692
+ ev.preventDefault();
7693
+ return;
7694
+ }
7695
+ emit("click", ev);
7696
+ };
7697
+ const handleClick = (ev) => {
7698
+ if (componentType.value === "button" && !props.disabled) {
7699
+ onClick(ev);
7700
+ }
7701
+ };
7630
7702
  const instance = vue.getCurrentInstance();
7631
7703
  const route = vue.computed(() => {
7632
7704
  try {
@@ -7701,14 +7773,14 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
7701
7773
  return (_ctx, _cache) => {
7702
7774
  return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(componentType.value), vue.mergeProps(componentAttrs.value, {
7703
7775
  class: buttonClasses.value,
7704
- disabled: componentType.value === "button" ? _ctx.disabled : void 0,
7705
- "aria-disabled": _ctx.disabled,
7706
- "aria-current": isActive.value ? "page" : void 0
7776
+ disabled: componentType.value === "button" ? __props.disabled : void 0,
7777
+ "aria-disabled": __props.disabled,
7778
+ "aria-current": isActive.value ? "page" : void 0,
7779
+ onClick: handleClick
7707
7780
  }), {
7708
7781
  default: vue.withCtx(() => [
7709
- vue.renderSlot(_ctx.$slots, "default", {}, () => [
7710
- vue.createTextVNode(vue.toDisplayString(_ctx.label), 1)
7711
- ])
7782
+ vue.createTextVNode(vue.toDisplayString(__props.label) + " ", 1),
7783
+ vue.renderSlot(_ctx.$slots, "default")
7712
7784
  ]),
7713
7785
  _: 3
7714
7786
  }, 16, ["class", "disabled", "aria-disabled", "aria-current"]);
@@ -7754,11 +7826,11 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
7754
7826
  return responsiveMap[element];
7755
7827
  }
7756
7828
  return (_ctx, _cache) => {
7757
- return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.type), {
7829
+ return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(__props.type), {
7758
7830
  class: vue.normalizeClass(headingClasses.value)
7759
7831
  }, {
7760
7832
  default: vue.withCtx(() => [
7761
- vue.createTextVNode(vue.toDisplayString(_ctx.text), 1)
7833
+ vue.createTextVNode(vue.toDisplayString(__props.text), 1)
7762
7834
  ]),
7763
7835
  _: 1
7764
7836
  }, 8, ["class"]);
@@ -7808,7 +7880,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
7808
7880
  };
7809
7881
  return (_ctx, _cache) => {
7810
7882
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
7811
- _ctx.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
7883
+ __props.loading ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
7812
7884
  key: 0,
7813
7885
  size: "24px",
7814
7886
  color: "blue",