@knime/kds-components 0.28.2 → 0.28.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.
package/dist/index.css CHANGED
@@ -537,27 +537,27 @@ to {
537
537
  }
538
538
 
539
539
  .donut-container {
540
- &[data-v-c5a5b387] {
540
+ &[data-v-f5faf61c] {
541
541
  display: flex;
542
542
  gap: var(--kds-spacing-container-0-75x);
543
543
  align-items: center;
544
544
  }
545
545
  & .donut-chart {
546
- &[data-v-c5a5b387] {
546
+ &[data-v-f5faf61c] {
547
547
  display: block;
548
548
  flex-shrink: 0;
549
549
  }
550
- & .background-circle[data-v-c5a5b387] {
550
+ & .background-circle[data-v-f5faf61c] {
551
551
  stroke: var(--kds-color-background-static-chart-0);
552
552
  }
553
- & .primary-circle[data-v-c5a5b387] {
553
+ & .primary-circle[data-v-f5faf61c] {
554
554
  stroke: var(--kds-color-background-static-chart-1);
555
555
  }
556
- & .secondary-circle[data-v-c5a5b387] {
556
+ & .secondary-circle[data-v-f5faf61c] {
557
557
  stroke: var(--kds-color-background-static-chart-2);
558
558
  }
559
559
  & .value-wedge {
560
- &.animate[data-v-c5a5b387] {
560
+ &.animate[data-v-f5faf61c] {
561
561
  transition:
562
562
  stroke-dashoffset 0.5s,
563
563
  stroke 0.5s;
@@ -565,20 +565,20 @@ to {
565
565
  }
566
566
  }
567
567
  & .donut-text {
568
- &[data-v-c5a5b387] {
568
+ &[data-v-f5faf61c] {
569
569
  display: flex;
570
570
  flex-direction: column;
571
571
  gap: var(--kds-spacing-container-0-12x);
572
572
  overflow: hidden;
573
573
  color: var(--kds-color-text-and-icon-neutral);
574
574
  }
575
- & .title[data-v-c5a5b387] {
575
+ & .title[data-v-f5faf61c] {
576
576
  overflow: hidden;
577
577
  text-overflow: ellipsis;
578
578
  font: var(--kds-font-base-title-medium-strong);
579
579
  white-space: nowrap;
580
580
  }
581
- & .sub-text[data-v-c5a5b387] {
581
+ & .sub-text[data-v-f5faf61c] {
582
582
  display: -webkit-box;
583
583
  overflow: hidden;
584
584
  -webkit-line-clamp: 2;
@@ -2958,21 +2958,19 @@ textarea[data-v-8e5a54cf]::-webkit-scrollbar {
2958
2958
  }
2959
2959
  }
2960
2960
 
2961
- .kds-accordion[data-v-66485734] {
2961
+ .kds-accordion[data-v-0beea165] {
2962
2962
  display: flex;
2963
2963
  flex-direction: column;
2964
2964
  gap: var(--kds-spacing-container-1-25x);
2965
2965
  width: 100%;
2966
2966
  }
2967
- .kds-accordion-item[data-v-66485734] {
2968
- display: flex;
2969
- flex-direction: column;
2967
+ .kds-accordion-item[data-v-0beea165] {
2970
2968
  padding: var(--kds-spacing-container-0-25x);
2971
2969
  background: var(--kds-color-surface-muted);
2972
2970
  border-radius: var(--kds-border-radius-container-0-37x);
2973
2971
  }
2974
2972
  .kds-accordion-header {
2975
- &[data-v-66485734] {
2973
+ &[data-v-0beea165] {
2976
2974
  display: flex;
2977
2975
  gap: var(--kds-spacing-container-0-25x);
2978
2976
  align-items: center;
@@ -2984,27 +2982,33 @@ textarea[data-v-8e5a54cf]::-webkit-scrollbar {
2984
2982
  color: var(--kds-color-text-and-icon-neutral);
2985
2983
  text-align: left;
2986
2984
  cursor: pointer;
2985
+ list-style: none;
2987
2986
  background: transparent;
2988
2987
  border: none;
2989
2988
  border-radius: var(--kds-border-radius-container-0-25x);
2990
2989
  }
2991
- &[data-v-66485734]:hover {
2992
- background: var(--kds-color-background-neutral-hover);
2990
+ &[data-v-0beea165]::-webkit-details-marker {
2991
+ display: none;
2993
2992
  }
2994
- &[data-v-66485734]:active {
2995
- background: var(--kds-color-background-neutral-active);
2993
+ &[data-v-0beea165]:focus-visible {
2994
+ outline: var(--kds-border-action-focused);
2995
+ outline-offset: var(--kds-spacing-offset-focus);
2996
2996
  }
2997
- &[data-v-66485734]:disabled {
2997
+ &:not([aria-disabled="true"]) {
2998
+ &[data-v-0beea165]:hover {
2999
+ background: var(--kds-color-background-neutral-hover);
3000
+ }
3001
+ &[data-v-0beea165]:active {
3002
+ background: var(--kds-color-background-neutral-active);
3003
+ }
3004
+ }
3005
+ &[aria-disabled="true"][data-v-0beea165] {
2998
3006
  color: var(--kds-color-text-and-icon-disabled);
2999
3007
  cursor: not-allowed;
3000
3008
  background: var(--kds-color-background-neutral-initial);
3001
3009
  }
3002
- &[data-v-66485734]:focus-visible {
3003
- outline: var(--kds-border-action-focused);
3004
- outline-offset: var(--kds-spacing-offset-focus);
3005
- }
3006
3010
  }
3007
- .kds-accordion-headline[data-v-66485734] {
3011
+ .kds-accordion-headline[data-v-0beea165] {
3008
3012
  flex: 1 1 auto;
3009
3013
  min-width: 0;
3010
3014
  overflow: hidden;
@@ -3012,38 +3016,39 @@ textarea[data-v-8e5a54cf]::-webkit-scrollbar {
3012
3016
  font: var(--kds-font-base-title-small-strong);
3013
3017
  white-space: nowrap;
3014
3018
  }
3015
- .kds-accordion-headline-container[data-v-66485734] {
3019
+ .kds-accordion-headline-container[data-v-0beea165] {
3016
3020
  display: flex;
3017
3021
  flex: 1 1 auto;
3018
3022
  gap: var(--kds-spacing-container-0-5x);
3019
3023
  align-items: center;
3020
3024
  min-width: 0;
3021
3025
  }
3022
- .kds-accordion-content[data-v-66485734] {
3026
+ .kds-accordion-content[data-v-0beea165] {
3023
3027
  padding: var(--kds-spacing-container-1x);
3024
3028
  font: var(--kds-font-base-body-small);
3025
3029
  color: var(--kds-color-text-and-icon-neutral);
3026
3030
  }
3027
3031
 
3028
3032
  .kds-card-header {
3029
- &[data-v-9be14436] {
3033
+ &[data-v-09093cc0] {
3030
3034
  display: flex;
3031
3035
  gap: var(--kds-spacing-container-0-37x);
3032
3036
  align-items: center;
3033
3037
  justify-content: space-between;
3038
+ min-height: var(--kds-dimension-component-height-2-75x);
3034
3039
  padding: var(--kds-spacing-container-0-5x) var(--kds-spacing-container-1x);
3035
3040
 
3036
3041
  /* push actions to the right if its the only element */
3037
3042
  }
3038
- .actions[data-v-9be14436],
3039
- .accessory[data-v-9be14436] {
3043
+ .actions[data-v-09093cc0],
3044
+ .accessory[data-v-09093cc0] {
3040
3045
  display: flex;
3041
3046
  gap: var(--kds-spacing-container-0-37x);
3042
3047
  }
3043
- .actions[data-v-9be14436] {
3048
+ .actions[data-v-09093cc0] {
3044
3049
  margin-left: auto;
3045
3050
  }
3046
- & h6[data-v-9be14436] {
3051
+ & h6[data-v-09093cc0] {
3047
3052
  flex: 1 1 auto;
3048
3053
  min-width: 0;
3049
3054
  margin: 0;
package/dist/index.js CHANGED
@@ -1033,7 +1033,7 @@ const _hoisted_2$y = ["height", "width", "viewBox"];
1033
1033
  const _hoisted_3$q = ["r", "stroke-width"];
1034
1034
  const _hoisted_4$l = ["r", "stroke-width", "stroke-dasharray", "stroke-dashoffset", "transform"];
1035
1035
  const _hoisted_5$b = ["r", "stroke-width", "stroke-dasharray", "stroke-dashoffset", "transform"];
1036
- const _hoisted_6$9 = {
1036
+ const _hoisted_6$a = {
1037
1037
  key: 0,
1038
1038
  class: "donut-text"
1039
1039
  };
@@ -1044,7 +1044,6 @@ const _hoisted_8$3 = {
1044
1044
  };
1045
1045
  const radius = 22;
1046
1046
  const innerRadius = 10;
1047
- const backgroundStrokeOffset = 0.5;
1048
1047
  const _sfc_main$1o = /* @__PURE__ */ defineComponent({
1049
1048
  __name: "KdsDonutChart",
1050
1049
  props: {
@@ -1066,10 +1065,6 @@ const _sfc_main$1o = /* @__PURE__ */ defineComponent({
1066
1065
  return __props.acceptValuesLargerThanMax ? clipValue : Math.min(clipValue, __props.maxValue);
1067
1066
  });
1068
1067
  const strokeWidth = computed(() => radius - innerRadius);
1069
- const backgroundStrokeWidth = computed(
1070
- // to account for rendering inaccuracies the background stroke is slightly smaller than the wedge stroke
1071
- () => strokeWidth.value - backgroundStrokeOffset
1072
- );
1073
1068
  const r = computed(() => radius - strokeWidth.value / 2);
1074
1069
  const diameter = computed(() => 2 * radius);
1075
1070
  const viewBox = computed(() => `0 0 ${diameter.value} ${diameter.value}`);
@@ -1105,7 +1100,7 @@ const _sfc_main$1o = /* @__PURE__ */ defineComponent({
1105
1100
  cx: radius,
1106
1101
  cy: radius,
1107
1102
  r: r.value,
1108
- "stroke-width": backgroundStrokeWidth.value,
1103
+ "stroke-width": strokeWidth.value,
1109
1104
  fill: "transparent"
1110
1105
  }, null, 8, _hoisted_3$q),
1111
1106
  __props.secondaryValue && !disabled.value ? (openBlock(), createElementBlock("circle", {
@@ -1133,7 +1128,7 @@ const _sfc_main$1o = /* @__PURE__ */ defineComponent({
1133
1128
  transform: transformWedge.value
1134
1129
  }, null, 10, _hoisted_5$b)) : createCommentVNode("", true)
1135
1130
  ], 8, _hoisted_2$y)),
1136
- __props.title ? (openBlock(), createElementBlock("div", _hoisted_6$9, [
1131
+ __props.title ? (openBlock(), createElementBlock("div", _hoisted_6$a, [
1137
1132
  createElementVNode("div", _hoisted_7$3, toDisplayString(__props.title), 1),
1138
1133
  __props.subText ? (openBlock(), createElementBlock("div", _hoisted_8$3, toDisplayString(__props.subText), 1)) : createCommentVNode("", true)
1139
1134
  ])) : createCommentVNode("", true)
@@ -1142,7 +1137,7 @@ const _sfc_main$1o = /* @__PURE__ */ defineComponent({
1142
1137
  }
1143
1138
  });
1144
1139
 
1145
- const KdsDonutChart = /* @__PURE__ */ _export_sfc(_sfc_main$1o, [["__scopeId", "data-v-c5a5b387"]]);
1140
+ const KdsDonutChart = /* @__PURE__ */ _export_sfc(_sfc_main$1o, [["__scopeId", "data-v-f5faf61c"]]);
1146
1141
 
1147
1142
  const _sfc_main$1n = { };
1148
1143
 
@@ -2043,7 +2038,7 @@ const _hoisted_5$a = {
2043
2038
  key: 0,
2044
2039
  class: "prefix"
2045
2040
  };
2046
- const _hoisted_6$8 = ["title"];
2041
+ const _hoisted_6$9 = ["title"];
2047
2042
  const _hoisted_7$2 = { class: "trailing-item" };
2048
2043
  const _hoisted_8$2 = {
2049
2044
  key: 0,
@@ -2136,7 +2131,7 @@ const _sfc_main$1f = /* @__PURE__ */ defineComponent({
2136
2131
  ref: subtextEl,
2137
2132
  class: "subtext",
2138
2133
  title: unref(isSubtextTruncated) ? props.subText : void 0
2139
- }, toDisplayString(props.subText), 9, _hoisted_6$8)) : createCommentVNode("", true)
2134
+ }, toDisplayString(props.subText), 9, _hoisted_6$9)) : createCommentVNode("", true)
2140
2135
  ]),
2141
2136
  createElementVNode("span", _hoisted_7$2, [
2142
2137
  props.shortcut ? (openBlock(), createElementBlock("kbd", _hoisted_8$2, toDisplayString(props.shortcut), 1)) : props.badge ? (openBlock(), createBlock(KdsBadge, {
@@ -2956,7 +2951,7 @@ const _hoisted_2$r = { class: "kds-preview-list-title-row" };
2956
2951
  const _hoisted_3$m = { class: "kds-preview-list-content" };
2957
2952
  const _hoisted_4$i = { class: "kds-preview-list-headline" };
2958
2953
  const _hoisted_5$9 = ["aria-label"];
2959
- const _hoisted_6$7 = { class: "kds-preview-list-show-hide" };
2954
+ const _hoisted_6$8 = { class: "kds-preview-list-show-hide" };
2960
2955
  const DEFAULT_MAX_VISIBLE_ITEMS = 6;
2961
2956
  const _sfc_main$14 = /* @__PURE__ */ defineComponent({
2962
2957
  __name: "KdsPreviewList",
@@ -3043,7 +3038,7 @@ const _sfc_main$14 = /* @__PURE__ */ defineComponent({
3043
3038
  ], 512), [
3044
3039
  [vShow, expanded.value]
3045
3040
  ]),
3046
- createElementVNode("footer", _hoisted_6$7, [
3041
+ createElementVNode("footer", _hoisted_6$8, [
3047
3042
  createVNode(_sfc_main$1l, {
3048
3043
  class: "kds-preview-list-toggle",
3049
3044
  label: expanded.value ? "Hide all" : "Show all",
@@ -3151,7 +3146,7 @@ const _hoisted_3$l = {
3151
3146
  };
3152
3147
  const _hoisted_4$h = { class: "label" };
3153
3148
  const _hoisted_5$8 = ["id"];
3154
- const _hoisted_6$6 = {
3149
+ const _hoisted_6$7 = {
3155
3150
  key: 0,
3156
3151
  class: "subtext-wrapper"
3157
3152
  };
@@ -3245,7 +3240,7 @@ const _sfc_main$11 = /* @__PURE__ */ defineComponent({
3245
3240
  }, toDisplayString(props.helperText), 9, _hoisted_5$8)) : createCommentVNode("", true)
3246
3241
  ])) : createCommentVNode("", true)
3247
3242
  ], 10, _hoisted_1$F),
3248
- props.subText || props.preserveSubTextSpace ? (openBlock(), createElementBlock("div", _hoisted_6$6, [
3243
+ props.subText || props.preserveSubTextSpace ? (openBlock(), createElementBlock("div", _hoisted_6$7, [
3249
3244
  createVNode(KdsSubText, {
3250
3245
  id: unref(descriptionId),
3251
3246
  "sub-text": props.subText,
@@ -3470,7 +3465,7 @@ const _hoisted_3$j = {
3470
3465
  };
3471
3466
  const _hoisted_4$f = { class: "content" };
3472
3467
  const _hoisted_5$7 = { class: "label" };
3473
- const _hoisted_6$5 = ["id"];
3468
+ const _hoisted_6$6 = ["id"];
3474
3469
  const _sfc_main$Z = /* @__PURE__ */ defineComponent({
3475
3470
  __name: "KdsRadioButton",
3476
3471
  props: /* @__PURE__ */ mergeModels({
@@ -3526,7 +3521,7 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
3526
3521
  key: 0,
3527
3522
  id: `${unref(id)}-helper`,
3528
3523
  class: "helper-text"
3529
- }, toDisplayString(props.helperText), 9, _hoisted_6$5)) : createCommentVNode("", true)
3524
+ }, toDisplayString(props.helperText), 9, _hoisted_6$6)) : createCommentVNode("", true)
3530
3525
  ])
3531
3526
  ], 10, _hoisted_1$D);
3532
3527
  };
@@ -4694,7 +4689,7 @@ const _hoisted_5$6 = {
4694
4689
  key: 4,
4695
4690
  class: "trailing-slot"
4696
4691
  };
4697
- const _hoisted_6$4 = {
4692
+ const _hoisted_6$5 = {
4698
4693
  key: 5,
4699
4694
  class: "icon-wrapper trailing"
4700
4695
  };
@@ -4923,7 +4918,7 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
4923
4918
  _ctx.$slots.trailing ? (openBlock(), createElementBlock("div", _hoisted_5$6, [
4924
4919
  renderSlot(_ctx.$slots, "trailing", {}, void 0, true)
4925
4920
  ])) : createCommentVNode("", true),
4926
- props.trailingIcon ? (openBlock(), createElementBlock("div", _hoisted_6$4, [
4921
+ props.trailingIcon ? (openBlock(), createElementBlock("div", _hoisted_6$5, [
4927
4922
  createVNode(KdsIcon, {
4928
4923
  name: props.trailingIcon
4929
4924
  }, null, 8, ["name"])
@@ -11016,7 +11011,7 @@ const _hoisted_4$c = {
11016
11011
  "aria-live": "polite"
11017
11012
  };
11018
11013
  const _hoisted_5$5 = { class: "kds-date-picker-nav-block" };
11019
- const _hoisted_6$3 = { class: "kds-date-picker-body" };
11014
+ const _hoisted_6$4 = { class: "kds-date-picker-body" };
11020
11015
  const MONTHS_PER_YEAR = 12;
11021
11016
  const YEAR_PAGE_SIZE = 15;
11022
11017
  const REFERENCE_YEAR = 2024;
@@ -11265,7 +11260,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
11265
11260
  }, null, 8, ["disabled"])) : createCommentVNode("", true)
11266
11261
  ])
11267
11262
  ]),
11268
- createElementVNode("div", _hoisted_6$3, [
11263
+ createElementVNode("div", _hoisted_6$4, [
11269
11264
  view.value === "day" ? (openBlock(), createBlock(DatePickerDayGrid, {
11270
11265
  key: 0,
11271
11266
  ref_key: "dayGridRef",
@@ -12262,7 +12257,7 @@ const _hoisted_5$4 = {
12262
12257
  key: 1,
12263
12258
  class: "kds-time-picker-actions"
12264
12259
  };
12265
- const _hoisted_6$2 = {
12260
+ const _hoisted_6$3 = {
12266
12261
  key: 2,
12267
12262
  class: "kds-time-picker-actions"
12268
12263
  };
@@ -12434,7 +12429,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
12434
12429
  onClick: addMilliseconds
12435
12430
  })
12436
12431
  ])) : createCommentVNode("", true)
12437
- ], 64)) : __props.maxGranularity !== "minute" ? (openBlock(), createElementBlock("div", _hoisted_6$2, [
12432
+ ], 64)) : __props.maxGranularity !== "minute" ? (openBlock(), createElementBlock("div", _hoisted_6$3, [
12438
12433
  createVNode(_sfc_main$1l, {
12439
12434
  variant: "outlined",
12440
12435
  size: "small",
@@ -14829,7 +14824,7 @@ const _hoisted_4$7 = {
14829
14824
  class: "kds-list-count"
14830
14825
  };
14831
14826
  const _hoisted_5$3 = { class: "kds-button-column" };
14832
- const _hoisted_6$1 = { class: "kds-list-column" };
14827
+ const _hoisted_6$2 = { class: "kds-list-column" };
14833
14828
  const _hoisted_7$1 = { class: "kds-list-header" };
14834
14829
  const _hoisted_8$1 = { class: "kds-list-label" };
14835
14830
  const _hoisted_9$1 = {
@@ -15077,7 +15072,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
15077
15072
  ]))
15078
15073
  }, null, 8, ["disabled"])
15079
15074
  ]),
15080
- createElementVNode("div", _hoisted_6$1, [
15075
+ createElementVNode("div", _hoisted_6$2, [
15081
15076
  createElementVNode("div", _hoisted_7$1, [
15082
15077
  createElementVNode("span", _hoisted_8$1, toDisplayString(__props.includeLabel), 1),
15083
15078
  !__props.loading && __props.searchTerm ? (openBlock(), createElementBlock("span", _hoisted_9$1, toDisplayString(rightOptions.value.length) + " of " + toDisplayString(includedItems.value.length), 1)) : createCommentVNode("", true)
@@ -15845,10 +15840,11 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
15845
15840
  const KdsVariableToggleButton = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-b6d29842"]]);
15846
15841
 
15847
15842
  const _hoisted_1$c = { class: "kds-accordion" };
15848
- const _hoisted_2$7 = ["id", "aria-expanded", "aria-controls", "disabled", "onClick", "onKeydown"];
15849
- const _hoisted_3$7 = { class: "kds-accordion-headline-container" };
15850
- const _hoisted_4$5 = { class: "kds-accordion-headline" };
15851
- const _hoisted_5$2 = ["id", "aria-labelledby", "hidden"];
15843
+ const _hoisted_2$7 = ["name", "open", "onToggle"];
15844
+ const _hoisted_3$7 = ["aria-disabled", "tabindex", "onClick", "onKeydown"];
15845
+ const _hoisted_4$5 = { class: "kds-accordion-headline-container" };
15846
+ const _hoisted_5$2 = { class: "kds-accordion-headline" };
15847
+ const _hoisted_6$1 = { class: "kds-accordion-content" };
15852
15848
  const _sfc_main$h = /* @__PURE__ */ defineComponent({
15853
15849
  __name: "KdsAccordion",
15854
15850
  props: /* @__PURE__ */ mergeModels({
@@ -15893,19 +15889,35 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
15893
15889
  );
15894
15890
  const expandedItems = computed(() => normalizedModelExpandedItems.value);
15895
15891
  const isItemExpanded = (itemId) => expandedItems.value.includes(itemId);
15896
- const toggleItem = (item) => {
15892
+ const onSummaryClick = (event, item) => {
15897
15893
  if (item.disabled) {
15894
+ event.preventDefault();
15895
+ }
15896
+ };
15897
+ const onDetailsToggle = (event, item) => {
15898
+ const detailsEl = event.currentTarget;
15899
+ if (!(detailsEl instanceof HTMLDetailsElement)) {
15898
15900
  return;
15899
15901
  }
15900
- if (isItemExpanded(item.id)) {
15901
- setExpandedItems(expandedItems.value.filter((id) => id !== item.id));
15902
+ const isOpen = detailsEl.open;
15903
+ if (item.disabled) {
15904
+ if (isOpen !== isItemExpanded(item.id)) {
15905
+ detailsEl.open = isItemExpanded(item.id);
15906
+ }
15902
15907
  return;
15903
15908
  }
15904
- if (__props.singleExpand) {
15905
- setExpandedItems([item.id]);
15909
+ if (isOpen === isItemExpanded(item.id)) {
15906
15910
  return;
15907
15911
  }
15908
- setExpandedItems([...expandedItems.value, item.id]);
15912
+ if (isOpen) {
15913
+ if (__props.singleExpand) {
15914
+ setExpandedItems([item.id]);
15915
+ return;
15916
+ }
15917
+ setExpandedItems([...expandedItems.value, item.id]);
15918
+ return;
15919
+ }
15920
+ setExpandedItems(expandedItems.value.filter((id) => id !== item.id));
15909
15921
  };
15910
15922
  const triggerRefs = ref({});
15911
15923
  const setTriggerRef = (itemId, triggerEl) => {
@@ -15915,7 +15927,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
15915
15927
  } else if (triggerEl) {
15916
15928
  element = triggerEl.$el;
15917
15929
  }
15918
- if (element instanceof HTMLButtonElement) {
15930
+ if (element instanceof HTMLElement) {
15919
15931
  triggerRefs.value[itemId] = element;
15920
15932
  return;
15921
15933
  }
@@ -15954,58 +15966,53 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
15954
15966
  }
15955
15967
  };
15956
15968
  const accordionId = useId();
15957
- const getItemTriggerId = (itemId) => `${accordionId}-trigger-${itemId}`;
15958
- const getItemContentId = (itemId) => `${accordionId}-content-${itemId}`;
15969
+ const exclusiveGroupName = computed(
15970
+ () => __props.singleExpand ? `kds-accordion-${accordionId}` : void 0
15971
+ );
15959
15972
  return (_ctx, _cache) => {
15960
15973
  return openBlock(), createElementBlock("div", _hoisted_1$c, [
15961
15974
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
15962
- return openBlock(), createElementBlock("div", {
15975
+ return openBlock(), createElementBlock("details", {
15963
15976
  key: item.id,
15964
- class: "kds-accordion-item"
15977
+ class: "kds-accordion-item",
15978
+ name: exclusiveGroupName.value,
15979
+ open: isItemExpanded(item.id),
15980
+ onToggle: ($event) => onDetailsToggle($event, item)
15965
15981
  }, [
15966
- createElementVNode("button", {
15967
- id: getItemTriggerId(item.id),
15982
+ createElementVNode("summary", {
15968
15983
  ref_for: true,
15969
15984
  ref: (triggerEl) => setTriggerRef(item.id, triggerEl),
15970
15985
  class: "kds-accordion-header",
15971
- type: "button",
15972
- "aria-expanded": isItemExpanded(item.id),
15973
- "aria-controls": getItemContentId(item.id),
15974
- disabled: item.disabled,
15975
- onClick: ($event) => toggleItem(item),
15986
+ "aria-disabled": item.disabled || void 0,
15987
+ tabindex: item.disabled ? -1 : void 0,
15988
+ onClick: ($event) => onSummaryClick($event, item),
15976
15989
  onKeydown: ($event) => handleTriggerKeydown($event, item)
15977
15990
  }, [
15978
- createElementVNode("span", _hoisted_3$7, [
15991
+ createElementVNode("span", _hoisted_4$5, [
15979
15992
  item.leadingIcon ? (openBlock(), createBlock(KdsIcon, {
15980
15993
  key: 0,
15981
15994
  name: item.leadingIcon,
15982
15995
  size: "small",
15983
15996
  disabled: item.disabled
15984
15997
  }, null, 8, ["name", "disabled"])) : createCommentVNode("", true),
15985
- createElementVNode("span", _hoisted_4$5, toDisplayString(item.headline), 1)
15998
+ createElementVNode("span", _hoisted_5$2, toDisplayString(item.headline), 1)
15986
15999
  ]),
15987
16000
  createVNode(KdsIcon, {
15988
16001
  name: isItemExpanded(item.id) ? "chevron-up" : "chevron-down",
15989
16002
  size: "small"
15990
16003
  }, null, 8, ["name"])
15991
- ], 40, _hoisted_2$7),
15992
- createElementVNode("div", {
15993
- id: getItemContentId(item.id),
15994
- class: "kds-accordion-content",
15995
- role: "group",
15996
- "aria-labelledby": getItemTriggerId(item.id),
15997
- hidden: !isItemExpanded(item.id)
15998
- }, [
16004
+ ], 40, _hoisted_3$7),
16005
+ createElementVNode("div", _hoisted_6$1, [
15999
16006
  renderSlot(_ctx.$slots, item.id, { item }, void 0, true)
16000
- ], 8, _hoisted_5$2)
16001
- ]);
16007
+ ])
16008
+ ], 40, _hoisted_2$7);
16002
16009
  }), 128))
16003
16010
  ]);
16004
16011
  };
16005
16012
  }
16006
16013
  });
16007
16014
 
16008
- const KdsAccordion = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-66485734"]]);
16015
+ const KdsAccordion = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-0beea165"]]);
16009
16016
 
16010
16017
  const _hoisted_1$b = { class: "kds-card-header" };
16011
16018
  const _hoisted_2$6 = {
@@ -16038,7 +16045,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
16038
16045
  }
16039
16046
  });
16040
16047
 
16041
- const CardHeader = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-9be14436"]]);
16048
+ const CardHeader = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-09093cc0"]]);
16042
16049
 
16043
16050
  const _sfc_main$f = /* @__PURE__ */ defineComponent({
16044
16051
  __name: "BaseCard",